0% found this document useful (0 votes)
29 views32 pages

Comp Arch Chapter4v2010

The document discusses the control unit of a computer processor. It describes how the control unit sequences and executes micro-operations to carry out instruction cycles. The control unit issues control signals based on its inputs like the clock and instruction register. It has two main tasks - sequencing micro-operations in the proper order and executing each micro-operation. The control unit can be implemented with a hardwired design that generates control signals using combinational logic circuits.

Uploaded by

babishahawi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views32 pages

Comp Arch Chapter4v2010

The document discusses the control unit of a computer processor. It describes how the control unit sequences and executes micro-operations to carry out instruction cycles. The control unit issues control signals based on its inputs like the clock and instruction register. It has two main tasks - sequencing micro-operations in the proper order and executing each micro-operation. The control unit can be implemented with a hardwired design that generates control signals using combinational logic circuits.

Uploaded by

babishahawi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 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