SlideShare a Scribd company logo
1 of 117
Kỹ thuật Vi xử lý
Điện tử-Viễn thông
Đại học Bách khoa Đà Nẵng
Chương 4
4.1 Phân loại bộ nhớ bán dẫn
4.2 Hoạt động của các chip EPROM
4.3 Hoạt động của các chip SRAM
4.4 Bus hệ thống của hệ vi xử lý 8088
4.5 Bài toán thiết kế bộ nhớ
Mục tiêu và biện pháp thiết kế
 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 đột:
Các chip nhớ bị cấm khi vi xử lý truy cập
các cổng I/O
Chỉ có một chip nhớ hoạt động khi vi xử lý
truy cập bộ nhớ
 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
logic hoặc kết hợp cả hai
4.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 EPROM
EPROM
A0
A1
A2
A3
A4
A5
A6
A7
A8
A p-1
Vpp
D0
D1
D2
D3
D4
D5
D6
D
m-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ớ
 Một chip nhớ được xem như một mảng
gồm n ô nhớ. Mỗi ô nhớ lưu trữ được m-bit
dữ liệu
 Dung lượng của chip thường được biểu
diễn: nxm
Ví dụ: Một chip có dung lượng 2Kx8 nghĩa
là chip đó có 2048 ô nhớ và mỗi ô nhớ có
thể lưu trữ được 1 byte dữ liệu
 m chính là số chân dữ liệu của chip
 log2(n) = p là số chân địa chỉ của chip
Hoạt động ghi dữ liệu vào EPROM
 Việc ghi dữ liệu vào EPROM được gọi là lập
trình cho EPROM
 Được thực hiện bằng thiết bị chuyên dụng
gọi là Bộ nạp EPROM
 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ình
 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
đư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
chân PGM
Hoạt động đọc dữ liệu từ một chip EPROM
Để đọc dữ liệu từ 1 ô nhớ nào đó của
1 chip EPROM nào đó, Bộ vi xử lý cần
phải:
 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
Họ EPROM thông dụng 27x
Số hiệu của chip Dung lượng
2716 2Kx8
2732 4Kx8
2764 8Kx8
27128 16Kx8
27256 32Kx8
27512 64Kx8
Bảng 4.1 Họ EPROM 27x
 Sơ đồ chân
của 2716
và 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 2764
Chọn chip
Điều khiển đọc
Các chân địa chỉ
Các chân dữ liệu
EPROM 2764
Lập trình cho 2764
 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 = 1
 Xoá một chip EPROM bằng tia cực tím
 Lập trình bằng cách:
• VPP mắc ở mức 12.5V
• E và P đều ở mức thấp TTL
 Cá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ỉ
4.3 Các chip SRAM
SRAM
A0
A1
A2
A3
A4
A5
A6
A7
A8
A p-1
D0
D1
D2
D3
D4
D5
D6
D
m-1
WE
OE
CS
P chân địa chỉ
m chân dữ liệu
Điều khiển đọc
Chọn chip
Điều khiển ghi
Đọc dữ liệu từ một chip SRAM
Để đọc dữ liệu từ 1 ô nhớ nào đó của 1 chip
SRAM nào đó, vi xử lý cần phải:
 Chọn chip đó: 0 -----------> CS
 Áp các tín hiệu địa chỉ vào 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
Ghi dữ liệu vào một chip SRAM
Để 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:
 Chọn chip đó: 0 --------> CS
 Áp các tín hiệu địa chỉ vào Ap-1 – A0
 Áp m bit dữ liệu cần ghi vào các chân dữ
liệu Dm-1 – D0
 Ghi: 0 --------- > WE
Kết quả là các bit dữ liệu ở các chân dữ liệu
sẽ được ghi vào ô nhớ đã chọn
SRAM 6264
 Dung lượng 8Kx8
 8 chân dữ liệu
 13 chân địa chỉ
 Hai chân chọn
chip
 Chân điều khiển
đọc
 Chân điều khiển
ghi
6264
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
CS2
I/O0
I/O1
I/O2
I/O3
I/O4
I/O5
I/O6
I/O7
CS1
OE
WE
32K x 8 Static RAM
1
2
3
4
5
6
7
9
10
11
12
8
19
20
17
18
15
16
13
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 6264
Chức năng của 6264
4.4 Bus hệ thống của 8088
 Bus địa chỉ 20-bit: gồm các đường địa chỉ
được ký hiệu từ A19 đến A0
 Bus dữ liệu 8-bit: gồm các đường dữ liệu
được ký hiệu từ D7 đến D0
 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ộ 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ể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.
80x86 Microprocessors
Product 8008 808
0
808
5
808
6
808
8
8028
6
80386 80486 Pent. Pent.
Pro
Year Introduced 1972 1974 1976 1978 1979 1982 1985 1989 1992 1995
Technology PMOS NMO
S
NMO
S
NMO
S
NMO
S
NMOS CMOS CMOS BICMO
S
BICMO
S
Clock Rate 0.5-
0.8
2-3 3-8 5-10 5-8 10-
16?
16-40 66 60-
66+
150
Number of Pins 18 40 40 40 40 132 168 273 387
Number of
transistors
3000 4500 6500 29K 29K 130K 275K 1.2M 3M 5.5M
Number of
instructions
66 111 113 133 133
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
2
8,16,3
2
8,16,3
2
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 - S3
A19 - 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
74LS245
garbage
A7 - A0
A15 - A8
Mô tả chân
 BHE
 Bus High Enable
 Phân biệt byte thấp và
