CS420/520 Computer Architecture I

Size: px
Start display at page:

Download "CS420/520 Computer Architecture I"

Transcription

1 CS42/52 Computer rchitecture I Designing a Pipeline Processor (C4: ppendix ) Dr. Xiaobo Zhou Department of Computer Science CS42/52 pipeline. UC. Colorado Springs dapted from UCB97 & UCB3 Branch Jump Recap: Single Cycle Processor Instruction Fetch Unit <3:26> Instruction<3:> op <6:2> <2:25> <:5> <:5> LUop Main Control RegDst <5:> LU func Control RegWr LUctr 3 Rw Rb busw -bit Registers imm6 Instr<5:> 6 Extender ExtOp LUSrc 3 LU In RegDst LUSrc : MemWr CS42/52 pipeline.2 UC. Colorado Springs dapted from UCB97 & UCB3 WrEn dr Memory

2 Recap: Drawbacks of this Single Cycle Processor Long cycle time: Cycle time must be long enough for the load instruction: - PC s Clock -to-q + - Instruction Memory ccess Time + - Register File ccess Time + - LU Delay (address calculation) + - Memory ccess Time + - Register File Setup & Writing Time + - Clock Skew Cycle time is much longer than needed for all other instructions. Examples: instructions do not require data memory access Jump does not require LU operation nor data memory access CS42/52 pipeline.3 UC. Colorado Springs dapted from UCB97 & UCB3 Recap: Overview of a Multiple Cycle Implementation The root of the single cycle processor s problems: The cycle time has to be long enough for the slowest instruction Solution: Break the instruction into smaller steps ute each step (instead of the entire instruction) in one cycle - Cycle time: time it takes to execute the longest step - Keep all the steps to have similar length This is the essence of the multiple cycle processor The advantages of the multiple cycle processor: Cycle time is much shorter Different instructions take different number of cycles to complete - Load takes five cycles - Jump only takes three cycles llows a functional unit to be used more than once per instruction CS42/52 pipeline.4 UC. Colorado Springs dapted from UCB97 & UCB3

3 Recap: Multiple Cycle Processor MCP: functional unit to be used more than once per instruction PCWr PC IorD PCWrCond PCSrc BrWr MemWr Rdr Ideal Memory Wrdr Din Dout IRWr Instruction Reg RegDst 5 5 RegWr LUSel Rb Reg File 4 Rw busw << Target M ux LU LU Control Imm 6 ExtOp Extend LUSelB LUOp CS42/52 pipeline.5 UC. Colorado Springs dapted from UCB97 & UCB3 Outline of Today s Lecture--- Pipelining Introduction to the Concept of Pipelined Processor Pipelined path and Pipelined Control How to void ce Condition in a Pipeline Design? Pipeline Example: Instructions Interaction CS42/52 pipeline.6 UC. Colorado Springs dapted from UCB97 & UCB3

4 Preview: The Five Stages of Load Cycle Cycle 2 Cycle 3 Cycle 4 Cycle 5 Load Ifetch: Instruction Fetch Fetch the instruction from the Instruction Memory Reg/Dec: Registers Fetch and Instruction Decode : Calculate the memory address Mem: Read the data from the Memory Wr: Write the data back to the register file CS42/52 pipeline.7 UC. Colorado Springs dapted from UCB97 & UCB3 Pipelining: Its Natural! Laundry Example nn, Brian, Cathy, Dave each have one load of clothes B C D to wash, dry, and fold Washer takes 3 minutes Dryer takes 4 minutes Folder takes 2 minutes CS42/52 pipeline.8 UC. Colorado Springs dapted from UCB97 & UCB3

5 Recap: Multiple Cycle path (base for pipelining) Beqz llows a functional unit to be used more than once per instruction is NOT good for pipelining - dder + LU; Instruction mem + mem CS42/52 pipeline.9 UC. Colorado Springs dapted from UCB97 & UCB3 Sequential Laundry 6 PM Midnight Time T a s k O r d e r B C D Sequential laundry takes 6 hours for 4 loads If they learned pipelining, how long would laundry take? CS42/52 pipeline. UC. Colorado Springs dapted from UCB97 & UCB3

6 Pipelined Laundry: Start work SP 6 PM Midnight Time T a s k O r d e r B C D Pipelined laundry takes 3.5 hours for 4 loads CS42/52 pipeline. UC. Colorado Springs dapted from UCB97 & UCB3 Pipelining Lessons T a s k O r d e r 6 PM Time B C D Pipelining doesn t help latency of single task, it helps throughput of entire workload Pipeline rate limited by slowest pipeline stage Multiple tasks operating simultaneously (overlapped in execution, invisible to programmers) Potential speedup = Number pipe stages Unbalanced lengths of pipe stages reduces speedup Time to fill pipeline and time to drain it reduces speedup CS42/52 pipeline.2 UC. Colorado Springs dapted from UCB97 & UCB3

7 Key Ideas Behind Pipelining Grading the mid term exams: 5 problems, five people grading the exam Each person ONLY grades one problem Pass the exam to the next person as soon as one finishes his part ssume each problem takes.5 hour to grade - Each individual exam still takes 2.5 hours to grade - But with 5 people, all exams can be graded much quicker The load instruction has 5 stages: Five independent functional units to work on each stage - Each functional unit is used only once The 2nd load can start as soon as the st finishes its Ieft stage Each load still takes five cycles to complete The throughput, however, is much higher CS42/52 pipeline.3 UC. Colorado Springs dapted from UCB97 & UCB3 The Five Stages of Load Cycle Cycle 2 Cycle 3 Cycle 4 Cycle 5 Load Ifetch: Instruction Fetch Fetch the instruction from the Instruction Memory Reg/Dec: Registers Fetch and Instruction Decode : Calculate the memory address Mem: Read the data from the Memory Wr: Write the data back to the register file CS42/52 pipeline.4 UC. Colorado Springs dapted from UCB97 & UCB3

8 Pipelining the Load Instruction Clock Cycle Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 st lw 2nd lw 3rd lw The five independent functional units in the pipeline datapath are: Instruction Memory for the Ifetch stage Register File s Read ports (bus and ) for the Reg/Dec stage LU for the stage Memory for the Mem stage Register File s Write port (bus W) for the Wr stage One instruction enters the pipeline every cycle One instruction comes out of the pipeline (complete) every cycle The Effective Cycles per Instruction (CPI) is CS42/52 pipeline.5 UC. Colorado Springs dapted from UCB97 & UCB3 Single Cycle, Multiple Cycle, vs. Pipeline Cycle Cycle 2 Single Cycle Implementation: Load Store Waste Cycle Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 Cycle 9 Cycle Multiple Cycle Implementation: Load Ifetch Reg Mem Wr Store Ifetch Reg Mem Ifetch Pipeline Implementation: Load Ifetch Reg Mem Wr Store Ifetch Reg Mem Wr Ifetch Reg Mem Wr CS42/52 pipeline.6 UC. Colorado Springs dapted from UCB97 & UCB3

9 Why Pipeline? Suppose we execute instructions Single Cycle Machine 45 ns/cycle x CPI x inst = 45 ns Multicycle Machine ns/cycle x 4. CPI (due to inst mix) x inst = 4 ns Ideal pipelined machine ns/cycle x ( CPI x inst + 4 cycle drain) = 4 ns Compared to the Multi-cycle implementation, pipelining reduces the CPI! Compared to the Single-cycle implementation, pipelining reduces the clock cycle time! CS42/52 pipeline.7 UC. Colorado Springs dapted from UCB97 & UCB3 The Four Stages of Cycle Cycle 2 Cycle 3 Cycle 4 Ifetch Reg/Dec Wr Ifetch: Instruction Fetch Fetch the instruction from the Instruction Memory Reg/Dec: Registers Fetch and Instruction Decode : LU operates on the two register operands LU operates on the two register operands Update PC Wr: Write the LU output back to the register file CS42/52 pipeline.8 UC. Colorado Springs dapted from UCB97 & UCB3

