CS 150 - Fall 2005 – Lec #15: Microprogramming - 1 Controller Implementation--Part II Alternative controller FSM implementation approaches based on: –Classical.

Slides:



Advertisements
Similar presentations
Control Unit Implemntation
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.
Computer Organization and 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.
CS Spring 2007 – Lec #14: Control Implementation - 1 Controller Implementation--Part I Alternative controller FSM implementation approaches based.
CS Spring Controller Implementation - 1 Overview Alternative controller FSM implementation approaches based on: –classical Moore and Mealy.
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.
CS Fall 2005 – Lec #14: Control Implementation - 1 Controller Implementation--Part I Alternative controller FSM implementation approaches based on:
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.
Chapter 7. Basic Processing Unit
CS Spring 2007 – Lec #18 – Mid #2 Review - 1 Understanding Engineers #1 zThe graduate with a Science degree asks, "Why does it work?" zThe graduate.
Computer Organization. Motivation Computer Design as an application of digital logic design  Computer = Processing Unit + Memory System  Processing.
1 Computer Organization Today: First Hour: Computer Organization –Section 11.3 of Katz’s Textbook –In-class Activity #1 Second Hour: Test Review.
Lecture 16 Today’s topics: –MARIE Instruction Decoding and Control –Hardwired control –Micro-programmed control 1.
Introduction to Computer Organization and Architecture Micro Program ภาษาเครื่อง ไมโครโปรแกรม.
Multiple-bus organization
EXECUTION OF COMPLETE INSTRUCTION
1 Microprogrammed Control Computer Organization Prof. H. Yoon MICROPROGRAMMED CONTROL Control Memory Sequencing Microinstructions Microprogram Example.
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.
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
September 26, 2001Systems Architecture I1 Systems Architecture I (CS ) Lecture 2: Implementation of a Simplified Computer Jeremy R. Johnson Wednesday,
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
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.
Jeremy R. Johnson William M. Mongan
Copyright © 2005 – Curt Hill MicroProgramming Programming at a different level.
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
Computer Organization and Architecture + Networks
Micro-programmed Control
Processor Organization and Architecture
Overview Control Memory Comparison of Implementations
Micro-programmed Control Unit
MICROPROGRAMMED CONTROL
INDEX UNIT-III PPT SLIDES
Simple Processor Control Unit
Computer Architecture
Basic Processing Unit Unit- 7 Engineered for Tomorrow CSE, MVJCE.
Controller Implementation--Part II
Controller Implementation--Part I
Some Fundamental Concepts
Systems Architecture I (CS ) Lecture 2: A Simplified Computer
Processor Organization and Architecture
MICROPROGRAMMED CONTROL
Fundamental Concepts Processor fetches one instruction at a time and perform the operation specified. Instructions are fetched from successive memory locations.
Computer Architecture
Chapter 14 Control Unit Operation
Basic Processing Unit UNIT-5.
Multi-Cycle Datapath Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
CS Fall Controller Implementation - 1
MICROPROGRAMMED CONTROL
MICROPROGRAMMED CONTROL
William Stallings Computer Organization and Architecture
Presentation transcript:

CS Fall 2005 – Lec #15: Microprogramming - 1 Controller Implementation--Part II Alternative controller FSM implementation approaches based on: –Classical Moore and Mealy machines –Time-State: Divide and Conquer –Jump counters –Microprogramming (ROM) based approaches »Branch sequencers »Horizontal microcode »Vertical microcode

CS Fall 2005 – Lec #15: Microprogramming - 2 Branch Sequencers Concept Implement Next State Logic via ROM Address ROM with current state and inputs Problem: ROM doubles in size for each additional input Note: Jump counter trades off ROM size vs. external logic Only jump states kept in ROM Even in hybrid approach, state + input subset form ROM address Branch Sequencer: between the extremes Next State stored in ROM Each state limited to small number of next states Always a power of 2 Observe: only a small set of inputs are examined in any state

CS Fall 2005 – Lec #15: Microprogramming - 3 Branch Sequencers 4 Way Branch Sequencer Current State selects two inputs to form part of ROM address These select one of four possible next states (and output sets) Every state has exactly four possible next states Mux I n p u t s 64 Word ROM   state x11 x10 x01 x00 Z Y X W C o n t r o l S i g n a l s a0 a1 a2 a3 a4 a5 N WX Y Z 

CS Fall 2005 – Lec #15: Microprogramming - 4 Branch Sequencer Processor CPU Design Example Alpha, Beta multiplexer input setup

CS Fall 2005 – Lec #15: Microprogramming - 5 Example Processor FSM ROM ADDRESSROM CONTENTS (Reset, Current State, a, b)Next StateRegister Transfer Operations RES00000XX0001 (IF0)PC  MAR, PC + 1  PC IF (IF0) (IF1)MAR  Mem, Read, Request IF (IF2)MAR  Mem, Read, Request (IF1)Mem  MBR IF (IF2) (OD)MBR  IR OD (LD0)IR  MAR (ST0)IR  MAR, AC  MBR (AD0)IR  MAR (BR0)IR  MAR

CS Fall 2005 – Lec #15: Microprogramming - 6 Example Processor FSM ROM ADDRESSROM CONTENTS (Reset, Current State, a, b)Next StateRegister Transfer Operations LD000101XX0110 (LD1)MAR  Mem, Read, Request LD (LD2)Mem  MBR (LD1)MAR  Mem, Read, Request LD200111XX0000 (RES)MBR  AC ST001000XX1001 (ST1)MAR  Mem, Write, Request, MBR  Mem ST (RES) (ST1)MAR  Mem, Write, Request, MBR  Mem AD001010XX1011 (AD1)MAR  Mem, Read, Request AD (AD2) (AD1)MAR  Mem, Read, Request AD201100XX0000 (RES)MBR + AC  AC BR (RES) (RES)IR  PC

CS Fall 2005 – Lec #15: Microprogramming - 7 Branch Sequencers Alternative Horizontal Implementation Input MUX controlled by encoded signals, not state Much fewer inputs than unique states! In example FSM, input MUX can be 2:1! Adding length to ROM word saves on bits vs. doubling words Vertical format: (14 + 4) x 64 = 1152 ROM bits Horizontal format: ( x 4 + 2) x 16 = 512 ROM bits

CS Fall 2005 – Lec #15: Microprogramming - 8 Microprogramming How to organize the control signals Implement control signals by storing 1's and 0's in a ROM Horizontal vs. vertical microprogramming Horizontal: 1 ROM output for each control signal Vertical: encoded control signals in ROM, decoded externally some mutually exclusive signals can be combined helps reduce ROM length

CS Fall 2005 – Lec #15: Microprogramming - 9 Microprogramming Register Transfer/Microoperations 14 Register Transfer operations become 22 Microoperations: PC  ABUS IR  ABUS MBR  ABUS RBUS  AC AC  ALU A MBUS  ALU B ALU ADD ALU PASS B MAR  Address Bus MBR  Data Bus ABUS  IR ABUS  MAR Data Bus  MBR RBUS  MBR MBR  MBUS 0  PC PC + 1  PC ABUS  PC Read/Write Request AC  RBUS ALU Result  RBUS

CS Fall 2005 – Lec #15: Microprogramming - 10 Horizontal Microprogramming Horizontal Branch Sequencer  Mux bits 4 x 4 Next State bits 22 Control operation bits 40 bits total Next States A0 A1A2A3  mux  ALU PASS BMAR  Address Bus MBR  Data Bus ABUS  IR ABUS  MAR Data Bus  MBR RBUS  MBR  MBUS PC  ABUS IR  ABUS MBR  ABUS RBUS  AC  ALU A MBUS  ALU B ALU ADD 0  PC PC + 1  PC ABUS  PC Read/Write Request AC  RBUS ALU Result  RBUS

