Review: Computer Organization

Size: px
Start display at page:

Download "Review: Computer Organization"

Transcription

1 Review: Compter Organization Pipelining Chans Y Landry Eample Landry Eample Ann, Brian, Cathy, Dave each have one load of clothes to wash, dry, and fold Washer takes 3 mintes A B C D Dryer takes 3 mintes Folder takes 3 mintes Stasher takes 3 mintes to pt clothes into drawers 2

2 Seqential Landry 6 P A A Time B C D Seqential landry takes 8 hors for loads If they learned pipelining, how long wold landry take? 3 Faster Landry - Pipelining 2 2 A 6 P A B C D Time Faster landry takes 3.5 hors for loads! 2

3 5 Stages of IPS Step name Instrction fetch Instrction decode/register fetch Action for R-type instrctions Action for -reference Action for instrctions branches IR = emory[] = + A = Reg [IR[25-2]] B = Reg [IR[2-6]] ALUOt = + (sign-etend (IR[5-]) << 2) Action for jmps Eection, address ALUOt = A op B ALUOt = A + sign-etend if (A ==B) then = [3-28] II comptation, branch/ (IR[5-]) = ALUOt (IR[25-]<<2) jmp completion emory access or R-type Reg [IR[5-]] = Load: DR = emory[aluot] completion ALUOt or Store: emory [ALUOt] = B emory read completion Load: Reg[IR[2-6]] = DR 5 Single cycle vs. lticycle Instrction fetch Reg. read ALU operation Reg. write add Instrction fetch Reg. read ALU operation emory read Reg. write load Instrction fetch Reg. read ALU operation Reg. write add Instrction fetch Reg. read ALU operation emory read What are the advantages of mlticycle implementation? What are the disadvantages of mlticycle implementation? Reg. write load 6 3

4 lticycle vs. Pipelined Instrction fetch Reg. read ALU operation Reg. write add Instrction fetch Reg. read ALU operation emory read Reg. write load Instrction fetch Reg. read ALU operation Reg. write add Instrction fetch Reg. read ALU operation emory read Reg. write load What are the advantages of pipelined implementation? What are the disadvantages of pipelined implementation? 7 Lessons from Pipelined Landry 6 P Time A B C D Pipelining doesn t help latency of single task, it helps throghpt of entire workload Potential speedp = Nmber pipe stages Pipeline rate limited by slowest pipeline stage Unbalanced lengths of pipe stages redces speedp Time to fill pipeline and time to drain it redces speedp ltiple tasks operating simltaneosly sing different resorces any dependencies, any conflicts??? 8

5 Can pipelining get s into troble? E If any two stages se the same resorce, there mst be a conflict. s n i o t c r t s n I 2 3 E E E 5 E Time Step (Clock Cycle) 9 Hazards Hazard = when an instrction s stage is nable to eecte dring the crrent cycle. Can always resolve hazards by waiting pipeline control mst detect the hazard take action (or delay action) to resolve hazards E Instrction #2 stage 3 nable to contine. s n i o t c r t s n I 2 3 Stall E E E Time Step (Clock Cycle) 5

6 Strctral Hazards A needed fnctional nit is bsy eecting a previos instrction (Attempt to se the same resorce two different ways at the same time) Eample: Or sample IPS pipeline has none. What if + comptation sed main ALU instead of separate adder? s n i o t c r t s n I 2 3 Stall E Stall E E Time Step (Clock Cycle) Control Hazards While eecting a previos branch, net instrction address might not yet be known. (attempt to make a decision before condition is evalated) s n i o t c r t s n I Comptes branch target address. Calclates +. Performs branch test & sets to target. Conditional branch Branch target Stall Stall 2 3 E E Time Step (Clock Cycle) 2 6

7 Data Hazards Needed still being compted by previos instrction. (attempt to se item before it is ready) add $s3,$s,$s2 E sw $s,($s3) Stall E lw $s5,($s3) Stall E add $s7,$s5,$s6 Stall Stall E Time Step (Clock Cycle) 3 Pipelined Approach 2 - Cycle time, No. stages - Resorce conflict E E A B C D 3 E E 5 E

8 Resorce Conflicts (revisit) Step name Instrction fetch Instrction decode/register fetch Action for R-type instrctions Action for -reference Action for instrctions branches IR = emory[] = + A = Reg [IR[25-2]] B = Reg [IR[2-6]] ALUOt = + (sign-etend (IR[5-]) << 2) Action for jmps Eection, address ALUOt = A op B ALUOt = A + sign-etend if (A ==B) then = [3-28] II comptation, branch/ (IR[5-]) = ALUOt (IR[25-]<<2) jmp completion emory access or R-type Reg [IR[5-]] = Load: DR = emory[aluot] completion ALUOt or Store: emory [ALUOt] = B emory read completion Load: Reg[IR[2-6]] = DR ALU conflict emory conflict Register file conflict (read or write) 5 Basic Pipeline : Instrction fetch : Instrction decode/ register file read : Eecte/ address calclation E: emory access : back ress Instrction Instrction register register 2 Registers register 6 2 Sign etend 32 Shift left 2 reslt ALU Zero ALU reslt ress Data Instrctions and move generally from left to right throgh the five stages as they complete eection ecept two cases. - stage - selection 6 8

9 Basic Pipeline Step name Instrction fetch Instrction decode/register fetch Action for R-type instrctions Action for -reference Action for instrctions branches IR = emory[] = + A = Reg [IR[25-2]] B = Reg [IR[2-6]] ALUOt = + (sign-etend (IR[5-]) << 2) Action for jmps Eection, address ALUOt = A op B ALUOt = A + sign-etend if (A ==B) then = [3-28] II comptation, branch/ (IR[5-]) = ALUOt (IR[25-]<<2) jmp completion emory access or R-type Reg [IR[5-]] = Load: DR = emory[aluot] completion ALUOt or Store: emory [ALUOt] = B emory read completion Why move?? ZF is available dring stage, anyway. Why do we still need 2 ALUs at stage? (one for A-B and the other for +IR) Load: Reg[IR[2-6]] = DR 7 Pipelined Datapath / / /E E/ Shift left 2 reslt to the basic pipeline in order to actally split the path into stages. ress Instrction Instrction register register 2 Registers register 6 2 Sign etend 32 Zero ALU ALU reslt ress Data The info. mst be placed in a pipeline register; otherwise, it is lost when the net instrction enters that pipeline stage. For store instrction, (?) => / pipeline register => /E pipeline register => (?) 8 9

10 Content of Pipeline Registers Which shold be passed throgh stages? I.e., what are the contents of pipeline registers? In / pipeline register (32), Inst. (32) In / pipeline register (32), Reg. (32), Reg. 2 (32), Offset (32), Reg. no. 2 and 3 () In /E pipeline register (32), ZF (), ALUOt (32), Reg. 2 (32), Reg. no. (5) In E/ pipeline register emory (32), ALUOt (32), Reg. no. (5) 9 Eample Five instrctions go throgh the IPS pipeline: lw $, 2($) (8c2a ) sb$, $2, $3 (3 582) and$2, $, $5 (85 626) or $3, $6, $7 (c7 6827) add$, $8, $9 (9 72) $pc = 5 [ ] = $ = [ ] = $9 = 9 2

