Cicli di clock e istruzioni

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Cicli di clock e istruzioni"

Transcript

1 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 su interi Accedere alla memoria costa di più che accedere ai registri Importante: se cambiamo il periodo di clock spesso, come effetto collaterale, cambiano il numero di cicli di clock necessari per eseguire le varie istruzioni

2 Esempio Per un dato programma da eseguire sul computer A conosciamo il tempo di CPU sul computer A: T A = 10 s la frequenza di clock del computer A: F A = 2 GHz Vogliamo costruire un computer B dove il tempo di CPU: T B = 6 s Il progettista può aumentare la frequenza di B, ma questo provoca l incremento dei numero di cicli per l esecuzione del programma (1.2 in più dei cicli necessari sulla macchina A). Di quanto dovremmo aumentare F B per garantire T B = 6 s? T A = # cicli A / F A # cicli A = 10 x 2 x 10 9 = 2 x T B = 1.2 x # cicli A / F B F B = 1.2 x 2 x / 6 = 4 GHz

3 IC, CPI, MIPS numero istruzioni # Cicli di clock = x macchina numero (medio) di cicli di clock per istruzione IC = instruction count = numero di istruzioni macchina del programma CPI = cicli di clock per istruzioni = # cicli di clock / IC MIPS = milioni di istruzioni per secondo = IC / (Texe * 10 6 ) A noi interessa il tempo di esecuzione, le altre misure, prese singolarmente, possono portare a conclusioni errate ne valutare le prestazioni di un programma.

4 Esempio Due processori A e B implementano diversamente la stessa ISA Il processore A ha un ciclo di clock di 250 ps Il processore B ha un ciclo di clock di 500 ps Per lo stesso programma compilato Il processore A ha CPI 2.0 Il processore B ha CPI 1.2 Quale processore è più veloce, e di quanto?

5 Esempio Due processori A e B implementano diversamente la stessa ISA, quali delle seguenti quantità non cambia? F, CPI, Texe, IC, MIPS Soluzione: TA = IC x CPIA x (periodo di clock)a = 500 x IC ps TB = IC x CPIB x (periodo di clock)b = 600 x IC ps Speedup TB / TA = 600 / 500 = 1.2

6 Esempio Per una data ISA abbiamo tre classi di istruzioni: Classe A: 1 CPI Classe B: 2 CPI Classe C: 3 CPI Progettando un compilare, una porzione di codice può essere implementata in due modi: Modo 1: AABCC (IC = 5) Modo 2: AAAABC(IC = 6) Quale dei due modi è più veloce, e di quanto? Qual è il CPI medio per ciascuna sequenza?

