Organizzazione pipeline della CPU
|
|
- Franco Graziano
- 4 anni fa
- Visualizzazioni
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 Calcolatori Elettronici-Ingegneria Telematica 1 Eseczione seqenziale Eseczione_seqenziale.ee Calcolatori Elettronici-Ingegneria Telematica 2 Eseczione pipeline Eseczione_pipeline.ee
DettagliTipi 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
DettagliGestione 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
DettagliCalcolatori 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
DettagliCalcolatori 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
DettagliCalcolatori 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
DettagliCome 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
DettagliCalcolatori 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
DettagliCALCOLATORI 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
DettagliUnità 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
DettagliSia 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:
DettagliStall 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
DettagliStall 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
DettagliIl 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
DettagliInstruction 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
DettagliLa 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\
DettagliLa 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\
DettagliIl 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
DettagliUn 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
DettagliArchitettura 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
DettagliRichiami 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
DettagliIl 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
DettagliCALCOLATORI 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
DettagliRichiami 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
DettagliStall 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
DettagliUniversità 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
DettagliCalcolatori 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
DettagliArchitettura 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
DettagliCALCOLATORI 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
DettagliIl 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
DettagliProblemi 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
DettagliCalcolatori 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
DettagliUniversità 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
DettagliArchitettura 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
DettagliCALCOLATORI 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
DettagliL 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
DettagliCALCOLATORI 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
DettagliCalcolatori 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
DettagliFasi (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
DettagliCPU 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!
DettagliL 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,
DettagliCALCOLATORI 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
DettagliL 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
DettagliCalcolatori 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
DettagliCalcolatori 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
DettagliUniversità 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
DettagliCALCOLATORI 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)
DettagliPipeline 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
DettagliUniversità 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
DettagliCALCOLATORI 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
DettagliProgettazione 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
DettagliLezione 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
DettagliArchitettura 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à
DettagliCPU 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
DettagliArchitettura 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
DettagliCALCOLATORI 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
DettagliGestione 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
DettagliL 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,
DettagliClassificazione 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
DettagliCPU 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
DettagliHazard 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
DettagliCALCOLATORI 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
DettagliProcessore. 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
DettagliCalcolatori 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
DettagliCPU 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
DettagliCALCOLATORI 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
DettagliESERCIZIO 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
DettagliL'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
DettagliProgetto 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
DettagliProgetto 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
DettagliEsercitazione 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
DettagliStall 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à
DettagliPipelining: 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
DettagliProcessore. 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
DettagliCicli 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
DettagliInstruction 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
DettagliInstruction 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
DettagliProcessore: 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:
DettagliInstruction 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
DettagliCPU 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
DettagliArch. 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
DettagliCalcolatori 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
DettagliUniversità 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
DettagliUna 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
DettagliArchitettura 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
DettagliArchitettura 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
DettagliCALCOLATORI 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
DettagliEsercitazione 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
DettagliCPU 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
DettagliA 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
DettagliLecture 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)
DettagliLezione 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
DettagliArchitettura 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
DettagliUniversità 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
DettagliArchitettura 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
DettagliInstruction 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