11 2 22

12 23 2 2

13

14 Five instrctions go throgh the IPS pipeline lw $, 2($) (8c2a ) sb$, $2, $3 (3 582) and$2, $, $5 (85 626) or $3, $6, $7 (c7 6827) add$, $8, $9 (9 72) Register contents emory contents $pc = 5 [ ] = $ = [ ] = $9 = 9 27 add $, $8, $9 or $3, $6, $7 and $2, $, $5 sb $, $2, $3 lw $, 2($) / / /E E/ (a) (j) (m) (b) reslt (q) (t) Shift left 2 ress Instrction (c) Instrction (d) register (k) (e) register 2 Registers (f) (l) 2 register (g) (h) 6 Sign etend 32 (n) (o) (p) Zero ALU ALU reslt (r) () ress (v) Data () (y) (g) (z) (i) (s) (w) (f) 28

15 9 Control Signals mltipleor selectors 3 write signals 2 ALU signals emto- Reg em em (Src) Instrction RegDst ALUSrc Reg Branch ALUOp ALUp R-format lw sw X X beq X X Q: In which stage is the control circit? Q2: stage eectes and and stage eectes lw Is emtoreg or? 29 Pipeline Control Generate control signals all at once at stage And passed them throgh stages jst like the Eection/ress Calclation stage control lines emory access stage control lines -back stage control lines Instrction Reg Dst ALU Op ALU Op ALU Src Branch em em Reg write em to Reg R-format lw sw X X beq X X Instrction Control / / /E E/ 3 5

16 Datapath with Control Src / /E Control E/ / ress Instrction Instrction register register 2 Registers register Reg 2 Shift left 2 reslt ALUSrc Zero ALU ALU reslt Branch em ress Data emtoreg Instrction [5 ] 6 32 Sign etend 6 ALU control em Instrction [2 6] Instrction [5 ] RegDst ALUOp 3 Graphically Representing Pipelines Time (in clock cycles) Program eection order (in instrctions) lw $, 2($) CC CC 2 CC 3 CC CC 5 CC 6 I Reg ALU D Reg sb $, $2, $3 I Reg ALU D Reg Can help with answering qestions like: how many cycles does it take to eecte this code? what is the ALU doing dring cycle? se this representation to help nderstand paths 32 6

17 Data Hazards Needed still being compted by previos instrction sb $2, $, $3 and $2, $2, $5 or $3, $6, $2 add $, $2, $2 sw $5, ($2) 33 Assme $=, $2=, $3=3 Data Hazards: Dependencies Problem with starting net instrction before first is finished dependencies that go backward in time are hazards Time (in clock cycles) Vale of register $2: Program eection order (in instrctions) sb $2, $, $3 and $2, $2, $5 CC CC 2 CC 3 CC CC 5 CC 6 I Reg I Reg CC 7 CC 8 CC 9 / Reg D Reg D and has a problem or has a problem add??? sw is OK or $3, $6, $2 I Reg D Reg add $, $2, $2 I Reg D Reg sw $5, ($2) I Reg D Reg 3 7

18 Data Hazards: Forwarding While reslt not written back ntil : sb $2,$,$3 E and $2,$2,$5 Stall Stall E It is calclated earlier in : sb $2,$,$3 E Actally available after stage (not ) and $2,$2,$5 35 E forwarding hardware to allow, e.g., s otpt (located in /E pipeline register) to be s inpt. Actally needed at stage (not ) Forwarding : All 2 Cases Time (in clock cycles) CC CC 2 CC 3 CC CC 5 CC 6 CC 7 CC 8 CC 9 Vale of register $2 : / Vale of /E : X X X 2 X X X X X Vale of E/ : X X X X 2 X X X X Program eection order (in instrctions) sb $2, $, $3 and $2, $2, $5 I Reg I Reg D Reg D Reg and has a problem -> fied or has a problem -> fied add??? -> OK sw is OK or $3, $6, $2 I Reg D Reg add $, $2, $2 I Reg D Reg sw $5, ($2) I Reg D Reg 36 8

19 Data Hazards (again) Needed still being compted by previos instrction sb $, $3, $2 and $2, $, $ or $3, $6, $ add $, $8, $9 sw $5, ($2) 37 sb $, $3, $2 / / /E E/ (a) (j) (m) (b) reslt (q) (t) Shift left 2 ress Instrction (c) Instrction (d) register (k) (e) register 2 Registers (f) (l) 2 register (g) (h) 6 Sign etend 32 (n) (o) (p) Zero ALU ALU reslt (r) () ress (v) Data () (y) (g) (z) (i) (s) (w) (f) 38 9

20 and $2, $, $ sb $, $3, $2 / / /E E/ (a) (j) (m) (b) $Rs=3 reslt (q) (t) Rs=3 Shift left 2 ress Instrction (c) Instrction (f) (g) register register 2 Registers 2 register (h) 6 Sign etend 32 (n) (o) (p) Zero ALU ALU reslt (r) () ress (v) Data () (y) (g) (z) (s) (w) (f) Rd= 39 or $3, $6, $ and $2, $, $ sb $, $3, $2 / / /E E/ (a) (j) (m) (b) ress Instrction (c) Instrction register (e) register 2 Registers (f) (l) 2 (g) register (h) $Rs=??? Rs= 6 Sign etend 32 Shift left 2 (n) (o) (p) reslt??? (q)??? Zero ALU ALU reslt (r) (t) () ress (v) Data () (y) (g) (z) (s) (w) (f) Rd=2 Rd= 2

21 or $3, $6, $ and $2, $, $ sb $, $3, $2 / / /E E/ (a) (j) (m) (b) ress Instrction (c) Instrction register (e) register 2 Registers (f) (l) 2 (g) register (h) $Rs= Rs= 6 Sign etend 32 Shift left 2 (n) (o) (p) reslt 3 (q) Zero ALU ALU reslt (r) (t) () ress (v) Data () (y) (g) (z) (s) (w) (f) Rd=2 Rd= add $, $8, $9 or $3, $6, $ and $2, $, $ sb $, $3, $2 / / /E E/ (a) (j) (m) (b) reslt (q) (t) ress Instrction (c) Instrction (d) register (k) (e) register 2 Registers (f) (l) 2 register (g) (h) 6 Sign etend 32 Shift left 2 (n) (o) (p)??? Zero ALU ALU reslt (r)??? () ress (v) Data () (y) (g) (z) (i) (s) (w) (f) 2 Rd=2 Rd= 2

