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

Size: px
Start display at page:

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

Transcription

1 Pipelined Datapath Lectre notes from KP, H. H. Lee and S. Yalamanchili Sections Practice Problems:, 3, 8, 2 Reading (2)

2 Pipeline Performance Assme time for stages is v ps for register read or write v 2ps for other stages Compare pipelined datapath with singlecycle datapath Instr Instr fetch Register read ALU op emory access Register write Total time lw 2ps ps 2ps 2ps ps 8ps sw 2ps ps 2ps 2ps 7ps R-format 2ps ps 2ps ps 6ps beq 2ps ps 2ps 5ps (3) Pipeline Performance Single-cycle (T c = 8ps) Pipelined (T c = 2ps) (4) 2

3 If all stages are balanced v i.e., all take the same time Pipeline Speedp Inter instrction gap pipelined = Inter instrction gap nonpipelined nmber of stages If not balanced, speedp is less Speedp de to increased throghpt v Latency (time for each instrction) does not decrease (5) Basic Idea All instrctions are 32-bits Few & reglar instrction formats Alignment of memory operands (6) 3

4 Pipelining What makes it easy v All instrctions are the same length v Simple instrction formats v emory operands appear only in loads and stores What makes it hard? v strctral hazards: sppose we had only one memory v control hazards: need to worry abot branch instrctions v data hazards: an instrction depends on a previos instrction What really makes it hard: v eception handling v trying to improve performance with ot-of-order eection, etc. (7) Pipeline registers Need registers between stages v To hold information prodced in previos cycle Pipeline stage eection time (8) 4

5 Graphically Representing Pipelines Time lw IF ID EX E WB add IF ID EX E WB Shading indicates the nit is being sed by the instrction Shading on the right half of the register file (ID or WB) or memory means the element is being read in that stage Shading on the left half means the element is being written in that stage (9) Graphically Representing Pipelines P r o g r a m e e c t i o n o r d e r ( i n i n s t r c t i o n s ) l w $, 2 ( $ ) T i m e ( i n c l o c k c y c l e s ) C C C C 2 C C 3 C C 4 C C 5 C C 6 I R e g A L U D R e g s b $, $ 2, $ 3 I R e g A L U D R e g Can help with answering qestions like: v how many cycles does it take to eecte this code? v what is the ALU doing dring cycle 4? v se this representation to help nderstand datapaths () 5

6 Strctral Hazard Time lw IF ID EX E WB add IF ID EX E WB sb IF ID EX E WB add IF ID EX E WB Need to separate instrction and data memory () IF for Load, Store, Pipeline stage eection time (2) 6

7 ID for Load, Store, Pipeline stage eection time (3) EX for Load Pipeline stage eection time (4) 7

8 E for Load Pipeline stage eection time (5) WB for Load Wrong register nmber (6) 8

9 Corrected Datapath for Load Pipeline stage eection time (7) EX for Store Pipeline stage eection time (8) 9

10 E for Store Pipeline stage eection time (9) WB for Store Pipeline stage eection time (2)

11 Pipelining Eample add $4, $5, $6 lw $3, 24($) add $2, $3, $4 sb $, $2, $3 lw $, 2($) Note what is happening in the register file I F / I D I D / E X E X / E E / A d d 4 A d d A d d r e s l t S h i f t l e f t 2 P C A d d r e s s m e m o r y Pipeline stage eection time r e g i s t e r r e g i s t e r 2 R e g i s t e r s r e g i s t e r [ 2 6 ] [ 5 ] 6 2 S i g n e t e n d 3 2 R e g D s t Z e r o A L U A L U r e s l t A d d r e s s D a t a m e m o r y (2) Pipelined Control (Simplified) (22)

12 Pipelined Control Eection/Address Calclation stage control lines emory access stage control lines Write-back stage control lines Instrction Reg Dst ALU Op ALU Op ALU Src Branch em Read em Write Reg write em to Reg R-format lw sw X X beq X X Control signals derived from instrction v As in single-cycle implementation Pass control signals along like data (23) Pipelined Control (24) 2

13 Datapath with Control IF: lw $, 9($) P C S r c C o n t r o l I D / E X E X / E E / I F / I D E X A d d P C 4 A d d r e s s m e m o r y r e g i s t e r r e g i s t e r 2 R e g i s t e r s r e g i s t e r R e g 2 S h i f t l e f t 2 A d d A d d r e s l t A L U S r c Z e r o A L U A L U r e s l t B r a n c h e m A d d r e s s D a t a m e m o r y e m t o R e g [ 5 ] 6 32 S i g n e t e n d 6 A L U c o n t r o l e m [ 2 6 ] [ 5 ] R e g D s t A L U O p (25) Datapath with Control IF: sb $, $2, $3 ID: lw $, 9($) P C S r c lw C o n t r o l I D / E X E X / E E / I F / I D E X A d d P C 4 A d d r e s s m e m o r y r e g i s t e r r e g i s t e r 2 R e g i s t e r s r e g i s t e r R e g 2 S h i f t l e f t 2 A d d A d d r e s l t A L U S r c Z e r o A L U A L U r e s l t B r a n c h e m A d d r e s s D a t a m e m o r y e m t o R e g 6 32 [ 5 ] S i g n e t e n d 6 A L U c o n t r o l e m [ 2 6 ] [ 5 ] R e g D s t A L U O p (26) 3

14 Datapath with Control IF: and $2, $4, $5 P C S r c ID: sb $, $2, $3 EX: lw $, 9($) I F / I D sb C o n t r o l I D / E X E X E X / E E / A d d P C 4 A d d r e s s m e m o r y r e g i s t e r r e g i s t e r 2 R e g i s t e r s r e g i s t e r R e g 2 S h i f t l e f t 2 A d d A d d r e s l t A L U S r c Z e r o A L U A L U r e s l t B r a n c h e m A d d r e s s D a t a m e m o r y e m t o R e g [ 5 ] 6 32 S i g n e t e n d 6 A L U c o n t r o l e m [ 2 6 ] [ 5 ] R e g D s t A L U O p (27) Datapath with Control IF: or $3, $6, $7 P C S r c ID: and $2, $4, $5 EX: sb $, $2, $3 E: lw $, 9($) I F / I D and C o n t r o l I D / E X E X E X / E E / A d d P C 4 A d d r e s s m e m o r y r e g i s t e r r e g i s t e r 2 R e g i s t e r s r e g i s t e r R e g 2 S h i f t l e f t 2 A d d A d d r e s l t A L U S r c Z e r o A L U A L U r e s l t B r a n c h e m A d d r e s s D a t a m e m o r y e m t o R e g 6 32 [ 5 ] S i g n e t e n d 6 A L U c o n t r o l e m [ 2 6 ] [ 5 ] R e g D s t A L U O p (28) 4

15 Datapath with Control IF: add $4, $8, $9 P C S r c ID: or $3, $6, $7 EX: and $2, $4, $5 E: sb $,.. WB: lw $, 9($) I F / I D or C o n t r o l I D / E X E X E X / E E / A d d P C 4 A d d r e s s m e m o r y r e g i s t e r r e g i s t e r 2 R e g i s t e r s r e g i s t e r R e g 2 S h i f t l e f t 2 A d d A d d r e s l t A L U S r c Z e r o A L U A L U r e s l t B r a n c h e m A d d r e s s D a t a m e m o r y e m t o R e g [ 5 ] 6 32 S i g n e t e n d 6 A L U c o n t r o l e m [ 2 6 ] [ 5 ] R e g D s t A L U O p (29) Datapath with Control IF: ID: add $4, $8, $9 EX: or $3, $6, $7 E: and $2 WB: sb $,.. P C S r c I F / I D add C o n t r o l I D / E X E X E X / E E / A d d P C 4 A d d r e s s m e m o r y r e g i s t e r r e g i s t e r 2 R e g i s t e r s r e g i s t e r R e g 2 S h i f t l e f t 2 A d d A d d r e s l t A L U S r c Z e r o A L U A L U r e s l t B r a n c h e m A d d r e s s D a t a m e m o r y e m t o R e g 6 32 [ 5 ] S i g n e t e n d 6 A L U c o n t r o l e m [ 2 6 ] [ 5 ] R e g D s t A L U O p (3) 5

