kiến trúc máy tính Vũ Đức Lung phần 4
lượt xem 21
download
Tham khảo tài liệu 'kiến trúc máy tính vũ đức lung phần 4', công nghệ thông tin, hệ điều hành phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: kiến trúc máy tính Vũ Đức Lung phần 4
- Chương III: Bi u di n d li u Chương III: Bi u di n d li u 1101 15 13 D 0 0 0 0 0 1110 16 14 E 0 1 1 0 1 1111 17 15 F 1 0 1 0 1 1 1 0 1 10 B ng 3.3. Tương quan gi a các h th ng s B ng 3.4. Quy t c C ng Nh phân cho 2 s 1 bit. Ví d : Th c hi n các phép C ng Nh phân: Ví d 1: Chuy n s M = (574,321)8 sang bi u di n nh phân. Th c hi n: Thay m i ch s b ng nhóm nh phân 3 bit 1011 tương ng: +1100 100 , M = 101 111 011 010 001 10111 5 7 4 3 2 1 =>M2 = 101111100,011010001 3.4.2. Phép tr hai s nh phân không d u: Ví d 2: Chuy n s M = (1001110,101001)2 sang cơ s 8. Phép tr nh phân ñư c th c hi n theo quy t c trình bày B ng 3.5 , Th c hi n: M= 1 001 110 101 001 , M= 1 1 6 5 1 S B TR S TR HI U S S VAY => M= (116,51)8 0 0 0 0 0 1 1 1 3.4. Các phép tính s h c cho h nh phân 1 0 1 0 Các phép tính C ng, Tr , Nhân, Chia cũng ñư c s d ng 1 1 0 0 trong s h c Nh phân, vi c tính toán c th ñư c th c hi n theo quy t c sau: B ng 3.5. Quy t c tr Nh phân cho 2 s 1 bit. 3.4.1. Phép c ng hai s nh phân không d u: Chú ý: C ng nh phân ñư c th c hi n theo quy t c b ng 3.4 - Phép tính ñư c th c hi n t Bit có tr ng s th p ñ n Bit Chú ý: có tr ng s cao. - Khi c ng, th c hi n t bit có tr ng s th p ñ n bit cú tr ng - S vay s ñư c tr vào Bit có tr ng s cao hơn li n s cao. k. - N u có s nh thì s nh sinh ra ñư c c ng vào bit cú tr ng s cao hơn li n k Ví d : Th c hi n các tính Tr Nh phân sau: S H NG 1 S H NG 2 T NG S NH K T QU 1011 85 86
- Chương III: Bi u di n d li u Chương III: Bi u di n d li u -0110 3.4.4. Bi u di n s nguyên có d u 0101 Có ba cách ñ bi u di n m t s nguyên n bit có d u ñó là bi u di n b ng tr tuy t ñ i và d u, bi u di n b ng s bù 1, bi u Tuy nhiên trong th c t , máy tính không tính toán ki u ñó di n b ng s bù 2. mà chuy n ñ i phép tr thành phép c ng v i s bù 2 c a nó. Cách thông thư ng nh t là bi u di n b ng tr tuy t ñ i và d u, Phương pháp này trong máy tính ñư c cho là hi u qu hơn và d trong trư ng h p này thì bit cao nh t luôn tư ng trưng cho d u. dàng thi t k ph n c ng cho nó hơn. S bù có hai lo i thư ng dùng Khi ñó, bit d u có giá tr là 0 thì s ñó là nguyên dương, bit là s bù 1 và s bù 2. d u có giá tr là 1 thì s ñó là nguyên âm. Tuy nhiên, cách bi u di n d u này không ñúng trong trư ng h p s ñư c bi u di n b ng s 3.4.3. Phép nhân và chia hai s nh phân không d u: th a K mà ta s xét ph n sau trong chương này. Phép nhân nh phân ñư c th c hi n như nhân th p phân. Ví d : Có phép tính: 1001 nhân v i 1101 S nguyên có bit dn-1 là bit d u và có tr tuy t ñ i bi u di n b i các bit t d0 t i dn-2 . Ta th c hi n: 1001(S b nhân-Multiplicant) Ví d : dùng 8 bit bi u di n s +25 và -25 dư i d ng d u và tr tuy t x 1101(S nhân-Multiplier ) ñ i. 1001 Ta bi t 2510 = 110012. Dùng 8 bit ñ bi u di n s , như v y 1 0000 bit bi u di n d u, còn 7 bits bi u di n giá tr c a s ñó. + 1001 0 0011001 V y +25 = 1001 Bit d u K t qu là: 1110101 1 0011001 V y -25 = Phép chia nh phân ñư c th c hi n như chia th p phân. Bit d u Như v y, theo cách này thì: Ví d : Có phép tính: 1110101 chia cho 1001 +2510 = 000110012 Ta th c hi n: 1110101 : 1001 -2510 = 100110012 - 1001 1101 - M t Byte (8 bit) có th bi u di n các s có d u t -127 t i +127. 01011 - Có hai cách bi u di n s không là 0000 0000 (+0) và 1000 0000 - 1001 (-0). 001001 Hai cách bi u di n còn l i ta s xem xét trong ph n ti p 1001 dư i ñây. 0000 K t qu : 1111010 : 1001 = 1101 87 88
- Chương III: Bi u di n d li u Chương III: Bi u di n d li u S bù 1 c a m t s : 3.4.5. S bù c a m t s S bù 1 c a m t s nh phân (hay còn g i là s invert) là m t s nh S bù ñư c dùng trong máy tính s giúp ñơn gi n phép toán phân có ñư c b ng cách ñ i các bit 1 thành 0 và bit 0 thành 1. tr và các thao tác logic. Trong h cơ s (h ñ m) r có hai d ng s bù: S bù r và s bù (r-1). Như v y trong h 10 s có bù 10 và bù Ví d : 9, trong h 8 có bù 8 và bù 7, trong h 16 có bù 16 và bù 15, trong h 2 có bù 2 và bù 1. S c nñ i 10110101 1100110 S bù r-1 c a m t s : S bù 1 c a nó 10001010 0011001 Gi s N là m t s có n ký s trong h th ng s r thì bù r-1 S bù 2 c a m t s : S bù hai c a m t s là s bù 1 c a s ñó c a N = (rn – 1) – N. c ng thêm 1. Ví d ñ i v i h th p phân ta có bù r-1 = bù 9 c a s th p phân N là (10n-1) – N. Trong ñó 10n là m t s g m s 1 và theo sau Ví d : là n ch s 0 (ví d 104 = 10000). V y (10n-1) là g m n s 9 (ví d 104 -1 = 9999). V y bù 9 c a N là m t con s nh n ñư c b ng cách S: 01001110 00110101 l y tr 9 cho t ng ký s c a N. S bù m t c a nó là: 10110001 11001010 C ng thêm 1 +1 +1 Ví d : Bù hai c a nó là: 10110010 11001011 Bù 9 c a 43520 là 99999 – 43520 = 56479 S bù r c a m t s : Quy t c chung tìm bù hai c a m t s : S bù r c a m t s ñư c tính b ng bù r-1 c ng v i 1. Như v y bù 10 c a 43520 là 56478 + 1 = 56480. T ñây ta có th tính - Mu n tìm bù 2 c a m t s ta ñi t bit có tr ng s nh nhanh bù 10 theo qui t c: nh t ngư c lên. - Gi nguyên các ký s 0 bên ph i cho ñ n khi g p ký s - Khi nào g p ñư c bit 1 ñ u tiên thì gi nguyên các s 0 khác 0 bên ph i s 1 ñó và c s 1 ñó n a, còn t t c các bít bên trái s 1 ñó thì ñ o l i. - L y 10 tr ñi ký s ñ u tiên khác 0 ñó Ví d : - L y 9 tr ñi các s còn l i 01100100 10010010 1101000 01100111 S: Ví d : Bù 10 c a 347200 là 652800 10011100 01101110 0011000 10011001 S bù 2 là: Chúng ta s ch y u làm vi c v i h nh phân, do máy tính làm vi c v i h này. Trong h nh phân s có bù 1 và bù 2 mà ta s Sau khi ta ñã bi t v s bù 1 và bù 2 c a m t s nh phân, ta xem xét sau ñây. xem cách bi u di n m t s nguyên có d u theo hai cách này. S nguyên có d u ñư c bi u di n d ng bù 1 là: 89 90
- Chương III: Bi u di n d li u Chương III: Bi u di n d li u o ð i v i s dương thì bi u di n gi ng d u và tr tuy t 3.4.6. Phép c ng tr nh phân dùng bù 1 ñi S có d u ñư c bi u di n b ng bù 1 theo qui t c sau: o ð i v i s âm thì ñư c bi u di n dư i d ng bit d u - Bít l n nh t (MSB) là bít d u, trong ñó 0 là s dương và 1 là s và giá tr c a s ñó d ng bù 1. âm Ví d : Dùng 8 bit bi u di n s +25 và -25 dư i d ng bù 1. - Các bít còn l i bi u di n tr th c c a s dương ho c tr bù 1 c a s Ta bi t 2510 = 110012. Dùng 8 bit ñ bi u di n s , như v y 1 âm. bit bi u di n d u, còn 7 bits bi u di n giá tr c a s ñó, n u là s Ví d : Dùng 6 bit g m c bít d u ñ bi u di n s âm thì l y bù 1 các bit này. 0 0011001 V y +25 = 17 = 010001 26 = 011010 Bit d u -17 = 101110 -26 = 100101 1 1100110 V y -25 = Th c hi n phép c ng gi ng như c ng các s nh phân không Bit d u d u, c ng c bit d u. C n lưu ý m t ñi m nh là c ng s nh c a Ta cũng có th hi u là s âm ñư c bi u di n b ng cách l y bit l n nh t vào bit cu i cùng (LSB). bù 1 c a s dương k c bit d u. Ví d : 13 001101 -13 110010 S nguyên có d u ñư c bi u di n d ng bù 2 là: + + + + o ð i v i s dương thì bi u di n gi ng d u và tr tuy t 11 001011 -11 110100 ñi ____ ______ ____ ______ o ð i v i s âm thì ñư c bi u di n dư i d ng bit d u 24 011000 -24 100110 và giá tr c a s ñó d ng bù 2. + 1 ______ Ví d : Dùng 8 bit bi u di n s +25 và -25 dư i d ng bù 2. 100111 Ta bi t 2510 = 110012. Dùng 8 bit ñ bi u di n s , như v y 1 Trong k t qu n u bit d u là 0 thì dãy bit sau bit d u là giá bit bi u di n d u, còn 7 bits bi u di n giá tr c a s ñó, n u là s tr k t qu , còn n u bit d u là âm thì dãy bit sau bit d u m i là k t âm thì l y bù 2 các bit này. qu d ng bù m t. Mu n bi t giá tr th c c a k t qu ta ph i l y 0 0011001 V y +25 = bù 1 c a k t qu m t l n n a. Như trong ví d trên k t qu c a Bit d u phép c ng th nh t là 011000 có bit d u là 0, v y giá tr th c c a 1 1100111 V y -25 = k t qu là +11000 = +24. Còn phép c ng th hai có k t qu là Bit d u 100111 có bit d u là 1, v y giá tr th c c a k t qu là –(bù 1 c a Chú ý: S dương bi u di n c 3 cách là như nhau, ch 00111) = -11000 = -24. khác nhau khi ñó là s âm 91 92
- Chương III: Bi u di n d li u Chương III: Bi u di n d li u hi n: thành 3.4.7.Phép c ng tr nh phân dùng bù 2 -0101 +1011 (S bù 2 S có d u ñư c bi u di n b ng bù 2 theo qui t c sau: c a 0101) - Bít l n nh t (MSB) là bít d u, trong ñó 0 là s dương và 1 là s 10010 Suy ra k t âm qu là 0010 - Các bít còn l i bi u di n tr th c c a s dương ho c tr bù 2 c a s Ví d 3: Th c hi n phép tính: 0101 – 0111 âm. Th c hi n phép c ng gi ng như c ng các s nh phân không Ta th c hi n: 0101(5) Chuy n 0101 d u, c ng c bit d u. C n lưu ý lo i b bit nh cu i cùng trong k t thành qu . -0111(-7) +1001 (S bù 2 Ví d : c a 0111) -12 110100 1110 + -9 110111 3.5. S quá n (excess-n) ___ ______ 1 101011 -21 S quá n hay còn g i là s th a n c a m t s N có ñư c K t qu có bit d u b ng 1, v y k t qu là s âm và dãy bit m i ch b ng cách “c ng thêm” s N v i s quá n, s n ñư c ch n sao cho là bù 2 c a k t qu . Mu n có k t qu th t ta l y Bù 2 m t l n n a. t ng c a n và m t s âm b t kỳ luôn luôn dương. Trong ví d trên k t qu không tính ñ n bit nh (b bit nh ) là 101011 có bit d u b ng 1 là m t s âm, t c là k t qu m i bi u di n d ng bù 2. Mu n bi t giá tr th t c a k t qu ta ph i l y bù 2 Quy t c chung: m t l n n a. T c là 101011 = - (bù 2 c a 01011) = - (10101) = -21. Bi u di n quá n c a N = bi u di n nguyên dương c a (N + n) ð i v i phép tr ta th c hi n thông qua phép c ng. -A = bù 2 c a A A – B = A + (-B) = A + (bù 2 c a B) Ví d 1: 13 – 6 = 13 + (-6) 6 = 00000110 -6 = 11111010 13 = 00001101 = 1 00000111 (7) Ví d : Bi u di n (quá 127) c a 7 là: Ví d 2: Th c hi n phép tính: 0111 – 0101 127+7 = 134 = 100001102 Ta th c 0111 chuy n 0111 93 94
- Chương III: Bi u di n d li u Chương III: Bi u di n d li u Cách bi u di n s nguyên có d u b ng s bù 2 ñư c dùng ð i v i các h khác thì bi u di n ch m ñ ng ñư c g i là chu n r ng rãi cho các phép tính s nguyên. Nó có l i là không c n thu t hóa khi ph n ñ nh tr ch có duy nh t m t ch s bên trái d u toán ñ c bi t nào cho các phép tính c ng và tính tr , và giúp phát ch m th p phân và ch s ñó khác không → m t s ch có duy hi n d dàng các trư ng h p b tràn. nh t m t bi u di n ch m ñ ng ñư c chu n hóa. Các cách bi u di n b ng "d u , tr tuy t ñ i" ho c b ng "s Ví d : bù 1" d n ñ n vi c dùng các thu t toán ph c t p và b t l i vì luôn 2.006 × 103 (chu n) có hai cách bi u di n c a s không. 20.06 × 102 (không) Cách bi u di n b ng "d u , tr tuy t ñ i" ñư c dùng cho 0.2006 × 104 (không) phép nhân c a s có d u ch m ñ ng. Các thành ph n c a s ch m ñ ng bao g m: ph n d u, ph n Cách bi u di n b ng s quá n ñư c dùng cho s mũ c a các mũ và ph n ñ nh tr . Như v y, cách này cho phép bi u di n g n s có d u ch m ñ ng. Cách này làm cho vi c so sánh các s mũ có ñúng các s th c, t t c các s ñ u có cùng cách bi u di n. d u khác nhau tr thành vi c so sánh các s nguyên dương. Có nhi u cách bi u di n d u ch m ñ ng, trong ñó cách bi u 3.6. Cách bi u di n s v i d u ch m ñ ng di n theo chu n IEEE 754 ñư c dùng r ng rãi trong khoa h c máy tính hi n nay. Trong cách này m t s ñư c bi u di n dư i d ng : ð bi u di n các con s r t l n ho c r t bé, ngư i ta ngư i ta dùng m t cách bi u di n s g i là s ch m ñ ng (floating point F = (-1)S * M * RE number). Trư c khi ñi vào cách bi u di n s v i d u ch m ñ ng, chúng ta xét ñ n cách bi u di n m t s dư i d ng d u ch m xác 31 30 23 22 0 ñ nh. SE M Ví d : - Trong h th p phân, s 25410 có th bi u di n dư i các Hình 3.2. Bi u di n s có d u ch m ñ ng chính xác ñơn v i 32 bit d ng sau: Trong ñó: S: d u (Sign bit), M: ñ nh tr , R: cơ s , E: mũ 254 * 100; 25.4 * 101; 2.54 * 102; 0.254 * 103; 0.0254 * 104; … (Exponent) – D u: 1 bit (0 – dương, 1 – âm) - Trong h nh phân, s (0.00011)2 (tương ñương v i s – Mũ: 8 bit (t bit 23 ñ n bit 30) là m t s quá 127 (s có tr 0.0937510) có th bi u di n dư i các d ng : t -127 ñ n 128, t c là t 00000000 ñ n 11111111) 0.00011 * 20 ; 0.0011 * 2-1; 0.011 * 2-2; 0.11 * 2-3; 1.1 * 2-4; … – Không bi u di n cơ s (R) vì luôn b ng 2 – Ph n ñ nh tr M 23 bit (t bit 0 ñ n bit 22) ch bi u di n Các cách bi u di n này gây khó khăn trong m t s phép so ph n l (bên ph i d u ch m s nh phân) vì ch s bên trái sánh các s . ð d dàng trong các phép tính, các s ñư c chu n hoá d u ch m luôn là 1. v m t d ng bi u di n: ± 1. fff...f x 2± E Ví d : a) 200610 = (-1)0 * 2.006 * 103 ñ i v i h nh phân, trong ñó: f là ph n l ; E là ph n mũ. b) 209.812510 = 11010001.11012 95 96
- Chương III: Bi u di n d li u Chương III: Bi u di n d li u = 1.10100011101 * 27 1 0001 Bi u di n (quá 127) c a 7 là: 2 0010 127+7 = 134 = 100001102 3 0011 K t qu : 0 10000110 1010001110100000000000 4 0100 0 10000110 1010001110100000000000 5 0101 6 0110 Các phép tính v i s ch m ñ ng ph c t p hơn nhi u là v i 7 0111 s ch m tĩnh, th c hi n lâu hơn và ph n c ng cho nó cũng ph c t p 8 1000 hơn. Máy tính không có ph n c ng tính toán s ch m ñ ng, nhưng 9 1001 có các t p trình con giúp gi i các bà toán v i s ch m ñ ng. B ng 3.6. S th p phân mã BCD 3.7. Bi u di n s BCD Bi u di n s d ng BCD s t n kém hơn nhi u bi u di n d ng nh phân vì m i s BCD c n t i 4 bit. Ví d 3257 có d ng Con ngư i thư ng quen v i h th p phân, trong khi máy BCD là 0011 0010 0101 0111, t c là ph i dùng 16 bit, trong khi tính l i ch thích h p v i h nh phân. Do ñó khi nh p xu t d li u h nh phân ch c n 12 bit (110010111001). Con s càng l n thì s thư ng là nh p xu t theo d ng th p phân. N u vi c nh p xu t s chênh l nh c a nó càng nhi u, trong khi b nh thì có h n, cho nên th p phân không nhi u thì có th chuy n s h 10 khi nh p sang h ñây là m t như c ñi m r t l n c a d ng s BCD. 2, tính toán xong theo h 2 r i l i chuy n ngư c l i sang h 10 trư c khi xu t ra ngoài. N u nh p xu t nhi u thì vi c chuy n ñ i s ð thi t k m ch tính toán th p phân cũng ñòi h i ñ ph c làm m t nhi u th i gian x lý. M t khác m t vài ng d ng, ñ c bi t t p nhi u hơn, tuy nhiên nó có thu n l i là vi c tính toán ñ u b ng ng d ng qu n lý, b t bu c các phép tính th p phân ph i chính xác, th p phân và cho k t qu chính xác hơn. không làm tròn s . V i m t s bit c ñ nh, ta không th ñ i m t M t s ng d ng như x lý d li u thương m i - kinh t cách chính xác s nh phân thành s th p phân và ngư c l i. thư ng tính toán ít hơn so v i kh i d li u nh p xu t. Vì v y mà Vì v y, khi c n ph i dùng s th p phân, ta có th dùng m t m t s máy và các máy tính tay ñ u tính toán tr c ti p trên s th p cách khác, ñó là cách bi u di n s th p phân mã b ng nh phân phân. M t s máy khác l i có kh năng tính toán trên c th p phân (BCD: Binary Coded Decimal). Theo ñó m i s th p phân nh p và nh phân. vào máy s ñư c mã hóa theo d ng BCD b ng cách chuy n m i ký ði m khác bi t rõ nh t v i các h khác khi tính toán là khi s h 10 thành 4 bit s nh phân như trong b ng 3.6. Sau ñó vi c k t qu c ng n u các ký s vư t quá k t qu cho phép trong tính toán s th c hi n tr c ti p trên mã BCD . Tính toán xong thì kho ng t 0000 ñ n 1001 ho c có nh khi c ng thì ph i s a sai l i chuy n ra ngoài ttheo d ng th p phân. Khi ñó, n n vi c tính toán b ng cách c ng thêm 0110 vào ký s b sai. là không nhi u, ho c vi c tính toán là ñơn gi n thì s BCD s giúp Hai ví d sau ñây s cho th y ñi u này. c i thi n ñáng k t c ñ x lý. Ví d 1: S h 10 S BCD 0 0000 97 98
- Chương III: Bi u di n d li u Chương III: Bi u di n d li u T các ví d trên ta th y nhi u khi các phép tính c ph i 0010 0111 27 s a sai như v y thì s d n ñ n t c ñ tính toán cũng b gi m b t 0011 0110 + 36 3.8. Bi u di n các ký t 63 Ký s vư t quá => k t qu sai 0101 1101 Ngoài vi c bi u di n s , chúng ta cũng c n ñ n bi u di n S a sai k t qu ch và m t s ký t khác. Tuỳ theo các h th ng khác nhau, có th 0000 0110 s d ng các b ng mã khác nhau: 0110 0011 K t qu = 63 – ASCII (7 bit) (American Standard Codes for Information Interchange) ñ bi u di n 128 ký t g i là mã ASCII-7 Trong ví d này ta th y khi c ng hai s 6 v i 7 ñã cho ta k t – ASCII m r ng (8 bit) ñ bi u di n 256 ký t qu là 13 (1101). K t qu này ñã vư t qua con s l n nh t 00 – 1F: ký t ñi u khi n trang h BCD là 1001 (9), do ñó ñ s a l i ta ph i c ng 20 – 7F: ký t in ñư c thêm m t giá tr 0110 vào ñúng v trí s c ng sai ñó và n u 80 – FF: ký t m r ng (ký hi u ti n t , v khung, …) có s nh thì s nh ñó s ñư c c ng sang s bên c nh trái. – Unicode: Ngày nay do vi c s d ng r ng rãi m ng toàn c u Internet v i r t nhi u ngôn ng khác nhau, r t nhi u ký t Ví d 2: khác nhau nên ngư i ta ñã chuy n sang dùng b mã 0010 1000 28 Unicode (16 bit) (UTF-8) có th bi u di n ñư c t i 65.536 0101 1001 ký t và như v y cho phép bi u di n h u h t các ngôn ng + 59 trên th gi i. 87 Có nh 1 => k t qu sai 1000 0001 S a sai k t qu 0000 0110 1000 0111 K t qu = 87 Tương t khi tr s BCD, n u có mư n khi tr thì cũng ph i s a sai b ng cách tr b t 0110 vào ký s b sai như trong ví d sau: 0110 0001 61 0011 1000 - 38 23 Ký s bên ph i mư n 1 khi tr 0010 1001 S a sai k t qu 0000 0110 0010 0011 K t qu = 23 99 100
- Chương III: Bi u di n d li u Chương III: Bi u di n d li u CÂU H I VÀ BÀI T P CHƯƠNG III 12. Tìm bù 1 và bù 2 các s nh phân sau : 1100110101100, 10110010111011 13. ð i các s sau sang BCD a. 47810 1. Khái ni m thông tin trong máy tính ñư c hi u như th nào? b. 3728 Lư ng thông tin là gì? 14. Bi u di n s th c -206,3410 dư i d ng s có d u ch m ñ ng 2. S hi u bi t v m t tr ng thái trong 4096 tr ng thái có th chính xác ñơn 32 bit. có ng v i lư ng thông tin là bao nhiêu? 15. Bi u di n s th c (32.75)10 dư i d ng s có d u ch m ñ ng 3. S nh phân 8 bit (11001100)2, s này tương ng v i s chính xác ñơn 32 bit. nguyên th p phân có d u là bao nhiêu n u s ñang ñư c 16. Tìm bi u di n ch m ñ ng (1 bit d u, 8 bit mũ quá 127, 23 bi u di n trong cách bi u di n: bit ñ nh tr ) c a các s sau. a. D u và tr tuy t ñ i. b. S bù 1. a) 1025.29687510 c. S bù 2. b) 0.06640625 10 4. ð i các s sau ñây: 17. Th c hi n các phép toán sau trong h bù 1. Dùng 8 bit (g m a. (011011)2 ra s th p phân. c bit d u) cho m i s . b. (-2005)10 ra s nh phân 16 bits. a) L y +47 c ng -19 c. (55.875)10 ra s nh phân. b) L y -15 tr ñi +36 5. ð i các s sau sang h th p phân : 123214, 232457, 19411 18. Th c hi n các phép toán sau trong h bù 2. Dùng 8 bit (g m 6. ð i các s th p phân sau c bit d u) cho m i s . a. 56354 sang nh phân a) C ng +19 vào -24 b. 89353 sang bát phân b) C ng -48 vào -80 c. 56253 sang th p l c phân 7. ð i s th p l c E4B3A5 sang nh phân và bát phân 19. Th c hi n hai phép toán sau trên h nh phân b ng cách l y 8. ð i các s : bù 2 các s âm, các s ñư c bi u di n b ng 6 bit. a. 2417 sang h 4, h 8 và h 12 a) 25-11 b. 2BC416 sang h 8, h 13 b) 23-30 9. Cơ s c a các s là bao nhiêu n u nghi m phương trình b c 2: x2 - 10x + 31 = 0 là x = 5 và x = 8? 10. Tìm bù 9 các s th p phân sau : 3425890, 4195618 11. Tìm bù 10 các s th p phân sau : 14394500, 24519004, 34040080 101 102
- Chương IV: M ch Logic s Chương IV: M ch Logic s 2 Chương IV: M ch Logic s +Vcc 2 Vout 12 4.1. C ng và ñ i s Boolean Collector 1 V1 Vout 12 4.1.1. C ng (Gate) 32 C ng (hay c ng lu n lý) – cơ s ph n c ng, t ñó ch t o 1 Vin ra m i máy tính s . C ng có m t ho c nhi u l i vào, nhưng ch có 1 V2 Emiter 1 l i ra. Các giá tr vào ho c ra ch có th nh n 1 trong 2 giá tr là 1 Base 3 ho c 0. G i là c ng lu n lý vì nó cho k t qu lý lu n c a ñ i s GND 3 logic như n u A ñúng và B ñúng thì C ñúng (c ng AND: C = A U5 AND B) a) M ch NOT GND b) M ch NAND Chúng ta s xem xét nh ng ý tư ng cơ b n ch t o các c ng này ñ hi u rõ b n ch t c a m ch s . M i logic s hi n ñ i rút cu c +Vcc cũng d a trên vi c ch t o transistor v n hành như m t công t c nh 2 phân c c nhanh. Hình 4.1(a) minh h a (m ch) transistor lư ng c c ñ t vào m ch ñơn gi n. Transistor này có 3 n i k t v i th gi i bên 3 ngoài: c c góp (collector), c c n n (base) và c c phát (emitter). Vout 1 Khi ñi n áp vào, Vin th p hơn giá tr t i h n nào ñó (0.8V), 3 3 transistor s t t và ñóng vai trò như ñi n tr vô h n, khi n ñ u ra 2 2 V1 V2 c a m ch, Vout nh n giá tr g n v i Vcc (ñi n áp ngoài thư ng là +3 V). Lúc Vin vư t quá giá tr t i h n, transistor b t và ñóng vai trò 1 1 như dây d n, kéo Vout xu ng t i ñ t (theo qui ư c là 0 V). Chúng ta th y r ng khi Vin th p thì Vout cao, và ngư c l i. c) M ch NOR Do ñó, m ch này là b ngh ch ñ o (converter ho c NOT), chuy n logic 0 sang logic 1 , và logic 1 sang logic 0, hay tương ng v i Hình 4.1. C u t o c ng NOT, NAND và NOR m t c ng g i là c ng NOT. C n ñi n tr ñ gi i h n dòng ñi n do transistor kéo qua. Th i gian c n thi t ñ chuy n t tr ng thái này Trong Hình 4.1 (b), hai transistor dư c m c n i ti p. N u sang tr ng thái khác thư ng m t vài nano giây tùy theo lo i V1 và V2 ñ u cao, c hai transistor s d n ñi n và Vout s b kéo transistor. xu ng th p. Gi s m t trong hai ñ u vào th p, transistor tương ng s t t, và ñ u ra s cao. Nói tóm l i Vout s th p khi và ch khi V1 và V2 ñ u cao. M ch này là m t c ng NAND. Trong Hình 4.1 (c) hai transistor ñư c m c song song, thay vì n i ti p. Trong 103 104
- Chương IV: M ch Logic s Chương IV: M ch Logic s Tên Ký hi u Hàm B ng chân tr trư ng h p này, n u m t trong hai ñ u vào cao, transistor tương c ng logic ng s kéo ñ u ra xu ng t i ñ t. Còn như c hai ñ u vào ñ u th p, ñ u ra s v n cao. M ch này tương ng v i c ng g i là NOR. A A B x x x = A.B AND C ng là m t m ch s g m m t ho c nhi u tín hi u nh p và B ho c x = 0 0 0 m t tín hi u xu t. AB 0 1 0 M t m ch s s ñư c t o ra t t p h p các c ng cơ b n. ho c x = 1 0 0 M i c ng cơ b n có ký hi u riêng và ho t ñ ng c a nó ñư c mô t A AND B 1 1 1 qua m t b ng g i là b ng chân tr (truth table). Tên, ký hi u, hàm logic bi u di n và b ng chân tr c a các A c ng cơ b n li t kê trong b ng 4.1. A B x x x=A+B OR B ho c 0 0 0 C ng AND có ít nh t 2 ñ u vào và 1 ñ u ra. ð u ra ch b ng x = A OR 0 1 1 1 khi và ch khi t t c các ñ u vào b ng 1, các trư ng h p khác ñ u B 1 0 1 ra s có giá tr b ng 0. 1 1 1 C ng OR có ít nh t 2 ñ u vào và 1 ñ u ra. ð u ra b ng 1 khi có m t trong các ñ u vào b ng 1, các trư ng h p khác ñ u ra s có giá tr b ng 0. A x NOT A x x= A 0 1 C ng NOT có m t ñ u vào và 1 ñ u ra. ð u ra luôn có giá ho c 1 0 tr ngh ch ñ o v i ñ u vào. ð u vào b ng 1 thì ñ u ra b ng 0 và x = NOT ngư c l i. A C ng XOR có ký hi u như c ng OR nhưng có thêm m t A vòng cung ñ u vào. ð u ra là 1 n u s ñ u vào có tr b ng 1 là x A B x x = A⊕ B XOR B m t s l , các trư ng h p khác b ng 0. Trong trư ng h p có 2 ñ u 0 0 0 vào thì ñ u ra b ng 1 khi m t trong 2 ñ u vào b ng 1, các trư ng 0 1 1 h p khác b ng 0. 1 0 1 Các c ng NAND, NOR, NXOR là bù c a các c ng tương 1 1 0 ng AND, OR, XOR và ñư c bi u di n thêm m t vòng tròn nh B ng 4.1. Các c ng cơ b n ñ u ra. 105 106
- Chương IV: M ch Logic s Chương IV: M ch Logic s 4.1.2.ð i s Boolean (Boolean algebra) ð i v i các c ng có ñ u ra ngh ch ñ o (invert) ta có b ng 4.2. ð i s Boolean (hay ñ i s Logic) là môn toán h c nghiên Tên Ký hi u Hàm B ng chân tr c u các m nh ñ lu n lý và là công c toán h c ñ phân tích và c ng logic t ng h p các thi t b m ch s . Các bi n s trong ñ i s Boolean là U 24 A bi n Boolean và là m t ñ i lư ng mà t i các th i ñi m khác nhau A B x NAND x = A.B x nó ch có th b ng 0 ho c 1. Bi n Boolean thư ng ñư c s d ng ñ B 0 0 1 ho c bi u di n m c ñi n th có trên dây hay t i các ñ u vào/ra NAND2 0 1 1 x = NOT (input/ouput - IO) c a m t m ch s . 1 0 1 (A AND B) 1 1 0 Như v y, bi n Boolean là các bi n bi u th tr ng thái c a m t giá tr ñi n th và ta g i là m c logic. Trong logic s thì nhi u U 25 A thu t ng khác nhau ñư c dùng ñ bi u th hai tr ng thái nh phân A B x NOR x = A+ B x 0, 1 như trong b ng 4.3. B 0 0 1 Logic 0 Logic 1 NOR2 0 1 0 Sai ðúng 1 0 0 Tt M Th p Cao 1 1 0 Không Có Công t c m Công t c ñóng A B ng 4.3. Các thu t ng bi u di n logic “0” và “1” x A B x NXOR x = A⊕ B B 0 0 1 Như ñã nói trên, ñ i s Boolean là m t công c ñ phân 0 1 0 tích và t ng h p các thi t b m ch s hay nói cách khác là ñ bi u di n các m i quan h gi a ñ u vào và ra c a m ch s . Các giá tr 1 0 0 c a bi n logic ñ u vào s quy t ñ nh giá tr c a ñ u ra t i m t th i 1 1 1 ñi m nh t ñ nh. Chúng ta s dùng các ký hi u b ng ch ñ bi u th các giá tr logic. Ví d , x là các giá tr ñ u vào ho c ra c a m ch s , B ng 4.2. Các c ng cơ b n có ñ u ra ngh ch ñ o và t i th i ñi m b t kỳ có th x = 0 ho c x = 1. Ba phép tính cơ b n c a ñ i s Boolean (goi là các phép toán logic) là: - Phép Ph ñ nh Logic: NOT Ví d : + ph ñ nh c a x: NOT x ho c x 107 108
- Chương IV: M ch Logic s Chương IV: M ch Logic s + y b ng ph ñ nh c a A: y = NOT A ho c y = A B ng chân tr (truth table) là phương ti n mô t ñ u ra c a - Phép c ng logic: OR m ch logic ph thu c vào các m c ñ u vào c a m ch. Hay nói Ví d : x c ng y ta ký ki u là x OR y ho c x + y cách khác b ng chân tr dùng ñ bi u di n m i quan h gi a - Phép nhân logic: AND hàm Boolean và các bi n logic c a hàm ñó. Ví d : A nhân B ta ký hi u A AND B ho c A.B ho c Ví d : b ng chân tr c a hàm y = A OR B = A + B AB . A B y Các quy t c Logic: 0 0 0 - Quy t c v phép c ng: 0 1 1 X+0=X X+X=X 1 0 1 1 1 1 X + X =1 X+1=1 B ng li t kê m i t h p có th có c a các bi n logic tư ng trưng cho ñ u vào m ch s A và B v i các giá tr tương ng ñ u - Quy t c v phép nhân logic: ra y. X.0=0 X.X=X M i c ng cơ b n s có m t phép toán Boolean cơ b n tương ng X .X = 0 X.1=X a) Phép toán OR - Quy t c v ph ñ nh: Hàm x ñư c t h p t 2 bi n logic A và B b ng phép toán X=X OR là: x = A + B ho c x=A OR B. ñây d u “+” không bi u th Các m ch s ñư c thi t k t nh ng nguyên t nh nh t g i cho phép c ng thông thư ng, mà nó thay cho phép toán OR. Bi u là c ng logic (gate). Các c ng này ñư c c u thành t diod, th c x = A + B ñư c ñ c là “ x b ng A OR B”, nhưng ñ ñơn gi n transistor và ñi n tr , ñ r i ñ u ra c a nó s có giá tr như các phép chúng ta hay dùng là “x b ng A c ng B”. ði u quan tr ng ñây là toán logic cơ b n (NOT, OR, AND). Chúng ta s dùng ñ i s chúng ta ph i nh ñây là phép toán OR ch không ph i phép toán Boolean ñ mô t và phân tích các c ng logic cơ b n này, sau ñó s c ng thông thư ng. (phép toán c ng thông thư ng 1+1=2, trong khi m r ng ra phân tích và thi t k cách n i các công l i v i nhau ñ phép toán OR là 1 + 1=1). t o thành các m ch s c n thi t. Tương t v i c ng OR, giá tr c a hàm x ñư c xác ñ nh qua b ng chân tr sau: Hàm Logic: A B x=A+B Cũng gi ng như ñ i s thư ng, ñ i s boolean cũng có hàm. A 0 0 0 Hàm Boolean là hàm c a các bi n Logic và b n thân cũng ch nh n x 0 1 1 B các giá tr 0 ho c 1. Thư ng chúng ta dùng hàm boolean ñ bi u 1 0 1 di n ñ u ra c a m ch s và các bi n logic c a hàm ñó ñ bi u di n C ng OR 2 ñ u vào 1 1 1 các ñ u vào c a m ch. 109 110
- Chương IV: M ch Logic s Chương IV: M ch Logic s Nhìn vao b ng ta th y x = 1 khi có m t ñ u vào tr lên A x b ng 1. Trư ng h p duy nh t có x = 0 là khi t t c các ñ u vào ñ u B b ng 0. Ví d phép toán OR cho 3 bi n ñ u vào A, B và C: x=A+B+C A B C x=A+B+C Hình 4.2. C ng OR và sơ ñ th i gian 0 0 0 0 Gi i: 0 0 1 1 2 3 1 Chúng ta ñã bi t là ñ u ra c a c ng OR ch b ng 1 (hay 0 1 0 1 4 m c cao) khi có m t trong các ñ u vào b ng 1, các trư ng h p 0 1 1 1 khác ñ u b ng 0 (hay m c th p). T sơ ñ th i gian c a các ñ u 1 0 0 1 C ng OR cho 3 ñ u vào vào ta th y: 1 0 1 1 o cho ñ n th i ñ m t=20ns c A và B ñ u b ng 0 => tín 1 1 0 1 hi u ñ u ra x=0 trong ño n này. 1 1 1 1 o t i th i ñi m t=20ns, A chuy n t 0 lên 1=> ñ u ra x cũng chuy n lên 1=> ño n t t=20ns ñ n t=40ns ñ u ra x s b ng 1. Tóm lai: o ti p t t=40ns ñ n t=80ns ñ u ra x cũng b ng 1 vì 1 - Phép toán OR cho k t qu là 1 khi m t trong các ñ u vào trong 2 ñ u vào có tr b ng 1. là 1 o l p lu n tương t như v y ta có ñư c bi u ñ th i gian cho tín hi u ñ u ra ph thu c vào các tín hi u ñ u vào - Phép toán OR cho k t qu là 0 khi t t c các ñ u vào ñ u như hình 4.3: là 0 - V i phép toán OR: 1+1=1, 1+1+1=1,… - C ng OR là m ch logic th c hi n phép toán OR trên các ñ u vào logic c a m ch. Ví d : xác ñ nh ñ u ra x = A + B c a c ng OR trong hình 4.2. Tín Hình 4.3. K t qu ñ u ra hi u các ñ u vào A và B c a c ng OR thay ñ i theo sơ ñ th i gian b) Phép toán AND minh h a: Hàm AND ñư c t h p t 2 bi n logic A và B b ng phép toán AND là: x = A.B ho c x=AB ho c x = A AND B. Tương t v i c ng AND, giá tr c a hàm x ñư c xác ñ nh qua b ng chân tr sau: 111 112
- Chương IV: M ch Logic s Chương IV: M ch Logic s - C ng AND là m ch logic th c hi n phép toán AND trên ñ u vào là các bi n c a hàm AND A B x=A.B A 0 0 0 x Ví d : B 0 1 0 AND3 Xác ñ nh ñ u ra x t c ng AND, n u các tín hi u ñ u vào A B C 1 1 0 0 có d ng hình 4.4: 1 1 1 Chú ý r ng trong biêu3 th c x=A.B thì d u nhân ñây không ph i phép toán nhân thông thư ng, mà là phép toán AND. Hình 4.4. D ng tín hi u ñ u vào Nhưng trong trư ng h p ch áp d ng cho các bi n có giá tr là 0 Gi i: ho n 1 thì phép toán AND l i tương t như phép nhân bình thư ng ðây là m t d ng khác c a cách bi u di n m t hàm logic hay (0.0=0, 0.1=0, 1.1=1). m t c ng. Thay vì dùng b ng chân tr thì ñây ta dùng ñ th tín hi u các ñ u vào và ra. Chúng ta bi t r ng ñ u ra c a c ng AND Tương t , ta cũng có phép toán AND cho 3 bi n và c ng ch b ng 1 khi t t c các ñ u vào ñ u b ng 1. Như v y ño n AND cho 3 ñ u vào như sau: 0 60ns, ñ u ra x s b ng 0 vì trong ño n này luôn có m t trong 2 A B C f=A.B.C tín hi u ñ u vào A ho c B b ng 0. ðo n 60ns 80ns, tín hi u ñ u 0 0 0 0 AND3 ra x s b ng 1 do c 2 ñ u vào A và B ñ u b ng 1. Tương t ta co A 0 0 1 0 ñư c tín hi u ñ u ra như hình 4.5: f 0 1 0 0 B 0 1 1 0 C3 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 Hình 4.5. Tín hi u ñ u ra Tóm lai: c) Hàm NOT - Phép toán AND ñư c th c hi n như phép nhân thông thư ng f = A hay f = NOT A : Hàm f tương t v i c ng Inverter, gi a các s 0 và 1 có giá tr ngư c v i bi n logic A và ñư c bi u di n qua b ng chân - ð u ra c a c ng AND hay giá tr hàm AND ch b ng 1 khi t t tr sau: c các ñ u vào ñ u b ng 1 A f - ð u ra c a c ng AND hay giá tr hàm AND b ng 0 khi có m t 0 1 trong các ñ u vào ng 0 1 0 113 114
- Chương IV: M ch Logic s Chương IV: M ch Logic s ñ i ng u c a nhau. B ng cách hoán ñ i AND và OR, cũng như 0 và d) Hàm XOR 1 , có th t o d ng này b ng d ng kia. Th t d ch ng minh t t cà Hàm XOR cho 2 bi n logic A và B là: f = A ⊕ B ho c f = ñ nh lu t thông qua xây d ng b ng chân tr . A XOR B. Tương t v i c ng XOR, giá tr c a hàm f ñư c xác Tên D ng AND D ng OR ñ nh qua b ng chân tr sau: ABf ð nh lu t th ng 1A = A 0+A=A nh t 0 0 0 ð nh lu t không OA = O 1+ A = 1 0 1 1 ð nh lu t AA = A A+A=A Idempotent 1 0 1 ð nh lu t ngh ch A+ A =1 A. A = 0 1 1 0 ño ð nh lu t giao AB = BA A+B=B+A ng d ng c a m ch XOR là ñ so sánh hai s . N u hai s hoán b ng nhau thì giá tr ñ u ra c a m ch là 1, ngư c l i là 0. (A+B)+C = A + (B+C) ð nh lu t k t h p (AB)C = A(BC) Như v y gi a m ch s và ñ i s Boolean có m t m i quan ð nh lu t phân b A(B+C) = AB + AC A + BC = (A + B)(A + C) h tương ng qua l i v i nhau gi a c ng và hàm Boolean. Nói cách khác ta có th bi u di n m ch s b ng hàm Boolean và ngư c l i. ð nh lu t h p th A(A + B) = A A + AB = A Nh n xét 1: ð nh lu t De AB = A + B A + B = AB Morgan Hàm c a n bi n logic s có 2n t h p bi n, v i m i t h p bi n - B ng 4.4. Các ñ nh lu t ñ i s Boolean cơ b n hàm có th l y m t trong 2 giá tr là 0 ho c là 1. Như v y ñ bi u di n 1 hàm có 2 bi n, ta c n 1 b ng chân tr có 4 dòng hay ðinh lu t De Morgan ñưa ra ký pháp thay th và r t quan tr ng 4 t h p bi n (không tính dòng tiêu ñ ), hàm cho 3 bi n s c n ñ i v i các c ng NOR và NAND. Nó cho phép ta thay th t c ng b ng chân tr có 23 =8 dòng,… OR sang AND và ngư c l i. Hình 4.6(a) cho ta th y cách chuy n t - M c ñích c a ñ i s Boolean là cung c p m t công c ñ bi u c ng AND sang c ng OR nh ñ nh lý DeMorgan AB = A + B . Ta di n m ch s , giúp cho vi c thi t k m ch s ñư c d dàng hơn. có c ng NAND bi u di n hàm x = A.B s tương ñương v i c ng ð c bi t trong vi c ñơn gi n hàm cũng như tìm ra m ch s OR v i ñ u vào ñư c ngh ch ñ o bi u di n cho hàm x = A + B , tương ñương nhưng có kích th ơc nh g n và dùng ít c ng hơn. hay nói cách khác c ng NAND ñư c bi u di n b ng 2 cách. Tương ð t n d ng các phương pháp ñơn gi n, chúng ta c n m t t như v y ta cũng có c ng NOR tương ñương như trong hình s ñ ng nh t th c trong ñ i s Boolean. B ng 4.3 li t kê m t s 4.6(b) nh vào ñ nh lý DeMorgan cho d ng OR A + B = AB . ñ ng nh t th c chính. ði m ñáng lưu ý là m i ñ nh lu t có hai d ng 115 116
CÓ THỂ BẠN MUỐN DOWNLOAD
-
kiến trúc máy tính Vũ Đức Lung phần 1
15 p | 116 | 23
-
kiến trúc máy tính Vũ Đức Lung phần 2
13 p | 94 | 23
-
kiến trúc máy tính Vũ Đức Lung phần 5
13 p | 104 | 23
-
kiến trúc máy tính Vũ Đức Lung phần 8
13 p | 88 | 23
-
kiến trúc máy tính Vũ Đức Lung phần 10
20 p | 106 | 22
-
kiến trúc máy tính Vũ Đức Lung phần 9
12 p | 101 | 22
-
kiến trúc máy tính Vũ Đức Lung phần 7
13 p | 93 | 22
-
kiến trúc máy tính Vũ Đức Lung phần 3
16 p | 114 | 22
-
kiến trúc máy tính Vũ Đức Lung phần 6
12 p | 95 | 21
-
Bài giảng Lý thuyết mạng máy tính - ThS. Nguyễn Đức Thiện
20 p | 227 | 21
-
Bài giảng Kiến trúc máy tính: Chương 5 - TS. Vũ Đức Lung
19 p | 78 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn