Architetture dei processori/Architettura Itanium 2: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Bot: Sostituzione automatica (-([^D])E'([^'.]) +\1È\2)
Nessun oggetto della modifica
Riga 1:
{{Architettura dei processori}}
[[Image:Itanium2.JPG|right|200px|L'itanium 2]]
L'Itanium 2 è l'ultimo processore prodotto da Intel che si appoggia sull'architettura EPIC e ne eredita i relativi vantaggi e svantaggi. L'Itanium 2 in particolare usa il set di istruzione IA-64 e seguendo la tradizione Intel implementa internamente anche alcune soluzioni tipiche dei processori superscalari. In particolare l'Itanium 2 integra pipeline a 6 vie ad 8 stadi, un sistema di precaricamento dinamico, l'unità di predizione dei salti, un folto numero di registri, l'esecuzione predicativa, il caricamento speculativo e il software pipelining. Le unità funzionali dell'Itanium 2 sono specializzate, difatti il processore dispone di 11 unità funzionali, tre preposte alla gestione dei salti (B) 4 di caricamento dei dati (M), 2 di elaborazione sugli interi (I) e 2 in virgola mobile (F). È da segnalare che le unità M possono eseguire anche operazioni sugli interi e quindi il processore è in realtà in grado di eseguire fino a 6 operazioni sugli interi per ciclo di clock. Le istruzioni vengono caricate da una cache di primo livello specializzata per le istruzioni e vengono poste in un buffer in grado di gestire fino a 8 bundle. Dato che ogni bundle può accogliere fino a 3 istruzioni il buffer può accodare fino a 24 istruzioni contemporaneamente. Il processore assegna le istruzioni alle varie unità funzionali e processa due bundle per ciclo di clock processando fino a 6 istruzioni per ciclo di clock.
 
[[Image:Architettura Itanium 2.png|thumb|800px|Architettura del processore]]
 
È da notare la semplicità del progetto rispetto a processori superscalari prodotti nello stesso periodo come il Pentium 4. Nell'Itanium 2 non esiste un buffer di riordino delle istruzioni dato che le istruzioni sono già state ordinate dal compilatore dei singoli bunblebundle e la presenza del caricamento speculativo sopperisce alla mancanza del buffer con efficienza maggiore. Il processore non utilizza tecniche di ridenominazione dei registri dato che dispone di centinaia di registri gestibili direttamente (a differenza dei miseri 8 gestiti dall'architettura x86) e implementa una tecnica chiamata di stack rotante che permette di evitare la saturazione dei registri nel caso dell'utilizzo di programmi con molti cambi di contesto. Il processore non implementa complessi algoritmi di riordino delle istruzioni durante la fase di decodifica dato che i singoli bundle contengono istruzioni di controllo che dichiarano esplicitamente il parallelismo tra le istruzioni.
 
L'uso della branch prediction permette di precaricare dati e istruzioni in modo speculativo riducendo le cache miss.
Riga 18:
 
== Prestazioni ==
Le prestazioni di un processore dipendono sempre dai programmi utilizzati. Si sono effettuati deldei confronti tra un processore Itanium 2 e un processore Pentium 4. Il Pentium 4 è un buon processore per effettuare il confronto con l'Itanium essendo anch'esso in grado di eseguire fino a 6 operazioni per ciclo di clock, è un processore diffuso e viene prodotto da Intel con processi produttivi simili a quelli utilizzati per l'Itanium 2. Eseguendo delle operazioni multimediali si è visto che mentre il Pentium 4 mediamente esegue 1.3 operazioni per ciclo di clock l'Itanium 2 ne esegue più di 3 con codice ottimizzato. Va detto che a parità di programma il codice per Itanium 2 contiene circa il 30% in più delle istruzioni dell'equivalente codice per Pentium 4 e che i processori Itanium 2 per via delle loro pipeline corte non riescono a raggiungere frequenze paragonabili a quelle raggiungibile dal Pentium 4 che con le sue lunghe pipeline a 31 stadi riesce a salire in frequenza facilmente. Comunque limiti fisici difficilmente superabili limitano la possibilità di crescere in frequenza, i processori Pentium 4 in teoria sarebbero dovuti arrivare a frequenze di 10 Gigahertz mentre alla prova dei fatti si sono fermati a 3.8 Gigahertz, quindi l'architettura dell'Itanium sembra vincente sul lungo periodo anche se la mancanza di compatibilità binaria con il passato è un grave limite di questa tipologia di processori e ne ipoteca il futuro utilizzo per i comuni PC.
 
[[Categoria:Architetture dei processori]]