ECE 2300 Digital Logic & Computer Organization. More Pipelined Microprocessor

Size: px
Start display at page:

Download "ECE 2300 Digital Logic & Computer Organization. More Pipelined Microprocessor"

Transcription

1 ECE 2300 Digital ogic & Computer Organization Spring 2018 ore Pipelined icroprocessor ecture 18: 1

2 nnouncements No instructor office hour today Rescheduled to onday pril 16, 4:00-5:30pm Prelim 2 review sessions Friday pril 13, 4:30-6:00pm, PH 219 onday pril 16, 7:00-8:30pm, PH 203 ecture 18: 2

3 Pipelined icroprocessor C Control Signals PCJ P C PC +2 Inst R Decoder dder D S SB DR RF D_in V C Z N F m F 0 V C Z N Data R D_IN W D SE IF/ID ID/E B E/E E/WB Key idea: Keep all resources fully utilized ecture 18: 3

4 Data Hazard Problem CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 DD R1,R2,R3 OR R4,R1,R3 SB R5,R2,R1 ND R6,R1,R2 DDI R7,R7,3 The OR, SB, and ND instructions are data dependent on the DD instruction ecture 18: 4

5 Identify all data hazards in the following instruction sequences by circling each source register that is read before the updated value is written back SB R4, R2, R3 DDI R1, R1, 1 DDI R2, R4, 1 DDI R3, R4, 1 SB R5, R3, R4 Example: Data Hazards ecture 18: 5

6 Review: Compiler Inserts NOPs (Solution 1) CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 DD R1,R2,R3 NOP NOP NOP OR R4,R1,R3 ecture 18: 6

7 Review: HW Stalls the Pipeline (Solution 2) CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 DD R1,R2,R3 OR R4,R1,R3 bubble bubble bubble SB R5,R2,R1 ND R6,R1,R2 DDI R7,R7,3 The pipeline is stalled for three cycles ecture 18: 7

8 Solution 3: HW Forwarding (Bypassing) CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 DD R1,R2,R3 OR R4,R1,R3 SB R5,R2,R1 ND R6,R1,R2 DDI R7,R7,3 ecture 18: 8

9 Pipeline odifications for Forwarding? IF/ID ID/E E/E E/WB ecture 18: 9

10 Pipelined icroprocessor w/o Forwarding C Control Signals PCJ P C PC +2 Inst R Decoder dder D S SB DR RF D_in V C Z N F m F 0 V C Z N Data R D_IN W D SE IF/ID ID/E B E/E E/WB ecture 18: 10

11 Pipelined Processor with Forwarding PCJ P C PC +2 Inst R Decoder SE dder D S SB DR RF D_in C V C Z N Control Signals F m F 0 V C Z N Data R D_IN W IF/ID ID/E E/E E/WB B D ecture 18: 11

12 Decoder dder D S SB DR RF D_in Forwarding in ction C V C Z N B Control Signals F m F 0 V C Z N Data R D_IN W D SE IF/ID ID/E E/E E/WB OR R4,R1,R3 DD R1,R2,R3 ecture 18: 12

13 Decoder dder D S SB DR RF D_in Forwarding in ction C V C Z N B Control Signals F m F 0 V C Z N Data R D_IN W D SE IF/ID ID/E E/E E/WB SB R5,R2,R1 OR R4,R1,R3 DD R1,R2,R3 ecture 18: 13

14 Decoder dder D S SB DR RF D_in Forwarding in ction C V C Z N B Control Signals F m F 0 V C Z N Data R D_IN W D SE IF/ID ID/E E/E E/WB ND R6,R1,R2 SB R5,R2,R1 OR R4,R1,R3 DD R1,R2,R3 ecture 18: 14

15 HW Forwarding C Control Signals PCJ P C PC +2 Inst R Decoder dder D S SB DR RF D_in B F m F 0 V C Z N Data R D_IN W D SE IF/ID ID/E E/E E/WB Trade-off between performance and cost ecture 18: 15

