Fall 2006 1 EE 333 Lillevik 333f06-l18 University of Portland School of Engineering Computer Organization Lecture 18 IF, ID, R-type microprogramming Exam.

Slides:



Advertisements
Similar presentations
Adding the Jump Instruction
Advertisements

Pipeline Example: cycle 1 lw R10,9(R1) sub R11,R2, R3 and R12,R4, R5 or R13,R6, R7.
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 Lillevik 333f06-l4 University of Portland School of Engineering Computer Organization Lecture 4 Assembly language programming ALU and.
Fall EE 333 Lillevik333f06-e2 University of Portland School of Engineering EE 333 Exam 2 November 9, 2006 Instructions 1.Print your name, student.
Fall EE 333 Lillevik333f06-a1 University of Portland School of Engineering EE 333 Exam 1 September 28, 2006 Instructions 1.Print your name, student.
361 multicontroller.1 ECE 361 Computer Architecture Lecture 11: Designing a Multiple Cycle Controller.
The Processor: Datapath & Control
VHDL Development for ELEC7770 VLSI Project Chris Erickson Graduate Student Department of Electrical and Computer Engineering Auburn University, Auburn,
Fall 2007 MIPS Datapath (Single Cycle and Multi-Cycle)
Computer Structure - Datapath and Control Goal: Design a Datapath  We will design the datapath of a processor that includes a subset of the MIPS instruction.
The Processor 2 Andreas Klappenecker CPSC321 Computer Architecture.
1 The Processor: Datapath and Control We will design a microprocessor that includes a subset of the MIPS instruction set: –Memory access: load/store word.
Class 9.1 Computer Architecture - HUJI Computer Architecture Class 9 Microprogramming.
S. Barua – CPSC 440 CHAPTER 5 THE PROCESSOR: DATAPATH AND CONTROL Goals – Understand how the various.
The Processor: Datapath & Control. Implementing Instructions Simplified instruction set memory-reference instructions: lw, sw arithmetic-logical instructions:
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.
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.
Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering Computer Organization Lecture 17 Controller design Microprogramming.
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.
Computer Architecture and Design – ECEN 350 Part 6 [Some slides adapted from A. Sprintson, M. Irwin, D. Paterson and others]
Fall EE 333 Lillevik 333f06-s2 University of Portland School of Engineering Computer Organization Study Guide 2 Exam 2 Thursday, November 9 Closed.
Elements of Datapath for the fetch and increment The first element we need: a memory unit to store the instructions of a program and supply instructions.
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
CS161 – Design and Architecture of Computer Systems
CS161 – Design and Architecture of Computer Systems
Single-Cycle Datapath and Control
IT 251 Computer Organization and Architecture
ELEN 468 Advanced Logic Design
Systems Architecture I
Multi-Cycle CPU.
Multi-Cycle CPU.
CS/COE0447 Computer Organization & Assembly Language
Design of the Control Unit for Single-Cycle Instruction Execution
CSCE 212 Chapter 5 The Processor: Datapath and Control
Single-Cycle CPU DataPath.
CS/COE0447 Computer Organization & Assembly Language
Design of the Control Unit for One-cycle Instruction Execution
The Multicycle Implementation
CSCI206 - Computer Organization & Programming
A Multiple Clock Cycle Instruction Implementation
Datapath & Control MIPS
Topic 5: Processor Architecture Implementation Methodology
The Multicycle Implementation
Systems Architecture I
The Processor Lecture 3.2: Building a Datapath with Control
Topic 5: Processor Architecture
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
Multi-Cycle Datapath Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
Review Fig 4.15 page 320 / Fig page 322
CS/COE0447 Computer Organization & Assembly Language
Systems Architecture I
Alternative datapath (book): Multiple Cycle Datapath
The Processor: Datapath & Control.
COMS 361 Computer Organization
Computer Organization Lecture 19
Presentation transcript:

Fall EE 333 Lillevik 333f06-l18 University of Portland School of Engineering Computer Organization Lecture 18 IF, ID, R-type microprogramming Exam 2 review

