Organizzazione pipeline della CPU

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Organizzazione pipeline della CPU"

Transcript

1 Organizzazione pipeline della CPU Riferimento: D. A. Patterson, J.L. Hennessy, Struttura e Progetto dei Calcolatori L'interfaccia Hardware-Software -II edizione Zanichelli editore, ISBN: Calcolatori Elettronici 1

2 Esecuzione sequenziale 01_Esecuzione_sequenziale.exe Tempo = 4 * ( ) = 6 h Calcolatori Elettronici 2

3 Esecuzione pipeline 02_Esecuzione_pipeline.exe Calcolatori Elettronici 3

4 Pipeline Il pipeline non riduce la latenza del singolo task, aumenta il throughput dell intero workload Il pipeline rate è limitato dal più lento pipeline stage Più task operano simultaneamente Potenziale miglioramento = Numero di pipe stages Lunghezze non bilanciate dei pipeline stages riducono il miglioramento Calcolatori Elettronici 4

5 Esecuzione pipeline delle istruzioni T0 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 IFetch 0 IDec 0 IExe 0 Iem 0 IWrB 0 IFetch 1 IDec 1 IExe 1 Iem 1 IWrB 1 IFetch 2 IDec 3 T0 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 IFetch 0 IDec 0 IExe 0 Iem 0 IWrB 0 IFetch 1 IDec 1 IExe 1 Iem 1 IWrB 1 IFetch 2 IDec 2 IExe 2 Iem 2 IWrB 2 IFetch 3 IDec 3 IExe 3 Iem 3 IWrB 3 IFetch 4 IDec 4 IExe 4 Iem 4 IWrB 4 IFetch 5 IDec 5 IExe 5 Iem 5 IWrB 5 IFetch 6 IDec 6 IExe 6 Iem 6 IWrB 6 IFetch 7 IDec 7 IExe 7 Iem 7 IWrB 7 Calcolatori Elettronici 5

6 Prestazione con pipeline Il tempo di exec della singola istruzione non diminuisce Il tempo medio di exec delle istruzioni si riduce di un fattore N (caso ideale) Il throughput migliora di un fattore N Una istruz. eseguita per CLK CPI Pipe = 1 Perché? (CPI Sequenziale =N) Calcolatori Elettronici 6

7 Prestazione con pipeline CPUtime Pipe = IC CPI Pipe T CK = IC 1 T CK CPUtime Seq = IC N T CK = N CPUtime Pipe CPU Speedup = CPU TIE TIE Sequenziale Pipeline = N a questo è vero solo nel caso ideale! Calcolatori Elettronici 7

8 8 DLX sequenziale multiciclo P C U X Ind Lettura Scrittura Dati Lettura Dati E R E G I S T R Reg. Let. 1 Reg. Scrittura Scrittura Dati Let. Dati1 U X U X Reg. Let. 2 Let. Dati2 U X U X A L U Est. Segno Shift S.2 bit Zero Ris. R E G F I L E Shift S.2 bit TA R G ET U X Unità di Controllo RegDest RegWrite ALUSelB ALUSelA ALUop TargetWrite PCSource em2reg IRWrite emwrite emread IorD PCWrite PCWriteCond A B AluOutput em Data 4

9 DLX sequenziale 03_Datapath_DLX_sequenziale.exe Calcolatori Elettronici 9

10 DLX pipeline IF/ID ID/EX EX/E E/WB Add U X Zero? Branch taken P C 4 em o r y IR IR IR R e g F i l e U X U X ALU em o r y U X 16 Sign 32 extend Calcolatori Elettronici 10

11 Esecuzione pipeline DLX 04_Datapath_DLX_pipeline.exe Calcolatori Elettronici 11

12 Pipeline DLX Stage Any instruction IF IF/ID.IR em[pc]; IF/ID.NPC,PC (if EX/E.cond {EX/E.ALUOutput} else {PC+4}); ID ID/EX.A Regs[IF/ID.IR ]; ID/EX.B Regs[IF/ID.IR ]; ID/EX.NPC IF/ID.NPC; IF/EX.IR IF/ID.IR; ID/EX.Imm (IF/ID.IR 16 ) 16 ##IF/ID.IR ; EX ALU instruction Load or store instruction Branch instructiom EX/E.IR ID/EX.IR; EX/E.IR ID/EX.IR EX/E.ALUOutput EX/E.ALUOutput ID/EX.A func ID/EX.B; ID/EX.A + ID/EX.Imm; or EX/E.ALUOuput ID/EX.A op ID/EX.Imm; EX/E.cond 0; EX/E.cond 0; EX/E.B ID/EX.B; EX/E.ALUOutput ID/EX.NPC+ID/EX.Imm; EX/E.cond (ID/EX.A op 0); Calcolatori Elettronici 12

13 Pipeline DLX ALU instruction Load or store instruction Branch instructiom E E/WB.IR EX/E.IR; E/WB.IR EX/E.IR; E/WB.ALUOutput E/WB.LD EX/E.ALUOutput; em[ex/e.aluoutput]; or em[ex/e.aluoutput] EX/E.B; WB Regs[E/WB.IR ] E/WB.ALUOutput; or Regs[E/WB.IR ] E/WB.ALUOutput; Regs[E/WB.IR ] E/WB.LD; Calcolatori Elettronici 13

14 Unità di Controllo per il pipeline WB Instruction Control WB EX WB IF/ID ID/EX EX/E E/WB L'unità di controllo nella fase ID produce i segnali di controllo che verranno utilizzati negli stadi successivi EX, e WB I segnali non utilizzati in uno stadio sono inoltrati agli stadi successivi. Calcolatori Elettronici 14

15 Unità di Elaborazione + Unità di controllo PCSrc ux 0 ID/EX WB EX/E 1 Control WB E/WB IF/ID EX WB Add PC 4 Address Instruction memory Instruction Read register 1 Read data 1 Read register 2 Registers Read Write data 2 register Write data RegWrite Shift left 2 0 ux 1 Add Add result ALUSrc Zero ALU ALU result Branch Write data emwrite Address Data memory Read data emtoreg ux 1 0 Instruction [15 0] 16 Sign 32 extend 6 ALU control emread Instruction [20 16] Instruction [15 11] 0 ux 1 RegDst ALUOp Calcolatori Elettronici 15

16 Risorse coinvolte 05_Risorse_coinvolte.exe Calcolatori Elettronici 16