22 add $, $8, $9 or $3, $6, $ and $2, $, $ sb $, $3, $2 / / /E E/ (a) (j) (m) (b) reslt (q) (t) ress Instrction (c) Instrction (d) register (k) (e) register 2 Registers (f) (l) 2 register (g) (h) 6 Sign etend 32 Shift left 2 (n) (o) (p) Zero ALU ALU reslt (r) () ress (v) Data () (y) (g) (z) (i) (s) (w) (f) 3 Rd=2 Rd= sw $5, ($2) add $, $8, $9 or $3, $6, $ and $2, $, $ sb $, $3, $2 / / /E E/ (a) (j) (m) (b) reslt (q) (t) ress Instrction (c) Instrction (d) register (k) (e) register 2 Registers (f) (l) 2 register (g) (h) 6 Sign etend 32 Shift left 2 (n) (o) (p)??? Zero ALU ALU reslt (r) () ress (v) Data ()??? (y) (g) (z) (i) (s) (w) (f) Rd= 22

23 Forwarding : Implementation / / /E E/ reslt itional path for forwarding? Shift left 2 ress Instrction Instrction register register 2 Registers 2 register Zero ALU ALU reslt ress Data 6 Sign etend 32 How to control the forwarding pth? 5 Forwarding : Implementation / / /E E/ reslt itional path for forwarding? Shift left 2 ress Instrction Instrction register register 2 Registers 2 register Zero ALU ALU reslt ress Data 6 Sign etend 32 How to control the forwarding pth? 6 23

24 Forwarding : Forwarding Unit / /E Control E/ / Instrction Instrction Registers ALU Data /.RegisterRs Rs /.RegisterRt Rt /.RegisterRt /.RegisterRd Rt Rd /E.RegisterRd Forwarding nit: 6-inpt, 2-otpt combinational circit 7 Forwarding nit E/.RegisterRd HW#, (5) Forwarding Control Control logic ForwardA = if (/E.Rd = /.Rs) <- get operand from /E if (E/.Rd = /.Rs) <- get operand from E/, otherwise <- get operand from / ForwardB = if (/E.Rd = /.Rt) <- get operand from /E if (E/.Rd = /.Rt) <- get operand from E/, otherwise <- get operand from / 8 2

25 Forwarding Control Circit ForwardA = if ((/E.Rd = /.Rs) && /E.Reg && (/E.Rd )) if ((E/.Rd = /.Rs) && E/.Reg && (E/.Rd ) && (/E.Rd /.Rs)), otherwise ForwardB = if ((/E.Rd = /.Rt) && /E.Reg && (/E.Rd )) if ((E/.Rd = /.Rt) && E/.Reg && (E/.Rd ) && (/E.Rd /.Rt))), otherwise 9 Data Hazards: All Considered??? bt it doesn t eliminate all hazards: lw $s5,($s) E add $s7,$s5,$s6 Stall E especially when we remember that access is really often mch longer than a single cycle: lw $s5,($s) E add $s7,$s5,$s6 Stall Stall Stall E 5 25

26 Data Hazards: Stalling Stall the pipeline by keeping an instrction in the same stage Program Time (in clock cycles) eection order (in instrctions) CC CC 2 CC 3 CC CC 5 CC 6 CC 7 CC 8 CC 9 CC lw $2, 2($) I Reg D Reg and $, $2, $5 I Reg Reg D Reg or $8, $2, $6 add $9, $, $2 I I Reg D Reg bbble I Reg D Reg slt $, $6, $7 I Reg D Reg lw-and lw-or At CC5, E stage is empty!!! 5 Data Hazards: Stalling Stalling detection and control Detects dring the stage when lw instrction is in stage The following two instrctions are in ( and ) and ( or ) stages, respectively If detected, Stall the following instrction (in stage, and ) so that it repeats the stage again => / pipeline register shold not be changed Stall the second instrction (in stage, or ) so that it repeats the stage again => shold not be changed 52 26