Fall EE 333 Lillevik 333f06-l18 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-l18 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-l18 University of Portland School of Engineering MicroAsm syntax Directives org: nbr Sets uPC to value of nbr, used with branch token // comment Everthing after // ignored Each line –directives (optional) –tokens (signals to assert) –last line contains return

Fall EE 333 Lillevik 333f06-l18 University of Portland School of Engineering MicroAsm source format

Fall EE 333 Lillevik 333f06-l18 University of Portland School of Engineering uProgram tokens TokenValueFunction Branch Branch the uPgm to the opcode (default is next address) Rwr Write to the REG file Imm uPgm controls ALU function (default is IR[3:0]) PCinc Increment the PC PCwr Write to the PC PCwrcond Write to the PC if EQ is asserted EPC Select EPC for PC write IoD Select RALU for memory address (default is PC) MEMwr Write to the memory (default is to read) IRwr Write to the IR MDRwr Write to the MDR

Fall EE 333 Lillevik 333f06-l18 University of Portland School of Engineering uProgram tokens, continued. TokenValueFunction SPCwr Write to SPC register PCsrc PC write data is branch address (default is jump address) ALUa-R0 ALUa-PC First ALU argument is R0 First ALU argument is PC (default is PC) ALUb-R1 ALUb-Ext ALUb-Trnc Second ALU argument is R1 Second ALU argument is Sign Extended offset Second ALU argument is Truncated offset REG-RALU REG-MDR REG write data is the RALU REG write data is the MDR

Fall EE 333 Lillevik 333f06-l18 University of Portland School of Engineering uProgram tokens, continued. TokenValueFunction REGfmt Selects IR[10] for the REG destination (default is IR[9]) ALUOpadd ALUOpsub ALUOpand ALUOpor ALUOpsll ALUOpsrl ALU function is add ALU function is subtract ALU function is logical AND ALU function is logical OR ALU function is shift left logically ALU function is shift right logically Next Return uPC+1 00 Inserts uPC+1 into uPgm next address (default) Inserts 00 into uPgm next address

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

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

Fall EE 333 Lillevik 333f06-l18 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-l18 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-l18 University of Portland School of Engineering IF state ? Write instruction from memory into IR Increment the program counter IRwr PCin c

Fall EE 333 Lillevik 333f06-l18 University of Portland School of Engineering ID state ? Determine optimistic branch address Branch to opcode Alua-pc Alub-ext imm aluopadd branch

Fall EE 333 Lillevik 333f06-l18 University of Portland School of Engineering R-type instruction Op code: 01 Func bits (IR[3:0]) determine ALU operation Write result into register file

Fall EE 333 Lillevik 333f06-l18 University of Portland School of Engineering R-type EX state? Origin: 0x10 Operation: clock 3 –RALUout = A funct B Functional units –ALU funct = IR[0:3] –ALU inputs R0 R1 Org: 10 alua-r0 Alub-r1

Fall EE 333 Lillevik 333f06-l18 University of Portland School of Engineering R-type WB state? Next: return to IF Operation: clock 4 –Reg [ IR(9)] = ALUout Functional units –Must write to reg file –Data comes from RALU –Use IR[9] as destination register rwr reg-ralu return

Fall EE 333 Lillevik 333f06-l18 University of Portland School of Engineering Exam 2 review See website Syllabus & Reference page

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

Fall EE 333 Lillevik 333f06-l18 University of Portland School of Engineering IF state ? Write instruction from memory into IR Increment the program counter IRWr PCinc

Fall EE 333 Lillevik 333f06-l18 University of Portland School of Engineering ID state ? Determine optimistic branch address Dispatch to opcode Imm aluA_Pc aluB_Ext aluOpAdd branch

Fall EE 333 Lillevik 333f06-l18 University of Portland School of Engineering IF, ID microprogram Two microinstructions, two ROM contents

Fall EE 333 Lillevik 333f06-l18 University of Portland School of Engineering R-type microprogram Func bits (IR[3:0]) determine ALU operation Write result into register file aluA_R0 aluB_R1 Rwr reg_Ralu Return

Fall EE 333 Lillevik 333f06-l18 University of Portland School of Engineering R-type microprogram