Chapter 4 Control Unit
Chapter 4 Control Unit
CONTROL UNIT
1
O UTLINE
4.1 Introduction
4.2 Micro-operations
4.3 Control Unit
Functional Requirements
Inputs
Outputs
Control Signals
4.4 Control Unit
Implementation
Hardwired Control Unit
2
4.1 I NTRODUCTION
In Chapter 3, seen:
Machine instructions
Operations performed by the processor to
execute each instruction
But how exactly each individual
operation is caused to happen ?
The job of the Control Unit
5
M ICRO -O PERATIONS ...
In the next sections, we will see
How the events of any instruction cycle
ca n be described as a sequence of micro
operations
6
M ICRO -O PERATIONS ...
Fetch cycle
Sequence of events, seen from point of view of its effects on
processor registers
First Step
To move the address from PC to MAR
Second Step
Overall effect is to bring in the instruction
Address (in the MAR) is placed on address bus
Control unit issues READ command
Result (data from memory) appears on d ata bus
D ata from data bus copied into MBR
PC incremented by 1 (in parallel with data fetch from memory)
Third Step
D ata (instruction) moved from MBR to IR 7
M ICRO -O PERATIONS ...
Fetch cycle (symbolic)
t1: MAR (PC)
t2: MBR memory
PC (PC) +1
t3: IR (MBR)
Fetch cycle
Involves three steps and four µop
Note t h a t each µop involves movement of d a t a into or out of
a register
Several µops can be performed in one clock cycle, so
long as these movements do not interfere with one 8
another
M ICRO -O PERATIONS ...
Assumptions
A clock is available for timing purpose
It emits regularly spaced clock pulses
Each clock pulse defines a time unit
Note
The second an d third micro operations (µops) , both ,
takes place during the second time unit
The third µop could have been grouped 9
with the fourth without affecting the fetch operation
M ICRO -O PERATIONS ...
Rules for grouping of µops
Proper sequence of events mus t be followed
MAR (PC) m ust precede MBR (memory)
As memory read operation makes use of the address in
the MAR
Conflicts mu st be avoided
Must not read & write same register in one time unit
As the result would be unpredictable
cycle
10
M ICRO -O PERATIONS ...
Indirect Cycle
t1: MAR (IR[Address])
t2: MBR memory
t3: IR(Address)
(MBR[Address])
Note:
IR[Address]
Refers to the address field of the instruction
Note:
Save_Address
The address a t which the contents of the PC are to be saved
Routine_Address
The starting address of the interrupt processing routine
This is a minimum
May be additional micro-ops to get addresses
The na t ure of this cycle varies greatly from one machine to another
12
M ICRO -O PERATIONS ...
Fetch, Indirect and Interrupt Cycles
Simple and predictable
E ach involves a sm all, fixed of micro
sequence operations
In each case, the same sequence of micro operations
repeated
13
M ICRO -O PERATIONS ...
Execute Cycle
Different for each instruction
For a machine with N different opcodes
N different sequence of micro operation
Example:
ADD R1,X
(add the contents of location X to Register 1 , result in R1)
t1: MAR (IR[Address])
t2: MBR memory
t3: R1 (R1) + (MBR)
14
M ICRO -O PERATIONS ...
Execute Cycle
Example:
ISZ X
(increment and skip if zero)
t 1: MAR (IR[Address])
t 2: MBR memory
t 3: MBR (MBR) + 1
t 4: memory (MBR)
if ((MBR) == 0) t he n
PC (PC) + 1
15
M ICRO -O PERATIONS ...
So far we have seen
How the operation of the processor can be defined as
a sequence of micro operations
Next
How the control unit causes this sequence to occur
16
4.3 C ONTROL U NIT
Functional Requirements
Functional requirements of the control unit,
those functions the control unit m us t perform,
Basis for the design a nd implementation of the
control unit
Outputs
To control the behaviour of the system
20
C ONTROL U NIT ...
Model of Control Unit
21
C ONTROL U NIT ...
How does the control unit maintain control ?
Control signals
Example : consider the fetch cycle
Control unit generates the following control signals
MAR (PC)
Open gates between PC and MAR
MBR memory
IR (MBR) 22
Open gates between MBR and IR
C ONTROL U NIT ...
Dat a P a t hs and
Control Signals
23
C ONTROL U NIT ...
Maintains a knowledge of where it is in
the instruction cycle
Reads all of its inputs
25
H ARDWIRED I MPLEMENTATION
The control unit is essentially a combinational
circuit
Its inputs logic signals are transformed into a set
of output logic signals which are the control
signals
26
H ARDWIRED I MPLEMENTATION ...
Control Unit Inputs
Flags and control bus signals
Each individual bit typically has some meaning
Instruction register
The control unit makes use of the opcode to issue different
combination of control signals for different instruction
To simplify the control unit logic, there should be a unique logic
input for each opcode
Performed by a decoder
28
H ARDWIRED I MPLEMENTATION ...
Control Unit with Decoded Inputs
29
H ARDWIRED I MPLEMENTATION ...
Control Unit Internal Logic
Derive a boolean expression for each control signal as
a function of the inputs
Example:
Consider two control signals P a nd Q with the following
characteristics
PQ= 00 Fetch cycle
PQ=01 Indirect cycle
PQ=10 Execute cycle
PQ=11 Inte rrupt cycle
Then the boolean expression for C5 (a control signal t h a t
(C5 will be asserted during the second time unit of both the 30
fetch and indirect cycles)
H ARDWIRED I MPLEMENTATION ...
32