Trend di sviluppo delle pipeline. Prof. Alberto Borghese Dipartimento di Informatica Università degli Studi di Milano
|
|
- Dorotea Romano
- 5 anni fa
- Visualizzazioni
Transcript
1 Trend di sviluppo delle pipeline Prof. Alberto Borghese Dipartimento di Informatica Università degli Studi di Milano Patterson 4.10, /44 Sommario Superpipeline Multiple-Issue Statici Multiple-Issue Dinamici Architetture SIMD Alcune pipeline 2/44 1
2 CPU con pipeline completa della gestione degli hazard IPC = # Istruzioni per ciclo di clock = 5 3/44 Ciclo di esecuzione di un istruzione MIPS Prelievo istruzione (fase di fetch) Decodifica Calcolo Lettura / scrittura Esecuzione Write back 4/44 2
3 Pipeline avanzate: esecuzione parallela Instruction level parallelism (ILP), parallelismo implicito. Come si può aumentare? Superpipelining (pipeline più lunga). M ultiple-issue (esecuzione parallela di un issue packet). Static multiple issues (schedulazione decisa dal compilatore) Dynamic multiple issues (schedulazione decisa run-time dalla CPU). Corrisponde alla suddivisione del lavoro tra SW e HW, cioè tra il compilatore ed il processore. Speculazione e Scheduling dinamico. 5/44 Superpipeline Pipeline più lunghe (Arm A-8 e Intel Core i7 hanno 14 stadi). Teoricamente: guadagno in velocità proporzionale al numero di stadi. Problemi: Criticità sui dati: stalli più frequenti. Criticità sul controllo: numero maggiore di stadi di cui annullare l esecuzione (flush). Maggior numero di registri: il clock non si riduce linearmente con il numero degli stadi, perché? 6/44 3
4 Superpipeline Pipeline più lunghe (e.g. Digital DecAlpha 21264, 5-7 stadi). Teoricamente: guadagno in velocità proporzionale al numero di stadi. Fig Problemi: Criticità sui dati: stalli più frequenti. Criticità sul controllo: numero maggiore di stadi di cui annullare l esecuzione. M aggior numero di registri: il clock non si riduce linearmente con il numero degli stadi. 7/44 Superpipeline Multiple-Issue Statici Multiple-Issue Dinamici Architetture SIMD Alcune pipeline Sommario 8/44 4
5 Principi di una pipeline Multiple Issue Instructions Per Clock cycle (IPC) = 5 * 29/44 = 10 Struttura Pipeline Multiple Issue statico Fetch VLIW (Issue packet) Decodifica Verso le code di esecuzione Esistono dei vincoli su quali istruzioni inserire nello stesso issue packet (VLIW) L ordine di esecuzione viene deciso dal compilatore. Primi progetti: Itanium (2000), Itanium-2 (2002) by Intel. 10/44 5
6 Multiple-issue statici: il MIPS64 8 Inserire Fig /44 Schedulazione delle istruzioni in MIPS a 2 Vie (MIPS64) La prima via è riservata alle operazioni aritmetico-logiche o di branch La seconda via è riservata alle operazioni di load / store (load / store architecture) Tipo di istruzioni Stadi di pipeline ALU o salto IF ID EX MEM WB Load o store IF ID EX MEM WB ALU o salto IF ID EX MEM WB Load o store IF ID EX MEM WB ALU o salto IF ID EX MEM WB Load o store IF ID EX MEM WB ALU o salto IF ID EX MEM WB Load o store IF ID EX MEM WB CPI = 0,5 2 istruzioni per ogni ciclo di clock. E vero? 12/44 6
7 Problemi nella creazione dello issue packet Hazard sul controllo. Due istruzioni vengono eliminate dalla pipeline. Hazard sui dati oltre a quelli insiti nel codice sequenziale, si generano hazard dovuti alla parallelizzazione del codice. add $t0, $t1, $t2 Non provoca stallo su una pipeline single issue lw $s0, 40($t0) stallo di 1 istruzione nella pipeline a due vie: Q1 Q2 è errata: add $t0, $t1, $t2 lw $s0, 40($t0) è corretta: add $t0, $t1, $t2 nop nop lw $s0, 40($t0) Hazard sui dati (stall on load). lw $s0, 40($t0) Provoca stallo di 1 istruzione su una pipeline single issue add $t0, $t1, $s0 Provoca stallo di 2 istruzioni nella pipeline a due vie: Q1 Q2 è errata: add $t0, $t1, $s0 lw $s0, 40($t0) è corretta: nop lw $s0, 40($t0) nop nop add $t0, $t1, $s0 nop 13/44 Esempio Ciclo: lw $t0, 0($s1) addu $t0, $t0, $t2 sw $t0, 4($t0) addi $s1, $s1, -4 bne $s1, $zero, Ciclo or $s6, $s7, $s5 Senza riorganizzazione del codice, occorre inserire una bubble dopo la lw Il contenuto del registro $t0 viene riscritto da 3 istruzioni consecutive, non fa a tempo a depositarsi nel register file. Ciclo: lw $t0, 0($s1) 1 addi $s1, $s1, -4 SW 2 addu $t0, $t0, $s2 SW 3 bne $s1, $zero, Ciclo sw $t0, 4($s1) 4 or $s6, $s7, $s5 5 X X IPC =? 14/44 7
8 Sommario Superpipeline Multiple-Issue Statici Multiple-Issue Dinamici Architetture SIMD Alcune pipeline 15/44 Dynamic multiple issues Questi processori sono detti anche superscalari. La scelta di quali istruzioni inviare alla pipe-line viene eseguita durante l esecuzione stessa. Dipende dalla compatibilità tra le varie istruzioni e da eventuali hazard su dati e controllo. Nella versione più semplice, le istruzioni sono processate in sequenza ed il processore decide se elaborarne nessuna (stallo), una o più di una a seconda delle criticità riscontrate. L ottimizzazione del codice da parte del compilatore è comunque richiesta. E la CPU che garantisce la correttezza dell esecuzione. 16/44 8
9 Confronto tra Multiple-issue statici e dinamici L hardware di una pipe-line superscalare garantisce la correttezza del codice. Il codice verrà eseguito correttamente qualunque sia la CPU sul quale viene fatto girare (purchè contenga l ISA su cui il codice è basato!). Nelle multiple-issue statiche, spesso occorre ricompilare passando da una CPU ad un altra oppure il codice può girare con prestazioni molto scadenti. Nelle multiple-issue dinamiche, ciò non è necessario. La speculazione può essere fatta sia dal compilatore (multiple-issue statici, SW) che dal processore (multiple-issue dinamici, HW). 17/44 Ciclo di esecuzione di un istruzione MIPS Fetch and decode (scheduling) Prelievo istruzione (fase di fetch) Decodifica Esecuzione Calcolo Accesso memoria Commit Write back / scrittura memoria 18/44 9
10 3 3 Pipeline con schedulazione dinamica Criticità sui dati (e sul controllo!) Esistono diversi cammini paralleli (per la fase di esecuzione e memoria) dell istruzione, vengono scelti dinamicamente, run-time. 19/44 add $t0, $t1, $t2 sub $s0, $s1, $s2 beq $s3, $s4, salta or $f5, $f6, $f7 lw $t4, 20($t5) Esempio Fetch and decode (scheduling) #s1, #s2, sub #s0 #t1, #t2, add #t0 #s3, #s4, diff PC, costante #f5, #f6, or #f7 #t5, 20, read #t ALUfp Memoria Commit Buffer da cui si trasferisce a memoria o register file 20/44 10
11 Principi della schedulazione dinamica Obbiettivo: mettere in esecuzione istruzioni che non presentino criticità. Le istruzioni vengono bufferizzate dalla reservation station, la quale gestisce la coda delle istruzioni che hanno bisogno della stessa unità funzionale. Al termine dell esecuzione la commit unit, provvede ad ordinare i risultati delle istruzioni nella sequenza con la quale devono essere restituiti. Per eseguire un operazione è sufficiente che il dato sia già pronto nella reservation station e nel reorder buffer, contenuto nella commit unit, senza che sia necessariamente scritto nel register file. Un operazione viene lanciata, quando i dati sono pronti. Se un dato non è pronto viene inserita un etichetta che associa (traccia) il dato al cammino che lo deve produrre. Quando il dato viene eseguito, tramite etichetta si libera il blocco all esecuzione dell istruzione. NB Le istruzioni non sono eseguite sequenzialmente. 21/44 La speculazione Ricorso massiccio alla speculazione (= immaginare degli scenari). La speculazione richiede l analisi del valore assunto run-time dai registri. La speculazione consente di spostare le istruzioni all interno del codice per rimuovere l hazard. Esempio: si può speculare sul risultato di una branch, e quindi inserire nel branch delay slot l istruzione opportuna. Esempio: si può speculare che una sw non abbia come indirizzo di memoria lo stesso della lw successiva. In questo caso, si possono scambiare le due istruzioni. sw $t0, 4($s0) lw $t1, 16($s0) Solo se gli indirizzi di memoria sono indipendenti, posso scambiare l ordine di lettura e scrittura dalla memoria (questo sia che i registri base siano uguali o diversi). 22/44 11
12 Register renaming Il compilatore può utilizzare la speculazione per riordinare le istruzioni, decidere il nome dei registri della pipeline da associare ai registri del register file (visibili al programmatore). M appatura dei registri del register file sui registri interni di pipeline. Register renaming. Posso associare più registri interni ad uno stesso registro dell architettura in modo da evitare hazard. Esempio: lw $t0, 20($t1) add $s0, $t0, $t1 lw $t0, 24($t1) add $s1, $t0, $t2 hazard che si crea con la parallelizzazione del codice coppie di istruzioni da eseguire in parallelo Questa dipendenza non ci sarebbe se allocassi alla seconda coppia di istruzioni un registro diverso. Codice all interno della pipeline dopo il renaming: lw $t01, 20($t1) add $s0, $t01, $t1 lw $t02, 24($t1) add $s1, $t02, $t2 23/44 Register renaming lw $t0, 20($t1) add $s0, $t0, $t1 sub $s0, $t1, $t0 add $t1, $s0, $t2 Se invio ad esecuzione questo codice in parallelo, quale valore considero per $s0? E un altra forma di criticita, dovuta al fatto che utilizzo due volte lo stesso registro destinazione, $s0, nello stesso ciclo di clock. Ma è veramente necessario? No, se invio le due coppie di istruzioni su cammini diversi e se utilizzo due registri diversi, $s00, $s01. $s0 $s00 $s0 $s01 Verrà salvato in $s0, il valore calcolato più recenemente dal codice, cioè $s01 24/44 12
13 Roll-back La speculazione può essere fatta sia dal compilatore che dal processore (mediante logica di controllo). E se la speculazione risulta sbagliata? Deve esistere un meccanismo di correzione (rollback). La speculazione si paga in termini di meccanismi per controllare se la speculazione è stata corretta e di correggerla. Nelle multiple-issue statiche, il compilatore inserisce delle istruzioni di controllo e di correzione a speculazioni errate, anche chiamando procedure opportune che correggono quanto fatto (e.g. Procedure che eseguono le operazioni inverse erroneamente eseguite). Nell multiple-issue dinamiche, i buffer collezionano i risultati che vengono scritti nel register file solamente quando la speculazione è stata verificata come corretta. Occorre speculare quando si hanno degli elementi validi, altrimenti si possono inserire problemi (vedi eccezioni generate dall esecuzione di un istruzione sbagliata o con dati sbagliati, eccezioni speculative ) che rendono il funzionamento meno efficiente. 25/44 Renaming e roll-back La CPU mette in buffer i risultati dell esecuzione fino a quando non si è potuto verificare la correttezza della speculazione (esecuzione condizionata). Nel caso di speculazione errata, la cancellazione del lavoro fatto viene ottenuta semplicemente svuotando i buffer e correggendo la sequenza di istruzioni (meccanismo di roll-back). Nel caso in cui l esecuzione sia corretta, il risultato viene copiato in memoria dati e/o nel register file. Nell esempio precedente: $t0 = $t02, viene copiato il valore più recente di $t0. Il register renaming può essere utilizzato anche per la gestione degli hazard => invece di correggere il register file è sufficiente cancellare l associazione registro interno registro del register file. Ampliamento del numero dei registri. Limitazione dello spilling dei registri. 26/44 13
14 Sommario Superpipeline Multiple-Issue Statici Multiple-Issue Dinamici Architetture SIMD Alcune pipeline 27/44 La quarta generazione ( ) Cray I (1976) - Primo supercalcolatore. Vettoriale (SIMD) 28/
15 Calcolo vettoriale for (i=0;i<16;i++) // 64 add instructions + more cycle control for (j=0; j<4; j++) C[i*4+j] = A[i*4+j] + B[i*4+j]; But inner cycle can be implemented in HW: for (i=0;i<16;i++) // 16 add instructions, each on 4 C[i*4:i*4+3] =ca[i*4:i*4+3] + B[i*4:i*4+3] // floats + cycle control Architetture dotate di calcolo vettoriale 29/44 Modalità di calcolo vettoriale Operazioni sui vettori richiedono la stessa operazione su elementi adiacenti (multimedia, grafica, calcolo strutturale ) Vettore di dati + comando operazione Vettore di elementi HW che eseguono l operazione su ogni coppia di elementi Struttura modulare flessibile: 1 somma a 32 bit, 2 somme a 16 bit, 4 somme a 8 bit Le parole avviate in esecuzione sono su 128 / 256 bit. Sommatore a 8 bit X Sommatore a 8 bit X Sommatore a 8 bit X Sommatore a 8 bit 30/44 15
16 Come sfruttare il parallelismo a livello di parola Estensioni MMX e SSE: Trasferimento dati Aritmetica Comparazione MOV{A/U}{SS/PS/SD/PD} xmm, mem/xmm MOV {H/L} {PS/PD} xmm, mem/xmm MOV {H/L} {PS/PD} xmm, mem/xmm ADD {SS/PS/SD/PD} xmm, mem/xmm SUB {SS/PS/SD/PD} xmm, mem/xmm MUL {SS/PS/SD/PD} xmm, mem/xmm DIV {SS/PS/SD/PD} xmm, mem/xmm SQRT {SS/PS/SD/PD} xmm, mem/xmm MAX {SS/PS/SD/PD} xmm, mem/xmm MIN {SS/PS/SD/PD} xmm, mem/xmm Different data quantities can be inserted into an xmm register (128 bit): SS Scalar, Signle precision FP: 1 operand on 32 bit PS Packed Single precision FP: 4 operands on 32 bit SD Scalar, Double precision FP, 1 operand on 64 bit PD Packed Double precision FP, 2 operands on 64 bit A 128 bit aligned in memory CMP {SS/PS/SD/PD} 31/44 Sub-words vector operation Single operation specifies more data inside xmm registers. #include <x86intrin.h> addpd %xmm0, %xmm4 # Multiply two 64 bits FP variables in registers xmm In 2011 Advanced Vector Exentsion (AVX) has been provided by Intel, with registers of 256 bit (internal registers ymm). #include <x86intrin.h> vaddpd %ymm0, %ymm4 # Multiply four 64 bits FP variables It supports also operations on three registers. Efficient use when FP adjacent inmemory are loaded into registers. 32/44 16
17 Diversi tipi di parallelismo Parallelismo (parziale) nell esecuzione -> pipeline Parallelismo nell esecuzione su cammini multipli -> multiple issue Parallelismo nell esecuzione di istruzioni (vettoriali) -> paralleismo a livello di parola Parallelismo su CPU diverse che condividono la memoria -> multicore 33/44 Superpipeline Multiple-Issue Statici Multiple-Issue Dinamici Architetture SIMD Alcune pipeline Sommario 34/44 17
18 Tendenze di sviluppo delle pipeline Il costo della speculazione è cresciuto fino alla barriera dell energia => multi-core. Le dipendenze sono difficili da eliminare => è difficile riempire tutti gli slot di esecuzione. Alimentazione da parte del sistema di memoria => è difficile avere sempre i dati pronti. Roof model per i muti-core. Micro processore Anno Freq clock Stadi pipeline 35/44 Larghezza pacchetto Fuori-ordine / Specuazione Core / chip Potenza Intel MHz 5 1 No 1 5 W Intel Pentium MHz 5 2 No 1 10 W Intel PentiumPro MHz 10 3 Sì 1 29 W Intel Pentium 4 Willamette Intel Pentium 4 Prescott GHz 22 3 Sì 1 75 W ,6 GHz 31 3 Sì W Intel Core ,93 GHz 14 4 Sì 2 75 W Intel Core i5 Nehalem Intel Core i5 Ivy Bridge ,95 GHz 14 4 Sì 1 87 W ,2 GHz 14 4 Sì 8 77 W ARM Cortex-A8 e Intel Core i7 920 Processore ARM 8 Intel Core i7 Mercato Dispositivi mobili Server, Cloud Obbiettivi di consumo 2 W 130 W Frequenza di clock 1 GHz 2,66 GHz Core / chip 1 4 Virgola mobile? No Sì Multiple-issue Dinamico Dinamico ICP di picco 2 4 Stadi pipeline Scheduling pipeline Statico In-order Dinamico Out-oforder con Speculazione Predizione salti A 2 livelli A 2 livelli Cache 1 livello 32 KB I; 32 KB, D 32 KB I; 32 KB, D Cache 2 livello KB 256 KB Cache 3 livello MByte 36/44 18
19 Arm-8 Pipeline Static in-order pipeline. 3 M ain phases. 12 Instruction queue buffer Fetch 2 instructions / clock 13 clock cycles for branch misprediction Dependencies are evaluate in Instruction decode and forces sequential execution and sends to the proper execution queue Forwarding in the exercution stage 37/44 Evoluzione degli Intel La compatibilità backwards ha costretto la ricerca di soluzioni innovative. Dall 8080 al 386, al Pentium Pro, ai multi-core... 38/44 19
20 Le pipeline Intel Ultimo processore Intel senza pipeline: 386, Esecuzione multi-ciclo: Durata diversa per istruzioni molto diverse (cf. MOVS). Riutilizzo di unità funzionali in diversi passi di esecuzione. UC cablata per le istruzioni semplici e microprogrammata per le istruzioni più complesse. Pentium 4: Superpipeline superscalare. Fino a 3 istruzioni per ciclo di clock. All interno della pipeline, abbiamo microistruzioni di ampiezza pari a 70 bit (fissa), RISC. A partire dal codice operativo, vengono generati i segnali di controllo: 120 per le ALU intere, 275 per le unità ALUfp e 400 per le istruzioni SS2. Trasformo le istruzioni dell ISA Intel in microistruzioni di lunghezza uguale. 39/44 Il pentium 40/44 20
21 Il processore Pentium Pro Esecuzione speculativa : scheduling dinamico + predizione dei salti (e.g. Intel 80x86 dal Pentium). 41/44 Core i7 Pipeline 42/44 21
22 Le fasi di esecuzione Fetch di istruzioni Intel a trasformazione in micro-istruzioni RISC. A micro-architettura è implementata nella CPU. Renaming and speculation Out-of-order exection 1) Fetch Lettura di gruppi di 16 Byte. Speculazione sui salti condizionati. 2) Decodifica Identificazione delle istruzioni Intel Conversione in micro-operazioni RISC => micro-op buffer (28 micro-op) Controllo della presenza di cicli brevi (< 28 istruzioni) Recupero degli operandi e allocazione dello spazio del reorder buffer per il risultato. 3) Esecuzione 6 code di esecuzione con stazione di prenotazione centralizzata (36 elementi) Esecuzione dell operazione, invio dei risultati alle reservation stations a al riorder buffer 4) Write back Scrittra nei registri e nella memoria. 43/44 Superpipeline Speculazione Multiple-Issue Statici Multiple-Issue Dinamici Alcune pipeline Sommario 44/44 22
Trend di sviluppo delle pipeline
Trend di sviluppo delle pipeline Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@.unimi.it Università degli Studi di Milano Patterson 4.10, 4.11 1/35 Sommario Superpipeline
Trend di sviluppo delle pipeline
Trend di sviluppo delle pipeline Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@.unimi.it Università degli Studi di Milano Patterson 4.10, 4.11 1/36 Sommario Superpipeline
Trend di sviluppo delle pipeline
Trend di sviluppo delle pipeline Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@.unimi.it Università degli Studi di Milano Patterson 4.10, 4.11; 3.7 subword parallelism
Trend di sviluppo delle pipeline
Trend di sviluppo delle pipeline Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@.unimi.it Università degli Studi di Milano Patterson 4.10, 4.11 143 Sommario Superpipeline
Trend di sviluppo delle pipeline
Trend di sviluppo delle pipeline Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Patterson 5.9, 6.6 e 6.9 1/45 Sommario Predizione
CPU pipeline 4: le CPU moderne
Architettura degli Elaboratori e delle Reti Lezione 25 CPU pipeline 4: le CPU moderne Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 25 1/16
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
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
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
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
Università degli Studi di Milano - Corso Architettura II Prof. Borghese Appello del
Università degli Studi di Milano - Corso Architettura II Prof. Borghese Appello del 24.02.2016 Cognome e nome: Matricola: 1. [7] Data la CPU N. 1, specificare il contenuto di tutte le linee (dati e controllo).
Pipeline nel Mondo Reale
Pipeline nel Mondo Reale Luca Abeni May 26, 2016 Pipeline Ideali... Abbiamo visto come fare il bucato eseguire un istruzione macchina usando un pipeline... Pipeline a 5 stadi: Fetch Decode Exec Memory
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
Aumentare il parallelismo a livello di istruzione (2)
Aumentare il parallelismo a livello di istruzione (2) Architetture Avanzate dei Calcolatori Valeria Cardellini Processori multiple-issue issue Nei processori multiple-issue vengono lanciate più istruzioni
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
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\
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\
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,
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
CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti
Architettura degli Elaboratori e delle Reti Lezione 18 CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 18 1/2 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à
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
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
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!
Calcolatori Elettronici B a.a. 2007/2008
Calcolatori Elettronici B a.a. 2007/2008 Pipeline: Tecniche Avanzate (Instruction Level Parallelism ILP) Massimiliano Giacomin 1 PIPELINE: LA CODA DELLE ISTRUZIONI 2 Può prelevare dalla cache più istruzioni
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,
Architettura degli elaboratori CPU a ciclo singolo
Architettura degli elaboratori CPU a ciclo singolo Prof. Alberto Borghese Dipartimento di Informatica borghese@di.unimi.it Università degli Studi di Milano iferimento sul Patterson: capitolo 4.2, 4.4,
Calcolatori Elettronici B a.a. 2008/2009
Calcolatori Elettronici B a.a. 2008/2009 Pipeline: Tecniche Avanzate (Instruction Level Parallelism ILP) Massimiliano Giacomin 1 PIPELINE: LA CODA DELLE ISTRUZIONI 2 Può prelevare dalla cache più istruzioni
Architetture moderne
Architetture moderne Esecuzione delle istruzioni in pipeline Predizione dei branch Multiple issue Register renaming Esecuzione fuori ordine Cache non bloccanti Architetture avanzate - 1 Pipelining PIPELINING
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/22 Sommario Riorganizzazione
CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti. Proff. A. Borghese, F. Pedersini
Architettura degli Elaboratori e delle Reti Lezione 8 CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 8 /33 Sommario! La
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
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
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
Sistemi e reti CPU Concetti di base
Sistemi e reti CPU Concetti di base A cura dell Ing. Claudio Traini Cenni Storici 1971 il primo processore mai realizzato : Intel 4004 Progettato dal vicentino Federico Faggin 1 Cenni Storici 1976 Faggin
Le interconnessioni tra i dispositivi
Le interconnessioni tra i dispositivi Prof. Alberto Borghese Dipartimento di Informatica alberto.borghese@unimi.it Università degli Studi di Milano Patterson Fifth edition: 3.7 subword parallelism Patterson
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
Progetto CPU a singolo ciclo
Architettura degli Elaboratori e delle Reti Progetto CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Informatica Università degli Studi di Milano 1/50 Sommario! La CPU! Sintesi di
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
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
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
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
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
1) Un calcolatore con processore R3000 avente frequenza di clock pari a 2GHz esegue il seguente programma:
(versione riveduta da errori di stampa) MATRICOLA COGNOME NOME 1) Un calcolatore con processore R3000 avente frequenza di clock pari a 2GHz esegue il seguente programma:.text addi $12,$0,2 addi $10,$0,288
Sommario. Gestione delle criticità sui dati nella pipeline. CPU con pipeline. Criticità nei dati. Hazard nei dati: soluzione tramite compilatore
Gestione delle criticità sui dati nella pipeline Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Sommario di tipo R. di lw. Università degli Studi di Milano 1/33
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
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 Criticità sui dati Questo è l esempio utilizzato per spiegare il funzionamento della
Architettura dei sistemi di elaborazione: La CPU: Architettura (parte 2)
Architettura dei sistemi di elaborazione: La CPU: Architettura (parte 2) ALU L unità aritmetico logica o ALU rappresenta l apparato muscolare di un calcolatore, il dispositivo cioè che esegue le operazioni
Architettura del processore e esecuzione delle istruzioni
Architettura del processore e esecuzione delle istruzioni Prof. CAPEZIO Francesco Quest'opera è soggetta alla licenza Creative Commons Attribuzione Non Commerciale Introduzione Il compito di un processore
Parte IV Microarchitetture, Cache e Pipeline
Parte IV Microarchitetture, Cache e Pipeline IV.1 Interpretazione delle istruzioni In un architettura microprogrammata le istruzioni macchina non sono eseguite direttamente dall hardware L hardware esegue
Architettura degli elaboratori CPU a ciclo singolo
Architettura degli elaboratori CPU a ciclo singolo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@di.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo
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
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
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
Il processore Pentium
Caratteristiche principali (I) Architettura interna a 32 bit Address bus a 32 bit: si possono indirizzare fino a 4 GB di memoria fisica Data bus a 64 bit (si tratta in pratica di 2 data bus a 32 bit in
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
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
Aumentare il parallelismo a livello di istruzione (1)
Parallelismo Il parallelismo consente di migliorare le prestazioni grazie all esecuzione simultanea di più istruzioni Aumentare il parallelismo a livello di istruzione (1) Architetture Avanzate dei Calcolatori
Esercitazione di ricapitolazione
Esercitazione di ricapitolazione 1. Descrivere il ciclo di esecuzione di un istruzione. Di quali informazioni abbiamo bisogno in ciascuna fase? 2. Descrivere il funzionamento del register file. Come occorre
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
Un quadro della situazione. Lezione 15 Il Set di Istruzioni (2) Le operazioni e gli operandi. Dove siamo nel corso. Cosa abbiamo fatto
Un quadro della situazione Lezione 15 Il Set di Istruzioni (2) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Input/Output Sistema di Interconnessione Registri
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
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
CPU pipeline 4: le CPU moderne
Architettura degli Elaboratori e delle Reti Lezione 25 CPU pipeline 4: le CPU moderne Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 25 1/17
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
CPU pipeline 4: le CPU moderne
Architettura degli Elaboratori e delle Reti Lezione 25 CPU pipeline 4: le CPU moderne Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 25 1/16
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
Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini
Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
La pipeline. Sommario
La pipeline Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento al Patterson: 4.5 e 4.6 1/27 http:\\homes.dsi.unimi.it\ borghese
Pipelining. Architetture moderne
Architetture moderne Pipelining Esecuzione delle istruzioni in pipeline Predizione dei branch Multiple issue Register renaming Esecuzione fuori ordine Cache non bloccanti PIPELINING utile per eseguire
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à
Nome Cognome, Numero Matricola: Durata Esame: 30 min
Nome Cognome, Numero Matricola: Grader per Esame: Architetture 2 - Canale A-L - 13.07.2011 Enrico Tronci Dip. di Informatica, Università di Roma La Sapienza, Via Salaria 113, Roma, Italy tronci@di.uniroma1.it,
Int - 1 Fadd - 2 Fmolt - 4 Fdiv - 5
Architetture dei processori Appello del 25 Gennaio 2012 A) Un processore Intel basato sulla microarchitettura Nehalem/Westmere è caratterizzato dalla seguente gerarchia di memoria: L1 I-cache e L1 D-cache
La pipeline. Sommario
La pipeline Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento al Patterson: 4.5 e 4.6 1/28 http:\\homes.dsi.unimi.it\ borghese
Estensioni all architettura di Von Neumann
Estensioni all architettura di Von Neumann Vito Perrone Corso di Informatica A per Gestionali Indice Limiti dell architettura di Von Neumann Estensioni all architettura di Von Neumann CISC e RISC 2 1 La
Una CPU multi-ciclo. Sommario
Una CPU multi-ciclo Prof. lberto orghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano iferimento sul Patterson: Sezioni 5.5 e 5.6 1/30 http:\\homes.dsi.unimi.it\
Come aumentare le prestazioni Cenni alle architetture avanzate
Politecnico di Milano Come aumentare le prestazioni Cenni alle architetture avanzate Mariagiovanna Sami Richiamo: CPI CPI = (cicli di clock della CPU richiesti dall esecuzione di un programma)/ numero
Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini
Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
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
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
ALU e Control Unit. ALU e Control Unit
Massimo VIOLANTE Politecnico di Torino Dipartimento di Automatica e Informatica Sommario Unità aritmentica/logica Unità di controllo. 2 M. Violante 1.1 Unità aritmetica/logica Contiene tutti i circuiti
Linguaggio macchina e register file
Linguaggio macchina e register file Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@di.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4,
Una CPU multi-ciclo. Sommario
Una CPU multi-ciclo Prof. lberto orghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano iferimento sul Patterson: Sezione D3 1/30 http:\\borghese.di.unimi.it\
3. Evoluzione delle architetture. 3. Evoluzione delle architetture Indice. 3. Evoluzione delle architetture Evoluzione strutturale
3. Evoluzione delle architetture Indice 3 Evoluzione tecnologica 3.2 Gerarchie di memoria 3.3 Memoria virtuale 3.4 Architettura RISC 3.5 L architettura x86 3. Evoluzione delle architetture Evoluzione strutturale
Un quadro della situazione. Lezione 14 Il Set di Istruzioni (2) Dove siamo nel corso. I principi di progetto visti finora. Cosa abbiamo fatto
Un quadro della situazione Lezione 14 Il Set di Istruzioni (2) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Input/Output Sistema di Interconnessione Registri
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
Linguaggio Assembly e linguaggio macchina
Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
Pipeline Problemi 1. Pipeline Problemi 2
Problemi 1 Vari fenomeni pregiudicano il raggiungimento del massimo di parallelismo teorico (stallo) Sbilanciamento delle fasi Durata diversa per fase e per istruzione Problemi strutturali La sovrapposizione
L unità di controllo di CPU a singolo ciclo. Sommario
L unità di controllo di CPU a singolo ciclo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2,
La CPU pipeline. Principio intuitivo della pipe-line. Architettura degli Elaboratori e delle Reti. A. Borghese, F. Pedersini
Architettura degli Elaboratori e delle Reti La CPU pipeline A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano CPU Pipeline 1 Principio intuitivo della
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
Parte V. Architettura della CPU
Parte V Architettura della CPU V.1 Interpretazione delle istruzioni In un architettura microprogrammata le istruzioni macchina non sono eseguite direttamente dall hardware L hardware esegue istruzioni
Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Pre-appello del 12 Gennaio Attenzione:
Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Pre-appello del 12 Gennaio 2018 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina.
Progetto CPU a singolo ciclo
Architettura degli Elaboratori e delle Reti Progetto CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Informatica Università degli Studi di Milano 1/60 Sommario v La CPU v Sintesi di