Bài giảng Kỹ thuật vi xử lý - Chương 4: Bộ nhớ bán dẫn
Tóm tắt Bài giảng Kỹ thuật vi xử lý - Chương 4: Bộ nhớ bán dẫn: ...n hiệu địa chỉ Các chân địa chỉ/trạng thái: A19/S6 đến A16/S3: ALE = 1: A19 đến A16 ALE = 0: S6 đến S3 Processor Timing Diagram of 8088 (Minimum Mode) for Memory or I/O Read (with 74245) ALE T1 CLOCK T2 T3 T4 AD7 - AD0 A15 - A8 A19/S6 - A16/S3 DT/R __ IO/M __ ____ RD DEN ...u 8088 đọc ô nhớ 20023h? 0011001000000000001020023 AAAA 3210 AAAA 7654 AAAA 1198 1000 AAAA 1111 5432 AAAA 1111 9876 A18 đến A0 (HEX) Với bộ nhớ tình hình không có gì khác! Nếu Bộ nhớ gồm 2 khối 512KB như thế này? A18 A0 : D7 D0 : MEMR MEMW XXXX BP ES DS SS CX BX ... 7D 13 19 25 36 : : : A18 A0 : D7 D0 : RD WR CS Giải mã đầy đủ 0000000000000000100080000 11111111111111111111FFFFF AAAA 3210 AAAA 7654 AAAA 1198 1000 AAAA 1111 5432 AAAA 1111 9876 A19 đến A0 (HEX) A19 phải ở mức “1” thì chip nhớ mới hoạt động (được chọn) Giả...
1G 16M 130K 10- 16? NMOS 1982 8028 6 8,16 20 8 16 none 1M 133 29K 40 5-8 NMO S 1979 808 8 8,16,32 24,32 16,32 32 64T 16M4GB 275K 132 16-40 CMOS 1985 80386 8,16,3 2 32 32 32 64T 4GB 1.2M 168 66 CMOS 1989 80486 8,16,3 2 8,16888Data Types 362016168Address Bus 6416888External Data Bus 3216888Internal Data Bus 64TnonenonenonenoneVirtual Memory 64G1M64K64K16KPhysical Memory 13311311166Number of instructions 5.5M29K650045003000Number of transistors 38740404018Number of Pins 1505-103-82-30.5- 0.8 Clock Rate BICMO S NMO S NMO S NMO S PMOSTechnology 19951978197619741972Year Introduced Pent. Pro 808 6 808 5 808 0 8008Product 8088/8086 Microprocessor DIP 40 pin Data bus • Bus dữ liệu trong :16 bit • Bus dữ liệu ngoài của 8088: 8 bit dùng AD0-AD7 • Bus dữ liệu ngoài của 8086:16 bit dùng AD0-AD15 • ALE (Address Latch Enable) 8088/8086 Microprocessor Bus địa chỉ • ALE = 1 • Sử dụng 74LS373 để tách và chốt địa chỉ Đầu vào: AD0-AD7 (8088) hoặc AD0-AD15 (8086) và ALE Đầu ra: A0-A7 (8088) hoặc A0-A15 (8086) Sơ đồ chân của 8088 Sơ đồ chân 8088/8086 (Min Mode) Minimum/Maximum Mode Ảnh hưởng đến các chân 24-31 Minimum Mode • 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 Maximum Mode • 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 Sơ đồ chân của 8088 8088 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 A8 A9 A10 A11 A12 A13 A14 A15 A16 / S3 A17 / S4 A18 / S5 A19 / S6 SSO DEN DT / R IO / M RD WR ALE INTA MN / MX READY CLK RESET TEST HLDA HOLD NMI INTR Tín hiệu ở các chân của 8088 8088 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 A8 A9 A10 A11 A12 A13 A14 A15 A16 / S3 A17 / S4 A18 / S5 A19 / S6 SSO DEN DT / R IO / M RD WR ALE INTA MN / MX READY CLK RESET TEST HLDA HOLD NMI INTR Các chân Địa chỉ/Dữ liệu Cho phép chốt Địa chỉ Các chân địa chỉ Các chân Địa chỉ/Trạng thái Các chân Địa chỉ/Dữ liệu Các chân AD7 đến AD0 Kỹ thuật Multiplexing: Tín hiệu ở các chân này lúc này là tín hiệu địa chỉ, lúc khác là tín hiệu dữ liệu phụ thuộc vào tín hiệu điều khiển ALE (Address Latch Enable): ALE = 1: AD7 đến AD0 = A7 đến A0 ALE = 0: AD7 đến AD0 = D7 đến D0 Các chân Địa chỉ và Các chân Địa chỉ/Trạng thái Các chân địa chỉ: A15 đến A8 Tín hiệu ở các chân này luôn là tín hiệu địa chỉ Các chân địa chỉ/trạng thái: A19/S6 đến A16/S3: ALE = 1: A19 đến A16 ALE = 0: S6 đến S3 Processor Timing Diagram of 8088 (Minimum Mode) for Memory or I/O Read (with 74245) ALE T1 CLOCK T2 T3 T4 AD7 - AD0 A15 - A8 A19/S6 - A16/S3 DT/R __ IO/M __ ____ RD DEN ______ A19 - A0 from 74LS373 to memory S6 - S3A19 - A16 A19 - A0 from 74LS373 if I/O ACCESS this is HIGH, if MEMORY ACCESS this is LOW D7 - D0 from memory to 74LS245 D7 - D0 (from memory) D7 - D0 from 74LS245garbageA7 - A0 A15 - A8 74LS373 74LS373 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 D0 D1 D2 D3 D4 D5 D6 D7 OE LE 74LS373 Dùng 74LS373 để tách và chốt địa chỉ Mô tả chân – Min DEN Data Enable Dữ liệu có nghĩa Mô tả chân – Min DT/R Điều khiển hướng của tín hiệu dữ liệu: 1: Tín hiệu dữ liệu đi ra từ 8088 0: Tín hiệu dữ liệu đi vào 8088 Mô tả chân – Min IO/M Phân biệt: truy cập I/O hay Bộ nhớ • 1: 8088 truy cập I/O • 0: 8088 truy cập bộ nhớ Mô tả chân – Min WR 0: Tín hiệu trên bus dữ liệu được ghi vào bộ nhớ hoặc I/O Ghi bộ nhớ: ? Xuất dữ liệu ra cổng: ? Mô tả chân – Min HLDA Hold Acknowledge 0: Chấp nhận yêu cầu DMA ở HOLD • Báo cho Bộ điều khiển DMA được phép sử dụng bus hệ thống Mô tả chân – Min HOLD Nhận tín hiệu yêu cầu DMA từ Bộ điều khiển DMA (DMAC) DMAC muốn sử dụng bus hệ thống Mô tả chân – Min SSO 8088 Dùng với IO/M và DT/R để xác định trạng thái của chu kỳ bus hiện thời Các tín hiệu điều khiển Có thể sử dụng các cổng logic để tạo ra các tín hiệu điều khiển khác từ các tín hiệu điều khiển sẵn có • 3 Tín hiệu: RD, WR and IO/M Never happens X00 IOW101 IOR110 MEMW001 MEMR010 SignalIO/MW R RD Tạo ra các tín hiêụ điều khiển (Min Mode) Tạo ra các tín hiêụ điều khiển (Min Mode) 8088 Bus – Min Mode 74LS245 74LS245 B0 B1 B2 B3 B4 B5 B6 B7 A0 A1 A2 A3 A4 A5 A6 A7 E DIR Bus hệ thống của hệ 8088 ở Mode Minimum MEMORY D7 - D0 Q7 - Q0 OE LE 74LS373 D7 - D0 Q7 - Q0 OE LE 74LS3738088 AD7 - AD0 A15 - A8 A19/S6 - A16/ S3 DEN DT / R IO / M RD WR ALE D7 - D4 Q7 - Q4 OE LE 74LS373 D3 - D0 Q3 - Q0 GND GND GND D7 - D0A7 - A0 B7 - B0 E DIR 74LS245 A7 - A0 A15 - A8 A19 - A16 RD WR MEMR MEMW Bus địa chỉ Bus dữ liệu Minimum Mode 8088 MEMORY D7 - D0 A19 - A0 RD WR 8088 Minimum Mode D7 - D0 A19 - A0 MEMR MEMW Bộ nhớ được chọn khi nào? Minimum Mode 8088 MEMORY D7 - D0 A19 - A0 RD WR 8088 Minimum Mode D7 - D0 A19 - A0 MEMR MEMW CS 220 ô nhớ (1MB) Không gian địa chỉ bộ nhớ 1M 0000000000000000000000000 11111111111111111111FFFFF AAAA 3210 AAAA 7654 AAAA 1198 1000 AAAA 1111 5432 AAAA 1111 9876 A19 đến A0 (HEX) Ví dụ: Một địa chỉ bất kỳ 34FD0h 0011 0100 11111 1101 0000 Bộ nhớ đầy đủ 1MB 2300000 00001 10000 10001 10002 10003 10004 10005 10006 10007 10008 95 : : 45 98 27 39 42 88 07 F4 8A : : 20020 20021 20022 20023 FFFFD FFFFE FFFFF 29 12 7D 13 19 25 36 : : : : : : : :A19 A0 : D7 D0 : RD WR A19 A0 : D7 D0 : MEMR MEMW XXXX BP ES DS SS CX BX AX XXXX XXXX XXXX 2000 0000 0023 3F1C FCA1 SP DX XXXX CS SI XXXX XXXXIP XXXXDI CS Nếu chỉ cần bộ nhớ có dung lượng nhỏ hơn 1MB thì giải quyết như thế nào? Phụ thuộc vào các chip nhớ sẵn có Phụ thuộc yêu cầu phân bố địa chỉ cho các loại bộ nhớ vật lý khác nhau 512K đầu tiên của không gian địa chỉ bộ nhớ (Các địa chỉ có bit cao nhất A19 = 0) 0000000000000000000000000 111111111111111101117FFFF AAAA 3210 AAAA 7654 AAAA 1198 1000 AAAA 1111 5432 AAAA 1111 9876 A18 đến A0 (HEX) 512K tiếp theo của không gian địa chỉ bộ nhớ (Các địa chỉ có bit cao nhất A19 = 1) 0000000000000000100080000 11111111111111111111FFFFF AAAA 3210 AAAA 7654 AAAA 1198 1000 AAAA 1111 5432 AAAA 1111 9876 A18 đến A0 (HEX) Bộ nhớ 512KB A18 A0 : D7 D0 : MEMR MEMWXXXX BP ES DS SS CX BX AX XXXX XXXX XXXX 2000 0000 0023 3F1C FCA1 SP DX XXXX CS SI XXXX XXXXIP XXXXDI 2300000 00001 95 : : 20020 20021 20022 20023 7FFFD 7FFFE 7FFFF 29 12 7D 13 19 25 36 : : : : : : A18 A0 : D7 D0 : RD WR CS A19 Làm gì với A19? Điều gì xảy ra nếu 8088 đọc ô nhớ A0023h? A18 A0 : D7 D0 : MEMR MEMWXXXX BP ES DS SS CX BX AX XXXX XXXX XXXX A000 0000 0023 3F1C FCA1 SP DX XXXX CS SI XXXX XXXXIP XXXXDI 2300000 00001 95 : : 20020 20021 20022 20023 7FFFD 7FFFE 7FFFF 29 12 7D 13 19 25 36 : : : : : : A18 A0 : D7 D0 : RD WR CS A19 MOV AH, [BX] Điều gì xảy ra nếu 8088 đọc ô nhớ A0023h? 00110010000000001010A0023 AAAA 3210 AAAA 7654 AAAA 1198 1000 AAAA 1111 5432 AAAA 1111 9876 A19 đến A0 (HEX) A19 không được nối đến bộ nhớ nên nếu 8088 phát logic “1” trên A19 thì bộ nhớ cũng không nhận biết được. Điều gì xảy ra nếu 8088 đọc ô nhớ 20023h? 0011001000000000001020023 AAAA 3210 AAAA 7654 AAAA 1198 1000 AAAA 1111 5432 AAAA 1111 9876 A18 đến A0 (HEX) Với bộ nhớ tình hình không có gì khác! Nếu Bộ nhớ gồm 2 khối 512KB như thế này? A18 A0 : D7 D0 : MEMR MEMW XXXX BP ES DS SS CX BX AX XXXX XXXX XXXX 2000 0000 0023 3F1C FCA1 SP DX XXXX CS SI XXXX XXXXIP XXXXDI A19 2300000 00001 95 : 20020 20021 20022 20023 7FFFD 7FFFE 7FFFF 29 12 7D 13 19 25 36 : : : A18 A0 : D7 D0 : RD WR CS 9700000 00001 D4 : 20020 20021 20022 20023 7FFFD 7FFFE 7FFFF A3 92 45 33 2C 98 12 : : : A18 A0 : D7 D0 : RD WR CS Có vấn đề !!! Vấn đề là: Xung đột Bus. Hai khối nhớ sẽ cung cấp dữ liệu cùng một lúc khi 8088 đọc bộ nhớ Giải pháp: Dùng A19 làm “người phân xử” để giải quyết xung đột trên bus. Nếu A19 ở mức logic “1” thì khối nhớ trên hoạt động (khối nhớ dưới bị cấm) và ngược lại Bộ nhớ gồm hai khối nhớ 512KB A18 A0 : D7 D0 : MEMR MEMW XXXX BP ES DS SS CX BX AX XXXX XXXX XXXX 2000 0000 0023 3F1C FCA1 SP DX XXXX CS SI XXXX XXXXIP XXXXDI A19 2300000 00001 95 : 20020 20021 20022 20023 7FFFD 7FFFE 7FFFF 29 12 7D 13 19 25 36 : : : A18 A0 : D7 D0 : RD WR CS 9700000 00001 D4 : 20020 20021 20022 20023 7FFFD 7FFFE 7FFFF A3 92 45 33 2C 98 12 : : : A18 A0 : D7 D0 : RD WR CS Không gian địa chỉ bộ nhớ 1M 111111111111111101117FFFF 0000000000000000100080000 11111111111111111111FFFFF 0000000000000000000000000 AAAA 3210 AAAA 7654 AAAA 1198 1000 AAAA 1111 5432 AAAA 1111 9876 A19 đến A0 (HEX) A18 A0 : D7 D0 : MEMR MEMW XXXX BP ES DS SS CX BX AX XXXX XXXX XXXX 2000 0000 0023 3F1C FCA1 SP DX XXXX CS SI XXXX XXXXIP XXXXDI A19 2300000 00001 95 : 20020 20021 20022 20023 7FFFD 7FFFE 7FFFF 29 12 7D 13 19 25 36 : : : A18 A0 : D7 D0 : RD WR CS 9700000 00001 D4 : 20020 20021 20022 20023 7FFFD 7FFFE 7FFFF A3 92 45 33 2C 98 12 : : : A18 A0 : D7 D0 : RD WR CS Bộ nhớ gồm hai khối nhớ 512KB Khi µP xuất một địa chỉ từ 80000h to FFFFFh, Bộ nhớ này hoạt động 0 đến 7 Bộ nhớ gồm hai khối nhớ 512KB A18 A0 : D7 D0 : MEMR MEMW XXXX BP ES DS SS CX BX AX XXXX XXXX XXXX 2000 0000 0023 3F1C FCA1 SP DX XXXX CS SI XXXX XXXXIP XXXXDI A19 2300000 00001 95 : 20020 20021 20022 20023 7FFFD 7FFFE 7FFFF 29 12 7D 13 19 25 36 : : : A18 A0 : D7 D0 : RD WR CS 9700000 00001 D4 : 20020 20021 20022 20023 7FFFD 7FFFE 7FFFF A3 92 45 33 2C 98 12 : : : A18 A0 : D7 D0 : RD WR CS Thiết kế Bộ nhớ cho Hệ vi xử lý A18 A0 : D7 D0 : MEMR MEMW XXXX BP ES DS SS CX BX AX XXXX XXXX XXXX 2000 0000 0023 3F1C FCA1 SP DX XXXX CS SI XXXX XXXXIP XXXXDI A19 2300000 00001 95 : 20020 20021 20022 20023 7FFFD 7FFFE 7FFFF 29 12 7D 13 19 25 36 : : : A18 A0 : D7 D0 : RD WR CS 9700000 00001 D4 : 20020 20021 20022 20023 7FFFD 7FFFE 7FFFF A3 92 45 33 2C 98 12 : : : A18 A0 : D7 D0 : RD WR CS A18 A0 : D7 D0 : RD WR A19 Ghép nối các chip nhớ riêng lẽ với Bus hệ thống sao cho không xảy ra xung đột nhờ mạch giải mã địa chỉ bộ nhớ A18 A0 : D7 D0 : MEMR MEMW XXXX BP ES DS SS CX BX AX XXXX XXXX XXXX 2000 0000 0023 3F1C FCA1 SP DX XXXX CS SI XXXX XXXXIP XXXXDI A19 2300000 00001 95 : 20020 20021 20022 20023 7FFFD 7FFFE 7FFFF 29 12 7D 13 19 25 36 : : : A18 A0 : D7 D0 : RD WR CS 9700000 00001 D4 : 20020 20021 20022 20023 7FFFD 7FFFE 7FFFF A3 92 45 33 2C 98 12 : : : A18 A0 : D7 D0 : RD WR CS Nếu bỏ đi khối nhớ bên dưới? Nếu bỏ đi khối nhớ bên dưới thì A18 A0 : D7 D0 : MEMR MEMW XXXX BP ES DS SS CX BX AX XXXX XXXX XXXX 2000 0000 0023 3F1C FCA1 SP DX XXXX CS SI XXXX XXXXIP XXXXDI A19 2300000 00001 95 : 20020 20021 20022 20023 7FFFD 7FFFE 7FFFF 29 12 7D 13 19 25 36 : : : A18 A0 : D7 D0 : RD WR CSKhi µP xuất ra một địa chỉ từ 80000h đến FFFFFh, Chip nhớ này hoạt động Khi µP xuất ra một dịa chỉ từ 00000h đến 7FFFFh, Không có chip nhớ nào hoạt động! ! Giải mã đầy đủ và không đầy đủ Giải mã đầy đủ (Full Decoding) • Tất cả các đường địa chỉ có nghĩa đều được sử dụng vào mạch giải mã • Mỗi ô nhớ chỉ có một địa chỉ vật lý duy nhất Giải mã không đầy đủ (Partial Decoding) • Không phải tất cả các đường địa chỉ có nghĩa đều được sử dụng vào mạch giải mã • Một ô nhớ có hơn một địa chỉ vật lý Giải mã đầy đủ A18 A0 : D7 D0 : MEMR MEMW XXXX BP ES DS SS CX BX AX XXXX XXXX XXXX 2000 0000 0023 3F1C FCA1 SP DX XXXX CS SI XXXX XXXXIP XXXXDI A19 2300000 00001 95 : 20020 20021 20022 20023 7FFFD 7FFFE 7FFFF 29 12 7D 13 19 25 36 : : : A18 A0 : D7 D0 : RD WR CS Giải mã đầy đủ 0000000000000000100080000 11111111111111111111FFFFF AAAA 3210 AAAA 7654 AAAA 1198 1000 AAAA 1111 5432 AAAA 1111 9876 A19 đến A0 (HEX) A19 phải ở mức “1” thì chip nhớ mới hoạt động (được chọn) Giải mã đầy đủ 0000000000000000000000000 111111111111111101117FFFF AAAA 3210 AAAA 7654 AAAA 1198 1000 AAAA 1111 5432 AAAA 1111 9876 A19 đến A0 (HEX) Do đó, nếu vi xử lý phát ra một địa chỉ từ 00000h đến 7FFFFh (A19 ở mức logic “0”) chip nhớ sẽ không được chọn. Giải mã không đầy đủ A18 A0 : D7 D0 : MEMR MEMWXXXX BP ES DS SS CX BX AX XXXX XXXX XXXX 2000 0000 0023 3F1C FCA1 SP DX XXXX CS SI XXXX XXXXIP XXXXDI 2300000 00001 95 : : 20020 20021 20022 20023 7FFFD 7FFFE 7FFFF 29 12 7D 13 19 25 36 : : : : : : A18 A0 : D7 D0 : RD WR CS A19 Giải mã không đầy đủ 0000000000000000100080000 111111111111111101117FFFF 0000000000000000000000000 11111111111111111111FFFFF AAAA 3210 AAAA 7654 AAAA 1198 1000 AAAA 1111 5432 AAAA 1111 9876 A19 đến A0 (HEX) A19 không có ý nghĩa với chip nhớ Giải mã không đầy đủ 0000000000000000100080000 111111111111111101117FFFF 0000000000000000000000000 11111111111111111111FFFFF AAAA 3210 AAAA 7654 AAAA 1198 1000 AAAA 1111 5432 AAAA 1111 9876 A19 đến A0 (HEX) Địa chỉ thực tế Giải mã không đầy đủ 0000000000000000100080000 111111111111111101117FFFF 0000000000000000000000000 11111111111111111111FFFFF AAAA 3210 AAAA 7654 AAAA 1198 1000 AAAA 1111 5432 AAAA 1111 9876 A19 đến A0 (HEX) Địa chỉ thực tế Bộ nhớ gồm 2 chip 512Kx8 8088 Minimum Mode A18 A0 : D7 D0 : MEMR MEMW A19 512KB #2 A18 A0 : D7 D0 : RD WR CS 512KB #1 A18 A0 : D7 D0 : RD WR CS Bộ nhớ chỉ có một chip 512Kx8 (Ver. 1) 8088 Minimum Mode A18 A0 : D7 D0 : MEMR MEMW A19 512KB A18 A0 : D7 D0 : RD WR CS Bộ nhớ chỉ có một chip 512Kx8 (Ver. 2) 8088 Minimum Mode A18 A0 : D7 D0 : MEMR MEMW A19 512KB A18 A0 : D7 D0 : RD WR CS Bộ nhớ chỉ có một chip 512Kx8 (Ver. 3) 8088 Minimum Mode A18 A0 : D7 D0 : MEMR MEMW A19 512KB A18 A0 : D7 D0 : RD WR CS Bộ nhớ gồm 4 chip 256Kx8 8088 Minimum Mode A17 A0 : D7 D0 : MEMR MEMW A18 256KB #3 A17 A0 : D7 D0 : RD WR CS A19 256KB #2 A17 A0 : D7 D0 : RD WR CS 256KB #1 A17 A0 : D7 D0 : RD WR CS 256KB #4 A17 A0 : D7 D0 : RD WR CS Bộ nhớ gồm 4 chip 256Kx8 8088 Minimum Mode A17 A0 : D7 D0 : MEMR MEMW A18 256KB #3 A17 A0 : D7 D0 : RD WR CS A19 256KB #2 A17 A0 : D7 D0 : RD WR CS 256KB #1 A17 A0 : D7 D0 : RD WR CS 256KB #4 A17 A0 : D7 D0 : RD WR CS Dải địa chỉ của chip #1 ------------------------- ------------------------- AAAA 3210 AAAA 7654 AAAA 1198 1000 AAAA 1111 5432 AAAA 1111 9876 A19 đến A0 (HEX) Dải địa chỉ của chip #2 ------------------------- ------------------------- AAAA 3210 AAAA 7654 AAAA 1198 1000 AAAA 1111 5432 AAAA 1111 9876 A19 đến A0 (HEX) Dải địa chỉ của chip #3 ------------------------- ------------------------- AAAA 3210 AAAA 7654 AAAA 1198 1000 AAAA 1111 5432 AAAA 1111 9876 A19 đến A0 (HEX) Dải địa chỉ của chip #4 ------------------------- ------------------------- AAAA 3210 AAAA 7654 AAAA 1198 1000 AAAA 1111 5432 AAAA 1111 9876 A19 đến A0 (HEX) Bộ nhớ gồm 4 chip 256Kx8 dùng các cổng logic 8088 Minimum Mode A17 A0 : D7 D0 : MEMR MEMW A18 256KB #3 A17 A0 : D7 D0 : RD WR CS A19 256KB #2 A17 A0 : D7 D0 : RD WR CS 256KB #1 A17 A0 : D7 D0 : RD WR CS 256KB #4 A17 A0 : D7 D0 : RD WR CS Bộ nhớ gồm 4 chip 256Kx8 dùng các cổng logic 8088 Minimum Mode A17 A0 : D7 D0 : MEMR MEMW A18 256KB #3 A17 A0 : D7 D0 : RD WR CS A19 256KB #2 A17 A0 : D7 D0 : RD WR CS 256KB #1 A17 A0 : D7 D0 : RD WR CS 256KB #4 A17 A0 : D7 D0 : RD WR CS Bộ nhớ gồm 4 chip 256Kx8 dùng một chip giải mã 2-4 8088 Minimum Mode A17 A0 : D7 D0 : MEMR MEMW A18 256KB #3 A17 A0 : D7 D0 : RD WR CS A19 256KB #2 A17 A0 : D7 D0 : RD WR CS 256KB #1 A17 A0 : D7 D0 : RD WR CS 256KB #4 A17 A0 : D7 D0 : RD WR CSI1I0 O3 O2 O1 O0 Ghép nối các chip nhớ 8Kx8 với µP 8088 8088 Minimum Mode A12 A0 : D7 D0 : MEMR MEMW A13 A14 8KB #2 A12 A0 : D7 D0 : RD WR CS 8KB #1 A12 A0 : D7 D0 : RD WR CS 8KB #? A12 A0 : D7 D0 : RD WR CS A15 A16 A17 A18 A19 : : 8088 Minimum Mode A12 A0 : D7 D0 : MEMR MEMW A13 A14 8KB #2 A12 A0 : D7 D0 : RD WR CS 8KB #1 A12 A0 : D7 D0 : RD WR CS 8KB #128 A12 A0 : D7 D0 : RD WR CS A15 A16 A17 A18 A19 : : Bộ nhớ gồm 128 chip 8Kx8 8088 Minimum Mode A12 A0 : D7 D0 : MEMR MEMW A13 A14 8KB #2 A12 A0 : D7 D0 : RD WR CS 8KB #1 A12 A0 : D7 D0 : RD WR CS 8KB #128 A12 A0 : D7 D0 : RD WR CS A15 A16 A17 A18 A19 : : Bộ nhớ gồm 128 chip 8Kx8 Dải địa chỉ của Chip #__ ------------------------- ------------------------- AAAA 3210 AAAA 7654 AAAA 1198 1000 AAAA 1111 5432 AAAA 1111 9876 A19 đến A0 (HEX) 8088 Minimum Mode A12 A0 : D7 D0 : MEMR MEMW A13 A14 8KB #2 A12 A0 : D7 D0 : RD WR CS 8KB #1 A12 A0 : D7 D0 : RD WR CS 8KB #128 A12 A0 : D7 D0 : RD WR CS A15 A16 A17 A18 A19 : : Bộ nhớ gồm 128 chip 8Kx8 Phát biểu bài toán Thiết kế bộ nhớ cho hệ vi xử lý 8088 thoả mãn các yêu cầu: ROM có dung lượng 2Kx8 chiếm dụng các địa chỉ từ FFFFFh trở xuống RWM có dung lượng 2Kx8 chiếm dụng các địa chỉ tiếp theo ngay sau ROM Chỉ được phép sử dụng: EPROM 2716 2Kx8, SRAM 4016 2Kx8 Chip giải mã 74LS138 và các cổng logic Bước 1: Vẽ bản đồ bộ nhớ cần thiết kế FFFFFh 00000h FF800h FF000h FF7FFh ROM RWM Chưa sử dụng 2K 2K Các Địa chỉ biên Bước 2: Chuyển các địa chỉ biên từ H sang B 00000000100011111111FF800 11111111111111111111FFFFF AAAA 3210 AAAA 7654 AAAA 1198 1000 AAAA 1111 5432 AAAA 1111 9876 A19 đến A0 (HEX) Bước 2: Chuyển các địa chỉ biên từ H sang B 00000000000011111111FF000 11111111011111111111FF7FF AAAA 3210 AAAA 7654 AAAA 1198 1000 AAAA 1111 5432 AAAA 1111 9876 A19 đến A0 (HEX) Nhận xét Khi các địa chỉ dành cho ROM được phát lên A-Bus: A19 – A12 = 1 và A11 = 1 Khi các địa chỉ dành cho RWM được phát lên A-Bus: A19 – A12 = 1 và A11 = 0 Bước 3: Vẽ mạch giải mã địa chỉ bộ nhớ Ghép các chân dữ liệu của các chip nhớ với D-Bus Ghép các chân địa chỉ và các chân điều khiển: Khi vi xử lý truy cập các cổng I/O thì các chip nhớ bị cấm (Khi IO/M = 1) Khi vi xử lý truy cập bộ nhớ (IO/M = 0) thì chỉ có một chip nhớ làm việc Có thể có nhiều lời giải khác nhau 74LS138: Một chip giải mã 3-8 74LS138 C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 G1 G2A G2B 74LS138 A2 A1 A0 E3 E2 E1 Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 U1 74LS138 Bộ nhớ cần thiết kế 8088 Minimum Mode A17 A0 : D7 D0 : MEMR MEMW A18 A19 2Kx8 4016 A10 A0 : D7 D0 : OE WE CS 2Kx8 2716 A10 A0 : D7 D0 : OE CE 74LS138 C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 G1 G2A G2B
File đính kèm:
- bai_giang_ky_thuat_vi_xu_ly_chuong_4_bo_nho_ban_dan.pdf