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:... EPROM 2764Chọn chip Điều khiển đọc Các chân địa chỉ Các chân dữ
Trang 1Kỹ thuật Vi xử lý
Điện tử-Viễn thông Đại học Bách khoa Đà Nẵng
Trang 2Chươ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ớ
Trang 3M ục tiêu và biện pháp thiết kế
Trang 44.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)
Trang 54.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
Trang 6Dung lượng của 1 chip nhớ
Trang 7Hoạt động ghi dữ liệu vào EPROM
Trang 8Hoạ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:
Trang 9Họ EPROM thông dụng 27x
64Kx827512
32Kx827256
16Kx827128
8Kx82764
4Kx82732
2Kx82716
Bảng 4.1 Họ EPROM 27x
Trang 108
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
Trang 11EPROM 2764
Chọn chip Điều khiển đọc Các chân địa chỉ
Các chân dữ liệu
Trang 12EPROM 2764
Trang 13Lập trình cho 2764
• Xoá một chip tức là làm cho tất cả các bit = 1
• VPP mắc ở mức 12.5V
• E và P đều ở mức thấp TTL
Trang 144.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
Điều khiển đọc
Chọn chip
Điều khiển ghi
Trang 15Đọc dữ liệu từ một chip SRAM
Trang 16Ghi dữ liệu vào một chip SRAM
Trang 17I/O0 I/O1 I/O2 I/O3 I/O4 I/O5 I/O6 I/O7
CS1 OE WE
Trang 1817 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
Trang 19Sơ đồ khối 6264
Trang 20Chức năng của 6264
Trang 21riê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
chân của 8088: thông qua các mạch đệm, chốt
Trang 2280x86 Microprocessors
8,16,3 2
32 64 64 64T 4GB
3M 273
66+
60-BICMO S 1992
Pent.
8,16 24 16 16 1G 16M 130K
16?
10-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,16 8
8 8
Data Types
36 20
16 16
8 Address Bus
64 16
8 8
8 External Data Bus
32 16
8 8
8 Internal Data Bus
64T none
none none
none Virtual Memory
64G 1M
64K 64K
16K Physical Memory
133 113
111 66
Number of
instructions
5.5M 29K
6500 4500
3000
Number of
transistors
387 40
40 40
18 Number of Pins
150 5-10
3-8 2-3
0.8 Clock Rate
0.5-BICMO S
NMO S
NMO S
NMO S
PMOS Technology
1995 1978
1976 1974
1972 Year Introduced
Pent Pro
808 6
808 5
808 0 8008
Product
Trang 238088/8086 Microprocessor
DIP 40 pin
Data bus
Trang 25Sơ đồ chân của 8088
Trang 26Sơ đồ chân 8088/8086
(Min Mode)
Trang 27• Các tín hiệu điều khiển đều từ 8088/8086
• Tương tự với 8085A
• 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
Trang 28Sơ đồ 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
MN / MX
READY CLK RESET
TEST
HLDA
HOLD NMI
INTR
Trang 29Tí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
Trang 30Cá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
Trang 32Processor Timing Diagram of 8088 (Minimum Mode)
for Memory or I/O Read (with 74245)
ALE
T1 CLOCK
A7 - A0
A15 - A8
Trang 3374LS373
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
Trang 3474LS373
Trang 35Dùng 74LS373 để tách và chốt địa
chỉ
Trang 36Mô tả chân – Min
Trang 37Mô tả chân – Min
Trang 38Mô tả chân – Min
Trang 39Mô tả chân – Min
dữ liệu được ghi vào
bộ nhớ hoặc I/O
?
Trang 40Mô tả chân – Min
Trang 41Mô tả chân – Min
DMA từ Bộ điều khiển DMA (DMAC)
bus hệ thống
Trang 42Mô tả chân – Min
DT/R để xác định trạng thái của chu kỳbus hiện thời
Trang 43Các tín hiệu điều khiển
X 0
0
IOW 1
0 1
IOR 1
1 0
MEMW 0
0 1
MEMR 0
1 0
Signal IO/M
W R RD
Trang 44Tạo ra các tín hiêụ điều khiển
(Min Mode)
Trang 45Tạo ra các tín hiêụ điều khiển
(Min Mode)
Trang 468088 Bus – Min Mode
Trang 4774LS245
B0 B1 B2 B3 B4 B5 B6 B7
Trang 48Bus hệ thống của hệ 8088 ở Mode Minimum
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
Trang 51Không gian địa chỉ bộ nhớ 1M
00000000
00000000
0000
00000
11111111
11111111
1111
FFFFF
AAAA 3210
AAAA 7654
AAAA 1198 1000
AAAA 1111 5432
AAAA 1111 9876
Trang 52Bộ 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 :
Trang 53Nếu chỉ cần bộ nhớ có
thì giải quyết như thế nào?
cho các loại bộ nhớ vật lý khác nhau
…
Trang 54512K đầu tiên của không gian địa chỉ bộ nhớ
00000000
00000000
0000
00000
11111111
11111111
0111
7FFFF
AAAA 3210
AAAA 7654
AAAA 1198 1000
AAAA 1111 5432
AAAA 1111 9876
A18
đến
A0
(HEX)
Trang 55512K tiếp theo của không gian địa chỉ bộ nhớ
00000000
00000000
1000
80000
11111111
11111111
1111
FFFFF
AAAA 3210
AAAA 7654
AAAA 1198 1000
AAAA 1111 5432
AAAA 1111 9876
A18
đến
A0
(HEX)
Trang 56Bộ nhớ 512KB
A18
A0 :
D7
D0 :
MEMR MEMW XXXX
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?
Trang 57Điều gì xảy ra nếu 8088 đọc ô nhớ A0023h?
A18
A0 :
D7
D0 :
MEMR MEMW XXXX
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]
Trang 58Điều gì xảy ra nếu 8088 đọc ô nhớ A0023h?
00110010
00000000
1010
A0023
AAAA 3210
AAAA 7654
AAAA 1198 1000
AAAA 1111 5432
AAAA 1111 9876
Trang 59Điều gì xảy ra nếu 8088 đọc ô nhớ 20023h?
00110010
00000000
0010
20023
AAAA 3210
AAAA 7654
AAAA 1198 1000
AAAA 1111 5432
AAAA 1111 9876
Trang 60Nếu Bộ nhớ gồm 2 khối 512KB như thế này?
A18 A0 :
D7 D0 :
MEMR MEMW
: 20020
20021 20022 20023
7FFFD 7FFFE 7FFFF
29 12 7D 13
19 25 36
:
:
:
A18 A0 :
D7 D0 :
RD WR CS
97 00000
: 20020
20021 20022 20023
7FFFD 7FFFE 7FFFF
A3 92 45 33
2C 98 12
:
:
:
A18 A0 :
D7 D0 :
RD WR CS
Trang 61Có 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
Trang 62Bộ nhớ gồm hai khối nhớ 512KB
A18
A0 :
D7
D0 :
MEMR MEMW
: 20020
20021 20022 20023
7FFFD 7FFFE 7FFFF
29 12 7D 13
19 25 36
D7
D0 :
RD WR CS
97 00000
: 20020
20021 20022 20023
7FFFD 7FFFE 7FFFF
A3 92 45 33
2C 98 12
D7
D0 :
RD WR CS
Trang 63Không gian địa chỉ bộ nhớ 1M
11111111
11111111
0111
7FFFF
00000000
00000000
1000
80000
11111111
11111111
1111
FFFFF
00000000
00000000
0000
00000
AAAA 3210
AAAA 7654
AAAA 1198 1000
AAAA 1111 5432
AAAA 1111 9876
A19
đến
A0
(HEX)
Trang 64A18 A0 :
D7 D0 :
MEMR MEMW
: 20020
20021 20022 20023
7FFFD 7FFFE 7FFFF
29 12 7D 13
19 25 36
:
:
:
A18 A0 :
D7 D0 :
RD WR CS
97 00000
: 20020
20021 20022 20023
7FFFD 7FFFE 7FFFF
A3 92 45 33
2C 98 12
:
:
:
A18 A0 :
D7 D0 :
RD WR CS
Trang 65Bộ nhớ gồm hai khối nhớ 512KB
A18 A0 :
D7 D0 :
MEMR MEMW
: 20020
20021 20022 20023
7FFFD 7FFFE 7FFFF
29 12 7D 13
19 25 36
:
:
:
A18 A0 :
D7 D0 :
RD WR CS
97 00000
: 20020
20021 20022 20023
7FFFD 7FFFE 7FFFF
A3 92 45 33
2C 98 12
:
:
:
A18 A0 :
D7 D0 :
RD WR CS
Trang 66Thiết kế Bộ nhớ cho Hệ vi xử lý
A18 A0 :
D7 D0 :
MEMR MEMW
: 20020
20021 20022 20023
7FFFD 7FFFE 7FFFF
29 12 7D 13
19 25 36
:
:
:
A18 A0 :
D7 D0 :
RD WR CS
97 00000
: 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ớ
Trang 67A18 A0 :
D7 D0 :
MEMR MEMW
: 20020
20021 20022 20023
7FFFD 7FFFE 7FFFF
29 12 7D 13
19 25 36
:
:
:
A18 A0 :
D7 D0 :
RD WR CS
97 00000
: 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?
Trang 68Nếu bỏ đi khối nhớ bên dưới thì …
A18 A0 :
D7 D0 :
MEMR MEMW
: 20020
20021 20022 20023
7FFFD 7FFFE 7FFFF
29 12 7D 13
19 25 36
:
:
:
A18 A0 :
D7 D0 :
RD WR CS
địa chỉ từ 80000h đến FFFFFh, Chip nhớ này hoạt động
dịa chỉ từ 00000h đến 7FFFFh, Không
có chip nhớ nào hoạt động!
!
Trang 69Giải mã đầy đủ và không đầy đủ
• 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
• 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ý
Trang 70Giải mã đầy đủ
A18 A0 :
D7 D0 :
MEMR MEMW
: 20020
20021 20022 20023
7FFFD 7FFFE 7FFFF
29 12 7D 13
19 25 36
:
:
:
A18 A0 :
D7 D0 :
RD WR CS
Trang 71Giải mã đầy đủ
00000000
00000000
1000
80000
11111111
11111111
1111
FFFFF
AAAA 3210
AAAA 7654
AAAA 1198 1000
AAAA 1111 5432
AAAA 1111 9876
Trang 72Giải mã đầy đủ
00000000
00000000
0000
00000
11111111
11111111
0111
7FFFF
AAAA 3210
AAAA 7654
AAAA 1198 1000
AAAA 1111 5432
AAAA 1111 9876
Trang 73Giải mã không đầy đủ
A18 A0 :
D7 D0 :
MEMR MEMW XXXX
: :
20020 20021 20022 20023
7FFFD 7FFFE 7FFFF
29 12 7D 13
19 25 36
: :
: :
: :
A18 A0 :
D7 D0 :
RD WR
CS A19
Trang 74Giải mã không đầy đủ
00000000
00000000
1000
80000
11111111
11111111
0111
7FFFF
00000000
00000000
0000
00000
11111111
11111111
1111
FFFFF
AAAA 3210
AAAA 7654
AAAA 1198 1000
AAAA 1111 5432
AAAA 1111 9876
Trang 75Giải mã không đầy đủ
00000000
00000000
1000
80000
11111111
11111111
0111
7FFFF
00000000
00000000
0000
00000
11111111
11111111
1111
FFFFF
AAAA 3210
AAAA 7654
AAAA 1198 1000
AAAA 1111 5432
AAAA 1111 9876
Trang 76Giải mã không đầy đủ
00000000
00000000
1000
80000
11111111
11111111
0111
7FFFF
00000000
00000000
0000
00000
11111111
11111111
1111
FFFFF
AAAA 3210
AAAA 7654
AAAA 1198 1000
AAAA 1111 5432
AAAA 1111 9876
Trang 77D0 :
MEMR MEMW
D7
D0 :
RD WR CS
512KB
#1
A18
A0 :
D7
D0 :
RD WR CS
Trang 78D0 :
MEMR MEMW
A19
512KB
A18
A0 :
D7
D0 :
RD WR CS
Trang 79D0 :
MEMR MEMW
A19
512KB
A18
A0 :
D7
D0 :
RD WR CS
Trang 80D0 :
MEMR MEMW
A19
512KB
A18
A0 :
D7
D0 :
RD WR CS
Trang 81Bộ 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
Trang 82Bộ 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
Trang 83Dải địa chỉ của chip #1
-
-AAAA 3210
AAAA 7654
AAAA 1198 1000
AAAA 1111 5432
AAAA 1111 9876
A19
đến
A0
(HEX)
Trang 84Dải địa chỉ của chip #2
-
-AAAA 3210
AAAA 7654
AAAA 1198 1000
AAAA 1111 5432
AAAA 1111 9876
A19
đến
A0
(HEX)
Trang 85Dải địa chỉ của chip #3
-
-AAAA 3210
AAAA 7654
AAAA 1198 1000
AAAA 1111 5432
AAAA 1111 9876
A19
đến
A0
(HEX)
Trang 86Dải địa chỉ của chip #4
-
-AAAA 3210
AAAA 7654
AAAA 1198 1000
AAAA 1111 5432
AAAA 1111 9876
A19
đến
A0
(HEX)
Trang 87Bộ 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
Trang 88Bộ 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
Trang 89Bộ 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
Trang 90Ghé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
: :
Trang 918088 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
Trang 928088 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
Trang 93Dải địa chỉ của Chip #
-
-AAAA 3210
AAAA 7654
AAAA 1198 1000
AAAA 1111 5432
AAAA 1111 9876
A19
đến
A0
(HEX)
Trang 948088 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
Trang 95Phát biểu bài toán
mãn các yêu cầu:
địa chỉ từ FFFFFh trở xuống
EPROM 2716 2Kx8, SRAM 4016 2Kx8
Trang 97Bước 2: Chuyển các địa chỉ biên từ H sang B
00000000
10001111
1111
FF800
11111111
11111111
1111
FFFFF
AAAA 3210
AAAA 7654
AAAA 1198 1000
AAAA 1111 5432
AAAA 1111 9876
A19
đến
A0
(HEX)
Trang 98Bước 2: Chuyển các địa chỉ biên từ H sang B
00000000
00001111
1111
FF000
11111111
01111111
1111
FF7FF
AAAA 3210
AAAA 7654
AAAA 1198 1000
AAAA 1111 5432
AAAA 1111 9876
A19
đến
A0
(HEX)
Trang 99Nhậ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
Trang 100Bước 3: Vẽ mạch giải mã địa
Có thể có nhiều lời giải khác nhau
Trang 101E3 E2 E1
Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0
U1 74LS138
Trang 102D7 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