Vi xử lý là một chip bán dẫn kết hợp các chức năng của đơn vị xử lý trung tâm (CPU) trên một hoặc một vài mạch tích hợp. Nó là một thiết bị đa chức năng, lập trình được
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
SAM (Sequential Access Memory)
RAM
(Random Access Memory)
ROM (Read Only Mem ory ) 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 t đ đ ộ ng ghi d ữ li ệ u vào EPROM
Trang 8Ho ạ t t đ đ ộ ng 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
Dung lượng
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
A9 A8
EPROM
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
Trang 15Đọ c d ữ li ệ u t ừ m ộ t chip SRAM
Trang 16Ghi d ữ li ệ u vào m ộ t chip SRAM
Trang 17thườ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 1880x86 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 198088/8086 Microprocessor
DIP 40 pin
Data bus
Trang 21S ơ
Trang 22S ơ
(Min Mode)
Trang 23• 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 24S ơ
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
Trang 25Tí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
Trang 26Các chân 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 28Processor Timing Diagram of 8088 (Minimum Mode)
for Memory or I/O Read (with 74245)
ALE
T1 CLOCK
A7 - A0
A15 - A8
Trang 29Mô t ả chân
Trang 30Mô t ả chân
NMI
Non Maskable Interrupt
Đầu vào ngắt không che được
Trang 33Mô t ả chân
RESET
Kết thúc hoạt động hiện thời và huy bỏ mọi thứ
Sau khi reset
Trang 37Mô t ả chân – Max
• 10 – empty the queue
• 11 – subsequent byte from queue
Trang 38Mô t ả chân – Max
S0, S1, S2
Status Signal Pins S0)
(S2-• 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
Trang 39Mô t ả chân – Max
signals to prevent DMA from gaining control of the buses
Trang 40Mô t ả chân – Max
to the 8087
Trang 41Mô t ả chân – Min
Trang 42Mô 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ỉ
Trang 4474LS373
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
Trang 4574LS373
Trang 46Dùng 74LS373 để tách và ch ố t t đ đ ị a
ch ỉ
Trang 47Mô t ả chân – Min
Trang 48Mô t ả chân – Min
Trang 49Mô t ả chân – Min
Trang 50Mô t ả chân – Min
?
Trang 51Mô t ả chân – Min
Trang 52Mô t ả chân – Min
DMA (DMAC)
Trang 53Mô t ả chân – Min
Trang 54X 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 55T ạ o ra các tín hiê ụ điề u khi ể n
(Min Mode)
Trang 56T ạ o ra các tín hiê ụ điề u khi ể n
(Min Mode)
Trang 578088 Bus – Min Mode
Trang 59Bus h ệ th ố ng c ủ a h ệ 8088 ở Mode Minimum
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
Trang 60B ộ nh ớ đượ c ch ọ n khi nào?
Trang 62Không gian đ
00000000
00000000
0000
00000
11111111
11111111
1111
FFFFF
AAAA 3210
AAAA 7654
AAAA 1198 1000
AAAA 1111 5432
AAAA 1111 9876
Trang 63B ộ 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 64N ế u ch ỉ c ầ n b ộ nh ớ có
dung lượ ng nh ỏ hơn 1MB thì gi ả i quy ế t nh t nh ư ư th 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
…
Trang 65512K đầu tiên của không gian a không gian đđịa chỉ bộ nhớ
(Các địa chỉ có bit cao nhất A19 = 0)
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 66512K tiếp theo của không gian a không gian đđịa chỉ bộ nhớ
(Các địa chỉ có bit cao nhất A19 = 1)
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 67B ộ nh ớ 512KB
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
Làm gì v ớ i A19?
Trang 68Đ i
Đ iều gì xảy ra nếu 8088 đọc ô nhớ A0023h?
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
MOV AH, [BX]
Trang 69Đ i
Đ 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 70Đ i
Đ 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 71N ế u B ộ nh ớ g ồ m 2 kh ố i 512KB nh nh ư ư th thế này?
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 72Có v ấ n 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 73B ộ 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 74Không gian đ
Khô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 75A0 :
D7
D0 :
MEMR MEMW
XXXX 2000
0000 0023 3F1C
FCA1
SP
DX
XXXX CS
SI
XXXX
XXXX IP
XXXX DI
A19
23 00000
: 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
Interfacing two 512KB Memory to the 8088 Microprocessor
an address between
this memory is selected
an address between
this memory is selected
Trang 76Interfacing two 512KB Memory to the 8088 Microprocessor
A18
A0 :
D7
D0 :
MEMR MEMW
XXXX 2000
0000 0023 3F1C
FCA1
SP
DX
XXXX CS
SI
XXXX
XXXX IP
XXXX DI
A19
23 00000
: 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 77Interfacing two 512KB Memory to the 8088 Microprocessor
A18
A0 :
D7
D0 :
MEMR MEMW
XXXX 2000
0000 0023 3F1C
FCA1
SP
DX
XXXX CS
SI
XXXX
XXXX IP
XXXX DI
A19
23 00000
: 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
A18
A0 :
D7
D0 :
RD WR A19
Trang 78A0 :
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
What if we remove the lower memory?
Trang 79A0 :
D7
D0 :
MEMR MEMW
: 20020
20021 20022 20023
7FFFD 7FFFE 7FFFF
29 12 7D 13
19 25 36
D7
D0 :
RD WR CS
an address between
this memory is selected
an address between
memory chip is selected
!
Trang 80Full and Partial Decoding
Full Decoding
are connected the memory/device to
perform selection
Partial Decoding
are connected the memory/device to
perform selection
roll-over addresses
Trang 81Full Decoding
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
Trang 82Full Decoding
00000000
00000000
1000
80000
11111111
11111111
1111
FFFFF
AAAA 3210
AAAA 7654
AAAA 1198 1000
AAAA 1111 5432
AAAA 1111 9876
Trang 83Full Decoding
00000000
00000000
0000
00000
11111111
11111111
0111
7FFFF
AAAA 3210
AAAA 7654
AAAA 1198 1000
AAAA 1111 5432
AAAA 1111 9876
Trang 84Partial Decoding
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 85Partial Decoding
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 86Partial Decoding
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
A19
to A0
(HEX)
ACTUAL ADDRESS
Trang 87Partial Decoding
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
A19
to A0
(HEX)
ACTUAL ADDRESS
Trang 88Interfacing two 512K Memory Chips to
D7
D0 :
MEMR MEMW
D7
D0 :
RD WR CS
512KB
#1
A18
A0 :
D7
D0 :
RD WR CS
Trang 89Interfacing one 512K Memory Chips to
D7
D0 :
MEMR MEMW
A19
512KB
A18
A0 :
D7
D0 :
RD WR CS
Trang 90Interfacing one 512K Memory Chips to
the 8088 Microprocessor (version 2)
D7
D0 :
MEMR MEMW
A19
512KB
A18
A0 :
D7
D0 :
RD WR CS
Trang 91Interfacing one 512K Memory Chips to
the 8088 Microprocessor (version 3)
D7
D0 :
MEMR MEMW
A19
512KB
A18
A0 :
D7
D0 :
RD WR CS
Trang 92Interfacing four 256K
Memory Chips to
the 8088 Microprocessor
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 93Interfacing four 256K
Memory Chips to
the 8088 Microprocessor
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 94Memory chip# is mapped to:
-
-AAAA 3210
AAAA 7654
AAAA 1198 1000
AAAA 1111 5432
AAAA 1111 9876
A19
to A0
(HEX)
Trang 95Interfacing four 256K
Memory Chips to
the 8088 Microprocessor
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 96Interfacing four 256K
Memory Chips to
the 8088 Microprocessor
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 97Interfacing four 256K
Memory Chips to
the 8088 Microprocessor
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
O2
O1
O0
Trang 98Interfacing several
8K Memory Chips
to the 8088 µ P
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 998088 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
: :
Interfacing 128
8K Memory Chips
to the 8088 µ P
Trang 1008088 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
: :
Interfacing 128
8K Memory Chips
to the 8088 µ P
Trang 101Memory chip# is mapped to:
-
-AAAA 3210
AAAA 7654
AAAA 1198 1000
AAAA 1111 5432
AAAA 1111 9876
A19
to A0
(HEX)
Trang 1028088 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
: :
Interfacing 128
8K Memory Chips
to the 8088 µ P