Académique Documents
Professionnel 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 A9
A10 19 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 A3 D3 A5 D5
10 11 8 A1 D1 13 8 18 6 20
A0 I/O 0 A2 D2 A4 D4 5 A6 D6 21
9 12 7 15 7 19 A7 D7
8 9 A1 I/O 1 A3 D3 6 A5 D5 20 27
A0 I/O0 8 13 6 16 A8
7 10 A2 I/O 2 A4 D4 5 A6 D6 21 26
A1 I/O1 7 15 5 17 A9
6 11 A3 I/O 3 A5 D5 27 A7 D7 23
A2 I/O2 6 16 4 18 A10
5 13 5 A4 I/O 4 17 A6 D6 26 A8 25
4 A3 I/O3 14 3 19 A9 A11
4 A5 I/O 5 18 A7 D7 23 4
3 A4 I/O4 15 25 A10 A12
3 A6 I/O 6 19 A8 25 28
2 A5 I/O5 16 24 A11 A13
25 A7 I/O 7 A9 4 29
1 A6 I/O6 17 21 A12 A14
24 A8 1 A10 28 3
23 A7 I/O7 23 A13 A15
21 A9 RDY/BUSY A11 29 2
22 A8 2 A14 A16
23 A10 A12 3 30
19 A9 26 A15 A17
2 A11 A13 2 1
A10 1 A16 A18
A12 A14
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
En
MREQ
S0
C000h
RAM3
S1
16k
FFFFh
hsabaghianb @ kashanu.ac.ir Microprocessors 1-81
Memory Map
Empty Area cann’t write and read 0000h
Read op. returns FFh value (usualy) ROM
Write op. cann’t store any value on it 3FFFh
4000h
Empty
7FFFh
D7~D0 D7~D0 D7~D0 D7~D0
ROM RAM RAM
16 kb 16 kb 16 kb
A13~A0 A13~A0 A13~A0 A13~A0
8000h
RAM2
OE CS RD WR CS RD WR CS
RD
WR
BFFFh
A15
A14
En
MREQ
S0
S1
C000h
RAM3
FFFFh
hsabaghianb @ kashanu.ac.ir Microprocessors 1-82
Memory Map
Empty Area cann’t write and read 0000h
Read op. returns FFh value (usualy) ROM
Write op. cann’t store any value on it 3FFFh
4000h
Empty
7FFFh
D7~D0 D7~D0 D7~D0
ROM RAM
16 kb 16 kb
A13~A0 A13~A0 A13~A0
8000h
RAM
OE CS RD WR CS
RD
WR
BFFFh
A15
A14
En
MREQ
S0
S1
C000h
Empty
FFFFh
hsabaghianb @ kashanu.ac.ir Microprocessors 1-83
Full and Partial Decoding
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
1000h 3000h
RAM’
3FFFh
2000h
3000h Roll-over Address
…………….
……………. F000h
RAM’
F000h FFFFh
D7~D0 D7~D0
RAM
AAAA AAAA AAAA AAAA 4 kb
A15 to A0 Memory A11~A0 A11~A0
1111 1198 7654 3210
(HEX) Chip
5432 10 A15~A12 X RD WR CS
X OE
A13 CS RD WR CS
Z80 RD
CPU WR
A15
A14
MREQ
Conflict ROM’
1000h
1FFFh 1FFFh
MREQ 5FFFh
6000h 6000h
ROM’
6FFFh
7000h
AAAA AAAA AAAA AAAA ROM’
Memory 7FFFh 7FFFh
1111 1198 7654 3210 8000h F000h
Chip
5432 10
RAM
0xxx 0000 0000 0000 4k
9FFFh
ROM
0xxx 1111 1111 1111 A000h
1000h
ROM’
1FFFh 1FFFh
CPU
RD
WR
4000h
Conflict
RAM’
4000h
4FFFh
ROM’
5000h
ROM’
5FFFh
A15
A14
MREQ 5FFFh
6000h 6000h
ROM’
6FFFh
RAM’
7000h
AAAA AAAA AAAA AAAA ROM’
Memory 7FFFh 7FFFh
1111 1198 7654 3210 8000h F000h
Chip
5432 10
0xxx 0000 0000 0000 4k
9FFFh
ROM
0xxx 1111 1111 1111 A000h
RAM BFFFh
X1x1 1111 1111 1111
C000h
RAM
hsabaghianb @ kashanu.ac.ir Microprocessors 1-90
Full (exhaustive) decoding
AAAA AAAA AAAA AAAA Memory
1111 1198 7654 3210 Chip
5432 10
A12~A0 A12~A0
0000 0000 0000 0000
D7~D0
ROM 2764
0001 1111 1111 1111
EPROM
0010 0000 0000 0000 8k8
RAM
0010 0111 1111 1111 OE CE
D7~D0
RD
A13 C 0000h-07FFh
Y0
A12 B Y1 0800h-0FFFh
A11 A Y2 1000h-17FFh 7421
1800h-1FFFh A10~A0 A10~A0
74138 Y3 D7~D0
2000h-27FFh 6116
Y4 RWM
A15 G2A Y5 2k8
A14 G2B Y6 RD WR CS
MREQ G1 Y7
RD WR
D7~D0
RD
A15 C 0000h-1FFFh
Y0
A14 B Y1 2000h-3FFFh
A13 A Y2
A10~A0 A10~A0
74138 Y3 D7~D0
6116
Y4 RWM
MREQ G2A Y5 2k8
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@data
hsabaghianb is transfered
kashanu.ac.ir 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
D4
D3 74LS373 Q4
CPU D2 D5 Q5
D1 D6 Q6
D0 D7 Q7
LE OE
IORQ
WR
A AAA A AA A
IOWR 7 654 3 21 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
AAA A AA AA
IORD 765 4 32 10
A19
A18
:
A0
D7 D0 Q0
D6 D1 Q1
D5 D2 Q2
D4 D3 Q3
D4
D3 74LS373 Q4
D2 D5 Q5
8088 D1 D6 Q6
Minimum D0 D7 Q7
Mode
LE OE
IOR
IOW
AAAAAAAAAAAAAAAAIOW
1 11 1 119 8 76 54 32 10
5 43 2 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 11 1 119 8 76 54 32 10
5 43 2 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