Comp Arch Chapter4v2010

Download as pdf or txt
Download as pdf or txt
You are on page 1of 32

CHAPTER 4

CONTROL UNIT
1
OUTLINE
 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 INTRODUCTION
 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

 The control unit


 Portion of the processor that actually causes things to
happen by
 Issuing a control signal 3
 Internal as well as external to the processor
4.2 MICRO-OPERATIONS
 A computer executes a program
 Consists of a sequence of instruction cycles

 Instruction cycle
 Consists of the following smaller cycles
 Fetch/indirect/execute/interrupt cycle

 Each cycle in turn, involves a series of steps


 These steps are called micro-operations

 A single micro-operation does very little and generally


involves either of the following
 A transfer between registers
 A transfer between a register and an external bus or
 A simple ALU operation

 Atomic operation of CPU 4


MICRO-OPERATIONS...
 A diagram showing the relationship among the
concepts discussed so far

5
MICRO-OPERATIONS...
 In the next sections, we will see
 How the events of any instruction cycle can be
described as a sequence of micro operations

 How the concept of micro operations serve as a


guide to the design of the control unit

6
MICRO-OPERATIONS...
 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 data bus
 Data from data bus copied into MBR
 PC incremented by 1 (in parallel with data fetch from memory)

 Third Step
 Data (instruction) moved from MBR to IR 7
MICRO-OPERATIONS...
 Fetch cycle (symbolic)
 t1: MAR  (PC)
 t2: MBR  memory
PC  (PC) +1
 t3: IR  (MBR)

 Fetch cycle
 Involves three steps and four µop
 Note that each µop involves movement of data 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
MICRO-OPERATIONS...
 Assumptions
 A clock is available for timing purpose
 It emits regularly spaced clock pulses
 Each clock pulse defines a time unit

 Each single micro operation can be performed within


a time of a single time unit
 Notations t1,t2 and t3 represents successive time
units

 Note
 The second and third micro operations (µops) , both ,
takes place during the second time unit
 The third µop could have been grouped with the 9
fourth without affecting the fetch operation
MICRO-OPERATIONS...
 Rules for grouping of µops
 Proper sequence of events must be followed
 MAR  (PC) must precede MBR  (memory)
 As memory read operation makes use of the address in

the MAR
 Conflicts must be avoided
 Must not read & write same register in one time unit
 As the result would be unpredictable

 MBR  memory and IR  (MBR) must not be in same

cycle

10
MICRO-OPERATIONS...
 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

 MBR contains an address


 IR is now in the same state as if direct addressing
had been used 11
MICRO-OPERATIONS...
 Interrupt Cycle
 t1: MBR  (PC)
 t2: MAR  Save_Address
PC  Routine_Address
 t3: memory  (MBR)

 Note:
 Save_Address
 The address at 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 nature of this cycle varies greatly from one machine to another
12
MICRO-OPERATIONS...
 Fetch, Indirect and Interrupt Cycles
 Simple and predictable
 Each involves a small, fixed sequence of micro
operations
 In each case, the same sequence of micro operations
repeated

13
MICRO-OPERATIONS...
 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
MICRO-OPERATIONS...
 Execute Cycle
 Example:
 ISZ X
 (increment and skip if zero)
 t1: MAR  (IR[Address])
 t2: MBR  memory
 t3: MBR  (MBR) + 1
 t4: memory  (MBR)
if ((MBR) == 0) then PC  (PC) + 1

15
MICRO-OPERATIONS...
 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 CONTROL UNIT
 Functional Requirements
 Functional requirements of the control unit, those
functions the control unit must perform,
 Basis for the design and implementation of the control unit

 The control unit has to perform two basic tasks


 Sequencing
 Cause the processor to step through a series of µops ,in

the proper sequence


 Execution

 Cause each µop to be performed

 This is done using Control Signals 17


CONTROL UNIT...
 For the control unit to perform its function, it
needs
 Inputs
 To determine the state of the system

 Outputs
 To control the behaviour of the system

 The above are external specification of the control


unit

 Internally the control unit


 Must have the logic required to perform its function
 Sequencing 18
 Execution
CONTROL UNIT...
 Inputs
 Clock
 Used by control unit to keep time
 One µops or a set of parallel µops occur per clock cycle

 Instruction register
 Contains Op-code of current instruction
 Determines which µops are performed during the
execute cycle
 Flags
 Used by control unit to determine the status of CPU
 Also, to determine results of previous ALU operations

 From control bus


 Interrupts 19
 Acknowledgements
CONTROL UNIT...
 Outputs
 Control signals within CPU
 These are two types
 Cause data movement

 Activate specific ALU functions

 Control signals to control bus


 These are also two types
 Control signals to memory

 Control signals to I/O modules

20
CONTROL UNIT...
 Model of Control Unit

21
CONTROL UNIT...
 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
 Open gates between MAR and address bus

 Memory read control signal

 Open gates between data bus and MBR

 Add 1 to contents of PC and store the result back to PC

 IR  (MBR)
 Open gates between MBR and IR 22
CONTROL UNIT...
 Data Paths
and
Control Signals

23
CONTROL UNIT...
 Maintains a knowledge of where it is in the
instruction cycle
 Reads all of its inputs

 Emits a sequence of control signals


 That causes the right µops to occur at the right time

 The control unit is the engine that runs the


entire computer

24
4.4 CONTROL UNIT IMPLEMENTATION
 Two ways to implement the control unit:
 Hardwired Control Unit Implementation
 Micro programmed Control Unit Implementation

25
HARDWIRED IMPLEMENTATION
 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
HARDWIRED IMPLEMENTATION...
 Control Unit Inputs
 Flags and control bus signals
 Each individual bit typically has some meaning

 The other two inputs (instruction register and clock) are


not directly useful to the control unit
 Need to be modified as shown below

 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
 A decoder with n binary inputs will have 2n binary outputs
 For any combination of inputs only on of its output is high 27
HARDWIRED IMPLEMENTATION...
 Control Unit Inputs
 Clock
 Generates a repetitive sequence of pulses
 Useful for measuring duration of micro-ops

 The control unit emits different control signals at different


times within instruction cycle
 Realized using a counter as inputs to control unit

 Which generates different control signals


• T1,T2,T3….
 At the end of each instruction cycle, the control unit feeds
back to the counter to reinitialize it at T1

28
HARDWIRED IMPLEMENTATION...
 Control Unit with Decoded Inputs

29
HARDWIRED IMPLEMENTATION...
 Control Unit Internal Logic
 Derive a boolean expression for each control signal as
a function of the inputs
 Example:
 Consider two control signals P and Q with the following
characteristics
 PQ= 00 Fetch cycle

 PQ=01 Indirect cycle

 PQ=10 Execute cycle

 PQ=11 Interrupt cycle

 Then the boolean expression for C5 (a control signal that


causes the data to be read from the external data bus into
MBR)
 C5=P’Q’T2 + P’QT2
 (C5 will be asserted during the second time unit of both the 30
fetch and indirect cycles)
HARDWIRED IMPLEMENTATION...
 Control Unit Internal Logic
 Repeat the above process for every control signal
generated by the CU
 Result
 A set of boolean equations that define the behavior of the
control unit

 Problems With Hardwired Designs


 Complex sequencing & micro-operation logic
 Difficult to design and test
 Inflexible design
31
 Difficult to add new instructions
End of Chapter 4

32

You might also like