Lecture 8-1 Vector Processors 2 A. Sohn

Size: px
Start display at page:

Download "Lecture 8-1 Vector Processors 2 A. Sohn"

Transcription

1 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! Characteristics of VPs No data hazards A single instruction for the entire loop Heavily interleaved memory No control hazards Heavily pipelined operations. Questions to ask: Can memory support? Memory Bandwidth Massive interleaved memory, remember? Memory-to-Memory architecture Register-to-Register architecture Pipeline chaining Can instructions be vectorized? Vectorizing compiler Lecture 8-1 Vector Processors 2 A. Sohn

2 Vector Processors Pipeline the operations on individual elements. Vector functional units: Multiplier, Adder Vector registers Vector Load/Store units A set of scalar registers Lecture 8-1 Vector Processors 3 A. Sohn Memory Interleaving VPs have several functional units including Adder, Loader, and Storer. Vectors are ideally allocated to 8 memory modules for C[0:7]=A[0:7]+B[0:7] M0 M 1 M 2 M 3 A[0] B[6] C[4] A[1] B[7] C[5] A[2] B[0] C[6] A[3] B[1] C[7] M4 M 5 M 6 M 7 A[4] B[2] C[1] A[5] B[3] C[2] A[6] B[4] C[3] A[7] B[5] C[4] S4 S3 S2 S1 M7 RB5 RB5 RA7 RA7 W3 W3 M6 M5 RB4 RB3 RB3 RB4 RA5 RA6 RA6 RA5 W1 W2 W2 W1 M4 RB2 RB2 RA4 RA4 W0 W0 M3 RB1 RB1 RA3 RA3 W7 W7 M2 M1 RB0 RB0 R R R R RB7 RB7 W6 W6 W5 W5 M0 R R RB6 RB6 W4 W Lecture 8-1 Vector Processors 4 A. Sohn

3 Less Ideal Case M 0 M 1 M 2 M 3 A[0] B[0] C[0] A[1] B[1] C[1] A[2] B[2] C[2] A[3] B[3] C[3] M 4 M 5 M 6 M 7 A[4] B[4] C[4] A[5] B[5] C[5] A[6] B[6] C[6] A[7] B[7] C[7] S4 S3 S2 S1 M7 RA7 RA7 RB7 RB7 W7 W7 M6 RA6 RA6 RB6 RB6 W6 W6 M5 RA5 RA5 RB5 RB5 W5 W5 M4 RA4 RA4 RB4 RB4 W4 W4 M3 RA3 RA3 RB3 RB3 W3 W3 M2 R R RB2 RB2 W2 W2 M1 R R RB1 RB1 W1 W1 M0 R R RB0 RB0 W0 W Convoy 1 Convoy Pipeline Chaining What is pipeline chaining? An expansion of the internal forwarding concept in pipeline. (Internal forwarding: one register to another) Feeding results of one pipeline to the operand registers of another pipeline. Example: V0 = Memory Memory Fetch V2 = V0 + V1 Vector Load V3 = V2 < A3 Left Shift V5 = V3 V4 Logical Product Facts and assumptions: One vector load pipe with 8 stages One vector add pipe with 3 stages One vector shift pipe with 4 stages One vector logic pipe with 2 stages Tansition between a pipe and a vector regisetr takes 1 clock cycle. V1 is already loaded in the register. Vector length =8. Vector register length = 64. Lecture 8-1 Vector Processors 6 A. Sohn

4 Pipeline Chaining with Vector Size 8 Memory a d d b Load pipe V0 c V1 Add pipe e V2 g f j j h Shift pipe V3 i V4 Logic pipe k V5 l Lecture 8-1 Vector Processors 7 A. Sohn Pipeline Chaining with Vector Length 8 Load pipe Add pipe Shift pipe Logic p A3 A3 A4 A5 A6 A7 A3 A4 A5 A6 A7 A4 A5 A6 A7 S0 S1 S2 S3 S4 S5 S6 S7 S0 S1 S2 S3 S4 S5 S0 S1 S2 S3 S4 S5 S6 S0 S1 S2 S3 S4 S5 S6 S