10 Pipelining the and Load Instruction Clock Cycle Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 Cycle 9 Ifetch Reg/Dec Wr Ops! We have a problem! Ifth Ifetch Reg/Dec Wr Load Ifetch Reg/Dec Wr Ifetch Reg/Dec Wr We have a problem: Two instructions try to write to the register file at the same time! Only one write port CS42/52 pipeline.9 UC. Colorado Springs dapted from UCB97 & UCB3 Important Observation Each functional unit can only be used once per instruction ( pipelining vs. multiple cycle) Each functional unit must be used at the same stage for all instructions: Load uses Register File s Write Port during its 5th stage Load uses Register File s Write Port during its 4th stage Ifetch Reg/Dec Wr CS42/52 pipeline.2 UC. Colorado Springs dapted from UCB97 & UCB3

11 Solution : Insert Bubble into the Pipeline Cycle Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 Cycle 9 Clock Ifetch Reg/Dec Wr Load Ifetch Reg/Dec Wr Ifetch Reg/Dec Pipeline Wr Ifetch Bubble Reg/Dec Wr Ifetch Reg/Dec Insert a bubble into the pipeline to prevent 2 writes at the same cycle The control logic can be complex No instruction is completed during Cycle 5: The Effective CPI for load is 2 CS42/52 pipeline.2 UC. Colorado Springs dapted from UCB97 & UCB3 Solution 2: Delay s Write by One Cycle Delay s register write by one cycle: Now instructions also use Reg File s write port at Stage 5 Mem stage is a NOOP stage: nothing is being done Ifetch Reg/Dec Mem Wr Clock Cycle Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 Cycle 9 Ifetch Reg/Dec Mem Wr Load CS42/52 pipeline.22 UC. Colorado Springs dapted from UCB97 & UCB3

12 The Four Stages of Store Cycle Cycle 2 Cycle 3 Cycle 4 Store Ifetch Reg/Dec Mem Wr Ifetch: Instruction Fetch Fetch the instruction from the Instruction Memory Reg/Dec: Registers Fetch and Instruction Decode : Calculate the memory address Mem: Write the data into the Memory CS42/52 pipeline.23 UC. Colorado Springs dapted from UCB97 & UCB3 The Four Stages of Beq Cycle Cycle 2 Cycle 3 Cycle 4 Beq Ifetch Reg/Dec Mem Wr Ifetch: Instruction Fetch Fetch the instruction from the Instruction Memory Reg/Dec: Registers Fetch and Instruction Decode : LU compares the two register operands dder calculates the branch target address Mem: If the registers we compared in the stage are the same, - write the branch target address into the PC CS42/52 pipeline.24 UC. Colorado Springs dapted from UCB97 & UCB3

13 Pipelined path RegWr ExtOp LUOp Branch PC IUnit I IF/ID Register Rb RFile Rw Di ID/Ex Register Unit Ex/Me em Register Mem R Do W Di Mem/W Wr Register Why not move to ID/RF? Ok, but complicated control RegDst LUSrc MemWr CS42/52 pipeline.25 UC. Colorado Springs dapted from UCB97 & UCB3 The Instruction Fetch Stage Location 2: lw $, x($2) $ <- Mem[($2) + x] You are here! Ifetch Reg/Dec Mem RegWr ExtOp LUOp Branch PC = 24 IUnit I IF/ID: lw $, ($2) Rb RFile Rw Di ID/Ex Register Unit Ex/Me em Register Me m R Do W Di Mem/W Wr Register RegDst LUSrc MemWr CS42/52 pipeline.26 UC. Colorado Springs dapted from UCB97 & UCB3

14 Detail View of the Instruction Unit Location 2: lw $, x($2) You are here! Ifetch Reg/Dec 4 PC = 24 2 ddress Instruction Memory Instruction dder IF/ID: lw $, ($2) CS42/52 pipeline.27 UC. Colorado Springs dapted from UCB97 & UCB3 The Decode / Register Fetch Stage Location 2: lw $, x($2) $ <- Mem[($2) + x] You are here! Ifetch Reg/Dec Mem RegWr ExtOp LUOp Branch PC IUnit I IF/ID: Rb RFile Rw Di ID/Ex: Reg g. 2 & x Unit Ex/Me em Register Me m R Do W Di Mem/W Wr Register RegDst LUSrc MemWr CS42/52 pipeline.28 UC. Colorado Springs dapted from UCB97 & UCB3

15 Load s ddress Calculation Stage Location 2: lw $, x($2) $ <- Mem[($2) + x] You are here! Ifetch Reg/Dec Mem RegWr LUOp=dd ExtOp= Branch PC IUnit I IF/ID: Rb RFile Rw Di ID/Ex Register Unit Ex/Mem: Load s ddress Mem R Do W Di Mem/W Wr Register RegDst= LUSrc= MemWr CS42/52 pipeline.29 UC. Colorado Springs dapted from UCB97 & UCB3 View of the ution Unit (like in Single Cycle) You are here! Mem ID/Ex Register SignExt imm6 6 Extender << 2 dder Move to stage 2? -bits imm in ID/Ex Target 3 LU LU Control LUout LUctr Ex/Mem: Load s Memo ory ddress ExtOp= LUSrc= 3 LUOp=dd CS42/52 pipeline.3 UC. Colorado Springs dapted from UCB97 & UCB3

16 Detail View of the ution Unit (Integrated) You are here! Mem If Beq? Beqz? ID/Ex Register imm6 6 Extender << 2 dder Target 3 LU LU Control LUout LUctr Ex/Mem: Load s Memo ory ddress Integrated ExtOp= LUSrc= 3 LUOp=dd CS42/52 pipeline.3 UC. Colorado Springs dapted from UCB97 & UCB3 Load s Memory ccess Stage Location 2: lw $, x($2) $ <- Mem[($2) + x] You are here! Ifetch Reg/Dec Mem RegWr ExtOp LUOp Branch= PC IUnit I IF/ID: Rb RFile Rw Di ID/Ex Register Unit Ex/Me em Register Mem R Do W Di Mem/Wr: Load s RegDst LUSrc MemWr= CS42/52 pipeline. UC. Colorado Springs dapted from UCB97 & UCB3

17 Load s Write Back Stage Location 2: lw $, x($2) $ <- Mem[($2) + x] You are somewhere out there! Ifetch Reg/Dec Mem Wr RegWr= ExtOp LUOp Branch PC IUnit I IF/ID: Rb RFile Rw Di ID/Ex Register Unit Ex/Me em Register Mem R Do W Di Mem/W Wr Register RegDst LUSrc MemWr = CS42/52 pipeline.33 UC. Colorado Springs dapted from UCB97 & UCB3 How bout Control Signals? Key Observation: Control Signals at Stage N = Func (Instr. at Stage N) N =, Mem, or Wr Example: Controls Signals at Stage = Func(Load s ) Ifetch Reg/Dec Mem Wr LUOp=dd RegWr ExtOp= Branch PC IUnit I IF/ID: Rb RFile Rw Di ID/Ex Register Unit Ex/Mem: Load s ddress Mem R Do W Di Mem/W Wr Register RegDst= LUSrc= MemWr CS42/52 pipeline.34 UC. Colorado Springs dapted from UCB97 & UCB3