16 Example: Data Hazards w/o Forwarding Identify all data hazards in the following instruction sequences by circling each source register that is read before the updated value is written back DD R1, R2, R3 OR R4, R1, R3 SB R5, R2, R1 SB R6, R1, R2 ecture 18: 16

17 Example: Data Hazards w/ Forwarding Identify all data hazards in the following instruction sequences by circling each source register that is read before the updated value is written back DD R1, R2, R3 OR R4, R1, R3 SB R5, R2, R1 SB R6, R1, R2 Data hazards resolved by R-type to R-type forwarding ecture 18: 17

18 nother Example: Data Hazards w/ Forwarding Identify all data hazards in the following instruction sequences by circling each source register that is read before the updated value is written back W R1, 0(R2) OR R4, R1, R3 SB R5, R2, R1 Data hazard not resolved by R-type to R-type forwarding ecture 18: 18

19 Data Hazards Caused by oad CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 W R1,0(R2) OR R4,R1,R3 SB R5,R2,R1 ND R6,R1,R2 DDI R7,R7,3 ecture 18: 19

20 oad Instructions and Forwarding CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 W R1,0(R2) OR R4,R1,R3 SB R5,R2,R1 ND R6,R1,R2 DDI R7,R7,3 ecture 18: 20

21 Solution 1: Compiler Inserts NOP Instruction CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 W R1,0(R2) NOP OR R4,R1,R3 SB R5,R2,R1 ND R6,R1,R2 ecture 18: 21

22 Solution 2: HW Stalls the Pipeline CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 W R1,0(R2) OR R4,R1,R3 bubble SB R5,R2,R1 bubble ND R6,R1,R2 DDI R7,R7,3 ecture 18: 22

23 Solution 3: Delay Slots delay slot is a location in the program where the compiler is required to insert an instruction between dependent instructions The IS defines the delay slots The compiler can fill delay slots with NOPs Even better: ove a non-dependent instruction from elsewhere in the program into the delay slot Doing so must not change the function of the program ecture 18: 23

24 Filling the oad Delay Slot CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 W R1,0(R2) DDI NOP R7,R7,3 OR R4,R1,R3 SB R5,R2,R1 ND R6,R1,R2 DDI R7,R7,3 ecture 18: 24

25 Filling the oad Delay Slot? CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 W R1,0(R2) NOP OR R4,R1,R3 SB R5,R2,R1 ND R6,R1,R2 DDI R7,R6,3 ecture 18: 25

26 The Problem with Branches C Control Signals PCJ P C PC +2 Inst R Decoder dder D S SB DR RF D_in B F m F 0 V C Z N Data R D_IN W D SE IF/ID ID/E E/E E/WB If the condition is met, the PC is updated at the end of E, after we ve already fetched the next two instructions ecture 18: 26

27 The Problem with Branches CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 BEQ R2,R3, OR R4,R1,R3 SB R5,R2,R1 : ND R6,R1,R2 DDI R7,R7,3... OR and SB are fetched before the branch condition is evaluated ecture 18: 27

28 Control Hazard Occurs when instructions following a branch are fetched before the branch outcome is known BEQ R2, R3, OR R4, R1, R3 SB R5, R2, R1 IF ID E WB IF ID E WB IF ID E WB : ND R6,R1,R2 What should happen If branch is not taken, next fetched instruction should be at address PC+2 (OR) If branch is taken, next fetched instruction should be at address (ND) What actually happens Instructions at PC+2 and PC+4 are fetched before branch outcome is known ecture 18: 28

29 Branch Delay Slot If the IS defines a branch delay slot, the instruction immediately following a branch is always executed after the branch The compiler finds an instruction to put there, or puts in a NOP The hardware must execute the instruction immediately following the branch, regardless of whether the branch is taken or not ecture 18: 29

