Estensioni all`architettura di Von Neumann Indice

annuncio pubblicitario
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
• Architetture CISC e RISC
Copyright © 2004 - The McGraw-Hill
Companies, srl
Architetture
Informatica A – V. Perrone
2
1
La macchina di Von Neumann
Bus di sistema
Unità di
Elaborazione
(CPU)
Copyright © 2004 - The McGraw-Hill
Companies, srl
Memoria
Centrale
(MM)
Interfaccia
Periferica P1
Interfaccia
Periferica P2
Architetture
Informatica A – V. Perrone
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)
Architetture multiprocessore: vari schemi di interconnessione
Copyright © 2004 - The McGraw-Hill
Companies, srl
Architetture
Informatica A – V. Perrone
4
2
Pipelining (1)
• Elaborazione parallela delle fasi delle istruzioni
• Funziona come una catena di montaggio:
…
Istruzione 5
Istruzione 4
Fetch Istruzione 3
Interpretazione Istruzione 2
Pipeline a tre
stadi
Esecuzione Istruzione 1
Copyright © 2004 - The McGraw-Hill
Companies, srl
Architetture
Informatica A – V. Perrone
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
Copyright © 2004 - The McGraw-Hill
Companies, srl
Architetture
Informatica A – V. Perrone
6
3
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?
Copyright © 2004 - The McGraw-Hill
Companies, srl
Architetture
Informatica A – V. Perrone
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
Copyright © 2004 - The McGraw-Hill
Companies, srl
Architetture
Informatica A – V. Perrone
8
4
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:
CPU
– La memoria cache
– La memoria centrale
– La memoria di massa
Cache
Memoria centrale
Memoria di massa
Copyright © 2004 - The McGraw-Hill
Companies, srl
Architetture
Informatica A – V. Perrone
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
Copyright © 2004 - The McGraw-Hill
Companies, srl
Architetture
Informatica A – V. Perrone
10
5
Architetture 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?
Copyright © 2004 - The McGraw-Hill
Companies, srl
Architetture
Informatica A – V. Perrone
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
Copyright © 2004 - The McGraw-Hill
Companies, srl
Architetture
Informatica A – V. Perrone
12
6
L’architettura CISC
Complex instruction set computer
• 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
Copyright © 2004 - The McGraw-Hill
Companies, srl
Architetture
Informatica A – V. Perrone
L’architettura RISC
13
Reduced instruction set computer
• 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
Copyright © 2004 - The McGraw-Hill
Companies, srl
Architetture
Informatica A – V. Perrone
14
7
Architetture miste (CRISC)
Complex Reduced Instruction Set Computers (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
Copyright © 2004 - The McGraw-Hill
Companies, srl
Architetture
Informatica A – V. Perrone
15
8
Scarica