Pirouz Bazargan SabetDecember 2003 RISC vs. CISC concept An implementation of Mips Implementation Concept of pipeline Pipeline’s problems.

Slides:



Advertisements
Similar presentations
SE-292 High Performance Computing
Advertisements

1 Pipelining Part 2 CS Data Hazards Data hazards occur when the pipeline changes the order of read/write accesses to operands that differs from.
CMSC 611: Advanced Computer Architecture Pipelining Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted.
COMP25212 Further Pipeline Issues. Cray 1 COMP25212 Designed in 1976 Cost $8,800,000 8MB Main Memory Max performance 160 MFLOPS Weight 5.5 Tons Power.
Pipelining and Control Hazards Oct
Intro to Computer Org. Pipelining, Part 2 – Data hazards + Stalls.
Lecture Objectives: 1)Define pipelining 2)Calculate the speedup achieved by pipelining for a given number of instructions. 3)Define how pipelining improves.
ELEN 468 Advanced Logic Design
1 A few words about the quiz Closed book, but you may bring in a page of handwritten notes. –You need to know what the “core” MIPS instructions do. –I.
Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University Pipeline Hazards See: P&H Chapter 4.7.
Pipeline Hazards Hakim Weatherspoon CS 3410, Spring 2011 Computer Science Cornell University See P&H Appendix 4.7.
Pipeline Control Hazards and Instruction Variations Hakim Weatherspoon CS 3410, Spring 2011 Computer Science Cornell University See P&H Appendix 4.8 &
PZ13A Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ13A - Processor design Programming Language Design.
Pipelining III Andreas Klappenecker CPSC321 Computer Architecture.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania Computer Organization Pipelined Processor Design 1.
1  2004 Morgan Kaufmann Publishers Chapter Six. 2  2004 Morgan Kaufmann Publishers Pipelining The laundry analogy.
Pipelining Andreas Klappenecker CPSC321 Computer Architecture.
1 Chapter Six - 2nd Half Pipelined Processor Forwarding, Hazards, Branching EE3055 Web:
L18 – Pipeline Issues 1 Comp 411 – Spring /03/08 CPU Pipelining Issues Finishing up Chapter 6 This pipe stuff makes my head hurt! What have you.
Computer ArchitectureFall 2007 © October 24nd, 2007 Majd F. Sakr CS-447– Computer Architecture.
L17 – Pipeline Issues 1 Comp 411 – Fall /1308 CPU Pipelining Issues Finishing up Chapter 6 This pipe stuff makes my head hurt! What have you been.
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?
RISC. Rational Behind RISC Few of the complex instructions were used –data movement – 45% –ALU ops – 25% –branching – 30% Cheaper memory VLSI technology.
CISC and RISC L1 Prof. Sin-Min Lee Department of Mathematics and Computer Science.
COMP381 by M. Hamdi 1 (Recap) Control Hazards. COMP381 by M. Hamdi 2 Control (Branch) Hazard A: beqz r2, label B: label: P: Problem: The outcome.
Lec 9: Pipelining Kavita Bala CS 3410, Fall 2008 Computer Science Cornell University.
1 COMP 206: Computer Architecture and Implementation Montek Singh Wed, Sep 21, 2005 Topic: Pipelining -- Intermediate Concepts (Control Hazards)
1  1998 Morgan Kaufmann Publishers Chapter Six Enhancing Performance with Pipelining.
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.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 17 - Pipelined.
X86 Assembly Language Same Assembly Language for 8086,80286,80386,80486,Pentium I II and III Newer Processors add a few instructions but include all instructions.
1 Pipelining Reconsider the data path we just did Each instruction takes from 3 to 5 clock cycles However, there are parts of hardware that are idle many.
Pirouz Bazargan SabetDecember 2003 Outline Architecture of a RISC Processor Implementation.
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.
Instruction Level Parallelism Pipeline with data forwarding and accelerated branch Loop Unrolling Multiple Issue -- Multiple functional Units Static vs.
CSE 340 Computer Architecture Summer 2014 Basic MIPS Pipelining Review.
CMPE 421 Parallel Computer Architecture
CS 352 : Computer Organization and Design University of Wisconsin-Eau Claire Dan Ernst Pipelining Basics.
CS 1104 Help Session IV Five Issues in Pipelining Colin Tan, S
Chapter 6 Pipelined CPU Design. Spring 2005 ELEC 5200/6200 From Patterson/Hennessey Slides Pipelined operation – laundry analogy Text Fig. 6.1.
CECS 440 Pipelining.1(c) 2014 – R. W. Allison [slides adapted from D. Patterson slides with additional credits to M.J. Irwin]
Winter 2002CSE Topic Branch Hazards in the Pipelined Processor.
1  1998 Morgan Kaufmann Publishers Chapter Six. 2  1998 Morgan Kaufmann Publishers Pipelining Improve perfomance by increasing instruction throughput.
Instructor: Senior Lecturer SOE Dan Garcia CS 61C: Great Ideas in Computer Architecture Pipelining Hazards 1.
Computer Organization and Design Pipelining Montek Singh Dec 2, 2015 Lecture 16 (SELF STUDY – not covered on the final exam)
LECTURE 7 Pipelining. DATAPATH AND CONTROL We started with the single-cycle implementation, in which a single instruction is executed over a single cycle.
CBP 2005Comp 3070 Computer Architecture1 Last Time … All instructions the same length We learned to program MIPS And a bit about Intel’s x86 Instructions.
Introduction to Computer Organization Pipelining.
Lecture 9. MIPS Processor Design – Pipelined Processor Design #1 Prof. Taeweon Suh Computer Science Education Korea University 2010 R&E Computer System.
PROCESSOR PIPELINING YASSER MOHAMMAD. SINGLE DATAPATH DESIGN.
L17 – Pipeline Issues 1 Comp 411 – Fall /23/09 CPU Pipelining Issues Read Chapter This pipe stuff makes my head hurt! What have you been.
CS203 – Advanced Computer Architecture Pipelining Review.
Pipelining: Implementation CPSC 252 Computer Organization Ellen Walker, Hiram College.
1 Processor design Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section 11.3.
1 What we want: execute High Level Language (HLL) programs What we have: computer hardware (a glorified calculator)
Chapter Six.
Pipelining Chapter 6.
CSCI206 - Computer Organization & Programming
ELEN 468 Advanced Logic Design
Single Clock Datapath With Control
CDA 3101 Spring 2016 Introduction to Computer Organization
Pipelining Chapter 6.
CSCI206 - Computer Organization & Programming
CSCI206 - Computer Organization & Programming
Chapter Six.
Chapter Six.
Processor design Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section 11.3.
Processor design Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section 11.3.
Problem ??: (?? marks) Consider executing the following code on the MIPS pipelined datapath: add $t5, $t6, $t8 add $t9, $t5, $t4 lw $t3, 100($t9) sub $t2,
Presentation transcript:

Pirouz Bazargan SabetDecember 2003 RISC vs. CISC concept An implementation of Mips Implementation Concept of pipeline Pipeline’s problems

Pirouz Bazargan SabetDecember 2003 Problem with branches Beq The instruction that follows a branch is always fetched from the memroy Implementation

Pirouz Bazargan SabetDecember 2003 Implementation IFC IR M IFC M IR IR (BEQ) M delayed slot instruction

Pirouz Bazargan SabetDecember 2003 Implementation Solutions : Avoid the execution of the delayed slot instruction Hardware control Let the instruction be executed Difficulties in assembly language in contradiction with the RISC concept

Pirouz Bazargan SabetDecember 2003 Implementation The delayed slot instruction is always executed The compiler has to be tuned to the processor and put an instruction after each branch smart compiler branch useful instruction basic compiler branch nop

Pirouz Bazargan SabetDecember 2003 Implementation The later the next instruction address is calculated greater number of delayed slots hard to fill branch 75% used 5% used 0% used

Pirouz Bazargan SabetDecember 2003 Implementation The problem of data dependency

Pirouz Bazargan SabetDecember 2003 time i i+1 IDEMW IDEMW Add r3, r2, r1 Add r4, r3, r5 Implementation

Pirouz Bazargan SabetDecember 2003 Implementation Solutions : Try to resolve the problem inside the hardware Hardware control Let the compiler avoid the problem Difficulties inside the compiler

Pirouz Bazargan SabetDecember 2003 Add r3, r2, r1 Add r4, r3, r5 Implementation Add r4, r3, r5 time add r3 IDEMW IDEMW IDEMW IDEMW IDEMW add r4

Pirouz Bazargan SabetDecember 2003 Implementation Let the compiler avoid the problem Add r3, r2, r1 Add r4, r3, r5 nop Low performance nop

Pirouz Bazargan SabetDecember 2003 Implementation Try to resolve the problem inside the hardware i+1 ID time i IDEMW Add r3, r2, r1 Add r4, r3, r5 D EMW DD

Pirouz Bazargan SabetDecember 2003 E Implementation Are 3 wait cycles really necessary ? Add r3, r2, r1 Add r4, r3, r5 Data usage time i IDEMW MW i+1 ID E E

Pirouz Bazargan SabetDecember 2003 Implementation Are 3 wait cycles really necessary ? time i IDEMW Add r3, r2, r1 Add r4, r3, r5 Data availability

Pirouz Bazargan SabetDecember 2003 Implementation Putting all together time IDEMW Add r3, r2, r1 Add r4, r3, r5 IDEMW

Pirouz Bazargan SabetDecember 2003 Implementation Putting all together M +4 IFC DEC EXE MEM WBK IR S T + M Add r4, r3, r5 Add r3, r2, r1 IR + +4

Pirouz Bazargan SabetDecember 2003 Implementation All the data dependencies cannot be resolved time IDEMW Lw r3, 0(r1) Add r4, r3, r5 E MW i+1 ID E i

Pirouz Bazargan SabetDecember 2003 Implementation How many data dependencies time IDEMW i i+1 i+2 i+3 i+4 IDEMW IDEMW IDEMW IDEMW

Pirouz Bazargan SabetDecember 2003 Is there any limitation to deep pipelines ? NO !2 limitations deep pipeline great number of delayed slots complex hardware control due to data dependencies Implementation