5 No Chaining with Vector Length 8 Load pipe Add pipe Shift pipe Logic p A3 A4 A5 A3 A4 A3 A4 A5 A Chaining with Vector Length 64 Load pipe Add pipe Shift pipe Logic p A3 A4 A5 A6 A7 A8 A3 A4 A5 A6 A7 A8 A9 A9 S0 S1 S2 S3 S4 S5 S0 S1 S2 S3 S4 S5 S6 S0 S1 S2 S3 S4 S5 S6 S7 S0 S1 S2 S3 S4 S5 S6 S7 S8 A3 A4 A5 A6 A7 A8 A L8 L9 L10 L11 L12 L13 L14 L15 L16 L8 L9 L10 L11 L12 L13 L14 L15 L16 L17 L8 L9 L10 L11 L12 L13 L14 L15 L16 L17 L18 L8 L9 L10 L11 L12 L13 L14 L15 L16 L17 L18 L19 L8 L9 L10 L11 L12 L13 L14 L15 L16 L17 L18 L19 L20 L8 L9 L10 L11 L12 L13 L14 L15 L16 L17 L18 L19 L20 L21 L8 L9 L10 L11 L12 L13 L14 L15 L16 L17 L18 L19 L20 L21 L22 L8 L9 L10 L11 L12 L13 L14 L15 L16 L17 L18 L19 L20 L21 L22 L

6 For Vector Length N Suppose that the vector register length is 64 and the vector length is n>64. θ θ Lecture 8-1 Vector Processors 11 A. Sohn Vectorizing Compiler What is a vectorizing compiler? Case 1: S1: A[i] = B[i] + C[i] S2: D[i] = E[i] F[i] Two statements can replace the entire loop! S1: A[1:n] = B[1:n] + C[i] S2: D[1:n] = E[1:n] F[1:n] This simple example is easy to vectorize. Case 2: How about this loop? S1: A[i] = A[i 1] + B[i] Can we easily vectorize the loop? S1: A[1:n] = A[1:n] + B[i:n]? No, we can t because S1 uses a value computed by S1 in an earlier iteration. A[i] deps on A[i-1], which is computed in the previous iteration. Lecture 8-1 Vector Processors 12 A. Sohn

7 S1: A[i] = A[i 1] + B[i] Iteration 1: A[1] = A[0] + B[1] Iteration 2: A[2] = A[1] + B[2] Iteration 3: A[3] = A[2] + B[3] Iteration n: A[n] = A[n 1] + B[n] Lecture 8-1 Vector Processors 13 A. Sohn Various Depences Now, consider a little more complex case: S1: A[i] = A[i 1] + B[i] S2: B[i] = A[i] + B[i 1] S3: A[i] = B[i 1] + C[i] S1 uses a value computed by S1 in the previous iteration Loop-carried depence S2 uses a value computed by S2 in the previous iteration Loop-carried depence. S2 uses a value A[i] computed by S1 in the same iteration Flow-depence (RAW Hazard). S1 uses a value B[i] which will be modified by S2 in the same iteration Anti-depence (WAR Hazard). S1 and S3 write to the same value A[i] in the same iteration Output-depence (WAW Hazard). Note: Anti and output-depences are name conflicts. They are not true depences. Lecture 8-1 Vector Processors 14 A. Sohn

8 Ok, then we can remove the depences! How do we do that? Simply change A to X, then see what happens. S1: X[i] = A[i 1] + B[i] S2: B[i] = X[i] + B[i 1] S3: A[i] = B[i 1] + C[i] S2 uses a value computed by S2 in the previous iteration Loop-carried depence. Anti-depence (WAR Hazard). S1 and S3 write to the same value A[i] in the same iteration Output-depence (WAW Hazard). The output depence is gone! How about the anti-depence? It s also gone! Lecture 8-1 Vector Processors 15 A. Sohn How To Vectorize? Can we vectorize the various depences? Loop-carried depen cannot be vectorized. Flow-depence cannot be vectorized. Anti-depence can be vectorized. How? Output-depence can be vectorized. How? The two depences can be eliminated by renaming the storage. Consider the following example: No loop-carried depence in the loop. Flow-depence in (1,3), and (1,4). Anti-depence in (1,2) and (3,4) Output-depence in (1,4) B is renamed to T in S1, S3, and S4. It removes the output-depence. A is renamed to F in S2. It removes the anti-depence. S1: B[i] = A[i] + D[i] S2: A[i] = A[i] D[i] S3: C[i] = B[i] + D[i] S4: B[i] = E[i] B[i] S1: T[i] = A[i] + D[i] S2: F[i] = A[i] D[i] S3: C[i] = T[i] + D[i] S4: B[i] = E[i] T[i] Lecture 8-1 Vector Processors 16 A. Sohn

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

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

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

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

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

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

