La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Unità di elaborazione dati con Pipeline : Data Hazard e Unità di propagazione Ing. Rosa Senatore Università degli Studi di Salerno Corso.

Presentazioni simili


Presentazione sul tema: "Unità di elaborazione dati con Pipeline : Data Hazard e Unità di propagazione Ing. Rosa Senatore Università degli Studi di Salerno Corso."— Transcript della presentazione:

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

2 I5I5 I1I1 I2I2 I3I3 I4I

3 E SERCIZIO 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? E SERCIZIO 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 1Da EX a 1 e 2 Da Ex a 2Da MEM a 1 a.10% 5%25% b.15%5%10%20% I0I0 I1I1 I2I2

4 La dipendenza tra lo stadio EX e listruzione 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 listruzione successiva determina 2 stalli. Supponendo che la pipeline sia a regime: a.CPI= *2+0.05*1=1.95 b.CPI= *2+0.10*1=1.9 Da EX a 1Da EX a 1 e 2 Da Ex a 2Da MEM a 1 a.10% 5%25% b.15%5%10%20% La percentuale di cicli di stallo è pari a : a.0.95/1.95= % b.0.9/1.9= %

5 E SERCIZIO 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? E SERCIZIO 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 1Da EX a 1 e 2 Da Ex a 2Da MEM a 1 a.10% 5%25% b.15%5%10%20% L unica dipendenza che causa 1 stallo è quella tra lo stadio MEM e listruzione successiva. Supponendo che la pipeline sia a regime: a.CPI= *1=1.25 b.CPI= *1=1.20 La percentuale di cicli di stallo è pari a: a.0.25/1.25= % b.0.2/1.2= %

6 E SERCIZIO 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 è lincremento di velocità ottenuto aggiungendo una propagazione completa a una pipeline senza propagazione, data la percentuale di hazard e le latenze delle istruzioni? E SERCIZIO 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 è lincremento 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 1Da EX a 1 e 2 Da Ex a 2Da MEM a 1 a.10% 5%25% b.15%5%10%20% IFIDEX (no propag) EX(propag completa) EX(propag solo da EX/MEM) EX (propag solo da MEM/WB) MEMWB a.100 ps50 ps75 ps110 ps100 ps 60 ps b.250 ps300 ps200 ps350 ps320 ps310 ps300 ps200 ps

7 Il tempo necessario allesecuzione di unistruzione sarà, per quella senza propagazione: a.T istr = 1.95*100 ps = 195 ps b.T istr = 1.90*300 ps = 570 ps Mentre per una pipeline con propagazione completa: a.T istr = 1.25*110 ps = ps b.T istr = 1.20*350 ps = 420 ps IFIDEX (no propag) EX(propag completa) EX(propag solo da EX/MEM) EX (propag solo da MEM/WB) MEMWB a.100 ps50 ps75 ps110 ps100 ps 60 ps b.250 ps300 ps200 ps350 ps320 ps310 ps300 ps200 ps Dagli es. 2.1 e 2.2, per una pipeline senza propagazione: a.CPI= *2+0.05*1=1.95 b.CPI= *2+0.10*1=1.9 Mentre per una pipeline con propagazione completa: a.CPI= *1=1.25 b.CPI= *1=1.20 Lincremento di velocità è quindi pari a : a.Speed_up = 195/137.5 = 1.42 b.Speed_up = 570/420 = 1.36

8 E SERCIZIO 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? E SERCIZIO 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 1Da EX a 1 e 2 Da Ex a 2Da MEM a 1 a.10% 5%25% b.15%5%10%20%

9 Considerando la propagazione solo attraverso il registro di pipeline EX/MEM: La dipendenza tra lo stadio EX e listruzione 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 listruzione successiva determina 2 stalli. I cicli di stallo per ogni istruzione sono: a =0.65 b =0.55 Considerando la propagazione solo attraverso il registro di pipeline MEM/WB: La dipendenza tra lo stadio EX e listruzione 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 listruzione successiva determina 1 stallo. I cicli di stallo per ogni istruzione sono: a =0.45 b =0.40 Da EX a 1Da EX a 1 e 2Da Ex a 2Da MEM a 1 a.10% 5%25% b.15%5%10%20%

10 E SERCIZIO 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. E SERCIZIO 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 1Da EX a 1 e 2 Da Ex a 2Da MEM a 1 a.10% 5%25% b.15%5%10%20% IFIDEX (no propag) EX(propag completa) EX(propag solo da EX/MEM) EX (propag solo da MEM/WB) MEMWB a.100 ps50 ps75 ps110 ps100 ps 60 ps b.250 ps300 ps200 ps350 ps320 ps310 ps300 ps200 ps

11 Dallesercizio 2.4: Considerando la propagazione solo attraverso il registro di pipeline EX/MEM, i cicli di stallo per ogni istruzione sono: a =0.65 b =0.55 Considerando la propagazione solo attraverso il registro di pipeline MEM/WB, i cicli di stallo per ogni istruzione sono: a =0.45 b =0.40 IFIDEX (no propag) EX(propag completa) EX(propag solo da EX/MEM) EX (propag solo da MEM/WB) MEMWB a.100 ps50 ps75 ps110 ps100 ps 60 ps b.250 ps300 ps200 ps350 ps320 ps310 ps300 ps200 ps Il CPI è quindi pari a : a.CPI= = 1.65 b.CPI= = 1.55 Il tempo di esecuzione di unistruzione è quindi pari a: a.T istr = 1.65*100 ps = 165 ps b.T istr = 1.55*320 ps = 496 ps Il CPI è quindi pari a : a.CPI= = 1.45 b.CPI= = 1.40 Il tempo di esecuzione di unistruzione è quindi pari a: a.T istr = 1.45*100 ps = 145 ps b.T istr = 1.40*310 ps = 434 ps

12 E SERCIZIO 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 è lincremento 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. E SERCIZIO 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 è lincremento 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 1Da EX a 1 e 2 Da Ex a 2Da MEM a 1 a.10% 5%25% b.15%5%10%20% IFIDEX (no propag) EX(propag completa) EX(propag solo da EX/MEM) EX (propag solo da MEM/WB) MEMWB a.100 ps50 ps75 ps110 ps100 ps 60 ps b.250 ps300 ps200 ps350 ps320 ps310 ps300 ps200 ps

13 Il tempo necessario allesecuzione di unistruzione con il circuito di propagazione in avanti è pari a : a.T istr = 1*210 ps = 210 ps b.T istr = 1*450 ps = 450 ps Di conseguenza, lo speed_up è pari a : a.Speed_up = 137.5/210 = 0.65 b.Speed_up = 420/450 = 0.93 IFIDEX (no propag) EX(propag completa) EX(propag solo da EX/MEM) EX (propag solo da MEM/WB) MEMWB a.100 ps50 ps75 ps110 ps100 ps 60 ps b.250 ps300 ps200 ps350 ps320 ps310 ps300 ps200 ps Dall es. 2.3, il tempo per istruzione con propagazione completa è pari a: a.T istr = 1.25*110 ps = ps b.T istr = 1.20*350 ps = 420 ps Nonostante il circuito aggiuntivo elimini tutti gli hazard, il tempo di esecuzione di unistruzione aumenta, quindi il processore è più lento.

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


Scaricare ppt "Unità di elaborazione dati con Pipeline : Data Hazard e Unità di propagazione Ing. Rosa Senatore Università degli Studi di Salerno Corso."

Presentazioni simili


Annunci Google