1 COMP541 Completing the MIPS Datapath Montek Singh Mar 27, 2007.

Slides:



Advertisements
Similar presentations
Circuitos Digitales II The General Computer Architecture The CPU Control unit Semana No.9 Semestre Prof. Gustavo Patiño Prof.
Advertisements

Review of the MIPS Instruction Set Architecture. RISC Instruction Set Basics All operations on data apply to data in registers and typically change the.
MIPS processor continued. Review Different parts in the processor should be connected appropriately to be able to carry out the functions. Connections.
1 Today  All HW1 turned in on time, this is great!  HW2 will be out soon —You will work on procedure calls/stack/etc.  Lab1 will be out soon (possibly.
Lab Assignment 2: MIPS single-cycle implementation
The Processor: Datapath & Control
1  1998 Morgan Kaufmann Publishers Chapter Five The Processor: Datapath and Control.
ENEE350 Ankur Srivastava University of Maryland, College Park Based on Slides from Mary Jane Irwin ( )
Processor II CPSC 321 Andreas Klappenecker. Midterm 1 Tuesday, October 5 Thursday, October 7 Advantage: less material Disadvantage: less preparation time.
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.
Chapter Five The Processor: Datapath and Control.
Copyright 1998 Morgan Kaufmann Publishers, Inc. All rights reserved. Digital Architectures1 Machine instructions execution steps (1) FETCH = Read the instruction.
The Datapath Andreas Klappenecker CPSC321 Computer Architecture.
1 COMP541 Final Missing Pieces of MIPS: Adding Memory & I/O Montek Singh Oct 29, 2014.
Processor I CPSC 321 Andreas Klappenecker. Midterm 1 Thursday, October 7, during the regular class time Covers all material up to that point History MIPS.
The Multicycle Processor CPSC 321 Andreas Klappenecker.
1 COMP541 Final Missing Pieces of MIPS: Adding Memory & I/O Montek Singh Apr 11, 2012.
Processor: Datapath and Control
1 COMP541 Multicycle MIPS Montek Singh Apr 4, 2012.
COMP541 Multicycle MIPS Montek Singh Apr 8, 2015.
Gary MarsdenSlide 1University of Cape Town Chapter 5 - The Processor  Machine Performance factors –Instruction Count, Clock cycle time, Clock cycles per.
Datapath and Control Unit Design
1 A single-cycle MIPS processor  An instruction set architecture is an interface that defines the hardware operations which are available to software.
1. Building A CPU  We’ve built a small ALU l Add, Subtract, SLT, And, Or l Could figure out Multiply and Divide  What about the rest l How do.
COMP541 Multicycle MIPS Montek Singh Mar 25, 2010.
December 26, 2015©2003 Craig Zilles (derived from slides by Howard Huang) 1 A single-cycle MIPS processor  As previously discussed, an instruction set.
Computer Architecture Lecture 9 MIPS ALU and Data Paths Ralph Grishman Oct NYU.
February 22, 2016©2003 Craig Zilles (derived from slides by Howard Huang) 1 A single-cycle MIPS processor  As previously discussed, an instruction set.
1 COMP541 Datapaths I Montek Singh Mar 8, Topics  Over next 2/3 classes: datapaths  Basic register operations Book sections 7-2 to 7-6 and 7-8.
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.
1 CS/COE0447 Computer Organization & Assembly Language Chapter 5 Part 2.
COM181 Computer Hardware Lecture 6: The MIPs CPU.
MIPS Processor.
MIPS processor continued. Review Different parts in the processor should be connected appropriately to be able to carry out the functions. Connections.
1 COMP541 Final Missing Pieces of MIPS: Adding Memory & I/O Montek Singh Apr 6, 2010.
Computer Architecture Lecture 6.  Our implementation of the MIPS is simplified memory-reference instructions: lw, sw arithmetic-logical instructions:
CS161 – Design and Architecture of Computer Systems
Chapter 5: A Multi-Cycle CPU.
Pipeline Timing Issues
Single-Cycle Datapath and Control
Computer Architecture
CSCI206 - Computer Organization & Programming
COMP541 Datapaths I Montek Singh Mar 28, 2012.
Processor Architecture: Introduction to RISC Datapath (MIPS and Nios II) CSCE 230.
MIPS processor continued
CSCI206 - Computer Organization & Programming
CS/COE0447 Computer Organization & Assembly Language
CSCI206 - Computer Organization & Programming
CS/COE0447 Computer Organization & Assembly Language
Current Design.
Design of the Control Unit for One-cycle Instruction Execution
CSCI206 - Computer Organization & Programming
CS/COE0447 Computer Organization & Assembly Language
CS/COE0447 Computer Organization & Assembly Language
MIPS Processor.
CSCI206 - Computer Organization & Programming
Composing the Elements
Composing the Elements
The Processor Lecture 3.2: Building a Datapath with Control
MIPS Microarchitecture Multicycle Processor
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
COMP541 Datapaths I Montek Singh Mar 18, 2010.
Review Fig 4.15 page 320 / Fig page 322
Data Path Diagrams.
CS/COE0447 Computer Organization & Assembly Language
COMS 361 Computer Organization
MIPS Pipelined Datapath
MIPS Processor.
CS/COE0447 Computer Organization & Assembly Language
Presentation transcript:

1 COMP541 Completing the MIPS Datapath Montek Singh Mar 27, 2007

2 Datapath Lab  Last Friday’s lab: Included this  Need more: also memory/control

3 Next few labs  March 30: lw and sw and branching  April 6: Complete CPU (Holiday?) Add VGA, keyboard/joystick Add VGA, keyboard/joystick

4 Next Lab  Implement the lw and sw instructions.  The address for lw/sw generated by ALU Format Format sw $r1, 100($r2) sw $r1, 100($r2) Store contents of register 1 to Store contents of register 1 to address $r address $r  Implement branch instructions

5 Store Word  Easier  Just disable writing to register  Set an address and write to memory Could use second memory port and write on same cycle as next instruction Could use second memory port and write on same cycle as next instruction  Let’s look at block diagram…

6 Block Diagram (just lw/sw)

7 R-Type and lw/sw

8 Load Word  Need to determine memory address Using ALU Using ALU  Then need to read memory and write to register

9Careful  If you use one memory port, your instruction will disappear You could use the other memory port You could use the other memory port Could add an instruction register Could add an instruction register  More complex control  Harvard Architecture another possibility

10 Sign Extension  Don’t get sidetracked into complexity  Just extend value of bit 15 to upper 16 bits  How?

11Branching  Add beq (branch on equal)  That should give enough breadth to actually write full programs

12 Resulting MIPS Datapath

13 With Control

14Memory  Addressing Byte address or word address? Byte address or word address?

15 The MIPS Datapath

16 Expanding Memory Block  First let’s look in detail at data memory block  See how to add block memories  Add I/O

17 Memory Block Signals Address – 32 bits Write Data – 32 bits Read Data – 32 bits Mem Write – 1 bit Mem Read – 1 bit

18 Using 2 Block RAMs  Illustration from book  Let’s work it out for Block RAMs  Specs next

19 Block RAM Specs  Try 2 256x16

20 Adding More Memory  Illustration from text  Could add 2 more block RAMs to increase mem to 512 words

21 Memory Map  Refers to how physical memory is populated  In our example, memory from 0 to 511 It’s in two blocks, but that’s invisible to programmer It’s in two blocks, but that’s invisible to programmer

22 Another Portion of Memory  Let’s see how to add a block of x8 character memory for the VGA  Need to make 24 bits be zero

23 Memory Map Instruction and Data Memory Empty Character Memory

24 Adding I/O  Look at memory-mapped I/O  Conceptually like this

25 In Reality  Isolated from CPU  On standard buses PCI PCI  Ours will be simpler Just memory addresses Just memory addresses

26Later  You’ll add joystick or keyboard (or both) into memory locations that you can read

27 How Does Processor Begin?  One way is to initialize PC to 0  Make sure to have instructions there Real computers have flash memory to boot CPU or go to configuration utility Real computers have flash memory to boot CPU or go to configuration utility On (very) old computers had to enter boot program on front panel On (very) old computers had to enter boot program on front panel