30 Reducing the Branch Delay We already calculate the branch target in ID Put dedicated hardware to also evaluate the condition in ID Hence only 1 branch delay slot needed ecture 18: 30

31 Evaluating Branch Condition in ID C sign bit sign bit Control Signals =? PCJ P C PC +2 Inst R Decoder dder D S SB DR RF D_in B F m F 0 Data R D_IN W D SE IF/ID ID/E E/E E/WB ecture ecture 18: 31

32 Filling the Branch Delay Slot with a NOP CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 BEQ R2,R3, NOP OR R4,R1,R3 SB R5,R2,R1 : ND R6,R1,R2 DDI R7,R7,3... ecture 18: 32

33 Filling the Branch Delay Slot CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 BEQ R2,R3, DDI NOP R7,R7,3 OR R4,R1,R3 SB R5,R2,R1 : ND R6,R1,R2 DDI R7,R7,3... The DDI is always executed after the BEQ. If the BEQ is taken, executing the DDI must not cause incorrect behavior ecture 18: 33

34 Branch Target ddress (PC+2+OFF) C Control Signals PCJ P C PC +2 Inst R Decoder dder D S SB DR RF D_in V C Z N F m F 0 V C Z N Data R D_IN W D SE IF/ID ID/E B E/E E/WB Branch delay slot is accounted for in the branch target calculation ecture 18: 34

35 Before Next Class Next Time ore Pipelined icroprocessor ecture 18: 35

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 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

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

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

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

CS420/520 Computer Architecture I

CS420/520 Computer Architecture I 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:

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

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

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

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

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

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

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

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

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

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

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 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

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

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

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

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

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

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

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

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

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

Problem: hazards delay instruction completion & increase the CPI. Compiler scheduling (static scheduling) reduces impact of hazards

Problem: hazards delay instruction completion & increase the CPI. Compiler scheduling (static scheduling) reduces impact of hazards Dynamic Scheduling Pipelining: Issue instructions in every cycle (CPI 1) Problem: hazards delay instruction completion & increase the CPI Compiler scheduling (static scheduling) reduces impact of hazards

More information

CSE502: Computer Architecture CSE 502: Computer Architecture

CSE502: Computer Architecture CSE 502: Computer Architecture CSE 502: Computer Architecture Speculation and raps in Out-of-Order Cores What is wrong with omasulo s? Branch instructions Need branch prediction to guess what to fetch next Need speculative execution

More information

Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted from Hennessy & Patterson / 2003 Elsevier

Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted from Hennessy & Patterson / 2003 Elsevier Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted from Hennessy & Patterson / 2003 Elsevier Science !!! Basic MIPS integer pipeline Branches with one

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

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

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

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

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

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

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

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

Parallel architectures Electronic Computers LM

Parallel architectures Electronic Computers LM Parallel architectures Electronic Computers LM 1 Architecture Architecture: functional behaviour of a computer. For instance a processor which executes DLX code Implementation: a logical network implementing

More information

USE AND CARE GUIDE BRAMFORD GAZEBO

USE AND CARE GUIDE BRAMFORD GAZEBO Item #1000 683 163 Model #L-GZ669PST-I USE AND CARE GUIDE BRAMFORD GAZEBO Questions, problems, missing parts? Before returning to the store, call Hampton Bay Customer Service 8 a.m. - 6 p.m., EST, Monday-Friday

More information

Tomasolu s s Algorithm

Tomasolu s s Algorithm omasolu s s Algorithm Fall 2007 Prof. homas Wenisch http://www.eecs.umich.edu/courses/eecs4 70 Floating Point Buffers (FLB) ag ag ag Storage Bus Floating Point 4 3 Buffers FLB 6 5 5 4 Control 2 1 1 Result

More information

Dynamic Scheduling II

Dynamic Scheduling II so far: dynamic scheduling (out-of-order execution) Scoreboard omasulo s algorithm register renaming: removing artificial dependences (WAR/WAW) now: out-of-order execution + precise state advanced topic:

More information

