Fall 2006 1 EE 333 Lillevik 333f06-l13 University of Portland School of Engineering Computer Organization Lecture 13 Controller implementations Register.

Slides:



Advertisements
Similar presentations
Lecture 5: MIPS Instruction Set
Advertisements

Adding the Jump Instruction
MIPS processor continued. Review Different parts in the processor should be connected appropriately to be able to carry out the functions. Connections.
Fall EE 333 Lillevik480f05-a2 University of Portland School of Engineering EE 333 Exam 2 November 10, 2005 Instructions 1.Print your name, student.
ELEN 468 Advanced Logic Design
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.
331 W08.1Spring :332:331 Computer Architecture and Assembly Language Spring 2006 Week 8: Datapath Design [Adapted from Dave Patterson’s UCB CS152.
The Processor: Datapath & Control
Fall 2007 MIPS Datapath (Single Cycle and Multi-Cycle)
Number One Tom Bozic Ian Nuber Greg Ramsey Henry Romero Matt Unangst.
Computer ArchitectureFall 2007 © October 3rd, 2007 Majd F. Sakr CS-447– Computer Architecture.
The Processor 2 Andreas Klappenecker CPSC321 Computer Architecture.
Lecture 16: Basic CPU Design
1 Lecture 14: FSM and Basic CPU Design Today’s topics:  Finite state machines  Single-cycle CPU Reminder: midterm on Tue 10/24  will cover Chapters.
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.
Processor: Datapath and Control
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.
Gary MarsdenSlide 1University of Cape Town Chapter 5 - The Processor  Machine Performance factors –Instruction Count, Clock cycle time, Clock cycles per.
Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering Computer Organization Lecture 17 Controller design Microprogramming.
EEM 486: Computer Architecture Designing a Single Cycle Datapath.
Computer Organization & Programming Chapter 6 Single Datapath CPU Architecture.
Fall EE 333 Lillevik 333f06-l14 University of Portland School of Engineering Computer Organization Lecture 14 Memory hierarchy, locality Memory.
Computer Architecture and Design – ECEN 350 Part 6 [Some slides adapted from A. Sprintson, M. Irwin, D. Paterson and others]
Computer Architecture CSE 3322 Lecture 3 Assignment: 2.4.1, 2.4.4, 2.6.1, , Due 2/3/09 Read 2.8.
Computer Organization CS224 Fall 2012 Lessons 7 and 8.
Fall EE 333 Lillevik 333f06-l18 University of Portland School of Engineering Computer Organization Lecture 18 IF, ID, R-type microprogramming Exam.
Chapter 4 From: Dr. Iyad F. Jafar Basic MIPS Architecture: Single-Cycle Datapath and Control.
COM181 Computer Hardware Lecture 6: The MIPs CPU.
MIPS Processor.
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
Computer Architecture Lecture 6.  Our implementation of the MIPS is simplified memory-reference instructions: lw, sw arithmetic-logical instructions:
Access the Instruction from Memory
Exam-like questions.
CS161 – Design and Architecture of Computer Systems
Single-Cycle Datapath and Control
EE 333 Exam 1 September 29, 2005 Answers Instructions Name Student ID
ELEN 468 Advanced Logic Design
Conditional Branches What distinguishes a computer from a simple calculator is its ability to make decisions Decisions are made using the if statement,
CS/COE0447 Computer Organization & Assembly Language
MIPS processor continued
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
CS/COE0447 Computer Organization & Assembly Language
Single-Cycle CPU DataPath.
CS/COE0447 Computer Organization & Assembly Language
MISP Assembly.
Design of the Control Unit for One-cycle Instruction Execution
MIPS Processor.
Datapath & Control MIPS
Vishwani D. Agrawal James J. Danaher Professor
Lecture 9. MIPS Processor Design – Decoding and Execution
Systems Architecture I
MIPS Microarchitecture Multicycle Processor
COMS 361 Computer Organization
Review Fig 4.15 page 320 / Fig page 322
MIPS Assembly.
MIPS processor continued
Advanced Computer Architecture Lecture 1
MIPS assembly.
CS/COE0447 Computer Organization & Assembly Language
COMS 361 Computer Organization
Computer Organization Lecture 19
MIPS Processor.
Processor: Datapath and Control
MIPS instructions.
Advanced Computer Architecture Lecture 3
CS/COE0447 Computer Organization & Assembly Language
Presentation transcript:

Fall EE 333 Lillevik 333f06-l13 University of Portland School of Engineering Computer Organization Lecture 13 Controller implementations Register file design MDP16 overview

Fall EE 333 Lillevik 333f06-l13 University of Portland School of Engineering Controller and datapath Inputs IR(31:25) Outputs

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

Fall EE 333 Lillevik 333f06-l13 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-l13 University of Portland School of Engineering FSM controller State register (D- type FF) holds present state (PS)

Fall EE 333 Lillevik 333f06-l13 University of Portland School of Engineering PLA implementation State (PS) bits and Op determine outputs and next state Alternately, use a ROM IN OUT NS PS

Fall EE 333 Lillevik 333f06-l13 University of Portland School of Engineering Project 4: Register File Two, 16-bit registers ($0, $1) Two read ports One write port Equal output

Fall EE 333 Lillevik 333f06-l13 University of Portland School of Engineering Inputs InputFunction ResetForces the output to all zeros. CLKSynchronous clock for entire MDP16 design. DinPort with 16-bit number to load into register file. REGrdDefines read port contents 00 R1 = $0, R0 = $0 01 R1 = $0, R0 = $1 10 R1 = $1, R0 = $0 11 R1 = $1, R0 = $1 REGwrDefines destination register for writes 00Disable write port 01Write to register $0 10Write to register $1 11Write to register $1, $0 (both registers)

Fall EE 333 Lillevik 333f06-l13 University of Portland School of Engineering Outputs OutputFunction R0outRead port zero (R0), 16-bits R1outRead port one (R1), 16-bits EQStatus bit that indicates R0 and R1 contain identical numbers $0Register $0 output for debugging, 16-bits $1Register $1 output for debugging, 16-bits

Fall EE 333 Lillevik 333f06-l13 University of Portland School of Engineering Register design Read ports Write port

Fall EE 333 Lillevik 333f06-l13 University of Portland School of Engineering MDP16 overview Architecture similar to MIPS Sixteen-bit machine Two registers: $0, $1 Word addressing (0x0000 – 0xffff) Memory: 0xffff = 2 16 = 65,536 words Formats: R, I, J-types

Fall EE 333 Lillevik 333f06-l13 University of Portland School of Engineering MDP16 schematic

Fall EE 333 Lillevik 333f06-l13 University of Portland School of Engineering MDP16 schematic

Fall EE 333 Lillevik 333f06-l13 University of Portland School of Engineering Instruction format opadr op rsrtadr/imm I J R op rsrt funcrd

Fall EE 333 Lillevik 333f06-l13 University of Portland School of Engineering Basic questions Why do we have just two registers? What is the most positive and negative address offset? What is the range of the jump address?

Fall EE 333 Lillevik 333f06-l13 University of Portland School of Engineering Instructions NameOpFormatFuncExampleMeaning add sub addi subi and or andi ori sll srl 11AB11CD2311AB11CD23 RRIIRRIIIIRRIIRRIIII 0 1 na 2 3 na add $0, $0, $1 sub $0, $0, $1 addi $0, $1, 20 subi $0, $1, 20 and $0, $0, $1 or $0, $0, $1 andi $0, $1, 1f ori $0, $1, 1f sll $0, $1 srl $0, $1 $0 = $0 + $1 $0 = $0 - $1 $0 = $ $0 = $ $0 = $0 & $1 $0 = $0 || $1 $0 = $1 & 1f $0 = $1 || 1f $0 = $1 << 1 bit $0 = $1 >> 1 bit

Fall EE 333 Lillevik 333f06-l13 University of Portland School of Engineering Instructions, continued. NameOpFormatExampleMeaning nop lw sw beq j resv ,9 E,F J I J NA nop lw $0, c3 ($1) sw $0, c3 ($1) beq $0, $1, 2a j 23 NA No operation $0 = mem [$1 + c3] mem [$1 + c3] = $0 If ($0 == $1) go to (PC + 1) + 2a PC = PC [15- 12] || 23 NA

Fall EE 333 Lillevik 333f06-l13 University of Portland School of Engineering Find machine instruction? InstructionTypeOp rsrtrdimmed /adr functMachine (hex) add $0, $0, $1 r na00000x1400 andi $0, $1, 10f I f0xc50f sll $0, $1 i x2400 lw $0, 323 ($1) I ten0x4a11 beq $0, $1, 17a j a64

Fall EE 333 Lillevik 333f06-l13 University of Portland School of Engineering MDP16 programming We do not have an assembler –Must “hand” assemble –Limited to small programs – Senior design project anyone? Assume the MIPS syntax, addressing, directives, labels

Fall EE 333 Lillevik 333f06-l13 University of Portland School of Engineering Simple program

Fall EE 333 Lillevik 333f06-l13 University of Portland School of Engineering Assemble the simple program? AddressMachine Instruction Assembly Instruction Comment 0000x1001 sub $0, $0, $0 # $0 = x1e01 sub $1, $1, $1 # $1 = xa002 addi $0,$0,0x2 # $0 = addi $1,$1,0x3 # $1 = add $0,$0,$1 # $0 = 5 All numbers in hex

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

Fall EE 333 Lillevik 333f06-l13 University of Portland School of Engineering Basic questions Why do we have just two registers? Need only one bit to define What is the most positive and negative address offset? What is the range of the jump address? 0x000 to 0xfff = 0000 to 4095

Fall EE 333 Lillevik 333f06-l13 University of Portland School of Engineering Find machine instruction? InstructionTypeOp rsrtrdimmed /adr functMachine (hex) add $0, $0, $1 R0x1010na0x00x1400 andi $0, $1, 10f I0xc10na0x10fna0xa90f sll $0, $1 I0x210na 0x2400 lw $0, 323 ($1) I0x410na0x323na0x4b23 beq $0, $1, 17a I0x610na0x17ana0x657a j a64 J0x7na 0xa64na0x7a64

Fall EE 333 Lillevik 333f06-l13 University of Portland School of Engineering Assemble the simple program? AddressMachine Instruction Assembly Instruction Comment sub $0, $0, $0 # $0 = e01 sub $1, $1, $1 # $1 = 0 002a002 addi $0,$0,0x2 # $0 = 2 003ac03 addi $1,$1,0x3 # $1 = add $0,$0,$1 # $0 = 5 All numbers in hex