16 Datapath with Control IF: ID: EX: add $4, $8, $9 E: or $3,.. WB: and $2 P C S r c I F / I D C o n t r o l I D / E X E X E X / E E / A d d P C 4 A d d r e s s m e m o r y r e g i s t e r r e g i s t e r 2 R e g i s t e r s r e g i s t e r R e g 2 S h i f t l e f t 2 A d d A d d r e s l t A L U S r c Z e r o A L U A L U r e s l t B r a n c h e m A d d r e s s D a t a m e m o r y e m t o R e g [ 5 ] 6 32 S i g n e t e n d 6 A L U c o n t r o l e m [ 2 6 ] [ 5 ] R e g D s t A L U O p (3) Datapath with Control IF: ID: EX: E: add $4,.. WB: or $3 P C S r c I F / I D C o n t r o l I D / E X E X E X / E E / A d d P C 4 A d d r e s s m e m o r y r e g i s t e r r e g i s t e r 2 R e g i s t e r s r e g i s t e r R e g 2 S h i f t l e f t 2 A d d A d d r e s l t A L U S r c Z e r o A L U A L U r e s l t B r a n c h e m A d d r e s s D a t a m e m o r y e m t o R e g 6 32 [ 5 ] S i g n e t e n d 6 A L U c o n t r o l e m [ 2 6 ] [ 5 ] R e g D s t A L U O p (32) 6

17 Datapath with Control IF: ID: EX: E: WB: add $4.. P C S r c C o n t r o l I D / E X E X / E E / I F / I D E X A d d P C 4 A d d r e s s m e m o r y r e g i s t e r r e g i s t e r 2 R e g i s t e r s r e g i s t e r R e g 2 S h i f t l e f t 2 A d d A d d r e s l t A L U S r c Z e r o A L U A L U r e s l t B r a n c h e m A d d r e s s D a t a m e m o r y e m t o R e g [ 5 ] 6 32 S i g n e t e n d 6 A L U c o n t r o l e m [ 2 6 ] [ 5 ] R e g D s t A L U O p (33) Data Hazards (4.7) An instrction depends on completion of data access by a previos instrction v add $s, $t, $t sb $t2, $s, $t3 (34) 7

18 Dependencies Problem with starting net instrction before first is finished v dependencies that go backward in time are data hazards Time (in clock cycles) Vale of register $2: Program eection order (in instrctions) sb $2, $, $3 CC CC 2 CC 3 CC 4 CC 5 CC 6 I Reg CC 7 CC 8 CC 9 / D Reg and $2, $2, $5 I Reg D Reg or $3, $6, $2 I Reg D Reg add $4, $2, $2 I Reg D Reg sw $5, ($2) I Reg D Reg (35) Have compiler garantee no hazards Where do we insert the nops? sb $2, $, $3 and $2, $2, $5 or $3, $6, $2 add $4, $2, $2 sw $5, ($2) Software Soltion Problem: this really slows s down! (36) 8

19 A Better Soltion Consider this seqence: sb $2, $,$3 and $2,$2,$5 or $3,$6,$2 add $4,$2,$2 sw $5,($2) We can resolve hazards with forwarding v How do we detect when to forward? (37) Dependencies & Forwarding Do not wait for reslts to be written to the register file find them in the pipeline! forward to ALU (38) 9

20 Forwarding IF: add $4, $8, $9 P C S r c ID: or $3, $6, $7 EX: and $6, $4, $5 E: sb $,.. WB: lw $, 9($) I F / I D or C o n t r o l I D / E X E X E X / E E / A d d P C 4 A d d r e s s m e m o r y r e g i s t e r r e g i s t e r 2 R e g i s t e r s r e g i s t e r R e g 2 S h i f t l e f t 2 A d d A d d r e s l t A L U S r c Z e r o A L U A L U r e s l t B r a n c h e m A d d r e s s D a t a m e m o r y e m t o R e g [ 5 ] 6 32 S i g n e t e n d 6 A L U c o n t r o l e m [ 2 6 ] [ 5 ] R e g D s t A L U O p (39) Forwarding (simplified) ID/EX EX/E E/WB Register File ALU Data emory UX (4) 2

21 Forwarding (from EX/E) ID/EX EX/E E/WB UX Register File ALU UX Data emory UX (4) Forwarding (from E/WB) ID/EX EX/E E/WB UX Register File ALU UX Data emory UX (42) 2

22 Forwarding (operand selection) ID/EX EX/E E/WB UX Register File ALU UX Data emory UX Forwarding Unit (43) Forwarding (operand propagation) ID/EX EX/E E/WB UX Register File ALU UX Data emory UX Rd Rt UX Rt Rs Forwarding Unit EX/E Rd E/WB Rd Combinational Logic! (44) 22

23 Detecting the Need to Forward Pass register nmbers along pipeline v e.g., ID/EX.RegisterRs = register nmber for Rs sitting in ID/EX pipeline register ALU operand register nmbers in EX stage are given by v ID/EX.RegisterRs, ID/EX.RegisterRt Data hazards when a. EX/E.RegisterRd = ID/EX.RegisterRs b. EX/E.RegisterRd = ID/EX.RegisterRt Fwd from EX/E pipeline reg 2a. E/WB.RegisterRd = ID/EX.RegisterRs 2b. E/WB.RegisterRd = ID/EX.RegisterRt Fwd from E/WB pipeline reg (45) Detecting the Need to Forward Bt only if forwarding instrction will write to a register! v EX/E.RegWrite, E/WB.RegWrite And only if Rd for that instrction is not $zero v EX/E.RegisterRd, E/WB.RegisterRd (46) 23

24 Forwarding Paths (47) Forwarding Conditions EX hazard v if (EX/E.RegWrite and (EX/E.RegisterRd ) and (EX/E.RegisterRd = ID/EX.RegisterRs)) ForwardA = v if (EX/E.RegWrite and (EX/E.RegisterRd ) and (EX/E.RegisterRd = ID/EX.RegisterRt)) ForwardB = E hazard v if (E/WB.RegWrite and (E/WB.RegisterRd ) and (E/WB.RegisterRd = ID/EX.RegisterRs)) ForwardA = v if (E/WB.RegWrite and (E/WB.RegisterRd ) and (E/WB.RegisterRd = ID/EX.RegisterRt)) ForwardB = (48) 24

25 Doble Data Hazard Consider the seqence: add $,$,$2 add $,$,$3 add $,$,$4 Both hazards occr v Want to se the most recent Revise E hazard condition v Only forward if EX hazard condition isn t tre (49) E hazard Revised Forwarding Condition v if (E/WB.RegWrite and (E/WB.RegisterRd ) and not (EX/E.RegWrite and (EX/E.RegisterRd ) and (EX/E.RegisterRd = ID/EX.RegisterRs)) and (E/WB.RegisterRd = ID/EX.RegisterRs)) ForwardA = v if (E/WB.RegWrite and (E/WB.RegisterRd ) and not (EX/E.RegWrite and (EX/E.RegisterRd ) and (EX/E.RegisterRd = ID/EX.RegisterRt)) and (E/WB.RegisterRd = ID/EX.RegisterRt)) ForwardB = v Checking precedence of EX hazard (5) 25

26 Datapath with Forwarding (5) Concrrent Eection Correct eection is abot managing dependencies v Prodcer-consmer v Strctral (sing the same hardware component) We will come across other types of dependencies later! (52) 26

27 Load-Use Data Hazard Need to stall for one cycle (53) Forwarding IF: add $4, $8, $9 P C S r c ID: or $3, $6, $7 EX: and $6, $4, $ E: lw $, ($2) WB: lw $, 9($) I F / I D or C o n t r o l I D / E X E X E X / E E / A d d P C 4 A d d r e s s m e m o r y r e g i s t e r r e g i s t e r 2 R e g i s t e r s r e g i s t e r R e g 2 S h i f t l e f t 2 A d d A d d r e s l t A L U S r c Z e r o A L U A L U r e s l t B r a n c h e m A d d r e s s D a t a m e m o r y e m t o R e g 6 32 [ 5 ] S i g n e t e n d 6 A L U c o n t r o l e m [ 2 6 ] [ 5 ] R e g D s t A L U O p (54) 27