byte cao của một từ
(chỉ với 8086)
Mô tả chân
 NMI
 Non Maskable
Interrupt
 Đầu vào ngắt
không che được
Mô tả chân
 INTR
 Interrupt Request
 Đầu vào ngắt che
được
 Nối với chip điều
khiển ngắt 8259
 INTA: chấp nhận
ngắt
Mô tả chân
 CLK
 Clock
 Đầu vào đồng hồ
 Nối với chip 8284
Mô tả châ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
Mô tả chân
 READY
 Chèn thêm một trạng
thái đợi (wait state)
Mô tả chân
 TEST
 Đến từ 8087 (Bộ đồng
xử lý)
 Đồng bộ 8088 và
8087
Mô tả chân
 MN/MX
 Minimum mode = +5V
 Maximum mode =
Gnd
Mô tả chân – Max
 QS0, QS1
 Queue status
 Trạng thái của hàng
đợi lệnh:
• 00 – No operation
• 01 – first byte of
opcode from queue
• 10 – empty the queue
• 11 – subsequent byte
from queue
Mô tả chân – Max
 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
Mô tả chân – Max
 LOCK
 Locks processor to
system bus
 Gain the lock by using
LOCK prefix on an
assembly instruction
 Used with status
signals to prevent
DMA from gaining
control of the buses
Mô tả chân – Max
 RQ/GT0, RQ/GT1
 Request/Grant
 Bi-directional
 Gain control of local
bus
 RQ/GT0 normally
permanently high
(disabled)
 RQ/GT1 is connected
to the 8087
Mô tả chân – Min
 INTA
 Interrupt acknowledge
 Chấp nhận ngắt
Mô tả chân – Min
 ALE
 Address Latch
Enable
 Tín hiệu ở các chân
Địa chỉ/Dữ liệu và
các chân Địa
chỉ/Trạng thái lúc
ALE = 1 là các tín
hiệu địa chỉ
Mô tả chân
 AD0-AD7
 Các chân Địa
chỉ/Dữ liệu
 Tín hiệu ở các chân