18 Pipeline Control The Main Control generates the control signals during Reg/Dec Control signals for (ExtOp, LUSrc,...) are used cycle later Control signals for Mem (MemWr Branch) are used 2 cycles later Control signals for Wr ( MemWr) are used 3 cycles later Reg/Dec Mem Wr IF/ID Register Main Control ExtOp LUSrc LUOp RegDst MemWr Branch RegWr ID/Ex Register ExtOp LUSrc LUOp RegDst MemWr Branch RegWr Ex/Mem Register MemWr Branch RegWr Mem/W Wr Register RegWr CS42/52 pipeline.35 UC. Colorado Springs dapted from UCB97 & UCB3 Clock More Extensive Pipelining Example Cycle Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 : Load 4: 8: Store 2: Beq (target is ) End of Cycle 4 End of Cycle 5 End of Cycle 6 End of Cycle 7 End of Cycle 4: Load s Mem, s, Store s Reg, Beq s Ifetch End of Cycle 5: Load s Wr, s Mem, Store s, Beq s Reg End of Cycle 6: s Wr, Store s Mem, Beq s End of Cycle 7: Store s Wr, Beq s Mem CS42/52 pipeline.36 UC. Colorado Springs dapted from UCB97 & UCB3

19 Pipelining Example: End of Cycle 4 : Load s Mem 4: s 8: Store s Reg 2: Beq s Ifetch 8: Store s Reg 4: s : Load s Mem 2: Beq s Ifet RegWr= LUOp= ExtOp=x Branch= PC = 6 IU Unit I IF/ID: Beq In nstruction Rb RFile Rw Di ID/Ex: Store s & B Unit Ex/Mem: R-t type s Result Mem R Do W Di Mem/Wr: Load s Dout RegDst= LUSrc= MemWr= =x CS42/52 pipeline.37 UC. Colorado Springs dapted from UCB97 & UCB3 Pipelining Example: End of Cycle 5 : Lw s Wr 4: R s Mem 8: Store s 2: Beq s Reg 6: R s Ifetch 2: Beq s Reg 8: Store s 4: s Mem 6: R s Ifet : Load s Wr RegWr= LUOp=dd ExtOp= Branch= PC = 2 IU Unit I IF/ID: Instru 6 Rb RFile Rw Di ID/Ex: Beq s & B Unit Ex/Mem: Sto re s ddress Mem R Do W Di Mem/Wr: R-t type s Result RegDst=x LUSrc= MemWr= = CS42/52 pipeline.38 UC. Colorado Springs dapted from UCB97 & UCB3

20 Pipelining Example: End of Cycle 6 4: R s Wr 8: Store s Mem 2: Beq s 6: R s Reg 2: R s Ifet 6: s Reg 2: Beq s 8: Store s Mem 2: s Ifet 4: s Wr LUOp=Sub RegWr= ExtOp= Branch= PC = 24 IUn nit I IF/ID: Instru 2 Rb RFile Rw Di ID/Ex: s & B Unit Ex/Mem: Beq q s Results Mem R Do W Di Mem/Wr: Not thing for St RegDst=x LUSrc= MemWr= = CS42/52 pipeline.39 UC. Colorado Springs dapted from UCB97 & UCB3 Pipelining Example: End of Cycle 7 8: Store s Wr 2: Beq s Mem 6: R s 2: R s Reg 24: R s Ifet 2: s Reg 6: s 2: Beq s Mem 24: s Ifet 8: Store s Wr LUOp= RegWr= ExtOp=xx Branch= PC = IUn nit I IF/ID: Instru 24 Rb RFile Rw Di ID/Ex: s & B Unit Ex/Mem: yp pe s Results Mem R Do W Di Mem/Wr:Noth hing for Beq RegDst= LUSrc= MemWr= =x CS42/52 pipeline.4 UC. Colorado Springs dapted from UCB97 & UCB3

21 Basic Performance Issues in Pipelining Pipelining increases the CPU instruction throughput, but does not reduce the execution time of an individual instruction In fact, it slightly increases the execution time of an instruction Pipelining performance limitations Pipelining latency due to hazards Imbalance limits - Clock cannot run faster than the time needed for the slowest pipeline stage; hardware also limits the stage partitioning Pipeline overhead - Pipeline registers setup and latency (separating instructions at different stages so as to avoid interfering with each others) - Clock skews, maximum delay between the clock arrives at any two registers (delay in signal arrival times) When pipelining is useless? once the clock cycle is as small as the sum of the clock skew and pipeline register (latch) latency, since no time left for useful work! CS42/52 pipeline.4 UC. Colorado Springs dapted from UCB97 & UCB3 Pipelining Performance Example un-pipelined (multi-cycle) processor has a ns clock cycle, and it uses 4 cycles for LU operations and Branches, 5 for Memory operations. The relative frequencies of three operations is 4%, 2%, and 4%. Due to clock skew and setup, pipelining the processor adds.2ns into clock cycle. Suppose there is no pipelining i hazard so that t pipelining i CPI is, how much speedup will we gain from a pipeline? nswer: For un-pipelined processor: ve. instruction exec. Time = clock cycle time * average CPI (IET) = ns (4% * 4 + 2% *4 + 4% * 5) = ns For pipelined processor: ve. instruction exec. Time = ( +.2) ns * =.2 ns Speedup = IET_w/o pipeling / IET_w/pipeline = 4.4 ns /.2 ns = 3.7 CS42/52 pipeline.42 UC. Colorado Springs dapted from UCB97 & UCB3

22 Summary Disadvantages of the Single Cycle Processor Long cycle time Cycle time is too long for all instructions except the Load Multiple Clock Cycle Processor: Divide the instructions into smaller steps ute each step (instead of the entire instruction) in one cycle Pipeline Processor: Natural enhancement of the multiple clock cycle processor Each functional unit can only be used once per instruction If a instruction is going to use a functional unit: - it must use it at the same stage as all other instructions Pipeline Control: - Each stage s control signal depends ONLY on the instruction that is currently in that stage CS42/52 pipeline.43 UC. Colorado Springs dapted from UCB97 & UCB3 Where to get more information? ppendix of C4 (or C3) text book: Chapter. and.3: CO2: Chapter CO3: Chapter David Patterson and John Hennessy, Computer Organization & Design: The Hardware / Software Interface, Morgan Kaufman Publishers; CO2 (2nd edition) and CO3 (3rd edition) CS42/52 pipeline.44 UC. Colorado Springs dapted from UCB97 & UCB3

Pipelining A B C D. Readings: Example: Doing the laundry. Ann, Brian, Cathy, & Dave. each have one load of clothes to wash, dry, and fold

Pipelining A B C D. Readings: Example: Doing the laundry. Ann, Brian, Cathy, & Dave. each have one load of clothes to wash, dry, and fold Pipelining Readings: 4.5-4.8 Example: Doing the laundry Ann, Brian, Cathy, & Dave A B C D each have one load of clothes to wash, dry, and fold Washer takes 30 minutes Dryer takes 40 minutes Folder takes

More information

A B C D. Ann, Brian, Cathy, & Dave each have one load of clothes to wash, dry, and fold. Time

A B C D. Ann, Brian, Cathy, & Dave each have one load of clothes to wash, dry, and fold. Time Pipelining Readings: 4.5-4.8 Example: Doing the laundry A B C D Ann, Brian, Cathy, & Dave each have one load of clothes to wash, dry, and fold Washer takes 30 minutes Dryer takes 40 minutes Folder takes

