Fall 2006 1 EE 333 Lillevik 333f06-l17 University of Portland School of Engineering Computer Organization Lecture 17 Controller design Microprogramming.

Slides:



Advertisements
Similar presentations
Adding the Jump Instruction
Advertisements

Fall EE 333 Lillevik480f05-a2 University of Portland School of Engineering EE 333 Exam 2 November 10, 2005 Instructions 1.Print your name, student.
CIS 314 Fall 2005 MIPS Datapath (Single Cycle and Multi-Cycle)
Fall EE 333 Lillevik333f06-a1 University of Portland School of Engineering EE 333 Exam 1 September 28, 2006 Instructions 1.Print your name, student.
The Processor: Datapath & Control
Fall 2007 MIPS Datapath (Single Cycle and Multi-Cycle)
The Processor 2 Andreas Klappenecker CPSC321 Computer Architecture.
Class 9.1 Computer Architecture - HUJI Computer Architecture Class 9 Microprogramming.
Dr. Iyad F. Jafar Basic MIPS Architecture: Multi-Cycle Datapath and Control.
Fall EE 333 Lillevik 333f06-l7 University of Portland School of Engineering Computer Organization Lecture 7 ALU design MIPS data path.
COSC 3430 L08 Basic MIPS Architecture.1 COSC 3430 Computer Architecture Lecture 08 Processors Single cycle Datapath PH 3: Sections
Fall EE 333 Lillevik 333f06-l8 University of Portland School of Engineering Computer Organization Lecture 8 Detailed MIPS datapath Timing overview.
Fall EE 333 Lillevik 333f06-l5 University of Portland School of Engineering Computer Organization Lecture 5 MIPS Instructions Loops Machine Instructions.
CPE232 Basic MIPS Architecture1 Computer Organization Multi-cycle Approach Dr. Iyad Jafar Adapted from Dr. Gheith Abandah slides
1 CS/COE0447 Computer Organization & Assembly Language Multi-Cycle Execution.
Fall EE 333 Lillevik 333f06-l13 University of Portland School of Engineering Computer Organization Lecture 13 Controller implementations Register.
Exam 2 Review Two’s Complement Arithmetic Ripple carry ALU logic and performance Look-ahead techniques Basic multiplication and division ( non- restoring)
CDA 3101 Fall 2013 Introduction to Computer Organization
CDA 3101 Fall 2013 Introduction to Computer Organization Multicycle Datapath 9 October 2013.
CS2100 Computer Organisation The Processor: Datapath (AY2015/6) Semester 1.
Fall EE 333 Lillevik 333f06-l18 University of Portland School of Engineering Computer Organization Lecture 18 IF, ID, R-type microprogramming Exam.
Datapath and Control AddressInstruction Memory Write Data Reg Addr Register File ALU Data Memory Address Write Data Read Data PC Read Data Read Data.
COM181 Computer Hardware Lecture 6: The MIPs CPU.
CDA 3101 Spring 2016 Introduction to Computer Organization Microprogramming and Exceptions 08 March 2016.
Chapter 4 From: Dr. Iyad F. Jafar Basic MIPS Architecture: Multi-Cycle Datapath and Control.
Computer Architecture Lecture 6.  Our implementation of the MIPS is simplified memory-reference instructions: lw, sw arithmetic-logical instructions:
Design a MIPS Processor (II)
Access the Instruction from Memory
EE204 Computer Architecture
Multi-Cycle Datapath and Control
CS161 – Design and Architecture of Computer Systems
Electrical and Computer Engineering University of Cyprus
CS161 – Design and Architecture of Computer Systems
Single-Cycle Datapath and Control
Computer Architecture
IT 251 Computer Organization and Architecture
Systems Architecture I
Extensions to the Multicycle CPU
Multi-Cycle CPU.
MIPS processor continued
CSCE 212 Chapter 5 The Processor: Datapath and Control
Single-Cycle CPU DataPath.
Design of the Control Unit for One-cycle Instruction Execution
CSCI206 - Computer Organization & Programming
Vishwani D. Agrawal James J. Danaher Professor
MIPS Processor.
Chapter Five The Processor: Datapath and Control
Levels in Processor Design
Rocky K. C. Chang 6 November 2017
Systems Architecture I
The Processor Lecture 3.2: Building a Datapath with Control
Vishwani D. Agrawal James J. Danaher Professor
Lecture 9. MIPS Processor Design – Decoding and Execution
COMS 361 Computer Organization
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
Computer Architecture Processor: Datapath
Multi-Cycle Datapath Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
Review Fig 4.15 page 320 / Fig page 322
MIPS processor continued
Advanced Computer Architecture Lecture 1
CS/COE0447 Computer Organization & Assembly Language
Systems Architecture I
Control Unit (single cycle implementation)
Alternative datapath (book): Multiple Cycle Datapath
The Processor: Datapath & Control.
COMS 361 Computer Organization
Computer Organization Lecture 19
MIPS Processor.
Processor: Datapath and Control
Presentation transcript:

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering Computer Organization Lecture 17 Controller design Microprogramming overview

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering MIPS controller Inputs IR(31:25) Outputs From Lecture 12

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering FSM architecture Present State NS Decoder Output Decoder Inputs Outputs Combo logic ROM MUX Combo logic ROM MUX Decoder Flip Flops

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering Ten one-bit outputs

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering Three two-bit outputs

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering State diagram overview All instructions require IF, ID (2 clk’s) 2 Clk1-3 Clk

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering Full FSM state diagram Inputs:Op Outputs: 13 signals States: 10

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering MDP16 controller Inputs IR(15:0) Outputs

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering Controller architecture PS flip- flops NSD  ROM Output Decoder Inputs Outputs  ROM contains microprogram

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering Controller overview Inputs: IR[0:15], EQ Outputs: ~15 signals Present state: 32-bits NSD or  ROM: 256x32

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering MDP16 controller PSNSD Inputs Outputs

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering Controller outputs NameAssertedNot Asserted PCincPC is incremented by 1NA PCwrPC written with input numberNA EPCPC written to EPC addressNA IorDALU addresses memoryPC addresses memory MEMwrMemory is writtenMemory is read IRwrIR written with input numberNA MDRwrMDR written with input numberNA SPCwrSPC written with input numberNA PCsrcPC written with branch addressPC written with jump address

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering Controller outputs, continued. NameValueMeaning ALUa First ALU source 0101 PC R0 ALUb [0:1] Second ALU source R1 IR [0:5] sign extended IR [0:5] zero extended Zero REGsrc Source for REG writes 0101 ALU MDR

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering Controller outputs, continued. NameValueMeaning REGrd [0:1] Register reads R1 = $0, R0 = $0 R1 = $0, R0 = $1 R1 = $1, R0 = $0 R1 = $1, R0 = $1 REGwr [0:1] Register written NA, none $0 $1 $1, $0

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering Controller outputs, continued. NameValueMeaning Funct [0:3]  Pgm control of ALU operation A - F Add Sub And Or Reserved (Default to Add) Shift left logical Shift right logical Reserved (Default to Add)

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering Controller internals NameAssertedNot Asserted Branch Branch  Pgm to opcode addressUse  Pgm for next address RwrWrite value into REG arrayNA PCwrcondPC written with input number ONLY if EQ is asserted NA

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering Which output is asserted? ActionSignal(s) Increment the PCPCinc Write to the IRIRwr Write the branch address into the PC PCsrc=1 PCwr MDR data written to both $0 and $1 REGsrc=1 REGwr=11 Force the ALU to addFunc=0000

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering Microprogramming overview Review instructions, understand goals Determine state diagram Microprogram individual instructions –List tokens on one line –Repeat for remaining clocks Merge all instructions Test, test, test

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering Microprogramming steps  ROM contents defined by  assembler  ROM Source File Assembler Object File.upg.txtB2Logic MicroAsm

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering MicroAsm Java application: MicroAsm.class, SavitchIn.class Microinstruction: free format, no fixed fields Requires input file: text-only, file.upg Creates output file: file.txt Errors: command line file name, file I/O, unrecognizable token Execution: BlueJ or DOS command line

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering BlueJ execution Must pass input file name to main method

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering Output file defines control  ROM Address Data

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering MDP16 op codes Op codeInstrClocks 0nop2 1R-fmt4 2sll4 3srl4 4lw5 5sw4

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering MDP16 op codes, continued. Op codeInstrClocks 6beq3 7j3 Aaddi4 Bsubi4 Candi4 Dori4

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering How many microinstructions? Op codeInstr 0nop 1R-fmt 2sll 3srl 4lw 5sw

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering How many microinstructions? Op codeInstr 6beq 7j Aaddi Bsubi Candi Dori

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering Partial MDP16 state diagram A G C D E F H B JI Lw or Sw R-fmt Beq Jump Reset Lw Sw

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering MDP16 state diagram IDID sll no p R- f m t swsw srllw add i be q j ori sub i and i IF Reset 1- 3 additional clocks 2 clocks

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering Which output is asserted? ActionSignal(s) Increment the PCPCinc Write to the IRIRwr Write the branch address into the PC PCwr PCsrc MDR data written to both $0 and $1 REGsrc REGwr [0:1] = 11 Force the ALU to addFunct [0:3] = 0000

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering How many microinstructions? Op codeInstr 0nop2 1R-fmt4 2sll4 3srl4 4lw5 5sw4

Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering How many microinstructions? Op codeInstr 6beq3 7j3 Aaddi4 Bsubi4 Candi4 Dori4