này là 8 bit địa chỉ
thấp A0 đến A7 khi
ALE =1, là 8 bit dữ
liệu D0 đến D7 khi
ALE = 0
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 RD W
R
IO/M Signal
0 1 0 MEMR
1 0 0 MEMW
0 1 1 IOR
1 0 1 IOW
0 0 X Never
happens
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 74LS373
8088
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 - D0
A7 - 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
A19
đến
A0
(HEX)
AAAA
1111
9876
AAAA
1111
5432
AAAA
1198
1000
AAAA
7654
AAAA
3210
00000 0000 0000 0000 0000 0000
FFFFF 1111 1111 1111 1111 1111
Ví dụ: Một địa chỉ bất kỳ 34FD0h
0011 0100 11111 1101 0000
Bộ nhớ đầy đủ 1MB
23
00000
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
XXXX
IP
XXXX
DI
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)
A18
đến
A0
(HEX)
AAAA
1111
9876
AAAA
1111
5432
AAAA
1198
1000
AAAA
7654
AAAA
3210
00000 0000 0000 0000 0000 0000
7FFFF 0111 1111 1111 1111 1111
512K tiếp theo của không gian địa chỉ bộ nhớ
(Các địa chỉ có bit cao nhất A19 = 1)
A18
đến
A0
(HEX)
AAAA
1111
9876
AAAA
1111
5432
AAAA
1198
1000
AAAA
7654
AAAA
3210
80000 1000 0000 0000 0000 0000
FFFFF 1111 1111 1111 1111 1111
Bộ 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
XXXX
IP
XXXX
DI
23
00000
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
MEMW
XXXX
BP
ES
DS
SS
CX
BX
AX
XXXX
XXXX
XXXX
A000
0000
0023
3F1C
FCA1
SP
DX
XXXX
CS
SI
XXXX
XXXX
IP
XXXX
DI
23
00000
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?
A19
đến
A0
(HEX)
AAAA
1111
9876
AAAA
1111
5432
AAAA
1198
1000
AAAA
7654
AAAA
3210
A0023 1010 0000 0000 0010 0011
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?
A18
đến
A0
(HEX)
AAAA
1111
9876
AAAA
1111
5432
AAAA
1198
1000
AAAA
7654
AAAA
3210
20023 0010 0000 0000 0010 0011
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
XXXX
IP
XXXX
DI
A19
23
00000
00001 95
:
20020
20021
20022
20023
7FFFD
7FFFE
7FFFF
29
12
7D
13
19
25
36
:
:
:
A18
A0
:
D7
D0
:
RD
WR
CS
97
00000
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
XXXX
IP
XXXX
DI
A19
23
00000
00001 95
:
20020
20021
20022
20023
7FFFD
7FFFE
7FFFF
29
12
7D
13
19
25
36
:
:
:
A18
A0
:
D7
D0
:
RD
WR
CS
97
00000
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
A19
đến
A0
(HEX)
AAAA
1111
9876
AAAA
1111
5432
AAAA
1198
1000
AAAA
7654
AAAA
3210
00000 0000 0000 0000 0000 0000
7FFFF 0111 1111 1111 1111 1111
80000 1000 0000 0000 0000 0000
FFFFF 1111 1111 1111 1111 1111
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
XXXX
IP
XXXX
DI
A19
23
00000
00001 95
:
20020
20021
20022
20023
7FFFD
7FFFE
7FFFF
29
12
7D
13
19
25
36
:
:
:
A18
A0
:
D7
D0
:
RD
WR
CS
97
00000
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
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ớ 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
XXXX
IP
XXXX
DI
A19
23
00000
00001 95
:
20020
20021
20022
20023
7FFFD
7FFFE
7FFFF
29
12
7D
13
19
25
36
:
:
:
A18
A0
:
D7
D0
:
RD
WR
CS
97
00000
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
XXXX
IP
XXXX
DI
A19
23
00000
00001 95
:
20020
20021
20022
20023
7FFFD
7FFFE
7FFFF
29
12
7D
13
19
25
36
:
:
:
A18
A0
:
D7
D0
:
RD
WR
CS
97
00000
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
XXXX
IP
XXXX
DI
A19
23
00000
00001 95
:
20020
20021
20022
20023
7FFFD
7FFFE
7FFFF
29
12
7D
13
19
25
36
:
:
:
A18
A0
:
D7
D0
:
RD
WR
CS
97
00000
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
XXXX
IP
XXXX
DI
A19
23
00000
00001 95
:
20020
20021
20022
20023
7FFFD
7FFFE
7FFFF
29
12
7D
13
19
25
36
:
:
:
A18
A0
:
D7
D0
:
RD
WR
CS
Khi 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
XXXX
IP
XXXX
DI
A19
23
00000
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 đủ
A19
đến
A0
(HEX)
AAAA
1111
9876
AAAA
1111
5432
AAAA
1198
1000
AAAA
7654
AAAA
3210
80000 1000 0000 0000 0000 0000
FFFFF 1111 1111 1111 1111 1111
A19 phải ở mức “1” thì chip nhớ mới
hoạt động (được chọn)
Giải mã đầy đủ
A19
đến
A0
(HEX)
AAAA
1111
9876
AAAA
1111
5432
AAAA
1198
1000
AAAA
7654
AAAA
3210
00000 0000 0000 0000 0000 0000
7FFFF 0111 1111 1111 1111 1111
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
MEMW
XXXX
BP
ES
DS
SS
CX
BX
AX
XXXX
XXXX
XXXX
2000
0000
0023
3F1C
FCA1
SP
DX
XXXX
CS
SI
XXXX
XXXX
IP
XXXX
DI
23
00000
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 đủ
A19
đến
A0
(HEX)
AAAA
1111
9876
AAAA
1111
5432
AAAA
1198
1000
AAAA
7654
AAAA
3210
00000 0000 0000 0000 0000 0000
7FFFF 0111 1111 1111 1111 1111
80000 1000 0000 0000 0000 0000
FFFFF 1111 1111 1111 1111 1111
A19 không có ý nghĩa với chip nhớ
Giải mã không đầy đủ
A19
đến
A0
(HEX)
AAAA
1111
9876
AAAA
1111
5432
AAAA
1198
1000
AAAA
7654
AAAA
3210
00000 0000 0000 0000 0000 0000
7FFFF 0111 1111 1111 1111 1111
80000 1000 0000 0000 0000 0000
FFFFF 1111 1111 1111 1111 1111
Địa chỉ thực tế
Giải mã không đầy đủ
A19
đến
A0
(HEX)
AAAA
1111
9876
AAAA
1111
5432
AAAA
1198
1000
AAAA
7654
AAAA
3210
00000 0000 0000 0000 0000 0000
7FFFF 0111 1111 1111 1111 1111
80000 1000 0000 0000 0000 0000
FFFFF 1111 1111 1111 1111 1111
Đị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
A19
đến
A0
(HEX)
AAAA
1111
9876
AAAA
1111
5432
AAAA
1198
1000
AAAA
7654
AAAA
3210
----- ---- ---- ---- ---- ----
----- ---- ---- ---- ---- ----
Dải địa chỉ của chip #2
A19
đến
A0
(HEX)
AAAA
1111
9876
AAAA
1111
5432
AAAA
1198
1000
AAAA
7654
AAAA
3210
----- ---- ---- ---- ---- ----
----- ---- ---- ---- ---- ----
Dải địa chỉ của chip #3
A19
đến
A0
(HEX)
AAAA
1111
9876
AAAA
1111
5432
AAAA
1198
1000
AAAA
7654
AAAA
3210
----- ---- ---- ---- ---- ----
----- ---- ---- ---- ---- ----
Dải địa chỉ của chip #4
A19
đến
A0
(HEX)
AAAA
1111
9876
AAAA
1111
5432
AAAA
1198
1000
AAAA
7654
AAAA
3210
----- ---- ---- ---- ---- ----
----- ---- ---- ---- ---- ----
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
CS
I1
I0
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 #__
A19
đến
A0
(HEX)
AAAA
1111
9876
AAAA
1111
5432
AAAA
1198
1000
AAAA
7654
AAAA
3210
----- ---- ---- ---- ---- ----
----- ---- ---- ---- ---- ----
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
A19
đến
A0
(HEX)
AAAA
1111
9876
AAAA
1111
5432
AAAA
1198
1000
AAAA
7654
AAAA
3210
FF800 1111 1111 1000 0000 0000
FFFFF 1111 1111 1111 1111 1111
Bước 2: Chuyển các địa chỉ biên từ H sang B
A19
đến
A0
(HEX)
AAAA
1111
9876
AAAA
1111
5432
AAAA
1198
1000
AAAA
7654
AAAA
3210
FF000 1111 1111 0000 0000 0000
FF7FF 1111 1111 0111 1111 1111
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
A11
A0
:
D7
D0
:
OE
WE
CS
2Kx8
2716
A11
A0
:
D7
D0
:
OE
CE
74LS138
C
B
A
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
G1
G2A
G2B

