Professional Documents
Culture Documents
Microprocessors
Spring 2005
Publisher: Baghani
Pub.Date: 1380
Publishing Turn: 5
Edition Turn: 3
ISBN: 964-91532-2-5
Pages: 383
Author: Iscott Makenzi
Translator: Rezaei Nia ,Darbandi Azar
A uC
contains a CPU and RAM,ROM ,Prepherals, I/O port in a single
IC
internal hardware is fixed
Communicate by port
ROM is larger than RAM (usually)
Small power consumption
Single chip, small board
Implementation is easy
Low cost
A0-Am
D0-Dn
CE
OE
10 11
9 A0 O0 12
U1 U2 A1 O1
8 13
7 A2 O2 15
8 9 8 9 A3 O3
7 A0 O0 10 A0 O0 6 16
A1 O1 7 10 5 A4 O4 17
6 11 6 A1 O1 11 A5 O5
5 A2 O2 13 A2 O2 4 18
A3 O3 5 13 3 A6 O6 19
4 14 4 A3 O3 14 A7 O7
3 A4 O4 15 A4 O4 25
A5 O5 3 15 24 A8
2 16 2 A5 O5 16 A9
1 A6 O6 17 A6 O6 21
A7 O7 1 17 23 A10
23 23 A7 O7 A11
22 A8 A8 2
A9 22 A12
19 19 A9
A10 22
21 A10 OE
20 A11 27
OE 20 PGM
18 CE
CE 20
18 OE/VPP
21 1
VPP
CE VPP
U6 12 13
U4 U5 11 A0 D0 14
10 11 10 A1 D1 15
10 11 10 11 9 A0 O0 12 9 A2 D2 17
9 A0 D0 12 9 A0 D0 12 A1 O1 A3 D3
A1 D1 A1 D1 8 13 8 18
8 13 8 13 7 A2 O2 15 7 A4 D4 19
7 A2 D2 15 7 A2 D2 15 A3 O3 A5 D5
A3 D3 A3 D3 6 16 6 20
6 16 6 16 5 A4 O4 17 5 A6 D6 21
5 A4 D4 17 5 A4 D4 17 A5 O5 A7 D7
A5 D5 A5 D5 4 18 27
4 18 4 18 3 A6 O6 19 26 A8
3 A6 D6 19 3 A6 D6 19 A7 O7 A9
A7 D7 A7 D7 25 23
25 25 24 A8 25 A10
24 A8 24 A8 A9 A11
A9 A9 21 4
21 21 23 A10 28 A12
23 A10 23 A10 A11 A13
A11 A11 2 29
2 2 26 A12 3 A14
26 A12 26 A12 A13 A15
A13 A13 27 2
27 1 A14 A16
22 A14 A15
OE 24
27 22 22 31 OE
20 PGM 20 OE OE/VPP PGM
CE CE 20 22
CE CE
1 1 28 1
VPP VPP VCC VPP
12 13
11 A0 D0 14
10 A1 D1 15
12 13 A2 D2
11 A0 D0 14 9 17
A1 D1 8 A3 D3 18
10 11 10 15 A4 D4
A0 D0 9 A2 D2 17 7 19
9 12 A5 D5
10 11 A1 D1 8 A3 D3 18 6 20
8 13 A4 D4 A6 D6
9 A0 I/O0 12 A2 D2 7 19 5 21
8 9 7 15 A5 D5 A7 D7
8 A1 I/O1 13 A3 D3 6 20 27
7 A0 I/O0 10 6 16 A6 D6 A8
7 A2 I/O2 15 A4 D4 5 21 26
6 A1 I/O1 11 5 17 A7 D7 A9
6 A3 I/O3 16 A5 D5 27 23
5 A2 I/O2 13 4 18 A8 A10
5 A4 I/O4 17 A6 D6 26 25
4 A3 I/O3 14 3 19 A9 A11
4 A5 I/O5 18 A7 D7 23 4
3 A4 I/O4 15 25 A12
A6 I/O6 A8 25 A10 28
A5 I/O5 3 19 24 A13
2 16 A7 I/O7 A9 4 A11 29
A6 I/O6 25 21 A14
1 17 A8 A10 28 A12 3
A7 I/O7 24 1 23 A15
23 A9 RDY/BUSY A11 29 A13 2
A8 21 2 A16
22 A10 A12 3 A14 30
A9 23 26 A17
19 A11 A13 2 A15 1
A10 2 1 A18
A12 A14 A16
20 24 24
OE 22 22 OE
21 OE OE 31 OE 31
WE 27 27 WE
18 WE WE 22 WE 22
CE 20 20 CE
CE CE CE
24 32 32
VCC 28 28 VCC
VCC VCC VCC
to Address decoder
hsabaghianb @ kashanu.ac.ir Microprocessors 1-32
Session 2
Microprocessors
History
Data width
8086 vs 8088
8086 pin description
Z80 Pin description
8008 8088/6
4004 80386 80860
intel 8080 80186
4040 80486 pentium
8085 80286
Z8000
zilog Z80 Z8001
Z8002
6800 68006 68020
Motorola 6802 68008 68030
6809 68010 68040
8088
8086MIN 8088MIN
8086
hsabaghianb @ kashanu.ac.ir Microprocessors 1-37
8086 Pin Assignment
±k ±k
CONTROL
SECTION B ADDRESS BUS
16 U
INTERNAL ADDRESS BUS (16 BIT)
F
F
E
R
B CONTROL BUS
13 U
INTERNAL CONTROL BUS F
F
E
R
P
S Z X H X V N C
S Sign Flag (1:negativ)*
Z Zero Flag (1:Zero)
H Half Carry Flag (1: Carry from Bit 3 to Bit 4)**
P Parity Flag (1: Even)
V Overflow Flag (1:Overflow)*
N Operation Flag (1:previous Operation wassubtraction)**
C Carry Flag (1: Carry from Bit n-1 to Bit n,
with n length of operand)
Mode 0:
An 8 bit opcode is Fetched from Data BUS and executed
The source interrupt device must put 8 bit opcode at data bus
8 bit opcode usually is RST p instructions
Mode 1:
A jump is made to address 0038h
No value is required at data bus
Mode 2:
A jump is made to address (register I × 256 + value from
interrupting device that puts at bus)
I is high 8 bit of interrupt vector
Value is low 8 bit of interrupt vector
Address Bus
Input Out
Z - 80 CPU Data Bus Output
In
Control Bus (I/O)
D7~D0 D7~D0
RAM
64 kb
A15~A0 A15~A0
RD WR CS
Z80
CPU
RD
WR
MREQ
D7~D0 D7~D0
RAM
32 kb
A14~A0 A14~A0
RD WR CS
Z80
CPU
RD
WR
A15 MREQ
RD WR CS RD WR CS
Z80
CPU
RD
WR
A15 MREQ
OE CS RD WR CS
Z80
CPU
RD
WR
A15 MREQ
RD
WR
A15
A14
MREQ En
S0
S1
WR CS
A13~A0
WR CS
A13~A0
WR CS
RAM2
OE CS RD RD RD
BFFFh 16k
RD
C000h
WR
RAM3
A15
A14
En
MREQ
S0
S1
FFFFh 16k
OE CS RD WR CS RD WR CS
RD
BFFFh
C000h
WR
RAM3
A15
A14
En
MREQ
S0
S1
FFFFh
OE CS RD WR CS
RD
BFFFh
C000h
WR
A15
A14
En
MREQ
S0 Empty
S1
FFFFh
Partial Decoding
When some of the address lines are connected the
memory/device to perform selection
Using this type of decoding results into roll-over addresses
(fold back or shading).
roll-over address : any memory location has more than one
address
D7~D0 D7~D0
RAM
4 kb
A11~A0 A11~A0
A15~A12 X RD WR CS
Z80 RD
CPU WR
MREQ
RAM
AAAA AAAA AAAA AAAA 4 kb
A15 to A0 Memory A11~A0 A11~A0
1111 1198 7654 3210
(HEX) Chip A15~A12 X RD WR CS
5432 10
X000h xxxx 0000 0000 0000 Z80 RD
RAM CPU WR
X OE
A13 CS RD WR CS
Z80 RD
CPU WR
A15
A14
MREQ
MREQ
X0x1 1111 1111 1111
Conflict
1000h
ROM’
1FFFh 1FFFh
X
OE CS RD WR CS
Z80 A13 4000h 4000h
ROM’
CPU 4FFFh
ROM’
RD 5000h
WR
5FFFh 5FFFh
6000h 6000h
ROM’
A15
A14
MREQ
6FFFh
7000h
ROM’
7FFFh 7FFFh
8000h F000h
AAAA AAAA AAAA AAAA
Memory RAM
1111 1198 7654 3210
Chip
5432 10 9FFFh
A000h
0xxx 0000 0000 0000 4k
ROM RAM’
0xxx 1111 1111 1111 BFFFh
8k C000h
X0x0 0000 0000 0000
RAM
X0x1 1111 1111 1111 DFFFh
E000h
1000h
ROM’
1FFFh 1FFFh
X
OE CS RD WR CS
Z80 A13 4000h 4000h
ROM’
CPU
RD
WR
Conflict
RAM’ 4FFFh
5000h
ROM’
5FFFh 5FFFh
6000h 6000h
ROM’
A15
A14
MREQ
6FFFh
RAM’
7000h
ROM’
7FFFh 7FFFh
8000h F000h
AAAA AAAA AAAA AAAA
Memory
1111 1198 7654 3210
Chip
5432 10 9FFFh
A000h
0xxx 0000 0000 0000 4k
ROM
0xxx 1111 1111 1111 BFFFh
8k C000h
X1x0 0000 0000 0000
RAM RAM
X1x1 1111 1111 1111 DFFFh
E000h
A14 G2B Y6 RD WR CS
MREQ G1 Y7
RD WR
GND G2B Y6 RD WR CS
VCC G1 Y7
RD WR
D7-D0
D7 D1 D0
WR / RD CS WR / RD CS WR / RD CS
WR / RD
CS
RD
A15 C 0000h-1FFFh
Y0
A14 B Y1
2000h-3FFFh D7-D0
D7 D1 D0
A13 A Y2
VCC G1 Y7
WR WR
RD
PIO DMA
+5V
I/O device
OUT (n), A
n is 8 bit port address
Content of A is data
OUT (C), r
Content of C is a port address
r is a data register
IN A, (n)
n is 8 bit port address
Data is transfered to A
IN r (C)
Content of Reg C is a port address
Input
hsabaghianb data is
@ kashanu.ac.ir transfered to r (data reg) Microprocessors 1-98
Remember IO read/write cycle
A15
OUT (03), A
A14
:
A0
D7 D0 Q0
D6 D1 Q1
D5 D2 Q2
Z80 D4 D3 Q3
D3 D4 Q4
74LS373
CPU D2 D5 Q5
D1 D6 Q6
D0 D7 Q7
LE OE
IORQ
WR
A AA A AAA A
IOWR 7 65 4 321 0
A15 5V
A14 IN A, (02)
:
A0
D7 Y0 A0
D6 Y1 A1
D5 Y2 A2
Z80 D4 Y3 A3
D3 Y4 74LS244 A4
CPU D2 Y5 A5
D1 Y6 A6
D0 Y7 A7
G1 G2
IORQ
RD
AA AA A AAA
IORD 76 54 3 210
A19
A18
:
A0
D7 D0 Q0
D6 D1 Q1
D5 D2 Q2
D4 D3 Q3
D3 D4 Q4
74LS373
D2 D5 Q5
8088 D1 D6 Q6
Minimum D0 D7 Q7
Mode
LE OE
IOR
IOW
AAAAAAAAAAAAAAAAIOW
1 1 11 11 9 8 7 654 3 21 0
5 4 32 10
A19 5V
A18
:
A0
What is this? D7 Y0 A0
D6 Y1 A1
D5 Y2 A2
D4 Y3 A3
D3 Y4 74LS244 A4
D2 Y5 A5
8088 D1 Y6 A6
Minimum D0 Y7 A7
Mode
G1 G2
IOR
IOW
AAAAAAAAAAAAAAAAIOW
1 1 11 11 9 8 76 5 4 3 21 0
5 4 32 10
D7-D0
A7 - A0 B7 - B0
DEN E
DT / R DIR 74LS245
A7-A0
AD7 - AD0 D7 - D0 Q7 - Q0
GND OE
LE 74LS373
A15-A8
A15 - A8 D7 - D0 Q7 - Q0
GND OE
8088 LE 74LS373
A19/S6 - A16/ A19-A16
S3 D7 - D4 Q7 - Q4
D3 - D0 Q3 - Q0
GND OE
ALE LE 74LS373
RD MEMR
IO / M
MEMW
WR
IOR
IOW
D7 - D0 D7 - D0
A19 - A0 A19 - A0
Simplified
Drawing of
1 MB
8088 Minimum
Memory
Mode
MEMR RD
MEMW WR
CS
Example: 34FD0
D7 - D0 D7 - D0
What do we do with A19?
A19
A18 - A0 A18 - A0
1) Don’t connect it
Simplified 2) Connect to cs
Drawing of
512 kB
8088 MinimumWhat is the difference?
Memory
Mode
MEMR RD
MEMW WR
CS
Connect to cs 00000h
512k
If A19=0 Memory chip 7FFFFh Mem
act normal fanction
80000h
FFFFFh Empty
D7 - D0 D7 - D0
A19
512 kB
RAM1
A18 - A0 A18 - A0
MEMR
MEMR RD
WR CS
MEMW MEMW
D7 - D0
512 kB
Simplified
RAM2
Drawing of A18 - A0
8088 Minimum
MEMR
Mode RD
WR CS
MEMW
FFFFFh
Chips to A0
D7
256KB
the 8088 Microprocessor
:
D0 #4
RD
WR
A19
CS
A18
A17 A17
: :
A0 A0
D7 D7
256KB
: :
D0 D0 #3
MEMR RD
MEMW WR
8088 CS
Minimum
A17
Mode :
A0
D7
256KB
:
D0 #2
RD
WR
CS
A17
:
A0
D7
256KB
:
D0 #1
RD
WR
CS
8088 CS
Minimum
A17
Mode :
A0
D7
256KB
:
D0 #2
RD
WR
CS
A17
:
A0
D7
256KB
:
D0 #1
RD
WR
CS
RAM#1
RAM#2
RAM#3
RAM#4
several 8K
A16 RD
A15 WR
A14
Memory
CS
A13
A12
Chips to the
:
:
A0
8088 P
D7
:
:
D0
MEMR
MEMW
8088
Minimum
Mode
A12
:
A0
D7
8KB
:
D0 #2
RD
WR
CS
A12
:
A0
D7
:
8KB
D0 #1
RD
WR
CS
Interfacing
:
A0
A19 D7
128
8KB
A18 :
A17 D0 #128
8K Memory
A16 RD
A15 WR
Chips to the
A14
CS
A13
8088 P
A12
:
:
A0
D7
:
:
D0
MEMR
MEMW
8088
Minimum
Mode
A12
:
A0
D7
8KB
:
D0 #2
RD
WR
CS
A12
:
A0
D7
:
8KB
D0 #1
RD
WR
CS
Interfacing
A14
CS
A13
128
A12
:
:
A0
8K Memory D7
:
Chips to the :
D0
MEMR
MEMW
8088 P
8088
Minimum
Mode
A12
:
A0
D7
8KB
:
D0 #2
RD
WR
CS
A12
:
A0
D7
8KB
:
D0 #1
RD
WR
CS
RAM#1
RAM#2
RAM#126
RAM#127
RAM#128
A12~A0 A12~A0
D7~D0
2764
EPROM
8k8
OE CE D7~D0
7408 RD
A14 C Y0
A13 B Y1
A12 A Y2
A10~A0 A10~A0
74138 Y3 D7~D0
6116 74244 input
Y4 RWM G1G 2
MREQ G2A Y5 2k8
A15 G2B Y6 RD WR CS
VCC G1 Y7
RD WR