17 Problemi Potenziali conflitti sulle risorse! 1. Con I e D separate, no conflict, ma a parità di ck cycle occorre una memoria 5X veloce! 2. Le fasi ID e WB usano lo stesso banco di registri nello stesso periodo di ck per istruzioni diverse! 3. Il PC va aggiornato ogni periodo di ck per fare un fetch/ck. Cosa accade per un branch il cui esito è noto soltanto nella fase di mem? I registri A, B, Imm, nello stesso ck sono utilizzati nello stage di ex. (istruz. I), ma scritti nello stage di decode dall istruz. I+1! Il registro IR viene scritto (nello stesso Ck) nello stage di IF (istruz. I) e il suo contenuto relativo all istruz. I-4 serve nello stage WB! Calcolatori Elettronici 17

18 Limiti alla esecuzione pipeline: i conflitti (Hazard) I conflitti (Hazard) impediscono che una istruzione venga eseguita nel ciclo di clock atteso -Structural hazards: Le risorse HW non supportano alcune combinazioni di istruzioni -Data hazards: Un istruzione dipende dal risultato di una istruzione che è ancora nella pipeline -Control hazards: Pipelining di branch e altre istruzioni che cambiano il PC La soluzione più semplice è introdurre dei cicli di clck di stallo nella pipeline fino a quando l hazard non è risolto, inserendo una o più bolle nella pipeline. Calcolatori Elettronici 18

19 Structural Hazard Esempio di structural hazard quando è presente un unica memoria per le istruzioni e i dati 06_Structural_hazard_bubble.exe Calcolatori Elettronici 19

20 Structural Hazard Soluzioni Introdurre una bolla, una nop (not operation), nella fase di ID e bloccare l istruzione nella fase di Fetch Duplicare le risorse hardware Calcolatori Elettronici 20

21 Structural Hazard: Stallo 08_Structural_hazard_Implementazione_stallo.exe Calcolatori Elettronici 21

22 Data Hazard Time (in clock cycles) CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 ADD R1, R2, R3 I Reg ALU D Reg Program ex ec uti on order (i ni nst ructi ons ) SUB R4, R1, R5 AND R6, R1, R7 I Reg I ALU Reg D ALU Reg D ALU OR R8, R1, R9 I Reg XOR R10, R1, R11 I Reg Calcolatori Elettronici 22

23 Data Hazard: esecuzione errata 09_Data_hazards_Esecuzione_errata.exe Calcolatori Elettronici 23

24 Data Hazard: esecuzione corretta 10_Data_hazards_Esecuzione_corretta-Introduzione_bolle.exe Calcolatori Elettronici 24

25 Data Hazard: introduzione degli stalli add r1, r2, r3 IF ID EX E WB sub r4, r1, r2 IF ID stall stall EX E WB add r1, r2, r3 IF ID EX E WB subi r3, r2, 10 IF ID EX E WB addi r4, r1, 5 IF ID stall EX E WB Calcolatori Elettronici 25

26 Data Hazard: introduzione degli stalli Una soluzione ai data hazard è l'introduzione di cicli di clock di stallo. Poichè il data hazard viene scoperto nella fase ID, quando viene introdotto uno stallo per i data hazard: Viene bloccata l'istruzione nella fase ID impedendo l'aggiornamento del registro IF/ID; Viene bloccata l'istruzione nella fase IF non aggiornando il PC Vengono scritti sul registro ID/EX i segnali di controllo relativi a una nop I cicli di stallo vengono ripetuti fino a quando non viene aggiornato il registro destinazione Il numero di cicli di clock di stallo dipende dalla distanza tra le istruzioni Calcolatori Elettronici 26

27 Introduzione stalli x data hazard I+1 I I-1 I-2 IF/ID ID/EX EX/E E/WB PC Add 4 x 0 ux NOP x Zero? Branch taken e mo r y IR x IR6..10 IR E/WS, IR R eg i s t e r s x x ux ux ALU e m o ry u x x 16 Sign 32 extend Calcolatori Elettronici 27

28 Data Hazard: introduzione stalli 11_Data_hazards_Datapath_Implementazione_introduzione_stalli.exe Calcolatori Elettronici 28

29 Data Hazard: introduzione degli stalli i : add r1, r2,r3 i+1: sub r4, r1,r2 Supponendo che la scrittura in r1 avvenga nel primo semiperiodo del clock e la lettura nel secondo semiperiodo tra le istruzioni a distanza 1 sono necessari 2 cicli di clock di stallo i : add r1, r2,r3 i+1: subi r3, r2, 10 i+2: addi r4, r1, 5 Supponendo che la scrittura in r1 avvenga nel primo semiperiodo del clock e la lettura nel secondo semiperiodo tra le istruzioni a distanza 2 sono necessari 1 cicli di clock di stallo Calcolatori Elettronici 29

30 Data Hazard: Forwarding Non si aspetta che il registro destinazione r D sia stato aggiornato per fare avanzare nella fase di execute l'istruzione che ha bisogno del risultato Il dato viene immediatamente utilizzato non appena è prodotto Calcolatori Elettronici 30

31 Forwarding per i Data Hazard Time (in clock cycles) CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 ADD R1, R2, R3 I Reg ALU D Reg Program exec ution order (i n instructions ) SUB R4, R1, R5 AND R6, R1, R7 I Reg I ALU Reg D ALU Reg D OR R8, R1, R9 I Reg ALU XOR R10, R1, R11 I Reg Calcolatori Elettronici 31

32 Implementazione del forwarding ID /E X E X / E E /W B u x R e g is te rs F o r w a rd A A L U u x D a ta m e m o ry u x R s R t R t R d F o rw a rd B u x E X / E.R e g is te rr d F o rw a rd in g u n it E /W B.R e g is te rr d b. W ith fo rw a rd in g Calcolatori Elettronici 32

33 Forwarding per lw T im e (in c lo c k c y c le s ) P ro g ra m e x e c u tio n o rd e r (in in s tru c tio n s ) C C 1 C C 2 C C 3 C C 4 C C 5 C C 6 C C 7 C C 8 C C 9 lw $ 2, 2 0 ($ 1 ) I R e g D R e g a n d $ 4, $ 2, $ 5 I R e g D R e g o r $ 8, $ 2, $ 6 I R e g D R e g a d d $ 9, $ 4, $ 2 I R e g D R e g s l t $ 1, $ 6, $ 7 I R e g D R e g Calcolatori Elettronici 33

34 Introduzione di uno stallo per lw P ro gra m e xe cu tion o rd e r (in in s tru ctio n s ) T im e (in c lo ck cy cles ) C C 1 C C 2 C C 3 C C 4 C C 5 C C 6 C C 7 C C 8 C C 9 C C 1 0 lw $ 2, 2 0 ($ 1 ) I R e g D R e g a n d $ 4, $ 2, $ 5 I R e g R e g D R e g o r $ 8, $ 2, $ 6 I I R e g D R e g b ubble a d d $ 9, $ 4, $ 2 I R e g D R eg slt $ 1, $ 6, $ 7 I R eg D R e g Calcolatori Elettronici 34