More information

ECE473 Computer Architecture and Organization. Pipeline: Introduction

ECE473 Computer Architecture and Organization. Pipeline: Introduction Computer Architecture and Organization Pipeline: Introduction Lecturer: Prof. Yifeng Zhu Fall, 2015 Portions of these slides are derived from: Dave Patterson UCB Lec 11.1 The Laundry Analogy Student A,

More information

Lecture 4: Introduction to Pipelining

Lecture 4: Introduction to Pipelining Lecture 4: Introduction to Pipelining Pipelining Laundry Example Ann, Brian, Cathy, Dave each have one load of clothes to wash, dry, and fold Washer takes 30 minutes A B C D Dryer takes 40 minutes Folder

More information

Lecture Topics. Announcements. Today: Pipelined Processors (P&H ) Next: continued. Milestone #4 (due 2/23) Milestone #5 (due 3/2)

Lecture Topics. Announcements. Today: Pipelined Processors (P&H ) Next: continued. Milestone #4 (due 2/23) Milestone #5 (due 3/2) Lecture Topics Today: Pipelined Processors (P&H 4.5-4.10) Next: continued 1 Announcements Milestone #4 (due 2/23) Milestone #5 (due 3/2) 2 1 ISA Implementations Three different strategies: single-cycle

More information

CMSC 611: Advanced Computer Architecture

CMSC 611: Advanced Computer Architecture CMSC 611: Advanced Computer Architecture Pipelining Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted from Hennessy & Patterson / 2003 Elsevier Science

More information

CS 110 Computer Architecture Lecture 11: Pipelining

CS 110 Computer Architecture Lecture 11: Pipelining CS 110 Computer Architecture Lecture 11: Pipelining Instructor: Sören Schwertfeger http://shtech.org/courses/ca/ School of Information Science and Technology SIST ShanghaiTech University Slides based on

More information

Suggested Readings! Lecture 12" Introduction to Pipelining! Example: We have to build x cars...! ...Each car takes 6 steps to build...! ! Readings!

Suggested Readings! Lecture 12 Introduction to Pipelining! Example: We have to build x cars...! ...Each car takes 6 steps to build...! ! Readings! 1! CSE 30321 Lecture 12 Introduction to Pipelining! CSE 30321 Lecture 12 Introduction to Pipelining! 2! Suggested Readings!! Readings!! H&P: Chapter 4.5-4.7!! (Over the next 3-4 lectures)! Lecture 12"

More information

Pipelined Processor Design

Pipelined Processor Design Pipelined Processor Design COE 38 Computer Architecture Prof. Muhamed Mudawar Computer Engineering Department King Fahd University of Petroleum and Minerals Presentation Outline Pipelining versus Serial

More information

CS429: Computer Organization and Architecture

CS429: Computer Organization and Architecture CS429: Computer Organization and Architecture Dr. Bill Young Department of Computer Sciences University of Texas at Austin Last updated: November 8, 2017 at 09:27 CS429 Slideset 14: 1 Overview What s wrong

More information

LECTURE 8. Pipelining: Datapath and Control

LECTURE 8. Pipelining: Datapath and Control LECTURE 8 Pipelining: Datapath and Control PIPELINED DATAPATH As with the single-cycle and multi-cycle implementations, we will start by looking at the datapath for pipelining. We already know that pipelining

More information

RISC Design: Pipelining

RISC Design: Pipelining RISC Design: Pipelining Virendra Singh Associate Professor Computer Architecture and Dependable Systems Lab Department of Electrical Engineering Indian Institute of Technology Bombay http://www.ee.iitb.ac.in/~viren/

More information

Computer Architecture

Computer Architecture Computer Architecture An Introduction Virendra Singh Associate Professor Computer Architecture and Dependable Systems Lab Department of Electrical Engineering Indian Institute of Technology Bombay http://www.ee.iitb.ac.in/~viren/

More information

7/11/2012. Single Cycle (Review) CSE 2021: Computer Organization. Multi-Cycle Implementation. Single Cycle with Jump. Pipelining Analogy

7/11/2012. Single Cycle (Review) CSE 2021: Computer Organization. Multi-Cycle Implementation. Single Cycle with Jump. Pipelining Analogy CSE 2021: Computer Organization Single Cycle (Review) Lecture-10 CPU Design : Pipelining-1 Overview, Datapath and control Shakil M. Khan CSE-2021 July-12-2012 2 Single Cycle with Jump Multi-Cycle Implementation

More information

EECE 321: Computer Organiza5on

EECE 321: Computer Organiza5on EECE 321: Computer Organiza5on Mohammad M. Mansour Dept. of Electrical and Compute Engineering American University of Beirut Lecture 21: Pipelining Processor Pipelining Same principles can be applied to

More information

Chapter 4. Pipelining Analogy. The Processor. Pipelined laundry: overlapping execution. Parallelism improves performance. Four loads: Non-stop:

Chapter 4. Pipelining Analogy. The Processor. Pipelined laundry: overlapping execution. Parallelism improves performance. Four loads: Non-stop: Chapter 4 The Processor Part II Pipelining Analogy Pipelined laundry: overlapping execution Parallelism improves performance Four loads: Speedup = 8/3.5 = 2.3 Non-stop: Speedup p = 2n/(0.5n + 1.5) 4 =

More information

RISC Central Processing Unit

RISC Central Processing Unit RISC Central Processing Unit Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Spring, 2014 ldvan@cs.nctu.edu.tw http://www.cs.nctu.edu.tw/~ldvan/

More information

Single vs. Mul2- cycle MIPS. Single Clock Cycle Length

Single vs. Mul2- cycle MIPS. Single Clock Cycle Length Single vs. Mul2- cycle MIPS Single Clock Cycle Length Suppose we have 2ns 2ns ister read 2ns ister write 2ns ory read 2ns ory write 2ns 2ns What is the clock cycle length? 1 Single Cycle Length Worst case

More information

CS61C : Machine Structures

CS61C : Machine Structures inst.eecs.bekeley.edu/~cs61c CS61C : Machine Stuctues Lectue 29 Intoduction to Pipelined Execution Lectue PSOE Dan Gacia www.cs.bekeley.edu/~ddgacia Bionic Eyes let blind see! Johns Hopkins eseaches have

More information

Registers. CS152 Computer Architecture and Engineering Lecture 3

Registers. CS152 Computer Architecture and Engineering Lecture 3 CS52 Computer rchitecture and Engineering Lecture 3 Logic Design, Technology, and Delay January 28, 24 John Kubiatowicz (wwwcsberkeleyedu/~kubitron) lecture slides: http://www-insteecsberkeleyedu/~cs52/

More information

ECE 2300 Digital Logic & Computer Organization. More Pipelined Microprocessor

ECE 2300 Digital Logic & Computer Organization. More Pipelined Microprocessor ECE 2300 Digital ogic & Computer Organization Spring 2018 ore Pipelined icroprocessor ecture 18: 1 nnouncements No instructor office hour today Rescheduled to onday pril 16, 4:00-5:30pm Prelim 2 review

More information

7/19/2012. IF for Load (Review) CSE 2021: Computer Organization. EX for Load (Review) ID for Load (Review) WB for Load (Review) MEM for Load (Review)

7/19/2012. IF for Load (Review) CSE 2021: Computer Organization. EX for Load (Review) ID for Load (Review) WB for Load (Review) MEM for Load (Review) CSE 2021: Computer Organization IF for Load (Review) Lecture-11 CPU Design : Pipelining-2 Review, Hazards Shakil M. Khan CSE-2021 July-19-2012 2 ID for Load (Review) EX for Load (Review) CSE-2021 July-19-2012