Lecture Topics. Announcements. Today: Memory Management (Stallings, chapter ) Next: continued. Self-Study Exercise #6. Project #4 (due 10/11)

Lecture Topics. Announcements. Today: Memory Management (Stallings, chapter ) Next: continued. Self-Study Exercise #6. Project #4 (due 10/11) Lecture Topics Today: Memory Management (Stallings, chapter 7.1-7.4) Next: continued 1 Announcements Self-Study Exercise #6 Project #4 (due 10/11) Project #5 (due 10/18) 2 Memory Hierarchy 3 Memory Hierarchy

More information

Topics. Low Power Techniques. Based on Penn State CSE477 Lecture Notes 2002 M.J. Irwin and adapted from Digital Integrated Circuits 2002 J.

Topics. Low Power Techniques. Based on Penn State CSE477 Lecture Notes 2002 M.J. Irwin and adapted from Digital Integrated Circuits 2002 J. Topics Low Power Techniques Based on Penn State CSE477 Lecture Notes 2002 M.J. Irwin and adapted from Digital Integrated Circuits 2002 J. Rabaey Review: Energy & Power Equations E = C L V 2 DD P 0 1 +

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

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

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

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

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

Synthesis of Combinational Logic

Synthesis of Combinational Logic Synthesis of ombinational Logic 6.4 Gates F = xor Handouts: Lecture Slides, PS3, Lab2 6.4 - Spring 2 2/2/ L5 Logic Synthesis Review: K-map Minimization ) opy truth table into K-Map 2) Identify subcubes,

More information

EECS 470. Lecture 9. MIPS R10000 Case Study. Fall 2018 Jon Beaumont

EECS 470. Lecture 9. MIPS R10000 Case Study. Fall 2018 Jon Beaumont MIPS R10000 Case Study Fall 2018 Jon Beaumont http://www.eecs.umich.edu/courses/eecs470 Multiprocessor SGI Origin Using MIPS R10K Many thanks to Prof. Martin and Roth of University of Pennsylvania for

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

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

EECS 427 Lecture 13: Leakage Power Reduction Readings: 6.4.2, CBF Ch.3. EECS 427 F09 Lecture Reminders

EECS 427 Lecture 13: Leakage Power Reduction Readings: 6.4.2, CBF Ch.3. EECS 427 F09 Lecture Reminders EECS 427 Lecture 13: Leakage Power Reduction Readings: 6.4.2, CBF Ch.3 [Partly adapted from Irwin and Narayanan, and Nikolic] 1 Reminders CAD assignments Please submit CAD5 by tomorrow noon CAD6 is due

More information

EE 330 Lecture 30. Thyristors. SCR Basic circuits and limitations Triacs Other thyristor types

EE 330 Lecture 30. Thyristors. SCR Basic circuits and limitations Triacs Other thyristor types EE 330 ecture 30 Thyristors SC Basic circuits and limitations Triacs Other thyristor types Exam 3 Friday April 13 eview from ast ecture The Thyristor A bipolar device in CMOS Processes Consider a Bulk-CMOS

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

ICS312 Machine-level and Systems Programming

ICS312 Machine-level and Systems Programming Computer Architecture and Programming: Examples and Sample Problems ICS312 Machine-level and Systems Programming Henri Casanova (henric@hawaii.edu) 0000 1100 Somehow, the is initialized to some content,

More information

EC4205 Microprocessor and Microcontroller

EC4205 Microprocessor and Microcontroller EC4205 Microprocessor and Microcontroller Webcast link: https://sites.google.com/a/bitmesra.ac.in/aminulislam/home All announcement made through webpage: check back often Students are welcome outside the

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

July 12, 2018 VER. 3 Subject Allocation Summary (Dept of EE) for Autumn

July 12, 2018 VER. 3 Subject Allocation Summary (Dept of EE) for Autumn Subject Allocation Summary (Dept of EE) for Autumn 2018-19 Sl. No. Subject No. Subject Name 1 EE11001 Electrical Technology Coordinator- DD 2 EE19001 Electrical Technology Lab Coordinator: SPR 3 EE21101

