ECE/CS 552: Single Cycle Datapath

Slides:



Advertisements
Similar presentations
331 W08.1Spring :332:331 Computer Architecture and Assembly Language Spring 2006 Week 8: Datapath Design [Adapted from Dave Patterson’s UCB CS152.
Advertisements

The Processor: Datapath & Control
1  1998 Morgan Kaufmann Publishers Chapter Five The Processor: Datapath and Control.
Levels in Processor Design
The Processor 2 Andreas Klappenecker CPSC321 Computer Architecture.
Chapter Five The Processor: Datapath and Control.
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 Processor Andreas Klappenecker CPSC321 Computer Architecture.
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
COSC 3430 L08 Basic MIPS Architecture.1 COSC 3430 Computer Architecture Lecture 08 Processors Single cycle Datapath PH 3: Sections
Lec 15Systems Architecture1 Systems Architecture Lecture 15: A Simple Implementation of MIPS Jeremy R. Johnson Anatole D. Ruslanov William M. Mongan Some.
ECE 445 – Computer Organization
CPS3340 COMPUTER ARCHITECTURE Fall Semester, /19/2013 Lecture 17: The Processor - Overview Instructor: Ashraf Yaseen DEPARTMENT OF MATH & COMPUTER.
CDA 3101 Fall 2013 Introduction to Computer Organization
W.S Computer System Design Lecture 4 Wannarat Suntiamorntut.
Datapath and Control Unit Design
1  2004 Morgan Kaufmann Publishers Chapter Five.
Chapter 5 Instructor: Mozafar Bag-Mohammadi Spring 2010 Ilam University.
By Wannarat Computer System Design Lecture 4 Wannarat Suntiamorntut.
ECE/CS 552: Data Path and Control Instructor:Mikko H Lipasti Fall 2010 University of Wisconsin-Madison Lecture notes based on set created by Mark Hill.
1  1998 Morgan Kaufmann Publishers Simple Implementation Include the functional units we need for each instruction Why do we need this stuff?
COM181 Computer Hardware Lecture 6: The MIPs CPU.
MIPS Processor.
ECE/CS 552: Pipeline Hazards © Prof. Mikko Lipasti Lecture notes based in part on slides created by Mark Hill, David Wood, Guri Sohi, John Shen and Jim.
May 22, 2000Systems Architecture I1 Systems Architecture I (CS ) Lecture 14: A Simple Implementation of MIPS * Jeremy R. Johnson Mon. May 17, 2000.
Computer Architecture Lecture 6.  Our implementation of the MIPS is simplified memory-reference instructions: lw, sw arithmetic-logical instructions:
ECE/CS 552: Single Cycle Control Path
Exam-like questions.
CS161 – Design and Architecture of Computer Systems
CS161 – Design and Architecture of Computer Systems
Single-Cycle Datapath and Control
Processor Design & Implementation
Lecture 15: Basic CPU Design
Morgan Kaufmann Publishers
Introduction CPU performance factors
ECE/CS 552: Multicycle Data Path
Morgan Kaufmann Publishers
Processor Architecture: Introduction to RISC Datapath (MIPS and Nios II) CSCE 230.
MIPS Processor.
Processor (I).
CS/COE0447 Computer Organization & Assembly Language
Chapter Five.
MIPS processor continued
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
ECE/CS 552: Instruction Sets – MIPS
CSCI206 - Computer Organization & Programming
MIPS Processor.
Levels in Processor Design
Topic 5: Processor Architecture Implementation Methodology
Rocky K. C. Chang 6 November 2017
Levels in Processor Design
The Processor Lecture 3.2: Building a Datapath with Control
The Processor Lecture 3.1: Introduction & Logic Design Conventions
Systems Architecture I
COMS 361 Computer Organization
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
Levels in Processor Design
Instructor: Mozafar Bag-Mohammadi Spring 2006 University of Ilam
Simple Implementation
Levels in Processor Design
Single Cycle Datapath Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
ECE/CS 552: Pipelining and Exceptions
MIPS processor continued
Levels in Processor Design
The Processor: Datapath & Control.
COMS 361 Computer Organization
What You Will Learn In Next Few Sets of Lectures
MIPS Processor.
Processor: Datapath and Control
Presentation transcript:

ECE/CS 552: Single Cycle Datapath © Prof. Mikko Lipasti Lecture notes based in part on slides created by Mark Hill, David Wood, Guri Sohi, John Shen and Jim Smith

Processor Implementation Forecast – heart of 552 – key to project Sequential logic design review (brief) Clock methodology (FSD) Datapath – 1 CPI Single instruction, 2’s complement, unsigned Next: Control Multiple cycle implementation (information only) Microprogramming Exceptions

Review Sequential Logic Logic is combinational if output is solely function of inputs E.g. ALU of previous lecture Logic is sequential or “has state” if output function of: Past and current inputs Past inputs remembered in “state” Of course, no magic

Review Sequential Logic Clock high, Q = D, ~Q = ~D after prop. Delay Clock low Q, ~Q remain unchanged Level-sensitive latch

Review Sequential Logic Master/Slave D flip-flop While clock high, QM follows D, but QS holds At falling edge QM propagates to QS Opaque except at falling (rising) clock edge

Review Sequential Logic D FF +1 Why can this fail for a latch? Latch is transparent when clock is high (low) Creates combinational loop Increment evaluates unknown number of times

Clocking Methology Use Fully Synchronous Design (FSD) Motivation Design data and control without considering clock Use Fully Synchronous Design (FSD) Just a convention to simplify design process Restricts design freedom Eliminates complexity, can guarantee timing correctness Not really feasible in real designs: off-chip I/O Even in ECE 554 you will violate FSD

Our Methodology Only flip-flops All on the same edge (e.g. falling) All with same clock No need to draw clock signals All logic finishes in one cycle

Our Methodology, cont’d No clock gating! Book has bad examples Correct design:

Delayed Clocks (Gating) X Y Clock Gated clock X Y Problem: Some flip-flops receive gated clock late Data signal may violate setup & hold req’t

FSD Clocking Rules Tclock = cycle time Delay Clock D Y D Y Clock Tclock = cycle time Tsetup = FF setup time requirement Thold = FF hold time requirement TFF = FF combinational delay Tcomb = Combinational delay FSD Rules: Tclock > TFF + Tcombmax + Tsetup TFF + Tcombmin > Thold

Datapath – 1 CPI Assumption: get whole instruction done in one long cycle Instructions: and, lw, sw, & beq To do For each instruction type Putting it all together

Fetch Instructions Fetch instruction, then increment PC Assumes Same for all types Assumes PC updated every cycle No branches or jumps After this instruction fetch next one

ALU Instructions and $1, $2, $3 # $1 <= $2 & $3 E.g. MIPS R-format Opcode rs rt rd shamt function 6 5 5 5 5 6

Load/Store Instructions lw $1, immed($2) # $1 <= M[SE(immed)+$2] E.g. MIPS I-format: Opcode rt rt immed 6 5 5 16

Branch Instructions beq $1, $2, addr # if ($1==$2) PC = PC + addr<<2 Actually newPC = PC + 4 target = newPC + addr << 2 # in MIPS offset from newPC if (($1 - $2) == 0) PC = target else PC = newPC

Branch Instructions

All Together

Register File?

Summary Sequential logic design review (brief) Clock methodology (FSD) Datapath – 1 CPI ALU, lw, sw, beq instructions