Computer Organization and Architecture + Networks

Slides:



Advertisements
Similar presentations
Control Unit Implemntation
Advertisements

PART 5: (2/2) Processor Internals CHAPTER 15: CONTROL UNIT OPERATION 1.
Chapter 16 Control Unit Operation No HW problems on this chapter. It is important to understand this material on the architecture of computer control units,
CS364 CH17 Micro-programmed Control
Topics covered: CPU Architecture CSE 243: Introduction to Computer Architecture and Hardware/Software Interface.
Chapter 16 Control Unit Implemntation. A Basic Computer Model.
Chapter 15 IA 64 Architecture Review Predication Predication Registers Speculation Control Data Software Pipelining Prolog, Kernel, & Epilog phases Automatic.
Computer Organization and Architecture
Micro-operations Are the functional, or atomic, operations of a processor. A single micro-operation generally involves a transfer between registers, transfer.
TEAM 1: Miguel Harmant Rodney Rodriguez Elias Crespo Javier Parra Alfredo Alonso Marc-Wayne Anglin.
Introduction to Computer Organization and Architecture Micro Program ภาษาเครื่อง ไมโครโปรแกรม.
Multiple-bus organization
Chapter 4 MARIE: An Introduction to a Simple Computer.
CONTROL UNIT OPERATION MICROPROGRAMMED CONTROL. 2.
Dr Mohamed Menacer College of Computer Science and Engineering Taibah University CE-321: Computer.
Chapter 16 Micro-programmed Control
MICROPROGRAMMED CONTROL CH 17 Team # 2 Members: Wilmer Saint-Hilaire Alberto Mollinedo Vinicius Schuina Luis Perez.
1 Control Unit Operation and Microprogramming Chap 16 & 17 of CO&A Dr. Farag.
Microprogrammed Control Chapter11:. Two methods for generating the control signals are: 1)Hardwired control o Sequential logic circuit that generates.
PART 6: (1/2) Enhancing CPU Performance CHAPTER 16: MICROPROGRAMMED CONTROL 1.
CSE 241 Computer Organization Lecture # 8 Ch. 7 Control Unit Dr. Tamer Samy Gaafar Dept. of Computer & Systems Engineering.
Lecture 15 Microarchitecture Level: Level 1. Microarchitecture Level The level above digital logic level. Job: to implement the ISA level above it. The.
Basic Elements of Processor ALU Registers Internal data pahs External data paths Control Unit.
MICROPROGRAMMED CONTROL
GROUP 2 CHAPTER 16 CONTROL UNIT Group Members ๏ Evelio L. Hernandez ๏ Ashwin Soerdien ๏ Andrew Keiper ๏ Hermes Andino.
Control Unit Operations Chapter10:. What is Control Unit (CU)?(1)  Part of a CPU or other device that directs its operation.  Tells the rest of the.
Chapter 10 Control Unit Operation “Controls the operation of the processor”
Processor Organization and Architecture Module III.
Types of Micro-operation  Transfer data between registers  Transfer data from register to external  Transfer data from external to register  Perform.
Functions of Processor Operation Addressing modes Registers i/o module interface Memory module interface Interrupts.
Basic Concepts Microinstructions The control unit seems a reasonably simple device. Nevertheless, to implement a control unit as an interconnection of.
Controller Implementation
Basic Computer Organization and Design
Micro-programmed Control
Chap 7. Register Transfers and Datapaths
Micro-Operations A computer executes a program Fetch/execute cycle
William Stallings Computer Organization and Architecture
William Stallings Computer Organization and Architecture 7th Edition
Overview Instruction Codes Computer Registers Computer Instructions
Processor Organization and Architecture
Overview Control Memory Comparison of Implementations
Chapter 15 Control Unit Operation
Micro-programmed Control Unit
MICROPROGRAMMED CONTROL
Basic Processing Unit Unit- 7 Engineered for Tomorrow CSE, MVJCE.
Computer Organization and Design
Control Unit Introduction Types Comparison Control Memory
MARIE: An Introduction to a Simple Computer
Processor Organization and Architecture
William Stallings Computer Organization and Architecture 7th Edition
BIC 10503: COMPUTER ARCHITECTURE
Chapter 14 Control Unit Operation
William Stallings Computer Organization and Architecture 8th Edition
Computer Architecture
Chapter 14 Control Unit Operation
MANINDER KAUR Maninder Kaur 1
MICROPROGRAMMED CONTROL
MICROPROGRAMMED CONTROL
William Stallings Computer Organization and Architecture
Computer Architecture
Processor Organization and Architecture
Presentation transcript:

Computer Organization and Architecture + Networks Lecture 10 Control Unit

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

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

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

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

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

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

Microoperations

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

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

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)

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

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

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?

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

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

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

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)

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

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