7 Esempio Quale dei due modi è più veloce, e di quanto? (# cicli)1 = 2 x x x 3 = 10 (# cicli)2 = 4 x x x 3 = 9 Speedup = 10/9 ~ 1.1 Qual è il CPI medio per ciascun modo? CPI1 = (# cicli)1 / IC1 = 10/5 = 2 CPI2 = (# cicli)2 / IC2 = 9/6 = 1.5

8 Esempio Due compilatori sono testati su un processore a 100 MHz con tre classi di istruzioni: Classe A, B, C: 1, 2, 3 CPI rispettivamente Il compilatore 1 genera un codice che una 5M istruzioni di classe A, 1M istruzioni di classe B, 1M istruzioni di classe C Il compilatore 2genera un codice che una 10M istruzioni di classe A, 1M istruzioni di classe B, 1M istruzioni di classe C Quale compilatore sarà più veloce rispetto al tempo di esecuzione? Quale compilatore sarà più veloce rispetto ai MIPS?

9 Esempio Quale compilatore sarà più veloce rispetto al tempo di esecuzione? (# cicli) 1 = 5M x 1 + 1M x 2 + 1M x 3 = 10M T 1 = (# cicli) 1 / F = 0.1 sec (# cicli) 2 = 10M x 1 + 1M x 2 + 1M x 3 = 15M T 2 = (# cicli) 2 / F = 0.15 sec Speedup = T 2 / T 1 =1.5 Quale compilatore sarà più veloce rispetto ai MIPS? MIPS 1 = IC 1 / T 1 = 7 / 0.1 = 70 MIPS MIPS 2 = IC 2 / T 2 = 12 / 0.15 = 80 MIPS

10 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 sono replicati Bisogna eseguire in parallelo tutti i passi necessari per l esecuzione di qualsiasi istruzione dell ISA I processori moderni hanno un organizzazione interna che permette di eseguire più istruzioni in parallelo (ILP) Organizzazione a pipeline Grazie all ILP diminuiamo il CPI ma aumentiamo la frequenza di accesso alla memoria (per leggere istruzioni e leggere/scrivere dati)

11 Pipeline Le unità funzionali (lavatrice, asciugatrice, stiratrice, armadio) sono usate sequenzialmente per eseguire i vari job tra l esecuzione di due job, ogni unità rimane inattiva per 1,5 ore In modalità pipeline, il job viene suddiviso in stadi, in modo da usare le unità funzionali in parallelo unità funzionali usate in parallelo, ma per eseguire job diversi nella fase iniziale/ finale, non lavorano tutte parallelamente

12 Stadi della pipeline del MIPS Le istruzioni MIPS ristrette (lw, sw, add, or, beq, slt) del nostro processore MIPS sono sempre composte da 5 stadi 1. IF : Instruction fetch (memoria istruzioni) 2. ID : Instruction decode e lettura registri (grazie al formato regolare delle istruzioni) 3. EXE : Esecuzione istruzioni o calcolo indirizzi 4. MEM : Accesso a un operando in memoria (memoria dati) 5. WB : Write back (scrittura del registro risultato, calcolato in EXE o MEM)

13 Stadi della pipeline del MIPS

14 Registri per stadi di pipeline

15 Esempio lw

16 Esempio lw

17 Esempio lw

18 Esempio lw

19 Esempio lw

20 Esempio lw C è un bug!!!

21 Esempio lw

22 Pipeline e prestazioni Consideriamo una pipeline composta da n stadi sia T seq il tempo di esecuzione sequenziale di ogni singola istruzione sia T stadio = T seq / n il tempo di esecuzione di ogni singolo stadio della pipeline rispetto all esecuzione sequenziale, lo speedup ottenibile dall esecuzione pipeline su uno stream molto lungo di istruzioni tende ad n In pratica, lo speedup non è mai uguale a n a causa: del tempo di riempimento/svuotamento della pipeline, durante cui non tutti gli stadi sono in esecuzione dello sbilanciamento degli stadi, che porta a scegliere un tempo di esecuzione di ogni singolo stadio della pipeline T stadio, tale che T stadio > T seq / n delle dipendenze tra le istruzioni, che ritarda il fluire nella pipeline di qualche istruzione (pipeline entra in stallo)

23 Pipeline e prestazioni Confrontiamo l esecuzione sequenziale (a singolo ciclo) di IC istruzioni, con l esecuzione di una pipeline a n stadi Sia T il periodo di clock del processore a singolo ciclo Sia T = T/n il periodo di clock del processore pipeline ogni stadio della pipeline completa quindi l esecuzione in un tempo T/n Tempo di esecuzione del processore a singolo ciclo: IC x T Tempo di esecuzione del processore pipeline: (n - 1) x T + IC x T tempo per riempire la pipeline: (n-1) x T tempo per completare l esecuzione dello stream di IC istruzioni: IC x T (ad ogni ciclo, dalla pipeline fuoriesce il risultato di un istruzione) Speedup = IC x T / ((n-1) x T/n + IC x T/n) = IC / ( (n-1)/n + IC/n ) = = n x IC / (n 1 + IC) quando IC è grande rispetto a n (ovvero, quando lo stream di istr. in ingresso alla pipeline è molto lungo), allora lo speedup tende proprio a n

24 Esempio Pipeline a 5 stadi n = 5 T = 800 ps T = 200 ps Tempo di esecuzione singolo ciclo: IC x T = 2.4 ns Tempo di esecuzione pipeline: (n-1) x T + IC x T = 1.4 ns Speedup = 2.4/1.4 = 1.7 E se IC = 1003? T exe singolo ciclo: 1003 x 800 = ps T exe pipeline: 4 x x 200 = ps Speedup = 802.4/ = 3.98 L organizzazione pipeline aumenta il throughput dell esecuzione delle istruzioni. ma può aumentare la latenza di esecuzione delle singole istruzioni

25 Diagramma temporale multiciclo

26 Diagramma temporale multiciclo

27 Criticità Negli esempi precedenti le istruzioni entrano nella pipeline (stadio IF) una dopo l altra, senza interruzioni In realtà, a causa delle cosiddette criticità (hazard), alcune istruzioni non possono proseguire l esecuzione (o entrare nella pipeline) finché le istruzioni precedenti non hanno prodotto il risultato corretto Criticità: l esecuzione dell istruzione corrente dipende dai risultati dell istruzione precedente. Ma l istruzione precedente è già stata inviata, si trova ancora nella pipeline e non ha completato l esecuzione L effetto delle criticità è lo stallo della pipeline lo stadio che ha scoperto la criticità, assieme agli stadi precedenti rimangono in stallo (in pratica, rieseguono la stessa istruzione) viene propagata una nop (no operation) alle unità seguenti nella pipeline (bolla) lo stallo può prorogarsi per diversi cicli di clock (e quindi più bolle dovranno essere propagate nella pipeline, svuotando gli stadi successivi della pipeline)

28 Criticità strutturali Tipi di Criticità l istruzione ha bisogno di una risorsa (unità funzionale) usata e non ancora liberata da un istruzione precedente (ovvero, da un istruzione che non è ancora uscita dalla pipeline) es.: cosa succederebbe se usassimo una sola memoria per le istruzioni e i dati? Criticità sui dati dipendenza sui dati tra istruzioni es.: dipendenza RAW (Read After Write) : un istruzione legge un registro scritto da un istruzione precedente l esecuzione dell istruzione corrente deve entrare in stallo, finché l istruzione precedente non ha completato la scrittura del registro Esempio: add $s1, $t0, $t1 # Write $s1 sub $s2, $s1, $s3 # Read $s1 Criticità sul controllo finché le istruzioni di branch non hanno calcolato il nuovo PC, lo stadio IF non può effettuare il fetch corretto dell istruzione

29 Tecnica della propagazione Criticità sui dati

30 Tecnica della propagazione Criticità sui dati

31 Criticità sul controllo Nuovo valore del PC calcolato dal branch viene memorizzato durante MEM se il branch è preso, in questo caso abbiamo che le 3 istruzioni successive sono già entrate nella pipeline, ma fortunatamente non hanno ancora modificato registri dobbiamo annullare le 3 istruzioni: l effetto è simile a quello che avremmo ottenuto se avessimo messo in stallo la pipeline fino al calcolo dell indirizzo del salto Annullare queste istruzioni (Valori di1 controllo a10)

32 Predizione dei branch Attendere sempre che l indirizzo di salto sia stato calcolato correttamente porta comunque a rallentare il funzionamento della pipeline è una soluzione conservativa, che immette sempre bolle nella pipeline i branch sono purtroppo abbastanza frequenti nel codice Un modo per eliminare gli stalli, è quella di prevedere il risultato del salto condizionato lo stadio IF potrà quindi, da subito, effettuare il fetch corretto della prossima istruzione da eseguire Problema: cosa succede se la previsione non risulterà corretta? sarà ancora una volta necessario eliminare le istruzioni che nel frattempo sono entrate nella pipeline sarà necessaria un unità che si accorga della criticità, e che si occupi di eliminare dalla pipeline le istruzioni che vi sono entrate erroneamente: ovvero, farle proseguire come nop operation fino all uscita dalla pipeline

Problemi del ciclo singolo

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

Dettagli

Controllo a ciclo singolo

Controllo 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

Dettagli

Pipeline e prestazioni

Pipeline e prestazioni Pipeline e prestazioni Consideriamo una pipeline composta da n stadi sia T seq il tempo di esecuzione sequenziale di ogni singola istruzione sia T stadio = T seq / n il tempo di esecuzione di ogni singolo

Dettagli

Instruction Level Parallelism Salvatore Orlando

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

Dettagli

Instruction Level Parallelism

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

Dettagli

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

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

Dettagli

Esempio: aggiungere j

Esempio: aggiungere j Esempio: add Esempio: load Esempio: beq Esempio: aggiungere j Eccezioni e interruzioni Il progetto del controllo del processore si complica a causa della necessità di considerare, durante l esecuzione

Dettagli

Instruction Level Parallelism Salvatore Orlando

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

Dettagli

Instruction Level Parallelism Andrea Gasparetto

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

Dettagli

Instruction Level Parallelism Salvatore Orlando

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

Dettagli

Esercitazione su Instruction Level Parallelism

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

Dettagli

Esercitazione su Instruction Level Parallelism Salvatore Orlando

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

Dettagli

Il pipelining: tecniche di base

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

Dettagli

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

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

Dettagli

Il pipelining: tecniche di base

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

Dettagli

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

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

Dettagli

Calcolatori Elettronici

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

Dettagli

La pipeline. Sommario

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

Dettagli

La pipeline. Sommario

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

Dettagli

Pipelining: Unità di Elaborazione e di Controllo Barbara Masucci

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

Dettagli

CALCOLATORI ELETTRONICI 27 giugno 2017

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

Dettagli

CPU pipeline hazards

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

Dettagli

Unità di controllo della pipeline

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

Dettagli

Architetture dei Calcolatori (Lettere

Architetture dei Calcolatori (Lettere Architetture dei Calcolatori (Lettere J-Z) Valutazione delle Prestazioni Ing.. Davide D AmicoD Valutazione delle Prestazioni Misura/valutazione di un insieme di parametri quantitativi per caratterizzare

Dettagli

Valutazione delle prestazioni

Valutazione delle prestazioni Valutazione delle prestazioni Trend tecnologico: Capacità della Memoria 1000000000 100000000 10000000 1000000 100000 10000 size Capacità chip DRAM DRAM Year Size 1980 64 Kb 1983 256 Kb 1986 1 Mb 1989 4

Dettagli

CALCOLATORI ELETTRONICI 9 settembre 2011

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

Dettagli

CALCOLATORI ELETTRONICI 25 giugno 2018

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

Dettagli

CALCOLATORI ELETTRONICI 29 giugno 2015

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

Dettagli

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

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

Dettagli

La pipeline. Luigi Palopoli

La pipeline. Luigi Palopoli La pipeline Luigi Palopoli Ripartiamo da questo. Abbiamo visto come realizzare un semplice processore che esegue le istruzioni in un ciclo Questo non si fa più perché: A dettare il clock sono le istruzioni

Dettagli

Evoluzione delle architetture Evoluzione strutturale

Evoluzione delle architetture Evoluzione strutturale Evoluzione delle architetture Evoluzione strutturale Parallelismo Se un lavoro non può essere svolto più velocemente da una sola persona (unità), allora conviene decomporlo in parti che possano essere

Dettagli

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

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

Dettagli

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

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

Dettagli

Pipeline criticità e forwarding

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

Dettagli

Prestazioni 1. Prestazioni 2. Prestazioni 3

Prestazioni 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

Dettagli

Calcolatori Elettronici

Calcolatori 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

Dettagli

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 22 giugno Attenzione:

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 22 giugno Attenzione: Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Appello del 22 giugno 2017 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina. Preparare

Dettagli

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

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

Dettagli

CALCOLATORI ELETTRONICI 27 marzo 2018

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

Dettagli

Gestione delle eccezioni (CPU multiciclo) La CPU pipeline

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

Dettagli

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

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

Dettagli

Calcolatori Elettronici B a.a. 2005/2006

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

Dettagli

CPU multiciclo eccezioni CPU pipeline

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

Dettagli

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Pre-appello del 12 Gennaio Attenzione:

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.

Dettagli

Valutazione delle prestazioni

Valutazione delle prestazioni Valutazione delle prestazioni Trend tecnologico: Capacità della Memoria Capacità chip DRAM DRAM Year Size 1980 64 Kb 1983 256 Kb 1986 1 Mb 1989 4 Mb 1992 16 Mb 1996 64 Mb 1999 256 Mb 2002 1 Gb Incremento

Dettagli

Calcolatori Elettronici B a.a. 2006/2007

Calcolatori Elettronici B a.a. 2006/2007 Calcolatori Elettronici B a.a. 2006/2007 Pipeline, criticità e prestazioni: Esercizi Massimiliano Giacomin 1 Influenza delle criticità sulle prestazioni Tipi di criticità: criticità strutturale: ad esempio,

Dettagli

Valutazione delle Prestazioni Barbara Masucci

Valutazione delle Prestazioni Barbara Masucci Architettura degli Elaboratori Valutazione delle Prestazioni Barbara Masucci Punto della situazione Ø Abbiamo studiato Ø Una prima implementazione hardware (a ciclo singolo) di un sottoinsieme dell IS

Dettagli

Trend di sviluppo delle pipeline

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

Dettagli

Stall on load e Hazard sul controllo

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

Dettagli

Calcolatori Elettronici B a.a. 2007/2008

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

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

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

Dettagli

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

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

Dettagli

Trend di sviluppo delle pipeline

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

Dettagli

CALCOLATORI ELETTRONICI 14 giugno 2010

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

Dettagli

La pipeline. Sommario

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

Dettagli

CPU pipeline 3 criticità di dati e di controllo

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

Dettagli

CALCOLATORI ELETTRONICI 15 luglio 2014

CALCOLATORI ELETTRONICI 15 luglio 2014 CALCOLATORI ELETTRONICI 15 luglio 2014 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si disegni lo schema di un flip-flop master-slave sensibile ai fronti di salita e se

Dettagli

1) Un calcolatore con processore R3000 avente frequenza di clock pari a 2GHz esegue il seguente programma:

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

Dettagli

Stall on load e Hazard sul controllo

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

Dettagli

La pipeline. Sommario

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

Dettagli

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

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

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici Memoria cache: Esercizi individuali proposti Massimiliano Giacomin Esercizio 1: collocazione dei blocchi nella cache Sia data la seguente sequenza di indirizzi di byte a cui si

Dettagli

Sommario. Gestione delle criticità sui dati nella pipeline. CPU con pipeline. Criticità nei dati. Hazard nei dati: soluzione tramite compilatore

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

Dettagli

ESERCITAZIONE SULLA VALUTAZIONE DELLE PRESTAZIONI (5 giugno 2006) Esercizio 1 (Tratto dai lucidi sulla Valutazione delle prestazioni)

ESERCITAZIONE SULLA VALUTAZIONE DELLE PRESTAZIONI (5 giugno 2006) Esercizio 1 (Tratto dai lucidi sulla Valutazione delle prestazioni) ESERCITAZIONE SULLA VALUTAZIONE DELLE PRESTAZIONI (5 giugno 2006) Esercizio 1 (Tratto dai lucidi sulla Valutazione delle prestazioni) Un programma resta in esecuzione per 1 sec, su un processore dotato

Dettagli

Stall on load. Sommario

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

Dettagli

Valutazione delle prestazioni dei. Calcolatori Elettronici. Calcolatori Elettronici

Valutazione delle prestazioni dei. Calcolatori Elettronici. Calcolatori Elettronici Valutazione delle prestazioni dei 1 Trend tecnologico: Capacità della Memoria 1000000000 100000000 10000000 1000000 100000 10000 1000 size 1970 1975 1980 1985 1990 1995 2000 Year Capacità chip DRAM DRAM

Dettagli

CALCOLATORI ELETTRONICI 20 gennaio 2012

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

Dettagli

CALCOLATORI ELETTRONICI 30 agosto 2010

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

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

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

Dettagli

La Valutazione delle Prestazioni

La Valutazione delle Prestazioni La Valutazione delle Prestazioni Maurizio Palesi Maurizio Palesi 1 Motivazioni Misura/valutazione di un insieme di parametri quantitativi per Quantificare le caratteristiche di una macchina (velocità,

Dettagli

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

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

Dettagli

Stall on load e Hazard sul controllo. Sommario

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

Dettagli

CALCOLATORI ELETTRONICI 9 gennaio 2013

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

Dettagli

Calcolatori Elettronici

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

Dettagli

CALCOLATORI ELETTRONICI 15 giugno 2015

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

Dettagli

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 18 Febbraio Attenzione:

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 18 Febbraio Attenzione: Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Appello del 18 Febbraio 2015 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina.

Dettagli

L unità di controllo di CPU a singolo ciclo

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

Dettagli

L unità di controllo di CPU a singolo ciclo

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

Dettagli

Valutazione delle prestazioni dei Calcolatori Elettronici

Valutazione delle prestazioni dei Calcolatori Elettronici Valutazione delle prestazioni dei Calcolatori Elettronici Trend tecnologico: Capacità della Memoria 000000000 00000000 0000000 000000 00000 0000 000 si ze 970 975 980 985 990 995 2000 Year Capacità chip

Dettagli

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino Corso di Alfabetizzazione Informatica / La CPU CPU (Central Processing Unit) Funzione: eseguire i programmi immagazzinati in memoria principale prelevando le istruzioni (e i relativi), interpretandole

Dettagli

L'architettura del processore MIPS

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

Dettagli

Progetto CPU a singolo ciclo

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

Dettagli

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 20 Giugno Attenzione:

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 20 Giugno Attenzione: Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Appello del 20 Giugno 2016 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina. Preparare

Dettagli

Caching Andrea Gasparetto

Caching Andrea Gasparetto Tutorato di architettura degli elaboratori Caching Andrea Gasparetto andrea.gasparetto@unive.it Esercizio 1 Dati una cache con 4096 blocchi, e con dimensione dell INDEX di 10 b, determinare il grado di

Dettagli

Architettura degli Elaboratori Lez. 10 Esercizi su CPU MIPS a 1 ciclo di clock. Prof. Andrea Sterbini

Architettura degli Elaboratori Lez. 10 Esercizi su CPU MIPS a 1 ciclo di clock. Prof. Andrea Sterbini Architettura degli Elaboratori Lez. 10 Esercizi su CPU MIPS a 1 ciclo di clock Prof. Andrea Sterbini sterbini@di.uniroma1.it Argomenti Argomenti della lezione - Esercizi sulla CPU MIPS a 1 colpo di clock

Dettagli

La pipeline. Luigi Palopoli

La pipeline. Luigi Palopoli La pipeline Luigi Palopoli Ripartiamo da questo. Abbiamo visto come realizzare un semplice processore che esegue le istruzioni in un ciclo Questo non si fa piu perche : A de

Dettagli

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

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

Dettagli

Il processore Pentium

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

Dettagli

Valutazione delle prestazioni

Valutazione 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

Dettagli

Valutazione delle prestazioni. Valutazione delle prestazioni. Tempo di risposta e throughput. Prestazioni e tempo di esecuzione

Valutazione 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

Dettagli

Esercitazione del 05/05/ Soluzioni

Esercitazione del 05/05/ Soluzioni Esercitazione del 05/05/2010 - Soluzioni Criticità nella distribuzione dei dati e dei flussi Anche se in media una CPU pipelined richiede un ciclo di clock per istruzione, le singole istruzioni richiedono

Dettagli

Valutazione delle Prestazioni

Valutazione 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

Dettagli

Architettura degli Elaboratori

Architettura 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

Dettagli

L unità di elaborazione pipeline L unità Pipelining

L unità di elaborazione pipeline L unità Pipelining Struttura del processore L unità di elaborazione pipeline Corso ACSO prof. Cristina SILVANO Politecnico di Milano Incremento delle Per migliorare ulteriormente le si può: ridurre il periodo di clock aumentare

Dettagli

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti

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!

Dettagli

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

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

Dettagli