Design of Control Path Debdeep Mukhopadhyay Associate Professor

Slides:



Advertisements
Similar presentations
CS364 CH16 Control Unit Operation
Advertisements

Chapter 7: Microprogrammed Control
Computer Architecture
Microprogramming. S 2/e C D A Computer Systems Design and Architecture Second Edition© 2004 Prentice Hall Microprogramming Main Points/Terminology Difference.
CS364 CH17 Micro-programmed Control
Microprogramming Andreas Klappenecker CPSC321 Computer Architecture.
Chapter 7. Register Transfer and Computer Operations
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.
Micro-operations Are the functional, or atomic, operations of a processor. A single micro-operation generally involves a transfer between registers, transfer.
Lecture 16 Today’s topics: –MARIE Instruction Decoding and Control –Hardwired control –Micro-programmed control 1.
Multiple-bus organization
EXECUTION OF COMPLETE INSTRUCTION
1 Microprogrammed Control Computer Organization Prof. H. Yoon MICROPROGRAMMED CONTROL Control Memory Sequencing Microinstructions Microprogram Example.
MICROPROGRAMMED CONTROL
MICROPROGRAMMED CONTROLLER. 11/17/2007DSD,USIT,GGSIPU2 Introduction Generalization of rom-based controller State-transition and output functions implemented.
Microprogrammed Control Unit Control Memory Sequencing Microinstructions Microprogram Example Design of Control Unit Microinstruction Format.
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.
Computer Architecture Lecture 9 MIPS ALU and Data Paths Ralph Grishman Oct NYU.
Chapter 3 Basic Processing Unit.
Computer Architecture Lecture 7: Microprogrammed Microarchitectures Prof. Onur Mutlu Carnegie Mellon University Spring 2013, 1/30/2013.
Types of Micro-operation  Transfer data between registers  Transfer data from register to external  Transfer data from external to register  Perform.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
Control Unit Design.
PROGRAMMING THE BASIC COMPUTER
CS 270: Mathematical Foundations of Computer Science
Computer Organization and Architecture + Networks
PROGRAMMING THE BASIC COMPUTER
Systems Architecture I
Cpe 252: Computer Organization1 Dr. Lo’ai Tawalbeh Chapter 7: Microprogrammed Control.
William Stallings Computer Organization and Architecture
Morgan Kaufmann Publishers
Overview Instruction Codes Computer Registers Computer Instructions
Processor Organization and Architecture
Overview Control Memory Comparison of Implementations
REGISTER TRANSFER LANGUAGE AND DESIGN OF CONTROL UNIT
Micro-programmed Control Unit
MICROPROGRAMMED CONTROL
INDEX UNIT-III PPT SLIDES
Design of the Control Unit for Single-Cycle Instruction Execution
The Processor and Machine Language
Basic Processing Unit Unit- 7 Engineered for Tomorrow CSE, MVJCE.
Design of the Control Unit for One-cycle Instruction Execution
Computer Organization and Design
Some Fundamental Concepts
Control Unit Introduction Types Comparison Control Memory
Levels in Processor Design
Systems Architecture I (CS ) Lecture 2: A Simplified Computer
Processor Organization and Architecture
MICROPROGRAMMED CONTROL
MBR MAR RWM Unit R (Read Control) W (write Control) MBR.
Systems Architecture I
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
By: A. H. Abdul Hafez Computer Architecture and Organization: L06: Stored program and Instruction code.
Computer Architecture and Organization: L07: Control Sequence
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
Computer Architecture
MANINDER KAUR Maninder Kaur 1
Basic Processing Unit UNIT-5.
Review: The whole processor
MICROPROGRAMMED CONTROL
MICROPROGRAMMED CONTROL
William Stallings Computer Organization and Architecture
Computer Architecture Assembly Language
Chapter 7 Microprogrammed Control
UNIT – III Microprogrammed Control
Processor Organization and Architecture
Presentation transcript:

Design of Control Path Debdeep Mukhopadhyay Associate Professor Dept of Computer Science and Engineering NYU Shanghai and IIT Kharagpur

Hardwired Hardware

GCD Processor

An Example

Hardware for the GCD processor

State Table for the Control Unit What kind of state machine is this?

Classical method S0 = 00, S1 = 01, S2 = 10 and S3 = 11 Excitation Table

Is this a Moore or Mealy Machine?

Design based on Microprogram

Concept of Microprogram High Level description of a double precision ADD: ADD AL, BL ADDC AH, BH Low level description: Microprogram Cycle Function Select Storage Control Data Routing 1 2 Add Add with carry Read AL, Read BL, Write AL ReadAH, Read BH, Write AH …

What is a Microprogram? Microprogram - Program stored in memory that generates all the control signals required to execute the instruction set correctly - Consists of microinstructions Microinstruction - Contains a control word and a sequencing word Control Word - All the control information required for one clock cycle Sequencing Word - Information needed to decide the next microinstruction address Control Memory(Control Storage: CS) - Storage in the microprogrammed control unit to store the microprogram

What is a Microprogram? Microprogramming is so named because it uses concepts from regular programming. The micro prefix should remind you, however, that the microprogram used by a processor is different from the program executed by the processor. The main thing to remember is that we have a computer inside a computer, but that the inner computer is much simpler and more restricted

Micro-programmed Control Unit

Symbolic Micro-program Begin: A=0, Count=0, F=0, M=InBus Input: Q=Inbus Test1: If Q[0]=0 then goto RSHIFT; Add: A[7:0]=A[7:0]+M[7:0], F=(m[7] and Q[0])or F Rshift: A[7]=F, A[6:0],Q=A,Q[7:1], Cnt=Cnt+1 if cnt≠7 then goto Test1 Test2: If Q[0]=0 then go to Output1 Subtract: A[7:0]=A[7:0]-M[7:0], Q[0]=0 Output1: Outbus=A Output2: Outbus=B End: Halt c9, c10 c8 c2,c3,c4 c0,c1,c11 c2,c3,c4,c5 c6 c7 END

Control Signals

Branching No Branching Branch if Q[0]=0 Branch if Count≠7 Unconditional Branch Hence a 2-bit conditional select field is needed. There are 10 states, so 4 bits are enough to encode the states.

Binary Microprogram c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 END Address in CM Condition Selct Branch Address c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 END 0000 00 1 0001 0010 01 0100 0011 10 0101 0111 0110 1000 1001 11

Control Path Design Increment ~Q(0) MUX Load µPC Reset ~Count(7) MUX Increment ~Q(0) Load µPC ~Count(7) Reset 4 bits 1 Control Memory (10x19 bits) 4 bits Branch Address 19 bits c0,…,c11,END

Data Path Design

Comments Micro-programming helps in making Control Units which may be changed by changing the content of the memory. But slow due to the fetch timing of the instruction from the memory.

Assignment 2 Write a verilog code to implement the control path for a gcd processor. Write a verilog code to implement the micro-programmed control unit of a 2’s complement signed fraction multiplier.