More Related Content

Similar to ky thuat vi xu lychuong4.ppt

Tailieu.vncty.com thiet-ke-dong-ho-thoi-gian-thu
Tailieu.vncty.com   thiet-ke-dong-ho-thoi-gian-thuTailieu.vncty.com   thiet-ke-dong-ho-thoi-gian-thu
Tailieu.vncty.com thiet-ke-dong-ho-thoi-gian-thuTrần Đức Anh
 
[Giao trinh] vi dieu-khien_8051 - dh tra vinh
[Giao trinh]   vi dieu-khien_8051 - dh tra vinh[Giao trinh]   vi dieu-khien_8051 - dh tra vinh
[Giao trinh] vi dieu-khien_8051 - dh tra vinhcry_viem
 
Microprocessor final ver1_part2
Microprocessor final ver1_part2Microprocessor final ver1_part2
Microprocessor final ver1_part2Mit Rin
 
Họ vi xử lí 8086 intel
Họ vi xử lí 8086 intelHọ vi xử lí 8086 intel
Họ vi xử lí 8086 inteldark_valley
 
Cau truc phan cung pic16 f8xx
Cau truc phan cung pic16 f8xxCau truc phan cung pic16 f8xx
Cau truc phan cung pic16 f8xxBùi Ngọc Bảo
 
De cuong thiet bi ngoai vi
De cuong thiet bi ngoai viDe cuong thiet bi ngoai vi
De cuong thiet bi ngoai viba191992
 
Thiết kế đồng hồ thời gian thực sử dụng DS1307, hiển thị trên 6 Led 7 thanh v...
Thiết kế đồng hồ thời gian thực sử dụng DS1307, hiển thị trên 6 Led 7 thanh v...Thiết kế đồng hồ thời gian thực sử dụng DS1307, hiển thị trên 6 Led 7 thanh v...
Thiết kế đồng hồ thời gian thực sử dụng DS1307, hiển thị trên 6 Led 7 thanh v...Thư Viện Số
 
Bai 001 vxl_pic_cautruc
Bai 001 vxl_pic_cautrucBai 001 vxl_pic_cautruc
Bai 001 vxl_pic_cautrucmster_dang
 
Đồ án tốt nghiệp điện tử Điều khiển và giám sát thiết bị điện gia đình - sdt/...
Đồ án tốt nghiệp điện tử Điều khiển và giám sát thiết bị điện gia đình - sdt/...Đồ án tốt nghiệp điện tử Điều khiển và giám sát thiết bị điện gia đình - sdt/...
Đồ án tốt nghiệp điện tử Điều khiển và giám sát thiết bị điện gia đình - sdt/...Viết thuê báo cáo thực tập giá rẻ
 
Lap trinh-c-cho-vdk
Lap trinh-c-cho-vdkLap trinh-c-cho-vdk
Lap trinh-c-cho-vdkHiepsvd Bk
 
Viết Ngôn Ngữ Lập Trình 8051 PIC AVR
Viết Ngôn Ngữ Lập Trình 8051 PIC AVRViết Ngôn Ngữ Lập Trình 8051 PIC AVR
Viết Ngôn Ngữ Lập Trình 8051 PIC AVRMr Giap
 
Trac nghiem kt vi su ly 2
Trac nghiem kt vi su ly 2Trac nghiem kt vi su ly 2
Trac nghiem kt vi su ly 2Vuong Sói
 
BÁO CÁO ĐỒ ÁN MÔN HỌC MATRIX LED NHẬP TỪ BÀN PHÍM.pdf
BÁO CÁO ĐỒ ÁN MÔN HỌC MATRIX LED NHẬP TỪ BÀN PHÍM.pdfBÁO CÁO ĐỒ ÁN MÔN HỌC MATRIX LED NHẬP TỪ BÀN PHÍM.pdf
BÁO CÁO ĐỒ ÁN MÔN HỌC MATRIX LED NHẬP TỪ BÀN PHÍM.pdfMan_Ebook
 
Tổng quan Vi điều khiển - Chức năng các chân 8951
Tổng quan Vi điều khiển - Chức năng các chân 8951Tổng quan Vi điều khiển - Chức năng các chân 8951
Tổng quan Vi điều khiển - Chức năng các chân 8951Ngananh Saodem
 

Similar to ky thuat vi xu lychuong4.ppt (20)

Chuong2 cấu trúc phần cứng 8051
Chuong2 cấu trúc phần cứng 8051Chuong2 cấu trúc phần cứng 8051
Chuong2 cấu trúc phần cứng 8051
 
Tailieu.vncty.com thiet-ke-dong-ho-thoi-gian-thu
Tailieu.vncty.com   thiet-ke-dong-ho-thoi-gian-thuTailieu.vncty.com   thiet-ke-dong-ho-thoi-gian-thu
Tailieu.vncty.com thiet-ke-dong-ho-thoi-gian-thu
 
