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

pdf 102 trang phuongnguyen 6230
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 4 - 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_4_ho_viet_viet.pdf

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

  1. KKỹỹ thuthuậậtt ViVi xxửử lýlý ĐĐiiệệnn ttửử ViViễễnn thôngthông ĐĐạạii hhọọcc BBááchch khoakhoa ĐĐàà NNẵẵngng
  2. ChChươươngng 44 4.14.1 PhânPhân loloạạii bbộộ nhnhớớ bbáánn ddẫẫnn 4.24.2 HoHoạạtt đđộộngng ccủủaa ccáácc chipchip EPROMEPROM 4.34.3 HoHoạạtt đđộộngng ccủủaa ccáácc chipchip SRAMSRAM 4.44.4 BusBus hhệệ ththốốngng ccủủaa hhệệ vivi xxửử lýlý 80888088 4.54.5 BBààii totoáánn thithiếếtt kkếế bbộộ nhnhớớ
  3. MMụụcc tiêutiêu vvàà bibiệệnn phpháápp thithiếếtt kkếế „ GhGhéépp nnốốii ccáácc chipchip nhnhớớ EPROMEPROM vvàà SRAMSRAM vvớớii BusBus hhệệ ththốốngng saosao chocho khôngkhông xxảảyy rara xungxung đđộộtt:: CCáácc chipchip nhnhớớ bbịị ccấấmm khikhi vivi xxửử lýlý truytruy ccậậpp ccáácc ccổổngng I/OI/O ChChỉỉ ccóó mmộộtt chipchip nhnhớớ hohoạạtt đđộộngng khikhi vivi xxửử lýlý truytruy ccậậpp bbộộ nhnhớớ „ ThThựựcc hihiệệnn mmộộtt mmạạchch gigiảảii mãmã đđịịaa chchỉỉ bbộộ nhnhớớ ddùùngng ccáácc chipchip gigiảảii mãmã hohoặặcc ccáácc ccổổngng logiclogic hohoặặcc kkếếtt hhợợpp ccảả haihai
  4. 4.14.1 PhânPhân loloạạii bbộộ nhnhớớ bbáánn ddẫẫnn Bộ nhớ bán dẫn (Semiconductor memory) SAM RAM (Sequential Access Memory) (Random Access Memory) ROM (Read Only Memory) RWM (Read Write memory) PROM EPROM SRAM DRAM EEPROM Flash ROM
  5. 4.24.2 CCáácc chipchip EPROMEPROM A0 D0 A1 D1 A2 D2 A3 D3 m chân dữ liệu A4 D4 p chân địa chỉ A5 D5 A6 D6 A7 Dm-1 A8 EPROM A p-1 Điều khiển đọc OE PGM Chọnchip CE Vpp Các chân điều khiển
  6. DungDung llưượợngng ccủủaa 11 chipchip nhnhớớ „ MMộộtt chipchip nhnhớớ đưđượợcc xemxem nhnhưư mmộộtt mmảảngng ggồồmm nn ôô nhnhớớ MMỗỗii ôô nhnhớớ llưưuu trtrữữ đưđượợcc mm bitbit ddữữ liliệệuu „ DungDung llưượợngng ccủủaa chipchip ththưườờngng đưđượợcc bibiểểuu didiễễnn:: nxmnxm VVíí ddụụ:: MMộộtt chipchip ccóó dungdung llưượợngng 2Kx82Kx8 nghnghĩĩaa llàà chipchip đđóó ccóó 20482048 ôô nhnhớớ vvàà mmỗỗii ôô nhnhớớ ccóó ththểể llưưuu trtrữữ đưđượợcc 11 bytebyte ddữữ liliệệuu „ mm chchíínhnh llàà ssốố chânchân ddữữ liliệệuu ccủủaa chipchip „ loglog2(n)(n) == pp llàà ssốố chânchân đđịịaa chchỉỉ ccủủaa chipchip
  7. HoHoạạtt đđộộngng ghighi ddữữ liliệệuu vvààoo EPROMEPROM „ ViViệệcc ghighi ddữữ liliệệuu vvààoo EPROMEPROM đưđượợcc ggọọii llàà llậậpp trtrììnhnh chocho EPROMEPROM „ ĐưĐượợcc ththựựcc hihiệệnn bbằằngng thithiếếtt bbịị chuyênchuyên ddụụngng ggọọii llàà BBộộ nnạạpp EPROMEPROM „ ChânChân VppVpp đưđượợcc ccấấpp đđiiệệnn áápp ttươươngng ứứngng vvớớii ttừừngng loloạạii chipchip ggọọii llàà đđiiệệnn áápp llậậpp trtrììnhnh „ DDữữ liliệệuu ttạạii ccáácc chânchân ddữữ liliệệuu ssẽẽ đưđượợcc ghighi vvààoo mmộộtt ôô nhnhớớ xxáácc đđịịnhnh nhnhờờ ccáácc ttíínn hihiệệuu đưđưaa vvààoo ởở ccáácc chânchân đđịịaa chchỉỉ vvàà mmộộtt xungxung ((ththưườờngng ggọọii llàà xungxung llậậpp trtrììnhnh)) đưđưaa vvààoo chânchân PGMPGM
  8. HoHoạạtt đđộộngng đđọọcc ddữữ liliệệuu ttừừ mmộộtt chipchip EPROMEPROM ĐĐểể đđọọcc ddữữ liliệệuu ttừừ 11 ôô nhnhớớ nnààoo đđóó ccủủaa 11 chipchip EPROMEPROM nnààoo đđóó,, BBộộ vivi xxửử lýlý ccầầnn phphảảii:: „ Chọn chip đó: 0 > CE „ Áp các tín hiệu địa chỉ của ô nhớ cần đọc vào các chân địa chỉ Ap-1 – A0 „ Đọc: 0 > OE „ Kết quả là m bit dữ liệu cần đọc xuất hiện ở các chân dữ liệu Dm-1 – D0
  9. HHọọ EPROMEPROM thôngthông ddụụngng 27x27x SSốố hihiệệuu ccủủaa chipchip DungDung llưượợngng 27162716 2Kx82Kx8 27322732 4Kx84Kx8 27642764 8Kx88Kx8 2712827128 16Kx816Kx8 2725627256 32Kx832Kx8 2751227512 64Kx864Kx8 Bảng 4.1 Họ EPROM 27x
  10. EPROM 2716 2732 1 24 A7 Vcc 2 23 A6 A8 3 22 „ SSơơ đđồồ chânchân A5 A9 4 21 ccủủaa 27162716 A4 Vpp A11 5 20 __ __ vvàà 27322732 A3 OE OE / Vpp 6 19 A2 A10 __ 7 18 A1 CE 8 17 A0 D7 9 16 D0 D6 10 15 D1 D5 11 14 D2 D4 12 13 GND D3
  11. EPROMEPROM 27642764 Các chân địa chỉ Các chân dữ liệu Chọnchip Điều khiển đọc
  12. EPROMEPROM 27642764
  13. LLậậpp trtrììnhnh chocho 27642764 „ TrTrưướớcc hhếếtt ccầầnn phphảảii xoxoáá • Xoá một chip tức là làm cho tất cả các bit = 1 „ XoXoáá mmộộtt chipchip EPROMEPROM bbằằngng tiatia ccựựcc ttíímm „ LLậậpp trtrììnhnh bbằằngng ccááchch:: • VPP mắc ở mức 12.5V • E và P đều ở mức thấp TTL „ CCáácc bitbit ddữữ liliệệuu đưđưaa vvààoo ccáácc chânchân ddữữ liliệệuu „ CCáácc bitbit đđịịaa chchỉỉ đưđưaa vvààoo ccáácc chânchân đđịịaa chchỉỉ
  14. 4.34.3 CCáácc chipchip SRAMSRAM A0 D0 A1 D1 A2 D2 A3 D3 A4 D4 m chân dữ liệu P chân địa chỉ A5 D5 A6 D6 A7 Dm-1 A8 SRAM A p-1 Điều khiển đọc OE Chọnchip CS Điều khiển ghi WE
  15. ĐĐọọcc ddữữ liliệệuu ttừừ mmộộtt chipchip SRAMSRAM ĐĐểể đđọọcc ddữữ liliệệuu ttừừ 11 ôô nhnhớớ nnààoo đđóó ccủủaa 11 chipchip SRAMSRAM nnààoo đđóó,, vivi xxửử lýlý ccầầnn phphảảii:: „ ChChọọnn chipchip đđóó:: 00 >> CSCS „ ÁÁpp ccáácc ttíínn hihiệệuu đđịịaa chchỉỉ vvààoo AAp-1 –– AA0 „ ĐĐọọcc:: 00 >> OEOE KKếếtt ququảả llàà mm bitbit ddữữ liliệệuu ccầầnn đđọọcc xuxuấấtt hihiệệnn ởở ccáácc chânchân ddữữ liliệệuu DDm-1 –– DD0
  16. GhiGhi ddữữ liliệệuu vvààoo mmộộtt chipchip SRAMSRAM ĐĐểể ghighi mm bitbit ddữữ liliệệuu vvààoo 11 ôô nhnhớớ nnààoo đđóó ccủủaa 11 chipchip SRAMSRAM nnààoo đđóó,, vivi xxửử lýlý ccầầnn phphảảii:: „ ChChọọnn chipchip đđóó:: 00 >> CSCS „ ÁÁpp ccáácc ttíínn hihiệệuu đđịịaa chchỉỉ vvààoo AAp-1 –– AA0 „ ÁÁpp mm bitbit ddữữ liliệệuu ccầầnn ghighi vvààoo ccáácc chânchân ddữữ liliệệuu DDm-1 –– DD0 „ GhiGhi:: 00 >> WEWE KKếếtt ququảả llàà ccáácc bitbit ddữữ liliệệuu ởở ccáácc chânchân ddữữ liliệệuu ssẽẽ đưđượợcc ghighi vvààoo ôô nhnhớớ đđãã chchọọnn
  17. 4.44.4 BusBus hhệệ ththốốngng ccủủaa 80888088 „ BusBus đđịịaa chchỉỉ 2020 bit:bit: ggồồmm ccáácc đưđườờngng đđịịaa chchỉỉ đưđượợcc kýký hihiệệuu ttừừ AA19 đđếếnn AA0 „ BusBus ddữữ liliệệuu 88 bit:bit: ggồồmm ccáácc đưđườờngng ddữữ liliệệuu đưđượợcc kýký hihiệệuu ttừừ DD7 đđếếnn DD0 „ BusBus đđiiềềuu khikhiểểnn ggồồmm ccáácc đưđườờngng đđiiềềuu khikhiểểnn riêngriêng llẽẽ phphụụcc vvụụ chocho hohoạạtt đđộộngng truytruy ccậậpp bbộộ nhnhớớ vvàà ccáácc ccổổngng I/O,I/O, mmỗỗii đưđườờngng ththưườờngng đưđượợcc kýký hihiệệuu bbằằngng têntên ccủủaa ttíínn hihiệệuu đđiiềềuu khikhiểểnn „ BusBus hhệệ ththốốngng khôngkhông nnốốii trtrựựcc titiếếpp vvớớii ccáácc chânchân ccủủaa 8088:8088: thôngthông quaqua ccáácc mmạạchch đđệệmm,, chchốốtt
  18. 80x8680x86 MicroprocessorsMicroprocessors Product 8008 808 808 808 808 8028 80386 80486 Pent. Pent. 0 5 6 8 6 Pro Year Introduced 1972 1974 1976 1978 1979 1982 1985 1989 1992 1995 Technology PMOS NMO NMO NMO NMO NMOS CMOS CMOS BICMO BICMO S S S S S S Clock Rate 0.5- 2-3 3-8 5-10 5-8 10- 16-40 66 60- 150 0.8 16? 66+ Number of Pins 18 40 40 40 40 132 168 273 387 Number of 3000 4500 6500 29K 29K 130K 275K 1.2M 3M 5.5M transistors Number of 66 111 113 133 133 instructions Physical Memory 16K 64K 64K 1M 1M 16M 16M4GB 4GB 4GB 64G Virtual Memory none none none none none 1G 64T 64T 64T 64T Internal Data Bus 8 8 8 16 16 16 32 32 64 32 External Data Bus 8 8 8 16 8 16 16,32 32 64 64 Address Bus 8 16 16 20 20 24 24,32 32 32 36 Data Types 8 8 8 8,16 8,16 8,16 8,16,32 8,16,3 8,16,3 8,16,3 2 2 2
  19. 8088/80868088/8086 MicroprocessorMicroprocessor „ DIPDIP 4040 pinpin „ DataData busbus •• BusBus ddữữ liliệệuu trongtrong :16:16 bitbit •• BusBus ddữữ liliệệuu ngongoààii ccủủaa 8088:8088: 88 bitbit ddùùngng AD0AD0 AD7AD7 •• BusBus ddữữ liliệệuu ngongoààii ccủủaa 8086:168086:16 bitbit ddùùngng AD0AD0 AD15AD15 •• ALEALE (Address(Address LatchLatch Enable)Enable)
  20. 8088/80868088/8086 MicroprocessorMicroprocessor „ BusBus đđịịaa chchỉỉ •• ALEALE == 11 •• SSửử ddụụngng 74LS37374LS373 đđểể ttááchch vvàà chchốốtt đđịịaa chchỉỉ „ Đầu vào: AD0-AD7 (8088) hoặc AD0-AD15 (8086) và ALE „ Đầu ra: A0-A7 (8088) hoặc A0-A15 (8086)
  21. SSơơ đđồồ chânchân ccủủaa 80888088
  22. SSơơ đđồồ chânchân 8088/80868088/8086 (Min(Min Mode)Mode)
  23. Minimum/MaximumMinimum/Maximum ModeMode „ ẢẢnhnh hhưưởởngng đđếếnn ccáácc chânchân 2424 3131 „ MinimumMinimum ModeMode • Các chân 24-31 là các tín hiệu điều khiển I/O và bộ nhớ • Các tín hiệu điều khiển đều từ 8088/8086 • Tương tự với 8085A „ MaximumMaximum ModeMode • Một số tín hiệu điều khiển được tạo ra từ ngoài • Một số chân có thêm chức năng mới • Khi có dùng bộ đồng xử lý toán 8087
  24. SSơơ đđồồ chânchân ccủủaa 80888088 MN / MX AD0 AD1 READY AD2 CLK AD3 RESET AD4 AD5 TEST AD6 AD7 HLDA A8 HOLD A9 NMI A10 A11 A12 A13 A14 8088 A15 A16 / S3 A17 / S4 A18 / S5 A19 / S6 SSO DEN DT / R IO / M RD WR ALE INTR INTA
  25. Tín hiệu ở các chân của 8088 MN / MX AD0 AD1 READY AD2 CLK AD3 RESET AD4 Các chân Địa chỉ/Dữ liệu AD5 TEST AD6 AD7 HLDA A8 HOLD A9 NMI A10 A11 A12 Các chân địa chỉ A13 A14 8088 A15 A16 / S3 A17 / S4 Các chân Địa chỉ/Trạng thái A18 / S5 A19 / S6 SSO DEN DT / R IO / M RD WR ALE Cho phép chốt Địa chỉ INTR INTA
  26. CCáácc chânchân ĐĐịịaa chchỉỉ/D/Dữữ liliệệuu „ CCáácc chânchân ADAD7 đđếếnn ADAD0 „ KKỹỹ thuthuậậtt Multiplexing:Multiplexing: TTíínn hihiệệuu ởở ccáácc chânchân nnààyy llúúcc nnààyy llàà ttíínn hihiệệuu đđịịaa chchỉỉ,, llúúcc khkháácc llàà ttíínn hihiệệuu ddữữ liliệệuu phphụụ thuthuộộcc vvààoo ttíínn hihiệệuu đđiiềềuu khikhiểểnn ALEALE (Address(Address LatchLatch Enable):Enable): „ ALEALE == 1:1: ADAD7 đđếếnn ADAD0 == AA7 đđếếnn AA0 „ ALEALE == 0:0: ADAD7 đđếếnn ADAD0 == DD7 đđếếnn DD0
  27. CCáácc chânchân ĐĐịịaa chchỉỉ vvàà CCáácc chânchân ĐĐịịaa chchỉỉ//TrTrạạngng ththááii „ CCáácc chânchân đđịịaa chchỉỉ:: AA15 đđếếnn AA8 „ TTíínn hihiệệuu ởở ccáácc chânchân nnààyy luônluôn llàà ttíínn hihiệệuu đđịịaa chchỉỉ „ CCáácc chânchân đđịịaa chchỉỉ//trtrạạngng ththááii:: AA19/S/S6 đđếếnn AA16/S/S3:: „ ALEALE == 1:1: AA19 đđếếnn AA16 „ ALEALE == 0:0: SS6 đđếếnn SS3
  28. Processor Timing Diagram of 8088 (Minimum Mode) for Memory or I/O Read (with 74245) T1 T2 T3 T4 CLOCK __ DT/R ALE D7 - D0 D7 - D0 (from memory) from memory to 74LS245 D7 - D0 from garbage AD7 - AD0 A7 - A0 74LS245 A15 - A8 A15 - A8 A19/S6 - A16/S3 A19 - A16 S6 - S3 A19 - A0 A19 - A0 from 74LS373 from 74LS373 to memory __ IO/M if I/O ACCESS this is HIGH, if MEMORY ACCESS this is LOW ___ RD ___ DEN
  29. MôMô ttảả chânchân „ BHEBHE „ BusBus HighHigh EnableEnable „ PhânPhân bibiệệtt bytebyte ththấấpp vvàà bytebyte caocao ccủủaa mmộộtt ttừừ ((chchỉỉ vvớớii 8086)8086)
  30. MôMô ttảả chânchân „ NMINMI „ NonNon MaskableMaskable InterruptInterrupt „ ĐĐầầuu vvààoo ngngắắtt khôngkhông cheche đưđượợcc
  31. MôMô ttảả chânchân „ INTRINTR „ InterruptInterrupt RequestRequest „ ĐĐầầuu vvààoo ngngắắtt cheche đưđượợcc „ NNốốII vvớớii chipchip đđiiềềuu khikhiểểnn ngngắắtt 82598259 „ INTA:INTA: chchấấpp nhnhậậnn ngngắắtt
  32. MôMô ttảả chânchân „ CLKCLK „ ClockClock „ ĐĐầầuu vvààoo đđồồngng hhồồ „ NNốốii vvớớii chipchip 82848284
  33. MôMô ttảả chânchân „ RESET „ Kết thúc hoạt động hiện thời và huy bỏ mọi thứ „ Sau khi reset • CS=FFFFH • DS=0000H • SS=0000H • ES=0000H • IP=0000H • Các cờ bị xoá • Hàng đợI lệnh rỗng
  34. MôMô ttảả chânchân „ READYREADY „ ChChèènn thêmthêm mmộộtt trtrạạngng ththááii đđợợii (wait(wait state)state)
  35. MôMô ttảả chânchân „ TESTTEST „ ĐĐếếnn ttừừ 80878087 (B(Bộộ đđồồngng xxửử lýlý)) „ ĐĐồồngng bbộộ 80888088 vvàà 80878087
  36. MôMô ttảả chânchân „ MN/MXMN/MX „ MinimumMinimum modemode == +5V+5V „ MaximumMaximum modemode == GndGnd
  37. MôMô ttảả chânchân –– MaxMax „ QS0,QS0, QS1QS1 „ QueueQueue statusstatus „ TrTrạạngng ththááii ccủủaa hhààngng đđợợii llệệnhnh:: • 00 – No operation • 01 – first byte of opcode from queue • 10 – empty the queue • 11 – subsequent byte from queue
  38. MôMô ttảả chânchân –– MaxMax „ S0, S1, S2 „ Status Signal Pins (S2- S0) • 000 – INTA – interrupt acknowledge • 001 – IORC – read I/O port • 010 – IOWC – write I/O port • 011 – none - halt • 100 – MRDC – code access • 101 – MRDC – read memory • 110 – MWTC – write memory • 111 – none - passive
  39. MôMô ttảả chânchân –– MaxMax „ LOCKLOCK „ LocksLocks processorprocessor toto systemsystem busbus „ GainGain thethe locklock byby usingusing LOCKLOCK prefixprefix onon anan assemblyassembly instructioninstruction „ UsedUsed withwith statusstatus signalssignals toto preventprevent DMADMA fromfrom gaininggaining controlcontrol ofof thethe busesbuses
  40. MôMô ttảả chânchân –– MaxMax „ RQ/GT0,RQ/GT0, RQ/GT1RQ/GT1 „ Request/GrantRequest/Grant „ BiBi directionaldirectional „ GainGain controlcontrol ofof locallocal busbus „ RQ/GT0RQ/GT0 normallynormally permanentlypermanently highhigh (disabled)(disabled) „ RQ/GT1RQ/GT1 isis connectedconnected toto thethe 80878087
  41. MôMô ttảả chânchân –– MinMin „ INTAINTA „ InterruptInterrupt acknowledgeacknowledge „ ChChấấpp nhnhậậnn ngngắắtt
  42. MôMô ttảả chânchân –– MinMin „ ALEALE „ AddressAddress LatchLatch EnableEnable „ TTíínn hihiệệuu ởở ccáácc chânchân ĐĐịịaa chchỉỉ/D/Dữữ liliệệuu vvàà ccáácc chânchân ĐĐịịaa chchỉỉ//TrTrạạngng ththááii llúúcc ALEALE == 11 llàà ccáácc ttíínn hihiệệuu đđịịaa chchỉỉ
  43. MôMô ttảả chânchân „ AD0AD0 AD7AD7 „ CCáácc chânchân ĐĐịịaa chchỉỉ/D/Dữữ liliệệuu „ TTíínn hihiệệuu ởở ccáácc chânchân nnààyy llàà 88 bitbit đđịịaa chchỉỉ ththấấpp A0A0 đđếếnn A7A7 khikhi ALEALE =1,=1, llàà 88 bitbit ddữữ liliệệuu D0D0 đđếếnn D7D7 khikhi ALEALE == 00
  44. 74LS373 D0 Q0 D1 Q1 D2 Q2 D3 Q3 D4 Q4 D5 74LS373 Q5 D6 Q6 D7 Q7 OE LE
  45. 74LS373
  46. DDùùngng 74LS37374LS373 đđểể ttááchch vvàà chchốốtt đđịịaa chchỉỉ
  47. MôMô ttảả chânchân –– MinMin „ DENDEN „ DataData EnableEnable „ DDữữ liliệệuu ccóó nghnghĩĩaa
  48. MôMô ttảả chânchân –– MinMin „ DT/RDT/R „ ĐĐiiềềuu khikhiểểnn hhưướớngng ccủủaa ttíínn hihiệệuu ddữữ liliệệuu:: „ 1:1: TTíínn hihiệệuu ddữữ liliệệuu đđii rara ttừừ 80888088 „ 0:0: TTíínn hihiệệuu ddữữ liliệệuu đđii vvààoo 80888088
  49. MôMô ttảả chânchân –– MinMin „ IO/MIO/M „ PhânPhân bibiệệtt:: truytruy ccậậpp I/OI/O hayhay BBộộ nhnhớớ •• 1:1: 80888088 truytruy ccậậpp I/OI/O •• 0:0: 80888088 truytruy ccậậpp bbộộ nhnhớớ
  50. MôMô ttảả chânchân –– MinMin „ WRWR „ 0:0: TTíínn hihiệệuu trêntrên busbus ddữữ liliệệuu đưđượợcc ghighi vvààoo bbộộ nhnhớớ hohoặặcc I/OI/O „ GhiGhi bbộộ nhnhớớ:: ?? „ XuXuấấtt ddữữ liliệệuu rara ccổổngng:: ??
  51. MôMô ttảả chânchân –– MinMin „ HLDAHLDA „ HoldHold AcknowledgeAcknowledge „ 0:0: ChChấấpp nhnhậậnn yêuyêu ccầầuu DMADMA ởở HOLDHOLD • Báo cho Bộ điều khiển DMA được phép sử dụng bus hệ thống
  52. MôMô ttảả chânchân –– MinMin „ HOLDHOLD „ NhNhậậnn ttíínn hihiệệuu yêuyêu ccầầuu DMADMA ttừừ BBộộ đđiiềềuu khikhiểểnn DMADMA (DMAC)(DMAC) „ DMACDMAC mumuốốnn ssửử ddụụngng busbus hhệệ ththốốngng
  53. MôMô ttảả chânchân –– MinMin „ SSOSSO „ 80888088 „ DDùùngng vvớớii IO/MIO/M vvàà DT/RDT/R đđểể xxáácc đđịịnhnh trtrạạngng ththááii ccủủaa chuchu kkỳỳ busbus hihiệệnn ththờờii
  54. CCáácc ttíínn hihiệệuu đđiiềềuu khikhiểểnn „ CCóó ththểể ssửử ddụụngng ccáácc ccổổngng logiclogic đđểể ttạạoo rara ccáácc ttíínn hihiệệuu đđiiềềuu khikhiểểnn khkháácc ttừừ ccáácc ttíínn hihiệệuu đđiiềềuu khikhiểểnn ssẵẵnn ccóó •• 33 TTíínn hihiệệuu:: „ RD, WR and IO/M RD W IO/M Signal 0 1R 0 MEMR 1 0 0 MEMW 0 1 1 IOR 1 0 1 IOW 0 0 X Never happens
  55. TTạạoo rara ccáácc ttíínn hiêhiêụụ đđiiềềuu khikhiểểnn (Min(Min Mode)Mode)
  56. TTạạoo rara ccáácc ttíínn hiêhiêụụ đđiiềềuu khikhiểểnn (Min(Min Mode)Mode)
  57. 80888088 BusBus –– MinMin ModeMode
  58. 74LS24574LS245 A0 B0 A1 B1 A2 B2 A3 B3 A4 B4 A5 74LS245 B5 A6 B6 A7 B7 EDIR
  59. Bus hệ thống của hệ 8088 ở Mode Minimum A7 - A0 B7 - B0 D7 - D0 DEN E Bus dữ liệu DT / R DIR 74LS245 Bus địa chỉ AD7 - AD0 D7 - D0 Q7 - Q0 A7 - A0 A15 - A8 GND OE A19 - A16 LE 74LS373 A15 - A8 D7 - D0 Q7 - Q0 GND OE MEMORY 8088 LE 74LS373 A19/S6 - A16/ D7 - D4 Q7 - Q4 S3 D3 - D0 Q3 - Q0 GND OE ALE LE 74LS373 RD RD MEMR IO / M WR WR MEMW
  60. Minimum Mode 8088 D7 - D0 D7 - D0 A19 - A0 A19 - A0 MEMORY 8088 Minimum Bộ nhớđượcchọn khi nào? Mode MEMR RD MEMW WR
  61. Minimum Mode 8088 220 ô nhớ (1MB) D7 - D0 D7 - D0 A19 - A0 A19 - A0 MEMORY 8088 Minimum Mode MEMR RD MEMW WR CS
  62. KhôngKhông giangian đđịịaa chchỉỉ bbộộ nhnhớớ 1M1M A19A19 AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA đđếếnn 11111111 11111111 11981198 76547654 32103210 A0 A0 98769876 54325432 10100000 (HEX)(HEX) 0000000000 00000000 00000000 00000000 00000000 00000000 FFFFFFFFFF 11111111 11111111 11111111 11111111 11111111 Ví dụ: Một địachỉ bấtkỳ 34FD0h 0011 0100 11111 1101 0000
  63. Bộ nhớ đầy đủ 1MB AX 3F1C FFFFF 36 BX 0023 FFFFE 25 CX 0000 FFFFD 19 DX FCA1 : : A19 A19 : : : : CS XXXX 20023 13 A0 A0 SS XXXX 20022 7D DS 2000 20021 12 ES XXXX 20020 29 : : D7 D7 BP XXXX : : : : SP XXXX 10008 8A D0 D0 10007 F4 SI XXXX 10006 07 DI XXXX 10005 88 10004 42 MEMR RD IP XXXX 10003 39 10002 27 10001 98 10000 45 : : MEMW WR : : 00001 95 CS 00000 23
  64. NNếếuu chchỉỉ ccầầnn bbộộ nhnhớớ ccóó dungdung llưượợngng nhnhỏỏ hhơơnn 1MB1MB ththìì gigiảảii quyquyếếtt nhnhưư ththếế nnààoo?? „ PhPhụụ thuthuộộcc vvààoo ccáácc chipchip nhnhớớ ssẵẵnn ccóó „ PhPhụụ thuthuộộcc yêuyêu ccầầuu phânphân bbốố đđịịaa chchỉỉ chocho ccáácc loloạạii bbộộ nhnhớớ vvậậtt lýlý khkháácc nhaunhau „
  65. 512K512K đđầầuu tiêntiên ccủủaa khôngkhông giangian đđịịaa chchỉỉ bbộộ nhnhớớ ((CCáácc đđịịaa chchỉỉ ccóó bitbit caocao nhnhấấtt A19A19 == 0)0) A18A18 AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA đđếếnn 11111111 11111111 11981198 76547654 32103210 A0 A0 99876876 54325432 10100000 (HEX)(HEX) 0000000000 00000000 00000000 00000000 00000000 00000000 7FFFF7FFFF 00111111 11111111 11111111 11111111 11111111
  66. 512K512K titiếếpp theotheo ccủủaa khôngkhông giangian đđịịaa chchỉỉ bbộộ nhnhớớ ((CCáácc đđịịaa chchỉỉ ccóó bitbit caocao nhnhấấtt A19A19 == 1)1) A18A18 AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA đđếếnn 11111111 11111111 11981198 76547654 32103210 A0 A0 99876876 54325432 10100000 (HEX)(HEX) 8000080000 11000000 00000000 00000000 00000000 00000000 FFFFFFFFFF 11111111 11111111 11111111 11111111 11111111
  67. Bộ nhớ 512KB AX 3F1C BX 0023 Làm gì vớiA19? CX 0000 A19 DX FCA1 A18 A18 7FFFF 36 : : 7FFFE 25 CS XXXX A0 A0 7FFFD 19 SS XXXX : : DS 2000 D7 D7 : : ES XXXX : : 20023 13 D0 D0 20022 7D BP XXXX 20021 12 SP XXXX MEMR RD 20020 29 : : SI XXXX MEMW WR : : DI XXXX 00001 95 CS 00000 23 IP XXXX
  68. Điều gì xảy ra nếu 8088 đọc ô nhớ A0023h? AX 3F1C BX 0023 CX 0000 A19 DX FCA1 A18 A18 7FFFF 36 : : 7FFFE 25 CS XXXX A0 A0 7FFFD 19 SS XXXX : : DS A000 D7 D7 : : ES XXXX : : 20023 13 D0 D0 20022 7D BP XXXX 20021 12 SP XXXX MEMR RD 20020 29 : : SI XXXX MEMW WR : : DI XXXX 00001 95 CS 00000 23 IP XXXX MOV AH, [BX]
  69. Điều gì xảy ra nếu 8088 đọc ô nhớ A0023h? A19A19 AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA đđếếnn 11111111 11111111 11981198 76547654 32103210 A0 A0 99876876 54325432 10100000 (HEX)(HEX) A0023A0023 11010010 00000000 00000000 00100010 00110011 A19 không đượcnối đếnbộ nhớ nên nếu 8088 phát logic “1” trên A19 thì bộ nhớ cũng không nhậnbiết được.
  70. Điều gì xảy ra nếu 8088 đọc ô nhớ 20023h? A18A18 AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA đđếếnn 11111111 11111111 11981198 76547654 32103210 A0 A0 99876876 54325432 10100000 (HEX)(HEX) 2002320023 00010010 00000000 00000000 00100010 00110011 Với bộ nhớ tình hình không có gì khác!
  71. Nếu Bộ nhớ gồm 2 khối 512KB như thế này? AX 3F1C A19 7FFFF 36 BX 0023 A18 A18 7FFFE 25 CX 0000 : : 7FFFD 19 DX FCA1 A0 A0 : : 20023 13 D7 D7 CS XXXX 20022 7D : : SS XXXX 20021 12 D0 D0 DS 2000 20020 29 ES XXXX MEMR RD : : MEMW WR 00001 95 BP XXXX CS 00000 23 SP XXXX SI XXXX 7FFFF 12 DI XXXX A18 7FFFE 98 : 7FFFD 2C IP XXXX A0 : : 20023 33 D7 20022 45 : 20021 92 D0 20020 A3 RD : : WR 00001 D4 CS 00000 97
  72. CCóó vvấấnn đđềề !!!!!! „ VVấấnn đđềề llàà:: XungXung đđộộtt Bus.Bus. HaiHai khkhốốii nhnhớớ ssẽẽ cungcung ccấấpp ddữữ liliệệuu ccùùngng mmộộtt llúúcc khikhi 80888088 đđọọcc bbộộ nhnhớớ „ GiGiảảii phpháápp:: DDùùngng A19A19 llààmm ““ngngưườờii phânphân xxửử”” đđểể gigiảảii quyquyếếtt xungxung đđộộtt trêntrên bus.bus. NNếếuu A19A19 ởở mmứứcc logiclogic ““11”” ththìì khkhốốii nhnhớớ trêntrên hohoạạtt đđộộngng ((khkhốốii nhnhớớ ddưướớii bbịị ccấấmm)) vvàà ngngưượợcc llạạii
  73. Bộ nhớ gồm hai khối nhớ 512KB AX 3F1C A19 7FFFF 36 BX 0023 A18 A18 7FFFE 25 CX 0000 : : 7FFFD 19 DX FCA1 A0 A0 : : 20023 13 D7 D7 CS XXXX 20022 7D : : SS XXXX 20021 12 D0 D0 DS 2000 20020 29 ES XXXX MEMR RD : : MEMW WR 00001 95 BP XXXX CS 00000 23 SP XXXX SI XXXX 7FFFF 12 DI XXXX A18 7FFFE 98 : 7FFFD 2C IP XXXX A0 : : 20023 33 D7 20022 45 : 20021 92 D0 20020 A3 RD : : WR 00001 D4 CS 00000 97
  74. KhôngKhông giangian đđịịaa chchỉỉ bbộộ nhnhớớ 1M1M A19A19 AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA đđếếnn 11111111 11111111 11981198 76547654 32103210 A0 A0 98769876 54325432 10100000 (HEX)(HEX) 0000000000 00000000 00000000 00000000 00000000 00000000 7FFFF7FFFF 01110111 11111111 11111111 11111111 11111111 8000080000 10001000 00000000 00000000 00000000 00000000 FFFFFFFFFF 11111111 11111111 11111111 11111111 11111111
  75. Interfacing two 512KB Memory to the 8088 Microprocessor AX 3F1C A19 7FFFF 36 BX 0023 A18 A18 7FFFE 25 CX 0000 : : 7FFFD 19 DX FCA1 A0 A0 : : 20023 13 D7 D7 CS XXXX 20022 7D : : SS XXXX 20021 12 D0 D0 DS 2000 20020 29 ES XXXX MEMR RD : : MEMW WR 00001 95 BP XXXX When the μP outputs CS 00000 23 SP XXXX an address between SI XXXX 8000000000 to FFFFF7FFFF, 7FFFF 12 DI XXXX A18 7FFFE 98 this memory is : 7FFFD 2C IP XXXX selected A0 : : 20023 33 D7 20022 45 : 20021 92 D0 20020 A3 RD : : WR 00001 D4 CS 00000 97
  76. Interfacing two 512KB Memory to the 8088 Microprocessor AX 3F1C A19 7FFFF 36 BX 0023 A18 A18 7FFFE 25 CX 0000 : : 7FFFD 19 DX FCA1 A0 A0 : : 20023 13 D7 D7 CS XXXX 20022 7D : : SS XXXX 20021 12 D0 D0 DS 2000 20020 29 ES XXXX MEMR RD : : MEMW WR 00001 95 BP XXXX CS 00000 23 SP XXXX SI XXXX 7FFFF 12 DI XXXX A18 7FFFE 98 : 7FFFD 2C IP XXXX A0 : : 20023 33 D7 20022 45 : 20021 92 D0 20020 A3 RD : : WR 00001 D4 CS 00000 97
  77. Interfacing two 512KB Memory to the 8088 Microprocessor AX 3F1C A19 A19 7FFFF 36 BX 0023 A18 A18 A18 7FFFE 25 CX 0000 : : : 7FFFD 19 DX FCA1 A0 A0 A0 : : 20023 13 D7 D7 D7 CS XXXX 20022 7D : : : SS XXXX 20021 12 D0 D0 D0 DS 2000 20020 29 ES XXXX MEMR RD RD : : MEMW WR WR 00001 95 BP XXXX CS 00000 23 SP XXXX SI XXXX 7FFFF 12 DI XXXX A18 7FFFE 98 : 7FFFD 2C IP XXXX A0 : : 20023 33 D7 20022 45 : 20021 92 D0 20020 A3 RD : : WR 00001 D4 CS 00000 97
  78. What if we remove the lower memory? AX 3F1C A19 7FFFF 36 BX 0023 A18 A18 7FFFE 25 CX 0000 : : 7FFFD 19 DX FCA1 A0 A0 : : 20023 13 D7 D7 CS XXXX 20022 7D : : SS XXXX 20021 12 D0 D0 DS 2000 20020 29 ES XXXX MEMR RD : : MEMW WR 00001 95 BP XXXX CS 00000 23 SP XXXX SI XXXX 7FFFF 12 DI XXXX A18 7FFFE 98 : 7FFFD 2C IP XXXX A0 : : 20023 33 D7 20022 45 : 20021 92 D0 20020 A3 RD : : WR 00001 D4 CS 00000 97
  79. What if we remove the lower memory? AX 3F1C A19 7FFFF 36 BX 0023 A18 A18 7FFFE 25 CX 0000 : : 7FFFD 19 DX FCA1 A0 A0 : : 20023 13 D7 D7 CS XXXX 20022 7D : : SS XXXX 20021 12 D0 D0 DS 2000 20020 29 ES XXXX MEMR RD : : MEMW WR 00001 95 BP XXXX When the μP outputs CS 00000 23 SP XXXX an address between SI XXXX 8000000000 to FFFFF7FFFF, no DI XXXX thismemory memory chip is is IP XXXX selected !
  80. FullFull andand PartialPartial DecodingDecoding „ FullFull DecodingDecoding •• WhenWhen allall ofof thethe ““usefuluseful”” addressaddress lineslines areare connectedconnected thethe memory/devicememory/device toto performperform selectionselection „ PartialPartial DecodingDecoding •• WhenWhen somesome ofof thethe ““usefuluseful”” addressaddress lineslines areare connectedconnected thethe memory/devicememory/device toto performperform selectionselection •• UsingUsing thisthis typetype ofof decodingdecoding resultsresults intointo rollroll overover addressesaddresses
  81. Full Decoding AX 3F1C A19 7FFFF 36 BX 0023 A18 A18 7FFFE 25 CX 0000 : : 7FFFD 19 DX FCA1 A0 A0 : : 20023 13 D7 D7 CS XXXX 20022 7D : : SS XXXX 20021 12 D0 D0 DS 2000 20020 29 ES XXXX MEMR RD : : MEMW WR 00001 95 BP XXXX CS 00000 23 SP XXXX SI XXXX DI XXXX IP XXXX
  82. FullFull DecodingDecoding A19A19 AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA toto A0A0 11111111 11111111 11981198 76547654 32103210 (HEX)(HEX) 98769876 54325432 10100000 8000080000 10001000 00000000 00000000 00000000 00000000 FFFFFFFFFF 11111111 11111111 11111111 11111111 11111111 A19 should be a logic “1” for the memory chip to be enabled
  83. FullFull DecodingDecoding A19A19 AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA toto A0A0 11111111 11111111 11981198 76547654 32103210 (HEX)(HEX) 98769876 54325432 10100000 0000000000 00000000 00000000 00000000 00000000 00000000 7FFFF7FFFF 01110111 11111111 11111111 11111111 11111111 Therefore if the microprocessor outputs an address between 00000 to 7FFFF, whose A19 is a logic “0”, the memory chip will not be selected
  84. Partial Decoding AX 3F1C BX 0023 CX 0000 A19 DX FCA1 A18 A18 7FFFF 36 : : 7FFFE 25 CS XXXX A0 A0 7FFFD 19 SS XXXX : : DS 2000 D7 D7 : : ES XXXX : : 20023 13 D0 D0 20022 7D BP XXXX 20021 12 SP XXXX MEMR RD 20020 29 : : SI XXXX MEMW WR : : DI XXXX 00001 95 CS 00000 23 IP XXXX
  85. PartialPartial DecodingDecoding A19A19 AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA toto A0A0 11111111 11111111 11981198 76547654 32103210 (HEX)(HEX) 98769876 54325432 10100000 0000000000 00000000 00000000 00000000 00000000 00000000 7FFFF7FFFF 01110111 11111111 11111111 11111111 11111111 8000080000 10001000 00000000 00000000 00000000 00000000 FFFFFFFFFF 11111111 11111111 11111111 11111111 11111111 The value of A19 is INSIGNIFICANT to the memory chip, therefore A19 has no bearing whether the memory chip will be enabled or not
  86. PartialPartial DecodingDecoding A19A19 AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA toto A0A0 11111111 11111111 11981198 76547654 32103210 (HEX)(HEX) 98769876 54325432 10100000 0000000000 00000000 00000000 00000000 00000000 00000000 7FFFF7FFFF 01110111 11111111 11111111 11111111 11111111 8000080000 10001000 00000000 00000000 00000000 00000000 FFFFFFFFFF 11111111 11111111 11111111 11111111 11111111 ACTUAL ADDRESS
  87. PartialPartial DecodingDecoding A19A19 AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA toto A0A0 11111111 11111111 11981198 76547654 32103210 (HEX)(HEX) 98769876 54325432 10100000 0000000000 00000000 00000000 00000000 00000000 00000000 7FFFF7FFFF 01110111 11111111 11111111 11111111 11111111 8000080000 10001000 00000000 00000000 00000000 00000000 FFFFFFFFFF 11111111 11111111 11111111 11111111 11111111 ACTUAL ADDRESS
  88. Interfacing two 512K Memory Chips to the 8088 Microprocessor A19 A18 A18 : : A0 A0 D7 D7 512KB : : #2 D0 D0 MEMR RD MEMW WR 8088 CS Minimum Mode A18 : A0 D7 512KB : #1 D0 RD WR CS
  89. Interfacing one 512K Memory Chips to the 8088 Microprocessor A19 A18 A18 : : A0 A0 D7 D7 512KB : : D0 D0 MEMR RD MEMW WR 8088 CS Minimum Mode
  90. Interfacing one 512K Memory Chips to the 8088 Microprocessor (version 2) A19 A18 A18 : : A0 A0 D7 D7 512KB : : D0 D0 MEMR RD MEMW WR 8088 CS Minimum Mode
  91. Interfacing one 512K Memory Chips to the 8088 Microprocessor (version 3) A19 A18 A18 : : A0 A0 D7 D7 512KB : : D0 D0 MEMR RD MEMW WR 8088 CS Minimum Mode
  92. Interfacing four 256K A17 : Memory Chips to A0 Memory Chips to D7 256KB : #4 the 8088 Microprocessor D0 RD WR A19 CS A18 A17 A17 : : A0 A0 D7 D7 256KB : : D0 D0 #3 MEMR RD MEMW WR 8088 CS Minimum Mode A17 : A0 D7 256KB : D0 #2 RD WR CS A17 : A0 D7 256KB : D0 #1 RD WR CS
  93. Interfacing four 256K A17 : Memory Chips to A0 Memory Chips to D7 256KB : #4 the 8088 Microprocessor D0 RD WR A19 CS A18 A17 A17 : : A0 A0 D7 D7 256KB : : D0 D0 #3 MEMR RD MEMW WR 8088 CS Minimum Mode A17 : A0 D7 256KB : D0 #2 RD WR CS A17 : A0 D7 256KB : D0 #1 RD WR CS
  94. MemoryMemory chip#__chip#__ isis mappedmapped to:to: A19A19 AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA toto A0A0 11111111 11111111 11981198 76547654 32103210 (HEX)(HEX) 98769876 54325432 10100000
  95. Interfacing four 256K A17 : Memory Chips to A0 Memory Chips to D7 256KB : #4 the 8088 Microprocessor D0 RD WR A19 CS A18 A17 A17 : : A0 A0 D7 D7 256KB : : D0 D0 #3 MEMR RD MEMW WR 8088 CS Minimum Mode A17 : A0 D7 256KB : D0 #2 RD WR CS A17 : A0 D7 256KB : D0 #1 RD WR CS
  96. Interfacing four 256K A17 : Memory Chips to A0 Memory Chips to D7 256KB : #4 the 8088 Microprocessor D0 RD WR A19 CS A18 A17 A17 : : A0 A0 D7 D7 256KB : : D0 D0 #3 MEMR RD MEMW WR 8088 CS Minimum Mode A17 : A0 D7 256KB : D0 #2 RD WR CS A17 : A0 D7 256KB : D0 #1 RD WR CS
  97. Interfacing four 256K A17 : Memory Chips to A0 Memory Chips to D7 256KB : #4 the 8088 Microprocessor D0 RD WR A19 I1 O3 CS A18 I0 A17 A17 : : A0 A0 D7 D7 256KB : : D0 D0 #3 MEMR RD MEMW WR 8088 O2 CS Minimum Mode A17 : A0 D7 256KB : D0 #2 RD WR O1 CS A17 : A0 D7 256KB : D0 #1 RD WR O0 CS
  98. A12 : Interfacing several A0 A19 D7 8KB A18 : #? 8K Memory Chips A17 D0 A16 RD A15 WR to the 8088 μP A14 CS A13 A12 : A0 D7 : : D0 MEMR 8088 MEMW : Minimum Mode A12 : A0 D7 8KB : D0 #2 RD WR CS A12 : A0 D7 8KB : D0 #1 RD WR CS
  99. A12 : Interfacing 128 A0 A19 D7 8KB A18 : #128 8K Memory Chips A17 D0 A16 RD A15 WR to the 8088 μP A14 CS A13 A12 : A0 D7 : : D0 MEMR 8088 MEMW : Minimum Mode A12 : A0 D7 8KB : D0 #2 RD WR CS A12 : A0 D7 8KB : D0 #1 RD WR CS
  100. A12 : Interfacing 128 A0 A19 D7 8KB A18 : #128 8K Memory Chips A17 D0 A16 RD to the 8088 μP A15 WR A14 CS A13 A12 : A0 D7 : : D0 MEMR 8088 MEMW : Minimum Mode A12 : A0 D7 8KB : D0 #2 RD WR CS A12 : A0 D7 8KB : D0 #1 RD WR CS
  101. MemoryMemory chip#__chip#__ isis mappedmapped to:to: A19A19 AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA AAAAAAAA toto A0A0 11111111 11111111 11981198 76547654 32103210 (HEX)(HEX) 98769876 54325432 10100000
  102. A12 : Interfacing 128 A0 A19 D7 8KB A18 : #128 8K Memory Chips A17 D0 A16 RD to the 8088 μP A15 WR A14 CS A13 A12 : A0 D7 : : D0 MEMR 8088 MEMW : Minimum Mode A12 : A0 D7 8KB : D0 #2 RD WR CS A12 : A0 D7 8KB : D0 #1 RD WR CS