Z80 Handout
Z80 Handout
……
WR
Z80 Computer System Design
8 8
data
data
FF FFFF
10 11
9 A0 O0 12
U1 U2 A1 O1
2 8
A2 O2
13
A0-Am 8
A0 O0
9 8
A0 O0
9
7
6 A3 O3
15
16
7 10 7 10 A4 O4
6 A1 O1 11 A1 O1 5 17
A2 O2 6 11 4 A5 O5 18
5 13 5 A2 O2 13 A6 O6
4 A3 O3 14 A3 O3 3 19
A4 O4 4 14 25 A7 O7
3 15 3 A4 O4 15 A8
A5 O5
4 D0-Dn 2
A6 O6
16 2 A5 O5 16
24
21 A9
1 17 1 A6 O6 17 A10
23 A7 O7 A7 O7 23
A8 23 2 A11
22 22 A8 A12
19 A9 A9
A10 19 22
21 A10 OE
20 A11 27
OE 20 PGM
1 18
CE 20 CE
CE 18 OE/VPP
1
21 CE VPP
VPP
U7
• µP can read the data from RAM quickly
U6 12 13
U4 U5 A0 D0
10 11 10 11
10
A0 O0
11
11
10 A1
A2
D1
D2
14
15 • µP can write new data to RAM quickly
A0 D0 A0 D0 9 12 9 17
9 12 9 12 A1 O1 A3 D3
8
7
A1
A2
D1
D2
13
15
8
7
A1
A2
D1
D2
13
15
8
7 A2
A3
O2
O3
13
15
8
7 A4
A5
D4
D5
18
19 • RAM is unable to store data if power is turned off
A3 D3 A3 D3 6 16 6 20
6 16 6 16 A4 O4 A6 D6
5
4
A4
A5
D4
D5
17
18
5
4
A4
A5
D4
D5
17
18
5
4 A5
A6
O5
O6
17
18
5
27 A7
A8
D7
21
• Two type is available :
A6 D6 A6 D6 3 19 26
3 19 3 19 A7 O7 A9
25
24
A7
A8
D7 25
24
A7
A8
D7 25
24 A8
A9
23
25 A10
A11
– Static RAM (SRAM): FF base, fast, expensive, low
A9 A9 21 4
21
23 A10
21
23 A10 23
2
A10
A11
28
29
A12
A13 cap/vol, applied for cache , no refresh
2 A11 2 A11 A12 A14
A12 A12 26 3
26
A13
26
27 A13 27
1
A13
A14
2 A15
A16 – Dynamic RAM (DRAM): capacitor base, slow , low cost
22 A14 A15
27
20
OE
PGM
22
20 OE 22
OE/VPP
24
31 OE
PGM
high capacity/volume , applied for main memory(pc) need
CE CE 20 22
1 1 28
CE
1
CE
refresh.
VPP VPP VCC VPP
to Address decoder
Write : Charge bit line HIGH or LOW and set word line HIGH
Read : Bit line is precharged to a voltage halfway
between HIGH and LOW and then the word line is set HIGH.
Sense Amp Detects change
Reads are destructive (Must follow with a write)
Address Buffer
Z80 Memory connection Memory connection (cont.)
MREQ
A15 MREQ
Memory connection (cont.) Memory connection (cont.)
There are two 32K RAM
A15 applied to select one RAM chip 32K ROM and 32K RAM
Two RAM area is from 0000h to 7FFFh ROM doesn’t have WR signal
and 8000h to FFFFh
RD WR CS RD WR CS OE CS RD WR CS
Z80 Z80
CPU CPU
RD RD
WR WR
A15
A14
En En
MREQ
S0 RAM3 MREQ
S0
C000h
S1 S1
16k RAM3
FFFFh
FFFFh
• Partial Decoding
D7~D0 D7~D0 D7~D0 7FFFh
8000h – When some of the address lines are connected the
A13~A0 A13~A0
CS
A13~A0
WR CS
RAM memory/device to perform selection
OE RD
En
RAM
A15
A14
MREQ
MREQ
X0x1 1111 1111 1111
Partial Decoding 0000h 0000h ROM
Partial Decoding 0000h 0000h
0FFFh
ROM
0FFFh
RAM, 1000h ROM,
1000h
ROM, 1FFFh 1FFFh
1FFFh 1FFFh
2000h 2000h ROM,
2000h 2000h ROM, 2FFFh
2FFFh
3000h
D7~D0 D7~D0 D7~D0 RAM, 3000h
D7~D0 D7~D0 D7~D0 ROM,
ROM RAM
ROM, ROM RAM 3FFFh 3FFFh
3FFFh 3FFFh
4 kb 8 kb 4 kb 8 kb 4000h 4000h
ROM,
A12~A0 A11~A0 A12~A0 4000h 4000h ROM, A12~A0 A11~A0 A12~A0 4FFFh
RAM,
Z80 A13 X OE CS RD WR CS Conflict ROM,
4FFFh
5000h Z80 A13 X OE CS RD WR CS
5FFFh
5000h
5FFFh
ROM,
CPU 5FFFh 5FFFh CPU 6000h 6000h
RD 6000h 6000h RD ROM,
WR ROM, WR 6FFFh
6FFFh RAM, 7000h
ROM,
A15
A15
A14
A14
7000h ROM, 7FFFh
MREQ MREQ 7FFFh
7FFFh 7FFFh
8000h F000h
8000h F000h
RAM Conflict
AAAA AAAA AAAA AAAA Memory
AAAA AAAA AAAA AAAA Memory
9FFFh
9FFFh A000h
1111 1198 7654 3210 Chip
A000h 1111 1198 7654 3210 Chip
5432 10 RAM, 5432 10
BFFFh
0xxx 0000 0000 0000 4k BFFFh
C000h
0xxx 0000 0000 0000 4k C000h
RD WR RD WR
Z80 Timing (revisited) Z80 Timing (revisited)
Opcode Fetch
The Z80 CPU executes instructions by stepping through a precise set of
basic operations. These include:
• Memory Read or Write
• I/O Device Read or Write
• Interrupt Acknowledge
Three to six clock periods are required to complete each operations
Number of clocks used in each operation can be extended to synchronize
the CPU to the speed of external devices.