ky thuat vi xu lychuong4.ppt
TRANSCRIPT
Kỹ thuật Vi xử lýKỹ thuật Vi xử lý
Điện tử-Viễn thôngĐiện tử-Viễn thông
Đại học Bách khoa Đà NẵngĐại học Bách khoa Đà Nẵng
Chương 4Chương 4
4.1 Phân loại bộ nhớ bán dẫn4.1 Phân loại bộ nhớ bán dẫn4.2 Hoạt động của các chip EPROM4.2 Hoạt động của các chip EPROM4.3 Hoạt động của các chip SRAM4.3 Hoạt động của các chip SRAM4.4 Bus hệ thống của hệ vi xử lý 80884.4 Bus hệ thống của hệ vi xử lý 80884.5 Bài toán thiết kế bộ nhớ4.5 Bài toán thiết kế bộ nhớ
MMục tiêu và biện pháp thiết kếục tiêu và biện pháp thiết kế
Ghép nối các chip nhớ EPROM và SRAM với Ghép nối các chip nhớ EPROM và SRAM với Bus hệ thống sao cho không xảy ra xung Bus hệ thống sao cho không xảy ra xung đột:đột:Các chip nhớ bị cấm khi vi xử lý truy cập Các chip nhớ bị cấm khi vi xử lý truy cập các cổng I/Ocác cổng I/OChỉ có một chip nhớ hoạt động khi vi xử lý Chỉ có một chip nhớ hoạt động khi vi xử lý truy cập bộ nhớtruy cập bộ nhớ
Thực hiện một mạch giải mã địa chỉ bộ Thực hiện một mạch giải mã địa chỉ bộ nhớ dùng các chip giải mã hoặc các cổng nhớ dùng các chip giải mã hoặc các cổng logic hoặc kết hợp cả hailogic hoặc kết hợp cả hai
4.1 Phân loại bộ nhớ bán dẫn4.1 Phân loại bộ nhớ bán dẫn
Bộ nhớ bán dẫn(Semiconductor memory)
SAM(Sequential Access Memory)
RAM(Random Access Memory)
ROM (Read Only Memory) RWM (Read Write memory)
PROM EPROM
EEPROM Flash ROM
SRAM DRAM
4.2 Các chip EPROM4.2 Các chip EPROM
EPROM
A0
A1
A2
A3
A4
A5
A6
A7
A8
Ap-1
Vpp
D0
D1
D2
D3
D4
D5
D6
Dm-1
CE
OE
PGM
p chân địa chỉ
Các chân điều khiển
m chân dữ liệu
Điều khiển đọc
Chọn chip
Dung lượng của 1 chip nhớDung lượng của 1 chip nhớ
Một chip nhớ được xem như một mảng Một chip nhớ được xem như một mảng gồm n ô nhớ. Mỗi ô nhớ lưu trữ được m-bit gồm n ô nhớ. Mỗi ô nhớ lưu trữ được m-bit dữ liệudữ liệu
Dung lượng của chip thường được biểu Dung lượng của chip thường được biểu diễn: nxmdiễn: nxmVí dụ: Một chip có dung lượng 2Kx8 nghĩa Ví dụ: Một chip có dung lượng 2Kx8 nghĩa là chip đó có 2048 ô nhớ và mỗi ô nhớ có là chip đó có 2048 ô nhớ và mỗi ô nhớ có thể lưu trữ được 1 byte dữ liệuthể lưu trữ được 1 byte dữ liệu
m chính là số chân dữ liệu của chipm chính là số chân dữ liệu của chip loglog22(n) = p là số chân địa chỉ của chip(n) = p là số chân địa chỉ của chip
Hoạt động ghi dữ liệu vào EPROMHoạt động ghi dữ liệu vào EPROM
Việc ghi dữ liệu vào EPROM được gọi là lập Việc ghi dữ liệu vào EPROM được gọi là lập trình cho EPROMtrình cho EPROM
Được thực hiện bằng thiết bị chuyên dụng Được thực hiện bằng thiết bị chuyên dụng gọi là Bộ nạp EPROMgọi là Bộ nạp EPROM
Chân Vpp được cấp điện áp tương ứng với Chân Vpp được cấp điện áp tương ứng với từng loại chip gọi là điện áp lập trìnhtừng loại chip gọi là điện áp lập trình
Dữ liệu tại các chân dữ liệu sẽ được ghi Dữ liệu tại các chân dữ liệu sẽ được ghi vào một ô nhớ xác định nhờ các tín hiệu vào một ô nhớ xác định nhờ các tín hiệu đưa vào ở các chân địa chỉ và một xung đưa vào ở các chân địa chỉ và một xung (thường gọi là xung lập trình) đưa vào (thường gọi là xung lập trình) đưa vào chân PGMchân PGM
Hoạt động đọc dữ liệu từ một chip EPROMHoạt động đọc dữ liệu từ một chip EPROM
Để đọc dữ liệu từ 1 ô nhớ nào đó của Để đọc dữ liệu từ 1 ô nhớ nào đó của 1 chip EPROM nào đó, Bộ vi xử lý cần 1 chip EPROM nào đó, Bộ vi xử lý cần phải:phải:
Chọn chip đó: 0 -----> CEChọn chip đó: 0 -----> CE Áp các tín hiệu địa chỉ của ô nhớ cần đọc vàoÁp các tín hiệu địa chỉ của ô nhớ cần đọc vào các các
chân địa chỉchân địa chỉ AAp-1p-1 – A – A00
Đọc: 0 ------ > OEĐọc: 0 ------ > OE Kết quả là m bit dữ liệu cần đọc xuất hiện ở các Kết quả là m bit dữ liệu cần đọc xuất hiện ở các
chân dữ liệu Dchân dữ liệu Dm-1m-1 – D – D00
Họ EPROM thông dụng 27xHọ EPROM thông dụng 27x
Số hiệu của chipSố hiệu của chip Dung lượngDung lượng
27162716 2Kx82Kx8
27322732 4Kx84Kx8
27642764 8Kx88Kx8
2712827128 16Kx816Kx8
2725627256 32Kx832Kx8
2751227512 64Kx864Kx8
Bảng 4.1 Họ EPROM 27x
Sơ đồ chânSơ đồ châncủa 2716của 2716và 2732và 2732
1
2
3
4
5
6
7
9
10
11
12
8
19
20
17
18
15
16
13
14
21
22
23
24
GND
Vcc
A0
D0
D1
D2
D7
D6
D5
D4
D3
A10
A1
A2
A3
A4
A5
A6
A7
A9
A8
Vpp A11
2716 2732
__OE Vpp
__OE /
CE/PGM__
EPROM
EPROM 2764EPROM 2764
Chọn chip
Điều khiển đọc
Các chân địa chỉ
Các chân dữ liệu
EPROM 2764EPROM 2764
Lập trình cho 2764Lập trình cho 2764
Trước hết cần phải xoáTrước hết cần phải xoá• Xoá một chip tức là làm cho tất cả các bit = 1Xoá một chip tức là làm cho tất cả các bit = 1
Xoá một chip EPROM bằng tia cực tímXoá một chip EPROM bằng tia cực tím Lập trình bằng cách:Lập trình bằng cách:
• VPP mắc ở mức 12.5VVPP mắc ở mức 12.5V• E và P đều ở mức thấp TTLE và P đều ở mức thấp TTL
Các bit dữ liệu đưa vào các chân dữ liệuCác bit dữ liệu đưa vào các chân dữ liệu Các bit địa chỉ đưa vào các chân địa chỉCác bit địa chỉ đưa vào các chân địa chỉ
4.3 Các chip SRAM4.3 Các chip SRAM
SRAM
A0
A1
A2
A3
A4
A5
A6
A7
A8
Ap-1
D0
D1
D2
D3
D4
D5
D6
Dm-1
WE
OE
CS
P chân địa chỉ m chân dữ liệu
Điều khiển đọcChọn chip
Điều khiển ghi
Đọc dữ liệu từ một chip SRAMĐọc dữ liệu từ một chip SRAM
Để đọc dữ liệu từ 1 ô nhớ nào đó của 1 chip Để đọc dữ liệu từ 1 ô nhớ nào đó của 1 chip SRAM nào đó, vi xử lý cần phải:SRAM nào đó, vi xử lý cần phải:
Chọn chip đó: 0 -----------> CSChọn chip đó: 0 -----------> CS Áp các tín hiệu địa chỉ vào AÁp các tín hiệu địa chỉ vào Ap-1p-1 – A – A00
Đọc: 0 ----------- > OEĐọc: 0 ----------- > OE
Kết quả là m bit dữ liệu cần đọc xuất hiện ở Kết quả là m bit dữ liệu cần đọc xuất hiện ở các chân dữ liệu Dcác chân dữ liệu Dm-1m-1 – D – D00
Ghi dữ liệu vào một chip SRAMGhi dữ liệu vào một chip SRAM
Để ghi m bit dữ liệu vào 1 ô nhớ nào đó của Để ghi m bit dữ liệu vào 1 ô nhớ nào đó của 1 chip SRAM nào đó, vi xử lý cần phải:1 chip SRAM nào đó, vi xử lý cần phải:
Chọn chip đó: 0 --------> CSChọn chip đó: 0 --------> CS Áp các tín hiệu địa chỉ vào AÁp các tín hiệu địa chỉ vào Ap-1p-1 – A – A00
Áp m bit dữ liệu cần ghi vào các chân dữ Áp m bit dữ liệu cần ghi vào các chân dữ liệu Dliệu Dm-1m-1 – D – D00
Ghi: 0 --------- > WEGhi: 0 --------- > WE
Kết quả là các bit dữ liệu ở các chân dữ liệu Kết quả là các bit dữ liệu ở các chân dữ liệu sẽ được ghi vào ô nhớ đã chọnsẽ được ghi vào ô nhớ đã chọn
SRAM 6264SRAM 6264
Dung lượng 8Kx8Dung lượng 8Kx8 8 chân dữ liệu8 chân dữ liệu 13 chân địa chỉ13 chân địa chỉ Hai chân chọn Hai chân chọn
chipchip Chân điều khiển Chân điều khiển
đọcđọc Chân điều khiển Chân điều khiển
ghighi
6264
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
CS2
I/O0
I/O 1
I/O 2
I/O 3
I/O 4
I/O 5
I/O 6
I/O 7
CS1
OE
WE
32K x 8 Static RAM32K x 8 Static RAM1
2
3
4
5
6
7
9
10
11
12
8
19
20
17
18
15
1613
14
21
22
23
24
25
26
27
28
GND
Vcc
A12
A0
D0
D1
D2
A1
A2
A3
A4
A5
A6
A7
D7
D6
D5
D4
D3
A10
A9
A8
A11
51256S
CE__
A14
OE__
A13
WE__
Sơ đồ khối 6264Sơ đồ khối 6264
Chức năng của 6264Chức năng của 6264
4.4 Bus hệ thống của 80884.4 Bus hệ thống của 8088
Bus địa chỉ 20-bit: gồm các đường địa chỉ Bus địa chỉ 20-bit: gồm các đường địa chỉ được ký hiệu từ Ađược ký hiệu từ A1919 đến A đến A00
Bus dữ liệu 8-bit: gồm các đường dữ liệu được Bus dữ liệu 8-bit: gồm các đường dữ liệu được ký hiệu từ Dký hiệu từ D77 đến D đến D00
Bus điều khiển gồm các đường điều khiển Bus điều khiển gồm các đường điều khiển riêng lẽ phục vụ cho hoạt động truy cập bộ riêng lẽ phục vụ cho hoạt động truy cập bộ nhớ và các cổng I/O, mỗi đường thường được nhớ và các cổng I/O, mỗi đường thường được ký hiệu bằng tên của tín hiệu điều khiểnký hiệu bằng tên của tín hiệu điều khiển
Bus hệ thống không nối trực tiếp với các chân Bus hệ thống không nối trực tiếp với các chân của 8088: thông qua các mạch đệm, chốt.của 8088: thông qua các mạch đệm, chốt.
80x86 Microprocessors80x86 Microprocessors
ProductProduct 80088008 80808080 80858085 80868086 80888088 8028802866
8038680386 8048680486 Pent.Pent. Pent. Pent. ProPro
Year IntroducedYear Introduced 19721972 19741974 19761976 19781978 19791979 19821982 19851985 19891989 19921992 19951995
TechnologyTechnology PMOSPMOS NMONMOSS
NMONMOSS
NMONMOSS
NMONMOSS
NMOSNMOS CMOSCMOS CMOSCMOS BICMOBICMOSS
BICMOBICMOSS
Clock RateClock Rate 0.5-0.5-0.80.8
2-32-3 3-83-8 5-105-10 5-85-8 10-10-16?16?
16-4016-40 6666 60-66+60-66+ 150150
Number of PinsNumber of Pins 1818 4040 4040 4040 4040 132132 168168 273273 387387
Number of Number of transistorstransistors
30003000 45004500 65006500 29K29K 29K29K 130K130K 275K275K 1.2M1.2M 3M3M 5.5M5.5M
Number of Number of instructionsinstructions
6666 111111 113113 133133 133133
Physical MemoryPhysical Memory 16K16K 64K64K 64K64K 1M1M 1M1M 16M16M 16M4GB16M4GB 4GB4GB 4GB4GB 64G64G
Virtual MemoryVirtual Memory nonenone nonenone nonenone nonenone nonenone 1G1G 64T64T 64T64T 64T64T 64T64T
Internal Data BusInternal Data Bus 88 88 88 1616 1616 1616 3232 3232 6464 3232
External Data BusExternal Data Bus 88 88 88 1616 88 1616 16,3216,32 3232 6464 6464
Address BusAddress Bus 88 1616 1616 2020 2020 2424 24,3224,32 3232 3232 3636
Data TypesData Types 88 88 88 8,168,16 8,168,16 8,168,16 8,16,328,16,32 8,16,38,16,322
8,16,38,16,322
8,16,38,16,322
8088/8086 Microprocessor8088/8086 Microprocessor
DIP 40 pin DIP 40 pin Data busData bus
• Bus dữ liệu trong :16 bit Bus dữ liệu trong :16 bit • Bus dữ liệu ngoài của 8088: 8 bit dùng Bus dữ liệu ngoài của 8088: 8 bit dùng
AD0-AD7AD0-AD7• Bus dữ liệu ngoài của 8086:16 bit dùng Bus dữ liệu ngoài của 8086:16 bit dùng
AD0-AD15AD0-AD15• ALE (Address Latch Enable)ALE (Address Latch Enable)
8088/8086 Microprocessor8088/8086 Microprocessor
Bus địa chỉBus địa chỉ• ALE = 1ALE = 1• Sử dụng 74LS373 để tách và chốt địa chỉSử dụng 74LS373 để tách và chốt địa chỉ
Đầu vào: AD0-AD7 (8088) hoặc AD0-AD15 Đầu vào: AD0-AD7 (8088) hoặc AD0-AD15 (8086) và ALE(8086) và ALE
Đầu ra: A0-A7 (8088) hoặc A0-A15 (8086)Đầu ra: A0-A7 (8088) hoặc A0-A15 (8086)
Sơ đồ chân của 8088Sơ đồ chân của 8088
Sơ đồ chân 8088/8086 Sơ đồ chân 8088/8086 (Min Mode)(Min Mode)
Minimum/Maximum ModeMinimum/Maximum Mode
Ảnh hưởng đến các chân 24-31Ảnh hưởng đến các chân 24-31 Minimum ModeMinimum Mode
• Các chân 24-31 là các tín hiệu điều khiển I/O Các chân 24-31 là các tín hiệu điều khiển I/O và bộ nhớvà bộ nhớ
• Các tín hiệu điều khiển đều từ 8088/8086Các tín hiệu điều khiển đều từ 8088/8086• Tương tự với 8085A Tương tự với 8085A
Maximum ModeMaximum Mode• Một số tín hiệu điều khiển được tạo ra từ ngoàiMộ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ớiMột số chân có thêm chức năng mới• Khi có dùng bộ đồng xử lý toán 8087Khi có dùng bộ đồng xử lý toán 8087
Sơ đồ chân của 8088Sơ đồ chân của 8088
8088
AD0
AD 1
AD 2
AD 3
AD 4
AD 5
AD 6
AD 7
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 Tín hiệu ở các chân của 8088
8088
AD0
AD 1
AD 2
AD 3
AD 4
AD 5
AD 6
AD 7
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ệuCác chân Địa chỉ/Dữ liệu
Các chân ADCác chân AD77 đến AD đến AD00
Kỹ thuật Multiplexing: Tín hiệu ở các 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ỉ, 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 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 vào tín hiệu điều khiển ALE (Address Latch Enable):Latch Enable):
ALE = 1: ADALE = 1: AD77 đến AD đến AD00 = A = A77 đến A đến A00
ALE = 0: ADALE = 0: AD77 đến AD đến AD00 = D = D77 đến D đến D00
Các chân Địa chỉCác chân Địa chỉvà Các chân Địa chỉ/Trạng tháivà Các chân Địa chỉ/Trạng thái
Các chân địa chỉ: ACác chân địa chỉ: A1515 đến A đến A88
Tín hiệu ở các chân này luôn là tín Tín hiệu ở các chân này luôn là tín hiệu địa chỉhiệu địa chỉ
Các chân địa chỉ/trạng thái: ACác chân địa chỉ/trạng thái: A1919/S/S66 đến Ađến A1616/S/S33::
ALE = 1: AALE = 1: A1919 đến A đến A1616
ALE = 0: SALE = 0: S66 đến S đến S33
Processor Timing Diagram of 8088 (Minimum Mode)Processor Timing Diagram of 8088 (Minimum Mode)for Memory or I/O Read (with 74245)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 - A0from 74LS373 to memory
S6 - S3A19 - A16
A19 - A0 from 74LS373
if I/O ACCESS this is HIGH, if MEMORY ACCESS this is LOW
D7 - D0from memory to 74LS245
D7 - D0 (from memory)
D7 - D0 from74LS245
garbageA7 - A0
A15 - A8
Mô tả chânMô tả chân
BHEBHE Bus High EnableBus High Enable Phân biệt byte thấp và Phân biệt byte thấp và
byte cao của một từ byte cao của một từ (chỉ với 8086)(chỉ với 8086)
Mô tả chânMô tả chân
NMINMI Non Maskable Non Maskable
InterruptInterrupt Đầu vào ngắt Đầu vào ngắt
không che đượckhông che được
Mô tả chânMô tả chân
INTRINTR Interrupt RequestInterrupt Request Đầu vào ngắt che Đầu vào ngắt che
đượcđược Nối với chip điều Nối với chip điều
khiển ngắt 8259khiển ngắt 8259 INTA: chấp nhận INTA: chấp nhận
ngắtngắt
Mô tả chânMô tả chân
CLKCLK ClockClock Đầu vào đồng hồĐầu vào đồng hồ Nối với chip 8284Nối với chip 8284
Mô tả chânMô tả chân
RESETRESET Kết thúc hoạt động hiện Kết thúc hoạt động hiện
thời và huy bỏ mọi thứthời và huy bỏ mọi thứ Sau khi resetSau khi reset
• CS=FFFFHCS=FFFFH• DS=0000HDS=0000H• SS=0000HSS=0000H• ES=0000HES=0000H• IP=0000HIP=0000H• Các cờ bị xoáCác cờ bị xoá• Hàng đợI lệnh rỗngHàng đợI lệnh rỗng
Mô tả chânMô tả chân
READYREADY Chèn thêm một trạng Chèn thêm một trạng
thái đợi (wait state)thái đợi (wait state)
Mô tả chânMô tả chân
TESTTEST Đến từ 8087 (Bộ đồng Đến từ 8087 (Bộ đồng
xử lý)xử lý) Đồng bộ 8088 và 8087Đồng bộ 8088 và 8087
Mô tả chânMô tả chân
MN/MXMN/MX Minimum mode = +5VMinimum mode = +5V Maximum mode = Maximum mode =
GndGnd
Mô tả chân – MaxMô tả chân – Max
QS0, QS1QS0, QS1 Queue statusQueue status Trạng thái của hàng Trạng thái của hàng
đợi lệnh:đợi lệnh:• 00 – No operation00 – No operation• 01 – first byte of 01 – first byte of
opcode from queueopcode from queue• 10 – empty the queue10 – empty the queue• 11 – subsequent byte 11 – subsequent byte
from queuefrom queue
Mô tả chân – MaxMô tả chân – Max
S0, S1, S2S0, S1, S2 Status Signal Pins (S2-S0)Status Signal Pins (S2-S0)
• 000 – INTA – interrupt 000 – INTA – interrupt acknowledgeacknowledge
• 001 – IORC – read I/O port001 – IORC – read I/O port• 010 – IOWC – write I/O port010 – IOWC – write I/O port• 011 – none - halt011 – none - halt• 100 – MRDC – code access100 – MRDC – code access• 101 – MRDC – read memory101 – MRDC – read memory• 110 – MWTC – write memory110 – MWTC – write memory• 111 – none - passive111 – none - passive
Mô tả chân – MaxMô tả chân – Max
LOCKLOCK Locks processor to Locks processor to
system bussystem bus Gain the lock by using Gain the lock by using
LOCK prefix on an LOCK prefix on an assembly instructionassembly instruction
Used with status Used with status signals to prevent signals to prevent DMA from gaining DMA from gaining control of the busescontrol of the buses
Mô tả chân – MaxMô tả chân – Max
RQ/GT0, RQ/GT1RQ/GT0, RQ/GT1 Request/GrantRequest/Grant Bi-directionalBi-directional Gain control of local Gain control of local
busbus RQ/GT0 normally RQ/GT0 normally
permanently high permanently high (disabled)(disabled)
RQ/GT1 is connected RQ/GT1 is connected to the 8087to the 8087
Mô tả chân – MinMô tả chân – Min
INTAINTA Interrupt acknowledgeInterrupt acknowledge Chấp nhận ngắtChấp nhận ngắt
Mô tả chân – MinMô tả chân – Min
ALEALE Address Latch Address Latch
EnableEnable Tín hiệu ở các chân Tín hiệu ở các chân
Địa chỉ/Dữ liệu và Địa chỉ/Dữ liệu và các chân Địa các chân Địa chỉ/Trạng thái lúc chỉ/Trạng thái lúc ALE = 1 là các tín ALE = 1 là các tín hiệu địa chỉhiệu địa chỉ
Mô tả chânMô tả chân
AD0-AD7AD0-AD7 Các chân Địa Các chân Địa
chỉ/Dữ liệuchỉ/Dữ liệu Tín hiệu ở các chân Tín hiệu ở các chân
này là 8 bit địa chỉ này là 8 bit địa chỉ thấp A0 đến A7 khi thấp A0 đến A7 khi ALE =1, là 8 bit dữ ALE =1, là 8 bit dữ liệu D0 đến D7 khi liệu D0 đến D7 khi ALE = 0ALE = 0
74LS37374LS373
74LS373
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
D0
D1
D2
D3
D4
D5
D6
D7
OE
LE
74LS37374LS373
Dùng 74LS373 để tách và chốt địa Dùng 74LS373 để tách và chốt địa chỉchỉ
Mô tả chân – MinMô tả chân – Min
DENDEN Data EnableData Enable Dữ liệu có nghĩaDữ liệu có nghĩa
Mô tả chân – MinMô tả chân – Min
DT/RDT/R Điều khiển hướng của Điều khiển hướng của
tín hiệu dữ liệu:tín hiệu dữ liệu: 1: Tín hiệu dữ liệu đi 1: Tín hiệu dữ liệu đi
ra từ 8088ra từ 8088 0: Tín hiệu dữ liệu đi 0: Tín hiệu dữ liệu đi
vào 8088vào 8088
Mô tả chân – MinMô tả chân – Min
IO/MIO/M Phân biệt: truy cập Phân biệt: truy cập
I/O hay Bộ nhớI/O hay Bộ nhớ• 1: 8088 truy cập I/O1: 8088 truy cập I/O• 0: 8088 truy cập bộ 0: 8088 truy cập bộ
nhớ nhớ
Mô tả chân – MinMô tả chân – Min
WRWR 0: Tín hiệu trên bus dữ 0: Tín hiệu trên bus dữ
liệu được ghi vào bộ liệu được ghi vào bộ nhớ hoặc I/Onhớ hoặc I/O
Ghi bộ nhớ: ?Ghi bộ nhớ: ? Xuất dữ liệu ra cổng: ?Xuất dữ liệu ra cổng: ?
Mô tả chân – MinMô tả chân – Min
HLDAHLDA Hold AcknowledgeHold Acknowledge 0: Chấp nhận yêu cầu 0: Chấp nhận yêu cầu
DMA ở HOLD DMA ở HOLD • Báo cho Bộ điều khiển Báo cho Bộ điều khiển
DMA được phép sử DMA được phép sử dụng bus hệ thốngdụng bus hệ thống
Mô tả chân – MinMô tả chân – Min
HOLDHOLD Nhận tín hiệu yêu cầu Nhận tín hiệu yêu cầu
DMA từ Bộ điều khiển DMA từ Bộ điều khiển DMA (DMAC)DMA (DMAC)
DMAC muốn sử dụng DMAC muốn sử dụng bus hệ thốngbus hệ thống
Mô tả chân – MinMô tả chân – Min
SSOSSO 80888088 Dùng với IO/M và DT/R Dùng với IO/M và DT/R
để xác định trạng thái để xác định trạng thái của chu kỳ bus hiện của chu kỳ bus hiện thờithời
Các tín hiệu điều khiểnCác tín hiệu điều khiển
Có thể sử dụng các cổng logic để tạo 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 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ótín hiệu điều khiển sẵn có• 3 Tín hiệu:3 Tín hiệu:
RD, WR and IO/MRD, WR and IO/M RDRD WWRR
IO/MIO/M SignalSignal
00 11 00 MEMRMEMR
11 00 00 MEMWMEMW
00 11 11 IORIOR
11 00 11 IOWIOW
00 00 XX Never Never happenshappens
Tạo ra các tín hiêụ điều khiểnTạo ra các tín hiêụ điều khiển (Min Mode) (Min Mode)
Tạo ra các tín hiêụ điều khiểnTạo ra các tín hiêụ điều khiển (Min Mode) (Min Mode)
8088 Bus – Min Mode8088 Bus – Min Mode
74LS24574LS245
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 MinimumBus 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 8088Minimum Mode 8088
MEMORY
D7 - D0
A19 - A0
RD
WR
8088 MinimumMode
D7 - D0
A19 - A0
MEMR
MEMW
Bộ nhớ được chọn khi nào?
Minimum Mode Minimum Mode 80888088
MEMORY
D7 - D0
A19 - A0
RD
WR
8088 MinimumMode
D7 - D0
A19 - A0
MEMR
MEMWCS
220 ô nhớ (1MB)
Không gian địa chỉ bộ nhớ 1MKhông gian địa chỉ bộ nhớ 1M
A19 A19 đến đến A0A0
(HEX)(HEX)
AAAAAAAA
11111111
98769876
AAAAAAAA
11111111
54325432
AAAAAAAA
11981198
10100000
AAAAAAAA
76547654AAAAAAAA
32103210
0000000000 00000000 00000000 00000000 00000000 00000000
FFFFFFFFFF 11111111 11111111 11111111 11111111 11111111
Ví dụ: Một địa chỉ bất kỳ 34FD0h 0011 0100 11111 1101 0000
Bộ nhớ đầy đủ 1MBBộ 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ó Nếu chỉ cần bộ nhớ có dung lượng nhỏ hơn 1MB dung lượng nhỏ hơn 1MB thì giải quyết như thế nào?thì giải quyết như thế nào?
Phụ thuộc vào các chip nhớ sẵn cóPhụ thuộc vào các chip nhớ sẵn có Phụ thuộc yêu cầu phân bố địa chỉ Phụ thuộc yêu cầu phân bố địa chỉ
cho các loại bộ nhớ vật lý khác nhaucho 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ớ512K đầu tiên của không gian địa chỉ bộ nhớ(Các địa chỉ có bit cao nhất A19 = 0)(Các địa chỉ có bit cao nhất A19 = 0)
A18 A18 đến đến A0A0
(HEX)(HEX)
AAAAAAAA
11111111
99876876
AAAAAAAA
11111111
54325432
AAAAAAAA
11981198
10100000
AAAAAAAA
76547654AAAAAAAA
32103210
0000000000 00000000 00000000 00000000 00000000 00000000
7FFFF7FFFF 00111111 11111111 11111111 11111111 11111111
512K tiếp theo của không gian địa chỉ bộ nhớ512K tiếp theo của không gian địa chỉ bộ nhớ(Các địa chỉ có bit cao nhất A19 = 1)(Các địa chỉ có bit cao nhất A19 = 1)
A18 A18 đến đến A0A0
(HEX)(HEX)
AAAAAAAA
11111111
99876876
AAAAAAAA
11111111
54325432
AAAAAAAA
11981198
10100000
AAAAAAAA
76547654AAAAAAAA
32103210
8000080000 11000000 00000000 00000000 00000000 00000000
FFFFFFFFFF 11111111 11111111 11111111 11111111 11111111
Bộ nhớ 512KBBộ 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?Đ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?Điều gì xảy ra nếu 8088 đọc ô nhớ A0023h?
A19 A19 đến đến A0A0
(HEX)(HEX)
AAAAAAAA
11111111
99876876
AAAAAAAA
11111111
54325432
AAAAAAAA
11981198
10100000
AAAAAAAA
76547654AAAAAAAA
32103210
A0023A0023 11010010 00000000 00000000 00100010 00110011
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?Điều gì xảy ra nếu 8088 đọc ô nhớ 20023h?
A18 A18 đến đến A0A0
(HEX)(HEX)
AAAAAAAA
11111111
99876876
AAAAAAAA
11111111
54325432
AAAAAAAA
11981198
10100000
AAAAAAAA
76547654AAAAAAAA
32103210
2002320023 00010010 00000000 00000000 00100010 00110011
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?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 đề !!!Có vấn đề !!!
Vấn đề là:Vấn đề là: Xung đột Bus. Hai khối Xung đột Bus. Hai khối nhớ sẽ cung cấp dữ liệu cùng một lúc nhớ sẽ cung cấp dữ liệu cùng một lúc khi 8088 đọc bộ nhớkhi 8088 đọc bộ nhớ
Giải pháp:Giải pháp: Dùng A19 làm “người Dùng A19 làm “người phân xử” để giải quyết xung đột trên phân xử” để giải quyết xung đột trên bus. Nếu A19 ở mức logic “1” thì bus. Nếu A19 ở mức logic “1” thì khối nhớ trên hoạt động (khối nhớ khối nhớ trên hoạt động (khối nhớ dưới bị cấm) và ngược lạidưới bị cấm) và ngược lại
Bộ nhớ gồm hai khối nhớ 512KBBộ 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ớ 1MKhông gian địa chỉ bộ nhớ 1M
A19 A19 đến đến A0A0
(HEX)(HEX)
AAAAAAAA
11111111
98769876
AAAAAAAA
11111111
54325432
AAAAAAAA
11981198
10100000
AAAAAAAA
76547654AAAAAAAA
32103210
0000000000 00000000 00000000 00000000 00000000 00000000
7FFFF7FFFF 01110111 11111111 11111111 11111111 11111111
8000080000 10001000 00000000 00000000 00000000 00000000
FFFFFFFFFF 11111111 11111111 11111111 11111111 11111111
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ớ 512KBBộ 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
Khi P xuất một địa chỉ từ 00000h đến 7FFFFh, Bộ nhớ này hoạt động
Bộ nhớ gồm hai khối nhớ 512KBBộ 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ý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?
Nếu bỏ đi khối nhớ bên dưới thì …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 đủ và không đầy đủ
Giải mã đầy đủ (Full Decoding)Giải mã đầy đủ (Full Decoding)• Tất cả các đường địa chỉ có nghĩa đều được sử Tất cả các đường địa chỉ có nghĩa đều được sử
dụng vào mạch giải mãdụng vào mạch giải mã• Mỗi ô nhớ chỉ có một địa chỉ vật lý duy nhấtMỗi ô nhớ chỉ có một địa chỉ vật lý duy nhất
Giải mã không đầy đủ (Partial Decoding)Giải mã không đầy đủ (Partial Decoding)• Không phải tất cả các đường địa chỉ có nghĩa 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ãđề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ýMột ô nhớ có hơn một địa chỉ vật lý
Giải mã đầy đủ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 đủGiải mã đầy đủ
A19 A19 đến đến A0A0
(HEX)(HEX)
AAAAAAAA
11111111
98769876
AAAAAAAA
11111111
54325432
AAAAAAAA
11981198
10100000
AAAAAAAA
76547654AAAAAAAA
32103210
8000080000 10001000 00000000 00000000 00000000 00000000
FFFFFFFFFF 11111111 11111111 11111111 11111111 11111111
A19 phải ở mức “1” thì chip nhớ mới hoạt động (được chọn)
Giải mã đầy đủGiải mã đầy đủ
A19 A19 đến đến A0A0
(HEX)(HEX)
AAAAAAAA
11111111
98769876
AAAAAAAA
11111111
54325432
AAAAAAAA
11981198
10100000
AAAAAAAA
76547654AAAAAAAA
32103210
0000000000 00000000 00000000 00000000 00000000 00000000
7FFFF7FFFF 01110111 11111111 11111111 11111111 11111111Do đó, 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 đủ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 đủGiải mã không đầy đủA19 A19 đến đến A0A0
(HEX)(HEX)
AAAAAAAA
11111111
98769876
AAAAAAAA
11111111
54325432
AAAAAAAA
11981198
10100000
AAAAAAAA
76547654AAAAAAAA
32103210
0000000000 00000000 00000000 00000000 00000000 00000000
7FFFF7FFFF 01110111 11111111 11111111 11111111 11111111
8000080000 10001000 00000000 00000000 00000000 00000000
FFFFFFFFFF 11111111 11111111 11111111 11111111 11111111
A19 không có ý nghĩa với chip nhớ
Giải mã không đầy đủGiải mã không đầy đủ
A19 A19 đến đến A0A0
(HEX)(HEX)
AAAAAAAA
11111111
98769876
AAAAAAAA
11111111
54325432
AAAAAAAA
11981198
10100000
AAAAAAAA
76547654AAAAAAAA
32103210
0000000000 00000000 00000000 00000000 00000000 00000000
7FFFF7FFFF 01110111 11111111 11111111 11111111 11111111
8000080000 10001000 00000000 00000000 00000000 00000000
FFFFFFFFFF 11111111 11111111 11111111 11111111 11111111Địa chỉ thực tế
Giải mã không đầy đủGiải mã không đầy đủ
A19 A19 đến đến A0A0
(HEX)(HEX)
AAAAAAAA
11111111
98769876
AAAAAAAA
11111111
54325432
AAAAAAAA
11981198
10100000
AAAAAAAA
76547654AAAAAAAA
32103210
0000000000 00000000 00000000 00000000 00000000 00000000
7FFFF7FFFF 01110111 11111111 11111111 11111111 11111111
8000080000 10001000 00000000 00000000 00000000 00000000
FFFFFFFFFF 11111111 11111111 11111111 11111111 11111111Địa chỉ thực tế
Bộ nhớ gồm 2 chip 512Kx8Bộ nhớ gồm 2 chip 512Kx8
8088Minimum
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)Bộ nhớ chỉ có một chip 512Kx8 (Ver. 1)
8088Minimum
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)Bộ nhớ chỉ có một chip 512Kx8 (Ver. 2)
8088Minimum
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)Bộ nhớ chỉ có một chip 512Kx8 (Ver. 3)
8088Minimum
Mode
A18
A0
:
D7
D0
:
MEMR
MEMW
A19
512KB
A18
A0
:
D7
D0
:
RD
WR
CS
Bộ nhớ gồm 4 chip 256Kx8Bộ nhớ gồm 4 chip 256Kx8
8088Minimum
Mode
A17
A0:
D7
D0:
MEMRMEMW
A18
256KB#3
A17
A0:
D7
D0:
RDWR
CS
A19
256KB#2
A17
A0:
D7
D0:
RDWR
CS
256KB#1
A17
A0:
D7
D0:
RDWR
CS
256KB#4
A17
A0:
D7
D0:
RDWR
CS
Bộ nhớ gồm 4 chip 256Kx8Bộ nhớ gồm 4 chip 256Kx8
8088Minimum
Mode
A17
A0:
D7
D0:
MEMRMEMW
A18
256KB#3
A17
A0:
D7
D0:
RDWR
CS
A19
256KB#2
A17
A0:
D7
D0:
RDWR
CS
256KB#1
A17
A0:
D7
D0:
RDWR
CS
256KB#4
A17
A0:
D7
D0:
RDWR
CS
Dải địa chỉ của chip #1Dải địa chỉ của chip #1
A19 A19 đến đến A0A0
(HEX)(HEX)
AAAAAAAA
11111111
98769876
AAAAAAAA
11111111
54325432
AAAAAAAA
11981198
10100000
AAAAAAAA
76547654AAAAAAAA
32103210
---------- -------- -------- -------- -------- --------
---------- -------- -------- -------- -------- --------
Dải địa chỉ của chip #2Dải địa chỉ của chip #2
A19 A19 đến đến A0A0
(HEX)(HEX)
AAAAAAAA
11111111
98769876
AAAAAAAA
11111111
54325432
AAAAAAAA
11981198
10100000
AAAAAAAA
76547654AAAAAAAA
32103210
---------- -------- -------- -------- -------- --------
---------- -------- -------- -------- -------- --------
Dải địa chỉ của chip #3Dải địa chỉ của chip #3
A19 A19 đến đến A0A0
(HEX)(HEX)
AAAAAAAA
11111111
98769876
AAAAAAAA
11111111
54325432
AAAAAAAA
11981198
10100000
AAAAAAAA
76547654AAAAAAAA
32103210
---------- -------- -------- -------- -------- --------
---------- -------- -------- -------- -------- --------
Dải địa chỉ của chip #4Dải địa chỉ của chip #4
A19 A19 đến đến A0A0
(HEX)(HEX)
AAAAAAAA
11111111
98769876
AAAAAAAA
11111111
54325432
AAAAAAAA
11981198
10100000
AAAAAAAA
76547654AAAAAAAA
32103210
---------- -------- -------- -------- -------- --------
---------- -------- -------- -------- -------- --------
Bộ nhớ gồm 4 chip 256Kx8Bộ nhớ gồm 4 chip 256Kx8dùng các cổng logicdùng các cổng logic
8088Minimum
Mode
A17
A0:
D7
D0:
MEMRMEMW
A18
256KB#3
A17
A0:
D7
D0:
RDWR
CS
A19
256KB#2
A17
A0:
D7
D0:
RDWR
CS
256KB#1
A17
A0:
D7
D0:
RDWR
CS
256KB#4
A17
A0:
D7
D0:
RDWR
CS
Bộ nhớ gồm 4 chip 256Kx8Bộ nhớ gồm 4 chip 256Kx8dùng các cổng logicdùng các cổng logic
8088Minimum
Mode
A17
A0:
D7
D0:
MEMRMEMW
A18
256KB#3
A17
A0:
D7
D0:
RDWR
CS
A19
256KB#2
A17
A0:
D7
D0:
RDWR
CS
256KB#1
A17
A0:
D7
D0:
RDWR
CS
256KB#4
A17
A0:
D7
D0:
RDWR
CS
Bộ nhớ gồm 4 chip 256Kx8Bộ nhớ gồm 4 chip 256Kx8dùng một chip giải mã 2-4dùng một chip giải mã 2-4
8088Minimum
Mode
A17
A0:
D7
D0:
MEMRMEMW
A18
256KB#3
A17
A0:
D7
D0:
RDWR
CS
A19
256KB#2
A17
A0:
D7
D0:
RDWR
CS
256KB#1
A17
A0:
D7
D0:
RDWR
CS
256KB#4
A17
A0:
D7
D0:
RDWR
CSI1I0
O3
O2
O1
O0
Ghép nối các chip Ghép nối các chip nhớ 8Kx8 với nhớ 8Kx8 với P P 80888088
8088Minimum
Mode
A12
A0:
D7
D0:
MEMRMEMW
A13A14
8KB#2
A12
A0:
D7
D0:
RDWR
CS
8KB#1
A12
A0:
D7
D0:
RDWR
CS
8KB#?
A12
A0:
D7
D0:
RDWR
CS
A15A16A17A18A19
::
8088Minimum
Mode
A12
A0:
D7
D0:
MEMRMEMW
A13A14
8KB#2
A12
A0:
D7
D0:
RDWR
CS
8KB#1
A12
A0:
D7
D0:
RDWR
CS
8KB#128
A12
A0:
D7
D0:
RDWR
CS
A15A16A17A18A19
::
Bộ nhớ gồm 128 Bộ nhớ gồm 128 chip 8Kx8chip 8Kx8
8088Minimum
Mode
A12
A0:
D7
D0:
MEMRMEMW
A13A14
8KB#2
A12
A0:
D7
D0:
RDWR
CS
8KB#1
A12
A0:
D7
D0:
RDWR
CS
8KB#128
A12
A0:
D7
D0:
RDWR
CS
A15A16A17A18A19
::
Bộ nhớ gồm 128 Bộ nhớ gồm 128 chip 8Kx8chip 8Kx8
Dải địa chỉ của Chip #__ Dải địa chỉ của Chip #__
A19 A19 đến đến A0A0
(HEX)(HEX)
AAAAAAAA
11111111
98769876
AAAAAAAA
11111111
54325432
AAAAAAAA
11981198
10100000
AAAAAAAA
76547654AAAAAAAA
32103210
---------- -------- -------- -------- -------- --------
---------- -------- -------- -------- -------- --------
8088Minimum
Mode
A12
A0:
D7
D0:
MEMRMEMW
A13A14
8KB#2
A12
A0:
D7
D0:
RDWR
CS
8KB#1
A12
A0:
D7
D0:
RDWR
CS
8KB#128
A12
A0:
D7
D0:
RDWR
CS
A15A16A17A18A19
::
Bộ nhớ gồm 128 Bộ nhớ gồm 128 chip 8Kx8chip 8Kx8
Phát biểu bài toánPhát biểu bài toán
Thiết kế bộ nhớ cho hệ vi xử lý 8088 thoả Thiết kế bộ nhớ cho hệ vi xử lý 8088 thoả mãn các yêu cầu:mãn các yêu cầu:
ROM có dung lượng 2Kx8 chiếm dụng các ROM có dung lượng 2Kx8 chiếm dụng các địa chỉ từ FFFFFh trở xuốngđịa chỉ từ FFFFFh trở xuống
RWM có dung lượng 2Kx8 chiếm dụng các RWM có dung lượng 2Kx8 chiếm dụng các địa chỉ tiếp theo ngay sau ROMđịa chỉ tiếp theo ngay sau ROM
Chỉ được phép sử dụng:Chỉ được phép sử dụng:EPROM 2716 2Kx8, SRAM 4016 2Kx8EPROM 2716 2Kx8, SRAM 4016 2Kx8Chip giải mã 74LS138 và các cổng logicChip giải mã 74LS138 và các cổng logic
Bước 1: Vẽ bản đồ bộ nhớ cần thiết kế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 BBước 2: Chuyển các địa chỉ biên từ H sang B
A19 A19 đến đến A0A0
(HEX)(HEX)
AAAAAAAA
11111111
98769876
AAAAAAAA
11111111
54325432
AAAAAAAA
11981198
10100000
AAAAAAAA
76547654AAAAAAAA
32103210
FF800FF800 11111111 11111111 11000000 00000000 00000000
FFFFFFFFFF 11111111 11111111 11111111 11111111 11111111
Bước 2: Chuyển các địa chỉ biên từ H sang BBước 2: Chuyển các địa chỉ biên từ H sang B
A19 A19 đến đến A0A0
(HEX)(HEX)
AAAAAAAA
11111111
98769876
AAAAAAAA
11111111
54325432
AAAAAAAA
11981198
10100000
AAAAAAAA
76547654AAAAAAAA
32103210
FF000FF000 11111111 11111111 00000000 00000000 00000000
FF7FFFF7FF 11111111 11111111 00111111 11111111 11111111
Nhận xét Nhận xét
Khi các địa chỉ dành cho ROM được Khi các địa chỉ dành cho ROM được phát lên A-Bus: A19 – A12 = 1 và phát lên A-Bus: A19 – A12 = 1 và A11 = 1A11 = 1
Khi các địa chỉ dành cho RWM được Khi các địa chỉ dành cho RWM được phát lên A-Bus: A19 – A12 = 1 và phát lên A-Bus: A19 – A12 = 1 và A11 = 0A11 = 0
Bước 3: Vẽ mạch giải mã địa Bước 3: Vẽ mạch giải mã địa chỉ bộ nhớchỉ bộ nhớ
Ghép các chân dữ liệu của các chip Ghép các chân dữ liệu của các chip nhớ với D-Busnhớ với D-Bus
Ghép các chân địa chỉ và các chân Ghép các chân địa chỉ và các chân điều khiển:điều khiển:Khi vi xử lý truy cập các cổng I/O thì 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)các chip nhớ bị cấm (Khi IO/M = 1)Khi vi xử lý truy cập bộ nhớ (IO/M = Khi vi xử lý truy cập bộ nhớ (IO/M = 0) thì chỉ có một chip nhớ làm việc0) thì chỉ có một chip nhớ làm việc
Có thể có nhiều lời giải khác nhauCó thể có nhiều lời giải khác nhau
74LS138: Một chip giải mã 3-874LS138: Một chip giải mã 3-8
74LS138
C
B
A
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
G1
G2A
G2B
74LS138
A2A1A0
E3E2E1
Q7Q6Q5Q4Q3Q2Q1Q0
U174LS138
Bộ nhớ cần thiết kế Bộ nhớ cần thiết kế
8088Minimum
Mode
A17
A0:
D7
D0:
MEMRMEMW
A18A19
2Kx8
4016
A11
A0:
D7
D0:
OEWE
CS
2Kx8
2716
A11
A0:
D7
D0:
OE
CE
74LS138
CBA
Y0Y1Y2Y3Y4Y5Y6Y7
G1G2AG2B