35 Software Scheduling Try producing fast code for a = b + c; d = e f; assuming a, b, c, d,e, and f in memory. Slow code: LW Rb,b LW Rc,c ADD SW LW Re,e LW Rf,f SUB SW d,rd Ra,Rb,Rc a,ra Rd,Re,Rf Fast code: LW Rb,b LW Rc,c LW Re,e ADD Ra,Rb,Rc LW Rf,f SW a,ra SUB Rd,Re,Rf SW d,rd 35

36 Compiler Avoiding Load Stalls scheduled unscheduled gcc spice tex loads stalling pipeline 36

37 Control Hazard Un branch causa l introduzione di 3 cicli di clock di stallo in attesa dell esito del branch (l aggiornamento del PC viene eseguito nella fase di E). Branch instruction IF ID EX E WB Branch successor IF stall stall stall IF ID EX E WB Branch successor + 1 IF ID EX E WB Branch successor + 2 IF ID EX E Branch successor + 3 IF ID EX Branch successor + 4 IF ID Branch successor + 5 IF Calcolatori Elettronici 37

38 Control Hazard Il numero di cicli può essere ridotto a un solo ciclo anticipando la verifica nello stadio ID ADD ID/EX IF/ID EX/E E/WB 4 ADD u x Zero? IR6..10 PC Instruction memory IR IR E/WB.IR Registers u x ALU Data memory u x Sign extend Calcolatori Elettronici 38

39 Introduzione stalli x control hazard I+1 branch I-1 I-2 IF/ID ID/EX EX/E E/WB Add ux Zero? Branch taken PC 4 x 0 e mo r y IR x IR6..10 IR E/WS, IR R eg i s t e r s ux ux ALU e m o ry u x NOP 16 Sign 32 extend Calcolatori Elettronici 39

40 Control Hazard: stalli 12_Control_hazard_Datapath_Implementazione_introduzione_stalli.exe Calcolatori Elettronici 40

41 Frequenza branch compress eqntott espresso gcc Benchmark l i doduc ear hydro2d mdljdp su2cor Percentage of instructions executed Forward conditional branches Backward conditional branches Unconditional branches Calcolatori Elettronici 41

42 Calcolatori Elettronici 42 Frequenza branch Fraction of all conditional branches Backward taken Forward taken Benchma rk compress eqntott espresso gcc li doduc ear hydro2d mdljdp su2cor

43 Four Branch Hazard Alternatives #1: Stall until branch direction is clear #2: Predict Branch Not Taken Execute successor instructions in sequence Squash instructions in pipeline if branch actually taken Advantage of late pipeline state update 47 DLX branches not taken on average PC+4 already calculated, so use it to get next instruction #3: Predict Branch Taken 53 DLX branches taken on average But haven t calculated branch target address in DLX DLX still incurs 1 cycle branch penalty Other machines: branch target known before outcome Calcolatori Elettronici 43

44 Control Hazard The predict-not-taken scheme and the pipeline sequence when the branch is untaken (top) and taken (bottom) Untaken branch instr. IF ID EX E WB Instruction i+1 IF ID EX E WB Instruction i+2 IF ID EX E WB Instruction i+3 IF ID EX E WB Instruction i+4 IF ID EX E WB Taken branch instr. IF ID EX E WB Instruction i+1 IF idle idle idle idle Branch target IF ID EX E WB Branch target + 1 IF ID EX E WB Branch target + 2 IF ID EX E WB Calcolatori Elettronici 44

45 Four Branch Hazard Alternatives #4: Delayed Branch Define branch to take place AFTER a following instruction branch instruction sequential successor 1 sequential successor 2... sequential successor n branch target if taken 1 slot delay allows proper decision and branch target address in 5 stage pipeline DLX uses this Calcolatori Elettronici 45

46 Control Hazard-Delay slot The behavior of a delayed branch is the same wheter or not the branch is taken. Untaken branch instr. IF ID EX E WB Branch-delay instr. (i+1) IF ID EX E WB Instruction i+2 IF ID EX E WB Instruction i+3 IF ID EX E WB Instruction i+4 IF ID EX E WB Taken branch instr. IF ID EX E WB Branch-delay instr. (i+1) IF ID EX E WB Branch target IF ID EX E WB Branch target + 1 IF ID EX E WB Branch target + 2 IF ID EX E WB Calcolatori Elettronici 46

47 Control Hazard-Delay slot (a) From before ADD R1, R2, R3 if R2 = 0 then Delay slot (b) From target SUB R4, R5, R6 ADD R1, R2, R3 if R1 = 0 then Delay slot (c) From fall through ADD R1, R2, R3 if R1 = 0 then Delay slot SUB R4, R5, R6 Become s if R2 = 0 then ADD R1, R2, R3 Become s SUB R4,R5,R6 ADD R1, R2, R3 if R1 = 0 then SUB R4, R5, R6 Become s ADD R1, R2, R3 if R1 = 0 then SUB R4, R5, R6 Calcolatori Elettronici 47

48 Delayed Branch Where to get instructions to fill branch delay slot? Before branch instruction From the target address: only valuable when branch taken From fall through: only valuable when branch not taken Cancelling branches allow more slots to be filled Compiler effectiveness for single branch delay slot: Fills about 60 of branch delay slots About 80 of instructions executed in branch delay slots useful in computation About 50 (60 x 80) of slots usefully filled Calcolatori Elettronici 48

49 Pipeline performance con Hazard Speedup rispetto alla versione sequenziale CPU TIE = IC CPI TC Speedup = CPU CPU TIE TIE Sequenziale Pipeline = CPI CPI Seq Pipe T T CK CK Seq Pipe CPI = CPI + Pipe Ideale Nr Cicli di clock di stallo per istruzione Hp: Stage bilanciati, no overhead x pipeline, T CK Seq = T CK Pipe Speedup = 1+ Nr CPI Seq Cicli Stallo per Istruzione = 1 + Stadi della Pipe Nr Cicli Stallo per Istruzione Calcolatori Elettronici 49

