Pipeline nel Mondo Reale
|
|
- Rocco Motta
- 7 anni fa
- Visualizzazioni
Transcript
1 Pipeline nel Mondo Reale Luca Abeni May 26, 2016
2 Pipeline Ideali... Abbiamo visto come fare il bucato eseguire un istruzione macchina usando un pipeline... Pipeline a 5 stadi: Fetch Decode Exec Memory Access Save Results Tutte le fasi dell esecuzione con stessa lunghezza e no stalli / hazard speedup del 500% Fasi con lunghezza diversa speedup inferiore Somma delle lunghezze delle varie fasi / Lunghezza fase più lunga Calcolatori Luca Abeni 2 / 18
3 ...E Pipeline Reali! Quanto è realistico il modello di pipeline studiato fino ad ora? Guardiamo una CPU moderna (Capitolo 4.11 del libro di testo): ARM (Cortex-A8): pipeline a 14 stadi Intel (Core i7): pipeline a 14 stadi 14 stadi??? Ma non dovevano essere 5? Inoltre: un Intel Core i7 arriva a 0.5 Cicli Per Istruzione (CPI) Con un pipeline ideale non si potrebbe scendere sotto 1 CPI Come fa ad arrivare a 0.5 CPI??? Calcolatori Luca Abeni 3 / 18
4 Pipeline Reali - Come Sostanzialmente 2 idee: Divisione di fasi di esecuzione lunghe in più sotto-fasi Possibile riduzione del periodo del clock Diminuisce Lunghezza fase pi lunga nel calcolo speedup Creazione di più pipeline in parallelo (aumento risorse hw) La prima idea riduce il denominatore nel rapporto e ci avvicina al 500% La seconda idea permette di avere CPI < 1 Entrambe aumentano il parallelismo a livello di istruzioni Calcolatori Luca Abeni 4 / 18
5 Lunghezza della Pipeline Pipeline a 5 stadi: max 5 istruzioni in parallelo Incrementando il numero di stadi, incrementa il numero di istruzioni in parallelo Maggiore parallelismo a livello di istruzioni Maggiore complessità hw (possibili hazard,...) Incrementando il numero di stadi, diminuisce il tempo necessario ad ogni stadio Idea: suddividere fasi di esecuzione che richiedono molto tempo! Come dividere in più di 5 stadi? Dipende dalla CPU!!! Calcolatori Luca Abeni 5 / 18
6 Pipeline ARM (Cortex-A8) 14 stadi Primi 3 stadi: fetch Perché 3 stadi per il fetch di un istruzione? Si caricano 2 istruzioni per volta... Coda di pre-fetch di 12 istruzioni... 5 stadi di decodidifica Identificano dipendenze per evitare hazard,... 6 stadi di esecuzione (includendo accesso a memoria e salvataggio in registri) Esecuzione parallela di 2 istruzioni!!! Calcolatori Luca Abeni 6 / 18
7 Pipeline Intel (Core i7) Ancora 14 stadi... Ma organizzati in modo diverso! Architettura profondamente diversa da ARM e/o MIPS: difficile evidenziare i vari stadi Fasi di esecuzione di un istruzione: Fetch di 16 byte di istruzioni per volta Pre-decodifica: isola le diverse istruzioni Decodifica istruzioni e trasformazione in µoperazioni Varie ottimizzazioni su µoperazioni Esecuzione µ operazioni (in parallelo, fuori ordine,...) Scrittura risultati Calcolatori Luca Abeni 7 / 18
8 Lunghezza Pipeline Da quanto detto, sembrerebbe che pipeline più lunghi siano sempre un vantaggio... Maggior parallelismo istruzioni Clock + veloce Ma aumentare il numero di stadi comporta complicazioni (ed overhead) Necessità di sincronizzare i vari stadi Maggiore probabilità di hazard Intel ci ha provato... In precedenti versioni di CPU, fino a 31 stadi......ma con risultati scadenti! Ultimi Core i7 hanno 14 stadi Calcolatori Luca Abeni 8 / 18
9 Esecuzione Parallela L hardware che implementa ogni stadio può essere replicato n volte Fino ad n istruzioni in parallelo in ogni stadio! (multiple issue) CPI fino ad 1/n!!! Se ci sono m stadi, parallelismo di istruzioni n m Chiaramente, i problemi di dipendenze / hazard si moltiplicano!!! Grossa complessità nell hardware... Come decidere quali istruzioni eseguire in parallelo? Due possibilità: parallelizzazione statica o dinamica Calcolatori Luca Abeni 9 / 18
10 Parallelizzazione Statica Il compilatore decide quali istruzioni eseguire in parallelo Istruzioni raggruppate in pacchetti da n istruzioni Il compilatore ha anche la responsabilità di gestire hazard su dati e controllo Riordino istruzioni e predizione statica dei salti da parte del compilatore Se meno di n istruzioni sono eseguibili in parallelo, si usanop Pacchetto di istruzioni: sorta di macro instruzione larga n istruzioni Very Long Instruction Word (VLIW) Calcolatori Luca Abeni 10 / 18
11 Parallelizzazione Statica & Hazard Cosa succede se il compilatore non elimina hazard? 2 possibilità: il risultato prodotto non è corretto. L hardware ha la responsabilità di eliminare tutti gli hazard e se non lo fa il codice è scorretto! l hardware identifica l hazard ed introduce un numero di cicli di stallo sufficiente ad eliminarne gli effetti Semplificazione dell hardware vs semplificazione del software Nel secondo caso si ha maggiore compatibilità con programmi tradizionali Calcolatori Luca Abeni 11 / 18
12 Lunghezza Istruzioni Istruzione lunga : pacchetto di n istruzioni Le n istruzioni possono essere eseguite in parallelo... Quindi, VLIW è una buona idea per migliorare prestazioni? Purtroppo, introduce complessità (hw e sw) ed overhead... Intel ci ha provato O per lo meno ha provato qualcosa di simile Itanium / ia64 non proprio un successo... Ancora, compatibilità col passato (e semplicità sw) portano a compromessi probabilmente migliori... Calcolatori Luca Abeni 12 / 18
13 Parallelizzazione Dinamica L hardware della CPU decide quali istruzioni eseguire in parallelo Parallelizzazione trasparente dal punto di vista software: processori superscalari Possibilità più semplice: esecuzione istruzioni in ordine (CPU parallelizza e basta) Riordinamento istruzioni a carico del compilatore Versione avanzata: riordinamento dinamico delle istruzioni! Fetch istruzione e decodifica n unità funzionali Unità di consegna: produce i risultati in ordine (buffer di riordino) Calcolatori Luca Abeni 13 / 18
14 Esecuzione con Parallelizzazione Dinamica Dopo decodifica, assegna istruzione ad unità funzionale appropriata Buffer chiamato stazione di prenotazione Attesa in questo buffer fino a che operandi disponibili ed unità funzionale pronta Istruzione ha bisogno di dati prodotti da altre unità funzionali (dipendenza sui dati) possono essere passati alla stazione di prenotazione prima di andare nel register file Esegue istruzioni in ordine diverso rispetto a come sono scritte, purché il risultato finale non cambi! Esecuzione fuori ordine (out of order execution) Calcolatori Luca Abeni 14 / 18
15 Speculazione Spesso si hanno hazard dovuti al fatto che non si conosce il risultato di alcune operazioni Esempio: salto condizionale deve attendere il risultato di un confronto Questo obbliga il compilatore ad inserirenop che consumano cicli di CPU senza far nulla......o obbliga la CPU ad inserire cicli di stallo che bloccano il pipeline Se il risultato di alcune operazioni fosse noto in anticipo, le performance migliorerebbero!!! Allora si può provare a indovinare / prevedere il risultato Esecuzione speculativa / speculazione! Calcolatori Luca Abeni 15 / 18
16 Esempi di Speculazione Previsione di un salto condizionale Tenta di fare il fetch dell istruzione giusta senza bloccare il pipeline Previsione dell indirizzo di unastore... Se unasw è seguita da unalw sulla stessa locazione di memoria, lalw deve attendere... Ma sesw edlw operano su locazioni differenti non abbiamo dipendenze! Calcolatori Luca Abeni 16 / 18
17 Tipi di Speculazione L esecuzione speculativa può essere controllata a sw (dal compilatore)... Esempio: il compilatore può riordinare le istruzioni in base ad assunzioni speculative...o dall hardware! Complicazione del design della CPU Semplificazione del software Speculazione trasparente Calcolatori Luca Abeni 17 / 18
18 Speculazione Errata In caso di esecuzione speculativa, le previsioni o assunzioni fatte possono rivelarsi errate Rischio di influire sulla correttezza dei risultati! Cosa fare? Speculazione sw: il compilatore deve inserire codice che controlla se le previsioni si sono rivelate corrette In caso negativo, rimedia in qualche modo Speculazione hw: i risultati di un operazione non vengono consegnati fino a che non è noto se le ipotesi fatte sono corrette In caso negativo, l istruzione non termina ed il lavoro fatto viene buttato via Calcolatori Luca Abeni 18 / 18
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
DettagliTrend 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
DettagliUniversità 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).
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!
DettagliArchitettura dei Calcolatori. Macchina di von Neumann /2. Macchina di von Neumann /1. Architettura dei Calcolatori
rchitettura dei Calcolatori Giuseppe Pozzi Impianti di Elaborazione Facoltà di Ingegneria dell'informazione Politecnico di Milano giuseppe.pozzi@polimi.it - versione del 20 settembre 2002 - rchitettura
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
DettagliCPU 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
DettagliTecniche di parallelismo, processori RISC
Testo di riferimento: [Congiu] 9.1-9.3 (pg. 253 264) Tecniche di parallelismo, processori RISC 09.a Pipelining Altre tecniche di parallelismo Processori superscalari Caratteristiche dei processori RISC
DettagliComponenti principali
Componenti e connessioni Capitolo 3 Componenti principali n CPU (Unità Centrale di Elaborazione) n Memoria n Sistemi di I/O n Connessioni tra loro Architettura di Von Neumann n Dati e instruzioni in memoria
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
DettagliComponenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni
Componenti principali Componenti e connessioni Capitolo 3 CPU (Unita Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro 1 2 Architettura di Von Neumann Dati e instruzioni in memoria
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
DettagliComponenti e connessioni. Capitolo 3
Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura
DettagliPipeline 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
DettagliCome 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
DettagliCPU 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
DettagliAumentare il parallelismo a livello di istruzione (2)
Processori multiple-issue issue Aumentare il parallelismo a livello di istruzione (2) Architetture Avanzate dei Calcolatori Valeria Cardellini Nei processori multiple-issue vengono lanciate più istruzioni
DettagliIl 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
DettagliIl processore. Istituzionii di Informatica -- Rossano Gaeta
Il processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale
DettagliIndirettezza. Fetch/Execute. Fetch/Execute. Introduzione della Indirettezza (indirect)
Ciclo esecutivo delle istruzioni: Fetch/Execute Lo avete visto nel corso di Introduzione alle Architetture degli Elaboratori Stallings, Capitolo 3 Ne vediamo una versione revisionata Indirettezza Per recuperare
DettagliCLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)
CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico) - Dedicati Quelli dei primi sistemi operativi. La macchina viene utilizzata da un utente per volta che può eseguire un solo programma per volta.
DettagliControllo a ciclo singolo
Controllo a ciclo singolo Il controllo della CPU a singolo ciclo è combinatorio Il datapath è invece un circuito sequenziale i suoi output dipendono anche dal valore dei registri es. Zero, oppure l indirizzo
DettagliINCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE (parte seconda) I PROCESSORI SUPERSCALARI I PROCESSORI VLIW
1 INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE (parte seconda) I PROCESSORI SUPERSCALARI I PROCESSORI VLIW 2 I PROCESSORI SUPERSCALARI PREMESSA 3 Nelle architetture scalari e pipelined date diverse classi
DettagliLa CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2
La CPU e la Memoria Sistemi e Tecnologie Informatiche 1 Struttura del computer Sistemi e Tecnologie Informatiche 2 1 I registri La memoria contiene sia i dati che le istruzioni Il contenuto dei registri
DettagliValutazione delle prestazioni
Valutazione delle prestazioni Architetture dei Calcolatori (lettere A-I) Valutazione delle prestazioni Misura/valutazione di un insieme di parametri quantitativi per Quantificare le caratteristiche di
DettagliValutazione delle prestazioni. Valutazione delle prestazioni. Tempo di risposta e throughput. Prestazioni e tempo di esecuzione
Valutazione delle prestazioni Valutazione delle prestazioni Architetture dei Calcolatori (lettere A-I) Misura/valutazione di un insieme di parametri quantitativi per Quantificare le caratteristiche di
DettagliAumentare 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
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Linguaggio macchina e assembler (caso di studio: processore MIPS) slide a cura di Salvatore Orlando, Marta Simeoni, Andrea Torsello Architettura degli Elaboratori 1 1 Istruzioni
DettagliCalcolatori Elettronici II parte (CdL Ingegneria Informatica) Esame del 22 settembre 2011 tempo a disposizione: 1 ora e 30 minuti
Calcolatori Elettronici II parte (CdL Ingegneria Informatica) Esame del 22 settembre 2011 tempo a disposizione: 1 ora e 30 minuti Compito Num. 1 COGNOME:...NOME:... 1) (20%) Si vuole realizzare una CPU
DettagliPrestazioni 1. Prestazioni 2. Prestazioni 3
Valutazione delle Prestazioni Architetture dei Calcolatori Valutazione delle Prestazioni Prof. Francesco Lo Presti Misura/valutazione di un insieme di parametri quantitativi per caratterizzare le prestazioni
DettagliL insieme delle istruzioni (6)
L insieme delle istruzioni (6) Architetture dei Calcolatori (lettere A-I) Alcune note conclusive I due principi dell architettura a programma memorizzato Uso di istruzioni indistinguibili dai dati Uso
DettagliTrend 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
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Università degli Studi di Padova Scuola di Scienze Corso di Laurea in Informatica docente: Alessandro Sperduti Informazioni Generali Lucidi ed esercizi disponibili in formato
DettagliIntroduzione all'informatica
Introduzione all'informatica Loriano Storchi loriano@storchi.org http:://www.storchi.org/ UNITA DI MISURA Unita' di misura dell'informazione BIT = è l'unità di misura dell'informazione (dall'inglese "binary
DettagliCalcolatori Elettronici
Calcolatori Elettronici Valutazione delle Prestazioni Francesco Lo Presti Rielaborate da Salvatore Tucci Valutazione delle Prestazioni q Misura/valutazione di un insieme di parametri quantitativi per caratterizzare
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Università degli Studi di Padova Scuola di Scienze Corso di Laurea in Informatica docenti: Silvia Crafa, Nicolò Navarin (lab), Alessandro Sperduti Docenti Silvia Crafa Nicolò
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
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
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
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
DettagliEsercizi su Microarchitetture. Università Roma Tre
Esercizi su Microarchitetture Prof. Riccardo Torlone Università Roma Tre Architetture di CPU I Si vuole realizzare una semplice CPU con architettura CISC a 8 bit dotata di due registri general purpose,
DettagliIl Processore. Informatica di Base -- R.Gaeta 27
Il Processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale
DettagliComponenti di un processore
Componenti di un processore Unità di Controllo Bus Interno REGISTRI Program Counter (PC) Registro di Stato (SR) Registro Istruzioni (IR) Registri Generali Unità Aritmetico- Logica Registro Indirizzi Memoria
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
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
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
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
DettagliValutazione delle Prestazioni
Valutazione delle Prestazioni Misure per le Prestazioni T durata del ciclo di clock [secondi] F numero cicli di clock al secondo [hertz] F 1 / T T 1 / F Exe_Time X tempo di esecuzione (CPU) di un programma
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
DettagliLa gerarchia di memorie (2)
La gerarchia di memorie (2) Architetture Avanzate dei Calcolatori Valeria Cardellini Migliorare le prestazioni delle cache Consideriamo la formula del tempo medio di accesso in memoria (AMAT) AMAT = hit
DettagliInt - 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
DettagliIntroduzione all'architettura dei Calcolatori
Introduzione all'architettura dei Calcolatori Architettura dei calcolatori Che cos è un calcolatore? Come funziona un calcolatore? un calcolatore è un sistema un sistema è un oggetto costituito da molte
DettagliPrefazione Unit`a di misura xiii La memoria cache
Indice Prefazione Unità di misura xi xiii 1 La memoria cache 1 1.1 Tempo di accesso........................... 1 1.1.1 Funzionamento........................ 2 1.2 Organizzazione............................
DettagliIl calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica
Il calcolatore È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica ogni livello di descrizione è caratterizzato da una struttura rappresentante l organizzazione
DettagliARCHITETTURE AVANZATE DEI CALCOLATORI, A.A. 2007/08 Soluzione esercizi sul pipelining
ARCHITETTURE AVANZATE DEI CALCOLATORI, A.A. 2007/08 Soluzione esercizi sul pipelining Esercizio 1) N.B. Nei diagrammi a cicli multipli non sono indicati i registri di pipeline (per semplicità) a) Si tratta
DettagliLinguaggio 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
DettagliSistemi Operativi: Concetti Introduttivi
Sistemi Operativi: Concetti Introduttivi 1.1 Principali funzioni di un Sistema Operativo 1.2 Cenni Storici 1.3 Classificazione dei Sistemi Operativi 1.4 Struttura dei Sistemi Operativi 1.5 Processi e gestione
DettagliStruttura hw del computer
Informatica per laurea triennale facoltà di medicina LEZIONE 3 Il processore, la memoria e l esecuzione dei programmi 1 Struttura hw del computer Il nucleo di un computer è costituito da 3 principali componenti:
DettagliCorso di Informatica
CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Il Processore (CPU) 2 rchitettura del processore CPU Unità di Controllo Unità ritmetica Logica
DettagliAnalisi ed Esplorazione della Potenza Dissipata e delle Prestazio. delle Prestazioni di una Architettura Superscalare
Analisi ed Esplorazione della Potenza Dissipata e delle Prestazioni di una Architettura Superscalare 22 Luglio 2004 1 Obiettivi 2 Una Framework di esplorazione SuperDLX Algoritmi di ottimizzazione 3 Modello
DettagliPRESTAZIONI. senza e con memoria cache
PRESTAZIONI del processore MIPS pipeline senza e con memoria cache Prestazioni del processore GENERICO (P&H pp 29 31) Definizioni dei parametri di prestazione fondamentali del processore: sia P una prova,
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à
DettagliINGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo
INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo Prof. Carlo Rossi DEIS - Università di Bologna Tel: 051 2093020 email: crossi@deis.unibo.it Classificazione Processori
DettagliMacchine Astratte. Luca Abeni. February 22, 2017
Macchine Astratte February 22, 2017 Architettura dei Calcolatori - 1 Un computer è composto almeno da: Un processore (CPU) Esegue le istruzioni macchina Per fare questo, può muovere dati da/verso la memoria
DettagliEsercitazione del 12/05/ Soluzioni
Esercitazione del 12/05/2005 - Soluzioni Una CPU a ciclo singolo come pure una CPU multi ciclo eseguono una sola istruzione alla volta. Durante l esecuzione poi, alcuni stadi della CPU rimangono inutilizzate
DettagliPipelining: introduzione
Pipelining: introduzione La velocità di esecuzione di un programma è influenzata da numerosi fattori, in generale Hardware: progettare processore e memoria con tecnologie avanzate sempre piu' veloci Strutturale:
DettagliParallelismo a livello di istruzioni
Parallelismo a livello di istruzioni 1 Alee o hazard, stalli Esistono situazioni, chiamate alee (hazard), che impediscono l esecuzione della successiva istruzione presente nel flusso di istruzioni, nel
DettagliARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).!
ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).! MACCHINA DI VON NEUMANN! UNITÀ FUNZIONALI fondamentali! Processore
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
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
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
DettagliLEZIONE 2 Il processore e la memoria centrale
Informatica per Igienisti Dentali LEZIONE 2 Il processore e la memoria centrale 1 Il linguaggio macchina Il processore è in grado di riconoscere (e quindi di eseguire) solo programmi scritti in un proprio
DettagliLinguaggio 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
DettagliLinguaggio 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
DettagliArchitettura dei Calcolatori elettronici
Architettura dei Calcolatori elettronici CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II Dal punto di vista architetturale un calcolatore
DettagliArchitettura di processori e multiprocessori SMP ad elevate prestazioni
Architettura di processori ad elevate prestazioni Pierfrancesco Foglia PhD in Computer Engineering Università di Pisa foglia@iet.unipi.it http://garga.iet.unipi.it Introduzione (I) Obiettivo descrivere
DettagliCorso di Fondamenti di Informatica Elementi di Architettura
di Cassino e del Lazio Meridionale Corso di Informatica Elementi di Architettura Anno Accademico 2016/2017 Francesco Tortorella Modello di von Neumann Bus di sistema CPU Memoria Centrale Interfaccia Periferica
DettagliARCHITETTURA DI UN SISTEMA DI ELABORAZIONE
ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE Il computer o elaboratore è una macchina altamente organizzata capace di immagazzinare, elaborare e trasmettere dati con notevole precisione e rapidità. Schematicamente
DettagliLa 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
DettagliMIPS & SPIM. Modulo del Corso di Architettura degli Elaboratori. Nicola Paoletti. Università di Camerino Scuola di Scienze e Tecnologie
MIPS & SPIM Modulo del Corso di Architettura degli Elaboratori Nicola Paoletti Università di Camerino Scuola di Scienze e Tecnologie 10 Aprile 2013 AA 2012/2013 Informazioni utili (1/2) Email: nicola.paoletti@unicam.it
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
DettagliElementi di informatica
Elementi di informatica Architetture degli elaboratori Il calcolatore Un calcolatore è sistema composto da un elevato numero di componenti Il suo funzionamento può essere descritto se lo si considera come
DettagliSistemi 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
DettagliStruttura di un elaboratore
Struttura di un elaboratore Fondamenti di Informatica 1 Modello architetturale di un computer Ogni computer è costituito da un insieme di blocchi funzionali tra loro interconnessi da sistemi di comunicazioni,
DettagliElementi di informatica
Elementi di informatica Architetture degli elaboratori Il calcolatore Un calcolatore è sistema composto da un elevato numero di componenti Il suo funzionamento può essere descritto se lo si considera come
DettagliCompilatori e Livelli di Compilazione
Compilatori e Livelli di Compilazione Il compilatore Il programmatore ha a disposizione un ampia scelta di compilatori sviluppati per diversi sistemi operativi quali Linux/Unix, Windows, Macintosh. Oltre
DettagliLinguaggio assembler e linguaggio macchina (caso di studio: processore MIPS)
Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS) Salvatore Orlando Arch. Elab. - S. Orlando 1 Livelli di astrazione Scendendo di livello, diventiamo più concreti e scopriamo
DettagliArchitettura dei calcolatori
Cos'è un calcolatore? Architettura dei calcolatori Esecutore automatico di algoritmi Macchina universale Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura
DettagliParte V. Il Livello delle Istruzioni Macchina
Parte V Il Livello delle Istruzioni Macchina V.1 Instruction Set Architecture Il livello ISA è l interfaccia tra HW e SW È il livello più basso a cui il processore è programmabile Criteri di scelta: Semplicità
DettagliArchitettura hardware
Architettura hardware la parte che si può prendere a calci Architettura dell elaboratore Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione
DettagliIl problema dello I/O e gli Interrupt. Appunti di Sistemi per la cl. 4 sez. D A cura del prof. Ing. Mario Catalano
Il problema dello I/O e gli Interrupt Appunti di Sistemi per la cl. 4 sez. D A cura del prof. Ing. Mario Catalano Il Calcolatore e le periferiche Periferica Decodifica Indirizzi Circuiti di Controllo Registri
DettagliCompilatori e Livelli di Compilazione
Compilatori e Livelli di Compilazione Introduction to Fortran 90 Paolo Ramieri, CINECA Aprile 2014 Il compilatore Il programmatore ha a disposizione un ampia scelta di compilatori sviluppati per diversi
DettagliBlocchi di più parole
Blocchi di più parole Per trarre vantaggio dalla località spaziale non conviene avere blocchi di una sola parola ma blocchi di più parole che occupano nella memoria principale posizioni vicine. Esempio:
DettagliConcetti di base del PIPELINING
Concetti di base del PIPELINING L architettura MIPS pipelined I problemi del pipelining Alcune soluzioni di base ai problemi del pipelining Versioni più sofisticate di pipeline Osservazioni conclusive.
DettagliParte VI. Istruzioni ed indirizzamento
Parte VI Istruzioni ed indirizzamento VI.1 Instruction Set Architecture Il livello ISA è l interfaccia tra HW e SW È il livello più basso a cui il processore è programmabile Criteri di scelta: Semplicità
DettagliINCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE
1 INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE TIPI DI PARALLELISMO E CLASSIFICAZIONE DI FLYNN PIPELINING DELLE ISTRUZIONI I PROCESSORI SUPERSCALARI I PROCESSORI VLIW MULTITHREADING, CHIP MULTI PROCESSOR
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Università degli Studi di Padova Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica docente: Alessandro Sperduti Informazioni Generali Lucidi ed esercizi disponibili
DettagliArchitetture di Calcolo Avanzate per Sistemi Embedded
MASTER IN SISTEMI EMBEDDED PER L INTERNET OF THINGS Architetture di Calcolo Avanzate per Sistemi Embedded Docente: Francesca Palumbo UNISS - Università degli Studi di Sassari PolComIng Gruppo di Ingegneria
DettagliSistemi di Elaborazione delle Informazioni
SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2016/2017 1 Programma del corso Informatica di
Dettagli