Bài giảng Kỹ thuật Vi xử lý - Chương 1 - Hồ Viết Việt

pdf 50 trang ngocly 2960
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kỹ thuật Vi xử lý - Chương 1 - Hồ Viết Việt", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_ky_thuat_vi_xu_ly_chuong_1_ho_viet_viet.pdf

Nội dung text: Bài giảng Kỹ thuật Vi xử lý - Chương 1 - Hồ Viết Việt

  1. BàiBài gigiảảngng KKỹỹ thuthuậậtt ViVi xxửử lýlý NgànhNgành ĐĐiiệệnn ttửử ViViễễnn thôngthông ĐạĐạii hhọọcc BáchBách khoakhoa ĐĐàà NNẵẵngng ccủủaa HHồồ ViViếếtt ViViệệtt,, KhoaKhoa ĐĐTVTTVT TàiTài liliệệuu thamtham khkhảảoo [1][1] KKỹỹ thuthuậậtt vivi xxửử lýlý,, VVăănn ThThếế MinhMinh,, NXBNXB GiáoGiáo ddụụcc,, 19971997 [2][2] KKỹỹ thuthuậậtt vivi xxửử lýlý vàvà LLậậpp trìnhtrình AssemblyAssembly chocho hhệệ vivi xxửử lýlý,, ĐỗĐỗ XuânXuân TiTiếếnn,, NXBNXB KhoaKhoa hhọọcc && kkỹỹ thuthuậậtt,, 20012001
  2. ChChươươngng 11 1.11.1 CácCác hhệệ ththốốngng ssốố - Hệ thập phân - Hệ nhị phân - Hệ thập lục phân 1.21.2 CácCác hhệệ ththốốngng mãmã hoáhoá - ASCII - BCD 1.31.3 CácCác linhlinh kikiệệnn đđiiệệnn ttửử ssốố ccơơ bbảảnn - Các cổng logic: AND, OR, XOR,NOT - Các bộ giải mã
  3. 1.11.1 CácCác hhệệ ththốốngng ssốố „ HHệệ đếđếmm ththậậpp phânphân (Decimal)(Decimal) „ CònCòn ggọọii làlà hhệệ đếđếmm ccơơ ssốố mmườườii (Vì có quá ít người có chín ngón tay hoặc mười một ngón chân?) „ DùngDùng mmườườii kýký hihiệệuu:: 1,2,3,4,5,6,7,8,9,01,2,3,4,5,6,7,8,9,0 „ VíVí ddụụ:1.1::1.1: BaBa nghìnnghìn ChínChín trtrăămm BBảảyy mmươươii TámTám 39783978 == 3x103x103 ++ 9x109x102 ++ 7x107x101 ++ 8x108x100 == 30003000 ++ 900900 ++ 7070 ++ 88
  4. 1.11.1 CácCác hhệệ ththốốngng ssốố „ HHệệ đếđếmm nhnhịị phânphân (Binary)(Binary) „ CònCòn ggọọii làlà HHệệ đếđếmm ccơơ ssốố haihai „ SSửử ddụụngng haihai kýký hihiệệuu (bit):(bit): 00 vàvà 11 (Các hệ thống điện tử số chỉ sử dụng hai mức điện áp?) „ KíchKích ccỡỡ,, LSB,LSB, MSBMSB ccủủaa ssốố nhnhịị phânphân „ SSốố nhnhịị phânphân khôngkhông ddấấuu (Unsigned)(Unsigned) „ SSốố nhnhịị phânphân cócó ddấấuu (S(Sốố bùbù haihai))
  5. SSốố nhnhịị phânphân „ Mỗi ký hiệu 0 hoặc 1 được gọi là 1 Bit (Binary Digit- Chữ số nhị phân) „ Kích cỡ của một số nhị phân là số bit của nó „ MSB (Most Significant Bit): Bit sát trái „ LSB (Least Significant Bit): Bit sát phải „ VíVí ddụụ 1.1:1.1: 10101010101010101010101010101010 MSB LSB làlà mmộộtt ssốố nhnhịị phânphân 1616 bitbit
  6. SSốố nhnhịị phânphân khôngkhông ddấấuu „ ChChỉỉ bibiểểuu didiễễnn đượđượcc cáccác giágiá trtrịị khôngkhông âmâm (>=(>= 0)0) „ VVớớii nn bitbit cócó ththểể bibiểểuu didiễễnn cáccác giágiá trtrịị ttừừ 00 đếđếnn 22n –– 11 „ VíVí ddụụ 1.3:1.3: GiáGiá trtrịị VV ccủủaa ssốố nhnhịị phânphân khôngkhông ddấấuu 11011101 đượđượcc tínhtính:: V(1101)V(1101) == 1x21x23 ++ 1x21x22 ++ 0x20x21 ++ 1x21x20 == 88 ++ 44 ++ 00 ++ 11 == 1313
  7. SSốố nhnhịị phânphân khôngkhông ddấấuu „ TTổổngng quátquát:: NNếếuu ssốố nhnhịị phânphân NN nn bit:bit: NN == bb( n-1) bb( n-2) . . bb1 bb0 thìthì giágiá trtrịị VV ccủủaa nónó làlà:: (n-1) (n-2) VV == bb(n -1) xx 22 +b+b (n-2) x2x2 ++ 1 0 ++ bb1 xx 22 ++ bb0 xx 22 CácCác ssốố nhnhịị phânphân khôngkhông ddấấuu 44 bitbit bibiểểuu didiễễnn đượđượcc cáccác giágiá trtrịị ttừừ ?? đếđếnn ??
  8. 1616 giágiá trtrịị ttừừ 00 đếđếnn 1515 Nhị phân không dấu Giá trị thập phân 0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 10 1011 11 1100 12 1101 13 1110 14 1111 15
  9. SSốố nhnhịị phânphân khôngkhông ddấấuu „ DDảảii giágiá tritri ccủủaa cáccác ssốố khôngkhông ddấấuu 88 bitbit làlà [0,255][0,255] (unsigned(unsigned charchar trongtrong C)C) „ DDảảii giágiá tritri ccủủaa cáccác ssốố khôngkhông ddấấuu 1616 bitbit làlà [0,65535][0,65535] (unsigned(unsigned intint trongtrong C)C)
  10. ChuyChuyểểnn đổđổii ththậậpp phânphân sangsang nhnhịị phânphân „ Ví dụ 1.4 Chuyển 25 sang nhị phân không dấu. Dùng phương pháp chia 2 liên tiếp Chia 2 Thương số Dư số „ 25/2 = 12 1 LSB „ 12/2 = 6 0 „ 6/2 = 3 0 „ 3/2 = 1 1 „ 1/2 = 0 1 MSB Kết quả là: 11001
  11. SSốố nhnhịị phânphân cócó ddấấuu „ BiBiểểuu didiễễnn đượđượcc ccảả cáccác giágiá trtrịị âmâm „ CònCòn ggọọii làlà SSốố bùbù haihai „ VVớớii nn bitbit cócó ththểể bibiểểuu didiễễnn cáccác giágiá trtrịị ttừừ –– 22(n-1) đếđếnn 22(n-1) –– 11 „ VíVí ddụụ 1.3:1.3: GiáGiá trtrịị VV ccủủaa ssốố nhnhịị phânphân cócó ddấấuu 11011101 đượđượcc tínhtính:: V(1101)V(1101) == –– 1x21x23 ++ 1x21x22 ++ 0x20x21 ++ 1x21x20 == –– 88 ++ 44 ++ 00 ++ 11 == –– 33
  12. SSốố nhnhịị phânphân cócó ddấấuu „ TTổổngng quátquát:: NNếếuu ssốố nhnhịị phânphân NN nn bit:bit: NN == bb( n-1) bb( n-2) . . bb1 bb0 thìthì giágiá trtrịị VV ccủủaa nónó làlà:: (n-1) (n-2) VV == ––bb(n -1) xx 22 +b+b (n-2) x2x2 ++ 1 0 ++ bb1 xx 22 ++ bb0 xx 22 CácCác ssốố nhnhịị phânphân cócó ddấấuu 44 bitbit bibiểểuu didiễễnn đượđượcc cáccác giágiá trtrịị ttừừ ?? đếđếnn ??
  13. 1616 giágiá trtrịị ttừừ 88 đếđếnn 77 Nhị phân có dấu Giá trị thập phân 0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 - 8 1001 -7 1010 -6 1011 -5 1100 -4 1101 -3 1110 -2 1111 -1
  14. SSốố nhnhịị phânphân cócó ddấấuu „ DDảảii giágiá tritri ccủủaa cáccác ssốố cócó ddấấuu 88 bitbit làlà [[ 128,+127]128,+127] (char(char trongtrong C)C) „ DDảảii giágiá tritri ccủủaa cáccác ssốố cócó ddấấuu 1616 bitbit làlà [[ 32768,+32767]32768,+32767] ((intint trongtrong C)C)
  15. TìmTìm đốđốii ssốố ((LLấấyy bùbù 2)2) „ Tổng của một số với đối số củanóbằng 0 „ Ví dụ 1.5 Đối số của số nhị phân có dấu 10011101? 10011101 Số có dấu (-99) „ 01100010 Lấy bù 1 „ + 1 Cộng 1 01100011 Kết quả (+99)
  16. ChuyChuyểểnn ssốố ththậậpp phânphân sangsang nhnhịị phânphân cócó ddấấuu „ VVơơíí ssốố ddươươngng::GiGiốốngng nhnhưư chuychuyểểnn ththậậpp phânphân sangsang nhnhịị phânphân khôngkhông ddấấuu rrồồii thêmthêm bitbit 00 vàovào sátsát bênbên tráitrái „ VíVí ddụụ:: ChuyChuyểểnn 2525 sangsang nhnhịị phânphân cócó ddấấuu:: KKếếtt ququảả:: 001101111011 „ VVớớii ssốố âmâm:: ChuyChuyểểnn đốđốii ssốố sangsang nhnhịị phânphân cócó ddấấuu rrồồii llấấyy bùbù 22
  17. ChuyChuyểểnn ssốố ththậậpp phânphân sangsang nhnhịị phânphân cócó ddấấuu VVíí ddụụ 1.61.6 ChuyChuyểểnn –– 2626 sangsang nhnhịị phânphân 1.1. chuychuyểểnn đốđốii ssốố:: +26+26 == 1101011010 2.2. ĐưĐưaa 00 vàovào sátsát tráitrái:: 011010011010 3.3. BBùù 11:: 100101100101 4.4. CCộộngng 1:1: ++ 11 2626 == 100110100110
  18. SSốố ththậậpp llụụcc phânphân „ Quen gọi là số Hexa (Hexadecimal) „ Còn gọi là hệ đếm cơ số mười sáu „ Sử dụng 16 ký hiệu để biểu diễn: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F „ Mỗi ký hiệu tương ứng với 4-bit „ Mục đích: Biểu diễn số nhị phân ở dạng ngắn gọn 11110000 = F0 10101010 = AA 01010101 = 55 Nhị phân Thập lục phân
  19. MMỗỗii kýký hihiệệuu ttươươngng ứứngng vvớớii 44 bitbit HexaHexa BinaryBinary HexaHexa BinaryBinary 00 00000000 88 10001000 11 00010001 99 10011001 22 00100010 AA 10101010 33 00110011 BB 10111011 44 01000100 CC 11001100 55 01010101 DD 11011101 66 01100110 EE 11101110 77 01110111 FF 11111111
  20. ChuyChuyểểnn đổđổii HexaHexa && nhnhịị phânphân „ Ví dụ 1.7 Chuyển số hexa 2F8 và ABBA sang nhị phân Thay thế mỗi ký hiệu hexa bằng 4-bit tương ứng với nó 2 F 8 0010 1111 1000 AB BA 1010 1011 1011 1010 „ Kết quả 2F8h = 001011111000b ABBAh = 1010101110111010b
  21. ChuyChuyểểnn đổđổii HexaHexa && nhnhịị phânphân „ Ví dụ 1.8 Chuyển số nhị phân 1100101011111110 sang hexa -Trước hết theo hướng từ LSB về MSB chia số nhị phân đó thành các nhóm 4-bit -Sau đóthay thế mỗi nhóm 4-bit bằng ký hiệu hexa tương ứng với nó 1100 1010 1111 1110 C A F E „ Kết quả: 1100101011111110b = CAFEh
  22. 1.21.2 CácCác hhệệ ththốốngng mãmã hoáhoá „ ASCII:ASCII: AAmericanmerican SStandardtandard CCodeode forfor IInformationnformation IInterchange.nterchange. „ DùngDùng đểđể bibiểểuu didiễễnn cáccác kýký ttựự (characters):(characters): Gồm ký tự hiển thị được và ký tự điều khiển „ MMỗỗii kýký ttựự đượđượcc bibiểểuu didiễễnn bbằằngng 88 bitbit ggọọii làlà mãmã ASCIIASCII ccủủaa kýký ttựự đđóó • Các chữ cái in và thường: A Z và a z • Các chữ số thập phân: 0,1, ,9 • Các dấu chấm câu: ; , . : vân vân • Các ký tự đặc biệt: $ & @ / { vân vân • Các ký tự điều khiển: carriage return (CR) , line feed (LF), beep, vân vân
  23. MãMã ASCIIASCII „ Với bảng mã được sắp xếp theo trật tự tăng dần của mã ASCII: • Các chữ số thập phân: 0,1, ,9 nằm liên tiếp nhau, chữ số 0 có mã ASCII là 30h • Các chữ cái in:A Z nằm liên tiếp nhau, chữ A có mã ASCII là 41h • Các chữ cái thường: a z nằm liên tiếp nhau, chữ a có mã ASCII là 61h • Mã ASCII của chữ in và chữ thường tương ứng chỉ khác nhau ở bit 5 A: 01000001 B: 01000010 Z: 01011010 a: 01100001 b: 01100010 z: 01111010 • 32 ký tự điều khiển được xếp đầu bảng mã (00h đến 1Fh)
  24. Bảng mã ASCII
  25. Bảng mã ASCII
  26. MãMã BCDBCD „ BCDBCD ((BBinaryinary CCodedoded DDecimal)ecimal) „ QuenQuen ggọọii làlà ssốố BCDBCD „ DùngDùng đểđể mãmã hoáhoá cáccác ssốố ththậậpp phânphân bbằằngng cáccác kýký hihiệệuu nhnhịị phânphân „ MMỗỗii chchữữ ssốố ththậậpp phânphân đượđượcc bibiểểuu didiễễnn bbằằngng mmộộtt ttổổ hhợợpp 44 bitbit „ CácCác ttổổ hhợợpp 44 bitbit khôngkhông ssửử ddụụngng ggọọii làlà cáccác ttổổ hhợợpp ccấấmm „ NhiNhiềềuu linhlinh kikiệệnn đđiiệệnn ttửử ssửử ddụụngng mãmã nàynày (B(Bộộ gigiảảii mãmã BCDBCD LEDLED bbảảyy đđooạạnn 7447)7447)
  27. BBảảngng mãmã BCDBCD ThThậậpp phânphân BCDBCD ThThậậpp phânphân BCDBCD 00 00000000 88 10001000 11 00010001 99 10011001 22 00100010 10101010 33 00110011 10111011 44 01000100 11001100 55 01010101 11011101 66 01100110 11101110 77 01110111 11111111
  28. MãMã BCDBCD „ ĐừĐừngng nhnhầầmm mãmã hoáhoá BCDBCD vvớớii viviệệcc chuychuyểểnn đổđổii ththậậpp phânphân sangsang nhnhịị phânphân:: VíVí ddụụ 1.9:1.9: ChoCho ssốố ththậậpp phânphân 1515 MãMã BCDBCD ccủủaa nónó làlà:: 0001010100010101 SSốố nhnhịị phânphân khôngkhông ddấấuu 88 bitbit ttươươngng ứứngng làlà:: 0000111100001111
  29. Bit,Bit, Nibble,Nibble, Byte,Byte, WordWord „ Bit: Một chữ số nhị phân 0 hoặc 1 „ Nibble: 4-bit (nửa byte) „ Byte: 8-bit (Còn gọi là Octet) „ Word (Từ): 16-bit „ Double Word (Từ kép): 32-bit 10 „ K = 2 = 1024 Kb (kilôbit) = 1024 bit = 128 byte KB (kilôbyte) = 1024 byte Kbps (Kilobit per second): Kilôbit trên giây 20 „ M = 2 = 1024 K = 1048576 Mb (Mêgabit) = 1024 Kb = 1048576 bit MB (Mêgabyte) = 1024 KB = 1048576 byte 30 „ G = 2 = 1024 M = 1048576 K Gb (Gigabit) = 1024 Mb = 1048576 Kb GB (Gigabyte) = 1024 MB = 1048576 KB „ T = ?
  30. 1.31.3 CácCác linhlinh kikiệệnn đđiiệệnn ttửử ssốố ccơơ bbảảnn „ PhânPhân chiachia linhlinh liliệệnn ssốố theotheo mmậậtt độđộ tíchtích hhợợpp:: SSI,SSI, MSI,MSI, LSI,LSI, VLSIVLSI SSI (Small Scale Integration): Vi mạch tích hợp cỡ nhỏ MSI (Medium Scale Integration): Vi mạch tích hợp cỡ trung LSI (Large Scale Integration): Vi mạch tích hợp cỡ lớn VLSI (Very Large Scale Integration):Vi mạch tích hợp cỡ cực lớn „ SSI:SSI: CácCác ccổổngng logiclogic and,and, or,or, xorxor,, notnot „ MSI:MSI: CácCác bbộộ gigiảảii mãmã,, CácCác chchốốtt,, đệđệmm „ LSI,VLSI:LSI,VLSI: CácCác bbộộ vivi xxửử lýlý,, vivi đđiiềềuu khikhiểểnn,, DSPsDSPs
  31. CCổổngng logiclogic ANDAND A AA BB AA ANDAND BB A AND B 11 11 11 B 11 00 00 Cổng AND có thể có nhiều hơn 2 đầu vào Trên một chip có thể có nhiều cổng 00 11 00 AND 00 00 00
  32. CCổổngng logiclogic AND:AND: ICIC 74087408
  33. CCổổngng logiclogic AND:AND: ICIC 74117411
  34. CCổổngng logiclogic OROR A AA BB AA OROR BB A OR B B 11 11 11 Cổng OR có thể có nhiều hơn 2 đầu vào 11 00 11 Trên một chip có thể có nhiều cổng OR 00 11 11 00 00 00
  35. CCổổngng logiclogic OR:OR: ICIC 74327432
  36. CCổổngng logiclogic XORXOR A AA BB AA XORXOR BB A XOR B B 11 11 00 Cổng XOR có thể có nhiều hơn 2 đầu vào 11 00 11 Trên một chip có thể có nhiều cổng XOR 00 11 11 00 00 00
  37. CCổổngng logiclogic NOTNOT AA NOTNOT AA 11 00 A NOT A 11 00 00 11 00 11
  38. ĐệĐệmm 33 trtrạạngng tháithái cc zz cc zz 00 HiZHiZ 11 HiZHiZ 11 xx 00 xx
  39. ChipChip gigiảảii mãmã 7413874138
  40. ChipChip gigiảảii mãmã 7413874138
  41. FlipFlip FlopFlop kikiểểuu DD
  42. FlipFlip FlopFlop kikiểểuu DD
  43. FlipFlip FlopFlop kikiểểuu DD
  44. FlipFlip FlopFlop kikiểểuu DD
  45. ChChốốtt 88 bitbit 7437374373
  46. ChChốốtt 88 bitbit 7457374573
  47. ICIC 7424474244
  48. ICIC 7424474244
  49. ĐệĐệmm 22 chichiềềuu 7424574245
  50. ĐệĐệmm 22 chichiềềuu 7424574245