50 Pipeline performance: esempio1 (1/2) Dato un programma con seguente instruction mix Lw 20 Sw 10 Branch 20 ALU 50 ipotizzando di avere un unica memoria, utilizzare il forwarding, calcolare l esito del branch nello stadio di Decode e che il 50 delle Lw è seguito da un istruzione che da essa dipende calcolare lo speedup dell architettura pipeline rispetto a una sequenziale. CPI Pipe =CPI ideale +Nr CicliStalloPerIstruzione = =1+f StructHazard *Stalli StructHazard + f Branch *Stalli Branch + f DataHazard_Lw *Stalli DataHazard_Lw Calcolatori Elettronici 50

51 Pipeline performance: esempio1 (2/2) Poiché f StructHazard = f Lw + f Sw =0,2+0,1=0,3 Stalli StructHazard =1 f Branch =0,2 Stalli Branch =1 f DataHazard_Lw =20*50=0,1 Stalli DataHazard_Lw =1 CPI Pipe = 1+ 0,3*1+0,2*1+0,1*1=1+0,6=1,6 Speedup = CPI CPI Seq Pipe = 1+ Stadi della Pipe Nr Cicli Stallo per Istruzione = 5 1,6 = 3,125 Calcolatori Elettronici 51

52 Pipeline performance: esempio2 (1/2) Dato un programma con seguente instruction mix Lw 25 Sw 15 Branch 20 ALU 40 ipotizzando di avere due memorie, di non utilizzare il forwarding, di calcolare l esito del branch nello stadio di emaccess, che il 30 delle istruzioni ALU ha una dipendenza dati con una istruzione a distanza 1 e il 10 delle istruzioni ALU ha una dipendenza dati con una istruzione a distanza 2, calcolare lo speedup dell architettura pipeline rispetto a una sequenziale. CPI Pipe =CPI ideale +Nr CicliStalloPerIstruzione = =1+f Branch *Stalli Branch + f DataHazard_ALU_Distanza1 *Stalli DataHazard_ALU_Distanza1 + f DataHazard_ALU_Distanza2 *Stalli DataHazard_ALU_Distanza1 Calcolatori Elettronici 52

53 Pipeline performance: esempio2 (2/2) Poiché f Branch =0,2 Stalli Branch =3 f DataHazard_ALU_Distanza1 =40*30=0,12 Stalli DataHazard_ALU_Distanza1 =2 f DataHazard_ALU_Distanza2 =40*10=0,04 Stalli DataHazard_ALU_Distanza2 =1 CPI Pipe = 1+ 0,2*3+0,12*2+0,04*1=1+0,6+0,24+0,04=1,88 Speedup = CPI CPI Seq Pipe = 1+ Stadi della Pipe Nr Cicli Stallo per Istruzione = 5 1,88 = 2,66 Calcolatori Elettronici 53

Organizzazione pipeline della CPU

Organizzazione pipeline della CPU Organizzazione pipeline della CPU Calcolatori Elettronici-Ingegneria Telematica 1 Eseczione seqenziale Eseczione_seqenziale.ee Calcolatori Elettronici-Ingegneria Telematica 2 Eseczione pipeline Eseczione_pipeline.ee

Dettagli

Tipi di esecuzione: Esecuzione sequenziale Esecuzione pipeline

Tipi di esecuzione: Esecuzione sequenziale Esecuzione pipeline Tipi di esecuzione: Esecuzione sequenziale Esecuzione pipeline Pipelining Lessons T a s k O r d e r 6 PM 7 8 9 Time 30 40 40 40 40 20 A B C D Pipelining doesn t help latency of single task, it helps throughput

Dettagli

Gestione degli hazard

Gestione degli hazard Gestione degli hazard etodologie di progettazione Hardware/Software- LS Ing. Informatica Limiti alla eseczione pipeline: i conflitti ( Hazard ) I conflitti (Hazard) impediscono che na istrzione venga esegita

Dettagli

Calcolatori Elettronici B a.a. 2005/2006

Calcolatori Elettronici B a.a. 2005/2006 Calcolatori Elettronici B a.a. 25/26 Tecniche Pipeline: Elementi di base assimiliano Giacomin Reg[IR[2-6]] = DR Dal processore multiciclo DR= em[aluout] em[aluout] =B Reg[IR[5-]] =ALUout CASO IPS lw sw

Dettagli

Calcolatori Elettronici B a.a. 2007/2008

Calcolatori Elettronici B a.a. 2007/2008 Calcolatori Elettronici B a.a. 27/28 Tecniche Pipeline: Elementi di base assimiliano Giacomin Reg[IR[2-6]] = DR Dal processore multiciclo DR= em[aluout] em[aluout] =B Reg[IR[5-]] =ALUout CASO IPS lw sw

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici Tecniche Pipeline: Elementi di base Massimiliano Giacomin 1 Esecuzione delle istruzioni MIPS con multiciclo: rivisitazione - esame dell istruzione lw (la più complessa) - in rosso

Dettagli

Come si definisce il concetto di performance? Tempo di esecuzione di un programma. numero di task/transazioni eseguiti per unità di tempo

Come si definisce il concetto di performance? Tempo di esecuzione di un programma. numero di task/transazioni eseguiti per unità di tempo Performance Come si definisce il concetto di performance? Tempo di esecuzione di un programma Wall-clock time CPU time tiene conto solo del tempo in cui il programma usa la CPU user time + system time

Dettagli

Calcolatori Elettronici T Ingegneria Informatica. ISA DLX: implementazione pipelined

Calcolatori Elettronici T Ingegneria Informatica. ISA DLX: implementazione pipelined Calcolatori Elettronici T Ingegneria Informatica ISA DL: implementazione pipelined Principio del Pipelining Il pipelining è oggi la principale tecnica di base impiegata per rendere veloce una CP. L idea

Dettagli

CALCOLATORI ELETTRONICI 27 giugno 2017

CALCOLATORI ELETTRONICI 27 giugno 2017 CALCOLATORI ELETTRONICI 27 giugno 2017 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1 Di seguito è riportato lo schema di una ALU a 32 bit in grado

Dettagli

Unità di controllo della pipeline

Unità di controllo della pipeline Unità di controllo della pipeline Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento al Patterson: 6.3 /5 Sommario La CPU

Dettagli

Sia per la II prova intercorso che per le prove di esame è necessaria la PRENOTAZIONE

Sia per la II prova intercorso che per le prove di esame è necessaria la PRENOTAZIONE Seconda Prova Intercorso ed Esami di Febbraio Lezione 24 Valutazione delle Prestazioni Vittorio Scarano rchitettura Corso di Laurea in Informatica Università degli Studi di Salerno Seconda prova intercorso:

Dettagli

Stall on load e Hazard sul controllo

