Download presentation
Presentation is loading. Please wait.
Published byLillian Gibson Modified over 6 years ago
1
Computer Organization and Architecture + Networks
Lecture 10 Control Unit
2
Overview So far in the course, we have looked at the processor design and assumed that the control portion worked In this section, we will Survey the control unit operation Highlights design methods using Hardwired control Microprogrammed control
3
Control Unit Function We have already seen that
Computer executes a program. Programs are executed as a sequence of instructions Each instruction contains a series of steps that make up the instruction cycle fetch, decode, execute, interrupt cycles Each of these steps/cycles has a number of fundamental operations/a smaller series of steps called microeperations
4
Control Unit Function Thus, the control unit operation can be defined by Defining the elements of the CPU Defining the microoperationsthe CPU performs Determining the functions the control unit must perform to cause the execution of the microoperations in the desired time sequence Sequencing Execution Control unit causes the processor to step through a series of microoperations in the proper sequence based on the program being executed Control unit causes each microoperation to be performed How the control unit performed the 2 functions? – through control signals
5
Control Unit Function General layout of a control unit is shown below
Clock: one micro-instruction per clock cycle Instruction register: opcode for current instruction, determines which micro-instructions are performed Flags: status of the processor and indication of results of previous operations From control bus: control signal from bus eg. interrupts Within CPU: cause data movement and to activate specific functions Via control bus: control signal to memory and control signal to I/O modules
6
Control Unit Function Each step of the instruction cycle can be decomposed into microoperation primitives that are performed in precise time sequence Instruction fetch t1: MAR (PC) t2: MBR memory PC PC+1 t3: IR (MBR) And add instruction - Add R1, X t1: MAR (IR(address)) t3: R1 (R1) + (MBR) Each microoperation is initiated and controlled based on the used of control signals/lines coming from the control unit cause data to move from one register to another and activate specific ALU functions Memory address register Memory buffer register Program counter Instruction register
7
Data paths and control signals
Microoperations Control unit design is then the collection and the implementation of all of the needed control signals Simple processor with single AC Data path between element Termination of control signals, Ci The control unit receives inputs from the clock, the IR and flags With each clock cycle, the control unit reads all of its inputs and emits a set of control signals – which go to 3 separates destinations Data paths ALU System bus Data paths and control signals
8
Microoperations
9
Control unit with decoded inputs
Despite the 4 key inputs Flags & control bus signals – bit with meaning IR and CLK – not directly useful Control unit use the opcode and perform different actions for different instructions control unit with decoded inputs – complex to than general to account for variable-length opcodes Timing generator in order the control unit to emit different control signals at different time units within a single instruction cycle Control unit with decoded inputs
10
Two approaches of implementation
Hardwired implementation Control unit is viewed as a sequential logic circuit Used to generate fixed sequences of control signals Implemented using any of a variety of “standard” digital logic techniques Principle advantages Higher speed operation Smaller implementations (components counts) Modifications to the design can be hard to do Favored approach in RISC style designs
11
Microprogrammed control unit
Control signal values for each microoperation are stored in a memory device – the control store Reading the contents of the control store in a prescribed order is equivalent to sequencing through the microoperations Since the “program” of microoperations and their control signal values are stored in memory, microprogrammed units Are more systematic with a well defined format Can be easily modified during the design process Require more components to implement Tend to be slower than hardwired units (due to having to perform memory read operations)
12
Hardwired Implementation
Three general design approaches Traditional “state-table” method from a digital logic course Can produce the minimum component design Complex design that may be hard to modify Clocked delay element Straight-forward layout based on flowchart of the instruction implementation Requires more delay elements (flip-flops) than are really needed Sequence counter approach Polyphase clock signals are derived from the master clock using a standard counter-decoder approach These signals are applied to the combinational portion of the circuit Example: load register B (control signal C12) C12 = T4I3 + T5I6Z + T6I24P
13
Wilkes’ microprogrammed control unit
Microprogramming The concept of programming was developed by Maurice Wilkes (1951), using diode matrices for the memory element Wilkes’ microprogrammed control unit
14
Microprogramming Modern microprogrammed control units have replaced the diode matrices with standard memory components The control unit operates by performing consecutive control storage reads to generate the next set of control function outputs Performing the series of control memory accesses is, in effect, executing a program for each instruction in the machine’s instruction set – hence the term microprogramming The control unit appears to be a complete computer within the larger computer – with all of its problems How do you specify the next microinstruction to be executed? How are branches handled?
15
Simple microprogrammed control unit
The option for next address Address field Instruction register code Next sequential address Branch control logic: single address field Mux – serves as destination for a address field + instruction register Based on address-selection input, the Mux transmits either the opcode of address field to the control address register CAR – decoded to produce the next microinstruction address. Address-selection – provided by a branch logic module whose input consists of control unit flags + bits from the control portion of the microinstruction Simple microprogrammed control unit
16
Branch control logic: two address fields – two address field in each microinstruction
Similar process – Mux can transmits one of the two address + opcode More complex unit
17
For the typically large microprocessor systems today, there are
Many instructions and associated register-level hardware Many control point to be manipulated This can result in a control memory that Contains a large number of words – corresponding to the number of instructions to be executed Has a wide word width – due to the large number of control points to be manipulated
18
Length is based on 3 factors
Most modifications to the basic design of a microprogrammed control unit have been concerned with the word length Length is based on 3 factors Maximum number of simultaneous microoperations that must be supported The control information is represented or encoded The way in which the next microinstruction address is specified Designer must choose the parallel “power” of each instruction Each microinstruction specifies a single (or few) microoperations to be performed (vertical microprogramming) Each microinstruction specifies many different microoperations to be performed in parallel (horizontal microprogramming)
19
Vertical microprogramming
Width is narrow: n control signals can be encoded into log2 n control bits Limited ability to express parallelism Considerable encoding of control information requires external memory word decoder to identify the exact control line being manipulated Horizontal microprogramming Wide memory word High degree of parallel operations are possible Little to no encoding of control information Compromise Divide control signals into disjoint groups Implement each group as a separate field in the memory word Supports reasonable levels of parallelism without too much complexity
20
Summary This section has overviewed the operation and the design of the control unit Hardwired and microprogramming techniques discussed Basic operation of each Advantages and disadvantages of each
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.