Università degli Studi di Salerno Corso di Calcolatori Elettronici

Slides:



Advertisements
Presentazioni simili
Strategie inventate o algoritmi tradizionali?
Advertisements

Università degli Studi di Napoli Federico II Facoltà di Ingegneria Dipartimento di Informatica e Sistemistica Corso di Sistemi ad elevate prestazioni –
1 Progettazione Concettuale: Entity/Relationships (E/R) Esigenza di strumenti efficaci, chiari e sintetici per rappresentare i dati di interesse e le loro.
Ottimizzazione statica del codice per processori pipelined Canella Matteo & Miglioli Filippo.
Dossier Statistico Immigrazione Caritas/Migrantes 2010 Veneto. Cittadini stranieri residenti – Con residenti, diventa la 3^ regione italiana.
1 la competenza alfabetica della popolazione italiana CEDE distribuzione percentuale per livelli.
Tratto dal sito Il carteggio nautico Tratto dal sito 27/03/2017.
Ist. Economia POLITICA 1 – a.a. 2012/13 – Es. Cap. 3
MICROCONTROLLORI Di Tiziano Ragazzi.
Gli indicatori semplici Costituiscono un ponte tra ciò che è osservabile e misurabile e i concetti di cui si vuole fornire una misura. Assumono significato.
Introduzione al calcolo parallelo SISTEMI INFORMATIVI AZIENDALI Pierpaolo Guerra Anno accademico 2009/2010.
XXIV Congresso ACOI 2005 Montecatini Terme Maggio 2005
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
Tipo Documento: unità didattica 0 Modulo 0 Compilatore: ??? Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
Esercizi Si deve preparare una soluzione di NaCl con una concentrazione pari a c=1 g/l con errore inferiore all’1%. Viene utilizzato un matraccio da 50.
Canale A. Prof.Ciapetti AA2003/04
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
NUMERI RELATIVI.
Criticità sui dati Consideriamo una sequenza di 5 istruzioni
Il pipelining E’ una tecnica Analogia con la catena di montaggio
Il pipelining E’ una tecnica Analogia con la catena di montaggio
Criticità sui dati (1° esempio)
Criticità sul controllo
Il pipelining: tecniche di base Lucidi fatti in collaborazione con lIng. Valeria Cardellini.
Criticità sui dati (esempio da fare on line)
Criticità sul controllo
Criticità sul controllo
Il Linguaggio Macchina
Com’è fatto un elaboratore?
Master universitario di II livello in Ingegneria delle Infrastrutture e dei Sistemi Ferroviari Anno Accademico 2012/2013 Cultura dimpresa, valutazione.
Cos’è un problema?.
Estensioni allarchitettura di Von Neumann Vito Perrone Corso di Informatica A per Gestionali.
SONDAGGIO SU POLITICA E DONNE. Il sondaggio si è svolto nei giorni compresi fra l8 e il 27 febbraio 2006, su un campione qualificato di 120 intervistati.
CHARGE PUMP Principio di Funzionamento
Esercitazione 1: Rispetto al test di ansia (Media=25; σ=5), calcolare:
Addizionatori RC e CLA Università degli Studi di Salerno
ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE.
Sistemi Complessi di reti sequenziali Pipeline
La Tecnica PIPELINE Il DLX - Pipeline.
PROPOSTA PER LA CICLOLONGA 2009 denominata: IL SOGNO DI ENZO CICLOLONGA 2009 denominata: Il sogno di Enzo PER ANDARE AVANTI, CLICCA CON IL MOUSE.
La Tecnica PIPELINE Il DLX - Pipeline.
La Tecnica PIPELINE Il DLX - Pipeline.
RILEVAZIONE LIVELLI DI COMPETENZE ITALIANO ANNO SCOLASTICO 2007/2008.
RILEVAZIONE DEI LIVELLI DI COMPETENZA MATEMATICA ANNO SCOLASTICO 2007/2008 BY PROCIDA.
La gerarchia di memoria Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14.
Calcolatori Elettronici Introduzione al Pipelining Francesco Lo Presti Rielaborate da Salvatore Tucci.
MISURE di LUNGHEZZA Il CALIBRO a Corsoio.
Il “parallel indexing” nella maggior parte dei radar è costituito da 6 linee parallele fra loro, distanti l’una dall’altra 1/6 della scala, che possono.
Lavoro di gruppo Di Sara Citterio Eleonora Mossini Isabella Lamoglie.
Sviluppare un programma in C che, dato un array da 100 elementi interi caricato con numeri casuali compresi tra [10,100], sia in grado di cercare il valore.
Quale tra queste è la città più bella? A Trapani B Palermo C Catania D Praga 1 ABCD None 36,36% (4) 9,09% (1) 0% (0) 54,55% (6) 0% (0)
Università degli Studi di Napoli “Federico II” Facoltà di Ingegneria Dipartimento di Informatica e Sistemistica Corso di Sistemi ad elevate prestazioni.
Esercitazioni I/O. Dischi: Esercizio 1 Si consideri un programma che legge blocchi di 2 KB da disco, esegue un’elaborazione su questi, e quindi li riscrive.
Nonostante tutti oggi utilizzino il computer, è però necessaria la preventiva e approfondita conoscenza delle tabelle di decompressione, senza le quali.
LE RISORSE DEL MOF DOPO IL RECUPERO DELLA VALIDITA’ GIURIDICA DELL’ANNO 2012.
Mercato del lavoro e condizione giovanile: la crisi si acuisce
Arch. Elab. - S. Orlando 1 Esercitazione su Instruction Level Parallelism Salvatore Orlando.
PIANO CARRIERA FM Group
Metodologia Top_Down Lo PSpice A/D offre la possibilità di progettare con la metodologia TOP-DOWN. Progettare in Top-Down significa progettare stabilendo.
CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dell’Informazione Politecnico di Milano introduzione alle architetture superscalari Come.
Calcolatori Elettronici Introduzione al Pipelining
Calcolatori Elettronici Il Processore (2)
Tipo Documento: unità didattica 3 Modulo 7 Compilatore: Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
Calcolatori Elettronici Valutazione delle Prestazioni Francesco Lo Presti Rielaborate da Salvatore Tucci.
Informatica Generale Marzia Buscemi
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
Tipo Documento: unità didattica 3 Modulo 7 Compilatore: Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
I Microprocessori Unità 3 del libro Internet Working Sistemi e reti.
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi Interconnessione tramite reti Lezione n°6.
Transcript della presentazione:

Ing. Rosa Senatore rsenatore@unisa.it Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14 Unità di elaborazione dati con Pipeline : Data Hazard e Unità di propagazione Ing. Rosa Senatore rsenatore@unisa.it

3 2 5 1 4 1 4 3 2 1 2 3 2 1 1 I1 I2 I3 I4 I5

Esercizio 2: Si supponga che, tra tutte le istruzioni eseguite da un processore dotato di pipeline, una parte esibisca dipendenza tra i dati, come riportato in tabella: 2.1. Se non utilizzassimo la propagazione, quale sarebbe la percentuale di cicli di clock nei quali occorre inserire uno stallo a causa degli hazard sui dati? Da EX a 1 Da EX a 1 e 2 Da Ex a 2 Da MEM a 1 a. 10% 5% 25% b. 15% 20% I0 I1 I2

Da EX a 1 Da EX a 1 e 2 Da Ex a 2 Da MEM a 1 a. 10% 5% 25% b. 15% 20% La dipendenza tra lo stadio EX e l’istruzione successiva determina 2 stalli. La dipendenza tra lo stadio EX e le due successive istruzioni determina 2 stalli. La dipendenza tra lo stadio EX e la seconda istruzione successiva determina 1 stallo. La dipendenza tra lo stadio MEM e l’istruzione successiva determina 2 stalli. Supponendo che la pipeline sia a regime: CPI= 1+0.45*2+0.05*1=1.95 CPI= 1+0.40*2+0.10*1=1.9 La percentuale di cicli di stallo è pari a : 0.95/1.95= 0.49 → 49% 0.9/1.9=0.47 →47%

Esercizio 2: Si supponga che, tra tutte le istruzioni eseguite da un processore dotato di pipeline, una parte esibisca dipendenza tra i dati, come riportato in tabella: 2.2 Se utilizzassimo la propagazione completa, cioè la propagazione di tutti i risultati che si possono propagare, quale sarebbe la percentuale di cicli di clock nei quali occorre inserire uno stallo a causa degli hazard sui dati? Da EX a 1 Da EX a 1 e 2 Da Ex a 2 Da MEM a 1 a. 10% 5% 25% b. 15% 20% L’ unica dipendenza che causa 1 stallo è quella tra lo stadio MEM e l’istruzione successiva. Supponendo che la pipeline sia a regime: CPI= 1+0.25*1=1.25 CPI= 1+0.20*1=1.20 La percentuale di cicli di stallo è pari a: 0.25/1.25= 0.2 → 20% 0.2/1.2=0.17 →17%