Tomasulo s Algorithm. Tomasulo s Algorithm

Tomasulo s Algorithm. Tomasulo s Algorithm Tomasulo s Algorithm Load and store buffers Contain data and addresses, act like reservation stations Branch Prediction Top-level design: 56 Tomasulo s Algorithm Three Steps: Issue Get next instruction

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Compiler Optimisation

Compiler Optimisation Compiler Optimisation 6 Instruction Scheduling Hugh Leather IF 1.18a hleather@inf.ed.ac.uk Institute for Computing Systems Architecture School of Informatics University of Edinburgh 2018 Introduction This

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

Keywords: Adaptive filtering, LMS algorithm, Noise cancellation, VHDL Design, Signal to noise ratio (SNR), Convergence Speed.

Keywords: Adaptive filtering, LMS algorithm, Noise cancellation, VHDL Design, Signal to noise ratio (SNR), Convergence Speed. Implementation of Efficient Adaptive Noise Canceller using Least Mean Square Algorithm Mr.A.R. Bokey, Dr M.M.Khanapurkar (Electronics and Telecommunication Department, G.H.Raisoni Autonomous College, India)

More information

Digital Integrated CircuitDesign

Digital Integrated CircuitDesign Digital Integrated CircuitDesign Lecture 13 Building Blocks (Multipliers) Register Adder Shift Register Adib Abrishamifar EE Department IUST Acknowledgement This lecture note has been summarized and categorized

More information

Multi-Channel FIR Filters

Multi-Channel FIR Filters Chapter 7 Multi-Channel FIR Filters This chapter illustrates the use of the advanced Virtex -4 DSP features when implementing a widely used DSP function known as multi-channel FIR filtering. Multi-channel

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

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

Computer Arithmetic (2)

Computer Arithmetic (2) Computer Arithmetic () Arithmetic Units How do we carry out,,, in FPGA? How do we perform sin, cos, e, etc? ELEC816/ELEC61 Spring 1 Hayden Kwok-Hay So H. So, Sp1 Lecture 7 - ELEC816/61 Addition Two ve

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

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

Exam Complex Systems Design Methodology

Exam Complex Systems Design Methodology Exam Complex Systems Design Methodology Thursday, 21 January 2010 at 8.30 Prof. Dirk Stroobandt name: Some remarks Write your name on this page and write your initials on all pages you hand in. This exam

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

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

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

A new serial/parallel architecture for a low power modular multiplier*

A new serial/parallel architecture for a low power modular multiplier* A new serial/parallel architecture for a low power modular multiplier* JOHANN GROBSCIIADL Institute for Applied Information Processing and Communications (IAIK) Graz University of Technology, Inffeldgasse

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

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

Switch Mode Power Conversion Prof. L. Umanand Department of Electronics System Engineering Indian Institute of Science, Bangalore

Switch Mode Power Conversion Prof. L. Umanand Department of Electronics System Engineering Indian Institute of Science, Bangalore Switch Mode Power Conversion Prof. L. Umanand Department of Electronics System Engineering Indian Institute of Science, Bangalore Lecture - 30 Implementation on PID controller Good day to all of you. We

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

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

DAT105: Computer Architecture

DAT105: Computer Architecture Department of Computer Science & Engineering Chalmers University of Techlogy DAT05: Computer Architecture Exercise 6 (Old exam questions) By Minh Quang Do 2007-2-2 Question 4a [2006/2/22] () Loop: LD F0,0(R)

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

Sno Projects List IEEE. High - Throughput Finite Field Multipliers Using Redundant Basis For FPGA And ASIC Implementations

Sno Projects List IEEE. High - Throughput Finite Field Multipliers Using Redundant Basis For FPGA And ASIC Implementations Sno Projects List IEEE 1 High - Throughput Finite Field Multipliers Using Redundant Basis For FPGA And ASIC Implementations 2 A Generalized Algorithm And Reconfigurable Architecture For Efficient And Scalable

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

Class Project: Low power Design of Electronic Circuits (ELEC 6970) 1

Class Project: Low power Design of Electronic Circuits (ELEC 6970) 1 Power Minimization using Voltage reduction and Parallel Processing Sudheer Vemula Dept. of Electrical and Computer Engineering Auburn University, Auburn, AL. Goal of the project:- To reduce the power consumed

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

Electronics Prof D. C. Dube Department of Physics Indian Institute of Technology, Delhi