28 Load-Use Hazard Detection Check when sing instrction is decoded in ID stage ALU operand register nmbers in ID stage are given by v IF/ID.RegisterRs, IF/ID.RegisterRt Load-se hazard when v ID/EX.emRead and ((ID/EX.RegisterRt = IF/ID.RegisterRs) or (ID/EX.RegisterRt = IF/ID.RegisterRt)) If detected, stall and insert bbble (55) Code Schedling to Avoid Stalls Reorder code to avoid se of load reslt in the net instrction C code for A = B + E; C = B + F; stall stall lw $t, ($t) lw $t2, 4($t) add $t3, $t, $t2 sw $t3, 2($t) lw $t4, 8($t) add $t5, $t, $t4 sw $t5, 6($t) 3 cycles lw $t, ($t) lw $t2, 4($t) lw $t4, 8($t) add $t3, $t, $t2 sw $t3, 2($t) add $t5, $t, $t4 sw $t5, 6($t) cycles (56) 28

29 How to Stall the Pipeline Force control vales in ID/EX register to v EX, E and WB perform a nop (no-operation) Prevent pdate of PC and IF/ID register v Using instrction is decoded again v Following instrction is fetched again v -cycle stall allows E to read data for lw o Can sbseqently forward to EX stage (57) Stall/Bbble in the Pipeline Stall inserted here (58) 29

30 Stall/Bbble in the Pipeline Or, more accrately (59) Datapath with Hazard Detection Pipeline stage eection time ALUSrc m is missing! (6) 3

31 Control Hazards (4.8) Branch instrction determines flow of control v Fetching net instrction depends on branch otcome v Pipeline cannot always fetch correct instrction o Still working on ID stage of branch In IPS pipeline v Need to compare registers and determine the branch condition (6) Branch Hazards If branch otcome determined in E Flsh these instrctions (Set control vales to ) PC (62) 3

32 Redcing Branch Delay ove hardware to determine otcome to ID stage v Target address adder v Register comparator v Add IF.Flsh signal to sqash IF/ID register Eample: branch taken 36: sb $, $4, $8 4: beq $, $3, 72 44: and $2, $2, $5 48: or $3, $2, $6 52: add $4, $4, $2 56: slt $5, $6, $ : lw $4, 5($7) (63) Eample: Branch Taken (64) 32

33 Eample: Branch Taken (65) Data Hazards for Branches If a comparison register is a destination of 2 nd or 3 rd preceding ALU instrction add $, $2, $3 IF ID EX E WB add $4, $5, $6 IF ID EX E WB IF ID EX E WB beq $, $4, target IF ID EX E WB n Can resolve sing forwarding (66) 33

34 Data Hazards for Branches If a comparison register is a destination of preceding ALU instrction or 2 nd preceding load instrction v Need stall cycle lw $, addr IF ID EX E WB add $4, $5, $6 IF ID EX E WB beq stalled IF ID beq $, $4, target ID EX E WB (67) Data Hazards for Branches If a comparison register is a destination of immediately preceding load instrction v Need 2 stall cycles lw $, addr IF ID EX E WB beq stalled IF ID beq stalled ID beq $, $, target ID EX E WB (68) 34

35 Delay Slot (IPS) Epose pipeline Load and jmp/branch entail a delay slot The instrction right after the jmp or branch is eected before the jmp/branch jal add lw fnction_a $4, $5, $6 ; eected before jmp $2, 8($4) ; eected after retrn Jmp/branch and the delay slot instrction are considered indivisible In the delay slot, the compiler needs to schedle v A sefl instrction (either before the jmp, or after the jmp w/o side effect) v otherwise a NOP (69) Branch Prediction Longer pipelines cannot readily determine branch otcome early v Stall penalty becomes nacceptable Predict otcome of branch v Only stall if prediction is wrong In IPS pipeline v Can predict branches not taken v Fetch instrction after branch, with no delay (7) 35

36 IPS with Predict Not Taken Prediction correct Prediction incorrect (7) -Bit Predictor: Shortcoming Inner loop branches mispredicted twice! oter: inner: beq,, inner beq,, oter n n ispredict as taken on last iteration of inner loop Then mispredict as not taken on first iteration of inner loop net time arond (72) 36

37 2-Bit Predictor: State achine Only change prediction on two sccessive mispredictions (73) ore-realistic Branch Prediction Static branch prediction v Based on typical branch behavior v Eample: loop and if-statement branches o Predict backward branches taken o Predict forward branches not taken Dynamic branch prediction v Hardware measres actal branch behavior o e.g., record recent history of each branch v Assme ftre behavior will contine the trend o When wrong, stall while re-fetching, and pdate history (74) 37

38 AD Bobcat ECE 6 Later in this corse ECE 6 Instrction Level Parallelism (ILP) Later in this corse (75) Intel Sandy Bridge bdti.com (76) 38

39 Eceptions and Interrpts (4.9) Unepected events reqiring change in flow of control v Different ISAs se the terms differently Eception v Arises within the CPU o e.g., ndefined opcode, overflow, syscall, Interrpt v From an eternal I/O controller Dealing with them withot sacrificing performance is hard (77) Handling Eceptions In IPS, eceptions managed by a System Control Coprocessor (CP) Save PC of offending (or interrpted) instrction v In IPS: Eception Program Conter (EPC) Save indication of the problem v In IPS: Case register v We ll assme -bit o for ndefined opcode, for overflow Jmp to handler at 88 (78) 39

40 An Alternate echanism Vectored Interrpts v Handler address determined by the case Eample: v Undefined opcode: C v Overflow: C 2 v : C 4 Instrctions either v Deal with the interrpt, or v Jmp to real handler (79) Handler Actions Read case, and transfer to relevant handler Determine action reqired If restartable v Take corrective action v se EPC to retrn to program Otherwise v Terminate program v Report error sing EPC, case, (8) 4

41 Another form of control hazard Eceptions in a Pipeline Consider overflow on add in EX stage add $, $2, $ v Prevent $ from being clobbered v Complete previos instrctions v Flsh add and sbseqent instrctions v Set Case and EPC register vales v Transfer control to handler Similar to mispredicted branch v Use mch of the same hardware (8) Pipeline with Eceptions (82) 4

42 Eception Properties Restartable eceptions v Pipeline can flsh the instrction v Handler eectes, then retrns to the instrction o Re-fetched and eected from scratch PC saved in EPC register v Identifies casing instrction v Actally PC + 4 is saved o Handler mst adjst (83) Eception Eample Eception on add in 4 sb $, $2, $4 44 and $2, $2, $5 48 or $3, $2, $6 4C add $, $2, $ 5 slt $5, $6, $7 54 lw $6, 5($7) Handler 88 sw $25, ($) 884 sw $26, 4($) (84) 42

43 Eception Eample (85) Eception Eample (86) 43

44 ltiple Eceptions Pipelining overlaps mltiple instrctions v Cold have mltiple eceptions at once Simple approach: deal with eception from earliest instrction v Flsh sbseqent instrctions v Precise eceptions In comple pipelines v ltiple instrctions issed per cycle v Ot-of-order completion v aintaining precise eceptions is difficlt! (87) Imprecise Eceptions Jst stop pipeline and save state v Inclding eception case(s) Let the handler work ot v Which instrction(s) had eceptions v Which to complete or flsh o ay reqire manal completion Simplifies hardware, bt more comple handler software Not feasible for comple mltiple-isse ot-of-order pipelines (88) 44

45 Performance How do we assess the impact of stall cycles? How close do we approach the ideal of one instrction per cycle eection time? Back to the CPI model! (89) Recall: Program Eection time Nmber of instrction classes # n & EectionTime = % C i CPI ( i= i cycle_time $ % '( ~= Instrction_cont * CPI avg * clock_cycle_time algorithms/compiler architectre technology Clock Cycles CPI avg = Instrction Cont = n i= " CPI i Instrction Cont % i $ ' # Instrction Cont & Relative freqency (9) 45