CS Fall 2005 – Lec #15: Microprogramming - 11 Horizontal Microprogramming Moore Processor ROM Alpha inputs: 0 = Wait, 1 = IR Beta inputs: 0 = AC, 1 = IR Current State (Address) RES (0000) IF0 (0001) IF1 (0010) IF2 (0011) IF3 (0100) OD (0101) LD0 (0110) LD1 (0111) LD2 (1000) ST0 (1001) ST1 (1010) AD0 (1011) AD1 (1100) AD2 (1101) BR0 (1110) BR1 (1111) ABUS  IR ABUS  MAR Data Bus  MBR RBUS  MBR  MBUS 0  PC PC + 1  PC ABUS  PC Read/Write Request AC  RBUS ALU Result  RBUS Next States A0A1A2A3  mux  ALU ADD ALU PASS BMAR  Address Bus MBR  Data Bus PC  ABUS IR  ABUS MBR  ABUS RBUS  AC  ALU A MBUS  ALU B

CS Fall 2005 – Lec #15: Microprogramming - 12 Horizontal Microprogramming Advantages: most flexibility -- complete parallel access to datapath control points Disadvantages: very long control words bits for real processors Output Encodings: Group mutually exclusive signals Use external logic to decode NOTE: Not all microoperation combinations make sense! Example: 0  PC, PC + 1  PC, ABUS  PC mutually exclusive Save ROM bit with external 2:4 Decoder

CS Fall 2005 – Lec #15: Microprogramming - 13 Horizontal Microprogramming Partially Encoded Control Outputs

CS Fall 2005 – Lec #15: Microprogramming - 14 More extensive encoding to reduce ROM word length Typically use multiple microword formats: –Horizontal microcode -- next state + control bits in same word –Separate formats for control outputs and "branch jumps" –may require several microwords in a sequence to implement same function as single horizontal word In the extreme, very much like assembly language programming Vertical Microprogramming

CS Fall 2005 – Lec #15: Microprogramming - 15 Vertical Microprogramming Branch Jump Compare indicated signal to 0 or 1 Register Transfer Source, Destination, Operation 10 ROM Bits

CS Fall 2005 – Lec #15: Microprogramming - 16 Vertical Microprogramming ROM ADDRESSSYMBOLIC CONTENTSBINARY CONTENTS RESRTPC  MAR, PC +1  PC IF0RTMAR  M, Read BJWait=0, IF IF1RTMAR  M, M  MBR, Read BJWait=1, IF IF2RTMBR  IR BJWait=0, IF RTIR  MAR ODBJIR =1, OD BJIR =1, ST LD0RTMAR  M, Read LD1RTMAR  M, M  MBR, Read BJWait=1, LD LD2RTMBR  AC BJWait=0, RES BJWait=1, RES

CS Fall 2005 – Lec #15: Microprogramming - 17 Vertical Microprogramming ROM ADDRESSSYMBOLIC CONTENTSBINARY CONTENTS ST0RTAC  MBR RTMAR  M, MBR  M, Write ST1RTMAR  M, MBR  M, Write BJWait=0, RES BJWait=1, ST OD1BJIR =1, BR AD0RTMAR  M, Read AD1RTMAR  M, M  MBR, Read BJWait=1, AD AD2RTAC + MBR  AC BJWait=0, RES BJWait=1, RES BR0BJAC =0, RES RTIR  PC BJAC =1, RES words x 10 ROM bits = 310 bits total versus 16 x 38 = 608 bits horizontal

CS Fall 2005 – Lec #15: Microprogramming - 18 Vertical Programming Controller Block Diagram

CS Fall 2005 – Lec #15: Microprogramming - 19 Vertical Microprogramming Condition Logic

CS Fall 2005 – Lec #15: Microprogramming - 20 Vertical Microprogramming Writeable Control Store –Part of control store addresses map into RAM »Allows assembly language programmer to implement own instructions »Extend "native" instruction set with application specific instructions »Requires considerable sophistication to write microcode »Not a popular approach with today's processors –Make the native instruction set simple and fast –Write "higher level" functions as assembly language sequences

CS Fall 2005 – Lec #15: Microprogramming - 21 Controller Implementation Summary-- Part II Control Unit Organization –Register transfer operation –Classical Moore and Mealy machines –Time State Approach –Jump Counter –Branch Sequencers –Horizontal and Vertical Microprogramming