Electronics Prof D. C. Dube Department of Physics Indian Institute of Technology, Delhi Electronics Prof D. C. Dube Department of Physics Indian Institute of Technology, Delhi Module No. # 04 Feedback in Amplifiers, Feedback Configurations and Multi Stage Amplifiers Lecture No. # 03 Input

More information

CSE 260 Digital Computers: Organization and Logical Design. Midterm Solutions

CSE 260 Digital Computers: Organization and Logical Design. Midterm Solutions CSE 260 Digital Computers: Organization and Logical Design Midterm Solutions Jon Turner 2/28/2008 1. (10 points). The figure below shows a simulation of the washu-1 processor, with some items blanked out.

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

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

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

High-Speed RSA Crypto-Processor with Radix-4 4 Modular Multiplication and Chinese Remainder Theorem

High-Speed RSA Crypto-Processor with Radix-4 4 Modular Multiplication and Chinese Remainder Theorem High-Speed RSA Crypto-Processor with Radix-4 4 Modular Multiplication and Chinese Remainder Theorem Bonseok Koo 1, Dongwook Lee 1, Gwonho Ryu 1, Taejoo Chang 1 and Sangjin Lee 2 1 Nat (NSRI), Korea 2 Center

More information

Evolution of DSP Processors. Kartik Kariya EE, IIT Bombay

Evolution of DSP Processors. Kartik Kariya EE, IIT Bombay Evolution of DSP Processors Kartik Kariya EE, IIT Bombay Agenda Expected features of DSPs Brief overview of early DSPs Multi-issue DSPs Case Study: VLIW based Processor (SPXK5) for Mobile Applications

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

Chapter 3. H/w s/w interface. hardware software Vijaykumar ECE495K Lecture Notes: Chapter 3 1

Chapter 3. H/w s/w interface. hardware software Vijaykumar ECE495K Lecture Notes: Chapter 3 1 Chapter 3 hardware software H/w s/w interface Problems Algorithms Prog. Lang & Interfaces Instruction Set Architecture Microarchitecture (Organization) Circuits Devices (Transistors) Bits 29 Vijaykumar

More information

Mohd Ahmer, Mohammad Haris Bin Anwar and Amsal Subhan ijesird, Vol. I (XI) May 2015/422

Mohd Ahmer, Mohammad Haris Bin Anwar and Amsal Subhan ijesird, Vol. I (XI) May 2015/422 Implementation of CORDIC on FPGA using VHDL to compare word serial & pipelined architecture. Mohd Ahmer 1, Mohammad Haris Bin Anwar 2, Amsal Subhan 3 Lecturer 1, Lecturer 2 M.Tech. Student 3 Department

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

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

Design and Characterization of 16 Bit Multiplier Accumulator Based on Radix-2 Modified Booth Algorithm

Design and Characterization of 16 Bit Multiplier Accumulator Based on Radix-2 Modified Booth Algorithm Design and Characterization of 16 Bit Multiplier Accumulator Based on Radix-2 Modified Booth Algorithm Vijay Dhar Maurya 1, Imran Ullah Khan 2 1 M.Tech Scholar, 2 Associate Professor (J), Department of

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

Vector Arithmetic Logic Unit Amit Kumar Dutta JIS College of Engineering, Kalyani, WB, India

Vector Arithmetic Logic Unit Amit Kumar Dutta JIS College of Engineering, Kalyani, WB, India Vol. 2 Issue 2, December -23, pp: (75-8), Available online at: www.erpublications.com Vector Arithmetic Logic Unit Amit Kumar Dutta JIS College of Engineering, Kalyani, WB, India Abstract: Real time operation

More information

High-Performance Pipelined Architecture of Elliptic Curve Scalar Multiplication Over GF(2 m )

High-Performance Pipelined Architecture of Elliptic Curve Scalar Multiplication Over GF(2 m ) High-Performance Pipelined Architecture of Elliptic Curve Scalar Multiplication Over GF(2 m ) Abstract: This paper proposes an efficient pipelined architecture of elliptic curve scalar multiplication (ECSM)

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

Computer Architecture and Organization: L08: Design Control Lines

Computer Architecture and Organization: L08: Design Control Lines Computer Architecture and Organization: L08: Design Control Lines By: A. H. Abdul Hafez Abdul.hafez@hku.edu.tr, ah.abdulhafez@gmail.com, hafez@research.iiit.ac.in 1 CAO, by Dr. A.H. Abdul Hafez, CE Dept.

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