46 Assessing Performance Ideal CPI is increased by dependencies Performance impact on CPI can be assessed by compting the impact on a per instrction basis Increase in CPI = Base CPI + Probability_of_event * penalty_for_event v For eample, an event may be a branch misprediction or the occrrence of a data hazard v The probability is compted for the occrrence of the event on an instrction Eamples: pipelined processors (9) Instrction-Level Parallelism (ILP)(4.) Pipelining: eecting mltiple instrctions in parallel To increase ILP v Deeper pipeline o Less work per stage shorter clock cycle v ltiple isse o Replicate pipeline stages mltiple pipelines o Start mltiple instrctions per clock cycle o CPI <, so se Instrctions Per Cycle (IPC) o E.g., 4GHz 4-way mltiple-isse n 6 BIPS, peak CPI =.25, peak IPC = 4 o Bt dependencies redce this in practice (92) 46

47 ltiple Isse Static mltiple isse v Compiler grops instrctions to be issed together v Packages them into isse slots v Compiler detects and avoids hazards Dynamic mltiple isse v CPU eamines instrction stream and chooses instrctions to isse each cycle v Compiler can help by reordering instrctions v CPU resolves hazards sing advanced techniqes at rntime (93) IPS with Static Dal Isse Two-isse packets v One ALU/branch instrction v One load/store instrction v 64-bit aligned o o ALU/branch, then load/store Pad an nsed instrction with nop Address Instrction type Pipeline Stages n ALU/branch IF ID EX E WB n + 4 Load/store IF ID EX E WB n + 8 ALU/branch IF ID EX E WB n + 2 Load/store IF ID EX E WB n + 6 ALU/branch IF ID EX E WB n + 2 Load/store IF ID EX E WB (94) 47

48 IPS with Static Dal Isse ALU comptation Address comptation Aligned Instrction Pair ALU operation Load/store (95) Instrction Level Parallelism (ILP) ltiple instrctions in EX at the same time IF ID E WB Single (program) thread of eection Isse mltiple instrctions from the same instrction stream Average CPI< Often called ot of order (OOO) cores (96) 48

49 Dynamically Schedled CPU Preserves dependencies Hold pending operands Reorders bffer for register writes Can spply operands for issed instrctions Reslts also sent to any waiting reservation stations (97) AD Blldozer form.beyond3d.comb (98) 49

50 AD Bobcat ECE 6 Later in this corse ECE 6 Instrction Level Parallelism (ILP) Later in this corse (99) The P4 icroarchitectre From, The icroarchitectre of the Pentim 4 Processor, G. Hinton et.al, Intel Technology Jornal Q, 2 () 5

51 Stdy Gide Given a code block, and initial register vales (those that are accessed) be able to determine state of all pipeline registers at some ftre clock cycle. Determine the size of each pipeline register Track pipeline state in the case of forwarding and branches Compte the nmber of cycles to eecte a code block odify the datapath to inclde forwarding and hazard detection for branches (this is trickier and time consming bt well worth it) () Stdy Gide (cont.) Schedle code (manally) to improve performance, for eample to eliminate hazards and fill delay slots odify the data path to add new instrctions sch as j odify the data path to accommodate a two cycle data memory access, i.e., the data memory itself is a two cycle pipeline v odify the forwarding and hazard control logic Given a code seqence, be able to compte the nmber of stall cycles (2) 5

52 Stdy Gide (cont.) Track the state of the 2-bit branch predictor over a seqence of branches in a code segment, for eample a for-loop Show the pipeline state before and after an eception has taken place. (3) Glossary Branch prediction Branch hazards Branch delay Control hazard Data hazard Delay slot Dynamic instrction isse Forwarding Imprecise eception Instrction schedling Instrction level parallelism (ILP) Load-to-se hazard Pipeline bbbles Stall cycles Static instrction isse Strctral hazard (4) 52

Lecture 9: Control Hazard and Resolution. James C. Hoe Department of ECE Carnegie Mellon University

Lecture 9: Control Hazard and Resolution. James C. Hoe Department of ECE Carnegie Mellon University 18 447 Lectre 9: Control Hazard and Resoltion James C. Hoe Department of ECE Carnegie ellon University 18 447 S18 L09 S1, James C. Hoe, CU/ECE/CALC, 2018 Yor goal today Hosekeeping simple control flow

More information

Lecture 12: Pipelined Implementations: Control Hazards and Resolutions

Lecture 12: Pipelined Implementations: Control Hazards and Resolutions 18-447 Lectre 12: Pipelined Implementations: Control Hazards and Resoltions S 09 L12-1 James C. Hoe Dept of ECE, CU arch 2, 2009 Annoncements: Spring break net week!! Project 2 de the week after spring

More information

Designing MIPS Processor

Designing MIPS Processor CSE 675.: Introdction to Compter Architectre Designing IPS Processor (lti-cycle) Presentation H Reading Assignment: 5.5,5.6 lti-cycle Design Principles Break p eection of each instrction into steps. The

More information

Instruction register. Data. Registers. Register # Memory data register

Instruction register. Data. Registers. Register # Memory data register Where we are headed Single Cycle Problems: what if we had a more complicated instrction like floating point? wastefl of area One Soltion: se a smaller cycle time have different instrctions take different

More information

Designing Single-Cycle MIPS Processor

Designing Single-Cycle MIPS Processor CSE 32: Introdction to Compter Architectre Designing Single-Cycle IPS Processor Presentation G Stdy:.-. Gojko Babić 2/9/28 Introdction We're now ready to look at an implementation of the system that incldes

More information

Review. Combined Datapath

Review. Combined Datapath Review Topics:. A single cycle implementation 2. State Diagrams. A mltiple cycle implementation COSC 22: Compter Organization Instrctor: Dr. Amir Asif Department of Compter Science York University Handot

More information

Pipeline Datapath. With some slides from: John Lazzaro and Dan Garcia

Pipeline Datapath. With some slides from: John Lazzaro and Dan Garcia Pipeline Datapath With some slides from: John Lazzaro and Dan Garcia The single cycle CPU Instrction [25 ] Shift Jmp address [3 ] left 2 26 28 PC+ [3 28] Instrction [3 26] Control RegDst Jmp Branch em

More information

Topics: A multiple cycle implementation. Distributed Notes

Topics: A multiple cycle implementation. Distributed Notes COSC 22: Compter Organization Instrctor: Dr. Amir Asif Department of Compter Science York University Handot # lticycle Implementation of a IPS Processor Topics: A mltiple cycle implementation Distribted

More information

Fast Path-Based Neural Branch Prediction

Fast Path-Based Neural Branch Prediction Fast Path-Based Neral Branch Prediction Daniel A. Jiménez http://camino.rtgers.ed Department of Compter Science Rtgers, The State University of New Jersey Overview The context: microarchitectre Branch

More information

Pipelining. Traditional Execution. CS 365 Lecture 12 Prof. Yih Huang. add ld beq CS CS 365 2

Pipelining. Traditional Execution. CS 365 Lecture 12 Prof. Yih Huang. add ld beq CS CS 365 2 Pipelining CS 365 Lecture 12 Prof. Yih Huang CS 365 1 Traditional Execution 1 2 3 4 1 2 3 4 5 1 2 3 add ld beq CS 365 2 1 Pipelined Execution 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5

More information

CSCI-564 Advanced Computer Architecture

CSCI-564 Advanced Computer Architecture CSCI-564 Advanced Computer Architecture Lecture 8: Handling Exceptions and Interrupts / Superscalar Bo Wu Colorado School of Mines Branch Delay Slots (expose control hazard to software) Change the ISA

More information

EXAMPLES 4/12/2018. The MIPS Pipeline. Hazard Summary. Show the pipeline diagram. Show the pipeline diagram. Pipeline Datapath and Control

EXAMPLES 4/12/2018. The MIPS Pipeline. Hazard Summary. Show the pipeline diagram. Show the pipeline diagram. Pipeline Datapath and Control The MIPS Pipeline CSCI206 - Computer Organization & Programming Pipeline Datapath and Control zybook: 11.6 Developed and maintained by the Bucknell University Computer Science Department - 2017 Hazard

More information

Pipeline Datapath. With some slides from: John Lazzaro and Dan Garcia