More information

ProMark 500 White Paper

ProMark 500 White Paper ProMark 500 White Paper How Magellan Optimally Uses GLONASS in the ProMark 500 GNSS Receiver How Magellan Optimally Uses GLONASS in the ProMark 500 GNSS Receiver 1. Background GLONASS brings to the GNSS

More information

OOO Execution & Precise State MIPS R10000 (R10K)

OOO Execution & Precise State MIPS R10000 (R10K) OOO Execution & Precise State in MIPS R10000 (R10K) Nima Honarmand CDB. CDB.V Spring 2018 :: CSE 502 he Problem with P6 Map able + Regfile value R value Head Retire Dispatch op RS 1 2 V1 FU V2 ail Dispatch

More information

HARDWOOD CLOSET SYSTEM

HARDWOOD CLOSET SYSTEM ITEM #0020720 HARDWOOD CLOSET SYSTEM MODEL #WSCO-72C-AR ATTACH YOUR RECEIPT HERE Serial Number Purchase Date Questions, problems, missing parts? Before returning to your retailer, call our customer service

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

I. Computational Logic and the Five Basic Logic Gates 1

I. Computational Logic and the Five Basic Logic Gates 1 EC312 Lesson 2: Computational Logic Objectives: a) Identify the logic circuit gates and reproduce the truth tables for NOT, ND, NND, OR, and NOR gates. b) Given a schematic of a logic circuit, determine

More information

TASK NOP CIJEVI ROBOTI RELJEF. standard output

TASK NOP CIJEVI ROBOTI RELJEF. standard output Tasks TASK NOP CIJEVI ROBOTI RELJEF time limit (per test case) memory limit (per test case) points standard standard 1 second 32 MB 35 45 55 65 200 Task NOP Mirko purchased a new microprocessor. Unfortunately,

More information

Low Power Design Part I Introduction and VHDL design. Ricardo Santos LSCAD/FACOM/UFMS

Low Power Design Part I Introduction and VHDL design. Ricardo Santos LSCAD/FACOM/UFMS Low Power Design Part I Introduction and VHDL design Ricardo Santos ricardo@facom.ufms.br LSCAD/FACOM/UFMS Motivation for Low Power Design Low power design is important from three different reasons Device

More information

Lecture 1: Introduction to Digital System Design & Co-Design

Lecture 1: Introduction to Digital System Design & Co-Design Design & Co-design of Embedded Systems Lecture 1: Introduction to Digital System Design & Co-Design Computer Engineering Dept. Sharif University of Technology Winter-Spring 2008 Mehdi Modarressi Topics

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

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

Multiple Predictors: BTB + Branch Direction Predictors

Multiple Predictors: BTB + Branch Direction Predictors Constructive Computer Architecture: Branch Prediction: Direction Predictors Arvind Computer Science & Artificial Intelligence Lab. Massachusetts Institute of Technology October 28, 2015 http://csg.csail.mit.edu/6.175

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

Sirindhorn International Institute of Technology Thammasat University at Rangsit

Sirindhorn International Institute of Technology Thammasat University at Rangsit Sirindhorn International Institute of Technology Thammasat University at Rangsit School of Information, Computer and Communication Technology Practice Problems for the Final Examination COURSE : ECS204

More information

Hodedah ASSEMBLY INSTRUCTION HI K78 (MICROWAVE CART)

Hodedah ASSEMBLY INSTRUCTION HI K78 (MICROWAVE CART) ASSEBLY INSTRUCTION HI K8 (ICROWAVE CART) ~ Before assembly, please read the instructions ~ ~ Keep these instructions for future reference ~ ~ Follow these steps to assemble the icrowave Cart ~ FRONT VIEW

More information

SURVEY AND EVALUATION OF LOW-POWER FULL-ADDER CELLS