[Krishna, 2(9): September, 2013] ISSN: Impact Factor: INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY

[Krishna, 2(9): September, 2013] ISSN: Impact Factor: INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY Design of Wallace Tree Multiplier using Compressors K.Gopi Krishna *1, B.Santhosh 2, V.Sridhar 3 gopikoleti@gmail.com Abstract

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

Relocatable Fleet Code

Relocatable Fleet Code Relocatable Fleet Code Amir Kamil Computer Science Division, University of California, Berkeley kamil@cs.berkeley.edu UCB-AK8 October, 28 1 Introduction In this memo, I discuss the hardware requirements

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

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

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

Lecture 3, Handouts Page 1. Introduction. EECE 353: Digital Systems Design Lecture 3: Digital Design Flows, Simulation Techniques.

Lecture 3, Handouts Page 1. Introduction. EECE 353: Digital Systems Design Lecture 3: Digital Design Flows, Simulation Techniques. Introduction EECE 353: Digital Systems Design Lecture 3: Digital Design Flows, Techniques Cristian Grecu grecuc@ece.ubc.ca Course web site: http://courses.ece.ubc.ca/353/ What have you learned so far?

More information

Section 1. Fundamentals of DDS Technology

Section 1. Fundamentals of DDS Technology Section 1. Fundamentals of DDS Technology Overview Direct digital synthesis (DDS) is a technique for using digital data processing blocks as a means to generate a frequency- and phase-tunable output signal

More information

High Speed ECC Implementation on FPGA over GF(2 m )

High Speed ECC Implementation on FPGA over GF(2 m ) Department of Electronic and Electrical Engineering University of Sheffield Sheffield, UK Int. Conf. on Field-programmable Logic and Applications (FPL) 2-4th September, 2015 1 Overview Overview Introduction

More information

Mahendra Engineering College, Namakkal, Tamilnadu, India.

Mahendra Engineering College, Namakkal, Tamilnadu, India. Implementation of Modified Booth Algorithm for Parallel MAC Stephen 1, Ravikumar. M 2 1 PG Scholar, ME (VLSI DESIGN), 2 Assistant Professor, Department ECE Mahendra Engineering College, Namakkal, Tamilnadu,

More information

Mixed-Signal-Electronics

Mixed-Signal-Electronics 1 Mixed-Signal-Electronics PD Dr.-Ing. Stephan Henzler 2 Chapter 6 Nyquist Rate Analog-to-Digital Converters 3 Analog-to-Digital Converter Families Architecture Variant Speed Precision Counting Operation

More information

SYNTHESIS OF CYCLIC ENCODER AND DECODER FOR HIGH SPEED NETWORKS

SYNTHESIS OF CYCLIC ENCODER AND DECODER FOR HIGH SPEED NETWORKS SYNTHESIS OF CYCLIC ENCODER AND DECODER FOR HIGH SPEED NETWORKS MARIA RIZZI, MICHELE MAURANTONIO, BENIAMINO CASTAGNOLO Dipartimento di Elettrotecnica ed Elettronica, Politecnico di Bari v. E. Orabona,

More information

First Name: Last Name: Lab Cover Page. Teaching Assistant to whom you are submitting

First Name: Last Name: Lab Cover Page. Teaching Assistant to whom you are submitting Student Information First Name School of Computer Science Faculty of Engineering and Computer Science Last Name Student ID Number Lab Cover Page Please complete all (empty) fields: Course Name: DIGITAL

More information

Hardware Implementation of Automatic Control Systems using FPGAs

Hardware Implementation of Automatic Control Systems using FPGAs Hardware Implementation of Automatic Control Systems using FPGAs Lecturer PhD Eng. Ionel BOSTAN Lecturer PhD Eng. Florin-Marian BÎRLEANU Romania Disclaimer: This presentation tries to show the current

More information

CSE 370 Winter Homework 5 Solutions

CSE 370 Winter Homework 5 Solutions CSE 370 Winter 2008 Homework 5 Solutions 1) Carry Look-Ahead Adder (CLA) a) add1 b) add4 c) cla4 d) cla16 e) Gate Count: 118 gates add1 : 3 gates add4 : 4*Add1 = 12 gates cla4 : 14 gates cla16: (4*Add4)

More information

Types of Control. Programmed Non-programmed. Program Counter Hardwired

