Computer Organization Lecture 19

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)
ELEN 468 Advanced Logic Design
Fall EE 333 Lillevik333f06-e2 University of Portland School of Engineering EE 333 Exam 2 November 9, 2006 Instructions 1.Print your name, student.
361 multicontroller.1 ECE 361 Computer Architecture Lecture 11: Designing a Multiple Cycle Controller.
Fall 2007 MIPS Datapath (Single Cycle and Multi-Cycle)
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.
Fall EE 333 Lillevik 333f06-l8 University of Portland School of Engineering Computer Organization Lecture 8 Detailed MIPS datapath Timing overview.
EECS 322: Computer Architecture
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)
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-l18 University of Portland School of Engineering Computer Organization Lecture 18 IF, ID, R-type microprogramming Exam.
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
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 & OPERATIONS I
IT 251 Computer Organization and Architecture
IT 251 Computer Organization and Architecture
ELEN 468 Advanced Logic Design
Systems Architecture I
Multi-Cycle CPU.
Extensions to the Multicycle CPU
Multi-Cycle CPU.
Basic MIPS Architecture
MIPS Processor.
Design of the Control Unit for Single-Cycle Instruction Execution
MIPS processor continued
ADITI SHINDE CHIDAMBARAM ALAGAPPAN
CSCE 212 Chapter 5 The Processor: Datapath and Control
Computer Architecture
CS 704 Advanced Computer Architecture
Single-Cycle CPU DataPath.
Design of the Control Unit for One-cycle Instruction Execution
The Multicycle Implementation
CSCI206 - Computer Organization & Programming
Vishwani D. Agrawal James J. Danaher Professor
A Multiple Clock Cycle Instruction Implementation
Systems Architecture II
MIPS Processor.
Datapath & Control MIPS
The Multicycle Implementation
Systems Architecture I
Vishwani D. Agrawal James J. Danaher Professor
Lecture 9. MIPS Processor Design – Decoding and Execution
COMS 361 Computer Organization
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
Data Path Diagrams.
MIPS processor continued
Systems Architecture I
Alternative datapath (book): Multiple Cycle Datapath
The Processor: Datapath & Control.
COMS 361 Computer Organization
MIPS Processor.
Processor: Datapath and Control
ELEC / Computer Architecture and Design Spring 2015 Pipeline Control and Performance (Chapter 6) Vishwani D. Agrawal James J. Danaher.
Presentation transcript:

Computer Organization Lecture 19 Exam 2 results Project 4: Memory Microprogramming: R-type Lillevik 333f06-l19 University of Portland School of Engineering

Exam 2 statistics Prob Std Ave 1/10 2.3 7.7 2/10 2.7 7.8 3/10 0.7 9.8 4/10 3.0 6.4 5/10 1.9 8.8 6/10 1.2 9.6 7/10 2.2 8.7 8/10 3.7 9/10 8.3 10/10 8.5 12.9 77.8 Lillevik 333f06-l19 University of Portland School of Engineering

MIPS controller From Lecture 12 & 17 Outputs Outputs Inputs IR(31:25) Lillevik 333f06-l19 University of Portland School of Engineering

FSM architecture Present State NS Decoder Output Inputs Outputs ROM Combo logic Flip Flops Lillevik 333f06-l19 University of Portland School of Engineering

Project 5: Memory Memory contains ROM and RAM Size: 16K words ROM: first 256 words RAM: remaining 16K words Not installed: 17K – 64K words Due: Wednesday, November 17 Lillevik 333f06-l19 University of Portland School of Engineering

Requirements Address Map Inputs Outputs Address Memory Input Function 0x000 – 0x0ff ROM 0x100 – 0x3fff RAM 0x4000 – 0xffff No memory installed Address Map Input Function ADR Contains a 16-bit address to access the memory Din Contains a 16-bit data to write into the memory MEMwr When asserted, data is written to the memory Inputs Output Function Dout Contains 16-bit data read from the memory Outputs Lillevik 333f06-l19 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 Lillevik 333f06-l19 University of Portland School of Engineering

uProgram tokens Token Value Function Branch 0000 0100 Branch the uPgm to the opcode (default is next address) Rwr 0000 0400 Write to the REG file Imm 0000 0800 uPgm controls ALU function (default is IR[3:0]) PCinc 0000 1000 Increment the PC PCwr 0000 2000 Write to the PC PCwrcond 0000 4000 Write to the PC if EQ is asserted EPC 0000 8000 Select EPC for PC write IoD 0001 0000 Select RALU for memory address (default is PC) MEMwr 0002 0000 Write to the memory (default is to read) IRwr 0004 0000 Write to the IR MDRwr 0008 0000 Write to the MDR Lillevik 333f06-l19 University of Portland School of Engineering

