Bài giảng Kĩ thuật Vi xử lí
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kĩ thuật Vi xử lí", để 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:
- bai_giang_ki_thuat_vi_xu_li.pdf
Nội dung text: Bài giảng Kĩ thuật Vi xử lí
- 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 CNTTCNTT ĐĐ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
- ChChươươngng 11 CácCác hhệệ ththốốngng ssốố,, mãmã hoáhoá,, linhlinh kikiệệnn ssốố ccơơ bbảảnn 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ã, Các IC chốt, đêm
- 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
- 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))
- 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
- 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
- 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 ??
- 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
- 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)
- 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
- 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
- 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 ??
- 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
- 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)
- 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)
- 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
- 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
- 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
- MMỗỗii kýký hihiệệuu ttươươngng ứứngng vvớớii 44 bitbit HHeexxaa BBiinnaarryy HHeexxaa BBiinnaarryy 00 00000000 88 11000000 11 00000011 99 11000011 22 00001100 AA 11001100 33 00001111 BB 11001111 44 00110000 CC 11110000 55 00110011 DD 11110011 66 00111100 EE 11111100 77 00111111 FF 11111111
- 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
- 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
- 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
- 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)
- Bảng mã ASCII
- Bảng mã ASCII
- 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)
- 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
- 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
- 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 = ?
- 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
- CCổổngng logiclogic ANDAND A AA BB AA AANNDD 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
- CCổổngng logiclogic AND:AND: ICIC 74087408
- CCổổngng logiclogic AND:AND: ICIC 74117411
- CCổổngng logiclogic OROR A AA BB AA OORR 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
- CCổổngng logiclogic OR:OR: ICIC 74327432
- CCổổngng logiclogic XORXOR A AA BB AA XXOORR 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
- CCổổngng logiclogic NOTNOT AA NNOOTT AA 11 00 A NOT A 11 00 00 11 00 11
- ĐệĐệmm 33 trtrạạngng tháithái cc zz cc zz 00 HHiiZZ 11 HHiiZZ 11 xx 00 xx
- ChipChip gigiảảii mãmã 7413874138
- ChipChip gigiảảii mãmã 7413874138
- FlipFlip FlopFlop kikiểểuu DD
- FlipFlip FlopFlop kikiểểuu DD
- FlipFlip FlopFlop kikiểểuu DD
- FlipFlip FlopFlop kikiểểuu DD
- ChChốốtt 88 bitbit 7437374373
- ChChốốtt 88 bitbit 7457374573
- ICIC 7424474244
- ICIC 7424474244
- ĐệĐệmm 22 chichiềềuu 7424574245
- ĐệĐệmm 22 chichiềềuu 7424574245
- 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 CNTTCNTT ĐĐ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
- ChChươươngng 22 ViVi xxửử lýlý vàvà HHệệ ththốốngng vivi xxửử lýlý 2.12.1 BBộộ vivi xxửử lýlý - Bộ vi xử lý (Microprocessor) là gì? - Các thành phần của bộ vi xử lý - Ứng dụng của bộ vi xử lý 2.22.2 CácCác hhọọ vivi xxửử lýlý - Họ x86 của Intel- Luật Moore - Họ 68x của Motorola 2.32.3 HHệệ ththốốngng vivi xxửử lýlý - Bộ nhớ - Các cổng I/O - Bus hệ thống: D-Bus, A-Bus, C-Bus - Thiết kế hệ thống vi xử lý?
- 2.12.1 BBộộ vivi xxửử lýlý MMộộtt bbộộ vivi xxửử lýlý làlà mmộộtt mmạạchch tíchtích hhợợpp chchứứaa hànghàng ngànngàn,, ththậậmm chíchí hànghàng tritriệệuu transistortransistor (LSI,(LSI, VLSI)VLSI) đượđượcc kkếếtt nnốốii vvớớii nhaunhau CácCác transistortransistor ấấyy cùngcùng nhaunhau làmlàm viviệệcc đểđể llưưuu trtrữữ vàvà xxửử lýlý ddữữ liliệệuu chocho phépphép bbộộ vivi xxửử lýlý cócó ththểể ththựựcc hihiệệnn rrấấtt nhinhiềềuu chchứứcc nnăăngng hhữữuu íchích ChChứứcc nnăăngng ccụụ ththểể ccủủaa mmộộtt bbộộ vivi xxửử lýlý đượđượcc xácxác địđịnhnh bbằằngng phphầầnn mmềềmm ((cócó ththểể llậậpp trìnhtrình đđưượợcc))
- BBộộ vivi xxửử lýlý Bộ vi xử lý đầu tiên của Intel,4004, được giới thiệu vào năm 1971. 4004 chứa 2300 transistor. Bộ vi xử lý Pentium 4 hiện nay chứa 55 triệu transistor. Bộ vi xử lý thường được sử dụng trong các máy vi tính (microcomputer) với vai trò là CPU. Ngoài ra, chúng còn có mặt ở nhiều thiết bị khác.
- CácCác thànhthành phphầầnn ccủủaa bbộộ vivi xxửử lýlý
- ALUALU vàvà ControlControl UnitUnit ALU Thựchiện các phép toán logic (AND, OR, XOR, NOT) và các phép toán số học(cộng, trừ, nhân, chia) Thực hiện việc chuyển dữ liệu Việc thực hiện lệnh thực sự diễn ra ở ALU Control Unit Có trách nhiệm liên quan đến việc tìm và thực hiện các lệnh bằng cách cung cấp các tín hiệu điều khiển và định thời cho ALU và các mạch khác biết phải làm gì và làm khi nào.
- CácCác thanhthanh ghighi (Registers)(Registers) Thanh ghi là nơimàbộ vi xử lý có thể lưutrữđược mộtsố nhị phân (Kích cỡ của thanh ghi tính bằng bit) Bộ vi xử lý dùng các thanh ghi để lưu trữ dữ liệu tạm thời trong quá trình thực hiện chương trình Các thanh ghi có thể được truy cập bằng các câu lệnh ngôn ngữ máy thường được gọi là các thanh ghi người sử dụng có thể nhìn thấy được (có thể truy cập được) Các thanh ghi điều khiển và các thanh ghi trạng thái được CU dùng để điều khiển việc thực hiện chương trình. Đa số các thanh ghi này người sử dụng không thể nhìn thấy được
- 2.22.2 CCácác hhọọ vivi xxửử lýlý HiHiệệnn nay,nay, cócó rrấấtt nhinhiềềuu nhànhà ssảảnn xuxuấấtt rara cáccác chipchip vivi xxửử lýlý:Intel,:Intel, AMD,AMD, Motorola,Motorola, CyrixCyrix ThôngThông ththườườngng,, mmộộtt hhọọ vivi xxửử lýlý làlà cáccác chipchip vivi xxửử lýlý đượđượcc ssảảnn xuxuấấtt bbởởii mmộộtt nhànhà ssảảnn xuxuấấtt nàonào đđóó TrongTrong phphạạmm vivi mmộộtt hhọọ vivi xxửử lýlý,, theotheo ththờờii giangian vàvà theotheo côngcông nghnghệệ chchếế ttạạoo cócó cáccác đờđờii ((ththếế hhệệ)) vivi xxửử lýlý kháckhác nhaunhau phânphân bibiệệtt theotheo ĐộĐộ dàidài TTừừ ccủủaa chúngchúng (bit)(bit) vàvà ttốốcc độđộ (Hz).(Hz). ĐộĐộ dàidài TTừừ (Word(Word Length)Length) ccủủaa mmộộtt chipchip vivi xxửử lýlý làlà kíchkích ccỡỡ ttốốii đđaa ccủủaa cáccác toántoán hhạạngng nhnhịị phânphân màmà nónó cócó ththểể ththựựcc hihiệệnn cáccác phépphép toántoán trêntrên đđóó
- TTốốcc độđộ ccủủaa hhọọ vivi xxửử lýlý x86x86 ccủủaa IntelIntel The Continuing Evolution of Intel Microprocessors CIS105 December 2002 1600 1,400 1400 1200 ) 1000 Z H M 800 Speed ( 600 550 400 400 400 333 200 200 233 200 100 33 0.74 2 8 12 0 1971 1974 1979 1982 1985 1989 1993 1995 1997 1998 1998 1999 1999 2000 Year
- HHọọ vivi xxửử lýlý x86x86 ccủủaa IntelIntel Model Năm sản xuất Số lượng Transistor 4004 1971 2,300 8008 1972 2,500 8080 1974 5,000 8086 1978 29,000 80286 1982 120,000 80386™ processor 1985 275,000 80486™ DX processor 1989 1,180,000 Pentium® processor 1993 3,100,000 Pentium II processor 1997 7,500,000 Pentium III processor 1999 24,000,000 Pentium 4 processor 2000 55,000,000
- HHọọ vivi xxửử lýlý x86x86 ccủủaa IntelIntel 70’s70’s 4004 8008 8080 8086 Introduced 11/15/71 4/1/72 4/1/74 6/8/78 Clock Speeds 108KHz 200KHz 2MHz 5MHz, 8MHz, 10MHz Bus Width 4 bits 8 bits 8 bits 16 bits Number of 2,300 3,500 6,000 29,000 Transistors (10 microns) (10 microns) (6 microns) (3 microns) Addressable Memory 640 bytes 16 KBytes 64 KBytes 1 MB Virtual Memory Brief Description First microcomputer Data/character 10X the performance 10X the performance chip, Arithmetic manipulation of the 8008 of the 8080 manipulation
- HHọọ vivi xxửử lýlý x86x86 ccủủaa IntelIntel 80’s80’s Intel486TM Intel386TM DX Intel386TM SX DX CPU 80286 Microprocessor Microprocessor Microprocessor Introduced 2/1/82 10/17/85 6/16/88 4/10/89 Clock Speeds 6MHz, 8MHz, 10MHz, 16MHz, 20MHz, 16MHz, 20MHz, 25MHz, 33MHz, 12.5MHz 25MHz, 33MHz 25MHz, 33MHz 50MHz Bus Width 16 bits 32 bits 16 bits 32 bits Number of 134,000 275,000 275,000 1.2 million Transistors (1.5 microns) (1 micron) (1 micron) (1 micron) (.8 mic ron with 50MHz) Addressable Memory 16 megabytes 4 gigabytes 16 megabytes 4 gigabytes Virtual Memory 1 gigabyte 64 terabytes 64 terabytes 64 terabytes Brief Description 3-6X the performance First X 86 chip to 16-bit address bus Level 1 cache on chip of the 8086 handle 32-bit data sets enabled low-c ost 32-bit processing
- HHọọ vivi xxửử lýlý x86x86 ccủủaa IntelIntel 90’s90’s Intel486TM SX Pentium® Pentium® Pro Pentium® II Microprocessor Processor Processor Processor Introduced 4/22/91 3/22/93 11/01/95 5/07/97 Clock Speeds 16MHz, 20MHz, 60MHz,66MHz 150MHz, 166MHz, 200MHz, 233MHz, 25MHz, 33MHz 180MHz, 200MHz 266MHz, 300MHz Bus Width 32 bits 64 bits 64 bits 64 bits Number of 1.185 million 3.1 million 5.5 million 7.5 million Transistors (1 micron) (.8 micron) (0.35 micron) (0.35 micron) Addressable Memory 4 gigabytes 4 gigabytes 64 gigabytes 64 gigabytes Virtual Memory 64 terabytes 64 terabytes 64 terabytes 64 terabytes Brief Description Identical in design to Superscalar Dynamic execution Dual independent bus, Intel486TM DX but architecture brought architecture drives dynamic execution, without math 5X the performance of high-performing Intel MMXTM coprocessor the 33-MHz Intel486TM processor technology DX processor
- 2.32.3 HHệệ ththốốngng vivi xxửử lýlý
- LuLuậậtt MooreMoore Dr. Gordon E. Moore, Chairman Emeritus of Intel Corporation, dự đoán rằng Cứ một năm rưỡi thì số lượng transistor được tích hợp trên chip vi xử lý tăng gấp đôi
- 2.32.3 HHệệ ththốốngng vivi xxửử lýlý Address Bus MEMORY I/O Ports Microprocessor Data Bus Control Lines (Control Bus) Sơ đồ khối chức năng của một hệ thống vi xử lý
- HHệệ ththốốngng vivi xxửử lýlý GGồồmm 33 khkhốốii chchứứcc nnăăngng:: ViVi xxửử lýlý,, BBộộ nhnhớớ,, CácCác ccổổngng I/OI/O BBộộ nhnhớớ đượđượcc ththựựcc hihiệệnn bbằằngng cáccác chipchip nhnhớớ bánbán ddẫẫnn ROMROM hohoặặcc RWM,RWM, làlà nnơơii llưưuu trtrữữ chchươươngng trìnhtrình vàvà ddữữ liliệệuu ĐốĐốii vvớớii vivi xxửử lýlý,, bbộộ nhnhớớ làlà mmộộtt ttậậpp hhợợpp cáccác ôô nhnhớớ phânphân bibiệệtt theotheo địđịaa chchỉỉ ccủủaa chúngchúng CácCác ccổổngng I/OI/O đượđượcc ththựựcc hihiệệnn bbằằngng cáccác chipchip MSIMSI hohoặặcc LSI,LSI, làlà phphầầnn mmạạchch giaogiao titiếếpp gigiữữaa vivi xxửử lýlý vvớớii cáccác thithiếếtt bbịị I/O.I/O. BBộộ vivi xxửử lýlý ccũũngng phânphân bibiệệtt cáccác ccổổngng I/OI/O theotheo địđịaa chchỉỉ ccủủaa chúngchúng
- HHệệ ththốốngng vivi xxửử lýlý 33 khkhốốii chchứứcc nnăăngng:: ViVi xxửử lýlý,, BBộộ nhnhớớ,, CácCác ccổổngng I/OI/O ccủủaa mmộộtt hhệệ ththốốngng vivi xxửử lýlý traotrao đổđổii tíntín hihiệệuu vvớớii nhaunhau thôngthông quaqua BusBus hhệệ ththốốngng BusBus hhệệ ththốốngng làlà mmộộtt ttậậpp hhợợpp cáccác đườđườngng truytruyềềnn ddẫẫnn dùngdùng chungchung,, baobao ggồồmm:: BusBus địđịaa chchỉỉ (A(A Bus),Bus), BusBus ddữữ liliệệuu (D(D Bus)Bus) vàvà BusBus đđiiềềuu khikhiểểnn (C(C Bus)Bus) CácCác tíntín hihiệệuu địđịaa chchỉỉ didi chuychuyểểnn trêntrên AA BusBus theotheo hhướướngng ttừừ vivi xxửử lýlý đếđếnn BBộộ nhnhớớ vàvà cáccác ccổổngng I/O.I/O. SSốố llượượngng đườđườngng truytruyềềnn ddẫẫnn ccủủaa AA BusBus ((ggọọii làlà ĐộĐộ rrộộngng ccủủaa AA Bus)Bus) tínhtính bbằằngng bit,bit, phphảảnn ánhánh khkhảả nnăăngng ququảảnn lýlý bbộộ nhnhớớ ccủủaa chipchip vivi xxửử lýlý
- HHệệ ththốốngng vivi xxửử lýlý CácCác tíntín hihiệệuu ddữữ liliệệuu didi chuychuyểểnn trêntrên DD BusBus theotheo ccảả 22 hhướướngng ttừừ vivi xxửử lýlý đếđếnn BBộộ nhnhớớ vàvà cáccác ccổổngng I/OI/O vàvà ngngượượcc llạạii ((mmỗỗii lúclúc mmộộtt hhướướngng).). SSốố llượượngng đườđườngng truytruyềềnn ddẫẫnn ccủủaa DD BusBus ((ggọọii làlà ĐộĐộ rrộộngng ccủủaa DD Bus)Bus) tínhtính bbằằngng bit,bit, phphảảnn ánhánh mmộộtt phphầầnn ttốốcc độđộ traotrao đổđổii ddữữ liliệệuu ccủủaa chipchip vivi xxửử lýlý vvớớII cáccác khkhốốii chchứứcc nnăăngng kháckhác ĐĐaa ssốố cáccác tíntín hihiệệuu trêntrên CC BusBus làlà cáccác tíntín hihiệệuu đđiiềềuu khikhiểểnn riêngriêng llẽẽ,, cócó tíntín hihiệệuu xuxuấấtt phátphát ttừừ vivi xxửử lýlý,, cócó tíntín hihiệệuu đđii vàovào vivi xxửử lýlý ViVi xxửử lýlý ssửử ddụụngng cáccác tíntín hihiệệuu nàynày đểđể đđiiềềuu khikhiểểnn hohoạạtt độđộngng vàvà nhnhậậnn bibiếếtt trtrạạngng tháithái ccủủaa cáccác khkhốốii chchứứcc nnăăngng kháckhác
- ThiThiếếtt kkếế phphầầnn ccứứngng ccủủaa hhệệ ththốốngng vivi xxửử lýlý ThiThiếếtt kkếế bbộộ nhnhớớ chocho hhệệ ththốốngng vivi xxửử lýlý:: GhépGhép nnốốii cáccác chipchip nhnhớớ bánbán ddẫẫnn ssẵẵnn cócó vvớớii busbus hhệệ ththốốngng saosao chocho khikhi bbộộ vivi xxửử lýlý truytruy ccậậpp bbộộ nhnhớớ thìthì khôngkhông xxảảyy rara xungxung độđộtt gigiữữaa cáccác chipchip nhnhớớ vvớớii nhaunhau vàvà khôngkhông xungxung độđộtt vvớớii cáccác chipchip dùngdùng làmlàm ccổổngng I/OI/O TTươươngng ttựự,, ThiThiếếtt kkếế cáccác ccổổngng I/OI/O chocho hhệệ ththốốngng vivi xxửử lýlý:: GhépGhép nnốốii cáccác chipchip MSIMSI hohoặặcc LSILSI ththườườngng dùngdùng làmlàm ccổổngng I/OI/O vvớớii busbus hhệệ ththốốngng saosao chocho khikhi bbộộ vivi xxửử lýlý truytruy ccậậpp cáccác thithiếếtt bbịị I/OI/O thìthì khôngkhông xxảảyy rara xungxung độđộtt gigiữữaa cáccác chipchip đđóó vvớớii nhaunhau vàvà khôngkhông xungxung độđộtt vvớớii cáccác chipchip dùngdùng làmlàm bbộộ nhnhớớ
- ThiThiếếtt kkếế phphầầnn mmềềmm ccủủaa hhệệ ththốốngng vivi xxửử lýlý ViViếếtt chchươươngng trìnhtrình đđiiềềuu khikhiểểnn hohoạạtt độđộngng ccủủaa hhệệ ththốốngng phphầầnn ccứứngng theotheo chchứứcc nnăăngng mongmong mumuốốnn ((ththườườngng dùngdùng ngônngôn ngngữữ AssemblyAssembly ccủủaa chipchip vivi xxửử lýlý dùngdùng trongtrong hhệệ ththốốngng)) DDịịchch chchươươngng trìnhtrình đđãã viviếếtt sangsang ngônngôn ngngữữ máymáy ssửử ddụụngng cáccác chchươươngng trìnhtrình ddịịchch thíchthích hhợợpp NNạạpp chchươươngng trìnhtrình ngônngôn ngngữữ máymáy vàovào bbộộ nhnhớớ ccủủaa hhệệ ththốốngng vivi xxửử lýlý KiKiểểmm tratra hohoạạtt độđộngng ccủủaa hhệệ ththốốngng vàvà ththựựcc hihiệệnn cáccác hihiệệuu chchỉỉnhnh nnếếuu ccầầnn thithiếếtt CóCó ththểể nhnhờờ ssựự trtrợợ giúpgiúp ccủủaa cáccác chchươươngng trìnhtrình mômô phphỏỏngng trêntrên máymáy tínhtính
- Bay gi ng K thu t Vi x lý Ngành i n t -Vi n thông i h c Bách khoa à N ng c a H Vi t Vi t, Khoa - TVT Tài li u tham kh o [1] K thu t vi x lý, V n Th Minh, NXB Giáo d c, 1997 [2] K thu t vi x lý và L p trình Assembly cho h vi x lý, Xuân Ti n, NXB Khoa h c & k thu t, 2001
- Chương 3 Vi x lý 8088-Intel 3.1 Ki n trúc và ho t ng c a 8088 - Nguyên lý ho t ng - kh i ch c n ng 3.2 C u trúc thanh ghi c a 8088 3.3 Ph ư ng pháp qu n lý b nh 3.4 Mô t t p l nh Assembly
- Nguyên lý ho t ng c a m t b vi x lý L y - Gi i mã - Th c hi n l nh Tìm và copy các byte l nh t b nh T o ra các tín hi u i u khi n Gi i mã l nh th c hi n l nh
- Chu k l nh và Chu k máy • Chu k l nh: T ng th i gian tìm l nh, gi i mã l nh và th c hi n 1 l nh • Nói chung, Chu k l nh c a các l nh khác nhau là khác nhau • Chu k l nh bao gi c ng b ng m t s nguyên l n chu k máy • Chu k máy b ng ngh ch o c a t n s ho t ng (t c ng h ) c a b vi x lý
- 3.1 Ki n trúc và Ho t ng c a 8088