Nhóm-HM.docx
Nhóm-HM.docxNhóm-HM.docx
Nhóm-HM.docx
 
[Giao trinh] vi dieu-khien_8051 - dh tra vinh
[Giao trinh]   vi dieu-khien_8051 - dh tra vinh[Giao trinh]   vi dieu-khien_8051 - dh tra vinh
[Giao trinh] vi dieu-khien_8051 - dh tra vinh
 
Microprocessor final ver1_part2
Microprocessor final ver1_part2Microprocessor final ver1_part2
Microprocessor final ver1_part2
 
Họ vi xử lí 8086 intel
Họ vi xử lí 8086 intelHọ vi xử lí 8086 intel
Họ vi xử lí 8086 intel
 
Cau truc phan cung pic16 f8xx
Cau truc phan cung pic16 f8xxCau truc phan cung pic16 f8xx
Cau truc phan cung pic16 f8xx
 
Đề tài: Thiết kế Hệ Thống Quảng Cáo, HAY, 9đ
Đề tài: Thiết kế Hệ Thống Quảng Cáo, HAY, 9đĐề tài: Thiết kế Hệ Thống Quảng Cáo, HAY, 9đ
Đề tài: Thiết kế Hệ Thống Quảng Cáo, HAY, 9đ
 
De cuong thiet bi ngoai vi
De cuong thiet bi ngoai viDe cuong thiet bi ngoai vi
De cuong thiet bi ngoai vi
 
Thiết kế đồng hồ thời gian thực sử dụng DS1307, hiển thị trên 6 Led 7 thanh v...
Thiết kế đồng hồ thời gian thực sử dụng DS1307, hiển thị trên 6 Led 7 thanh v...Thiết kế đồng hồ thời gian thực sử dụng DS1307, hiển thị trên 6 Led 7 thanh v...
Thiết kế đồng hồ thời gian thực sử dụng DS1307, hiển thị trên 6 Led 7 thanh v...
 
Assembly
AssemblyAssembly
Assembly
 
Bai 001 vxl_pic_cautruc
Bai 001 vxl_pic_cautrucBai 001 vxl_pic_cautruc
Bai 001 vxl_pic_cautruc
 
Đồ án tốt nghiệp điện tử Điều khiển và giám sát thiết bị điện gia đình - sdt/...
Đồ án tốt nghiệp điện tử Điều khiển và giám sát thiết bị điện gia đình - sdt/...Đồ án tốt nghiệp điện tử Điều khiển và giám sát thiết bị điện gia đình - sdt/...
Đồ án tốt nghiệp điện tử Điều khiển và giám sát thiết bị điện gia đình - sdt/...
 
Lap trinh-c-cho-vdk
Lap trinh-c-cho-vdkLap trinh-c-cho-vdk
Lap trinh-c-cho-vdk
 
Viết Ngôn Ngữ Lập Trình 8051 PIC AVR
Viết Ngôn Ngữ Lập Trình 8051 PIC AVRViết Ngôn Ngữ Lập Trình 8051 PIC AVR
Viết Ngôn Ngữ Lập Trình 8051 PIC AVR
 
Trac nghiem kt vi su ly 2
Trac nghiem kt vi su ly 2Trac nghiem kt vi su ly 2
Trac nghiem kt vi su ly 2
 
Msptieuluan
MsptieuluanMsptieuluan
Msptieuluan
 
BÁO CÁO ĐỒ ÁN MÔN HỌC MATRIX LED NHẬP TỪ BÀN PHÍM.pdf
BÁO CÁO ĐỒ ÁN MÔN HỌC MATRIX LED NHẬP TỪ BÀN PHÍM.pdfBÁO CÁO ĐỒ ÁN MÔN HỌC MATRIX LED NHẬP TỪ BÀN PHÍM.pdf
BÁO CÁO ĐỒ ÁN MÔN HỌC MATRIX LED NHẬP TỪ BÀN PHÍM.pdf
 
Tổng quan Vi điều khiển - Chức năng các chân 8951
Tổng quan Vi điều khiển - Chức năng các chân 8951Tổng quan Vi điều khiển - Chức năng các chân 8951
Tổng quan Vi điều khiển - Chức năng các chân 8951
 
Chuong2
Chuong2Chuong2
Chuong2
 