uProgram tokens, continued. Value Function SPCwr 0010 0000 Write to SPC register PCsrc 0020 0000 PC write data is branch address (default is jump address) ALUa-R0 ALUa-PC 0040 0000 0000 0000 First ALU argument is R0 First ALU argument is PC (default is PC) ALUb-R1 ALUb-Ext ALUb-Trnc 0080 0000 0100 0000 Second ALU argument is R1 Second ALU argument is Sign Extended offset Second ALU argument is Truncated offset REG-RALU REG-MDR 0200 0000 REG write data is the RALU REG write data is the MDR Lillevik 333f06-l19 University of Portland School of Engineering

uProgram tokens, continued. Value Function REGfmt 0800 0000 Selects IR[10] for the REG destination (default is IR[9]) ALUOpadd ALUOpsub ALUOpand ALUOpor ALUOpsll ALUOpsrl 0000 0000 1000 0000 2000 0000 3000 0000 8000 0000 9000 0000 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 Lillevik 333f06-l19 University of Portland School of Engineering

MDP16 state diagram ID sll sw srl lw j IF Reset 2 clocks nop R-fmt sw srl lw addi beq j ori subi andi IF Reset 2 clocks 1- 3 additional clocks Lillevik 333f06-l19 University of Portland School of Engineering

IF/ID states Write instruction from memory into IR, Increment the program counter (clock 1) Determine optimistic branch address Dispatch to opcode (clock 2) IRWr PCinc Alua-pc Alub-ext imm aluopadd branch Lillevik 333f06-l19 University of Portland School of Engineering

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

R-type microprogram Lillevik 333f06-l19 University of Portland School of Engineering

MDP16 state diagram ID sll sw srl lw j IF Reset nop beq addi ori subi R-fmt sw srl lw addi beq j ori subi andi IF Reset Lillevik 333f06-l19 University of Portland School of Engineering

Sll instruction ALU function is shift left logically Write result into register file Lillevik 333f06-l19 University of Portland School of Engineering

Sll EX state? Origin: 0x20 Operation: clock 3 Functional units RALUout = A << 1 Functional units uPgm must control ALU function ALU funct = shift left logically ALU input R0 Lillevik 333f06-l19 University of Portland School of Engineering

Sll WB state? Next: return to IF Operation: clock 4 Functional units Reg [ IR(10)] = ALUout Functional units Must write to reg file Data comes from RALU Use IR[10] as destination register Lillevik 333f06-l19 University of Portland School of Engineering

MDP16 state diagram ID sll sw srl lw j IF Reset nop beq addi ori subi R-fmt sw srl lw addi beq j ori subi andi IF Reset Lillevik 333f06-l19 University of Portland School of Engineering

Store instruction Find the effective address Write register contents to memory Lillevik 333f06-l19 University of Portland School of Engineering

Store EX state? Origin: 0x50 Operation: clock 3 Functional units ALUout = A + sign-extend (IR[0:9]) Functional units uPgm must control ALU function ALU funct = add ALU inputs R0 Sign-extended offset Lillevik 333f06-l19 University of Portland School of Engineering

Store MEM state? Next: return to IF Operation: clock 4 Memory [ALUout] = B Functional units RALU addresses memory R1 written into memory Lillevik 333f06-l19 University of Portland School of Engineering

Completed Microcode ROM Lillevik 333f06-l19 University of Portland School of Engineering

Lillevik 333f06-l19 University of Portland School of Engineering

Sll microprogram ALU function is shift left logically (clock 3) Write result into register file (clock 4) Rwr reg_Ralu regFmt Return Imm aluA_R0 aluOpSll Lillevik 333f06-l19 University of Portland School of Engineering

Sll microprogram Lillevik 333f06-l19 University of Portland School of Engineering

Store microprogram Find the effective address (clock 3) Write register contents to memory (clock 4) Imm aluA_R0 aluB_ext aluOpAdd IoD MemWr return Lillevik 333f06-l19 University of Portland School of Engineering

Store microprogram Lillevik 333f06-l19 University of Portland School of Engineering