Stall on load e Hazard sul controllo Stall on load e Hazard sul controllo Prof. N.Alberto Borghese Dipartimento di Informatica alberto.borghese@unimi.it Università degli Studi di Milano Riferimento al Patterson: 4.7, 4.8 1/38 Sommario Identificazione

Dettagli

Stall on load e Hazard sul controllo

Stall on load e Hazard sul controllo Stall on load e Hazard sul controllo Prof. N.Alberto Borghese Dipartimento di Informatica alberto.borghese@unimi.it Università degli Studi di Milano Riferimento al Patterson: 4.7, 4.8 1/38 Sommario Identificazione

Dettagli

Il pipelining: tecniche di base

Il pipelining: tecniche di base Definizione di pipelining Il pipelining: tecniche di base Architetture Avanzate dei Calcolatori E una tecnica per migliorare le prestazioni del processore basata sulla sovrapposizione dell esecuzione di

Dettagli

Instruction Level Parallelism Andrea Gasparetto

Instruction Level Parallelism Andrea Gasparetto Tutorato di architettura degli elaboratori Instruction Level Parallelism Andrea Gasparetto andrea.gasparetto@unive.it IF: Instruction Fetch (memoria istruzioni) ID: Instruction decode e lettura registri

Dettagli

La pipeline. Sommario

La pipeline. Sommario La pipeline Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento al Patterson edizione 5: 4.5 e 4.6 1/31 http:\\borghese.di.unimi.it\

Dettagli

La pipeline. Sommario

La pipeline. Sommario La pipeline Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento al Patterson edizione 5: 4.5 e 4.6 1/28 http:\\borghese.di.unimi.it\

Dettagli

Il pipelining: tecniche di base

Il pipelining: tecniche di base Il pipelining: tecniche di base Il pipelining E una tecnica per migliorare le prestazioni del processore basata sulla sovrapposizione dell esecuzione di più istruzioni appartenenti ad un flusso di esecuzione

Dettagli

Un quadro della situazione. Cosa abbiamo fatto. Lezione 30 Valutazione delle Prestazioni. Dove stiamo andando.. Perché:

Un quadro della situazione. Cosa abbiamo fatto. Lezione 30 Valutazione delle Prestazioni. Dove stiamo andando.. Perché: Un quadro della situazione Lezione 3 Valutazione delle Prestazioni Vittorio Scarano rchitettura Corso di Laurea in Informatica Università degli Studi di Salerno Input/Output Sistema di Interconnessione

Dettagli

Architettura dei calcolatori e sistemi operativi. Pipelining e Hazard Capitolo 4 P&H

Architettura dei calcolatori e sistemi operativi. Pipelining e Hazard Capitolo 4 P&H Architettura dei calcolatori e sistemi operativi Pipelining e Hazard Capitolo 4 P&H 16. 11. 2015 Problema dei conflitti Conflitti strutturali: tentativo di usare la stessa risorsa da parte di diverse istruzioni

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

Richiami sull architettura del processore MIPS a 32 bit Caratteristiche principali dell architettura del processore MIPS Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini E un architettura RISC

Dettagli

Il processore: unità di elaborazione

Il processore: unità di elaborazione Il processore: unità di elaborazione Architetture dei Calcolatori (lettere A-I) Progettazione dell unità di elaborazioni dati e prestazioni Le prestazioni di un calcolatore sono determinate da: Numero

Dettagli

CALCOLATORI ELETTRONICI 14 giugno 2010