More information

CSE 2021: Computer Organization

CSE 2021: Computer Organization CSE 2021: Computer Organization Lecture-11 CPU Design : Pipelining-2 Review, Hazards Shakil M. Khan IF for Load (Review) CSE-2021 July-14-2011 2 ID for Load (Review) CSE-2021 July-14-2011 3 EX for Load

More information

Selected Solutions to Problem-Set #3 COE 608: Computer Organization and Architecture Single Cycle Datapath and Control

Selected Solutions to Problem-Set #3 COE 608: Computer Organization and Architecture Single Cycle Datapath and Control Selected Solutions to Problem-Set #3 COE 608: Computer Organization and Architecture Single Cycle Datapath and Control 4.1. Done in the class 4.2. Try it yourself Q4.3. 4.3.1 a. Logic Only b. Logic Only

More information

Computer Hardware. Pipeline

Computer Hardware. Pipeline Computer Hardware Pipeline Conventional Datapath 2.4 ns is required to perform a single operation (i.e. 416.7 MHz). Register file MUX B 0.6 ns Clock 0.6 ns 0.2 ns Function unit 0.8 ns MUX D 0.2 ns c. Production

More information

EE 457 Homework 5 Redekopp Name: Score: / 100_

EE 457 Homework 5 Redekopp Name: Score: / 100_ EE 457 Homework 5 Redekopp Name: Score: / 100_ Single-Cycle CPU The following exercises are taken from Hennessy and Patterson, CO&D 2 nd, 3 rd, and 4 th Ed. 1.) (6 pts.) Review your class notes. a. Is

More information

Pipelined Beta. Handouts: Lecture Slides. Where are the registers? Spring /10/01. L16 Pipelined Beta 1

Pipelined Beta. Handouts: Lecture Slides. Where are the registers? Spring /10/01. L16 Pipelined Beta 1 Pipelined Beta Where are the registers? Handouts: Lecture Slides L16 Pipelined Beta 1 Increasing CPU Performance MIPS = Freq CPI MIPS = Millions of Instructions/Second Freq = Clock Frequency, MHz CPI =

More information

Instruction Level Parallelism. Data Dependence Static Scheduling

Instruction Level Parallelism. Data Dependence Static Scheduling Instruction Level Parallelism Data Dependence Static Scheduling Basic Block A straight line code sequence with no branches in except to the entry and no branches out except at the exit Loop: L.D ADD.D

More information

You are Here! Processor Design Process. Agenda. Agenda 10/25/12. CS 61C: Great Ideas in Computer Architecture Single Cycle MIPS CPU Part II

You are Here! Processor Design Process. Agenda. Agenda 10/25/12. CS 61C: Great Ideas in Computer Architecture Single Cycle MIPS CPU Part II /26/2 CS 6C: Great Ideas in Computer Architecture Single Cycle MIPS CPU Part II /25/2 ructors: Krste Asanovic, Randy H. Katz hcp://inst.eecs.berkeley.edu/~cs6c/fa2 Fall 22 - - Lecture #26 Parallel Requests

More information

Asanovic/Devadas Spring Pipeline Hazards. Krste Asanovic Laboratory for Computer Science M.I.T.

Asanovic/Devadas Spring Pipeline Hazards. Krste Asanovic Laboratory for Computer Science M.I.T. Pipeline Hazards Krste Asanovic Laboratory for Computer Science M.I.T. Pipelined DLX Datapath without interlocks and jumps 31 0x4 RegDst RegWrite inst Inst rs1 rs2 rd1 ws wd rd2 GPRs Imm Ext A B OpSel

More information

EECS150 - Digital Design Lecture 2 - Synchronous Digital Systems Review Part 1. Outline

EECS150 - Digital Design Lecture 2 - Synchronous Digital Systems Review Part 1. Outline EECS5 - Digital Design Lecture 2 - Synchronous Digital Systems Review Part January 2, 2 John Wawrzynek Electrical Engineering and Computer Sciences University of California, Berkeley http://www-inst.eecs.berkeley.edu/~cs5

More information

Single-Cycle CPU The following exercises are taken from Hennessy and Patterson, CO&D 2 nd, 3 rd, and 4 th Ed.

Single-Cycle CPU The following exercises are taken from Hennessy and Patterson, CO&D 2 nd, 3 rd, and 4 th Ed. EE 357 Homework 7 Redekopp Name: Lec: 9:30 / 11:00 Score: Submit answers via Blackboard for all problems except 5.) and 6.). For those questions, submit a hardcopy with your answers, diagrams, circuit

More information

IF ID EX MEM WB 400 ps 225 ps 350 ps 450 ps 300 ps

IF ID EX MEM WB 400 ps 225 ps 350 ps 450 ps 300 ps CSE 30321 Computer Architecture I Fall 2010 Homework 06 Pipelined Processors 85 points Assigned: November 2, 2010 Due: November 9, 2010 PLEASE DO THE ASSIGNMENT ON THIS HANDOUT!!! Problem 1: (25 points)

More information

IF ID EX MEM WB 400 ps 225 ps 350 ps 450 ps 300 ps

IF ID EX MEM WB 400 ps 225 ps 350 ps 450 ps 300 ps CSE 30321 Computer Architecture I Fall 2011 Homework 06 Pipelined Processors 75 points Assigned: November 1, 2011 Due: November 8, 2011 PLEASE DO THE ASSIGNMENT ON THIS HANDOUT!!! Problem 1: (15 points)

More information

Metrics How to improve performance? CPI MIPS Benchmarks CSC3501 S07 CSC3501 S07. Louisiana State University 4- Performance - 1

Metrics How to improve performance? CPI MIPS Benchmarks CSC3501 S07 CSC3501 S07. Louisiana State University 4- Performance - 1 Performance of Computer Systems Dr. Arjan Durresi Louisiana State University Baton Rouge, LA 70810 Durresi@Csc.LSU.Edu LSUEd These slides are available at: http://www.csc.lsu.edu/~durresi/csc3501_07/ Louisiana

More information

CS152 Computer Architecture and Engineering Lecture 3: ReviewTechnology & Delay Modeling. September 3, 1997

CS152 Computer Architecture and Engineering Lecture 3: ReviewTechnology & Delay Modeling. September 3, 1997 CS152 Computer Architecture and Engineering Lecture 3: ReviewTechnology & Delay Modeling September 3, 1997 Dave Patterson (httpcsberkeleyedu/~patterson) lecture slides: http://www-insteecsberkeleyedu/~cs152/

More information

CMSC 611: Advanced Computer Architecture

CMSC 611: Advanced Computer Architecture CMSC 611: Advanced Compute Achitectue Pipelining Some mateial adapted fom Mohamed Younis, UMBC CMSC 611 Sp 2003 couse slides Some mateial adapted fom Hennessy & Patteson / 2003 Elsevie Science Pipeline

More information

6.S084 Tutorial Problems L19 Control Hazards in Pipelined Processors

6.S084 Tutorial Problems L19 Control Hazards in Pipelined Processors 6.S084 Tutorial Problems L19 Control Hazards in Pipelined Processors Options for dealing with data and control hazards: stall, bypass, speculate 6.S084 Worksheet - 1 of 10 - L19 Control Hazards in Pipelined

More information

Finite State Machines CS 64: Computer Organization and Design Logic Lecture #16

