1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

ĐIỆN TỬ SỐ ĐH BÁCH KHOA ĐÀ NẴNG

123 290 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 123
Dung lượng 1,49 MB

Nội dung

TRNG I HC BÁCH KHOA À NNG KHOA N T VIN THÔNG oOo BÀI GING N T S 1 à Nng, 08 / 2007 Chng 1. H thng sm và khái nim v mã Trang 1 Chng 1  THNG SM VÀ KHÁI NIM V MÃ 1.1. H THNG SM 1.1.1. Hm 1. Khái nim m là tp hp các phng pháp gi và biu din các con s bng các kí hiu có giá tr s ng xác nh gi là các ch s. 2. Phân loi Có th chia các hm làm hai loi: hm theo v trí và hm không theo v trí. a. Hm theo v trí: m theo v trí là hm mà trong ó giá tr s lng ca ch s còn ph thuc vào v trí ca nó ng trong con s c th. Ví d: H thp phân là mt hm theo v trí. S 1991 trong h thp phân c biu din bng 2 ch s “1” và “9”, nhng do v trí ng ca các ch s này trong con s là khác nhau nên s mang các giá tr s lng khác nhau, chng hn ch s “1”  v trí hàng n v biu din cho giá tr s ng là 1 song ch s “1”  v trí hàng nghìn li biu din cho giá tr s lng là 1000, hay ch s “9” khi  hàng chc biu din giá tr là 90 còn khi  hàng trm li biu din cho giá tr là 900. b. Hm không theo v trí: m không theo v trí là hm mà trong ó giá tr s lng ca ch s không ph thuc vào  trí ca nó ng trong con s. m La Mã là mt hm không theo v trí. Hm này s dng các ký t “I”, “V”, “X”  biu din các con s, trong ó “I” biu din cho giá tr s lng 1, “V” biu din cho giá tr s ng 5, “X” biu din cho giá tr s lng 10 mà không ph thuc vào v trí các ch s này ng trong con s c th. Các hm không theo v trí s không c  cp n trong giáo trình này. 1.1.2. C s ca hm t s A bt k có th biu din bng dãy sau: A= a m-1 a m-2 a 0 a -1 a -n Trong ó a i là các ch s, ( 1 m n i − ÷ − = ); i là các hàng s, i nh: hàng tr, i ln: hàng già. Giá tr s lng ca các ch s a i s nhn mt giá tr nào ó sao cho tha mãn bt ng thc sau: 1Na0 i −≤≤ (a i nguyên) N c gi là c s ca hm.  s ca mt hm là s lng ký t phân bit c s ng trong mt hm. Các h thng sm c phân bit vi nhau bng mt c s N ca h m ó. Mi ký t biu din mt ch s. Bài ging K THUT S Trang 2 Trong i sng hng ngày chúng ta quen s dng hm thp phân (decimal) vi N=10. Trong  thng s còn s dng nhng hm khác là hm nh phân (binary) vi N=2, hm bát phân (octal) vi N=8 và hm thp lc phân (hexadecimal) vi N=16. - H nh phân : N =2 ⇒ a i = 0, 1. - H thp phân : N =10 ⇒ a i = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. - H bát phân : N =8 ⇒ a i = 0, 1, 2, 3, 4, 5, 6, 7. - H thp lc phân : N =16 ⇒ a i = 0, 1, 2, …8, 9, A, B, C,D, E, F. Khi ã xut hin c s N, ta có th biu din s A di dng mt a thc theo c s N, c ký hiu là A (N) : A (N) = a m-1 .N m-1 + a m-2 .N m-2 + + a 0 .N 0 + a -1 .N -1 + + a -n .N -n Hay: ∑ − −= = 1m ni i i(N) NaA (1.1) i N=10 (h thp phân): A (10) = a m-1 .10 m-1 + a m-2 .10 m-2 + + a 0 .10 0 + + a -n .10 -n 1999,959 (10) =1.10 3 + 9.10 2 + 9.10 1 + 9.10 0 + 9.10 -1 + 5.10 -2 + 9.10 -3 i N=2 (h nh phân): A (2) = a m-1 .2 m-1 + a m-2 .2 m-2 + + a 0 .2 0 +a -n 2 -n 1101 (2) = 1.2 3 +1.2 2 + 0.2 1 + 1.2 0 = 13 (10) i N=16 (h thp lc phân): A (16) = a m-1 .16 m-1 + a m-2 .16 m-2 + + a 0 .16 0 + a -1 16 -1 + + a -n 16 -n 3FF (16) = 3.16 2 + 15.16 1 + 15.16 0 = 1023 (10) i N=8 (h bát phân): A (8) = a m-1 .8 m-1 + a m-2 .8 m-2 + + a 0 .8 0 + a -1 .8 -1 + + a -n .8 -n 376 (8) = 3.8 2 + 7.8 1 + 6.8 0 = 254 (10) Nh vy, biu thc (1.1) cho phép i các s bt k h nào sang h thp phân (h 10). 1.1.3. i c s 1. i t c s d sang c s 10  chuyn i mt s hm c s d sang hm c s 10 ngi ta khai trin con s trong c  d di dng a thc theo c s ca nó (theo biu thc 1.3). Ví d 1.1 i s 1101 (2)  h nh phân sang h thp phân nh sau: 1011 (2) = 1.2 3 + 0.2 2 + 1.2 1 + 1.2 0 = 11 (10) 2. i t c s 10 sang c s d  chuyn i mt s t c s 10 sang c s d (d = 2, 8, 16) ngi ta ly con s trong c s 10 chia liên tip cho d n khi thng s bng không thì dng li. Kt qu chuyn i có c trong m c s d là tp hp các s d ca phép chia c vit theo th t ngc li, ngha là s d u tiên có trng s nh nht. (xem ví d 1.2) Chng 1. H thng sm và khái nim v mã Trang 3 Ví d 1.2: t lun: Gi d 1 , d 2 , ,d n ln lt là d s ca phép chia s thp phân cho c s d  ln th 1, 2, 3, 4, , n thì kt qu chuyn i mt s t hm c s 10 (thp phân) sang hm c s d s là: d n d n-1 d n-2 d 1 , ngha là d s sau cùng ca phép chia là bít có trng s cao nht (MSB), còn d su tiên là bít có trng s nh nht (LSB). Trong các ví d trên, c s ca hm c ghi  dng ch s bên di. Ngoài ra cng có th ký  ch phân bit nh sau: B - H nh phân (Binary) O - H bát phân (Octal) D - H thp phân (Decmal) H - H thp lc phân (Hexadecimal) Ví d: 1010B có ngha là 1010 (2) 37FH có ngha là 37F (16) & Quy tc chuyn i gia các hm c s 2, 8, 16 ? 1.2. HM NH PHÂN VÀ KHÁI NIM V MÃ 1.2.1. Hm nh phân 1. Khái nim m nh phân, còn gi là hm c s 2, là hm trong ó ngi ta ch s dng hai kí hiu 0 và 1  biu din tt c các s. Hai ký hiu ó gi chung là bit hoc digit, nó c trng cho mch n t có hai trng thái n nh hay còn gi là 2 trng thái bn ca FLIP- FLOP (ký hiu là FF). Trong hm nh phân ngi ta quy c nh sau: - Mt nhóm 4 bít gi là 1 nibble. - Mt nhóm 8 bít gi là 1 byte. - Nhóm nhiu bytes gi là t (word), có th có t 2 bytes (16 bít), t 4 bytes (32 bít),  hiu rõ hn mt s khái nim, ta xét s nh phân 4 bít: a 3 a 2 a 1 a 0 . Biu din di dng a thc theo c s ca nó là: a 3 a 2 a 1 a 0 (2) = a 3 .2 3 + a 2 .2 2 + a 1 .2 1 + a 0 .2 0 Trong ó: - 2 3 , 2 2 , 2 1 , 2 0 (hay 8, 4, 2, 1) c gi là các trng s. - a 0  c gi là bit có trng s nh nht, hay còn gi bit có ý ngha nh nht (LSB - Least Significant Bit), còn gi là bít tr nht. 1023 16 63 16 3 16 0 15 15 3 A (10) =1023 → A (16) =3FFH 13 2 6 2 3 2 1 1 0 1 2 0 1 A (10) =13 → A (2) =1101 Bài ging K THUT S Trang 4 - a 3  c gi là bit có trng s ln nht, hay còn gi là bít có ý ngha ln nht (MSB - Most Significant Bit), còn gi là bít già nht. Nh vy, vi s nh phân 4 bit a 3 a 2 a 1 a 0 trong ó mi ch s a i (i t 0 n 3) ch nhn c hai giá tr {0,1} ta có 2 4 = 16 t hp nh phân phân bit. ng sau ây lit kê các t hp mã nh phân 4 bít cùng các giá tr s thp phân, s bát phân và s thp lc phân tng ng. & T bng này hãy cho bit mi quan h gia các s trong h nh phân vi các s trong h bát phân (N=8) và h thp lc phân (N=16)? Tó suy ra phng pháp chuyn i nhanh gia các  này?  thp phân a 3 a 2 a 1 a 0 S bát phân S thp lc phân 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 00 01 02 03 04 05 06 07 10 11 12 13 14 15 16 17 0 1 2 3 4 5 6 7 8 9 A B C D E F ng 1.1. Các t hp mã nh phân 4 bít  chuyn i gia các h thng s m khác nhau gi vai trò quan trng trong máy tính s. Chúng ta bit rng 2 3 = 8 và 2 4 = 16, t bng mã trên có th nhn thy mi ch s trong h bát phân ng ng vi mt nhóm ba ch s (3 bít) trong h nh phân, mi ch s trong h thp lc phân ng ng vi mt nhóm bn ch s (4 bít) trong h nh phân. Do ó, khi biu din s nh phân nhiu bit trên máy tính  tránh sai sót ngi ta thng biu din thông qua s thp phân hoc thp c phân hoc bát phân. Ví d 1.3 : Xét vic biu din s nh phân 1011111011111110 (2) . 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 y, có th biu din : 137376 (8) theo h bát phân hoc : BEFE (H) theo h thp lc phân. 67 3 7 3 1 EFEB Chng 1. H thng sm và khái nim v mã Trang 5 & Vi s nh phân n bít có bao nhiêu t hp nh phân khác nhau? Xét trng hp s nh phân 8 bít (n=8) a 7 a 6 a 5 a 4 a 3 a 2 a 1 a 0 có bao nhiêu t hp nh phân (t mã nh phân) khác nhau? 2. Các phép tính trên s nh phân a. Phép cng  cng hai s nh phân, ngi ta da trên qui tc cng nh sau: 0 + 0 = 0 nh 0 0 + 1 = 1 nh 0 1 + 0 = 1 nh 0 1 + 1 = 0 nh 1 Ví d 1.4 : 3 → 0011 2 → 0010 5 → 0101 = 1.2 2 + 1.2 0 = 5 (10) b. Phép tr 0 - 0 = 0 mn 0 0 - 1 = 1 mn 1 1 - 0 = 1 mn 0 1 - 1 = 0 mn 0 Ví d 1.5 : 7 → 0111 5 → 0101 2 → 0010 = 0.2 3 + 0.2 2 + 1.2 1 + 0.2 0 = 2 (10) c. Phép nhân 0 . 0 = 0 0 . 1 = 0 1 . 0 = 0 1 . 1 = 1 Ví d 1.6 : 7 → 0111 5 → 0101 35 0111 0000 0111 0000 0100011 = 1.2 5 + 1.2 1 + 1.2 0 = 35 (10) d. Phép chia 0 : 1 = 0 1 : 1 = 1 u ý: Khi chia s chia phi khác 0 + + - - x x Bài ging K THUT S Trang 6 Ví d 1.7: 10 5 → 1010 101 2 101 10 (2) = 2 (10) 00 0 ng dng thanh ghi dch thc hin phép toán nhân hai, chia hai: 1.2.2. Khái nim v mã 1. i cng Trong i sng hàng ngày, con ngi giao tip vi nhau thông qua mt h thng ngôn ng qui c, nhng trong máy tính và các h thng s ch x lý các d liu nh phân. Do ó, mt vn t ra là làm th nào to ra mt giao din d dàng gia ngi và máy tính, ngha là máy tính thc hin c nhng bài toán do con ngi t ra. Vì các máy tính s hin nay ch hiu các s 0 và s 1, nên bt k thông tin nào di dng các ch , ch cái hoc các ký t phi c bin i thành dng s nh phân trc khi nó có thc x lý bng các mch s.  thc hin u ó, ngi ta t ra vn  v mã hóa d liu. Nh vy, mã hóa là quá trình bin i nhng ký hiu quen thuc ca con ngi sang nhng ký hiu quen thuc vi máy tính. Nhng s liu ã mã hóa này c nhp vào máy tính, máy tính tính toán x lý và sau ó máy tính thc hin quá trình ngc li là gii mã  chuyn i các bít thông tin nh phân thành các ký hiu quen thuc vi con ngi mà con ngi có th hiu c. Các lnh vc mã hóa bao gm: - Mã hóa s thp phân - Mã hóa ký t - Mã hóa tp lnh - Mã hóa ting nói - Mã hóa hình nh v v Phn tip theo chúng ta kho sát lnh vc mã hóa n gin nht là mã hóa s thp phân bng cách s dng các t mã nh phân. Vic mã hóa ký t, tp lnh, ting nói, hình nh u da trên c  mã hóa s thp phân. 0 0 0 0 0 1 011 0 0 0 0 0 0 0 111 Thanh ghi ban u Thanh ghi sau khi dch trái 1 bít ch trái 1 bít ↔ nhân 2 0 0 0 0 0 0 10 1 1 0 Thanh ghi sau khi dch phi 1 bít ch phi 1 bít ↔ chia 20  Hình 1.1. ng dng thanh ghi dch thc hin phép toán nhân và chia 2 Chng 1. H thng sm và khái nim v mã Trang 7 2. Mã hóa s thp phân a. Khái nim Trong thc t mã hóa s thp phân ngi ta s dng các s nh phân 4 bit (a 3 a 2 a 1 a 0 ) theo quy c sau: 0 → 0000 ; 5 → 0101 1→ 0001 ; 6 → 0110 2 → 0010 ; 7 → 0101 3→ 0011 ; 8 → 1000 4→ 0100 ; 9 → 1001 Các s nh phân dùng  mã hóa các s thp phân c gi là các s BCD (Binary Coded Decimal: S thp phân c mã hóa bng s nh phân). b. Phân loi Khi s dng s nh phân 4 bit  mã hóa các s thp phân tng ng vi 2 4 = 16 t hp mã nh phân phân bit. Do vic chn 10 t hp trong 16 t hp  mã hóa các ký hiu thp phân t 0 n 9 mà trong thc t xut hin nhiu loi mã BCD khác nhau. c dù tn ti nhiu loi mã BCD khác nhau, nhng có th chia làm hai loi chính: Mã BCD có trng s và mã BCD không có trng s. b1. Mã BCD có trng s là loi mã cho phép phân tích thành a thc theo trng s ca nó. Mã BCD có trng sc chia làm 2 loi là: mã BCD t nhiên và mã BCD s hc. Mã BCD t nhiên là loi mã mà trong ó các trng s thng c sp xp theo th t tng n. Ví d: Mã BCD 8421, BCD 5421. Mã BCD s hc là loi mã mà trong ó có tng các trng s luôn luôn bng 9.Ví d: BCD 2421, BCD 5121, BCD8 4-2-1 c trng ca mã BCD s hc là có tính cht i xng qua mt ng trung gian. Do y,  tìm t mã BCD ca mt s thp phân nào ó ta ly bù (o) t mã BCD ca s bù 9 ng ng. Ví d xét mã BCD 2421. ây là mã BCD s hc (tng các trng s bng 9), trong ó s 3 (thp phân) có t mã là 0011, s 6 (thp phân) là bù 9 ca 3. Do vy, có th suy ra t mã ca 6 ng cách ly bù t mã ca 3, ngha là ly bù 0011, ta s có t mã ca 6 là 1100. b2. Mã BCD không có trng s là loi mã không cho phép phân tích thành a thc theo trng  ca nó. Các mã BCD không có trng s là: Mã Gray, Mã Gray tha 3. c trng ca mã Gray là b mã trong ó hai t mã nh phân ng k tip nhau bao gi cng ch khác nhau 1 bit. Ví d: Các bng di ây trình bày mt s loi mã thông dng. Mã Gray: 2 → 0011 3 → 0010 4 → 0110 Còn vi mã BCD 8421: 3 → 0011 4 → 0100 Bài ging K THUT S Trang 8 ng 1.2: Các mã BCD t nhiên. BCD 8421 BCD 5421 BCD quá 3 a 3 a 2 a 1 a 0 b 3 b 2 b 1 b 0 c 3 c 2 c 1 c 0  thp phân 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 1 2 0 0 1 1 0 0 1 1 0 1 1 0 3 0 1 0 0 0 1 0 0 0 1 1 1 4 0 1 0 1 1 0 0 0 1 0 0 0 5 0 1 1 0 1 0 0 1 1 0 0 1 6 0 1 1 1 1 0 1 0 1 0 1 0 7 1 0 0 0 1 0 1 1 1 0 1 1 8 1 0 0 1 1 1 0 0 1 1 0 0 9 ng 1.3: Các mã BCD s hc BCD 2421 BCD 5121 BCD 84-2-1 a 3 a 2 a 1 a 0 b 3 b 2 b 1 b 0 c 3 c 2 c 1 c 0  thp phân 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 1 1 0 0 1 0 0 0 1 0 0 1 1 0 2 0 0 1 1 0 0 1 1 0 1 0 1 3 0 1 0 0 0 1 1 1 0 1 0 0 4 1 0 1 1 1 0 0 0 1 0 1 1 5 1 1 0 0 1 1 0 0 1 0 1 0 6 1 1 0 1 1 1 0 1 1 0 0 1 7 1 1 1 0 1 1 1 0 1 0 0 0 8 1 1 1 1 1 1 1 1 1 1 1 1 9 ng 1.4 : BCD t nhiên và mã Gray. BCD 8421 BCD quá 3 Mã Gray Gray quá 3 a 3 a 2 a 1 a 0 c 3 c 2 c 1 c 0 G 3 G 2 G 1 G 0 g 3 g 2 g 1 g 0  thp phân 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 1 0 1 0 0 1 1 0 1 1 1 2 0 0 1 1 0 1 1 0 0 0 1 0 0 1 0 1 3 0 1 0 0 0 1 1 1 0 1 1 0 0 1 0 0 4 0 1 0 1 1 0 0 0 0 1 1 1 1 1 0 0 5 0 1 1 0 1 0 0 1 0 1 0 1 1 1 0 1 6 0 1 1 1 1 0 1 0 0 1 0 0 1 1 1 1 7 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 0 8 1 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 9 Chng 1. H thng sm và khái nim v mã Trang 9 Chú ý: Mã Gray c suy ra t mã BCD 8421 bng cách: các bit 0,1 ng sau bit 0 ( mã BCD 8421) khi chuyn sang mã Gray c gi nguyên, còn các bit 0,1 ng sau bit 1 ( mã BCD 8421) khi chuyn sang mã Gray thì o bít, ngha là t bit 1 thành bit 0 và bit 0 thành bit 1. 3. Mch nhn dng s BCD 8421: ch nhn dng s BCD 8421 nhn tín hiu vào là các bít a 3 , a 2 , a 1 ca s nh phân 4 bít a 3 a 2 a 1 a 0 , u ra y c quy nh nh sau: - Nu y = 1 thì a 3 a 2 a 1 a 0 không phi s BCD 8421 - Nu y = 0 thì a 3 a 2 a 1 a 0 là s BCD 8421 Nh vy, nu mt s nh phân 4 bit không phi là mt s BCD 8421 thì ngõ ra y = 1. T bng 1.1 ta thy mt s nh phân 4 bít không phi là s BCD 8421 khi bít a 3 luôn luôn bng 1 và (bit a 1 ng 1 hoc bít a 2 bng 1). Suy ra phng trình logic ca ngõ ra y: y = a 3 (a 1 + a 2 ) = a 3 a 1 + a 3 a 2  logic: ng do vic xut hin s BCD nên có hai cách nhp d liu vào máy tính: nhp s nh phân, nhp bng mã BCD.  nhp s BCD thp phân hai ch s thì máy tính chia s thp phân thành các các và mi các c biu din bng s BCD tng ng. Chng hn: 11 (10) có thc nhp vào máy tính theo 2 cách: - S nh phân : 1011 - Mã BCD : 0001 0001 4. Các phép tính trên s BCD a. Phép cng Do s BCD ch có t 0 n 9 nên i vi nhng s thp phân ln hn s chia s thp phân thành nhiu các, mi các c biu din bng s BCD tng ng. Ví d 1.8 Cng 2 s BCD mt các: 5 → 0101 7 → 0111 3 → 0011 5 → 0101 8 1000 12 1100 0110 0001 0010 ch nhn dng  BCD 8421 y a 3 a 2 a 1 a 1 a 2 a 3 y a 1 a 2 a 3 y  hiu chnh + + + + + . TRNG I HC BÁCH KHOA À NNG KHOA N T VIN THÔNG oOo BÀI GING N T S 1 à Nng, 08 / 2007 Chng 1. H thng

Ngày đăng: 16/08/2014, 08:26

TỪ KHÓA LIÊN QUAN

w