Types of Control. Programmed Non-programmed. Program Counter Hardwired Lecture #5 In this lecture we will introduce the sequential circuits. We will overview various Latches and Flip Flops (30 min) Give Sequential Circuits design concept Go over several examples as time permits

More information

IJCSIET--International Journal of Computer Science information and Engg., Technologies ISSN

IJCSIET--International Journal of Computer Science information and Engg., Technologies ISSN An efficient add multiplier operator design using modified Booth recoder 1 I.K.RAMANI, 2 V L N PHANI PONNAPALLI 2 Assistant Professor 1,2 PYDAH COLLEGE OF ENGINEERING & TECHNOLOGY, Visakhapatnam,AP, India.

More information

Computer-Aided Manufacturing

Computer-Aided Manufacturing Computer-Aided Manufacturing Third Edition Tien-Chien Chang, Richard A. Wysk, and Hsu-Pin (Ben) Wang PEARSON Prentice Hall Upper Saddle River, New Jersey 07458 Contents Chapter 1 Introduction to Manufacturing

More information

Design of Modified Shannon Based Full Adder Cell Using PTL Logic for Low Power Applications

Design of Modified Shannon Based Full Adder Cell Using PTL Logic for Low Power Applications Design of Modified Shannon Based Full Adder Cell Using PTL Logic for Low Power Applications K.Purnima #1, S.AdiLakshmi #2, M.Sahithi #3, A.Jhansi Rani #4,J.Poornima #5 #1 M.Tech student, Department of

More information

Novel Low-Overhead Operand Isolation Techniques for Low-Power Datapath Synthesis

Novel Low-Overhead Operand Isolation Techniques for Low-Power Datapath Synthesis Novel Low-Overhead Operand Isolation Techniques for Low-Power Datapath Synthesis N. Banerjee, A. Raychowdhury, S. Bhunia, H. Mahmoodi, and K. Roy School of Electrical and Computer Engineering, Purdue University,

More information

An Optimized Wallace Tree Multiplier using Parallel Prefix Han-Carlson Adder for DSP Processors

An Optimized Wallace Tree Multiplier using Parallel Prefix Han-Carlson Adder for DSP Processors An Optimized Wallace Tree Multiplier using Parallel Prefix Han-Carlson Adder for DSP Processors T.N.Priyatharshne Prof. L. Raja, M.E, (Ph.D) A. Vinodhini ME VLSI DESIGN Professor, ECE DEPT ME VLSI DESIGN

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

CUDA Threads. Terminology. How it works. Terminology. Streaming Multiprocessor (SM) A SM processes block of threads

CUDA Threads. Terminology. How it works. Terminology. Streaming Multiprocessor (SM) A SM processes block of threads Terminology CUDA Threads Bedrich Benes, Ph.D. Purdue University Department of Computer Graphics Streaming Multiprocessor (SM) A SM processes block of threads Streaming Processors (SP) also called CUDA

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

Ps3 Computing Instruction Set Definition Reduced

Ps3 Computing Instruction Set Definition Reduced Ps3 Computing Instruction Set Definition Reduced (Compare scalar processors, whose instructions operate on single data items.) that feature instructions for a form of vector processing on multiple (vectorized)

More information

Computer Architecture and Organization:

Computer Architecture and Organization: Computer Architecture and Organization: L03: Register transfer and System Bus By: A. H. Abdul Hafez Abdul.hafez@hku.edu.tr, ah.abdulhafez@gmail.com 1 CAO, by Dr. A.H. Abdul Hafez, CE Dept. HKU Outlines

More information

Design of FIR Filter Using Modified Montgomery Multiplier with Pipelining Technique

Design of FIR Filter Using Modified Montgomery Multiplier with Pipelining Technique International Journal of Engineering Research and Development e-issn: 2278-067X, p-issn: 2278-800X, www.ijerd.com Volume 10, Issue 3 (March 2014), PP.55-63 Design of FIR Filter Using Modified Montgomery

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

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

An Optimized Implementation of CSLA and CLLA for 32-bit Unsigned Multiplier Using Verilog

An Optimized Implementation of CSLA and CLLA for 32-bit Unsigned Multiplier Using Verilog An Optimized Implementation of CSLA and CLLA for 32-bit Unsigned Multiplier Using Verilog 1 P.Sanjeeva Krishna Reddy, PG Scholar in VLSI Design, 2 A.M.Guna Sekhar Assoc.Professor 1 appireddigarichaitanya@gmail.com,

More information