SURVEY AND EVALUATION OF LOW-POWER FULL-ADDER CELLS SURVEY ND EVLUTION OF LOW-POWER FULL-DDER CELLS hmed Sayed and Hussain l-saad Department of Electrical & Computer Engineering University of California Davis, C, U.S.. STRCT In this paper, we survey various

More information

Time Matters How Power Meters Measure Fast Signals

Time Matters How Power Meters Measure Fast Signals Time Matters How Power Meters Measure Fast Signals By Wolfgang Damm, Product Management Director, Wireless Telecom Group Power Measurements Modern wireless and cable transmission technologies, as well

More information

All Restoration Hardware bunk beds are designed to meet the highest safety standards and comply with all U.S. and Canadian Bunk Bed regulations.

All Restoration Hardware bunk beds are designed to meet the highest safety standards and comply with all U.S. and Canadian Bunk Bed regulations. All Restoration Hardware bunk beds are designed to meet the highest safety standards and comply with all U.S. and Canadian Bunk Bed regulations. Page 1 of 13 Assembly Instructions Callum Storage Twin Bunk

More information

Precise State Recovery. Out-of-Order Pipelines

Precise State Recovery. Out-of-Order Pipelines Precise State Recovery in Out-of-Order Pipelines Nima Honarmand Recall Our Generic OOO Pipeline Instruction flow (pipeline front-end) is in-order Register and memory execution are OOO And, we need a final

More information

Architectural Power Management for High Leakage Technologies

Architectural Power Management for High Leakage Technologies Architectural Power Management for High Leakage Technologies Manish Kulkarni, Khushboo Sheth and Vishwani D. Agrawal Auburn University, Department of Electrical and Computer Engineering, Auburn, AL 36849,

More information

ASSEMBLY INSTRUCTIONS 10 X14 HIGGINS HARDTOP GAZEBO ITEM# L-GZ212PST-4

ASSEMBLY INSTRUCTIONS 10 X14 HIGGINS HARDTOP GAZEBO ITEM# L-GZ212PST-4 3811110 ASSEMBLY INSTRUCTIONS 10 X14 HIGGINS HARDTOP GAZEBO ITEM# L-GZ212PST-4 Parts List Square pole A 4 Round pole B 4 Short arch bar C 4 Long arch bar D 6 Long beam 1 E1 2 Long beam 2 E2 2 Long beam

More information

UN DOS TREZ Sudoku Competition. Puzzle Booklet for Preliminary Round. 19-Feb :45PM 75 minutes

UN DOS TREZ Sudoku Competition. Puzzle Booklet for Preliminary Round. 19-Feb :45PM 75 minutes Name: College: Email id: Contact: UN DOS TREZ Sudoku Competition Puzzle Booklet for Preliminary Round 19-Feb-2010 4:45PM 75 minutes In Association With www.logicmastersindia.com Rules of Sudoku A typical

More information

Chapter # 1: Introduction

Chapter # 1: Introduction Chapter # : Introduction Contemporary Logic Design Randy H. Katz University of California, erkeley May 994 No. - The Process Of Design Design Implementation Debug Design Initial concept: what is the function

More information

ALOE Framework and Tools

ALOE Framework and Tools Department of Signal Theory and Communications UNIVERSITAT POLITÈCNICA DE CATALUNYA ALOE Framework and Tools Vuk Marojevic Ismael Gomez Antoni Gelonch ALOE Webinar. May 24th 212. http://flexnets.upc.edu/

More information

CS-28MM1030-GRY ASSEMBLY, CARE & USE INSTRUCTIONS

CS-28MM1030-GRY ASSEMBLY, CARE & USE INSTRUCTIONS CS-8MM030-GRY ASSEMBLY, CARE & USE INSTRUCTIONS Questions, problems, missing parts? Before returning to your retailer, call our customers service department at -855-57-044 8 a.m. - 8 p.m., EST, Monday-Friday.

More information