Académique Documents
Professionnel Documents
Culture Documents
Basic operations
Implementation
Microprogramming
Program execution
OP OP OP OP OP
1
2016-11-29
Control signals to the datapath
Ex. 0 1 1 0 1 1 1 0 1 0 0 0 1 0 0 1
Zebo Peng, IDA, LiTH 3 TDTS10 Lecture 6
0 1 0 1
Bypassing Path
2
2016-11-29
M C11
B C1 C10
R
Main Memory
C3 C4 AR
C5
+1
C14 PC IR
C0 C7 C9
M C2
C13
A Selection
R
C6 ALU
Signals
C8
CR CW
Control
Clock Status Flags
PC: Program Counter Unit
IR: Instruction Register
AR: Accumulator Register
MAR: Memory Address Reg.
MBR: Memory Buffer Reg.
...
Zebo Peng, IDA, LiTH 5 TDTS10 Lecture 6
Micro-Operation Examples
Inst. exec. Micro-operations Active control
steps signals
T1: MAR (PC) C2
T3: IR (MBR) C4
3
2016-11-29
Basic operations
Implementation
Microprogramming
Hardwired Implementation
Instruction Register
Decoder
Clock
Sequencing Hardwired
Flags Control Add. Reg.Controller
Logic
+1
Read Control
Memory
4
2016-11-29
Microprogrammed Control
Instruction Register
Decoder PC
Clock
Sequencing
Flags Control Add. Reg.
Logic
+1
Read Control
Memory
Basic operations
Implementation
Microprogramming
5
2016-11-29
Microprogrammed Control
Microprogramming is a technique used to implement the
control unit.
A Microprogrammed Computer
C12
M C11
B C1 C10
Main Memory
R
C3 C4 AC
C5
+1
C14 PC IR C9
C0 C7
M C2
C13 +
A C15
R C6 ALU -
C8 C16
6
2016-11-29
Microprogram Examples
Fetch Instruction (FI):
T1: MAR (PC) Execution of LOAD Operation:
T2: MBR Memory Content T1: MAR (IRa)
PC (PC) + 1 T2: MBR Memory Content
T3: IR (MBR) T3: AC (MBR)
Decode Instruction (DI): PC 0
T1: IRop Controller (Decoder)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 R W
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0
FI
2 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
3 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0
DI
4 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0
Load
5 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0
6 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
Microcode Storage
Microcodes are stored in a -memory 1 2 19 R W
0
which is much faster than a cache. 1 FI
2
Since the micro-memory stores only - 3 DI
instructions, a ROM is often used. 4
5 Load
6
Microprograms are, therefore, 7
sometimes called firmware. 8 Store
9
Software that provides control, monitoring 10
and data manipulation. 11 Add
12
Most firmware can be updated. 13
14 Sub
Changing of firmware may rarely or never 15
be done during its lifetime.
16 .
17 .
18
19 .
Zebo Peng, IDA, LiTH 14 TDTS10 Lecture 6
7
2016-11-29
Application of Microprogramming
Implementation of the control functions.
Operating-system support.
High-level language support:
Ex. to provide complex instructions to match the HLL
statements.
Control of special-purpose devices.
Emulation of other computers.
User tailoring.
Summary
The control unit plays an important role in the
operation of a computer.
It can be implemented in basically two different
technologies.
The microprogramming technique is used to:
simplify the control circuits;
increase flexibility (e.g., introducing a new instruction
for computing division);
make it efficient to use the same computer for
different purposes.