CMCS Mohamed Younis CMCS 611, Advanced Computer Architecture 1
|
|
- Clinton Golden
- 5 years ago
- Views:
Transcription
1 CMCS Advanced Compute Achitectue Lectue 6 Intoduction to Pipelining Septembe 23, Mohamed Younis CMCS 611, Advanced Compute Achitectue 1
2 Pevious Lectue: Lectue s Oveview Type and size of opeands (Famous data types, effect of opeand size on design complexity) Encoding the instuction set (Fixed, vaiable and hybid encoding, the stoe pogam concept) The ole of the compile (Compilation pocess, compile optimization, linking and loading) Effect of ISA on Compile Complexity (Regulaity, Pimitives, not solutions, Simplify tade-offs, Static binding) This Lectue: An oveview of pipelining Pipeline pefomance Pipelined hazads Mohamed Younis CMCS 611, Advanced Compute Achitectue 2
3 Sequential Laundy 6PM Midnight Time T a s k O d e A B C D Washe takes 30 min, Dye takes 40 min, folding takes 20 min Sequential laundy takes 6 hous fo 4 loads If they leaned pipelining, how long would laundy take? * Slide is coutesy of Dave Patteson Mohamed Younis CMCS 611, Advanced Compute Achitectue 3
4 Pipelined Laundy 6PM Midnight Time T a s k O d e A B C D Pipelining means stat wok as soon as possible Pipelined laundy takes 3.5 hous fo 4 loads * Slide is coutesy of Dave Patteson Mohamed Younis CMCS 611, Advanced Compute Achitectue 4
5 Pipelining Lessons T a s k O d e 6 PM Time A B C D Pipelining i doesn t help latency of single task, it helps thoughput of entie wokload Pipeline ate limited by slowest pipeline stage Multiple tasks opeating simultaneously using diffeent esouces Potential speedup = Numbe pipe stages Unbalanced lengths of pipe stages educes speedup Time to fill pipeline and time to dain it educe speedup Stall fo Dependencies * Slide is coutesy of Dave Patteson Mohamed Younis CMCS 611, Advanced Compute Achitectue 5
6 Basics of a RISC Instuction Set RISC achitectues ae chaacteized by the following featues that damatically simplifies the implementation: 1. All opeations apply only on data in egistes 2. Memoy is affected only by load and stoe opeations 3. Instuctions follow vey few fomats and typically ae of the same size All MIPS instuctions ae 32 bits, following one of thee fomats: R-type I-type J-type op s t d shamt funct 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits op s t immediate 6 bits 5 bits 5 bits 16 bits op taget t addess 6 bits 26 bits * Slide is coutesy of Dave Patteson Mohamed Younis CMCS 611, Advanced Compute Achitectue 6
7 MIPS Instuction fomat Registe-fomat instuctions: op: s: t: d: shmat: funct: op s t d shamt funct 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits Basic opeation of the instuction, taditionally called opcode The fist egiste souce opeand The second egiste souce opeand The egiste destination opeand, it gets the esult of the opeation Shift amount (explained in futue lectues) This field selects the specific vaiant of the opeation of the op field MIPS assembly language includes two conditional banching instuctions using PC -elative addessing: beq egiste1, egiste2, L1 # go to L1 if (egiste1) = (egiste2) bne egiste1, egiste2, L1 # go to L1 if (egiste1) (egiste2) Examples: add $t2, $ t1, $ t1 # Temp eg $t2 = 2 $t1 sub $t1, $s3, $s4 # Temp eg $t1 = $s3 - $s4 and $t1, $ t2, $ t3 # Temp eg $t1 = $t2. $t bne $s3, $s4, Else # if $s3 $s4 jump to Else Mohamed Younis CMCS 611, Advanced Compute Achitectue 7
8 MIPS Instuction fomat Immediate-type instuctions: op s t addess 6 bits 5 bits 5 bits 16 bits The 16-bit addess means a load wod instuction can load a wod within a egion of ± 2 15 bytes of the addess in the base egiste Examples: lw $t0, 32($s3), sw $t1, 128($s3) MIPS handle 16-bit constant efficiently by including the constant value in the addess field of an I-type instuction (Immediate-type) addi $sp, $sp, 4 #$sp = $sp + 4 Fo lage constants that need moe than 16 bits, a load uppe-immediate (lui) instuction is used to concatenate the second pat lui $t0, Contents of $t0 afte execution Mohamed Younis CMCS 611, Advanced Compute Achitectue 8
9 Addessing in Banches & Jumps I-type instuctions leaves only 16 bits fo addess efeence limiting the size of the jump MIPS banch instuctions use the addess as an incement to the PC allowing the pogam to be as lage as 2 32 (called PC-elative addessing) Since the pogam counte gets incemented pio to instuction execution, the banch addess is actually elative to (PC + 4) MIPS also suppots an J-type instuction fomat fo lage jump instuctions op addess 6 bits 26 bits The 26-bit addess in a J-type instuct. is concatenated to uppe 8 bits of PC Loop: add $t1, $s3, $s3 add $t1, $t1, $t1 add $t1, $t1, $s6 lw $t0, 0($t1) bne $t0, $s5, Exit add $s3, $s3, $s4 j Loop Exit: Mohamed Younis CMCS 611, Advanced Compute Achitectue 9
10 A Simple Implementation of MIPS Mohamed Younis CMCS 611, Advanced Compute Achitectue 10
11 Single-cycle Instuction Execution Mohamed Younis CMCS 611, Advanced Compute Achitectue 11
12 Multi-Cycle Implementation of MIPS Instuction fetch cycle (IF) IR Mem[PC]; NPC PC + 4 Instuction decode/egiste fetch cycle (ID) A Regs[IR ]; B Regs[IR ]; Imm ((IR 16 ) 16 ##IR ) Execution/effective addess cycle (EX) Memoy ef: Output A + Imm; Reg-Reg : Output A func B; Reg-Imm : Output A op Imm; Banch: Output NPC + Imm; Cond (A op 0) Memoy access/banch completion cycle (MEM) Memoy ef: LMD Mem[Output] o Mem(Output] B; Banch: if (cond) PC Output; Wite-back cycle (WB) Reg-Reg : Regs[IR ] Output; Reg-Imm : Load: Regs[IR ] Output; Regs[IR ] LMD; Mohamed Younis CMCS 611, Advanced Compute Achitectue 12
13 Multi-cycle Instuction Execution Mohamed Younis CMCS 611, Advanced Compute Achitectue 13
14 Stages of Instuction Execution Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Load Ifetch Reg/Dec Exec Mem WB The load instuction is the longest All instuctions follows at most the following five steps: Ifetch: Instuction Fetch Fetch the instuction fom the Instuction Memoy and update PC Reg/Dec: Registes Fetch and Instuction Decode Exec: Calculate the memoy addess Mem: Read the data fom the Data Memoy WB: Wite the data back to the egiste file * Slide is coutesy of Dave Patteson Mohamed Younis CMCS 611, Advanced Compute Achitectue 14
15 Instuction Pipelining Stat handling of next instuction while the cuent instuction is in pogess Pipelining is feasible when diffeent devices ae used at diffeent stages of instuction execution Time IFetch Dec Exec Mem WB IFetch Dec Exec Mem WB IFetch Dec Exec Mem WB IFetch Dec Exec Mem WB Pogam Flow IFetch Dec Exec Mem WB IFetch Dec Exec Mem WB Time between instuctions pipelined = Time between instuctions Numbe of pipe stages nonpipelined Pipelining impoves pefomance by inceasing instuction thoughput Mohamed Younis CMCS 611, Advanced Compute Achitectue 15
16 Single Cycle, Multiple Cycle, vs. Pipeline Clk Cycle 1 Cycle 2 Single Cycle Implementation: Load Stoe Waste Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 Cycle 9 Cycle 10 Clk Multiple Cycle Implementation: Load Stoe R-type Ifetch Reg Exec Mem W Ifetch Reg Exec Mem Ifetch Pipeline Implementation: Load Ifetch Reg Exec Mem W Stoe Soe Ifetch ec Reg Exec Mem W R-type Ifetch Reg Exec Mem W * Slide is coutesy of Dave Patteson Mohamed Younis CMCS 611, Advanced Compute Achitectue 16
17 Example of Instuction Pipelining Pogam execution ode Time (in instuctions) lw $1, 100($0) Instuction fetch Reg Data access Reg lw $2, 200($0) lw $3, 300($0) 8ns Time between fist & fouth instuctions is 3 8=24 ns Instuction fetch Reg 8ns Data access Reg Instuction fetch 8ns... Pogam execution Time ode (in instuctions) lw $1, 100($0) lw $2, 200($0) Instuction fetch 2 ns Reg Instuction fetch Reg Data access Reg Data access Reg Time between fist & fouth instuctions is 3 2 = 6 ns lw $3, 300($0) 2 ns Instuction fetch Reg Data access Reg 2ns 2ns 2ns 2ns 2ns Ideal and uppe bound fo speedup is numbe of stages in the pipeline Mohamed Younis CMCS 611, Advanced Compute Achitectue 17
18 Pipeline Pefomance Pipeline inceases the instuction thoughput but does not educe the execution time of the individual instuction Execution time of the individual instuction in pipeline can be slowe due: Additional pipeline contol compaed to none pipeline execution Imbalance among the diffeent pipeline stages Suppose we execute 100 instuctions: Single Cycle Machine 45 ns/cycle x 1 CPI x 100 inst = 4500 ns Multi-cycle Machine 10 ns/cycle x 4.2 CPI (due to inst mix) x 100 inst = 4200 ns Ideal 5 stages pipelined machine 10 ns/cycle x (1 CPI x 100 inst + 4 cycle dain) = 1040 ns Due to fill and dain effects of a pipeline ideal pefomance can be achieved only fo vey lage instuctions Example: a sequence of 1000 load instuctions would take 5000 cycles on a multi-cycle machine while taking 1004 on a pipeline machine speedup = 5000/ Mohamed Younis CMCS 611, Advanced Compute Achitectue 18
19 Pipeline Datapath Data Stationay Evey stage must be completed in one clock cycle to avoid stalls Values must be latched to ensue coect execution of instuctions The PC multiplexe has moved to the IF stage to pevent two instuctions fom updating the PC simultaneously (in case of banch instuction) Mohamed Younis CMCS 611, Advanced Compute Achitectue 19
20 Pipeline Stage Inteface Stage IF ID EX MEM Any Instuction IF/ID.IR MEM[PC] ; IF/ID.NPC,PC ( if ( (EX/MEM.opcode == banch) & EX/MEM.cond) {EX/MEM.Output } else { PC + 4 } ) ; ID/EX.A = Regs[IF/ID. IR ]; ID/EX.B Regs[IF/ID. IR ]; ID/EX.NPC IF/ID.NPC ; ID/EX.IR IF/ID.IR; 16 ID/EX.Imm (IF/ID. IR 16 ) 16 ## IF/ID. IR ; EX/MEM.IR = ID/EX.IR; EX/MEM. Output ID/EX. A func ID/EX. B; O EX/MEM.Output ID/EX.A op ID/EX.Imm; EX/MEM.cond 0; Load o Stoe Banch MEM/W B.IR EX/MEM.IR; MEM/W B.Output EX/MEM.Output; EX/MEM.IR ID/EX.IR; EX/MEM.Output ID/EX.A + ID/EX.Imm; Imm; EX/MEM.cond 0; EX/MEM.B ID/EX.B; MEM/W B.IR EX/MEM.IR; MEM/W B.LMD Mem[EX/MEM.Output] ; O Mem[EX/MEM.Output] EX/MEM.B ; EX/MEM.Output ID/EX.NPC + ID/EX.Imm; Imm; EX/MEM.cond (ID/EX.A op 0); WB Regs[MEM/W B. IR ] EM/W B.Output; O Regs[MEM/W B. IR ] MEM/W B.Output ; Fo load only: Reg s [MEM/W B. IR ] 15 ] MEM/W B.LMD; Mohamed Younis CMCS 611, Advanced Compute Achitectue 20
21 Pipeline Hazads Pipeline hazads ae cases that affect instuction execution semantics and thus need to be detected and coected Hazads types Stuctual hazad: attempt to use a esouce two diffeent ways at same time E.g., combined washe/dye would be a stuctual hazad o folde busy doing something else (watching TV) Single memoy fo instuction ti and data Data hazad: attempt to use item befoe it is eady E.g., one sock of pai in dye and one in washe; can t fold until get sock fom washe though dye instuction depends on esult of pio instuction still in the pipeline Contol hazad: attempt to make a decision befoe condition is evaluated E.g., washing football unifoms and need to get pope detegent level; need to see afte dye befoe next load in banch instuctions Hazads can always be esolved by waiting * Slide is coutesy of Dave Patteson Mohamed Younis CMCS 611, Advanced Compute Achitectue 21
22 Single Memoy is a Stuctual Hazad Time (clock cycles) I n s t. O d e Load Inst 1 Inst 2 Inst 3 Inst 4 Mem Reg Mem Reg Mem Reg Mem Reg Mem Reg Mem Reg Mem Reg Mem Reg AL LU Mem Reg Mem Reg Can be easily detected Resolved by inseting idle cycles * Slide is coutesy of Dave Patteson Mohamed Younis CMCS 611, Advanced Compute Achitectue 22
23 Stalls & Pipeline Pefomance Speedup fom pipelining = = Aveage instuction time unpipelined Aveage instuction time pipelined CPI unpipelined Clock cycle unpipelined CPI pipelined Clock cycle pipelined Ideally the CPI of the pipeline execution is 1 (afte fill-up), thus CPI pipelined = Ideal CPI + Pipeline stall clock pe instuction = 1 + Pipeline stall clock pe instuction CPI unpipelined Speedup = 1+ Pipelinestall cyclespe instuction Assuming all pipeline stages ae balanced, then Clock cycle unpipelined Clock cycle pipelined 1 Speedup = 1+ Pipeline stall cycles pe instuction Pipeline depth Mohamed Younis CMCS 611, Advanced Compute Achitectue 23
24 I n s t. O d e Data Hazad Time (clock cycles) IF ID/RF EX MEM WB add 1,2,3 sub 4,1,3 and 6,1,7 o 8,1,9 1 9 xo 10,1,11 Im Reg Dm Reg Im Reg Dm Reg Im Reg Dm Reg Im Reg Dm Reg Im Reg Dm Reg Dependencies backwads in time ae hazads * Slide is coutesy of Dave Patteson Mohamed Younis CMCS 611, Advanced Compute Achitectue 24
25 Data Hazad Solution I n s t. O d e Time (clock cycles) IF ID/RF EX MEM WB add 1,2,3 sub 4,1,3 and 6,1,7 o 8,1,9 xo 10,1,11 Im Reg Dm Reg Im Reg Dm Reg Im Reg Dm Reg Im Reg Dm Reg AL LU Im Reg Dm Reg Fowad esult fom one stage to anothe * Slide is coutesy of Dave Patteson Mohamed Younis CMCS 611, Advanced Compute Achitectue 25
26 Resolving Data Hazads fo Loads Time (clock cycles) lw 1,0(2) IF ID/RF EX MEM WB AL LU Im Reg Dm Reg sub 4,1,3 AL LU Im Reg Dm Reg Dependencies backwads in time ae hazads Cannot solve with fowading Must delay/stall ll instuction ti dependent d on loads * Slide is coutesy of Dave Patteson Mohamed Younis CMCS 611, Advanced Compute Achitectue 26
27 Contol Hazad Stall: wait until decision is clea Its possible to move up decision to 2 nd stage by adding hadwae to check egistes as being ead I n s t. O d e Add Beq Load Time (clock cycles) Mem Reg Mem Reg Mem Reg Mem Reg Stall Mem Reg Mem Reg Impact: 2 clock cycles pe banch instuction slow * Slide is coutesy of Dave Patteson Mohamed Younis CMCS 611, Advanced Compute Achitectue 27
28 Contol Hazad Solution Pedict: guess one diection then back up if wong I n s t. O d e Pedict not taken Add Beq Load Time (clock cycles) Mem Reg Mem Reg Mem Reg Mem Reg Mem Reg Mem Reg Impact: 1 clock cycles pe banch instuction if ight, 2 if wong (ight - 50% of time) Moe dynamic scheme: histoy of 1 banch (- 90%) * Slide is coutesy of Dave Patteson Mohamed Younis CMCS 611, Advanced Compute Achitectue 28
29 Contol Hazad Solution Redefine banch behavio (takes place afte next instuction) delayed banch I n s t. Add Time (clock cycles) Mem Reg Mem Reg O d e Beq Misc Mem Reg Mem Reg Mem Reg Mem Reg Load Mem AL LU Reg Mem Reg Impact: 0 clock cycles pe banch instuction if can find instuction to put in slot (- 50% of time) * Slide is coutesy of Dave Patteson Mohamed Younis CMCS 611, Advanced Compute Achitectue 29
30 Summay An oveview of Pipelining Conclusion Pipelining concept is natual Stat handling of next instuction while cuent one is in pogess Pipeline pefomance Pefomance impovement by inceasing instuction thoughput Ideal and uppe bound fo speedup is numbe of stages in pipeline Pipelined hazads Stuctual, data and contol hazads Hazad esolution techniques Next Lectue Data and contol Hazads Pipelined contol Reading assignment includes Appendix A.1 & A.2 in the textbook Mohamed Younis CMCS 611, Advanced Compute Achitectue 30
Introduction To Pipelining. Chapter Pipelining1 1
Intoduction To Pipelining Chapte 6.1 - Pipelining1 1 Mooe s Law Mooe s Law says that the numbe of pocessos on a chip doubles about evey 18 months. Given the data on the following two slides, is this tue?
More informationLecture 8 Introduction to Pipelines Adapated from slides by David Patterson
Lectue 8 Intoduction to Pipelines Adapated fom slides by David Patteson http://www-inst.eecs.bekeley.edu/~cs61c/ * 1 Review (1/3) Datapath is the hadwae that pefoms opeations necessay to execute pogams.
More informationComputer Science 141 Computing Hardware
Compute Science 141 Computing Hadwae Fall 2006 Havad Univesity Instucto: Pof. David Books dbooks@eecs.havad.edu [MIPS Pipeline Slides adapted fom Dave Patteson s UCB CS152 slides and May Jane Iwin s CSE331/431
More informationECE331: Hardware Organization and Design
ECE331: Hadwae Oganization and Design Lectue 16: Pipelining Adapted fom Compute Oganization and Design, Patteson & Hennessy, UCB Last time: single cycle data path op System clock affects pimaily the Pogam
More informationUCB CS61C : Machine Structures
inst.eecs.bekeley.edu/~cs61c UCB CS61C : Machine Stuctues Lectue SOE Dan Gacia Lectue 28 CPU Design : Pipelining to Impove Pefomance 2010-04-05 Stanfod Reseaches have invented a monitoing technique called
More informationCOSC 6385 Computer Architecture. - Pipelining
COSC 6385 Compute Achitectue - Pipelining Sping 2012 Some of the slides ae based on a lectue by David Culle, Pipelining Pipelining is an implementation technique wheeby multiple instuctions ae ovelapped
More informationSome 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 6 PM 7 8 9 10 11 Midnight Time 30 40 20 30 40 20
More informationCISC 662 Graduate Computer Architecture Lecture 6 - Hazards
CISC 662 Gaduate Compute Achitectue Lectue 6 - Hazads Michela Taufe http://www.cis.udel.edu/~taufe/teaching/cis662f07 Powepoint Lectue Notes fom John Hennessy and David Patteson s: Compute Achitectue,
More informationThe Processor: Improving Performance Data Hazards
The Pocesso: Impoving Pefomance Data Hazads Monday 12 Octobe 15 Many slides adapted fom: and Design, Patteson & Hennessy 5th Edition, 2014, MK and fom Pof. May Jane Iwin, PSU Summay Pevious Class Pipeline
More informationCS 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 informationChapter 4 (Part III) The Processor: Datapath and Control (Pipeline Hazards)
Chapte 4 (Pat III) The Pocesso: Datapath and Contol (Pipeline Hazads) 陳瑞奇 (J.C. Chen) 亞洲大學資訊工程學系 Adapted fom class notes by Pof. M.J. Iwin, PSU and Pof. D. Patteson, UCB 1 吃感冒藥副作用怎麼辦? http://big5.sznews.com/health/images/attachement/jpg/site3/20120319/001558d90b3310d0c1683e.jpg
More informationPipelining. Maurizio Palesi
* Pipelining * Adapted from David A. Patterson s CS252 lecture slides, http://www.cs.berkeley/~pattrsn/252s98/index.html Copyright 1998 UCB 1 References John L. Hennessy and David A. Patterson, Computer
More informationCOEN-4730 Computer Architecture Lecture 2 Review of Instruction Sets and Pipelines
1 COEN-4730 Compute Achitectue Lectue 2 Review of nstuction Sets and Pipelines Cistinel Ababei Dept. of Electical and Compute Engineeing Maquette Univesity Cedits: Slides adapted fom pesentations of Sudeep
More informationPage 1. Pipelining: Its Natural! Chapter 3. Pipelining. Pipelined Laundry Start work ASAP. Sequential Laundry A B C D. 6 PM Midnight
Pipelining: Its Natural! Chapter 3 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 informationAdministrivia. CMSC 411 Computer Systems Architecture Lecture 5. Data Hazard Even with Forwarding Figure A.9, Page A-20
Administivia CMSC 411 Compute Systems Achitectue Lectue 5 Basic Pipelining (cont.) Alan Sussman als@cs.umd.edu as@csu dedu Homewok poblems fo Unit 1 due today Homewok poblems fo Unit 3 posted soon CMSC
More informationComputer Architecture. Pipelining and Instruction Level Parallelism An Introduction. Outline of This Lecture
Compute Achitectue Pipelining and nstuction Level Paallelism An ntoduction Adapted fom COD2e by Hennessy & Patteson Slide 1 Outline of This Lectue ntoduction to the Concept of Pipelined Pocesso Pipelined
More informationLecture Topics ECE 341. Lecture # 12. Control Signals. Control Signals for Datapath. Basic Processing Unit. Pipelining
EE 341 Lectue # 12 Instucto: Zeshan hishti zeshan@ece.pdx.edu Novembe 10, 2014 Potland State Univesity asic Pocessing Unit ontol Signals Hadwied ontol Datapath contol signals Dealing with memoy delay Pipelining
More informationCPE Computer Architecture. Appendix A: Pipelining: Basic and Intermediate Concepts
CPE 110408443 Computer Architecture Appendix A: Pipelining: Basic and Intermediate Concepts Sa ed R. Abed [Computer Engineering Department, Hashemite University] Outline Basic concept of Pipelining The
More informationCENG 3420 Computer Organization and Design. Lecture 07: MIPS Processor - II. Bei Yu
CENG 3420 Compute Oganization and Design Lectue 07: MIPS Pocesso - II Bei Yu CEG3420 L07.1 Sping 2016 Review: Instuction Citical Paths q Calculate cycle time assuming negligible delays (fo muxes, contol
More informationCENG 3420 Lecture 07: Pipeline
CENG 3420 Lectue 07: Pipeline Bei Yu byu@cse.cuhk.edu.hk CENG3420 L07.1 Sping 2017 Outline q Review: Flip-Flop Contol Signals q Pipeline Motivations q Pipeline Hazads q Exceptions CENG3420 L07.2 Sping
More informationUser Visible Registers. CPU Structure and Function Ch 11. General CPU Organization (4) Control and Status Registers (5) Register Organisation (4)
PU Stuctue and Function h Geneal Oganisation Registes Instuction ycle Pipelining anch Pediction Inteupts Use Visible Registes Vaies fom one achitectue to anothe Geneal pupose egiste (GPR) ata, addess,
More informationAppendix C. Abdullah Muzahid CS 5513
Appendix C Abdullah Muzahid CS 5513 1 A "Typical" RISC ISA 32-bit fixed format instruction (3 formats) 32 32-bit GPR (R0 contains zero) Single address mode for load/store: base + displacement no indirection
More informationCS 2461: Computer Architecture 1 Program performance and High Performance Processors
Couse Objectives: Whee ae we. CS 2461: Pogam pefomance and High Pefomance Pocessos Instucto: Pof. Bhagi Naahai Bits&bytes: Logic devices HW building blocks Pocesso: ISA, datapath Using building blocks
More informationCS 61C: Great Ideas in Computer Architecture (Machine Structures) Instruc>on Level Parallelism
Agenda CS 61C: Geat Ideas in Compute Achitectue (Machine Stuctues) Instuc>on Level Paallelism Instuctos: Randy H. Katz David A. PaJeson hjp://inst.eecs.bekeley.edu/~cs61c/fa10 Review Instuc>on Set Design
More informationmywbut.com Pipelining
Pipelining 1 What Is Pipelining? Pipelining is an implementation technique whereby multiple instructions are overlapped in execution. Today, pipelining is the key implementation technique used to make
More informationCSE4201. Computer Architecture
CSE 4201 Compute Achitectue Pof. Mokhta Aboelaze Pats of these slides ae taken fom Notes by Pof. David Patteson at UCB Outline MIPS and instuction set Simple pipeline in MIPS Stuctual and data hazads Fowading
More informationLecture 05: Pipelining: Basic/ Intermediate Concepts and Implementation
Lecture 05: Pipelining: Basic/ Intermediate Concepts and Implementation CSE 564 Computer Architecture Summer 2017 Department of Computer Science and Engineering Yonghong Yan yan@oakland.edu www.secs.oakland.edu/~yan
More informationComputer Architecture. Lecture 6.1: Fundamentals of
CS3350B Computer Architecture Winter 2015 Lecture 6.1: Fundamentals of Instructional Level Parallelism Marc Moreno Maza www.csd.uwo.ca/courses/cs3350b [Adapted from lectures on Computer Organization and
More informationMIPS An ISA for Pipelining
Pipelining: Basic and Intermediate Concepts Slides by: Muhamed Mudawar CS 282 KAUST Spring 2010 Outline: MIPS An ISA for Pipelining 5 stage pipelining i Structural Hazards Data Hazards & Forwarding Branch
More informationReview from last lecture
CSE820 Gaduate Compute Achitectue Week 3 Pefomance + Pipeline Review Based on slides by David Patteson Review fom last lectue Tacking and extapolating technology pat of achitect s esponsibility Expect
More informationLecture #22 Pipelining II, Cache I
inst.eecs.bekeley.edu/~cs61c CS61C : Machine Stuctues Lectue #22 Pipelining II, Cache I Wiewold cicuits 2008-7-29 http://www.maa.og/editoial/mathgames/mathgames_05_24_04.html http://www.quinapalus.com/wi-index.html
More informationCPS104 Computer Organization and Programming Lecture 19: Pipelining. Robert Wagner
CPS104 Computer Organization and Programming Lecture 19: Pipelining Robert Wagner cps 104 Pipelining..1 RW Fall 2000 Lecture Overview A Pipelined Processor : Introduction to the concept of pipelined processor.
More informationYou Are Here! Review: Hazards. Agenda. Agenda. Review: Load / Branch Delay Slots 7/28/2011
CS 61C: Geat Ideas in Compute Achitectue (Machine Stuctues) Instuction Level Paallelism: Multiple Instuction Issue Guest Lectue: Justin Hsia Softwae Paallel Requests Assigned to compute e.g., Seach Katz
More informationComputer System. Hiroaki Kobayashi 6/16/2010. Ver /16/2010 Computer Science 1
Computer System Hiroaki Kobayashi 6/16/2010 6/16/2010 Computer Science 1 Ver. 1.1 Agenda Basic model of modern computer systems Von Neumann Model Stored-program instructions and data are stored on memory
More informationCMCS Mohamed Younis CMCS 611, Advanced Computer Architecture 1
CMCS 611-101 Advanced Computer Architecture Lecture 8 Control Hazards and Exception Handling September 30, 2009 www.csee.umbc.edu/~younis/cmsc611/cmsc611.htm Mohamed Younis CMCS 611, Advanced Computer
More informationCS 61C: Great Ideas in Computer Architecture Instruc(on Level Parallelism: Mul(ple Instruc(on Issue
CS 61C: Geat Ideas in Compute Achitectue Instuc(on Level Paallelism: Mul(ple Instuc(on Issue Instuctos: Kste Asanovic, Randy H. Katz hbp://inst.eecs.bekeley.edu/~cs61c/fa12 1 Paallel Requests Assigned
More informationCS 110 Computer Architecture. Pipelining. Guest Lecture: Shu Yin. School of Information Science and Technology SIST
CS 110 Computer Architecture Pipelining Guest Lecture: Shu Yin http://shtech.org/courses/ca/ School of Information Science and Technology SIST ShanghaiTech University Slides based on UC Berkley's CS61C
More informationLecture 3. Pipelining. Dr. Soner Onder CS 4431 Michigan Technological University 9/23/2009 1
Lecture 3 Pipelining Dr. Soner Onder CS 4431 Michigan Technological University 9/23/2009 1 A "Typical" RISC ISA 32-bit fixed format instruction (3 formats) 32 32-bit GPR (R0 contains zero, DP take pair)
More informationMIPS Pipelining. Computer Organization Architectures for Embedded Computing. Wednesday 8 October 14
MIPS Pipelining Computer Organization Architectures for Embedded Computing Wednesday 8 October 14 Many slides adapted from: Computer Organization and Design, Patterson & Hennessy 4th Edition, 2011, MK
More informationLecture 3: The Processor (Chapter 4 of textbook) Chapter 4.1
Lecture 3: The Processor (Chapter 4 of textbook) Chapter 4.1 Introduction Chapter 4.1 Chapter 4.2 Review: MIPS (RISC) Design Principles Simplicity favors regularity fixed size instructions small number
More informationLecture 7 Pipelining. Peng Liu.
Lecture 7 Pipelining Peng Liu liupeng@zju.edu.cn 1 Review: The Single Cycle Processor 2 Review: Given Datapath,RTL -> Control Instruction Inst Memory Adr Op Fun Rt
More informationOutline Marquette University
COEN-4710 Computer Hardware Lecture 4 Processor Part 2: Pipelining (Ch.4) Cristinel Ababei Department of Electrical and Computer Engineering Credits: Slides adapted primarily from presentations from Mike
More informationAppendix A. Overview
Appendix A Pipelining: Basic and Intermediate Concepts 1 Overview Basics of Pipelining Pipeline Hazards Pipeline Implementation Pipelining + Exceptions Pipeline to handle Multicycle Operations 2 1 Unpipelined
More informationThe Processor. Z. Jerry Shi Department of Computer Science and Engineering University of Connecticut. CSE3666: Introduction to Computer Architecture
The Processor Z. Jerry Shi Department of Computer Science and Engineering University of Connecticut CSE3666: Introduction to Computer Architecture Introduction CPU performance factors Instruction count
More informationModern Computer Architecture
Modern Computer Architecture Lecture2 Pipelining: Basic and Intermediate Concepts Hongbin Sun 国家集成电路人才培养基地 Xi an Jiaotong University Pipelining: Its Natural! Laundry Example Ann, Brian, Cathy, Dave each
More informationSpeeding Up DLX Computer Architecture Hadassah College Spring 2018 Speeding Up DLX Dr. Martin Land
Speeding Up DLX 1 DLX Execution Stages Version 1 Clock Cycle 1 I 1 enters Instruction Fetch (IF) Clock Cycle2 I 1 moves to Instruction Decode (ID) Instruction Fetch (IF) holds state fixed Clock Cycle3
More informationComputer and Information Sciences College / Computer Science Department Enhancing Performance with Pipelining
Computer and Information Sciences College / Computer Science Department Enhancing Performance with Pipelining Single-Cycle Design Problems Assuming fixed-period clock every instruction datapath uses one
More informationChapter 4 The Processor 1. Chapter 4A. The Processor
Chapter 4 The Processor 1 Chapter 4A The Processor Chapter 4 The Processor 2 Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware
More informationComputer Architecture
Lecture 3: Pipelining Iakovos Mavroidis Computer Science Department University of Crete 1 Previous Lecture Measurements and metrics : Performance, Cost, Dependability, Power Guidelines and principles in
More informationOverview. Appendix A. Pipelining: Its Natural! Sequential Laundry 6 PM Midnight. Pipelined Laundry: Start work ASAP
Overview Appendix A Pipelining: Basic and Intermediate Concepts Basics of Pipelining Pipeline Hazards Pipeline Implementation Pipelining + Exceptions Pipeline to handle Multicycle Operations 1 2 Unpipelined
More informationCS4617 Computer Architecture
1/47 CS4617 Computer Architecture Lectures 21 22: Pipelining Reference: Appendix C, Hennessy & Patterson Dr J Vaughan November 2013 MIPS data path implementation (unpipelined) Figure C.21 The implementation
More informationEITF20: Computer Architecture Part2.2.1: Pipeline-1
EITF20: Computer Architecture Part2.2.1: Pipeline-1 Liang Liu liang.liu@eit.lth.se 1 Outline Reiteration Pipelining Harzards Structural hazards Data hazards Control hazards Implementation issues Multi-cycle
More informationInstruction Level Parallelism. Appendix C and Chapter 3, HP5e
Instruction Level Parallelism Appendix C and Chapter 3, HP5e Outline Pipelining, Hazards Branch prediction Static and Dynamic Scheduling Speculation Compiler techniques, VLIW Limits of ILP. Implementation
More informationReview: Moore s Law. EECS 252 Graduate Computer Architecture Lecture 2. Review: Joy s Law in ManyCore world. Bell s Law new class per decade
EECS 252 Gaduate Compute Achitectue Lectue 2 ℵ 0 Review of Instuction Sets, Pipelines, and Caches Januay 26 th, 2009 Review Mooe s Law John Kubiatowicz Electical Engineeing and Compute Sciences Univesity
More informationCOSC 6385 Computer Architecture - Pipelining
COSC 6385 Computer Architecture - Pipelining Fall 2006 Some of the slides are based on a lecture by David Culler, Instruction Set Architecture Relevant features for distinguishing ISA s Internal storage
More informationEITF20: Computer Architecture Part2.2.1: Pipeline-1
EITF20: Computer Architecture Part2.2.1: Pipeline-1 Liang Liu liang.liu@eit.lth.se 1 Outline Reiteration Pipelining Harzards Structural hazards Data hazards Control hazards Implementation issues Multi-cycle
More informationPipeline Overview. Dr. Jiang Li. Adapted from the slides provided by the authors. Jiang Li, Ph.D. Department of Computer Science
Pipeline Overview Dr. Jiang Li Adapted from the slides provided by the authors Outline MIPS An ISA for Pipelining 5 stage pipelining Structural and Data Hazards Forwarding Branch Schemes Exceptions and
More informationPipelining: Basic and Intermediate Concepts
Appendix A Pipelining: Basic and Intermediate Concepts 1 Overview Basics of fpipelining i Pipeline Hazards Pipeline Implementation Pipelining + Exceptions Pipeline to handle Multicycle Operations 2 Unpipelined
More informationComputer Organization MIPS Architecture. Department of Computer Science Missouri University of Science & Technology
Computer Organization MIPS Architecture Department of Computer Science Missouri University of Science & Technology hurson@mst.edu Computer Organization Note, this unit will be covered in three lectures.
More informationFull Datapath. CSCI 402: Computer Architectures. The Processor (2) 3/21/19. Fengguang Song Department of Computer & Information Science IUPUI
CSCI 42: Computer Architectures The Processor (2) Fengguang Song Department of Computer & Information Science IUPUI Full Datapath Branch Target Instruction Fetch Immediate 4 Today s Contents We have looked
More informationEI338: Computer Systems and Engineering (Computer Architecture & Operating Systems)
EI338: Computer Systems and Engineering (Computer Architecture & Operating Systems) Chentao Wu 吴晨涛 Associate Professor Dept. of Computer Science and Engineering Shanghai Jiao Tong University SEIEE Building
More informationCS 61C: Great Ideas in Computer Architecture Pipelining and Hazards
CS 61C: Great Ideas in Computer Architecture Pipelining and Hazards Instructors: Vladimir Stojanovic and Nicholas Weaver http://inst.eecs.berkeley.edu/~cs61c/sp16 1 Pipelined Execution Representation Time
More informationCPE 335 Computer Organization. Basic MIPS Pipelining Part I
CPE 335 Computer Organization Basic MIPS Pipelining Part I Dr. Iyad Jafar Adapted from Dr. Gheith Abandah slides http://www.abandah.com/gheith/courses/cpe335_s08/index.html CPE232 Basic MIPS Pipelining
More informationLecture Topics. Announcements. Today: Single-Cycle Processors (P&H ) Next: continued. Milestone #3 (due 2/9) Milestone #4 (due 2/23)
Lecture Topics Today: Single-Cycle Processors (P&H 4.1-4.4) Next: continued 1 Announcements Milestone #3 (due 2/9) Milestone #4 (due 2/23) Exam #1 (Wednesday, 2/15) 2 1 Exam #1 Wednesday, 2/15 (3:00-4:20
More informationLecture 6: Pipelining
Lecture 6: Pipelining i CSCE 26 Computer Organization Instructor: Saraju P. ohanty, Ph. D. NOTE: The figures, text etc included in slides are borrowed from various books, websites, authors pages, and other
More informationChapter 4. The Processor
Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS implementations A simplified
More informationEITF20: Computer Architecture Part2.2.1: Pipeline-1
EITF20: Computer Architecture Part2.2.1: Pipeline-1 Liang Liu liang.liu@eit.lth.se 1 Outline Reiteration Pipelining Harzards Structural hazards Data hazards Control hazards Implementation issues Multi-cycle
More informationWhat is Pipelining? Time per instruction on unpipelined machine Number of pipe stages
What is Pipelining? Is a key implementation techniques used to make fast CPUs Is an implementation techniques whereby multiple instructions are overlapped in execution It takes advantage of parallelism
More informationCSCI 402: Computer Architectures. Fengguang Song Department of Computer & Information Science IUPUI. Today s Content
3/6/8 CSCI 42: Computer Architectures The Processor (2) Fengguang Song Department of Computer & Information Science IUPUI Today s Content We have looked at how to design a Data Path. 4.4, 4.5 We will design
More informationCO Computer Architecture and Programming Languages CAPL. Lecture 18 & 19
CO2-3224 Computer Architecture and Programming Languages CAPL Lecture 8 & 9 Dr. Kinga Lipskoch Fall 27 Single Cycle Disadvantages & Advantages Uses the clock cycle inefficiently the clock cycle must be
More informationProcessor Architecture. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
Processor Architecture Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Moore s Law Gordon Moore @ Intel (1965) 2 Computer Architecture Trends (1)
More informationCOMP2611: Computer Organization. The Pipelined Processor
COMP2611: Computer Organization The 1 2 Background 2 High-Performance Processors 3 Two techniques for designing high-performance processors by exploiting parallelism: Multiprocessing: parallelism among
More informationPipelining. Each step does a small fraction of the job All steps ideally operate concurrently
Pipelining Computational assembly line Each step does a small fraction of the job All steps ideally operate concurrently A form of vertical concurrency Stage/segment - responsible for 1 step 1 machine
More informationInstruction Pipelining
Instruction Pipelining Simplest form is a 3-stage linear pipeline New instruction fetched each clock cycle Instruction finished each clock cycle Maximal speedup = 3 achieved if and only if all pipe stages
More informationChapter 4. The Processor
Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware 4.1 Introduction We will examine two MIPS implementations
More informationDesign a MIPS Processor (2/2)
93-2Digital System Design Design a MIPS Processor (2/2) Lecturer: Chihhao Chao Advisor: Prof. An-Yeu Wu 2005/5/13 Friday ACCESS IC LABORTORY Outline v 6.1 An Overview of Pipelining v 6.2 A Pipelined Datapath
More informationInstruction Pipelining
Instruction Pipelining Simplest form is a 3-stage linear pipeline New instruction fetched each clock cycle Instruction finished each clock cycle Maximal speedup = 3 achieved if and only if all pipe stages
More informationLecture 9. Pipeline Hazards. Christos Kozyrakis Stanford University
Lecture 9 Pipeline Hazards Christos Kozyrakis Stanford University http://eeclass.stanford.edu/ee18b 1 Announcements PA-1 is due today Electronic submission Lab2 is due on Tuesday 2/13 th Quiz1 grades will
More informationPipelining! Advanced Topics on Heterogeneous System Architectures. Politecnico di Milano! Seminar DEIB! 30 November, 2017!
Advanced Topics on Heterogeneous System Architectures Pipelining! Politecnico di Milano! Seminar Room @ DEIB! 30 November, 2017! Antonio R. Miele! Marco D. Santambrogio! Politecnico di Milano! 2 Outline!
More informationECEC 355: Pipelining
ECEC 355: Pipelining November 8, 2007 What is Pipelining Pipelining is an implementation technique whereby multiple instructions are overlapped in execution. A pipeline is similar in concept to an assembly
More informationAdvanced Parallel Architecture Lessons 5 and 6. Annalisa Massini /2017
Advanced Parallel Architecture Lessons 5 and 6 Annalisa Massini - Pipelining Hennessy, Patterson Computer architecture A quantitive approach Appendix C Sections C.1, C.2 Pipelining Pipelining is an implementation
More informationCS 61C: Great Ideas in Computer Architecture Control and Pipelining
CS 6C: Great Ideas in Computer Architecture Control and Pipelining Instructors: Vladimir Stojanovic and Nicholas Weaver http://inst.eecs.berkeley.edu/~cs6c/sp6 Datapath Control Signals ExtOp: zero, sign
More informationProcessor Architecture
Processor Architecture Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu SSE2030: Introduction to Computer Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu)
More informationCOSC4201 Pipelining. Prof. Mokhtar Aboelaze York University
COSC4201 Pipelining Prof. Mokhtar Aboelaze York University 1 Instructions: Fetch Every instruction could be executed in 5 cycles, these 5 cycles are (MIPS like machine). Instruction fetch IR Mem[PC] NPC
More informationCOMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle
More informationDepartment of Computer and IT Engineering University of Kurdistan. Computer Architecture Pipelining. By: Dr. Alireza Abdollahpouri
Department of Computer and IT Engineering University of Kurdistan Computer Architecture Pipelining By: Dr. Alireza Abdollahpouri Pipelined MIPS processor Any instruction set can be implemented in many
More informationCOMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition. Chapter 4. The Processor
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor The Processor? Chapter 4 The Processor 2 Introduction We will learn How the ISA determines many aspects
More informationChapter 4. The Processor
Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS implementations A simplified
More informationCOMPUTER ORGANIZATION AND DESIGN
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle
More informationT = I x CPI x C. Both effective CPI and clock cycle C are heavily influenced by CPU design. CPI increased (3-5) bad Shorter cycle good
CPU performance equation: T = I x CPI x C Both effective CPI and clock cycle C are heavily influenced by CPU design. For single-cycle CPU: CPI = 1 good Long cycle time bad On the other hand, for multi-cycle
More informationComputer System. Agenda
Computer System Hiroaki Kobayashi 7/6/2011 Ver. 07062011 7/6/2011 Computer Science 1 Agenda Basic model of modern computer systems Von Neumann Model Stored-program instructions and data are stored on memory
More informationCOMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. 5 th. Edition. Chapter 4. The Processor
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle
More informationOutline. Pipelining basics The Basic Pipeline for DLX & MIPS Pipeline hazards. Handling exceptions Multi-cycle operations
Pipelining 1 Outline Pipelining basics The Basic Pipeline for DLX & MIPS Pipeline hazards Structural Hazards Data Hazards Control Hazards Handling exceptions Multi-cycle operations 2 Pipelining basics
More informationPipelining: Hazards Ver. Jan 14, 2014
POLITECNICO DI MILANO Parallelism in wonderland: are you ready to see how deep the rabbit hole goes? Pipelining: Hazards Ver. Jan 14, 2014 Marco D. Santambrogio: marco.santambrogio@polimi.it Simone Campanoni:
More informationEE 6900: Interconnection Networks for HPC Systems Fall 2016
EE 6900: Inteconnection Netwoks fo HPC Systems Fall 2016 Avinash Kaanth Kodi School of Electical Engineeing and Compute Science Ohio Univesity Athens, OH 45701 Email: kodi@ohio.edu 1 Acknowledgement: Inteconnection
More informationCISC 662 Graduate Computer Architecture Lecture 6 - Hazards
CISC 662 Graduate Computer Architecture Lecture 6 - Hazards Michela Taufer http://www.cis.udel.edu/~taufer/teaching/cis662f07 Powerpoint Lecture Notes from John Hennessy and David Patterson s: Computer
More informationPre-requisites. This is a textbook-based course. Chapter 1. Pipelines, Performance, Caches, and Virtual Memory. January 2009 Paul H J Kelly
332 Advanced Compute Achitectue Chapte 1 Intoduction and eview of Pipelines, Pefomance, Caches, and Vitual Januay 2009 Paul H J Kelly These lectue notes ae patly based on the couse text, Hennessy and Patteson
More informationChapter 4. Instruction Execution. Introduction. CPU Overview. Multiplexers. Chapter 4 The Processor 1. The Processor.
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor The Processor - Introduction
More informationCOMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition The Processor - Introduction
More informationLECTURE 3: THE PROCESSOR
LECTURE 3: THE PROCESSOR Abridged version of Patterson & Hennessy (2013):Ch.4 Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU
More information