27 Data Hazards: Stalling lw Hazard detection If (/.em and ((/.Rt = /.Rs) or (/.Rt = /.Rt)) stall the pipeline Control signals generated from hazard detection nit / to prevent / register from changing to prevent from changing UX control to delay forwarding control signals (pass nll signals) 53 Stalling: Detection Unit Stall by letting an instrction that won t write anything go forward Hazard detection nit /.em / / Control /E E/ / Instrction Instrction Registers ALU Data /.RegisterRs /.RegisterRt Hazard detection nit: -inpt, 3-otpt combinational circit /.RegisterRt /.RegisterRd /.RegisterRt 5 Rt Rd Rs Rt Forwarding nit /E.RegisterRd E/.RegisterRd 27

28 Stalling: What happen in the pipleine? CC CC2 CC3 CC CC5 CC6 CC7 CC8 CC9 CC CC CC2 No stage E stage is repeated at CC7 <- /. No E stage E stage is repeated at CC7 <- No stage No at CC7, no E at CC8 E and no at CC9 <- zero control signals lw $s5,($s) E add $s7,$s5,$s6 Stall () E Stall () E E 55 E Branch (Control) Hazards While eecting a previos branch, net instrction address might not yet be known. s n i o t c r t s n I Conditional branch Branch target Calclates +. Stall 2 Comptes branch target address. Performs branch test & sets to target Stall E E Time Step (Clock Cycle) 56 28

29 Branch (Control) Hazards 57 Branch Hazards We can stall the pipeline for every branch instrction Too slow (3 instrctions) Or, contine eection down the seqential instrction stream assming that the branch will not be taken (predict branch not taken ) If the condition is not met, OK! (prediction is sccessfl) If the condition is met, (prediction is wrong) Some nwanted instrctions are in the pipeline! Need to flsh instrctions How do yo compare the above two? If branches are taken half the time, and if it costs little to discard the instrctions, the second approach halves the cost of control hazards 58 29

30 Stalling: What happen in the pipleine? A new control signal.flsh is introdced to flsh the instrction in stage It zeros the instrction field of the / pipeline register, which in fact can be decoded as sll $, $, $ In fact, nop = sll $, $, $ beq $,$2, 7 add $3,$,$5 target of beq.flsh at CC3 will do. 59 CC CC2 CC3 CC CC5 CC6 CC7 Nll () E stage eectes a nll instrction (sll $,$,$) at CC3 Nll Nll Nll () (E)() E CC5 stage eectes a nll instrction (sll $,$,$) at CC E stage eectes a nll instrction (sll $,$,$) at stage eectes a nll instrction (sll $,$,$) at CC6 Branch Hazards: Branch Delay Slots While determining net instrction address, go ahead and eecte seqentially following instrction(s). Comptes branch target address. Performs branch test & sets to target. s n i o t c r t s n I Conditional branch Branch delay Branch target E E Fetches correct target. E Time Step (Clock Cycle) 6 3

31 Branch Hazards: Branch Delay Slots Advantage: Can avoid one stall per delay slot. Disadvantages: akes assembly-langage programming more difficlt. Can be difficlt to find appropriate code for slot. Eposes implementation detail that cold change. Later implementations withot a stall mst still emlate slot. ost modern processors avoid 6 Branch Hazards: Branch Prediction Gess which instrction is net, & start eecting it. What if gess is wrong? : Flsh the pipeline Simplest gesses: Always Taken or Never Taken. When to do prediction? Static prediction: compiler Dynamic prediction: processor 62 3

32 Dynamic Branch Prediction Branch prediction bffer (branch history table) A small that is indeed by the lower portion of the address of the branch instrction and that contains one or more bits indicating whether the branch was recently taken or not. Instrction Instrction BPB Prediction (T or NT) 63 / Dynamic Branch Prediction -bit predictor T Predict taken N (Not taken) T (Taken) Predict not taken NT Prediction accracy loop times => st :?, 2 nd : correct, 3 rd : correct, beq 9 th : correct, th : incorrect => 8% accracy (Becase the first one is incorrect in the second eection of the same code.) 6 32

33 Eceptions Another form of control hazard involves eceptions. When an arithmetic overflow occrs dring eecting add $, $2, $ Transfer control to the eception rotine ( ) This is the same as eecting a branch instrction Necessary actions are Stop eecting the crrent instrction and start the eception rotine. Following instrctions already in the pipe mst be wiped ot (flsh pipeline registers). Retrn to the offending instrction. 65 Flsh Control Signals Similar to the taken-branch, we need to flsh pipeline registers. Qestion is which pipeline register(s)? Arithmetic overflow is detected at the end of stage. And ths flshing takes place at E stage (at the net cycle). Since three following instrctions are already in the pipeline (, and stages), we need to flsh those three instrctions. Therefore, we need.flsh and.flsh in addition to.flsh control signal

34 For the instrction in stage For the instrction in stage For the instrction in stage.flsh.flsh.flsh Instrction / Hazard detection nit Control Shift left 2 Registers = / 67 Case Ecept OF ALU /E Data E/ Sign Challenges etend What if more than one instrction generates eceptions? Forwarding nit While add cases an overflow eception at CC5 in, another cases an invalid opcode eception at CC5 in It is not OK to generate all flshing signals. And, how does the eception service rotine correctly identify the instrction that cases the eception? => Imprecise eception 68 3

35 Precise and Imprecise Eceptions Precise eceptions Hardware (CPU) correctly identifies the offending instrction. And makes sre all prior instrctions complete. All instrctions following it are not allowed to complete their eection and have not modified the process state Imprecise eception Hardware does not garantee it and leaves it p to the operating system to determine which instrction cased the problem. Some instrctions following the offending instrction are allowed to completed their eection and modified the process state. ost of modern CPUs spport Precise eceptions 69 35

EEC 483 Computer Organization. Branch (Control) Hazards

EEC 483 Computer Organization. Branch (Control) Hazards EEC 483 Compter Organization Section 4.8 Branch Hazards Section 4.9 Exceptions Chans Y Branch (Control) Hazards While execting a previos branch, next instrction address might not yet be known. s n i o

More information

EEC 483 Computer Organization

EEC 483 Computer Organization EEC 83 Compter Organization Chapter.6 A Pipelined path Chans Y Pipelined Approach 2 - Cycle time, No. stages - Resorce conflict E E A B C D 3 E E 5 E 2 3 5 2 6 7 8 9 c.y9@csohio.ed Resorces sed in 5 Stages

More information

Pipelining. Chapter 4

Pipelining. Chapter 4 Pipelining Chapter 4 ake processor rns faster Pipelining is an implementation techniqe in which mltiple instrctions are overlapped in eection Key of making processor fast Pipelining Single cycle path we

More information

1048: Computer Organization

1048: Computer Organization 8: Compter Organization Lectre 6 Pipelining Lectre6 - pipelining (cwli@twins.ee.nct.ed.tw) 6- Otline An overview of pipelining A pipelined path Pipelined control Data hazards and forwarding Data hazards

More information

Enhanced Performance with Pipelining

Enhanced Performance with Pipelining Chapter 6 Enhanced Performance with Pipelining Note: The slides being presented represent a mi. Some are created by ark Franklin, Washington University in St. Lois, Dept. of CSE. any are taken from the

More information

TDT4255 Friday the 21st of October. Real world examples of pipelining? How does pipelining influence instruction

TDT4255 Friday the 21st of October. Real world examples of pipelining? How does pipelining influence instruction Review Friday the 2st of October Real world eamples of pipelining? How does pipelining pp inflence instrction latency? How does pipelining inflence instrction throghpt? What are the three types of hazard

More information

What do we have so far? Multi-Cycle Datapath

What do we have so far? Multi-Cycle Datapath What do we have so far? lti-cycle Datapath CPI: R-Type = 4, Load = 5, Store 4, Branch = 3 Only one instrction being processed in datapath How to lower CPI frther? #1 Lec # 8 Spring2 4-11-2 Pipelining pipelining

More information

Chapter 6 Enhancing Performance with. Pipelining. Pipelining. Pipelined vs. Single-Cycle Instruction Execution: the Plan. Pipelining: Keep in Mind

Chapter 6 Enhancing Performance with. Pipelining. Pipelining. Pipelined vs. Single-Cycle Instruction Execution: the Plan. Pipelining: Keep in Mind Pipelining hink of sing machines in landry services Chapter 6 nhancing Performance with Pipelining 6 P 7 8 9 A ime ask A B C ot pipelined Assme 3 min. each task wash, dry, fold, store and that separate

More information

PS Midterm 2. Pipelining

PS Midterm 2. Pipelining PS idterm 2 Pipelining Seqential Landry 6 P 7 8 9 idnight Time T a s k O r d e r A B C D 3 4 2 3 4 2 3 4 2 3 4 2 Seqential landry takes 6 hors for 4 loads If they learned pipelining, how long wold landry

More information

The extra single-cycle adders

The extra single-cycle adders lticycle Datapath As an added bons, we can eliminate some of the etra hardware from the single-cycle path. We will restrict orselves to sing each fnctional nit once per cycle, jst like before. Bt since

More information

The final datapath. M u x. Add. 4 Add. Shift left 2. PCSrc. RegWrite. MemToR. MemWrite. Read data 1 I [25-21] Instruction. Read. register 1 Read.

The final datapath. M u x. Add. 4 Add. Shift left 2. PCSrc. RegWrite. MemToR. MemWrite. Read data 1 I [25-21] Instruction. Read. register 1 Read. The final path PC 4 Add Reg Shift left 2 Add PCSrc Instrction [3-] Instrction I [25-2] I [2-6] I [5 - ] register register 2 register 2 Registers ALU Zero Reslt ALUOp em Data emtor RegDst ALUSrc em I [5

More information

Chapter 6: Pipelining

Chapter 6: Pipelining CSE 322 COPUTER ARCHITECTURE II Chapter 6: Pipelining Chapter 6: Pipelining Febrary 10, 2000 1 Clothes Washing CSE 322 COPUTER ARCHITECTURE II The Assembly Line Accmlate dirty clothes in hamper Place in

More information

The single-cycle design from last time

The single-cycle design from last time lticycle path Last time we saw a single-cycle path and control nit for or simple IPS-based instrction set. A mlticycle processor fies some shortcomings in the single-cycle CPU. Faster instrctions are not

More information

Review Multicycle: What is Happening. Controlling The Multicycle Design

Review Multicycle: What is Happening. Controlling The Multicycle Design Review lticycle: What is Happening Reslt Zero Op SrcA SrcB Registers Reg Address emory em Data Sign etend Shift left Sorce A B Ot [-6] [5-] [-6] [5-] [5-] Instrction emory IR RegDst emtoreg IorD em em

More information

PIPELINING. Pipelining: Natural Phenomenon. Pipelining. Pipelining Lessons

PIPELINING. Pipelining: Natural Phenomenon. Pipelining. Pipelining Lessons Pipelining: Natral Phenomenon Landry Eample: nn, rian, Cathy, Dave each have one load of clothes to wash, dry, and fold Washer takes 30 mintes C D Dryer takes 0 mintes PIPELINING Folder takes 20 mintes

More information

The multicycle datapath. Lecture 10 (Wed 10/15/2008) Finite-state machine for the control unit. Implementing the FSM

The multicycle datapath. Lecture 10 (Wed 10/15/2008) Finite-state machine for the control unit. Implementing the FSM Lectre (Wed /5/28) Lab # Hardware De Fri Oct 7 HW #2 IPS programming, de Wed Oct 22 idterm Fri Oct 2 IorD The mlticycle path SrcA Today s objectives: icroprogramming Etending the mlti-cycle path lti-cycle

More information

Chapter 6: Pipelining

Chapter 6: Pipelining Chapter 6: Pipelining Otline An overview of pipelining A pipelined path Pipelined control Data hazards and forwarding Data hazards and stalls Branch hazards Eceptions Sperscalar and dynamic pipelining

More information

Chapter 3 & Appendix C Pipelining Part A: Basic and Intermediate Concepts

Chapter 3 & Appendix C Pipelining Part A: Basic and Intermediate Concepts CS359: Compter Architectre Chapter 3 & Appendi C Pipelining Part A: Basic and Intermediate Concepts Yanyan Shen Department of Compter Science and Engineering Shanghai Jiao Tong University 1 Otline Introdction

More information

Computer Architecture Chapter 5. Fall 2005 Department of Computer Science Kent State University

Computer Architecture Chapter 5. Fall 2005 Department of Computer Science Kent State University Compter Architectre Chapter 5 Fall 25 Department of Compter Science Kent State University The Processor: Datapath & Control Or implementation of the MIPS is simplified memory-reference instrctions: lw,

More information

CS 251, Winter 2018, Assignment % of course mark

CS 251, Winter 2018, Assignment % of course mark CS 25, Winter 28, Assignment 4.. 3% of corse mark De Wednesday, arch 7th, 4:3P Lates accepted ntil Thrsday arch 8th, am with a 5% penalty. (6 points) In the diagram below, the mlticycle compter from the

More information

Overview of Pipelining

Overview of Pipelining EEC 58 Compter Architectre Pipelining Department of Electrical Engineering and Compter Science Cleveland State University Fndamental Principles Overview of Pipelining Pipelined Design otivation: Increase

More information

EEC 483 Computer Organization

EEC 483 Computer Organization EEC 483 Compter Organization Chapter 4.4 A Simple Implementation Scheme Chans Y The Big Pictre The Five Classic Components of a Compter Processor Control emory Inpt path Otpt path & Control 2 path and

More information

Exceptions and interrupts

Exceptions and interrupts Eceptions and interrpts An eception or interrpt is an nepected event that reqires the CPU to pase or stop the crrent program. Eception handling is the hardware analog of error handling in software. Classes

More information

CS 251, Winter 2019, Assignment % of course mark

CS 251, Winter 2019, Assignment % of course mark CS 25, Winter 29, Assignment.. 3% of corse mark De Wednesday, arch 3th, 5:3P Lates accepted ntil Thrsday arch th, pm with a 5% penalty. (7 points) In the diagram below, the mlticycle compter from the corse

More information

Comp 303 Computer Architecture A Pipelined Datapath Control. Lecture 13

Comp 303 Computer Architecture A Pipelined Datapath Control. Lecture 13 Comp 33 Compter Architectre A Pipelined path Lectre 3 Pipelined path with Signals PCSrc IF/ ID ID/ EX EX / E E / Add PC 4 Address Instrction emory RegWr ra rb rw Registers bsw [5-] [2-6] [5-] bsa bsb Sign

More information

PART I: Adding Instructions to the Datapath. (2 nd Edition):

PART I: Adding Instructions to the Datapath. (2 nd Edition): EE57 Instrctor: G. Pvvada ===================================================================== Homework #5b De: check on the blackboard =====================================================================

More information

Review. A single-cycle MIPS processor

Review. A single-cycle MIPS processor Review If three instrctions have opcodes, 7 and 5 are they all of the same type? If we were to add an instrction to IPS of the form OD $t, $t2, $t3, which performs $t = $t2 OD $t3, what wold be its opcode?

More information

Solutions for Chapter 6 Exercises

Solutions for Chapter 6 Exercises Soltions for Chapter 6 Eercises Soltions for Chapter 6 Eercises 6. 6.2 a. Shortening the ALU operation will not affect the speedp obtained from pipelining. It wold not affect the clock cycle. b. If the

More information

1048: Computer Organization

1048: Computer Organization 48: Compter Organization Lectre 5 Datapath and Control Lectre5B - mlticycle implementation (cwli@twins.ee.nct.ed.tw) 5B- Recap: A Single-Cycle Processor PCSrc 4 Add Shift left 2 Add ALU reslt PC address

More information

1048: Computer Organization

1048: Computer Organization 48: Compter Organization Lectre 5 Datapath and Control Lectre5A - simple implementation (cwli@twins.ee.nct.ed.tw) 5A- Introdction In this lectre, we will try to implement simplified IPS which contain emory

More information

CS 251, Spring 2018, Assignment 3.0 3% of course mark

CS 251, Spring 2018, Assignment 3.0 3% of course mark CS 25, Spring 28, Assignment 3. 3% of corse mark De onday, Jne 25th, 5:3 P. (5 points) Consider the single-cycle compter shown on page 6 of this assignment. Sppose the circit elements take the following

More information

Instruction fetch. MemRead. IRWrite ALUSrcB = 01. ALUOp = 00. PCWrite. PCSource = 00. ALUSrcB = 00. R-type completion

Instruction fetch. MemRead. IRWrite ALUSrcB = 01. ALUOp = 00. PCWrite. PCSource = 00. ALUSrcB = 00. R-type completion . (Chapter 5) Fill in the vales for SrcA, SrcB, IorD, Dst and emto to complete the Finite State achine for the mlti-cycle datapath shown below. emory address comptation 2 SrcA = SrcB = Op = fetch em SrcA

More information

Quiz #1 EEC 483, Spring 2019

Quiz #1 EEC 483, Spring 2019 Qiz # EEC 483, Spring 29 Date: Jan 22 Name: Eercise #: Translate the following instrction in C into IPS code. Eercise #2: Translate the following instrction in C into IPS code. Hint: operand C is stored

More information

EXAMINATIONS 2010 END OF YEAR NWEN 242 COMPUTER ORGANIZATION

EXAMINATIONS 2010 END OF YEAR NWEN 242 COMPUTER ORGANIZATION EXAINATIONS 2010 END OF YEAR COPUTER ORGANIZATION Time Allowed: 3 Hors (180 mintes) Instrctions: Answer all qestions. ake sre yor answers are clear and to the point. Calclators and paper foreign langage

More information

Lecture 7. Building A Simple Processor

Lecture 7. Building A Simple Processor Lectre 7 Bilding A Simple Processor Christos Kozyrakis Stanford University http://eeclass.stanford.ed/ee8b C. Kozyrakis EE8b Lectre 7 Annoncements Upcoming deadlines Lab is de today Demo by 5pm, report

More information

CSE Introduction to Computer Architecture Chapter 5 The Processor: Datapath & Control

CSE Introduction to Computer Architecture Chapter 5 The Processor: Datapath & Control CSE-45432 Introdction to Compter Architectre Chapter 5 The Processor: Datapath & Control Dr. Izadi Data Processor Register # PC Address Registers ALU memory Register # Register # Address Data memory Data

More information

Lecture 10: Pipelined Implementations

Lecture 10: Pipelined Implementations U 8-7 S 9 L- 8-7 Lectre : Pipelined Implementations James. Hoe ept of EE, U Febrary 23, 29 nnoncements: Project is de this week idterm graded, d reslts posted Handots: H9 Homework 3 (on lackboard) Graded

More information

CS 251, Winter 2018, Assignment % of course mark

CS 251, Winter 2018, Assignment % of course mark CS 25, Winter 28, Assignment 3.. 3% of corse mark De onday, Febrary 26th, 4:3 P Lates accepted ntil : A, Febrary 27th with a 5% penalty. IEEE 754 Floating Point ( points): (a) (4 points) Complete the following

More information

Hardware Design Tips. Outline

Hardware Design Tips. Outline Hardware Design Tips EE 36 University of Hawaii EE 36 Fall 23 University of Hawaii Otline Verilog: some sbleties Simlators Test Benching Implementing the IPS Actally a simplified 6 bit version EE 36 Fall

More information

EXAMINATIONS 2003 END-YEAR COMP 203. Computer Organisation

EXAMINATIONS 2003 END-YEAR COMP 203. Computer Organisation EXAINATIONS 2003 COP203 END-YEAR Compter Organisation Time Allowed: 3 Hors (180 mintes) Instrctions: Answer all qestions. There are 180 possible marks on the eam. Calclators and foreign langage dictionaries

More information

Prof. Kozyrakis. 1. (10 points) Consider the following fragment of Java code:

Prof. Kozyrakis. 1. (10 points) Consider the following fragment of Java code: EE8 Winter 25 Homework #2 Soltions De Thrsday, Feb 2, 5 P. ( points) Consider the following fragment of Java code: for (i=; i

More information

Computer Architecture

Computer Architecture Compter Architectre Lectre 4: Intro to icroarchitectre: Single- Cycle Dr. Ahmed Sallam Sez Canal University Spring 25 Based on original slides by Prof. Onr tl Review Compter Architectre Today and Basics

More information

Computer Architecture. Lecture 6: Pipelining

Computer Architecture. Lecture 6: Pipelining Compter Architectre Lectre 6: Pipelining Dr. Ahmed Sallam Based on original slides by Prof. Onr tl Agenda for Today & Net Few Lectres Single-cycle icroarchitectres lti-cycle and icroprogrammed icroarchitectres

More information

4.13 Advanced Topic: An Introduction to Digital Design Using a Hardware Design Language 345.e1

4.13 Advanced Topic: An Introduction to Digital Design Using a Hardware Design Language 345.e1 .3 Advanced Topic: An Introdction to Digital Design Using a Hardware Design Langage 35.e.3 Advanced Topic: An Introdction to Digital Design Using a Hardware Design Langage to Describe and odel a Pipeline

More information

Computer Architecture

Computer Architecture Compter Architectre Lectre 4: Intro to icroarchitectre: Single- Cycle Dr. Ahmed Sallam Sez Canal University Based on original slides by Prof. Onr tl Review Compter Architectre Today and Basics (Lectres

More information

Pipelined Datapath. Reading. Sections Practice Problems: 1, 3, 8, 12 (2) Lecture notes from MKP, H. H. Lee and S.

Pipelined Datapath. Reading. Sections Practice Problems: 1, 3, 8, 12 (2) Lecture notes from MKP, H. H. Lee and S. Pipelined Datapath Lecture notes from KP, H. H. Lee and S. Yalamanchili Sections 4.5 4. Practice Problems:, 3, 8, 2 ing (2) Pipeline Performance Assume time for stages is ps for register read or write

More information

CS 110 Computer Architecture. Pipelining. Guest Lecture: Shu Yin. School of Information Science and Technology SIST

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

Outline Marquette University

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

Lecture 6: Microprogrammed Multi Cycle Implementation. James C. Hoe Department of ECE Carnegie Mellon University

Lecture 6: Microprogrammed Multi Cycle Implementation. James C. Hoe Department of ECE Carnegie Mellon University 8 447 Lectre 6: icroprogrammed lti Cycle Implementation James C. Hoe Department of ECE Carnegie ellon University 8 447 S8 L06 S, James C. Hoe, CU/ECE/CALC, 208 Yor goal today Hosekeeping nderstand why

More information

Lecture 9: Microcontrolled Multi-Cycle Implementations

Lecture 9: Microcontrolled Multi-Cycle Implementations 8-447 Lectre 9: icroled lti-cycle Implementations James C. Hoe Dept of ECE, CU Febrary 8, 29 S 9 L9- Annoncements: P&H Appendi D Get started t on Lab Handots: Handot #8: Project (on Blackboard) Single-Cycle

More information

Computer Architecture. Lecture 6.1: Fundamentals of

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

Instruction Pipelining is the use of pipelining to allow more than one instruction to be in some stage of execution at the same time.

Instruction Pipelining is the use of pipelining to allow more than one instruction to be in some stage of execution at the same time. Pipelining Pipelining is the se of pipelining to allow more than one instrction to be in some stage of eection at the same time. Ferranti ATLAS (963): Pipelining redced the average time per instrction

More information

Review. How to represent real numbers

Review. How to represent real numbers PCWrite PC IorD Review ALUSrcA emread Address Write data emory emwrite em Data IRWrite [3-26] [25-2] [2-6] [5-] [5-] RegDst Read register Read register 2 Write register Write data RegWrite Read data Read

More information

Chapter 3 & Appendix C Pipelining Part A: Basic and Intermediate Concepts

Chapter 3 & Appendix C Pipelining Part A: Basic and Intermediate Concepts CS359: Computer Architecture Chapter 3 & Appendix C Pipelining Part A: Basic and Intermediate Concepts Yanyan Shen Department of Computer Science and Engineering Shanghai Jiao Tong University Parallel

More information

Chapter 4 (Part II) Sequential Laundry

Chapter 4 (Part II) Sequential Laundry Chapter 4 (Part II) The Processor Baback Izadi Division of Engineering Programs bai@engr.newpaltz.edu Sequential Laundry 6 P 7 8 9 10 11 12 1 2 A T a s k O r d e r A B C D 30 30 30 30 30 30 30 30 30 30

More information

Animating the Datapath. Animating the Datapath: R-type Instruction. Animating the Datapath: Load Instruction. MIPS Datapath I: Single-Cycle

Animating the Datapath. Animating the Datapath: R-type Instruction. Animating the Datapath: Load Instruction. MIPS Datapath I: Single-Cycle nimating the atapath PS atapath : Single-Cycle npt is either (-type) or sign-etended lower half of instrction (load/store) op offset/immediate W egister File 6 6 + from instrction path beq,, offset if

More information

Pipelined Datapath. Reading. Sections Practice Problems: 1, 3, 8, 12

Pipelined Datapath. Reading. Sections Practice Problems: 1, 3, 8, 12 Pipelined Datapath Lecture notes from KP, H. H. Lee and S. Yalamanchili Sections 4.5 4. Practice Problems:, 3, 8, 2 ing Note: Appendices A-E in the hardcopy text correspond to chapters 7- in the online

More information

Processor Design CSCE Instructor: Saraju P. Mohanty, Ph. D. NOTE: The figures, text etc included in slides are borrowed

Processor Design CSCE Instructor: Saraju P. Mohanty, Ph. D. NOTE: The figures, text etc included in slides are borrowed Lecture 3: General Purpose Processor Design CSCE 665 Advanced VLSI Systems Instructor: Saraju P. ohanty, Ph. D. NOTE: The figures, tet etc included in slides are borrowed from various books, websites,

More information

CSSE232 Computer Architecture I. Mul5cycle Datapath

CSSE232 Computer Architecture I. Mul5cycle Datapath CSSE232 Compter Architectre I Ml5cycle Datapath Class Stats Next 3 days : Ml5cycle datapath ing Ml5cycle datapath is not in the book! How long do instrc5ons take? ALU 2ns Mem 2ns Reg File 1ns Everything

More information

CPS104 Computer Organization and Programming Lecture 19: Pipelining. Robert Wagner

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

Lecture 6: Pipelining

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

Lab 8 (All Sections) Prelab: ALU and ALU Control

Lab 8 (All Sections) Prelab: ALU and ALU Control Lab 8 (All Sections) Prelab: and Control Name: Sign the following statement: On my honor, as an Aggie, I have neither given nor received nathorized aid on this academic work Objective In this lab yo will

More information

Chapter Six. Dataı access. Reg. Instructionı. fetch. Dataı. Reg. access. Dataı. Reg. access. Dataı. Instructionı fetch. 2 ns 2 ns 2 ns 2 ns 2 ns

Chapter Six. Dataı access. Reg. Instructionı. fetch. Dataı. Reg. access. Dataı. Reg. access. Dataı. Instructionı fetch. 2 ns 2 ns 2 ns 2 ns 2 ns Chapter Si Pipelining Improve perfomance by increasing instruction throughput eecutionı Time lw $, ($) 2 6 8 2 6 8 access lw $2, 2($) 8 ns access lw $3, 3($) eecutionı Time lw $, ($) lw $2, 2($) 2 ns 8

More information

Pipelining. Maurizio Palesi

Pipelining. 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 information

Design of the MIPS Processor

Design of the MIPS Processor Design of the MIPS Processor We will study the design of a simple version of MIPS that can support the following instructions: I-type instructions LW, SW R-type instructions, like ADD, SUB Conditional

More information

CSE 141 Computer Architecture Summer Session I, Lectures 10 Advanced Topics, Memory Hierarchy and Cache. Pramod V. Argade

CSE 141 Computer Architecture Summer Session I, Lectures 10 Advanced Topics, Memory Hierarchy and Cache. Pramod V. Argade CSE 141 Compter Architectre Smmer Session I, 2004 Lectres 10 Advanced Topics, emory Hierarchy and Cache Pramod V. Argade CSE141: Introdction to Compter Architectre Instrctor: TA: Pramod V. Argade (p2argade@cs.csd.ed)

More information

4.13. An Introduction to Digital Design Using a Hardware Design Language to Describe and Model a Pipeline and More Pipelining Illustrations

4.13. An Introduction to Digital Design Using a Hardware Design Language to Describe and Model a Pipeline and More Pipelining Illustrations .3 An Introdction to Digital Design Using a Hardware Design Langage to Describe and odel a Pipeline and ore Pipelining Illstrations This online section covers hardware description langages and then gives

More information

Winter 2013 MIDTERM TEST #2 Wednesday, March 20 7:00pm to 8:15pm. Please do not write your U of C ID number on this cover page.

Winter 2013 MIDTERM TEST #2 Wednesday, March 20 7:00pm to 8:15pm. Please do not write your U of C ID number on this cover page. page of 7 University of Calgary Departent of Electrical and Copter Engineering ENCM 369: Copter Organization Lectre Instrctors: Steve Noran and Nor Bartley Winter 23 MIDTERM TEST #2 Wednesday, March 2

More information

ECE232: Hardware Organization and Design

ECE232: Hardware Organization and Design ECE232: Harware Organization an Design ectre 11: Introction to IPs path apte from Compter Organization an Design, Patterson & Hennessy, CB IPS-lite processor Compter Want to bil a processor for a sbset

More information

Improve performance by increasing instruction throughput

Improve performance by increasing instruction throughput Improve performance by increasing instruction throughput Program execution order Time (in instructions) lw $1, 100($0) fetch 2 4 6 8 10 12 14 16 18 ALU Data access lw $2, 200($0) 8ns fetch ALU Data access

More information

Full Datapath. CSCI 402: Computer Architectures. The Processor (2) 3/21/19. Fengguang Song Department of Computer & Information Science IUPUI

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

What do we have so far? Multi-Cycle Datapath (Textbook Version)

What do we have so far? Multi-Cycle Datapath (Textbook Version) What do we have so far? ulti-cycle Datapath (Textbook Version) CPI: R-Type = 4, Load = 5, Store 4, Branch = 3 Only one instruction being processed in datapath How to lower CPI further? #1 Lec # 8 Summer2001

More information

Lecture 3: The Processor (Chapter 4 of textbook) Chapter 4.1

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

Pipelining Analogy. Pipelined laundry: overlapping execution. Parallelism improves performance. Four loads: Non-stop: Speedup = 8/3.5 = 2.3.

Pipelining Analogy. Pipelined laundry: overlapping execution. Parallelism improves performance. Four loads: Non-stop: Speedup = 8/3.5 = 2.3. Pipelining Analogy Pipelined laundry: overlapping execution Parallelism improves performance Four loads: Speedup = 8/3.5 = 2.3 Non-stop: Speedup =2n/05n+15 2n/0.5n 1.5 4 = number of stages 4.5 An Overview

More information

EE 457 Unit 6a. Basic Pipelining Techniques

EE 457 Unit 6a. Basic Pipelining Techniques EE 47 Unit 6a Basic Pipelining Techniques 2 Pipelining Introduction Consider a drink bottling plant Filling the bottle = 3 sec. Placing the cap = 3 sec. Labeling = 3 sec. Would you want Machine = Does

More information

CS 61C: Great Ideas in Computer Architecture Control and Pipelining

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

SI232 Set #20: Laundry, Co-dependency, and other Hazards of Modern (Architecture) Life. Chapter 6 ADMIN. Reading for Chapter 6: 6.1,

SI232 Set #20: Laundry, Co-dependency, and other Hazards of Modern (Architecture) Life. Chapter 6 ADMIN. Reading for Chapter 6: 6.1, SI232 Set #20: Laundry, Co-dependency, and other Hazards of Modern (Architecture) Life Chapter 6 ADMIN ing for Chapter 6: 6., 6.9-6.2 2 Midnight Laundry Task order A 6 PM 7 8 9 0 2 2 AM B C D 3 Smarty

More information

CSCI 402: Computer Architectures. Fengguang Song Department of Computer & Information Science IUPUI. Today s Content

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

CSE 141 Computer Architecture Spring Lectures 11 Exceptions and Introduction to Pipelining. Announcements

CSE 141 Computer Architecture Spring Lectures 11 Exceptions and Introduction to Pipelining. Announcements CSE 4 Computer Architecture Spring 25 Lectures Exceptions and Introduction to Pipelining May 4, 25 Announcements Reading Assignment Sections 5.6, 5.9 The Processor Datapath and Control Section 6., Enhancing

More information

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

Design of the MIPS Processor (contd)

Design of the MIPS Processor (contd) Design of the MIPS Processor (contd) First, revisit the datapath for add, sub, lw, sw. We will augment it to accommodate the beq and j instructions. Execution of branch instructions beq $at, $zero, L add

More information

Pipeline: Introduction

Pipeline: Introduction Pipeline: Introduction These slides are derived from: CSCE430/830 Computer Architecture course by Prof. Hong Jiang and Dave Patterson UCB Some figures and tables have been derived from : Computer System

More information

comp 180 Lecture 25 Outline of Lecture The ALU Control Operation & Design The Datapath Control Operation & Design HKUST 1 Computer Science

comp 180 Lecture 25 Outline of Lecture The ALU Control Operation & Design The Datapath Control Operation & Design HKUST 1 Computer Science Outline of Lecture The Control Operation & Design The Datapath Control Operation & Design HKST 1 Computer Science Control After the design of partial single IPS datapath, we need to add the control unit

More information

MIPS Architecture. Fibonacci (C) Fibonacci (Assembly) Another Example: MIPS. Example: subset of MIPS processor architecture

MIPS Architecture. Fibonacci (C) Fibonacci (Assembly) Another Example: MIPS. Example: subset of MIPS processor architecture Another Eample: IPS From the Harris/Weste book Based on the IPS-like processor from the Hennessy/Patterson book IPS Architectre Eample: sbset of IPS processor architectre Drawn from Patterson & Hennessy

More information

Page 1. Pipelining: Its Natural! Chapter 3. Pipelining. Pipelined Laundry Start work ASAP. Sequential Laundry A B C D. 6 PM Midnight

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

CPE 335 Computer Organization. Basic MIPS Architecture Part I

CPE 335 Computer Organization. Basic MIPS Architecture Part I CPE 335 Computer Organization Basic MIPS Architecture Part I Dr. Iyad Jafar Adapted from Dr. Gheith Abandah slides http://www.abandah.com/gheith/courses/cpe335_s8/index.html CPE232 Basic MIPS Architecture

More information

CS/COE0447: Computer Organization

CS/COE0447: Computer Organization CS/COE0447: Computer Organization and Assembly Language Datapath and Control Sangyeun Cho Dept. of Computer Science A simple MIPS We will design a simple MIPS processor that supports a small instruction

More information

CS/COE0447: Computer Organization

CS/COE0447: Computer Organization A simple MIPS CS/COE447: Computer Organization and Assembly Language Datapath and Control Sangyeun Cho Dept. of Computer Science We will design a simple MIPS processor that supports a small instruction

More information

COMPUTER ORGANIZATION AND DESIGN

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

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor

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

Working on the Pipeline

Working on the Pipeline Computer Science 6C Spring 27 Working on the Pipeline Datapath Control Signals Computer Science 6C Spring 27 MemWr: write memory MemtoReg: ALU; Mem RegDst: rt ; rd RegWr: write register 4 PC Ext Imm6 Adder

More information

Lecture 5: The Processor

Lecture 5: The Processor Lecture 5: The Processor 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

More information

Lecture 13: Exceptions and Interrupts

Lecture 13: Exceptions and Interrupts 18 447 Lectre 13: Eceptions and Interrpts S 10 L13 1 James C. Hoe Dept of ECE, CU arch 1, 2010 Annoncements: Handots: Spring break is almost here Check grades on Blackboard idterm 1 graded Handot #9: Lab

More information

Lecture 8: Data Hazard and Resolution. James C. Hoe Department of ECE Carnegie Mellon University

Lecture 8: Data Hazard and Resolution. James C. Hoe Department of ECE Carnegie Mellon University 18 447 Lecture 8: Data Hazard and Resolution James C. Hoe Department of ECE Carnegie ellon University 18 447 S18 L08 S1, James C. Hoe, CU/ECE/CALC, 2018 Your goal today Housekeeping detect and resolve

More information

Processor (I) - datapath & control. Hwansoo Han

Processor (I) - datapath & control. Hwansoo Han Processor (I) - datapath & control Hwansoo Han Introduction CPU performance factors Instruction count - Determined by ISA and compiler CPI and Cycle time - Determined by CPU hardware We will examine two

More information

Lecture 19 Introduction to Pipelining

Lecture 19 Introduction to Pipelining CSE 30321 Lecture 19 Pipelining (Part 1) 1 Lecture 19 Introduction to Pipelining CSE 30321 Lecture 19 Pipelining (Part 1) Basic pipelining basic := single, in-order issue single issue one instruction at

More information

Modern Computer Architecture

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

Chapter 8. Pipelining

Chapter 8. Pipelining Chapter 8. Pipelining Overview Pipelining is widely used in modern processors. Pipelining improves system performance in terms of throughput. Pipelined organization requires sophisticated compilation techniques.

More information

Computer Organization and Structure. Bing-Yu Chen National Taiwan University

Computer Organization and Structure. Bing-Yu Chen National Taiwan University Computer Organization and Structure Bing-Yu Chen National Taiwan University The Processor Logic Design Conventions Building a Datapath A Simple Implementation Scheme An Overview of Pipelining Pipelined

More information

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

T = 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 information