Single Cycle CPU.

Slides:



Advertisements
Similar presentations
Pipeline Example: cycle 1 lw R10,9(R1) sub R11,R2, R3 and R12,R4, R5 or R13,R6, R7.
Advertisements

The Processor: Datapath & Control
Multicycle Review Performance Examples. Single Cycle MIPS Implementation All instructions take the same amount of time Signals propagate along longest.
331 W9.1Spring :332:331 Computer Architecture and Assembly Language Spring 2006 Week 9 Building a Single-Cycle Datapath [Adapted from Dave Patterson’s.
Levels in Processor Design
CMPUT Computer Organization and Architecture II1 CMPUT229 - Fall 2003 TopicE: Building a Data Path and a Control Path for a Microprocessor José Nelson.
331 Lec 14.1Fall 2002 Review: Abstract Implementation View  Split memory (Harvard) model - single cycle operation  Simplified to contain only the instructions:
CMPUT Computer Organization and Architecture II1 CMPUT329 - Fall 2003 TopicH: Building a Data Path and a Control Path for a Microprocessor José Nelson.
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.
The Processor: Datapath & Control. Implementing Instructions Simplified instruction set memory-reference instructions: lw, sw arithmetic-logical instructions:
Chapter 4 Sections 4.1 – 4.4 Appendix D.1 and D.2 Dr. Iyad F. Jafar Basic MIPS Architecture: Single-Cycle Datapath and Control.
Supplementary notes for pipelining LW ____,____ SUB ____,____,____ BEQ ____,____,____ ; assume that, condition for branch is not satisfied OR ____,____,____.
COSC 3430 L08 Basic MIPS Architecture.1 COSC 3430 Computer Architecture Lecture 08 Processors Single cycle Datapath PH 3: Sections
Computer Architecture and Design – ECEN 350 Part 6 [Some slides adapted from A. Sprintson, M. Irwin, D. Paterson and others]
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.
D ATA P ATH OF A PROCESSOR (MIPS) Module 1.1 : Elements of computer system UNIT 1.
Chapter 4 From: Dr. Iyad F. Jafar Basic MIPS Architecture: Single-Cycle Datapath and Control.
PC Instruction Memory Address Instr. [31-0] 4 Fig 4.6 p 309 Instruction Fetch.
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.
1 Chapter 5: Datapath and Control (Part 2) CS 447 Jason Bakos.
Computer Architecture Lecture 6.  Our implementation of the MIPS is simplified memory-reference instructions: lw, sw arithmetic-logical instructions:
Design a MIPS Processor (II)
Single-cycle CPU Control
Access the Instruction from Memory
EE204 Computer Architecture
Single Cycle CPU - Control
Chapter 5: A Multi-Cycle CPU.
Single-Cycle Datapath and Control
Computer Architecture
Multi-Cycle CPU.
Morgan Kaufmann Publishers The Processor
Morgan Kaufmann Publishers The Processor
Single Cycle Processor
D.4 Finite State Diagram for the Multi-cycle processor
Multi-Cycle CPU.
ECS 154B Computer Architecture II Spring 2009
MIPS processor continued
Review: MIPS Pipeline Data and Control Paths
Morgan Kaufmann Publishers The Processor
CSCI206 - Computer Organization & Programming
CS/COE0447 Computer Organization & Assembly Language
Single-Cycle CPU DataPath.
CS/COE0447 Computer Organization & Assembly Language
CSCI206 - Computer Organization & Programming
Systems Architecture II
Levels in Processor Design
Rocky K. C. Chang 6 November 2017
Composing the Elements
Composing the Elements
The Processor Lecture 3.3: Single-cycle Implementation
The Processor Lecture 3.2: Building a Datapath with Control
Vishwani D. Agrawal James J. Danaher Professor
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
Processor: Multi-Cycle Datapath & Control
Control Unit (single cycle implementation)
Access the Instruction from Memory
The Processor.
5.5 A Multicycle Implementation
MIPS processor continued
CS/COE0447 Computer Organization & Assembly Language
Control Unit (single cycle implementation)
The Processor: Datapath & Control.
COMS 361 Computer Organization
Processor: Datapath and Control
ELEC / Computer Architecture and Design Spring 2015 Pipeline Control and Performance (Chapter 6) Vishwani D. Agrawal James J. Danaher.
CS/COE0447 Computer Organization & Assembly Language
Presentation transcript:

Single Cycle CPU

Operations Implemented R-type add sub and or Load/Store ldur stur Conditional branch cbz Unconditional branch b

Register File Read Select D E C O R Data Out Write Select Data Out M U X D E C O R Data Out Write Select M U X Data Out Write Enable Clock Data In Register File

R-Type Instruction Path Rn Write ALU Rm Select Registers Rd R-Type Instruction Path

Load/Store Instruction Path Rn ALU Registers Select Rt address Data Memory 1 M U X data out Sign Ext data in DT Addr Load/Store Instruction Path

Conditional Branch Instruction Path PC + 4 ADD Shift Left 2 ALU Registers zero (to select condition) Select Rt Sign Ext Cond Br Addr Conditional Branch Instruction Path

Immediate Instruction Path (not implemented) Rn Write ALU Registers Select Rd Zero Ext Immediate Immediate Instruction Path (not implemented)

Instruction Path with Instruction from Memory PC + 4 ADD branch addr Shift Left 2 5-9 Write Zero ALU PC Instruction Memory 16-20 M U X Registers 0-4 address 1 M U X Data Memory 1 data out M U X 0-31 Sign Ext data in Instruction Path with Instruction from Memory (R-type, Load/Store, Conditional branch, no immediate)

Incrementing the Program Counter and computing branch address 4 ADD PC + 4 ADD branch addr Shift Left 2 5-9 Zero ALU PC Instruction Memory 16-20 M U X Registers 0-4 address 1 M U X Data Memory 1 data out M U X 0-31 Sign Ext data in

4 Zero ADD ADD ALU PC Instruction Memory Registers Data Memory M U X 1 M U X 4 ADD ADD Shift Left 2 5-9 ALU PC Instruction Memory 16-20 Zero M U X Registers 0-4 address 1 M U X Data Memory 1 M U X data out data in 0-31 Sign Ext

4 Zero ADD ADD ALU PC Instruction Memory Registers Data Memory M U X 1 M U X ADD 4 ADD Shift Left 2 C O N T R L A B C D E F G H 21-31 5-9 write ALU PC Instruction Memory 16-20 Zero M U X Registers write read 0-4 1 address M U X Data Memory 1 M U X data out Sign Ext data in 0-31 ALU CTRL 21-31

Control Lines, Top to Bottom A Conditional Branch (CBZ) B MemToReg C MemRead D MemWrite E ALUSrc F ALUOp G RegWrite H Reg2Loc

Start to 2 ns 4 Zero ADD ADD ALU PC Instruction Memory Registers Data 1 M U X ADD 4 ADD Shift Left 2 C O N T R L A B C D E F G H 21-31 5-9 write ALU PC Instruction Memory 16-20 Zero M U X Registers write read 0-4 1 address M U X Data Memory 1 M U X data out Sign Ext data in 0-31 Start to 2 ns ALU CTRL 21-31

R-Type Register Rd 2 - 3 ns 4 Zero ADD ADD ALU PC Instruction Memory 1 M U X ADD 4 ADD Shift Left 2 C O N T R L A B C D E F G H 21-31 5-9 write ALU PC Instruction Memory 16-20 Zero M U X Registers write read 0-4 1 address M U X Data Memory 1 M U X data out R-Type Register Rd 2 - 3 ns Sign Ext data in 0-31 ALU CTRL 21-31

R-Type ALU 3 - 5 ns 4 Zero ADD ADD PC Instruction Memory Registers ALU 1 M U X ADD 4 ADD Shift Left 2 C O N T R L A B C D E F G H 21-31 5-9 write PC Instruction Memory 16-20 Zero M U X Registers ALU write read 0-4 1 address M U X Data Memory 1 M U X data out R-Type ALU 3 - 5 ns Sign Ext data in 0-31 ALU CTRL 21-31

R-Type Reg Write 5 - 6 ns 4 Zero ADD ADD PC Instruction Memory 1 M U X ADD 4 ADD Shift Left 2 C O N T R L A B C D E F G H 21-31 5-9 write PC Instruction Memory 16-20 Zero M U X Registers ALU write read 0-4 1 address M U X Data Memory 1 M U X data out R-Type Reg Write 5 - 6 ns Sign Ext data in 0-31 ALU CTRL 21-31

Load D-Word 0 - 2 ns 4 Zero ADD ADD ALU PC Instruction Memory 1 M U X ADD 4 ADD Shift Left 2 C O N T R L A B C D E F G H 21-31 5-9 write ALU PC Instruction Memory 16-20 Zero M U X Registers write read 0-4 1 address M U X Data Memory 1 M U X data out Load D-Word 0 - 2 ns Sign Ext data in 0-31 ALU CTRL 21-31

Load D-Word Reg Read 2 - 3 ns 4 Zero ADD ADD ALU PC Instruction Memory 1 M U X ADD 4 ADD Shift Left 2 C O N T R L A B C D E F G H 21-31 5-9 write ALU PC Instruction Memory 16-20 Zero M U X Registers write read 0-4 1 address M U X Data Memory 1 M U X data out Load D-Word Reg Read 2 - 3 ns Sign Ext data in 0-31 21-31 ALU CTRL

Load Word Address Comp 3 - 5 ns 4 Zero ADD ADD PC Instruction Memory 1 M U X ADD 4 ADD Shift Left 2 C O N T R L A B C D E F G H 21-31 5-9 write PC Instruction Memory 16-20 Zero M U X Registers ALU write read 0-4 1 address M U X Data Memory 1 M U X data out Load Word Address Comp 3 - 5 ns Sign Ext data in 0-31 21-31 ALU CTRL

Load D-Word Memory Access 5 - 7 ns 4 Zero ADD ADD PC Instruction 1 M U X ADD 4 ADD Shift Left 2 C O N T R L A B C D E F G H 21-31 5-9 write PC Instruction Memory 16-20 Zero M U X Registers ALU write read 0-4 1 address M U X Data Memory 1 M U X data out Load D-Word Memory Access 5 - 7 ns Sign Ext data in 0-31 21-31 ALU CTRL

Load D-Word Write Back 7 - 8 ns 4 Zero ADD ADD PC Instruction Memory 1 M U X ADD 4 ADD Shift Left 2 C O N T R L A B C D E F G H 21-31 5-9 write PC Instruction Memory 16-20 Zero M U X Registers ALU write read 0-4 1 address M U X Data Memory 1 M U X data out Load D-Word Write Back 7 - 8 ns Sign Ext data in 0-31 21-31 ALU CTRL

CBZ 0 - 2 ns 4 Zero ADD ADD ALU PC Instruction Memory Registers Data 1 M U X ADD 4 ADD Shift Left 2 C O N T R L A B C D E F G H 21-31 5-9 write ALU PC Instruction Memory 16-20 Zero M U X Registers write read 0-4 1 address M U X Data Memory 1 M U X data out CBZ 0 - 2 ns Sign Ext data in 0-31 ALU CTRL 21-31

CBZ Register Rd 2 - 3 ns 4 Zero ADD ADD ALU PC Instruction Memory 1 M U X ADD 4 ADD Shift Left 2 C O N T R L A B C D E F G H 21-31 5-9 write ALU PC Instruction Memory 16-20 Zero M U X Registers write read 0-4 1 address M U X Data Memory 1 M U X data out CBZ Register Rd 2 - 3 ns Sign Ext data in 0-31 21-31 ALU CTRL

CBZ taken ALU test 3 - 5 ns 4 Zero ADD ADD PC Instruction Memory 1 M U X 4 ADD ADD Shift Left 2 C O N T R L A B C D E F G H 21-31 5-9 write PC Instruction Memory 16-20 Zero M U X Registers ALU write read 0-4 1 address M U X Data Memory 1 M U X data out CBZ taken ALU test 3 - 5 ns Sign Ext data in 0-31 21-31 ALU CTRL

Unconditional branch added (AA) 1 M U X ADD 4 ADD Unconditional branch added (AA) Shift Left 2 C O N T R L AA A B C D E F G H 21-31 5-9 write ALU PC Instruction Memory 16-20 Zero M U X Registers write read 0-4 1 address M U X Data Memory 1 M U X data out Sign Ext data in 0-31 Additional logic In Sign Ext ALU CTRL 21-31