La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Università degli Studi di Napoli “Federico II” Facoltà di Ingegneria Dipartimento di Informatica e Sistemistica Corso di Sistemi ad elevate prestazioni.

Presentazioni simili


Presentazione sul tema: "Università degli Studi di Napoli “Federico II” Facoltà di Ingegneria Dipartimento di Informatica e Sistemistica Corso di Sistemi ad elevate prestazioni."— Transcript della presentazione:

1 Università degli Studi di Napoli “Federico II” Facoltà di Ingegneria Dipartimento di Informatica e Sistemistica Corso di Sistemi ad elevate prestazioni – Prof. Nicola Mazzocca Sistemi ad elevate prestazioni Lezione 1

2 Sistemi ad elevate prestazioni - Prof. re Nicola Mazzocca Introduzione al corso Il corso di Sistemi ad elevate prestazioni è basato su due moduli fondamentali: Il corso di Sistemi ad elevate prestazioni è basato su due moduli fondamentali: Architetture ad elevate prestazioni; Architetture ad elevate prestazioni; Sistemi dependable. Sistemi dependable.

3 Sistemi ad elevate prestazioni - Prof. re Nicola Mazzocca Sistemi ad elevate prestazioni Ci occuperemo di architetture reali, caratterizzate da precisi accorgimenti sul parallelismo interno e/o sul clock, tali da permettere il miglioramento delle prestazioni. Ci occuperemo di architetture reali, caratterizzate da precisi accorgimenti sul parallelismo interno e/o sul clock, tali da permettere il miglioramento delle prestazioni. Nell’ambito dello studio di sistemi ad elevate prestazioni possiamo delineare due diverse soluzioni: Nell’ambito dello studio di sistemi ad elevate prestazioni possiamo delineare due diverse soluzioni: Architetture monoprocessore a parallelismo interno (le architetture SuperScalari, i VLIW - Very Long Instruction Word, e i DSP); Architetture monoprocessore a parallelismo interno (le architetture SuperScalari, i VLIW - Very Long Instruction Word, e i DSP); Architetture Parallele (sistemi multiprocessore e sistemi multicomputer) Architetture Parallele (sistemi multiprocessore e sistemi multicomputer)

4 Sistemi ad elevate prestazioni - Prof. re Nicola Mazzocca Architetture monoprocessore: CISC e RISC Concentriamoci per ora solo sui sistemi monoprocessore, dove ci sono più unità che evolvono in parallelo; Concentriamoci per ora solo sui sistemi monoprocessore, dove ci sono più unità che evolvono in parallelo; Per poter effettivamente parlare di unità che evolvono in parallelo bisogna accertarsi che il processo elaborativo possa essere sviluppato da unità che elaborano in modo disgiunto; Per poter effettivamente parlare di unità che evolvono in parallelo bisogna accertarsi che il processo elaborativo possa essere sviluppato da unità che elaborano in modo disgiunto; Nell’ambito degli studi abbiamo visto due modelli principali, il modello CISC e quello RISC, che differiscono principalmente per: Nell’ambito degli studi abbiamo visto due modelli principali, il modello CISC e quello RISC, che differiscono principalmente per: Codici Operativi; Codici Operativi; Operandi ammessi dal processore; Operandi ammessi dal processore; Modi di indirizzamento. Modi di indirizzamento. Questi sono i presupposti da cui partiamo per costruire un sistema monoprocessore basato su pipe, cioè vogliamo costruire un sistema con pochi codici operativi, caratterizzato da codici di load e store, e con pochi modi di indirizzamento. Questi sono i presupposti da cui partiamo per costruire un sistema monoprocessore basato su pipe, cioè vogliamo costruire un sistema con pochi codici operativi, caratterizzato da codici di load e store, e con pochi modi di indirizzamento.

5 Sistemi ad elevate prestazioni - Prof. re Nicola Mazzocca Incremento delle prestazioni in un’architettura monoprocessore Le cose più importanti su cui su può agire per migliorare le prestazioni del sistema appena delineato sono: Le cose più importanti su cui su può agire per migliorare le prestazioni del sistema appena delineato sono: Aumentare il clock; Aumentare il clock; Replicare le risorse hardware; Replicare le risorse hardware; Implementare il parallelismo (all’interno) del nodo o microparallelismo. Implementare il parallelismo (all’interno) del nodo o microparallelismo. MARMDR PCTEMP i 2 TEMP i 3 ALU Registro Stato ID RC MAR’MDR’ Figura 1 : Schema di un processore RISC LIKE.