Finite State Machines CS 64: Computer Organization and Design Logic Lecture #16 Finite State Machines CS 64: Computer Organization and Design Logic Lecture #16 Ziad Matni Dept. of Computer Science, UCSB Lecture Outline Review of Latches vs. FFs Finite State Machines Moore vs. Mealy

More information

CS 61C: Great Ideas in Computer Architecture. Pipelining Hazards. Instructor: Senior Lecturer SOE Dan Garcia

CS 61C: Great Ideas in Computer Architecture. Pipelining Hazards. Instructor: Senior Lecturer SOE Dan Garcia CS 61C: Geat Ideas in Compute Achitectue Pipelining Hazads Instucto: Senio Lectue SOE Dan Gacia 1 Geat Idea #4: Paallelism So9wae Paallel Requests Assigned to compute e.g. seach Gacia Paallel Theads Assigned

More information

EECS 470 Lecture 4. Pipelining & Hazards II. Winter Prof. Ronald Dreslinski h8p://

EECS 470 Lecture 4. Pipelining & Hazards II. Winter Prof. Ronald Dreslinski h8p:// Wenisch 26 -- Portions ustin, Brehob, Falsafi, Hill, Hoe, ipasti, artin, Roth, Shen, Smith, Sohi, Tyson, Vijaykumar EECS 4 ecture 4 Pipelining & Hazards II Winter 29 GS STTION Prof. Ronald Dreslinski h8p://www.eecs.umich.edu/courses/eecs4

More information

Controller Implementation--Part I. Cascading Edge-triggered Flip-Flops

Controller Implementation--Part I. Cascading Edge-triggered Flip-Flops Controller Implementation--Part I Alternative controller FSM implementation approaches based on: Classical Moore and Mealy machines Time state: Divide and Counter Jump counters Microprogramming (ROM) based

More information

CS61C : Machine Structures

CS61C : Machine Structures Election Data is now available Puple Ameica! inst.eecs.bekeley.edu/~cs61c CS61C : Machine Stuctues Lectue 31 Pipelined Execution, pat II 2004-11-10 Lectue PSOE Dan Gacia www.cs.bekeley.edu/~ddgacia The

More information

Lecture 14: Datapath Functional Units Adders

Lecture 14: Datapath Functional Units Adders Lecture 14: Datapath Functional Units dders Mark Horowitz omputer Systems Laboratory Stanford University horowitz@stanford.edu MH EE271 Lecture 14 1 Overview Reading W&E 8.2.1 - dders References Hennessy

More information

Computer Science 246. Advanced Computer Architecture. Spring 2010 Harvard University. Instructor: Prof. David Brooks

Computer Science 246. Advanced Computer Architecture. Spring 2010 Harvard University. Instructor: Prof. David Brooks Advanced Computer Architecture Spring 2010 Harvard University Instructor: Prof. dbrooks@eecs.harvard.edu Lecture Outline Instruction-Level Parallelism Scoreboarding (A.8) Instruction Level Parallelism

More information

EE382V-ICS: System-on-a-Chip (SoC) Design

EE382V-ICS: System-on-a-Chip (SoC) Design EE38V-CS: System-on-a-Chip (SoC) Design Hardware Synthesis and Architectures Source: D. Gajski, S. Abdi, A. Gerstlauer, G. Schirner, Embedded System Design: Modeling, Synthesis, Verification, Chapter 6:

More information

Outline Single Cycle Processor Design Multi cycle Processor. Pipelined Processor Design. Overall clock period. Analyzing performance 3/18/2015

Outline Single Cycle Processor Design Multi cycle Processor. Pipelined Processor Design. Overall clock period. Analyzing performance 3/18/2015 3/8/5 Pipelined Processor Design. Sahu CSE, T Guwahai Please be updaed wih hp://ainga.iig.erne.in/~asahu/c/ Ouline Single Cycle Processor Design Muli cycle Processor Merging M and, emoving dder and dder

More information

Pipelining and ISA Design

