Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computer Organization and Architecture + Networks

Similar presentations


Presentation on theme: "Computer Organization and Architecture + Networks"— Presentation transcript:

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

21

22

23


Download ppt "Computer Organization and Architecture + Networks"

Similar presentations


Ads by Google