Computer Architecture Lecture 3 – Part 1 11th May, 2006

Slides:



Advertisements
Similar presentations
Computer Architecture Lecture 3 – Part 2 15 th May, 2006 Abhinav Agarwal Veeramani V.
Advertisements

Pipeline Exceptions & ControlCSCE430/830 Pipelining in MIPS MIPS architecture was designed to be pipelined –Simple instruction format (makes IF, ID easy)
COMP381 by M. Hamdi 1 (Recap) Pipeline Hazards. COMP381 by M. Hamdi 2 I n s t r. O r d e r add r1,r2,r3 sub r4,r1,r3 and r6,r1,r7 or r8,r1,r9 xor r10,r1,r11.
Computer Architecture Lecture 2 Abhinav Agarwal Veeramani V.
Instruction Set Issues MIPS easy –Instructions are only committed at MEM  WB transition Other architectures are more difficult –Instructions may update.
Lecture Objectives: 1)Define pipelining 2)Calculate the speedup achieved by pipelining for a given number of instructions. 3)Define how pipelining improves.
Instruction-Level Parallelism (ILP)
Computer ArchitectureFall 2007 © October 24nd, 2007 Majd F. Sakr CS-447– Computer Architecture.
CSCE 212 Quiz 9 – 3/30/11 1.What is the clock cycle time based on for single-cycle and for pipelining? 2.What two actions can be done to resolve data hazards?
King Fahd University of Petroleum and Minerals King Fahd University of Petroleum and Minerals Computer Engineering Department Computer Engineering Department.
Computer Architecture 2010 – Out-Of-Order Execution 1 Computer Architecture Out-Of-Order Execution Lihu Rappoport and Adi Yoaz.
Data Dependencies A dependency type that can cause a stall.
ENGS 116 Lecture 51 Pipelining and Hazards Vincent H. Berk September 30, 2005 Reading for today: Chapter A.1 – A.3, article: Patterson&Ditzel Reading for.
Memory/Storage Architecture Lab Computer Architecture Pipelining Basics.
Chapter 2 Summary Classification of architectures Features that are relatively independent of instruction sets “Different” Processors –DSP and media processors.
1 Appendix A Pipeline implementation Pipeline hazards, detection and forwarding Multiple-cycle operations MIPS R4000 CDA5155 Spring, 2007, Peir / University.
Pipelining Enhancing Performance. Datapath as Designed in Ch. 5 Consider execution of: lw $t1,100($t0) lw $t2,200($t0) lw $t3,300($t0) Datapath segments.
Comp Sci pipelining 1 Ch. 13 Pipelining. Comp Sci pipelining 2 Pipelining.
CMPE 421 Parallel Computer Architecture
Oct. 18, 2000Machine Organization1 Machine Organization (CS 570) Lecture 4: Pipelining * Jeremy R. Johnson Wed. Oct. 18, 2000 *This lecture was derived.
Instructor: Senior Lecturer SOE Dan Garcia CS 61C: Great Ideas in Computer Architecture Pipelining Hazards 1.
11 Pipelining Kosarev Nikolay MIPT Oct, Pipelining Implementation technique whereby multiple instructions are overlapped in execution Each pipeline.
10/11: Lecture Topics Execution cycle Introduction to pipelining
Out-of-order execution Lihu Rappoport 11/ MAMAS – Computer Architecture Out-Of-Order Execution Dr. Lihu Rappoport.
CS203 – Advanced Computer Architecture Pipelining Review.
CS2100 Computer Organization
CSCI206 - Computer Organization & Programming
Lecture 07: Pipelining Multicycle, MIPS R4000, and More
Basic Pipeline Datapath
Pipelining.
Single Clock Datapath With Control
Pipeline Implementation (4.6)
Appendix C Pipeline implementation
\course\cpeg323-08F\Topic6b-323
Pipelining.
Pipelining: Advanced ILP
CS 5513 Computer Architecture Pipelining Examples
Pipelining Multicycle, MIPS R4000, and More
Computer Architecture Lecture 3
Pipelining review.
CS 704 Advanced Computer Architecture
Computer Architecture Lecture 4 17th May, 2006
Lecture 11: Memory Data Flow Techniques
Computer Architecture
Pipelining in more detail
CSCI206 - Computer Organization & Programming
CSC 4250 Computer Architectures
CS 704 Advanced Computer Architecture
Computer Architecture
CSCI206 - Computer Organization & Programming
\course\cpeg323-05F\Topic6b-323
Pipeline control unit (highly abstracted)
Instruction Level Parallelism (ILP)
Daxia Ge Friday February 9th, 2007
Instruction Execution Cycle
Project Instruction Scheduler Assembler for DLX
Pipeline control unit (highly abstracted)
Vishwani D. Agrawal James J. Danaher Professor
CS203 – Advanced Computer Architecture
Pipelining: Basic Concepts
pipelining: data hazards Prof. Eric Rotenberg
Pipeline Control unit (highly abstracted)
Reducing pipeline hazards – three techniques
Prof. Sirer CS 316 Cornell University
Pipelining.
Guest Lecturer: Justin Hsia
CS 3853 Computer Architecture Pipelining Examples
Conceptual execution on a processor which exploits ILP
CS161 – Design and Architecture of Computer Systems
Pipelining Hazards.
Presentation transcript:

Computer Architecture Lecture 3 – Part 1 11th May, 2006 Abhinav Agarwal Veeramani V.

Quick recap – Pipelining source: http://cse.stanford.edu/class/sophomore-college/projects-00/risc/pipelining/

Quick recap – Problems Data hazards Control Hazards Structural Hazards Dependent Instructions add r1, r2, r3 store r1, 0(r4) Control Hazards Branches resolution bnz r1, label label: sub r1, r2, r3 Structural Hazards IF ID/RF EX MEM WB IF ID/RF EX MEM WB IF ID/RF EX MEM WB IF ID/RF EX MEM WB IF ID/RF EX MEM WB

Data Hazards RAW hazard – Read after Write add r1, r2, r3 store r1, 0(r4) WAW hazard – Write after Write div r1, r3, r4 … add r1, r10, r5 WAR hazard – Write after Read Generally not relevant in simple pipelines IF ID/RF EX MEM WB IF ID/RF EX MEM WB

Remedies Bypass values (Data forwarding) RAW hazards are tackled this way Not all RAW hazards can be solved by forwarding. E.g.: Load delay, What about divide? What is the solution? Static compiler techniques IF ID/RF EX MEM WB IF ID/RF EX MEM WB

Can we do better? Execute independent executions out-of-order? What do we require for this? lw r4, 0(r6) #Cache miss - Takes time addi r5, r4, 0x20 and r10, r5, r19 xor r26, r2, r7 sub r20, r26, r2 Fetch more instructions... Instructions should be commited in-order Memory instructions? Is dependency clear?

The WAW hazard Is it unavoidable? What is the reason for such hazard? Register renaming More physical registers Logical registers mapped to physical registers available when the instruction is decoded

References http://en.wikipedia.org/wiki/Hazard_(computer_architecture) http://www.csee.umbc.edu/~plusquel/611/slides/chap3_3.html