Pipelining and ISA Design Pipelined instuc.on Execu.on 1 Pipelining and ISA Design MIPS Instuc:on Set designed fo pipelining All instuc:ons ae 32- bits Easie to fetch and decode in one cycle x86: 1- to 17- byte instuc:ons (x86

More information

CS4617 Computer Architecture

CS4617 Computer Architecture 1/26 CS4617 Computer Architecture Lecture 2 Dr J Vaughan September 10, 2014 2/26 Amdahl s Law Speedup = Execution time for entire task without using enhancement Execution time for entire task using enhancement

More information

Lecture 8-1 Vector Processors 2 A. Sohn

Lecture 8-1 Vector Processors 2 A. Sohn Lecture 8-1 Vector Processors Vector Processors How many iterations does the following loop go through? For i=1 to n do A[i] = B[i] + C[i] Sequential Processor: n times. Vector processor: 1 instruction!

More information

Dynamic Scheduling I

Dynamic Scheduling I basic pipeline started with single, in-order issue, single-cycle operations have extended this basic pipeline with multi-cycle operations multiple issue (superscalar) now: dynamic scheduling (out-of-order

More information

CS61c: Introduction to Synchronous Digital Systems

CS61c: Introduction to Synchronous Digital Systems CS61c: Introduction to Synchronous Digital Systems J. Wawrzynek March 4, 2006 Optional Reading: P&H, Appendix B 1 Instruction Set Architecture Among the topics we studied thus far this semester, was the

More information

Chapter 16 - Instruction-Level Parallelism and Superscalar Processors

Chapter 16 - Instruction-Level Parallelism and Superscalar Processors Chapter 16 - Instruction-Level Parallelism and Superscalar Processors Luis Tarrataca luis.tarrataca@gmail.com CEFET-RJ L. Tarrataca Chapter 16 - Superscalar Processors 1 / 78 Table of Contents I 1 Overview

More information

CS Computer Architecture Spring Lecture 04: Understanding Performance

CS Computer Architecture Spring Lecture 04: Understanding Performance CS 35101 Computer Architecture Spring 2008 Lecture 04: Understanding Performance Taken from Mary Jane Irwin (www.cse.psu.edu/~mji) and Kevin Schaffer [Adapted from Computer Organization and Design, Patterson

More information

CMP 301B Computer Architecture. Appendix C

CMP 301B Computer Architecture. Appendix C CMP 301B Computer Architecture Appendix C Dealing with Exceptions What should be done when an exception arises and many instructions are in the pipeline??!! Force a trap instruction in the next IF stage

More information

Performance Metrics, Amdahl s Law

Performance Metrics, Amdahl s Law ecture 26 Computer Science 61C Spring 2017 March 20th, 2017 Performance Metrics, Amdahl s Law 1 New-School Machine Structures (It s a bit more complicated!) Software Hardware Parallel Requests Assigned

More information

On the Rules of Low-Power Design

On the Rules of Low-Power Design On the Rules of Low-Power Design (and Why You Should Break Them) Prof. Todd Austin University of Michigan austin@umich.edu A long time ago, in a not so far away place The Rules of Low-Power Design P =

More information

ECE 4750 Computer Architecture, Fall 2016 T09 Advanced Processors: Superscalar Execution

ECE 4750 Computer Architecture, Fall 2016 T09 Advanced Processors: Superscalar Execution ECE 4750 Computer Architecture, Fall 2016 T09 Advanced Processors: Superscalar Execution School of Electrical and Computer Engineering Cornell University revision: 2016-11-28-17-33 1 In-Order Dual-Issue

More information

Measuring and Evaluating Computer System Performance

Measuring and Evaluating Computer System Performance Measuring and Evaluating Computer System Performance Performance Marches On... But what is performance? The bottom line: Performance Car Time to Bay Area Speed Passengers Throughput (pmph) Ferrari 3.1

More information

Understanding Engineers #2

Understanding Engineers #2 Understanding Engineers #! The graduate with a Science degree asks, "Why does it work?"! The graduate with an Engineering degree asks, "How does it work?"! The graduate with an Accounting degree asks,

More information

Out-of-Order Execution. Register Renaming. Nima Honarmand

Out-of-Order Execution. Register Renaming. Nima Honarmand Out-of-Order Execution & Register Renaming Nima Honarmand Out-of-Order (OOO) Execution (1) Essence of OOO execution is Dynamic Scheduling Dynamic scheduling: processor hardware determines instruction execution

More information

Lecture 9: Clocking for High Performance Processors

Lecture 9: Clocking for High Performance Processors Lecture 9: Clocking for High Performance Processors Computer Systems Lab Stanford University horowitz@stanford.edu Copyright 2001 Mark Horowitz EE371 Lecture 9-1 Horowitz Overview Reading Bailey Stojanovic

More information

CZ3001 ADVANCED COMPUTER ARCHITECTURE

CZ3001 ADVANCED COMPUTER ARCHITECTURE CZ3001 ADVANCED COMPUTER ARCHITECTURE Lab 3 Report Abstract Pipelining is a process in which successive steps of an instruction sequence are executed in turn by a sequence of modules able to operate concurrently,

More information

Instructor: Dr. Mainak Chaudhuri. Instructor: Dr. S. K. Aggarwal. Instructor: Dr. Rajat Moona

Instructor: Dr. Mainak Chaudhuri. Instructor: Dr. S. K. Aggarwal. Instructor: Dr. Rajat Moona NPTEL Online - IIT Kanpur Instructor: Dr. Mainak Chaudhuri Instructor: Dr. S. K. Aggarwal Course Name: Department: Program Optimization for Multi-core Architecture Computer Science and Engineering IIT

More information

Computer Elements and Datapath. Microarchitecture Implementation of an ISA

Computer Elements and Datapath. Microarchitecture Implementation of an ISA 6.823, L5--1 Computer Elements and atapath Laboratory for Computer Science M.I.T. http://www.csg.lcs.mit.edu/6.823 status lines Microarchitecture Implementation of an ISA ler control points 6.823, L5--2

More information

FMP For More Practice

FMP For More Practice FP 6.-6 For ore Practice Labeling Pipeline Diagrams with 6.5 [2] < 6.3> To understand how pipeline works, let s consider these five instructions going through the pipeline: lw $, 2($) sub $, $2, $3 and

More information

Homework Problem Set: Combinational Devices & ASM Charts. Answer all questions on this sheet. You may attach additional pages if necessary.

Homework Problem Set: Combinational Devices & ASM Charts. Answer all questions on this sheet. You may attach additional pages if necessary. Student Name:.. Student Number:.. Session I (1 or 2):. Table I (1-11):... Group I (,, ): Homework Problem Set: ombinational evices & SM harts We will collect these sheets from students at the start of

More information

Department Computer Science and Engineering IIT Kanpur

Department Computer Science and Engineering IIT Kanpur NPTEL Online - IIT Bombay Course Name Parallel Computer Architecture Department Computer Science and Engineering IIT Kanpur Instructor Dr. Mainak Chaudhuri file:///e /parallel_com_arch/lecture1/main.html[6/13/2012

More information

CSE502: Computer Architecture Welcome to CSE 502

CSE502: Computer Architecture Welcome to CSE 502 Welcome to CSE 502 Introduction & Review Today s Lecture Course Overview Course Topics Grading Logistics Academic Integrity Policy Homework Quiz Key basic concepts for Computer Architecture Course Overview

More information

What you can do with very little:

What you can do with very little: page How Computers Work Lecture 3 irect Execution RISC Processor: The Unpipelined ET How Computers Work Lecture 3 Page What you can do with very little: Each instruction class can be implemented using

More information

CSEN 601: Computer System Architecture Summer 2014

CSEN 601: Computer System Architecture Summer 2014 CSEN 601: Cmputer System Architecture Summer 2014 Practice Assignment 7 Slutin Exercise 7-1: Based n the MIPS pipeline implementatin yu studied, what are the cntrl signals that have t be stred in the ID/EX

More information

CS521 CSE IITG 11/23/2012

CS521 CSE IITG 11/23/2012 Parallel Decoding and issue Parallel execution Preserving the sequential consistency of execution and exception processing 1 slide 2 Decode/issue data Issue bound fetch Dispatch bound fetch RS RS RS RS

More information

CISC 662 Graduate Computer Architecture. Lecture 9 - Scoreboard

CISC 662 Graduate Computer Architecture. Lecture 9 - Scoreboard CISC 662 Graduate Computer Architecture Lecture 9 - Scoreboard Michela Taufer http://www.cis.udel.edu/~taufer/teaching/cis662f07 Powerpoint Lecture tes from John Hennessy and David Patterson s: Computer

More information

CSE502: Computer Architecture CSE 502: Computer Architecture

CSE502: Computer Architecture CSE 502: Computer Architecture CSE 502: Computer Architecture Out-of-Order Execution and Register Rename In Search of Parallelism rivial Parallelism is limited What is trivial parallelism? In-order: sequential instructions do not have

More information

ECOM 4311 Digital System Design using VHDL. Chapter 9 Sequential Circuit Design: Practice

ECOM 4311 Digital System Design using VHDL. Chapter 9 Sequential Circuit Design: Practice ECOM 4311 Digital System Design using VHDL Chapter 9 Sequential Circuit Design: Practice Outline 1. Poor design practice and remedy 2. More counters 3. Register as fast temporary storage 4. Pipelined circuit

More information

Pipelined Architecture (2A) Young Won Lim 4/10/18

Pipelined Architecture (2A) Young Won Lim 4/10/18 Pipelined Architecture (2A) Copyright (c) 2014-2018 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2

More information

Pipelined Architecture (2A) Young Won Lim 4/7/18

Pipelined Architecture (2A) Young Won Lim 4/7/18 Pipelined Architecture (2A) Copyright (c) 2014-2018 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2

More information

CSE 305: Computer Architecture

CSE 305: Computer Architecture CSE 305: Computer Architecture Tanvir Ahmed Khan takhandipu@gmail.com Department of Computer Science and Engineering Bangladesh University of Engineering and Technology. September 6, 2015 1/16 Recap 2/16

More information

CSE502: Computer Architecture CSE 502: Computer Architecture

CSE502: Computer Architecture CSE 502: Computer Architecture CSE 502: Computer Architecture Out-of-Order Schedulers Data-Capture Scheduler Dispatch: read available operands from ARF/ROB, store in scheduler Commit: Missing operands filled in from bypass Issue: When

More information

Introduction to CMOS VLSI Design (E158) Lecture 5: Logic

Introduction to CMOS VLSI Design (E158) Lecture 5: Logic Harris Introduction to CMOS VLSI Design (E158) Lecture 5: Logic David Harris Harvey Mudd College David_Harris@hmc.edu Based on EE271 developed by Mark Horowitz, Stanford University MAH E158 Lecture 5 1

More information

Superpipelined Control and Data Path Synthesis

Superpipelined Control and Data Path Synthesis Superpipelined Control and Data Path Synthesis Usha Prabhu Barry M. Pangrle Department of Computer Science, The Pennsylvania State University, University Park, PA 16802. Abstract This paper describes a

More information

EN164: Design of Computing Systems Lecture 22: Processor / ILP 3

EN164: Design of Computing Systems Lecture 22: Processor / ILP 3 EN164: Design of Computing Systems Lecture 22: Processor / ILP 3 Professor Sherief Reda http://scale.engin.brown.edu Electrical Sciences and Computer Engineering School of Engineering Brown University

More information

EECS 470 Lecture 5. Intro to Dynamic Scheduling (Scoreboarding) Fall 2018 Jon Beaumont

EECS 470 Lecture 5. Intro to Dynamic Scheduling (Scoreboarding) Fall 2018 Jon Beaumont Intro to Dynamic Scheduling (Scoreboarding) Fall 2018 Jon Beaumont http://www.eecs.umich.edu/courses/eecs470 Many thanks to Prof. Martin and Roth of University of Pennsylvania for most of these slides.

More information

Instruction Level Parallelism Part II - Scoreboard

Instruction Level Parallelism Part II - Scoreboard Course on: Advanced Computer Architectures Instruction Level Parallelism Part II - Scoreboard Prof. Cristina Silvano Politecnico di Milano email: cristina.silvano@polimi.it 1 Basic Assumptions We consider

More information

Combinational Logic Gates in CMOS

Combinational Logic Gates in CMOS Combinational Logic Gates in CMOS References: dapted from: Digital Integrated Circuits: Design Perspective, J. Rabaey UC Principles of CMOS VLSI Design: Systems Perspective, 2nd Ed., N. H. E. Weste and

More information

Architectural Core Salvaging in a Multi-Core Processor for Hard-Error Tolerance

Architectural Core Salvaging in a Multi-Core Processor for Hard-Error Tolerance Architectural Core Salvaging in a Multi-Core Processor for Hard-Error Tolerance Michael D. Powell, Arijit Biswas, Shantanu Gupta, and Shubu Mukherjee SPEARS Group, Intel Massachusetts EECS, University

More information

Clock-Powered CMOS: A Hybrid Adiabatic Logic Style for Energy-Efficient Computing

Clock-Powered CMOS: A Hybrid Adiabatic Logic Style for Energy-Efficient Computing Clock-Powered CMOS: A Hybrid Adiabatic Logic Style for Energy-Efficient Computing Nestoras Tzartzanis and Bill Athas nestoras@isiedu, athas@isiedu http://wwwisiedu/acmos Information Sciences Institute

More information

READ THIS FIRST: *One physical piece of 8.5x11 paper (you may use both sides). Notes must be handwritten.

READ THIS FIRST: *One physical piece of 8.5x11 paper (you may use both sides). Notes must be handwritten. READ THIS FIRST: We recommend first trying this assignment in a single sitting. The midterm exam time period is 80 minutes long. Find a quiet place, grab your cheat sheet* and a pencil, and set a timer.

More information

Instructor: Randy H. Katz hap://inst.eecs.berkeley.edu/~cs61c/fa13. Fall Lecture #20. Warehouse Scale Computer

Instructor: Randy H. Katz hap://inst.eecs.berkeley.edu/~cs61c/fa13. Fall Lecture #20. Warehouse Scale Computer CS 61C: Geat Ideas in Compute Achitectue Contol and Pipelining Instucto: Randy H. Katz hap://inst.eecs.bekeley.edu/~cs61c/fa13 11/5/13 Fall 2013 - - Lectue #20 1 So0wae Paallel Requests Assigned to compute

More information

CS 6290 Evaluation & Metrics

CS 6290 Evaluation & Metrics CS 6290 Evaluation & Metrics Performance Two common measures Latency (how long to do X) Also called response time and execution time Throughput (how often can it do X) Example of car assembly line Takes

More information

U. Wisconsin CS/ECE 752 Advanced Computer Architecture I

U. Wisconsin CS/ECE 752 Advanced Computer Architecture I U. Wisconsin CS/ECE 752 Advanced Computer Architecture I Prof. Karu Sankaralingam Unit 5: Dynamic Scheduling I Slides developed by Amir Roth of University of Pennsylvania with sources that included University

More information

Instruction Level Parallelism III: Dynamic Scheduling

Instruction Level Parallelism III: Dynamic Scheduling Instruction Level Parallelism III: Dynamic Scheduling Reading: Appendix A (A-67) H&P Chapter 2 Instruction Level Parallelism III: Dynamic Scheduling 1 his Unit: Dynamic Scheduling Application OS Compiler

More information

COSC4201. Scoreboard

COSC4201. Scoreboard COSC4201 Scoreboard Prof. Mokhtar Aboelaze York University Based on Slides by Prof. L. Bhuyan (UCR) Prof. M. Shaaban (RIT) 1 Overcoming Data Hazards with Dynamic Scheduling In the pipeline, if there is

More information

Computer Architecture ( L), Fall 2017 HW 3: Branch handling and GPU SOLUTIONS

Computer Architecture ( L), Fall 2017 HW 3: Branch handling and GPU SOLUTIONS Computer Architecture (263-2210-00L), Fall 2017 HW 3: Branch handling and GPU SOLUTIONS Instructor: Prof. Onur Mutlu TAs: Hasan Hassan, Arash Tavakkol, Mohammad Sadr, Lois Orosa, Juan Gomez Luna Assigned:

More information

Embedded Hardware (1) Kai Huang

Embedded Hardware (1) Kai Huang Ebedded Hardware () Kai Hang News: PS4 and Xbo One are Coing /9/203 kai.hang@t 2 The Hardware Xbo One PS4 CPU PS4 /9/203 kai.hang@t 3 Xbo One sei-csto 86 AMD APU 28n 8-core Jagar CPU CPU freqency.6 GHz.75

More information

HIGH-PERFORMANCE HYBRID WAVE-PIPELINE SCHEME AS IT APPLIES TO ADDER MICRO-ARCHITECTURES

HIGH-PERFORMANCE HYBRID WAVE-PIPELINE SCHEME AS IT APPLIES TO ADDER MICRO-ARCHITECTURES HIGH-PERFORMANCE HYBRID WAVE-PIPELINE SCHEME AS IT APPLIES TO ADDER MICRO-ARCHITECTURES By JAMES E. LEVY A thesis submitted in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE

More information

Project 5: Optimizer Jason Ansel

Project 5: Optimizer Jason Ansel Project 5: Optimizer Jason Ansel Overview Project guidelines Benchmarking Library OoO CPUs Project Guidelines Use optimizations from lectures as your arsenal If you decide to implement one, look at Whale

More information

Microprocessor & Interfacing Lecture Programmable Interval Timer

Microprocessor & Interfacing Lecture Programmable Interval Timer Microprocessor & Interfacing Lecture 30 8254 Programmable Interval Timer P A R U L B A N S A L A S S T P R O F E S S O R E C S D E P A R T M E N T D R O N A C H A R Y A C O L L E G E O F E N G I N E E

More information

EECS 470. Tomasulo s Algorithm. Lecture 4 Winter 2018

EECS 470. Tomasulo s Algorithm. Lecture 4 Winter 2018 omasulo s Algorithm Winter 2018 Slides developed in part by Profs. Austin, Brehob, Falsafi, Hill, Hoe, Lipasti, Martin, Roth, Shen, Smith, Sohi, yson, Vijaykumar, and Wenisch of Carnegie Mellon University,

More information

The Metrics and Designs of an Arithmetic Logic Function over

The Metrics and Designs of an Arithmetic Logic Function over The Metrics and Designs of an Arithmetic Logic Function over 2002-2015 Jimmy Vallejo Department of Electrical and Computer Engineering University of Central Flida Orlando, FL 32816-2362 Abstract There

More information