CALCOLATORI ELETTRONICI 14 giugno 2010 CALCOLATORI ELETTRONICI 14 giugno 2010 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche di AND, OR e NOT la funzione combinatoria (a

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

Richiami sull architettura del processore MIPS a 32 bit Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini Caratteristiche principali dell architettura del processore MIPS E un architettura RISC

Dettagli

Stall on load e Hazard sul controllo. Sommario

Stall on load e Hazard sul controllo. Sommario Stall on load e Hazard sul controllo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento al Patterson: 4.7, 4.8 1/31 Sommario

Dettagli

Università degli Studi di Cassino e del Lazio Meridionale

Università degli Studi di Cassino e del Lazio Meridionale Università degli Studi di Cassino e del Lazio Meridionale di Calcolatori Elettronici Realizzazione del Data path a ciclo singolo Anno Accademico 22/23 Alessandra Scotto di Freca Si ringrazia il prof.francesco

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici Tecniche Pipeline: Elementi di base (ESERCIZI) assimiliano Giacomin Esercizio confronto prestazioni pipeline vs. mlticiclo Si consideri la segente combinazione di istrzioni esegite

Dettagli

Architettura degli Elaboratori Gestione dei control-hazard nella pipeline. Prof. Andrea Sterbini

Architettura degli Elaboratori Gestione dei control-hazard nella pipeline. Prof. Andrea Sterbini Architettura degli Elaboratori Gestione dei control-hazard nella pipeline Prof. Andrea Sterbini sterbini@di.uniroma1.it Argomenti - Spostare Jump nella fase IF - Come gestire i control hazard - Eliminare

Dettagli

CALCOLATORI ELETTRONICI 30 agosto 2010

CALCOLATORI ELETTRONICI 30 agosto 2010 CALCOLATORI ELETTRONICI 30 agosto 2010 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche di AND, OR e NOT la funzione combinatoria (a

Dettagli

Il pipelining: criticità sul controllo ed eccezioni

Il pipelining: criticità sul controllo ed eccezioni Il pipelining: criticità sul controllo ed eccezioni Architetture Avanzate dei Calcolatori Valeria Cardellini Criticità sul controllo Criticità sul controllo: tentativo di prendere una decisione sulla prossima

Dettagli

Problemi del ciclo singolo

Problemi del ciclo singolo Problemi del ciclo singolo Ciclo di clock lungo Istruzioni potenzialmente veloci sono rallentate Impiegano sempre lo stesso tempo dell istruzione più lenta Unità funzionale e collegamenti della parte operativa

Dettagli

Calcolatori Elettronici T. ISA DLX: Implementazione Tramite Struttura Pipelined

Calcolatori Elettronici T. ISA DLX: Implementazione Tramite Struttura Pipelined Calcolatori Elettronici T ISA L: Implementazione Tramite Struttura Pipelined 1 Principio del Pipelining Il pipelining è oggi la principale tecnica di base impiegata per rendere veloce una CP. L idea alla

Dettagli

Università degli Studi di Cassino e del Lazio Meridionale

Università degli Studi di Cassino e del Lazio Meridionale Università degli Studi di Cassino e del Lazio Meridionale di Pipeline Anno Accademico Alessandra Scotto di Freca Si ringrazia il prof.francesco Tortorella per il materiale didattico Progettazione del datapath

Dettagli

Architettura dei calcolatori e sistemi operativi. Il processore pipeline Capitolo 4 P&H

Architettura dei calcolatori e sistemi operativi. Il processore pipeline Capitolo 4 P&H Architettura dei calcolatori e sistemi operativi Il processore pipeline Capitolo 4 P&H 4. 11. 2015 Pipelining Tecnica per migliorare le prestazioni basata sulla sovrapposizione dell esecuzione di più istruzioni

Dettagli

CALCOLATORI ELETTRONICI 20 gennaio 2012

CALCOLATORI ELETTRONICI 20 gennaio 2012 CALCOLATORI ELETTRONICI 20 gennaio 2012 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si disegni lo schema di un flip-flop master-slave S-R sensibile ai fronti di salita

Dettagli

L unità di controllo di CPU multi-ciclo. Sommario

L unità di controllo di CPU multi-ciclo. Sommario L unità di controllo di CPU multi-ciclo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento sul Patterson: Sezione C3 1/24

Dettagli

CALCOLATORI ELETTRONICI 29 giugno 2015

CALCOLATORI ELETTRONICI 29 giugno 2015 CALCOLATORI ELETTRONICI 29 giugno 2015 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1. Relativamente al confronto tra le implementazioni del processore

Dettagli

Calcolatori Elettronici B a.a. 2005/2006

Calcolatori Elettronici B a.a. 2005/2006 Calcolatori Elettronici B a.a. 25/26 Tecniche di Controllo: Esercizi assimiliano Giacomin Due tipologie di esercizi Calcolo delle prestazioni nei sistemi a singolo ciclo e multiciclo (e confronto) Implementazione

Dettagli

Fasi (MIPS) Dove NPC è un registro temporaneo PC (program counter) è il registro IP (instruction pointer)

Fasi (MIPS) Dove NPC è un registro temporaneo PC (program counter) è il registro IP (instruction pointer) Fasi (MIPS) Fasi senza pipeline: IF (istruction fetch): IR Mem[PC] ; NPC PC + 4 ; Dove NPC è un registro temporaneo PC (program counter) è il registro IP (instruction pointer) Lezione Architettura degli

Dettagli

CPU pipeline hazards

CPU pipeline hazards Architettura degli Elaboratori e delle Reti Lezione 23 CPU pipeline hazards Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 23 /24 Sommario!

Dettagli

L unità di controllo di CPU a singolo ciclo

L unità di controllo di CPU a singolo ciclo L unità di controllo di CPU a singolo ciclo Prof. Alberto Borghese Dipartimento di Informatica alberto.borghese@unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4, D,

Dettagli

CALCOLATORI ELETTRONICI 9 settembre 2011

CALCOLATORI ELETTRONICI 9 settembre 2011 CALCOLATORI ELETTRONICI 9 settembre 2011 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche AND, OR e NOT la funzione combinatoria (a

Dettagli

L unità di controllo di CPU multi-ciclo

L unità di controllo di CPU multi-ciclo L unità di controllo di CPU multi-ciclo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento sul Patterson: Sezione D3

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici CPU a singolo ciclo assimiliano Giacomin Schema del processore (e memoria) Unità di controllo PC emoria indirizzo IR Condizioni SEGNALI DI CONTROLLO dato letto UNITA DI ELABORAZIONE

Dettagli

Calcolatori Elettronici B a.a. 2004/2005

Calcolatori Elettronici B a.a. 2004/2005 Calcolatori Elettronici B a.a. 2004/2005 Tecniche di Controllo: Esercizi Massimiliano Giacomin Calcolo CPI e Prestazioni nei sistemi a singolo ciclo e multiciclo ) Calcolo prestazioni nei sistemi a singolo

Dettagli

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Realizzazione del Data path Data path a ciclo singolo Anno Accademico 27/28 Francesco Tortorella (si ringrazia il prof. M. De Santo per parte del materiale presente in queste slides) Realizzazione

Dettagli

CALCOLATORI ELETTRONICI A 25 gennaio 2011

CALCOLATORI ELETTRONICI A 25 gennaio 2011 CALCOLATORI ELETTRONICI A 25 gennaio 2011 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Supponendo di avere a disposizione dei sommatori full adder (3 ingressi e due uscite)

Dettagli

Pipeline criticità e forwarding

Pipeline criticità e forwarding 1 Pipeline criticità e forwarding Prof. Alberto Borghese Dipartimento di Informatica alberto.borghese@unimi.it Università degli Studi di Milano Riferimento al Patterson: 4.5, 4.6 1/42 Sommario La CPU con

Dettagli

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Realizzazione del path path a ciclo singolo Anno Accademico 24/25 Francesco Tortorella Realizzazione del data path. Analizzare l instruction set => Specifiche sul datapath il significato di ciascuna

Dettagli

CALCOLATORI ELETTRONICI B 23 giugno 2008

CALCOLATORI ELETTRONICI B 23 giugno 2008 CALCOLATORI ELETTRONICI B 23 gigno 28 NOE: COGNOE: ATR: Scrivere chiaramente in caratteri maiscoli a stampa. Si considerino, mostrati nelle figre alla pagina segente, il datapath ed il diagramma a stati

Dettagli

Progettazione dell unità di elaborazioni dati e prestazioni. Il processore: unità di elaborazione. I passi per progettare un processore

Progettazione dell unità di elaborazioni dati e prestazioni. Il processore: unità di elaborazione. I passi per progettare un processore Il processore: unità di elaborazione Architetture dei Calcolatori (lettere A-I) Progettazione dell unità di elaborazioni dati e prestazioni Le prestazioni di un calcolatore sono determinate da: Numero

Dettagli

Lezione di Tutorato Di Architettura degli Elaboratori B 18/05/2005 SOLUZIONI: PIPELINE

Lezione di Tutorato Di Architettura degli Elaboratori B 18/05/2005 SOLUZIONI: PIPELINE SOLUZIONI: PIPELINE Consegna per le domande del compito: (da 3 a 5 domande) Rispondere alle seguenti domande in maniera sintetica, usando il presente foglio per scrivere le risposte. Non è possibile consultare

Dettagli

Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini

Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock Prof. Andrea Sterbini sterbini@di.uniroma1.it Argomenti Progetto della CPU MIPS a 1 colpo di clock - Istruzioni da implementare - Unità

Dettagli

CPU a ciclo multiplo: l unità di controllo

CPU a ciclo multiplo: l unità di controllo Architettura degli Elaboratori e delle Reti Lezione 2 CPU a ciclo multiplo: l unità di controllo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Architettura della CPU multi-ciclo

Architettura della CPU multi-ciclo Architettura della CPU multi-ciclo Architettura degli Elaboratori e delle Reti, Turno I Alberto Borghese Università degli Studi di Milano Dipartimento di Scienze dell Informazione email: borghese@dsi.unimi.it

Dettagli

CALCOLATORI ELETTRONICI 9 gennaio 2013

CALCOLATORI ELETTRONICI 9 gennaio 2013 CALCOLATORI ELETTRONICI 9 gennaio 2013 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche di AND, OR e NOT la funzione combinatoria (a

Dettagli

Gestione delle eccezioni (CPU multiciclo) La CPU pipeline

Gestione delle eccezioni (CPU multiciclo) La CPU pipeline Architettura degli Elaboratori e delle Reti Lezione 22 Gestione delle eccezioni (CPU multiciclo) La CPU pipeline A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi

Dettagli

L unità di controllo di CPU a singolo ciclo

L unità di controllo di CPU a singolo ciclo L unità di controllo di CPU a singolo ciclo Prof. Alberto Borghese Dipartimento di Informatica alberto.borghese@unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4, D1,

Dettagli

Classificazione dipendenze

Classificazione dipendenze Classificazione dipendenze 1a. EX/MEM.RegisterRd = ID/EX.registerRs 1b. EX/MEM.RegisterRd = ID/EX.registerRt Il registro (campo Rs oppure Rt di una istruzione) che è stato letto nella fase ID ed il cui

Dettagli

CPU a ciclo multiplo

CPU a ciclo multiplo Architettura degli Elaboratori e delle Reti Lezione CPU a ciclo multiplo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 1/8 Sommario! I problemi

Dettagli

Hazard sul controllo. Sommario

Hazard sul controllo. Sommario Hazard sul controllo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento al Patterson: 4.7, 4.8 1/30 Sommario Riorganizzazione

Dettagli

CALCOLATORI ELETTRONICI 15 giugno 2015

CALCOLATORI ELETTRONICI 15 giugno 2015 CALCOLATORI ELETTRONICI 15 giugno 2015 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche di AND, OR e NOT la funzione combinatoria (a

Dettagli

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa) Processore Memoria Control (Parte di controllo) Datapath (Parte operativa) I/O Parte di Controllo La Parte Controllo (Control) della CPU è un circuito sequenziale istruzioni eseguite in più cicli di clock

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici CPU multiciclo Massimiliano Giacomin SVANTAGGI DEL PROCESSORE A SINGOLO CICLO Tutte le istruzioni lunghe un ciclo di clock T clock determinato dall istruzione più lenta Istruzioni

Dettagli

CPU a ciclo multiplo

CPU a ciclo multiplo Architettura degli Elaboratori e delle Reti Lezione CPU a ciclo multiplo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L /9 Sommario! I problemi

Dettagli

CALCOLATORI ELETTRONICI 27 marzo 2018

CALCOLATORI ELETTRONICI 27 marzo 2018 CALCOLATORI ELETTRONICI 27 marzo 2018 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche di AND, OR e NOT la funzione combinatoria (a

Dettagli

ESERCIZIO 1. Sia dato il seguente ciclo di un programma in linguaggio ad alto livello:

ESERCIZIO 1. Sia dato il seguente ciclo di un programma in linguaggio ad alto livello: ESERIZIO 1 Sia dato il seguente ciclo di un programma in linguaggio ad alto livello: do { BASE[i] = BASEA[i] + BASEB[i] + IN1 + IN2; i++; } while (i!= N) Il programma sia stato compilato nel seguente codice

Dettagli

L'architettura del processore MIPS

L'architettura del processore MIPS L'architettura del processore MIPS Piano della lezione Ripasso di formati istruzione e registri MIPS Passi di esecuzione delle istruzioni: Formato R (istruzioni aritmetico-logiche) Istruzioni di caricamento

Dettagli

Progetto CPU (ciclo singolo)

Progetto CPU (ciclo singolo) Progetto CPU (ciclo singolo) Salvatore Orlando Arch. Elab. - S. Orlando 1 Processore: Datapath & Control Possiamo finalmente vedere il progetto di un processore MIPS-like semplificato Semplificato in modo

Dettagli

Progetto CPU (ciclo singolo) Salvatore Orlando

Progetto CPU (ciclo singolo) Salvatore Orlando Progetto CPU (ciclo singolo) Salvatore Orlando Arch. Elab. - S. Orlando 1 Processore: Datapath & Control Possiamo finalmente vedere il progetto di un processore MIPS-like semplificato Semplificato in modo

Dettagli

Esercitazione su Instruction Level Parallelism Salvatore Orlando

Esercitazione su Instruction Level Parallelism Salvatore Orlando Esercitazione su Instruction Level Parallelism Salvatore Orlando Arch. Elab. - S. Orlando 1 Pipeline con e senza forwarding Si considerino due processori MIPS (processore A e B) entrambi con pipeline a

Dettagli

Stall on load. Sommario

Stall on load. Sommario Stall on load Prof. N.Alberto Borghese Dipartimento di Informatica alberto.borghese@unimi.it Università degli Studi di Milano Riferimento al Patterson: 4.7, 4.8 1/24 Sommario Identificazione delle criticità

Dettagli

Pipelining: Unità di Elaborazione e di Controllo Barbara Masucci

Pipelining: Unità di Elaborazione e di Controllo Barbara Masucci Architettura degli Elaboratori Pipelining: Unità di Elaborazione e di Controllo Barbara Masucci Punto della situazione Ø Abbiamo studiato Ø Una prima implementazione hardware (a ciclo singolo) di un sottoinsieme

Dettagli

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa) Processore Memoria Control (Parte di controllo) Datapath (Parte operativa) I/O Memoria La dimensione del Register File è piccola registri usati per memorizzare singole variabili di tipo semplice purtroppo

Dettagli

Cicli di clock e istruzioni

Cicli di clock e istruzioni Cicli di clock e istruzioni Numero di cicli di clock differenti per istruzioni differenti Le moltiplicazioni impiegano più tempo delle addizioni Operazioni in virgola mobile impiegano più tempo delle operazioni

Dettagli

Instruction Level Parallelism Salvatore Orlando

Instruction Level Parallelism Salvatore Orlando Instruction Level Parallelism Salvatore Orlando Arch. Elab. - S. Orlando 1 Organizzazione parallela del processore I processori moderni hanno un organizzazione interna che permette di eseguire più istruzioni

Dettagli

Instruction Level Parallelism

Instruction Level Parallelism Instruction Level Parallelism Salvatore Orlando Arch. Elab. - S. Orlando 1 Organizzazione parallela del processore I processori moderni hanno un organizzazione interna che permette di eseguire più istruzioni

Dettagli

Processore: Datapath & Control. Progetto CPU (ciclo singolo) Rivediamo i formati delle istruzioni. ISA di un MIPS-lite

Processore: Datapath & Control. Progetto CPU (ciclo singolo) Rivediamo i formati delle istruzioni. ISA di un MIPS-lite Processore: Datapath & Control Possiamo finalmente vedere il progetto di un processore MIPS-like semplificato Progetto CPU (ciclo singolo) Semplificato in modo tale da eseguire solo: istruzioni di memory-reference:

Dettagli

Instruction Level Parallelism Salvatore Orlando

Instruction Level Parallelism Salvatore Orlando Instruction Level Parallelism Salvatore Orlando Arch. Elab. - S. Orlando 1 Organizzazione parallela del processore I processori moderni hanno un organizzazione interna che permette di eseguire più istruzioni

Dettagli

CPU multiciclo eccezioni CPU pipeline

CPU multiciclo eccezioni CPU pipeline Architettura degli Elaboratori e delle Reti Lezione 22 CPU multiciclo eccezioni CPU pipeline Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Arch. Elab. - S. Orlando 2. ma aumentiamo il rate di accesso alla memoria (per leggere istruzioni e. leggere/scrivere dati) von Neumann bottleneck

Arch. Elab. - S. Orlando 2. ma aumentiamo il rate di accesso alla memoria (per leggere istruzioni e. leggere/scrivere dati) von Neumann bottleneck Instruction Level Parallelism Salvatore Orlando Arch. Elab. - S. Orlando 1 Pipeline Le unità funzionali (lavatrice, asciugatrice, stiratrice, armadio) sono usate sequenzialmente per eseguire i vari job

Dettagli

Calcolatori Elettronici B a.a. 2006/2007

Calcolatori Elettronici B a.a. 2006/2007 Calcolatori Elettronici B a.a. 26/27 Tecniche di Controllo: Esercizi Massimiliano Giacomin Due tipologie di esercizi Calcolo delle prestazioni nei sistemi a singolo ciclo e multiciclo (e confronto) Implementazione

Dettagli

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Data path multiciclo Anno Accademico 2007/2008 Francesco Tortorella Problemi dell implementazione singolo ciclo Arithmetic & Logical PC Inst Memory Reg File mux ALU mux setup Load PC Inst Memory

Dettagli

Una CPU multi-ciclo. Sommario

Una CPU multi-ciclo. Sommario Una CPU multi-ciclo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano 1/3 http:\\homes.dsi.unimi.it\ borghese Sommario I problemi della

Dettagli

Architettura degli Elaboratori B Introduzione al corso

Architettura degli Elaboratori B Introduzione al corso Architettura degli Elaboratori B Introduzione al corso Salvatore Orlando Arch. Elab. - S. Orlando 1 Componenti di un calcolatore convenzionale Studieremo il progetto e le prestazioni delle varie componenti

Dettagli

Architettura degli elaboratori - II Le architetture multi-ciclo

Architettura degli elaboratori - II Le architetture multi-ciclo Architettura degli elaboratori - II Le architetture multi-ciclo Prof. Alberto Borghese Dipartimento di Informatica alberto.borghese@unimi.it Università degli Studi di Milano 1/41 Sommario Principi ispiratori

Dettagli

CALCOLATORI ELETTRONICI 15 aprile 2014

CALCOLATORI ELETTRONICI 15 aprile 2014 CALCOLATORI ELETTRONICI 15 aprile 2014 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1 Di seguito è riportato lo schema di una ALU a 32 bit in grado

Dettagli

Esercitazione su Instruction Level Parallelism

Esercitazione su Instruction Level Parallelism Esercitazione su Instruction Level Parallelism Salvatore Orlando Arch. Elab. - S. Orlando 1 Pipeline con e senza forwarding Si considerino due processori MIPS (processore A e B) entrambi con pipeline a

Dettagli

CPU pipeline 3 criticità di dati e di controllo

CPU pipeline 3 criticità di dati e di controllo Architettura degli Elaboratori e delle Reti Lezione 24 CPU pipeline 3 criticità di dati e di controllo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi

Dettagli

A c r h c i h te t t e t t u t r u a r d g e li e l e abo b ra r t a o t ri Pipeline

A c r h c i h te t t e t t u t r u a r d g e li e l e abo b ra r t a o t ri Pipeline Architettura degli elaboratori Pipeline ARGOMENTI DELLA LEZIONE Miglioramenti Macchina di Von Neumann Interruzione Canalizzazione o pipeline Cache Multi core (cenni) Architettura degli elaboratori PIPELINE

Dettagli

Lecture 15 (Fri 10/31/2008) Stalls and flushes

Lecture 15 (Fri 10/31/2008) Stalls and flushes Lecture 5 (Fri /3/28) Lab #2 Software Due Today! Fri Oct 3 at 5pm Lab #2 Hardware Due Fri Nov 7 at 5pm Today s objectives: Pipelining: more hazards & control hazards (problems) stalls and flushes (solutions)

Dettagli

Lezione 29 Il processore: unità di controllo (2)

Lezione 29 Il processore: unità di controllo (2) Lezione 29 Il processore: unità di lo (2) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Organizzazione della lezione 2 Un riepilogo: ruolo della unità di

Dettagli

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico Architettura degli Elaboratori e Laboratorio Matteo Manzali Università degli Studi di Ferrara Anno Accademico 2016-2017 Lavanderia Assumiamo di avere: una lavatrice (richiede 30 minuti) una asciugatrice

Dettagli

Università degli Studi di Cassino e del Lazio Meridionale

Università degli Studi di Cassino e del Lazio Meridionale di Cassino e del Lazio Meridionale Corso di Pipeline Anno Accademico Francesco Tortorella Progettazione del datapath Prima soluzione: d.p. a ciclo singolo Semplice da realizzare Condizionato dal worst

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Progetto CPU (multiciclo) slide a cura di Salvatore Orlando e Marta Simeoni Problemi con progetto a singolo ciclo Problemi del singolo ciclo! Ciclo di clock lungo! Istruzioni potenzialmente più veloci

Dettagli

Instruction Level Parallelism Salvatore Orlando

Instruction Level Parallelism Salvatore Orlando Instruction Level Parallelism Salvatore Orlando Arch. Elab. - S. Orlando 1 Organizzazione parallela del processore I processori moderni hanno un organizzazione interna che permette di eseguire più istruzioni

Dettagli