Professional Documents
Culture Documents
Historical Background
a 1 9 6 9 / 7 0 Intel 4004, first Microprocessor (M.E.Hoff) 4 bit microprocessor, originally
developed for Busicom, a small Japanese calculator company. Limited to 4096 memory
location (of 4 bit data), 45 instructions; integrated 2300 PMOS transistors.
a 1971
Intel 8008, first 8 bit microprocessor (16K x 8bit)
a 1973
Intel 8080, 10 x faster than 8008, more memory (64k)
a 1974
Other 8 bit processors: Motorola 6800, Fairchild F8,
a 1975
Signetic 2650, MOS Technology 6502 (used in Apple II), Rockwell PPS-8
a 1976
National IMP-PACE, first 16 bit microprocessor, followed by Texas Instrument,
TMS9900, Zilog Z80 (8 bit) (used in Radio Shack TRS-80)
a 1977
Intel 8085 (8080 with built-in clock & system controller)
a 1978
Motorola 6809 (8 bit), Intel 8086 (16 bit processor, 1M)
a 1978/79 Intel 8088 - variant of 8086 with 8 external data pins
a 1981
IBM adopts Intel 8088 for IBM PC/XT
2 most popular microprocessor series:
a INTEL 8086, 80186, 80286, 80386, 80486, Pentium
a Motorola 68000, 68010, 68020, 68030, 68040
a ARM (http://en.wikipedia.org/wiki/ARM_architecture)
Data Bus
Input
Output Address Bus
Unit
Control Bus
(I/O Unit)
Central
Processing
Unit (CPU)
Data Bus
Registers
Address Bus
Memory
Central
Processing
Unit (CPU)
Registers
Control Unit (CU)
Arithmetic & Logic
Unit (ALU)
Fetch the
Next
Instruction
Fetch Cycle
Execute
the
Instruction
Execute Cycle
HALT
ELEG 3230 - Part 3
Execute
Fetch
Execute
Fetch
Execute
Fetch
Instruction 1
Instruction 2
Instruction 3
Instruction 4
Instruction 5
Instruction 6
Instruction 7
Instruction 8
Instruction 9
12
FI
DI
CO
FO
EI
WO
FI
DI
CO
FO
EI
WO
FI
DI
CO
FO
EI
WO
FI
DI
CO
FO
EI
WO
FI
DI
CO
FO
EI
WO
FI
DI
CO
FO
EI
WO
FI
DI
CO
FO
EI
DI
CO
FO
EI
WO
FI
DI
CO
FO
EI
FI
10
11
13
14
WO
WO
I: Instruction
O: Operand
Fetch Instruction Decode Instruction Check Operand Fetch Operand (if needed) Execute Instruction Write Output
(Operand is defined in the Instruction Set part)
ELEG 3230 - Part 3
8
MAX
MODE
GND
AD14
AD13
AD12
AD11
AD10
AD9
AD8
AD7
AD6
AD5
AD4
AD3
AD2
AD1
AD0
NM1
INTR
CLK
GND
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
8086
CPU
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
Vcc
AD15
A16/S3
A17/S4
A18/S5
A19/S6
BHE/S7
MN/MX
RD
RQ/GT0
RQ/GT1
LOCK
S2
S1
S0
QS0
QS1
TEST
READY
RESET
MIN
MODE
MIN
{ MODE }
(HOLD)
(HLDA)
(WR)
(M/IO)
(DT/R)
(DEN)
(ALE)
(INTA)
GND
A14
A13
A12
A11
A10
A9
A8
AD7
AD6
AD5
AD4
AD3
AD2
AD1
AD0
NM1
INTR
CLK
GND
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
8088
CPU
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
Vcc
A15
A16/S3
A17/S4
A18/S5
A19/S6
SS0
MN/MX
RD
HOLD
HLDA
WR
IO/M
DT/R
DEN
ALE
INTA
TEST
READY
RESET
MAX
{ MODE }
(HIGH)
(RQ/GT0)
(RQ/GT1)
(LOCK)
(S2)
(S1)
(S0)
(QS0)
(QS1)
10
11
12
13
14
Flag Register
a The flag indicates the condition of the microprocessor as well as
controls its operations.
a A flag register is a flip-flop which indicates some conditions
produced by the execution of an instruction or controls certain
operations of the EU. A 16-bit flag register in the EU contains nine
active flags. (Each flag occupies one bit in the flag register.)
a Two types of flags:
`conditional flags: Six flags are conditional flags. They are set or reset
by the EU on the basis of the results of some arithmetic operation.
`control flags : The three remaining flags in the flags register are used
to control certain operations of processor. They are called the control
flags.
15
Flag Registers
bit
15
14
13
12
11
10
OF DF IF
U=Undefined
Conditional Flags
Control Flags
TF SF ZF U
AF U
PF U
CF
16
Conditional Flags
a carry flag (CF)- indicates a carry after addition or a borrow after
subtraction, also indicates error conditions.
a parity flag (PF)- is a logic 0 for odd parity and a logic 1 for even parity.
a auxiliary carry flag (AF)- important for BCD addition and subtraction;
holds a carry (borrow) after addition (subtraction) between bit-3 and bit-4.
Only used for DAA and DAS instructions to adjust the value of AL after a
BCD addition (subtraction).
a zero flag (ZF)- indicates that the result of an arithmetic or logic operation
is zero.
a sign flag (SF)- indicates arithmetic sign of the result after an arithmetic
operation.
a overflow flag (OF)- a condition that occurs when signed numbers are
added or subtracted. An overflow indicates that the result has exceeded
the capacity of the machine.
17
Control Flags
a The control flags are deliberately set or reset with specific
instructions YOU put in your program. The three control flags are:
`trap flag (TF) - used for single stepping through a program (for
debugging);
`interrupt flag (IF) - used to allow or prohibit the interruption of
a program;
`direction flag (DF) - used with string instructions.
a No specific instruction to set TF. See example 12-1 in Breys for
more details.
18
General-Purpose Registers
a EU has eight 8-bit general-purpose registers, labeled AH, AL, BH, BL,
CH, CL, DH, and DL. These registers can be used individually for
temporary storage of 8-bit data.
a Register pairs AH-AL, BH-BL, CH-CL, and DH-DL can be used together
to form register AX, BX, CX, and DX and can be used to store 16-bit data
words.
a The AL register is also called the accumulator. It has some features that
the other general-purpose registers do not have.
a The advantage of using internal registers is :
It can be accessed more quickly than from external memory. No memory
reference or memory cycle is needed to get the data.
(See Part-04 for more details)
19