Estensioni all architettura di Von Neumann

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Estensioni all architettura di Von Neumann"

Transcript

1 Estensioni all architettura di Von Neumann Vito Perrone Corso di Informatica A per Gestionali Indice Limiti dell architettura di Von Neumann Estensioni all architettura di Von Neumann CISC e RISC 2 1

2 La macchina di Von Neumann Bus di sistema Unità di Elaborazione (CPU) Memoria Centrale (MM) Interfaccia Periferica P 1 Interfaccia Periferica P 2 3 Limiti e soluzioni proposte Limiti dell architettura di Von Neumann: Esecuzione strettamente sequenziale Problema del collo di bottiglia del bus di Von Neumann Soluzioni proposte: Coprocessori dedicati (es. coprocessore su scheda grafica) Modifiche all architettura di Von Neumann: Pipelining: fetch, interpretazione, esecuzione Long Instruction Word (LIW) Hyper-Threading (Es. P4) Gerarchie di memoria Processori dedicati (DMA) multiprocessore: vari schemi di interconnessione 4 2

3 Pipelining (1) Elaborazione parallela delle fasi delle istruzioni Funziona come una catena di montaggio: Istruzione 5 Istruzione 4 Fetch Interpretazione Esecuzione Istruzione 3 Istruzione 2 Istruzione 1 Pipeline a tre stadi 5 Pipelining (2) Superpipeline: aumenta il numero di stadi stadio semplice da realizzare veloce Superscalare: più unità di esecuzione nel processore più istruzioni in ogni stadio della pipeline Esecuzione speculativa: Schedulazione dinamica della pipeline (Circuiti logici che riducono gli effetti dello stallo) Attenua il problema dello stallo nella pipeline (quando l esecuzione di un istruzione dipende dal risultato della precedente) Tecniche di predizione dei salti Es. P4: usa tutte le precedenti tecniche 6 3

4 LIW Long Instruction Word Tecnica mista hardware/software Il compilatore genera gruppi di istruzioni in cui garantisce l assenza di dipendenze reciproche Il processore può quindi eseguire in parallelo le istruzioni dei gruppi VLIW Processore Intel Itanium. Quali problemi rispetto alle precedenti tecniche? 7 Hyper-Threading Consente ai programmi di vedere due processori Il processore eseguire due serie (threads) di istruzioni allo stesso tempo Particolarmente adatto in presenza di ambienti multitasking 8 4

5 Gerarchie di memoria Si usano diversi tipi di memoria, ognuna dotata di costi e prestazioni via via crescenti Memoria cache: memoria dotata di elevata velocità di accesso, ma molto costosa Tipicamente ci saranno: La memoria cache La memoria centrale La memoria di massa CPU Cache Memoria centrale Memoria di massa 9 DMA Direct Memory Access Processori dedicati che accedono direttamente alla memoria centrale Mem. Massa <-> Mem. Centrale Canali di ingresso/uscita Non interferiscono con il normale funzionamento dell unità di elaborazione 10 5

6 multiprocessore Più processori Più unità di memoria Processori e memorie sono interconnessi tra loro Vari schemi possibili Adatte per eseguire applicazioni altamente parallelizzabili Se aggiungiamo 9 processori otteniamo un aumento del 900% delle prestazioni? 11 Come classifichiamo i calcolatori? Microcalcolatore (PC), workstation, minicalcolatore, mainframe, supercalcolatore Come li classifichiamo? Dimensioni Prestazioni (potenza di elaborazione) Tendenza tecnologica e compatibilità verso l alto Un altra classificazione: filosofia di progettazione del linguaggio macchina CISC RISC 12 6

7 L architettura CISC Molto diffusa, specialmente in passato Intel 80x86 (Famiglia processori Intel) Motorola 680x0 (Famiglia processori Macintosh della Apple) Il set di istruzioni del processore: Comprende un numero elevato di istruzioni) Le istruzioni non sono omogenee tra loro Svariate modalità di indirizzamento della memoria (diretto, indiretto, tramite registro indice ) Vi sono anche istruzioni molto complesse: esecuzione di molte micro-istruzioni e struttura HW complessa La maggior parte delle istruzioni ha bisogno, per essere eseguita, di un numero elevato di cicli L elaborazione di ogni istruzione è piuttosto complessa Si adatta male all uso di tecniche come il pipelining 13 L architettura RISC Una tendenza ormai affermata Il set di istruzioni del processore: Comprende un numero limitato di istruzioni Le istruzioni sono omogenee tra loro e sono divise in: Istruzioni che elaborano dati tra registri Istruzioni che leggono/scrivono da un registro a memoria centrale Poche modalità di indirizzamento della memoria Le istruzioni sono tipicamente molto semplici La maggior parte delle istruzioni è eseguita in un unico ciclo A parità di applicazione il processore esegue più istruzioni, ma l elaborazione di ognuna di esse è molto veloce Si adatta molto bene all uso di tecniche come il pipelining 14 7

8 miste (CRISC) Processore con set di istruzioni tipo CISC Il processore traduce delle istruzioni CISC in micro-istruzioni più semplici (in stile RISC) Le micro-istruzioni sono poi eseguite dal cuore del processore, costruito secondo la filosofia RISC Dette anche architetture CRISC ES. Pentium 15 8