Pipeline Datapath. With some slides from: John Lazzaro and Dan Garcia Pipeline path With some slides from: John Lazzaro and Dan Garcia Gotta Do Landry Ann, Brian, Cathy, Dave each have one load of clothes to wash, dry, fold, and pt away Washer takes 3 mintes A B C D Dryer

More information

4. (3) What do we mean when we say something is an N-operand machine?

4. (3) What do we mean when we say something is an N-operand machine? 1. (2) What are the two main ways to define performance? 2. (2) When dealing with control hazards, a prediction is not enough - what else is necessary in order to eliminate stalls? 3. (3) What is an "unbalanced"

More information

CPU DESIGN The Single-Cycle Implementation

CPU DESIGN The Single-Cycle Implementation 22 ompter Organization Seqential vs. ombinational ircits Digital circits can be classified into two categories: DESIGN The Single-ycle Implementation. ombinational ircits: m, 2. Seqential ircits: flip-flops,

More information

[2] Predicting the direction of a branch is not enough. What else is necessary?

[2] Predicting the direction of a branch is not enough. What else is necessary? [2] What are the two main ways to define performance? [2] Predicting the direction of a branch is not enough. What else is necessary? [2] The power consumed by a chip has increased over time, but the clock

More information

1. (2 )Clock rates have grown by a factor of 1000 while power consumed has only grown by a factor of 30. How was this accomplished?

1. (2 )Clock rates have grown by a factor of 1000 while power consumed has only grown by a factor of 30. How was this accomplished? 1. (2 )Clock rates have grown by a factor of 1000 while power consumed has only grown by a factor of 30. How was this accomplished? 2. (2 )What are the two main ways to define performance? 3. (2 )What

More information

Computer Architecture Lecture 5: ISA Wrap-Up and Single-Cycle Microarchitectures

Computer Architecture Lecture 5: ISA Wrap-Up and Single-Cycle Microarchitectures 8-447 Compter Architectre Lectre 5: ISA Wrap-Up and Single-Cycle icroarchitectres Prof. Onr tl Carnegie ellon University Spring 22, /25/22 Homework Was de Wednesday! 34 received 2 Reminder: Homeworks for

More information

3. (2) What is the difference between fixed and hybrid instructions?

3. (2) What is the difference between fixed and hybrid instructions? 1. (2 pts) What is a "balanced" pipeline? 2. (2 pts) What are the two main ways to define performance? 3. (2) What is the difference between fixed and hybrid instructions? 4. (2 pts) Clock rates have grown

More information

[2] Predicting the direction of a branch is not enough. What else is necessary?

[2] Predicting the direction of a branch is not enough. What else is necessary? [2] When we talk about the number of operands in an instruction (a 1-operand or a 2-operand instruction, for example), what do we mean? [2] What are the two main ways to define performance? [2] Predicting

More information

Concepts Introduced. Digital Electronics. Logic Blocks. Truth Tables

Concepts Introduced. Digital Electronics. Logic Blocks. Truth Tables Concepts Introdced Digital Electronics trth tables, logic eqations, and gates combinational logic seqential logic Digital electronics operate at either high or low voltage. Compters se a binary representation

More information

CMP N 301 Computer Architecture. Appendix C

CMP N 301 Computer Architecture. Appendix C CMP N 301 Computer Architecture Appendix C Outline Introduction Pipelining Hazards Pipelining Implementation Exception Handling Advanced Issues (Dynamic Scheduling, Out of order Issue, Superscalar, etc)

More information

10.2 Solving Quadratic Equations by Completing the Square

10.2 Solving Quadratic Equations by Completing the Square . Solving Qadratic Eqations b Completing the Sqare Consider the eqation ( ) We can see clearl that the soltions are However, What if the eqation was given to s in standard form, that is 6 How wold we go

More information

ECE 3401 Lecture 23. Pipeline Design. State Table for 2-Cycle Instructions. Control Unit. ISA: Instruction Specifications (for reference)

ECE 3401 Lecture 23. Pipeline Design. State Table for 2-Cycle Instructions. Control Unit. ISA: Instruction Specifications (for reference) ECE 3401 Lecture 23 Pipeline Design Control State Register Combinational Control Logic New/ Modified Control Word ISA: Instruction Specifications (for reference) P C P C + 1 I N F I R M [ P C ] E X 0 PC

More information

Simple Instruction-Pipelining. Pipelined Harvard Datapath

Simple Instruction-Pipelining. Pipelined Harvard Datapath 6.823, L8--1 Simple ruction-pipelining Laboratory for Computer Science M.I.T. http://www.csg.lcs.mit.edu/6.823 Pipelined Harvard path 6.823, L8--2. I fetch decode & eg-fetch execute memory Clock period

More information

L07-L09 recap: Fundamental lesson(s)!

L07-L09 recap: Fundamental lesson(s)! L7-L9 recap: Fundamental lesson(s)! Over the next 3 lectures (using the IPS ISA as context) I ll explain:! How functions are treated and processed in assembly! How system calls are enabled in assembly!

More information

Computer Architecture ELEC2401 & ELEC3441

Computer Architecture ELEC2401 & ELEC3441 Last Time Pipeline Hazard Computer Architecture ELEC2401 & ELEC3441 Lecture 8 Pipelining (3) Dr. Hayden Kwok-Hay So Department of Electrical and Electronic Engineering Structural Hazard Hazard Control

More information

Computer Engineering Department. CC 311- Computer Architecture. Chapter 4. The Processor: Datapath and Control. Single Cycle

Computer Engineering Department. CC 311- Computer Architecture. Chapter 4. The Processor: Datapath and Control. Single Cycle Computer Engineering Department CC 311- Computer Architecture Chapter 4 The Processor: Datapath and Control Single Cycle Introduction The 5 classic components of a computer Processor Input Control Memory

More information

EE 660: Computer Architecture Out-of-Order Processors

EE 660: Computer Architecture Out-of-Order Processors EE 660: Computer Architecture Out-of-Order Processors Yao Zheng Department of Electrical Engineering University of Hawaiʻi at Mānoa Based on the slides of Prof. David entzlaff Agenda I4 Processors I2O2

More information

ICS 233 Computer Architecture & Assembly Language

ICS 233 Computer Architecture & Assembly Language ICS 233 Computer Architecture & Assembly Language Assignment 6 Solution 1. Identify all of the RAW data dependencies in the following code. Which dependencies are data hazards that will be resolved by

More information

Processor Design & ALU Design

Processor Design & ALU Design 3/8/2 Processor Design A. Sahu CSE, IIT Guwahati Please be updated with http://jatinga.iitg.ernet.in/~asahu/c22/ Outline Components of CPU Register, Multiplexor, Decoder, / Adder, substractor, Varity of

More information

CPU DESIGN The Single-Cycle Implementation

CPU DESIGN The Single-Cycle Implementation CSE 202 Computer Organization CPU DESIGN The Single-Cycle Implementation Shakil M. Khan (adapted from Prof. H. Roumani) Dept of CS & Eng, York University Sequential vs. Combinational Circuits Digital circuits

More information

Simple Instruction-Pipelining. Pipelined Harvard Datapath

Simple Instruction-Pipelining. Pipelined Harvard Datapath 6.823, L8--1 Simple ruction-pipelining Updated March 6, 2000 Laboratory for Computer Science M.I.T. http://www.csg.lcs.mit.edu/6.823 Pipelined Harvard path 6.823, L8--2. fetch decode & eg-fetch execute

More information

Project Two RISC Processor Implementation ECE 485

Project Two RISC Processor Implementation ECE 485 Project Two RISC Processor Implementation ECE 485 Chenqi Bao Peter Chinetti November 6, 2013 Instructor: Professor Borkar 1 Statement of Problem This project requires the design and test of a RISC processor

More information

Simple Instruction-Pipelining (cont.) Pipelining Jumps

Simple Instruction-Pipelining (cont.) Pipelining Jumps 6.823, L9--1 Simple ruction-pipelining (cont.) + Interrupts Updated March 6, 2000 Laboratory for Computer Science M.I.T. http://www.csg.lcs.mit.edu/6.823 Src1 ( j / ~j ) Src2 ( / Ind) Pipelining Jumps