Esercizio 2: Si supponga che, tra tutte le istruzioni eseguite da un processore dotato di pipeline, una parte esibisca dipendenza tra i dati, come riportato in tabella: Considerando le latenze dei singoli stadi della pipeline riportati in tabella: 2.3 Qual è l’incremento di velocità ottenuto aggiungendo una propagazione completa a una pipeline senza propagazione, data la percentuale di hazard e le latenze delle istruzioni? Da EX a 1 Da EX a 1 e 2 Da Ex a 2 Da MEM a 1 a. 10% 5% 25% b. 15% 20% IF ID EX (no propag) EX(propag completa) EX(propag solo da EX/MEM) EX (propag solo da MEM/WB) MEM WB a. 100 ps 50 ps 75 ps 110 ps 60 ps b. 250 ps 300 ps 200 ps 350 ps 320 ps 310 ps

EX(propag solo da EX/MEM) EX (propag solo da MEM/WB) MEM WB IF ID EX (no propag) EX(propag completa) EX(propag solo da EX/MEM) EX (propag solo da MEM/WB) MEM WB a. 100 ps 50 ps 75 ps 110 ps 60 ps b. 250 ps 300 ps 200 ps 350 ps 320 ps 310 ps Dagli es. 2.1 e 2.2, per una pipeline senza propagazione: CPI= 1+0.45*2+0.05*1=1.95 CPI= 1+0.40*2+0.10*1=1.9 Mentre per una pipeline con propagazione completa: CPI= 1+0.25*1=1.25 CPI= 1+0.20*1=1.20 Il tempo necessario all’esecuzione di un’istruzione sarà, per quella senza propagazione: Tistr = 1.95*100 ps = 195 ps Tistr = 1.90*300 ps = 570 ps Mentre per una pipeline con propagazione completa: Tistr = 1.25*110 ps = 137.5 ps Tistr = 1.20*350 ps = 420 ps L’incremento di velocità è quindi pari a : Speed_up = 195/137.5 = 1.42 Speed_up = 570/420 = 1.36

Esercizio 2: Si supponga che, tra tutte le istruzioni eseguite da un processore dotato di pipeline, una parte esibisca dipendenza tra i dati, come riportato in tabella: 2.4 Si supponga di utilizzare un multiplexer a tre input, quali quelli riportati nello schema completo di propagazione. In questo caso occorre decidere se sia meglio propagare il dato dal registro di pipeline EX/MEM oppure dal registro di pipeline MEM/WB. Quale soluzione porta ad un minore numero di stalli? Da EX a 1 Da EX a 1 e 2 Da Ex a 2 Da MEM a 1 a. 10% 5% 25% b. 15% 20%

I cicli di stallo per ogni istruzione sono: 0.10 + 0.05 + 0.50=0.65 Da EX a 1 Da EX a 1 e 2 Da Ex a 2 Da MEM a 1 a. 10% 5% 25% b. 15% 20% Considerando la propagazione solo attraverso il registro di pipeline EX/MEM: La dipendenza tra lo stadio EX e l’istruzione successiva non determina stalli. La dipendenza tra lo stadio EX e le due successive istruzioni determina 1 stallo. La dipendenza tra lo stadio EX e la seconda istruzione successiva determina 1 stallo. La dipendenza tra lo stadio MEM e l’istruzione successiva determina 2 stalli. I cicli di stallo per ogni istruzione sono: 0.10 + 0.05 + 0.50=0.65 0.05 + 0.10 + 0.40=0.55 Considerando la propagazione solo attraverso il registro di pipeline MEM/WB: La dipendenza tra lo stadio EX e l’istruzione successiva determina 1 stallo. La dipendenza tra lo stadio EX e le due successive istruzioni determina 1 stallo. La dipendenza tra lo stadio EX e la seconda istruzione successiva non determina stalli. La dipendenza tra lo stadio MEM e l’istruzione successiva determina 1 stallo. I cicli di stallo per ogni istruzione sono: 0.10 + 0.10 + 0.25=0.45 0.15 + 0.05 + 0.20=0.40

