Computer Architecture

Slides:



Advertisements
Similar presentations
Computer Architecture
Advertisements

CS1104: Computer Organisation School of Computing National University of Singapore.
Topics covered: CPU Architecture CSE 243: Introduction to Computer Architecture and Hardware/Software Interface.
CSCI 4717/5717 Computer Architecture
1 ITCS 3181 Logic and Computer Systems 2014 B. Wilkinson Slides8.ppt Modification date: Nov 3, 2014 Random Logic Approach The approach described so far.
Microprogramming. S 2/e C D A Computer Systems Design and Architecture Second Edition© 2004 Prentice Hall Microprogramming Main Points/Terminology Difference.
MICROPROGRAM CONTROL.
CS364 CH17 Micro-programmed Control
Microprogramming Andreas Klappenecker CPSC321 Computer Architecture.
Topics covered: CPU Architecture CSE 243: Introduction to Computer Architecture and Hardware/Software Interface.
Chapter 7. Basic Processing Unit
S. Barua – CPSC 440 CHAPTER 5 THE PROCESSOR: DATAPATH AND CONTROL Goals – Understand how the various.
Computer Architecture Lecture 12 Fasih ur Rehman.
Computer Architecture Lecture 01 Fasih ur Rehman.
Chapter 5 Basic Processing Unit
Lecture 16 Today’s topics: –MARIE Instruction Decoding and Control –Hardwired control –Micro-programmed control 1.
Microprogrammed Control Chapter 17. Team Members Guillermo Cordon Ernesto Vivanco Brian Hadley Angel Carlos Castro.
Introduction to Computer Organization and Architecture Micro Program ภาษาเครื่อง ไมโครโปรแกรม.
Multiple-bus organization
MICROPROGRAMMED CONTROL
Computer Architecture Lecture 09 Fasih ur Rehman.
Dr Mohamed Menacer College of Computer Science and Engineering Taibah University CE-321: Computer.
Microprogrammed Control Unit Control Memory Sequencing Microinstructions Microprogram Example Design of Control Unit Microinstruction Format.
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.
5-1 Chapter 5—Processor Design—Advanced Topics Computer Systems Design and Architecture by V. Heuring and H. Jordan © 1997 V. Heuring and H. Jordan Chapter.
PART 6: (1/2) Enhancing CPU Performance CHAPTER 16: MICROPROGRAMMED CONTROL 1.
Computer Architecture Lecture 03 Fasih ur Rehman.
Lecture 15 Microarchitecture Level: Level 1. Microarchitecture Level The level above digital logic level. Job: to implement the ISA level above it. The.
Chapter 3 Basic Processing Unit.
MICROPROGRAMMED CONTROL
Datapath and control Dr. ir. A.B.J. Kokkeler 1. What is programming ? “Programming is instructing a computer to do something for you with the help of.
Types of Micro-operation  Transfer data between registers  Transfer data from register to external  Transfer data from external to register  Perform.
Basic Concepts Microinstructions The control unit seems a reasonably simple device. Nevertheless, to implement a control unit as an interconnection of.
Control Unit Design.
Computer Organization and Architecture + Networks
Micro-programmed Control
Overview Instruction Codes Computer Registers Computer Instructions
Processor Organization and Architecture
Overview Control Memory Comparison of Implementations
Micro-programmed Control Unit
MICROPROGRAMMED CONTROL
INDEX UNIT-III PPT SLIDES
The Processor and Machine Language
UNIT 4 Control Unit. UNIT 4 Control Unit Single CPU Bus CPU Bus MUX Temp PC R0 R(n-1) Instruction Decoder IR MAR MDR Z Y ALU Carry In Address Lines.
Basic Processing Unit Unit- 7 Engineered for Tomorrow CSE, MVJCE.
Computer Organization “Central” Processing Unit (CPU)
The Multicycle Implementation
Computer Organization and Design
Some Fundamental Concepts
Control Unit Introduction Types Comparison Control Memory
Processor Organization and Architecture
Chapter 7. Basic Processing Unit
The Multicycle Implementation
Design of Control Path Debdeep Mukhopadhyay Associate Professor
Chapter 7. Basic Processing Unit
Fundamental Concepts Processor fetches one instruction at a time and perform the operation specified. Instructions are fetched from successive memory locations.
William Stallings Computer Organization and Architecture 8th Edition
Computer Architecture
Basic Processing Unit UNIT-5.
MICROPROGRAMMED CONTROL
William Stallings Computer Organization and Architecture
UNIT – III Microprogrammed Control
Processor Organization and Architecture
Presentation transcript:

Computer Architecture Lecture 13 Fasih ur Rehman

Last Class Control Unit Hardwired control

Today’s Agenda Control Unit Microprogrammed Control

Overview In 1951 Maurice Wilkes came up with idea of sequencing of control signals within the computer similar to the sequencing actions required in a regular program. A stored program to represent the sequences of control signals. Called it microprogramming Divide machine instructions into sub-instructions (microinstructions) that implement the instruction set of the machine Full set of microinstructions made up the microprogram

Microprogrammed Control Control signals are generated by executing a program similar to machine language programs. Control Word (CW); microroutine; microinstruction

Nomenclature Control Word: is a word whose each bit represents a control signal Each control word is a unique combination of 0’s and 1’s. Control word is also called micro instruction For example: SelectY = 1 while Select4 = 0 Micro Routine: Collection of control words for a particular machine instruction

Basic Organization

Microprogrammed Control Each micro – instruction is stored in a special memory called control store. Control unit sequentially read that memory and generates control signal A program counter called micro – programmed counter is used to read control words (micro – instructions) sequentially. Micro – programmed counter is incremented by each clock cycle Control signals are thus generated using that particular CW

Micro – programmed Control A micro-program counter is used to read control words sequentially from control store Every time new instruction loaded into the IR, output of “Starting Address Generator” loaded into the μPC μPC automatically incremented by clock causing successive microinstructions to be read from the control store Control signals delivered to various parts of the processor in the correct sequence This scheme is not able to change its sequence as a result of other inputs such as the condition code e.g. Branch < 0

A Better Organization

Microprogrammed control with External Inputs “Starting and branch address generator” Loads new address into μPC when instructed Has condition codes and external inputs which can affect μPC μPC incremented every cycle except When new instruction loaded into IR, μPC loaded with starting address of the micro-routine For taken branches, μPC updated to branch address For End microinstruction, μPC set to 0.

Microinstructions Microinstructions can simply be structured by assigning one bit position to each control signal. This is very inefficient, however. The length can be reduced: most signals are not needed simultaneously, and many signals are mutually exclusive. All mutually exclusive signals are placed in the same group in binary coding.

Sequencing If all microprograms require only straightforward sequential execution of microinstructions except for branches, letting a μPC governs the sequencing would be efficient. Two disadvantages: Having a separate microroutine for each machine instruction results in a large total number of microinstructions and a large control store. Longer execution time because it takes more time to carry out the required branches.

μbranching in the µP Control Unit Branch to start of μcode for a specific inst. Conditional control signals, e.g. CON → PCin Looping on conditions, e.g. n≠0 → ... Goto6 Conditions will control μbranches instead of being ANDed with control signals Microbranches are frequent and control store addresses are short, so it is reasonable to have a μbranch address field in every μ instruction

Microinstruction with Next Address Field The microprogram we discussed requires several branch microinstructions, which perform no useful operation in the datapath. A powerful alternative approach is to include an address field as a part of every microinstruction to indicate the location of the next microinstruction to be fetched. Pros: separate branch microinstructions are virtually eliminated; few limitations in assigning addresses to microinstructions. Cons: additional bits for the address field

Summary Microprogrammed Control