More information

BLOOM S TAXONOMY. Following Bloom s Taxonomy to Assess Students

BLOOM S TAXONOMY. Following Bloom s Taxonomy to Assess Students BLOOM S TAXONOMY Topic Following Bloom s Taonomy to Assess Stdents Smmary A handot for stdents to eplain Bloom s taonomy that is sed for item writing and test constrction to test stdents to see if they

More information

1. Tractable and Intractable Computational Problems So far in the course we have seen many problems that have polynomial-time solutions; that is, on

1. Tractable and Intractable Computational Problems So far in the course we have seen many problems that have polynomial-time solutions; that is, on . Tractable and Intractable Comptational Problems So far in the corse we have seen many problems that have polynomial-time soltions; that is, on a problem instance of size n, the rnning time T (n) = O(n

More information

Multi-Voltage Floorplan Design with Optimal Voltage Assignment

Multi-Voltage Floorplan Design with Optimal Voltage Assignment Mlti-Voltage Floorplan Design with Optimal Voltage Assignment ABSTRACT Qian Zaichen Department of CSE The Chinese University of Hong Kong Shatin,N.T., Hong Kong zcqian@cse.chk.ed.hk In this paper, we stdy

More information

CS 52 Computer rchitecture and Engineering Lecture 4 - Pipelining Krste sanovic Electrical Engineering and Computer Sciences University of California at Berkeley http://www.eecs.berkeley.edu/~krste! http://inst.eecs.berkeley.edu/~cs52!

More information

Microprocessor Power Analysis by Labeled Simulation

Microprocessor Power Analysis by Labeled Simulation Microprocessor Power Analysis by Labeled Simulation Cheng-Ta Hsieh, Kevin Chen and Massoud Pedram University of Southern California Dept. of EE-Systems Los Angeles CA 989 Outline! Introduction! Problem

More information

Computer Architecture

Computer Architecture Lecture 2: Iakovos Mavroidis Computer Science Department University of Crete 1 Previous Lecture CPU Evolution What is? 2 Outline Measurements and metrics : Performance, Cost, Dependability, Power Guidelines

More information

CPSC 3300 Spring 2017 Exam 2

CPSC 3300 Spring 2017 Exam 2 CPSC 3300 Spring 2017 Exam 2 Name: 1. Matching. Write the correct term from the list into each blank. (2 pts. each) structural hazard EPIC forwarding precise exception hardwired load-use data hazard VLIW

More information

Implementing the Controller. Harvard-Style Datapath for DLX

Implementing the Controller. Harvard-Style Datapath for DLX 6.823, L6--1 Implementing the Controller Laboratory for Computer Science M.I.T. http://www.csg.lcs.mit.edu/6.823 6.823, L6--2 Harvard-Style Datapath for DLX Src1 ( j / ~j ) Src2 ( R / RInd) RegWrite MemWrite

More information

Control. Control. the ALU. ALU control signals 11/4/14. Next: control. We built the instrument. Now we read music and play it...

Control. Control. the ALU. ALU control signals 11/4/14. Next: control. We built the instrument. Now we read music and play it... // CS 2, Fall 2! CS 2, Fall 2! We built the instrument. Now we read music and play it... A simple implementa/on uc/on uct r r 2 Write r Src Src Extend 6 Mem Next: path 7-2 CS 2, Fall 2! signals CS 2, Fall

More information

CSE Computer Architecture I

CSE Computer Architecture I Execution Sequence Summary CSE 30321 Computer Architecture I Lecture 17 - Multi Cycle Control Michael Niemier Department of Computer Science and Engineering Step name Instruction fetch Instruction decode/register

More information

ENEE350 Lecture Notes-Weeks 14 and 15

ENEE350 Lecture Notes-Weeks 14 and 15 Pipelining & Amdahl s Law ENEE350 Lecture Notes-Weeks 14 and 15 Pipelining is a method of processing in which a problem is divided into a number of sub problems and solved and the solu8ons of the sub problems

More information

Section 7.4: Integration of Rational Functions by Partial Fractions

Section 7.4: Integration of Rational Functions by Partial Fractions Section 7.4: Integration of Rational Fnctions by Partial Fractions This is abot as complicated as it gets. The Method of Partial Fractions Ecept for a few very special cases, crrently we have no way to

More information

Building a Computer. Quiz #2 on 10/31, open book and notes. (This is the last lecture covered) I wonder where this goes? L16- Building a Computer 1

Building a Computer. Quiz #2 on 10/31, open book and notes. (This is the last lecture covered) I wonder where this goes? L16- Building a Computer 1 Building a Computer I wonder where this goes? B LU MIPS Kit Quiz # on /3, open book and notes (This is the last lecture covered) Comp 4 Fall 7 /4/7 L6- Building a Computer THIS IS IT! Motivating Force

More information

Performance, Power & Energy. ELEC8106/ELEC6102 Spring 2010 Hayden Kwok-Hay So

Performance, Power & Energy. ELEC8106/ELEC6102 Spring 2010 Hayden Kwok-Hay So Performance, Power & Energy ELEC8106/ELEC6102 Spring 2010 Hayden Kwok-Hay So Recall: Goal of this class Performance Reconfiguration Power/ Energy H. So, Sp10 Lecture 3 - ELEC8106/6102 2 PERFORMANCE EVALUATION

More information

FRTN10 Exercise 12. Synthesis by Convex Optimization

FRTN10 Exercise 12. Synthesis by Convex Optimization FRTN Exercise 2. 2. We want to design a controller C for the stable SISO process P as shown in Figre 2. sing the Yola parametrization and convex optimization. To do this, the control loop mst first be

More information

Problem Class 4. More State Machines (Problem Sheet 3 con t)

Problem Class 4. More State Machines (Problem Sheet 3 con t) Problem Class 4 More State Machines (Problem Sheet 3 con t) Peter Cheng Department of Electrical & Electronic Engineering Imperial College London URL: www.ee.imperial.ac.k/pcheng/ee2_digital/ E-mail: p.cheng@imperial.ac.k

More information

6 PM Midnight A B C D. Time. T a s k. O r d e r. Computer Architecture CTKing/TTHwang. Pipelining-1. Pipelining-3 CTKing/TTHwang

6 PM Midnight A B C D. Time. T a s k. O r d e r. Computer Architecture CTKing/TTHwang. Pipelining-1. Pipelining-3 CTKing/TTHwang CS: PP ii pp ee ll ii nn ii nn gg Otline d a t a t h P c D a t a h a z a s a D a t a h a z a s a s t a h h a z a s E c S c a a d y m An overview of pipelining A pipelined pa ipelined ont rol rd nd forwa

More information

EC 413 Computer Organization

EC 413 Computer Organization EC 413 Computer Organization rithmetic Logic Unit (LU) and Register File Prof. Michel. Kinsy Computing: Computer Organization The DN of Modern Computing Computer CPU Memory System LU Register File Disks

More information

Discontinuous Fluctuation Distribution for Time-Dependent Problems

Discontinuous Fluctuation Distribution for Time-Dependent Problems Discontinos Flctation Distribtion for Time-Dependent Problems Matthew Hbbard School of Compting, University of Leeds, Leeds, LS2 9JT, UK meh@comp.leeds.ac.k Introdction For some years now, the flctation

More information

/ : Computer Architecture and Design

/ : Computer Architecture and Design 16.482 / 16.561: Computer Architecture and Design Summer 2015 Homework #5 Solution 1. Dynamic scheduling (30 points) Given the loop below: DADDI R3, R0, #4 outer: DADDI R2, R1, #32 inner: L.D F0, 0(R1)

More information

Chapter 3 MATHEMATICAL MODELING OF DYNAMIC SYSTEMS

Chapter 3 MATHEMATICAL MODELING OF DYNAMIC SYSTEMS Chapter 3 MATHEMATICAL MODELING OF DYNAMIC SYSTEMS 3. System Modeling Mathematical Modeling In designing control systems we mst be able to model engineered system dynamics. The model of a dynamic system

More information

Computer Architecture

Computer Architecture Computer Architecture QtSpim, a Mips simulator S. Coudert and R. Pacalet January 4, 2018..................... Memory Mapping 0xFFFF000C 0xFFFF0008 0xFFFF0004 0xffff0000 0x90000000 0x80000000 0x7ffff4d4

More information

Issue = Select + Wakeup. Out-of-order Pipeline. Issue. Issue = Select + Wakeup. OOO execution (2-wide) OOO execution (2-wide)

Issue = Select + Wakeup. Out-of-order Pipeline. Issue. Issue = Select + Wakeup. OOO execution (2-wide) OOO execution (2-wide) Out-of-order Pipeline Buffer of instructions Issue = Select + Wakeup Select N oldest, read instructions N=, xor N=, xor and sub Note: ma have execution resource constraints: i.e., load/store/fp Fetch Decode

More information

Lecture 3, Performance

Lecture 3, Performance Lecture 3, Performance Repeating some definitions: CPI Clocks Per Instruction MHz megahertz, millions of cycles per second MIPS Millions of Instructions Per Second = MHz / CPI MOPS Millions of Operations

More information

Lecture 3, Performance

Lecture 3, Performance Repeating some definitions: Lecture 3, Performance CPI MHz MIPS MOPS Clocks Per Instruction megahertz, millions of cycles per second Millions of Instructions Per Second = MHz / CPI Millions of Operations

More information

PREDICTABILITY OF SOLID STATE ZENER REFERENCES

PREDICTABILITY OF SOLID STATE ZENER REFERENCES PREDICTABILITY OF SOLID STATE ZENER REFERENCES David Deaver Flke Corporation PO Box 99 Everett, WA 986 45-446-6434 David.Deaver@Flke.com Abstract - With the advent of ISO/IEC 175 and the growth in laboratory

More information

Decision Making in Complex Environments. Lecture 2 Ratings and Introduction to Analytic Network Process

Decision Making in Complex Environments. Lecture 2 Ratings and Introduction to Analytic Network Process Decision Making in Complex Environments Lectre 2 Ratings and Introdction to Analytic Network Process Lectres Smmary Lectre 5 Lectre 1 AHP=Hierar chies Lectre 3 ANP=Networks Strctring Complex Models with

More information

Setting The K Value And Polarization Mode Of The Delta Undulator

Setting The K Value And Polarization Mode Of The Delta Undulator LCLS-TN-4- Setting The Vale And Polarization Mode Of The Delta Undlator Zachary Wolf, Heinz-Dieter Nhn SLAC September 4, 04 Abstract This note provides the details for setting the longitdinal positions

More information

Chapter 4 Supervised learning:

Chapter 4 Supervised learning: Chapter 4 Spervised learning: Mltilayer Networks II Madaline Other Feedforward Networks Mltiple adalines of a sort as hidden nodes Weight change follows minimm distrbance principle Adaptive mlti-layer

More information

Performance analysis of GTS allocation in Beacon Enabled IEEE

Performance analysis of GTS allocation in Beacon Enabled IEEE 1 Performance analysis of GTS allocation in Beacon Enabled IEEE 8.15.4 Pangn Park, Carlo Fischione, Karl Henrik Johansson Abstract Time-critical applications for wireless sensor networks (WSNs) are an

More information

Lecture Notes: Finite Element Analysis, J.E. Akin, Rice University

Lecture Notes: Finite Element Analysis, J.E. Akin, Rice University 9. TRUSS ANALYSIS... 1 9.1 PLANAR TRUSS... 1 9. SPACE TRUSS... 11 9.3 SUMMARY... 1 9.4 EXERCISES... 15 9. Trss analysis 9.1 Planar trss: The differential eqation for the eqilibrim of an elastic bar (above)

More information

Assignment Fall 2014

Assignment Fall 2014 Assignment 5.086 Fall 04 De: Wednesday, 0 December at 5 PM. Upload yor soltion to corse website as a zip file YOURNAME_ASSIGNMENT_5 which incldes the script for each qestion as well as all Matlab fnctions

More information

Joint Transfer of Energy and Information in a Two-hop Relay Channel

Joint Transfer of Energy and Information in a Two-hop Relay Channel Joint Transfer of Energy and Information in a Two-hop Relay Channel Ali H. Abdollahi Bafghi, Mahtab Mirmohseni, and Mohammad Reza Aref Information Systems and Secrity Lab (ISSL Department of Electrical

More information

Unit 6: Branch Prediction

Unit 6: Branch Prediction CIS 501: Computer Architecture Unit 6: Branch Prediction Slides developed by Joe Devie/, Milo Mar4n & Amir Roth at Upenn with sources that included University of Wisconsin slides by Mark Hill, Guri Sohi,

More information

Linear System Theory (Fall 2011): Homework 1. Solutions

Linear System Theory (Fall 2011): Homework 1. Solutions Linear System Theory (Fall 20): Homework Soltions De Sep. 29, 20 Exercise (C.T. Chen: Ex.3-8). Consider a linear system with inpt and otpt y. Three experiments are performed on this system sing the inpts

More information

ECE 172 Digital Systems. Chapter 12 Instruction Pipelining. Herbert G. Mayer, PSU Status 7/20/2018

ECE 172 Digital Systems. Chapter 12 Instruction Pipelining. Herbert G. Mayer, PSU Status 7/20/2018 ECE 172 Digital Systems Chapter 12 Instruction Pipelining Herbert G. Mayer, PSU Status 7/20/2018 1 Syllabus l Scheduling on Pipelined Architecture l Idealized Pipeline l Goal of Scheduling l Causes for

More information

Essentials of optimal control theory in ECON 4140

Essentials of optimal control theory in ECON 4140 Essentials of optimal control theory in ECON 4140 Things yo need to know (and a detail yo need not care abot). A few words abot dynamic optimization in general. Dynamic optimization can be thoght of as

More information

Lab Manual for Engrd 202, Virtual Torsion Experiment. Aluminum module

Lab Manual for Engrd 202, Virtual Torsion Experiment. Aluminum module Lab Manal for Engrd 202, Virtal Torsion Experiment Alminm modle Introdction In this modle, o will perform data redction and analsis for circlar cross section alminm samples. B plotting the torqe vs. twist

More information

This Unit: Scheduling (Static + Dynamic) CIS 501 Computer Architecture. Readings. Review Example

This Unit: Scheduling (Static + Dynamic) CIS 501 Computer Architecture. Readings. Review Example This Unit: Scheduling (Static + Dnamic) CIS 50 Computer Architecture Unit 8: Static and Dnamic Scheduling Application OS Compiler Firmware CPU I/O Memor Digital Circuits Gates & Transistors! Previousl:!

More information

Technical Note. ODiSI-B Sensor Strain Gage Factor Uncertainty

Technical Note. ODiSI-B Sensor Strain Gage Factor Uncertainty Technical Note EN-FY160 Revision November 30, 016 ODiSI-B Sensor Strain Gage Factor Uncertainty Abstract Lna has pdated or strain sensor calibration tool to spport NIST-traceable measrements, to compte

More information

4.2 First-Order Logic

4.2 First-Order Logic 64 First-Order Logic and Type Theory The problem can be seen in the two qestionable rles In the existential introdction, the term a has not yet been introdced into the derivation and its se can therefore

More information

Reflections on a mismatched transmission line Reflections.doc (4/1/00) Introduction The transmission line equations are given by

Reflections on a mismatched transmission line Reflections.doc (4/1/00) Introduction The transmission line equations are given by Reflections on a mismatched transmission line Reflections.doc (4/1/00) Introdction The transmission line eqations are given by, I z, t V z t l z t I z, t V z, t c z t (1) (2) Where, c is the per-nit-length

More information

Lecture 13: Sequential Circuits, FSM

Lecture 13: Sequential Circuits, FSM Lecture 13: Sequential Circuits, FSM Today s topics: Sequential circuits Finite state machines 1 Clocks A microprocessor is composed of many different circuits that are operating simultaneously if each

More information

Sources of Non Stationarity in the Semivariogram

Sources of Non Stationarity in the Semivariogram Sorces of Non Stationarity in the Semivariogram Migel A. Cba and Oy Leangthong Traditional ncertainty characterization techniqes sch as Simple Kriging or Seqential Gassian Simlation rely on stationary

More information

An Investigation into Estimating Type B Degrees of Freedom

An Investigation into Estimating Type B Degrees of Freedom An Investigation into Estimating Type B Degrees of H. Castrp President, Integrated Sciences Grop Jne, 00 Backgrond The degrees of freedom associated with an ncertainty estimate qantifies the amont of information

More information

Optimal Control of a Heterogeneous Two Server System with Consideration for Power and Performance

Optimal Control of a Heterogeneous Two Server System with Consideration for Power and Performance Optimal Control of a Heterogeneos Two Server System with Consideration for Power and Performance by Jiazheng Li A thesis presented to the University of Waterloo in flfilment of the thesis reqirement for

More information

Reducing Conservatism in Flutterometer Predictions Using Volterra Modeling with Modal Parameter Estimation

Reducing Conservatism in Flutterometer Predictions Using Volterra Modeling with Modal Parameter Estimation JOURNAL OF AIRCRAFT Vol. 42, No. 4, Jly Agst 2005 Redcing Conservatism in Fltterometer Predictions Using Volterra Modeling with Modal Parameter Estimation Rick Lind and Joao Pedro Mortaga University of

More information

I block CLK 1 CLK 2. Oscillator - Delay block. circuit. US Al. Jun.28,2011 P21 P11 P22 P12. PlN P2N. (19) United States

I block CLK 1 CLK 2. Oscillator - Delay block. circuit. US Al. Jun.28,2011 P21 P11 P22 P12. PlN P2N. (19) United States (19) United States c12) Patent Application Pblication Wang et al. 111111 1111111111111111111111111111111111111111111111111111111111111111111111111111 US 21227143Al (1) Pb. o.: US 212/27143 A1 (43) Pb.

More information

3 2D Elastostatic Problems in Cartesian Coordinates

3 2D Elastostatic Problems in Cartesian Coordinates D lastostatic Problems in Cartesian Coordinates Two dimensional elastostatic problems are discssed in this Chapter, that is, static problems of either plane stress or plane strain. Cartesian coordinates

More information

CMP 338: Third Class

CMP 338: Third Class CMP 338: Third Class HW 2 solution Conversion between bases The TINY processor Abstraction and separation of concerns Circuit design big picture Moore s law and chip fabrication cost Performance What does

More information

Lecture Notes On THEORY OF COMPUTATION MODULE - 2 UNIT - 2

Lecture Notes On THEORY OF COMPUTATION MODULE - 2 UNIT - 2 BIJU PATNAIK UNIVERSITY OF TECHNOLOGY, ODISHA Lectre Notes On THEORY OF COMPUTATION MODULE - 2 UNIT - 2 Prepared by, Dr. Sbhend Kmar Rath, BPUT, Odisha. Tring Machine- Miscellany UNIT 2 TURING MACHINE

More information

PhysicsAndMathsTutor.com

PhysicsAndMathsTutor.com C Integration - By sbstittion PhysicsAndMathsTtor.com. Using the sbstittion cos +, or otherwise, show that e cos + sin d e(e ) (Total marks). (a) Using the sbstittion cos, or otherwise, find the eact vale

More information

Bayes and Naïve Bayes Classifiers CS434

Bayes and Naïve Bayes Classifiers CS434 Bayes and Naïve Bayes Classifiers CS434 In this lectre 1. Review some basic probability concepts 2. Introdce a sefl probabilistic rle - Bayes rle 3. Introdce the learning algorithm based on Bayes rle (ths

More information

Lecture 3. (2) Last time: 3D space. The dot product. Dan Nichols January 30, 2018

Lecture 3. (2) Last time: 3D space. The dot product. Dan Nichols January 30, 2018 Lectre 3 The dot prodct Dan Nichols nichols@math.mass.ed MATH 33, Spring 018 Uniersity of Massachsetts Janary 30, 018 () Last time: 3D space Right-hand rle, the three coordinate planes 3D coordinate system:

More information

Fall 2011 Prof. Hyesoon Kim

Fall 2011 Prof. Hyesoon Kim Fall 2011 Prof. Hyesoon Kim Add: 2 cycles FE_stage add r1, r2, r3 FE L ID L EX L MEM L WB L add add sub r4, r1, r3 sub sub add add mul r5, r2, r3 mul sub sub add add mul sub sub add add mul sub sub add

More information

TESTING MEANS. we want to test. but we need to know if 2 1 = 2 2 if it is, we use the methods described last time pooled estimate of variance

TESTING MEANS. we want to test. but we need to know if 2 1 = 2 2 if it is, we use the methods described last time pooled estimate of variance Introdction to Statistics in Psychology PSY Profess Greg Francis Lectre 6 Hypothesis testing f two sample case Planning a replication stdy TESTING MENS we want to test H : µ µ H a : µ µ 6 bt we need to

More information

Complex Variables. For ECON 397 Macroeconometrics Steve Cunningham

Complex Variables. For ECON 397 Macroeconometrics Steve Cunningham Comple Variables For ECON 397 Macroeconometrics Steve Cnningham Open Disks or Neighborhoods Deinition. The set o all points which satis the ineqalit

More information

APPENDIX B MATRIX NOTATION. The Definition of Matrix Notation is the Definition of Matrix Multiplication B.1 INTRODUCTION

APPENDIX B MATRIX NOTATION. The Definition of Matrix Notation is the Definition of Matrix Multiplication B.1 INTRODUCTION APPENDIX B MAIX NOAION he Deinition o Matrix Notation is the Deinition o Matrix Mltiplication B. INODUCION { XE "Matrix Mltiplication" }{ XE "Matrix Notation" }he se o matrix notations is not necessary

More information

10.4 Solving Equations in Quadratic Form, Equations Reducible to Quadratics

10.4 Solving Equations in Quadratic Form, Equations Reducible to Quadratics . Solving Eqations in Qadratic Form, Eqations Redcible to Qadratics Now that we can solve all qadratic eqations we want to solve eqations that are not eactl qadratic bt can either be made to look qadratic

More information

Study on the impulsive pressure of tank oscillating by force towards multiple degrees of freedom

Study on the impulsive pressure of tank oscillating by force towards multiple degrees of freedom EPJ Web of Conferences 80, 0034 (08) EFM 07 Stdy on the implsive pressre of tank oscillating by force towards mltiple degrees of freedom Shigeyki Hibi,* The ational Defense Academy, Department of Mechanical

More information

Theoretical and Experimental Implementation of DC Motor Nonlinear Controllers

Theoretical and Experimental Implementation of DC Motor Nonlinear Controllers Theoretical and Experimental Implementation of DC Motor Nonlinear Controllers D.R. Espinoza-Trejo and D.U. Campos-Delgado Facltad de Ingeniería, CIEP, UASLP, espinoza trejo dr@aslp.mx Facltad de Ciencias,

More information

Communication security: Formal models and proofs

Communication security: Formal models and proofs Commnication secrity: Formal models and proofs Hbert Comon September 1, 2016 1 Introdction to protocol secrity The context (I) credit cards contactless cards telephones online transactions cars, fridges,...

More information

Worst-case analysis of the LPT algorithm for single processor scheduling with time restrictions

Worst-case analysis of the LPT algorithm for single processor scheduling with time restrictions OR Spectrm 06 38:53 540 DOI 0.007/s009-06-043-5 REGULAR ARTICLE Worst-case analysis of the LPT algorithm for single processor schedling with time restrictions Oliver ran Fan Chng Ron Graham Received: Janary

More information

Microscopic Properties of Gases

Microscopic Properties of Gases icroscopic Properties of Gases So far we he seen the gas laws. These came from observations. In this section we want to look at a theory that explains the gas laws: The kinetic theory of gases or The kinetic

More information

FRÉCHET KERNELS AND THE ADJOINT METHOD

FRÉCHET KERNELS AND THE ADJOINT METHOD PART II FRÉCHET KERNES AND THE ADJOINT METHOD 1. Setp of the tomographic problem: Why gradients? 2. The adjoint method 3. Practical 4. Special topics (sorce imaging and time reversal) Setp of the tomographic

More information