ky thuat vi xu lychuong4.ppt

  • 1. Kỹ thuật Vi xử lý Điện tử-Viễn thông Đại học Bách khoa Đà Nẵng
  • 2. Chương 4 4.1 Phân loại bộ nhớ bán dẫn 4.2 Hoạt động của các chip EPROM 4.3 Hoạt động của các chip SRAM 4.4 Bus hệ thống của hệ vi xử lý 8088 4.5 Bài toán thiết kế bộ nhớ
  • 3. Mục tiêu và biện pháp thiết kế  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 đột: Các chip nhớ bị cấm khi vi xử lý truy cập các cổng I/O Chỉ có một chip nhớ hoạt động khi vi xử lý truy cập bộ nhớ  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 logic hoặc kết hợp cả hai
  • 4. 4.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
  • 5. 4.2 Các chip EPROM EPROM A0 A1 A2 A3 A4 A5 A6 A7 A8 A p-1 Vpp D0 D1 D2 D3 D4 D5 D6 D m-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
  • 6. Dung lượng của 1 chip nhớ  Một chip nhớ được xem như một mảng gồm n ô nhớ. Mỗi ô nhớ lưu trữ được m-bit dữ liệu  Dung lượng của chip thường được biểu diễn: nxm Ví dụ: Một chip có dung lượng 2Kx8 nghĩa là chip đó có 2048 ô nhớ và mỗi ô nhớ có thể lưu trữ được 1 byte dữ liệu  m chính là số chân dữ liệu của chip  log2(n) = p là số chân địa chỉ của chip
  • 7. Hoạt động ghi dữ liệu vào EPROM  Việc ghi dữ liệu vào EPROM được gọi là lập trình cho EPROM  Được thực hiện bằng thiết bị chuyên dụng gọi là Bộ nạp EPROM  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ình  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 đư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 chân PGM
  • 8. Hoạt động đọc dữ liệu từ một chip EPROM Để đọc dữ liệu từ 1 ô nhớ nào đó của 1 chip EPROM nào đó, Bộ vi xử lý cần phải:  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. Họ EPROM thông dụng 27x Số hiệu của chip Dung lượng 2716 2Kx8 2732 4Kx8 2764 8Kx8 27128 16Kx8 27256 32Kx8 27512 64Kx8 Bảng 4.1 Họ EPROM 27x
  • 10.  Sơ đồ chân của 2716 và 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
  • 11. EPROM 2764 Chọn chip Điều khiển đọc Các chân địa chỉ Các chân dữ liệu
  • 13. Lập trình cho 2764  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 = 1  Xoá một chip EPROM bằng tia cực tím  Lập trình bằng cách: • VPP mắc ở mức 12.5V • E và P đều ở mức thấp TTL  Cá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ỉ
  • 14. 4.3 Các chip SRAM SRAM A0 A1 A2 A3 A4 A5 A6 A7 A8 A p-1 D0 D1 D2 D3 D4 D5 D6 D m-1 WE OE CS P chân địa chỉ m chân dữ liệu Điều khiển đọc Chọn chip Điều khiển ghi
  • 15. Đọc dữ liệu từ một chip SRAM Để đọc dữ liệu từ 1 ô nhớ nào đó của 1 chip SRAM nào đó, vi xử lý cần phải:  Chọn chip đó: 0 -----------> CS  Áp các tín hiệu địa chỉ vào 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
  • 16. Ghi dữ liệu vào một chip SRAM Để 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:  Chọn chip đó: 0 --------> CS  Áp các tín hiệu địa chỉ vào Ap-1 – A0  Áp m bit dữ liệu cần ghi vào các chân dữ liệu Dm-1 – D0  Ghi: 0 --------- > WE Kết quả là các bit dữ liệu ở các chân dữ liệu sẽ được ghi vào ô nhớ đã chọn
  • 17. SRAM 6264  Dung lượng 8Kx8  8 chân dữ liệu  13 chân địa chỉ  Hai chân chọn chip  Chân điều khiển đọc  Chân điều khiển ghi 6264 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 CS2 I/O0 I/O1 I/O2 I/O3 I/O4 I/O5 I/O6 I/O7 CS1 OE WE
  • 18. 32K x 8 Static RAM 1 2 3 4 5 6 7 9 10 11 12 8 19 20 17 18 15 16 13 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 __
  • 21. 4.4 Bus hệ thống của 8088  Bus địa chỉ 20-bit: gồm các đường địa chỉ được ký hiệu từ A19 đến A0  Bus dữ liệu 8-bit: gồm các đường dữ liệu được ký hiệu từ D7 đến D0  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ộ 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ể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.
  • 22. 80x86 Microprocessors Product 8008 808 0 808 5 808 6 808 8 8028 6 80386 80486 Pent. Pent. Pro Year Introduced 1972 1974 1976 1978 1979 1982 1985 1989 1992 1995 Technology PMOS NMO S NMO S NMO S NMO S NMOS CMOS CMOS BICMO S BICMO S Clock Rate 0.5- 0.8 2-3 3-8 5-10 5-8 10- 16? 16-40 66 60- 66+ 150 Number of Pins 18 40 40 40 40 132 168 273 387 Number of transistors 3000 4500 6500 29K 29K 130K 275K 1.2M 3M 5.5M Number of instructions 66 111 113 133 133 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 2 8,16,3 2 8,16,3 2
  • 23. 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)
  • 24. 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)
  • 25. Sơ đồ chân của 8088
  • 26. Sơ đồ chân 8088/8086 (Min Mode)
  • 27. 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
  • 28. 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
  • 29. 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
  • 30. 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
  • 31. 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
  • 32. 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 - S3 A19 - 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 74LS245 garbage A7 - A0 A15 - A8
  • 33. Mô tả chân  BHE  Bus High Enable  Phân biệt byte thấp và byte cao của một từ (chỉ với 8086)
  • 34. Mô tả chân  NMI  Non Maskable Interrupt  Đầu vào ngắt không che được
  • 35. Mô tả chân  INTR  Interrupt Request  Đầu vào ngắt che được  Nối với chip điều khiển ngắt 8259  INTA: chấp nhận ngắt
  • 36. Mô tả chân  CLK  Clock  Đầu vào đồng hồ  Nối với chip 8284
  • 37. Mô tả châ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
  • 38. Mô tả chân  READY  Chèn thêm một trạng thái đợi (wait state)
  • 39. Mô tả chân  TEST  Đến từ 8087 (Bộ đồng xử lý)  Đồng bộ 8088 và 8087
  • 40. Mô tả chân  MN/MX  Minimum mode = +5V  Maximum mode = Gnd
  • 41. Mô tả chân – Max  QS0, QS1  Queue status  Trạng thái của hàng đợi lệnh: • 00 – No operation • 01 – first byte of opcode from queue • 10 – empty the queue • 11 – subsequent byte from queue
  • 42. Mô tả chân – Max  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
  • 43. Mô tả chân – Max  LOCK  Locks processor to system bus  Gain the lock by using LOCK prefix on an assembly instruction  Used with status signals to prevent DMA from gaining control of the buses
  • 44. Mô tả chân – Max  RQ/GT0, RQ/GT1  Request/Grant  Bi-directional  Gain control of local bus  RQ/GT0 normally permanently high (disabled)  RQ/GT1 is connected to the 8087
  • 45. Mô tả chân – Min  INTA  Interrupt acknowledge  Chấp nhận ngắt
  • 46. Mô tả chân – Min  ALE  Address Latch Enable  Tín hiệu ở các chân Địa chỉ/Dữ liệu và các chân Địa chỉ/Trạng thái lúc ALE = 1 là các tín hiệu địa chỉ
  • 47. Mô tả chân  AD0-AD7  Các chân Địa chỉ/Dữ liệu  Tín hiệu ở các chân này là 8 bit địa chỉ thấp A0 đến A7 khi ALE =1, là 8 bit dữ liệu D0 đến D7 khi ALE = 0
  • 50. Dùng 74LS373 để tách và chốt địa chỉ
  • 51. Mô tả chân – Min  DEN  Data Enable  Dữ liệu có nghĩa
  • 52. 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
  • 53. 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ớ
  • 54. 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: ?
  • 55. 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
  • 56. 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
  • 57. 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
  • 58. 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 RD W R IO/M Signal 0 1 0 MEMR 1 0 0 MEMW 0 1 1 IOR 1 0 1 IOW 0 0 X Never happens
  • 59. Tạo ra các tín hiêụ điều khiển (Min Mode)
  • 60. Tạo ra các tín hiêụ điều khiển (Min Mode)
  • 61. 8088 Bus – Min Mode
  • 63. Bus hệ thống của hệ 8088 ở Mode Minimum MEMORY D7 - D0 Q7 - Q0 OE LE 74LS373 D7 - D0 Q7 - Q0 OE LE 74LS373 8088 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 - D0 A7 - A0 B7 - B0 E DIR 74LS245 A7 - A0 A15 - A8 A19 - A16 RD WR MEMR MEMW Bus địa chỉ Bus dữ liệu
  • 64. 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?
  • 65. Minimum Mode 8088 MEMORY D7 - D0 A19 - A0 RD WR 8088 Minimum Mode D7 - D0 A19 - A0 MEMR MEMW CS 220 ô nhớ (1MB)
  • 66. Không gian địa chỉ bộ nhớ 1M A19 đến A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 00000 0000 0000 0000 0000 0000 FFFFF 1111 1111 1111 1111 1111 Ví dụ: Một địa chỉ bất kỳ 34FD0h 0011 0100 11111 1101 0000
  • 67. Bộ nhớ đầy đủ 1MB 23 00000 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 XXXX IP XXXX DI CS
  • 68. 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  …
  • 69. 512K đầu tiên của không gian địa chỉ bộ nhớ (Các địa chỉ có bit cao nhất A19 = 0) A18 đến A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 00000 0000 0000 0000 0000 0000 7FFFF 0111 1111 1111 1111 1111
  • 70. 512K tiếp theo của không gian địa chỉ bộ nhớ (Các địa chỉ có bit cao nhất A19 = 1) A18 đến A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 80000 1000 0000 0000 0000 0000 FFFFF 1111 1111 1111 1111 1111
  • 71. Bộ 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 XXXX IP XXXX DI 23 00000 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?
  • 72. Điều gì xảy ra nếu 8088 đọc ô nhớ A0023h? A18 A0 : D7 D0 : MEMR MEMW XXXX BP ES DS SS CX BX AX XXXX XXXX XXXX A000 0000 0023 3F1C FCA1 SP DX XXXX CS SI XXXX XXXX IP XXXX DI 23 00000 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]
  • 73. Điều gì xảy ra nếu 8088 đọc ô nhớ A0023h? A19 đến A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 A0023 1010 0000 0000 0010 0011 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.
  • 74. Điều gì xảy ra nếu 8088 đọc ô nhớ 20023h? A18 đến A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 20023 0010 0000 0000 0010 0011 Với bộ nhớ tình hình không có gì khác!
  • 75. 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 XXXX IP XXXX DI A19 23 00000 00001 95 : 20020 20021 20022 20023 7FFFD 7FFFE 7FFFF 29 12 7D 13 19 25 36 : : : A18 A0 : D7 D0 : RD WR CS 97 00000 00001 D4 : 20020 20021 20022 20023 7FFFD 7FFFE 7FFFF A3 92 45 33 2C 98 12 : : : A18 A0 : D7 D0 : RD WR CS
  • 76. 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
  • 77. 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 XXXX IP XXXX DI A19 23 00000 00001 95 : 20020 20021 20022 20023 7FFFD 7FFFE 7FFFF 29 12 7D 13 19 25 36 : : : A18 A0 : D7 D0 : RD WR CS 97 00000 00001 D4 : 20020 20021 20022 20023 7FFFD 7FFFE 7FFFF A3 92 45 33 2C 98 12 : : : A18 A0 : D7 D0 : RD WR CS
  • 78. Không gian địa chỉ bộ nhớ 1M A19 đến A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 00000 0000 0000 0000 0000 0000 7FFFF 0111 1111 1111 1111 1111 80000 1000 0000 0000 0000 0000 FFFFF 1111 1111 1111 1111 1111
  • 80. 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 XXXX IP XXXX DI A19 23 00000 00001 95 : 20020 20021 20022 20023 7FFFD 7FFFE 7FFFF 29 12 7D 13 19 25 36 : : : A18 A0 : D7 D0 : RD WR CS 97 00000 00001 D4 : 20020 20021 20022 20023 7FFFD 7FFFE 7FFFF A3 92 45 33 2C 98 12 : : : A18 A0 : D7 D0 : RD WR CS
  • 81. 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 XXXX IP XXXX DI A19 23 00000 00001 95 : 20020 20021 20022 20023 7FFFD 7FFFE 7FFFF 29 12 7D 13 19 25 36 : : : A18 A0 : D7 D0 : RD WR CS 97 00000 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ớ
  • 83. 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 XXXX IP XXXX DI A19 23 00000 00001 95 : 20020 20021 20022 20023 7FFFD 7FFFE 7FFFF 29 12 7D 13 19 25 36 : : : A18 A0 : D7 D0 : RD WR CS Khi 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! !
  • 84. 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ý
  • 85. 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 XXXX IP XXXX DI A19 23 00000 00001 95 : 20020 20021 20022 20023 7FFFD 7FFFE 7FFFF 29 12 7D 13 19 25 36 : : : A18 A0 : D7 D0 : RD WR CS
  • 86. Giải mã đầy đủ A19 đến A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 80000 1000 0000 0000 0000 0000 FFFFF 1111 1111 1111 1111 1111 A19 phải ở mức “1” thì chip nhớ mới hoạt động (được chọn)
  • 87. Giải mã đầy đủ A19 đến A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 00000 0000 0000 0000 0000 0000 7FFFF 0111 1111 1111 1111 1111 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.
  • 88. Giải mã không đầ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 XXXX IP XXXX DI 23 00000 00001 95 : : 20020 20021 20022 20023 7FFFD 7FFFE 7FFFF 29 12 7D 13 19 25 36 : : : : : : A18 A0 : D7 D0 : RD WR CS A19
  • 89. Giải mã không đầy đủ A19 đến A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 00000 0000 0000 0000 0000 0000 7FFFF 0111 1111 1111 1111 1111 80000 1000 0000 0000 0000 0000 FFFFF 1111 1111 1111 1111 1111 A19 không có ý nghĩa với chip nhớ
  • 90. Giải mã không đầy đủ A19 đến A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 00000 0000 0000 0000 0000 0000 7FFFF 0111 1111 1111 1111 1111 80000 1000 0000 0000 0000 0000 FFFFF 1111 1111 1111 1111 1111 Địa chỉ thực tế
  • 91. Giải mã không đầy đủ A19 đến A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 00000 0000 0000 0000 0000 0000 7FFFF 0111 1111 1111 1111 1111 80000 1000 0000 0000 0000 0000 FFFFF 1111 1111 1111 1111 1111 Địa chỉ thực tế
  • 92. 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
  • 93. 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
  • 94. 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
  • 95. 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
  • 96. 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
  • 97. 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
  • 98. Dải địa chỉ của chip #1 A19 đến A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 ----- ---- ---- ---- ---- ---- ----- ---- ---- ---- ---- ----
  • 99. Dải địa chỉ của chip #2 A19 đến A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 ----- ---- ---- ---- ---- ---- ----- ---- ---- ---- ---- ----
  • 100. Dải địa chỉ của chip #3 A19 đến A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 ----- ---- ---- ---- ---- ---- ----- ---- ---- ---- ---- ----
  • 101. Dải địa chỉ của chip #4 A19 đến A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 ----- ---- ---- ---- ---- ---- ----- ---- ---- ---- ---- ----
  • 102. 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
  • 103. 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
  • 104. 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 CS I1 I0 O3 O2 O1 O0
  • 105. 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 : :
  • 108. Dải địa chỉ của Chip #__ A19 đến A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 ----- ---- ---- ---- ---- ---- ----- ---- ---- ---- ---- ----
  • 110. 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
  • 111. 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
  • 112. Bước 2: Chuyển các địa chỉ biên từ H sang B A19 đến A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 FF800 1111 1111 1000 0000 0000 FFFFF 1111 1111 1111 1111 1111
  • 113. Bước 2: Chuyển các địa chỉ biên từ H sang B A19 đến A0 (HEX) AAAA 1111 9876 AAAA 1111 5432 AAAA 1198 1000 AAAA 7654 AAAA 3210 FF000 1111 1111 0000 0000 0000 FF7FF 1111 1111 0111 1111 1111
  • 114. 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
  • 115. 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
  • 116. 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
  • 117. Bộ nhớ cần thiết kế 8088 Minimum Mode A17 A0 : D7 D0 : MEMR MEMW A18 A19 2Kx8 4016 A11 A0 : D7 D0 : OE WE CS 2Kx8 2716 A11 A0 : D7 D0 : OE CE 74LS138 C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 G1 G2A G2B