6 Sistemi ad elevate prestazioni - Prof. re Nicola Mazzocca La tecnica del pipelining (1) Un’architettura che può realizzare microparallelismo e, quindi, il pipelining rispetta delle fasi principali: Un’architettura che può realizzare microparallelismo e, quindi, il pipelining rispetta delle fasi principali: 1-IF 2-ID 3-EX 4-MEM 5-WB Fasi: (prelievo (Fetch), interpretazione (Decode), esecuzione (Execution), Memorizzazione ed eventuale Scrittura dei risultati in memoria (Write Back)). Fasi: (prelievo (Fetch), interpretazione (Decode), esecuzione (Execution), Memorizzazione ed eventuale Scrittura dei risultati in memoria (Write Back)). Si può partire dall’idea che se le cinque fasi sono eseguite in modo strettamente sequenziale, ogni unità lavora per una quota parte del tempo di esecuzione della singola istruzione; ad esempio, quando l’istruzione è in fase di interpretazione, le unità associate alle altre fasi sono inattive; il processore non è, quindi, sfruttato al massimo. Si può partire dall’idea che se le cinque fasi sono eseguite in modo strettamente sequenziale, ogni unità lavora per una quota parte del tempo di esecuzione della singola istruzione; ad esempio, quando l’istruzione è in fase di interpretazione, le unità associate alle altre fasi sono inattive; il processore non è, quindi, sfruttato al massimo.

7 Sistemi ad elevate prestazioni - Prof. re Nicola Mazzocca La tecnica del pipelining (2) Quindi per rendere il sistema più veloce è possibile prelevare una nuova istruzione, mentre la precedente è ancora in esecuzione (tecnica del prefetching); Quindi per rendere il sistema più veloce è possibile prelevare una nuova istruzione, mentre la precedente è ancora in esecuzione (tecnica del prefetching); Più in generale, è possibile parallelizzare le tutte fasi, implementando la tecnica del pipelining. Più in generale, è possibile parallelizzare le tutte fasi, implementando la tecnica del pipelining.

8 Sistemi ad elevate prestazioni - Prof. re Nicola Mazzocca Alcuni vantaggi La tecnica del pipelining permette di diminuire il tempo di esecuzione di un programma, anche se il tempo di attraversamento della singola istruzione non varia. La tecnica del pipelining permette di diminuire il tempo di esecuzione di un programma, anche se il tempo di attraversamento della singola istruzione non varia. Tempo di attraversamento TA = TIF + TID + TEX + TMEM + TWB Tempo di attraversamento TA = TIF + TID + TEX + TMEM + TWB Tempo di risposta TR = max {TIF,TID,TEX,TMEM,TWB} Tempo di risposta TR = max {TIF,TID,TEX,TMEM,TWB} In particolare se N sono le fasi, in condizioni ottimali, il tempo di esecuzione del programma a regime diventa pari ad 1/N del tempo di esecuzione dello stesso programma, in caso di esecuzione sequenziale; In particolare se N sono le fasi, in condizioni ottimali, il tempo di esecuzione del programma a regime diventa pari ad 1/N del tempo di esecuzione dello stesso programma, in caso di esecuzione sequenziale; il throughput (produttività), diventa N volte maggiore rispetto all’esecuzione sequenziale. il throughput (produttività), diventa N volte maggiore rispetto all’esecuzione sequenziale.

9 Sistemi ad elevate prestazioni - Prof. re Nicola Mazzocca I limiti del pipelining 1. Limiti di tempo; 2. Limiti tecnologici (es. skew del clock); 3. Problemi di gestione delle istruzioni di salto (es. branch penality); 4. Problemi di conflitto sui dati; 5. Problemi della gestione delle interruzioni; 6. Problemi di conflitto per l’accesso in memoria. Figura 2: Circuito induttivo/capacitivo. Figura 3: Lo skew del segnale di clock.

10 Sistemi ad elevate prestazioni - Prof. re Nicola Mazzocca Prossima Lezione Conflitti nei sistemi basati su pipelining: Conflitti per salti – Approccio ottimistico e conservativo Conflitti nei sistemi basati su pipelining: Conflitti per salti – Approccio ottimistico e conservativo


Scaricare ppt "Università degli Studi di Napoli “Federico II” Facoltà di Ingegneria Dipartimento di Informatica e Sistemistica Corso di Sistemi ad elevate prestazioni."

Presentazioni simili


Annunci Google