Esercizio 2: Si supponga che, tra tutte le istruzioni eseguite da un processore dotato di pipeline, una parte esibisca dipendenza tra i dati, come riportato in tabella: Considerando le latenze dei singoli stadi della pipeline riportati in tabella: 2.5 Risolvere il problema 2.4 determinando quale delle due opzioni produce un tempo di esecuzione minore per singola istruzione. Da EX a 1 Da EX a 1 e 2 Da Ex a 2 Da MEM a 1 a. 10% 5% 25% b. 15% 20% IF ID EX (no propag) EX(propag completa) EX(propag solo da EX/MEM) EX (propag solo da MEM/WB) MEM WB a. 100 ps 50 ps 75 ps 110 ps 60 ps b. 250 ps 300 ps 200 ps 350 ps 320 ps 310 ps

EX(propag solo da EX/MEM) EX (propag solo da MEM/WB) MEM WB IF ID EX (no propag) EX(propag completa) EX(propag solo da EX/MEM) EX (propag solo da MEM/WB) MEM WB a. 100 ps 50 ps 75 ps 110 ps 60 ps b. 250 ps 300 ps 200 ps 350 ps 320 ps 310 ps Dall’esercizio 2.4: Considerando la propagazione solo attraverso il registro di pipeline EX/MEM, i cicli di stallo per ogni istruzione sono: 0.10 + 0.05 + 0.50=0.65 0.05 + 0.10 + 0.40=0.55 Considerando la propagazione solo attraverso il registro di pipeline MEM/WB, i cicli di stallo per ogni istruzione sono: 0.10 + 0.10 + 0.25=0.45 0.15 + 0.05 + 0.20=0.40 Il CPI è quindi pari a : CPI= 1+0.65 = 1.65 CPI= 1+0.55 = 1.55 Il tempo di esecuzione di un’istruzione è quindi pari a: Tistr = 1.65*100 ps = 165 ps Tistr = 1.55*320 ps = 496 ps Il tempo di esecuzione di un’istruzione è quindi pari a: Tistr = 1.45*100 ps = 145 ps Tistr = 1.40*310 ps = 434 ps Il CPI è quindi pari a : CPI= 1+0.45 = 1.45 CPI= 1+0.40 = 1.40

Esercizio 2: Si supponga che, tra tutte le istruzioni eseguite da un processore dotato di pipeline, una parte esibisca dipendenza tra i dati, come riportato in tabella: Considerando le latenze dei singoli stadi della pipeline riportati in tabella: 2.6 Qual è l’incremento di velocità ulteriore, rispetto al processore dotato di propagazione completa, se si aggiungesse un circuito per la propagazione in avanti che elimina tutti hazard sui dati? Si supponga che questo circuito richieda altri 100 ps in aggiunta alla latenza dello stadio EX nella pipeline dotata di propagazione completa. Da EX a 1 Da EX a 1 e 2 Da Ex a 2 Da MEM a 1 a. 10% 5% 25% b. 15% 20% IF ID EX (no propag) EX(propag completa) EX(propag solo da EX/MEM) EX (propag solo da MEM/WB) MEM WB a. 100 ps 50 ps 75 ps 110 ps 60 ps b. 250 ps 300 ps 200 ps 350 ps 320 ps 310 ps

EX(propag solo da EX/MEM) EX (propag solo da MEM/WB) MEM WB IF ID EX (no propag) EX(propag completa) EX(propag solo da EX/MEM) EX (propag solo da MEM/WB) MEM WB a. 100 ps 50 ps 75 ps 110 ps 60 ps b. 250 ps 300 ps 200 ps 350 ps 320 ps 310 ps Dall’ es. 2.3, il tempo per istruzione con propagazione completa è pari a: Tistr = 1.25*110 ps = 137.5 ps Tistr = 1.20*350 ps = 420 ps Il tempo necessario all’esecuzione di un’istruzione con il circuito di propagazione in avanti è pari a : Tistr = 1*210 ps = 210 ps Tistr = 1*450 ps = 450 ps Di conseguenza, lo speed_up è pari a : Speed_up = 137.5/210 = 0.65 Speed_up = 420/450 = 0.93 Nonostante il circuito aggiuntivo elimini tutti gli hazard, il tempo di esecuzione di un’istruzione aumenta, quindi il processore è più lento.

Ing. Rosa Senatore rsenatore@unisa.it Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14 Unità di elaborazione dati con Pipeline : Data Hazard e Unità di Propagazione Ing. Rosa Senatore rsenatore@unisa.it