1 COMP541 Sequencing – III (Sequencing a Computer) Montek Singh April 9, 2007.

Slides:



Advertisements
Similar presentations
Adding the Jump Instruction
Advertisements

ISA Issues; Performance Considerations. Testing / System Verilog: ECE385.
9-6 The Control Word Fig The selection variables for the datapath control the microoperations executed within datapath for any given clock pulse.
1 ITCS 3181 Logic and Computer Systems B. Wilkinson Slides9.ppt Modification date: March 30, 2015 Processor Design.
331 W08.1Spring :332:331 Computer Architecture and Assembly Language Spring 2006 Week 8: Datapath Design [Adapted from Dave Patterson’s UCB CS152.
1 Chapter Five The Processor: Datapath and Control.
Instructor: Yuzhuang Hu The Shifter 3 clock cycles will be needed if using a bidirectional shift register with parallel load.  A clock.
CS-447– Computer Architecture Lecture 12 Multiple Cycle Datapath
Chapter 16 Control Unit Operation No HW problems on this chapter. It is important to understand this material on the architecture of computer control units,
The Processor Data Path & Control Chapter 5 Part 2 - Multi-Clock Cycle Design N. Guydosh 2/29/04.
1 COMP541 Datapaths II Montek Singh Mar 22, 2007.
Levels in Processor Design
Lec 17 Nov 2 Chapter 4 – CPU design data path design control logic design single-cycle CPU performance limitations of single cycle CPU multi-cycle CPU.
Chapter 16 Control Unit Implemntation. A Basic Computer Model.
Chapter 15 IA 64 Architecture Review Predication Predication Registers Speculation Control Data Software Pipelining Prolog, Kernel, & Epilog phases Automatic.
CPEN Digital System Design Chapter 9 – Computer Design
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.
1 COMP541 Sequencing and Control -- II Montek Singh April 5, 2007.
The Processor Data Path & Control Chapter 5 Part 1 - Introduction and Single Clock Cycle Design N. Guydosh 2/29/04.
Dr. Iyad F. Jafar Basic MIPS Architecture: Multi-Cycle Datapath and Control.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use ECE/CS 352: Digital Systems.
COSC 3430 L08 Basic MIPS Architecture.1 COSC 3430 Computer Architecture Lecture 08 Processors Single cycle Datapath PH 3: Sections
A Simple Computer Architecture Digital Logic Design Instructor: Kasım Sinan YILDIRIM.
Instructor: Yuzhuang Hu Midterm The midterm is schedule on June 17 th, 17:30-19:30 pm. It covers the following:  VHDL Programming. 
1 COMP541 Multicycle MIPS Montek Singh Apr 4, 2012.
Chapter 5 Processor Design. Spring 2005 ELEC 5200/6200 From Patterson/Hennessey Slides We're ready to look at an implementation of the MIPS Simplified.
COMP541 Multicycle MIPS Montek Singh Apr 8, 2015.
Multiple-Cycle Hardwired Control Digital Logic Design Instructor: Kasım Sinan YILDIRIM.
1 Designing a Pipelined Processor In this Chapter, we will study 1. Pipelined datapath 2. Pipelined control 3. Data Hazards 4. Forwarding 5. Branch Hazards.
EE204 L12-Single Cycle DP PerformanceHina Anwar Khan EE204 Computer Architecture Single Cycle Data path Performance.
CPE232 Basic MIPS Architecture1 Computer Organization Multi-cycle Approach Dr. Iyad Jafar Adapted from Dr. Gheith Abandah slides
CoE3DJ4 Digital Systems Design
POLITECNICO DI MILANO Parallelism in wonderland: are you ready to see how deep the rabbit hole goes? Pipelining Ver. Jan 14, 2014 Marco D. Santambrogio:
COMP541 Multicycle MIPS Montek Singh Mar 25, 2010.
Microarchitecture. Outline Architecture vs. Microarchitecture Components MIPS Datapath 1.
1. Convert the RISCEE 1 Architecture into a pipeline Architecture (like Figure 6.30) (showing the number data and control bits). 2. Build the control line.
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.
Lecture 15: Pipelined Datapath Soon Tee Teoh CS 147.
1  2004 Morgan Kaufmann Publishers No encoding: –1 bit for each datapath operation –faster, requires more memory (logic) –used for Vax 780 — an astonishing.
1 CS/COE0447 Computer Organization & Assembly Language Chapter 5 Part 3.
Chapter 4 From: Dr. Iyad F. Jafar Basic MIPS Architecture: Multi-Cycle Datapath and Control.
Electrical and Computer Engineering University of Cyprus
CS161 – Design and Architecture of Computer Systems
Morgan Kaufmann Publishers
Performance of Single-cycle Design
Systems Architecture I
Morgan Kaufmann Publishers The Processor
Processor Architecture: Introduction to RISC Datapath (MIPS and Nios II) CSCE 230.
Morgan Kaufmann Publishers The Processor
CS/COE0447 Computer Organization & Assembly Language
Design of the Control Unit for Single-Cycle Instruction Execution
Chapter 4 The Processor Part 2
Design of the Control Unit for One-cycle Instruction Execution
Serial versus Pipelined Execution
A Multiple Clock Cycle Instruction Implementation
Levels in Processor Design
Rocky K. C. Chang 6 November 2017
Systems Architecture I
Guest Lecturer TA: Shreyas Chand
Instruction Execution Cycle
William Stallings Computer Organization and Architecture 8th Edition
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
COMP541 Datapaths I Montek Singh Mar 18, 2010.
8-6 The Control Word The selection variables for the datapath control the microoperations executed within datapath for any given clock pulse Fig
Control units In the last lecture, we introduced the basic structure of a control unit, and translated our assembly instructions into a binary representation.
Multi-Cycle Datapath Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
Chapter Four The Processor: Datapath and Control
Systems Architecture I
CS161 – Design and Architecture of Computer Systems
Presentation transcript:

1 COMP541 Sequencing – III (Sequencing a Computer) Montek Singh April 9, 2007

2 Test 2  On April 17  Covers Memories Memories Arithmetic Arithmetic Datapaths Datapaths Sequencing Sequencing

3 Design Reviews: Last Week of Classes  Individual meetings during class time next week (and maybe one more day)  20 minutes  Please prepare a presentation Not necessarily a PPT, but don’t make up your description on the fly Not necessarily a PPT, but don’t make up your description on the fly

4 Chapter 10-7  Simple computer architecture Not unlike MIPS, except 16 bits Not unlike MIPS, except 16 bits  Single-cycle hardwired control  Multicycle microprogrammed control

5 Instruction Formats  Register-type instructions  Only 8 registers (3 bits)

6Immediate  Only 3 bits for the immediate value (Op)  Mostly useful for typical increments/decrement Or just as an example Or just as an example

7Branching  PC relative branching  The 6 bits are sign extended to 16  Opcode might specify branch on zero, if register SA is zero

8 Example Instructions

9 Contrast to Microoperations  Although appear similar, they’re not  Computer instructions fetched using PC  Branching much more general  Decoding of computer instructions usually more complex

10Resources  Book implies Harvard architecture  Separate I and D  They treat I memory as ROM Asynchronous Asynchronous

11 Single-Cycle Control  Datapath is same as example we used in datapath topic Next slide shows for review Next slide shows for review  First look at overall control  Then look at instruction decoder

12 Datapath & Control Word

13Arch Instruction Memory treated as ROM (combinational) 3 bits sent to ALU for immediate instructions Address offset sent for relative branch. Adder not shown (neither is PC increment). Branch control inputs are status from ALU and lines from decoder.

14 Instruction Decoder  Many lines (the three regs) need no logic RISC Style RISC Style  Architecture tailored so parts of inst. correspond to control lines

15Control  Not much more to say Simple, partly because decoding so straightforward Simple, partly because decoding so straightforward  Drawbacks Some instructions, like multi-cycle shifts, can’t be implemented w/o complex datapath Some instructions, like multi-cycle shifts, can’t be implemented w/o complex datapath Two memories (essentially a ROM and an async data memory) Two memories (essentially a ROM and an async data memory)  Two cycles needed to use one memory  Biggest problem is delay

16 Delay in Single-Cycle Control  Worst case delay with reasonable components Say, total 17ns Say, total 17ns Could only clock at about 50 MHz Could only clock at about 50 MHz  Pipelining is a solution  First let’s look at multi-cycle control

17 Multi-Cycle Hardwired Control  Goals Support more complex instructions Support more complex instructions Use single memory Use single memory  Not necessarily coupled with multi-cycle

18Arch

19 Instruction Register  IL – load signal for IR  PS, for PC control Hold value multiple cycles, increment, load, etc. Hold value multiple cycles, increment, load, etc.

20 Single Memory  PC addresses memory  Mux M gates address  MM signal to select program/data address  Inst. stored in IR

21 Added Temporary Regs  Now 16x16  8 not visible to user  New signals to address the registers

22 Sequence Control

23 Control Word

24 Control Design  Not hard to specify state diagram Derived from definition of ISA Derived from definition of ISA  Hard to design logic manually  If didn’t have logic synthesis, would probably use microprogramming

25 Two-Cycle Instructions  Simplest instructions have 2 cycles Fetch (instruction) Fetch (instruction) Execute Execute  This is minimum necessary  They assume async memory Don’t need extra clock cycles Don’t need extra clock cycles

26 Basic Inst.

27Branch  Test and modify PC

28 Next Step  Make a table or write Verilog from ASM diagram and instruction descriptions  Tedious, but not hard  Same as you’ve done, with more details State machine easy for these instructions State machine easy for these instructions

29 Table from ISA and ASM

30 Load Register Indirect  Three cycles Temporary register used Temporary register used

31Shift  Shift right/left multiple  R[SA] to be shifted  First tested for 0  R9 loaded with shift length

32 Multi-Cycle Table

33 Summary – multi-cycle  Multi-cycle computer enables more complex instructions  May also be faster  We’ll also briefly look at pipelined computers – more parallelism but more complex control

34 Limits to Clock Period  Conventional datapath  12 ns delay, so maximum is 83 MHz clock  Maybe have even tighter constraints due to control logic

35Pipelining  Break datapath into stages  Add registers between stages  Like production line – book uses car wash example Wash, rinse, dry Wash, rinse, dry

36 Latency vs Throughput  Latency, the amount of time it takes to execute an instruction, does not improve In fact, typically increases In fact, typically increases  Throughput, the number of instructions executed per second, increases By almost the number of pipeline stages By almost the number of pipeline stages

37 Expected Performance  Longest stage is 5ns  So clock can be 200 MHz  Not 3 x 83 MHz. Why?  Latency is 15ns  Also extra hardware

38Datapath  3 Stages Operand Fetch Operand Fetch Execute Execute Write Back Write Back  Note that WB register is the register file (same as at top)

39 Pipelined Execution  Note pipeline fill and empty  Efficiency is not 100%  Important to not stall pipeline