Architettura delle CPU

annuncio pubblicitario
Parte IV
Architettura della CPU
IV.1
Pinout Logico del µP Significato dei vari Pin
• Indirizzamento
• Dati
• Controllo
– Controllo del ciclo di bus
– Gestione delle interruzioni
– Arbitraggio del bus
– Gestione del coprocessore
– Segnalazione di stato
– Vari (alimentazione etc.)
IV.2
Pinout Logico del µP Significato dei vari Pin
• due dei parametri chiave che determinano le
performance della CPU sono il numero degli address pin
e dei data pin
• un chip con m address pin può indirizzare 2m locazioni di
memoria
•Un chip con n data pin può leggere e scrivere una n-bit
word in una singola operazione ( se n=8 faccio 4 operazioni per
leggere una word di 32 bit )
•Oggi sia m che n valgono 32 o 64
IV.3
Memorie cache
• Scopo della cache: disaccoppiare le velocità di CPU e RAM
• Località spaziale: alta probabilità di accedere in tempi
successivi a indirizzi molto vicini
• Località temporale: alta probabilità di accedere più volte agli
stessi indirizzi in tempi molto vicini
• Gerarchie di cache: a 2 o 3 livelli
• Cache inclusive: ciascuna contiene sempre quella del livello
superiore
IV.4
Pipeline e architetture superscalari
• Per aumentare la capacità di elaborazione della CPU:
– Pipeline a molti stadi (anche 10 e più)
– Architetture superscalari: parti di pipeline (o intere pipeline)
multiple
• Latenza: tempo necessario a completare l’elaborazione di un
istruzione
• Banda della CPU: numero di istruzioni elaborate nell’unità di
tempo
Pipeline e architetture superscalari aumentano la banda
della CPU ma non riducono la latenza
IV.5
Pentium II
• Architettura a 32 bit completamente compatibile con i
predecessori, 266 e 333 MHz
• Aritmetica Floating-point IEEE 754
• Bus di memoria a 64 bit
o
• Cache 1 livello 16KB dati +16KB istruzioni
o
• Cache 2 livello 256/512 KB nel package
• SEC (Single Edge Cartridge) a 242 pin
• Dissipa oltre 55W!
IV.6
Microarchitettura del Pentium II
IV.7
Unità funzionali
Fetch-Decode Unit
Preleva le istruzioni dalla cache L1 e le scompone in microoperazioni che vengono messe nel ROB (ReOrder Buffer)
Dispatch-Execute Unit
Preleva dal ROB le µ-operazioni che possono andare in
esecuzione e le esegue su unità funzionali multiple
Retire Unit
Ritira dal ROB le µ-operazioni la cui esecuzione è terminata,
aggiorna i registri ‘ufficiali’ aggiornati dalle µ-operazioni
IV.8
La Sezione di Controllo
• FETCH
Fase di prelievo nel corso della quale l’istruzione
individuata dal registro PC Program Counter viene
trasferita nel registro IR Instruction Register e il contenuto
di PC viene aggiornato in modo da puntare all’istruzione
successiva
• DECODE/EXECUTE
Fase di decodifica e di esecuzione dell’istruzione
contenuta nel registro IR
IV.9
I problemi del Pentium II
• IA-32 è irrimediabilmente CISC: le sue istruzioni possono essere
spezzate in istruzioni RISC ma questo richiede tempo e spazio su
chip
• Indirizzamento orientato a memoria
• Pochi registri e asimmetrici: molti risultati intermedi devono
essere appoggiati in memoria
• Pochi registri=molte dipendenze: rende difficile l’esecuzione
parallela di più istruzioni
• Necessita’ di una pipeline lunga: rende difficile la predizione dei
salti
• Rimedia con l’esecuzione speculativa ma di fatto crea altri
problemi
• 4 GB di spazio di indirizzamento: ormai poco per un grosso server
IV.10
Pentium III
• “ Intel potenzia la tecnologia del Pentium II.
Il Pentium III, fino a 1.26 GHZ, utilizza:
• memorie Synchronized Dynamic Random Access Memory
(SDRAM), che permettono un veloce trasferimento dei dati
tra il microprocessore e la memoria.
• 70 nuove istruzioni, chiamate Streaming SIMD Extensions,
che potenziano le caratteristiche multimediali e 3D.
• una cache con una più ampia banda
• 100 MHz front-side bus
IV.11
Pentium 4
• “ 32-bit microprocessore, fino a 3.4MHZ, con tecnologia hyperpipelined, una larghezza di banda tre volte quella del Pentium III,
L2 fino a 2 MB, FSB fino a 800 MHz, disegnato per i giochi on line,
video e foto digitali, riconoscimento vocale e gestione MP3. Inoltre:
•Nuova Level 1 cache technology, che migliora ancora la
comunicazione tra microprocessore e memoria
•NetBurst microarchitecture, che raddoppia la lunghezza della
pipeline fino a 20 stati.
•Estensione della Streaming SIMD extension 2 (SSE2) -- 144
nuove istruzioni, con un 128-bit SIMD integer arithmetic e 128-bit
SIMD double precision floating point instructions.
IV.12
Overview of the NetBurst Microarchitecture for Pentium 4
The block diagram of the Pentium 4.
Trace Cache:Level 1 Instruction
Retirement Unit: controlla
le microoperazioni terminate
IV.13
L’architettura IA-64
• Dopo aver spremuto fino in fondo la IA-32, Intel rompe con il passato e
propone una nuova ISA: la IA-64
• La IA-64 è una architettura a 64 bit, dual core ( e sono allo studio 80 cuori ),
nuovi supermateriali.
• Nome iniziale Pentium 4 serie 600/Itanium ( 2001/2002)
• EPIC Explicitly Parallel Instrucion Computing è il termine usato da Intel
quando fa riferimento a questa nuova tecnologia
• Ampio uso di pipeline
• Raddoppio della memoria cache a 2 MB
• Tecnologia SpeedStep utilizzata nei notebook per ridurre la dissipazione dei
chip
• Tanto per non parlare di compatibilità all’indietro è un processore dual-mode e
può eseguire anche il vecchio codice IA-32
IV.14
L’architettura IA-64
• Perché una nuova architettura ?
•Attualmente gli incrementi di prestazioni delle CPU sono
dovuti in massima parte al miglioramento del processo
tecnologico del silicio, che ha portato e ancora porterà
frequenze di lavoro sempre maggiori e integrazione di unità
di calcolo sempre più potenti e parallele. Tuttavia le
limitazioni intrinseche delle attuali architetture rendono
sempre più difficile e oneroso ogni nuovo miglioramento.
Intel si è resa conto che per ottenere miglioramenti più
cospicui era necessario sviluppare una architettura
completamente diversa, progettata in modo da tenere conto
dei vantaggi e degli svantaggi delle varie famiglie di
processori esistenti (CISC e RISC).
IV.15
L’architettura IA-64
• Perché una nuova architettura ?
•La figura di merito con cui si è soliti misurare la potenza di
un microprocessore è il numero di istruzioni che esegue in
un secondo. In prima approssimazione questa figura di
merito è direttamente proporzionale alla frequenza di clock
del processore. Per aumentare la frequenza massima
applicabile sono state ideate strutture di esecuzione a
pipeline, che eseguono più istruzioni un pezzo alla volta,
come in una catena di montaggio
IV.16
L’architettura IA-64
• Perché una nuova architettura ?
Con l'aumento delle istruzioni al secondo è sorto il problema
di fornire queste istruzioni alle unità di esecuzione, dato che
le memorie esterne non erano abbastanza veloci da
sostenere il flusso richiesto dal processore. A tal fine è stata
introdotta la memoria cache, una memoria locale, di
dimensioni ridotte, ma molto veloce, in cui sono conservate
le istruzioni più recentemente richieste, in modo che siano
rapidamente disponibili per l'esecuzione. Quando la
tecnologia di integrazione lo ha reso disponibile, per
aumentare il fattore di proporzionalità diretta con la
frequenza, sono state introdotte più unità di calcolo capaci
di eseguire le istruzioni in parallelo.
IV.17
L’architettura IA-64
•
Perché una nuova architettura ?
A questo punto l'architettura ha cominciato a mostrare i suoi limiti. Per
esempio più unità di esecuzione parallele possono in teoria permettere
l'esecuzione delle istruzioni in parallelo, però per il processore è
difficile stabilire se una certa sequenza di istruzioni può essere
parallelizzata. A volte non è possibile, a volte è possibile ma non c'è
modo di capirlo, a volte basterebbe cambiare leggermente l'ordine delle
istruzioni per renderlo possibile. Per esempio nei processori a 32 bit
della famiglia P6 (Pentium Pro, PII e PIII), è presente una logica di
controllo che, quando può, riordina le istruzioni per poter meglio
parallelizzarle (out of order execution). Si tratta sicuramente di un
miglioramento, ma sempre poco rispetto a quanto sarebbe possibile
ottenere. Da queste considerazioni è nata l'architettura EPIC (Explicitly
Parallel Instruction Computing) di Intel. L'approccio è stato quello di
stabilire prima di quali risorse interne aveva bisogno il processore per
eliminare gli svantaggi delle architetture esistenti pur avendone i
vantaggi, e poi di sviluppare un set di istruzioni capace di controllare e
sfruttare a pieno queste risorse.
IV.18
L’architettura IA-64
•
Perché una nuova architettura ?
Il set di istruzioni a 32 bit risulta intrinsecamente sequenziale e
difficilmente parallelizzabile, non è inoltre possibile operare una
ottimizzazione a livello di compilazione valida per tutti i tipi di
processore.
Nell'architettura IA-64 si sono risolte queste limitazioni agendo su due
fronti. In fase di compilazione le istruzioni vengono assemblate in modo
da favorire la parallelizzazione e inserendo direttamente all'interno del
formato dell'istruzione le informazioni relative alla dipendenza
reciproca. Si parla appunto di parallelismo esplicito, nel senso che
viene indicato all'interno dell'istruzione stessa quali istruzioni possono
essere eseguite in parallelo. Nei processori a 32 bit questo compito è
svolto dalla logica di controllo interna al chip, in modo non molto
efficiente e comunque con approccio fortemente conservativo. Nel caso
della IA-64, in fase di esecuzione una logica di controllo molto più
semplice ed efficiente sa già a priori quali istruzioni possono essere
parallelizzate. Questo approccio si chiama EPIC (Explicitly Parallel
Instruction Computing) ossia esecuzione esplicitamente parallela delle
istruzioni.
IV.19
Evoluzione architettura IA-64
• Nuovi materiali, puntando a realizzare nuovi microprocessori
• con circuiti di 45 /32 nanometri ( oggi siamo a 65 ),
• che vuol dire minore dispersione di corrente ( e quindi meno calore e consumo
energetico )
• e aumento della velocità, anche più del 20% .
• Miglioramenti di architetture interne Enhanced Intel SpeedStep® Technology e
Intel® Virtualization Technology
Intel® Core™2 Duo Processors
64 bit, dual core, 65nm.
IV.20
AMD Athlon 64
•
AMD Athlon™64 Processor: Now Available in Models 4000+
You live at the forefront of technology, and you won’t settle for less from your favorite software. That’s why AMD is
proud to bring you the AMD Athlon™ 64 processor, with AMD64 technology for dramatically higher performance and
built-in support for future 64-bit applications — even 32- and 64-bit simultaneous computing.
Maximize system efficiency and stay ahead of the curve with the technically superior PC processor, packed with
advances such as HyperTransport™ technology, an integrated DDR memory controller, Cool'n'Quiet™ and
Enhanced Virus Protection for Microsoft® Windows® XP SP2. Whether it is for business, school or play, with the
AMD Athlon 64 processor, you can address your current and future computing needs.
**** slides estratte dal sito AMD ****
IV.21
AMD Athlon 64
•
IV.22
Architettura dei computer paralleli
Le frequenze dei clock sono in crescita ma….
La velocita della luce e’ un limite….
Sempre di piu’ emerge il problema della dissipazione
di calore…..
Per cui l’architettura dei computer farà ricorso sempre
maggiormente al calcolo in parallelo, come il Dual Core
di Intel
IV.23
Architettura dei computer paralleli
Progettati per eseguire in parallelo più job ( tipo banche)
Oppure lo stesso job costituito da molti processi paralleli
( come un programma di scacchi)
IV.24
Architettura dei computer paralleli
Multiprocessore tutte le CPU condividono la memoria fisica
CPU
CPU
Memoria condivisa
CPU
CPU
IV.25
Multiprocessors
(a) multiprocessor con 16 CPU che condividono la stessa memoria
(b) Una immagine viene partizionata in 16 sezioni, ognuna
analizzata dalle 16 differenti CPU
IV.26
Architettura dei computer paralleli
Multicomputer tutte le CPU hanno la loro memoria
CPU + Mem
CPU + Mem
Rete di
interconnessione
CPU + Mem
CPU + Mem
IV.27
Multicomputers
(a) multicomputer con 16 CPU, ognuno con la propria memoria
(b) L’immagine della slide precedente viene splittata fra le diverse 16
memorie
IV.28
Architettura dei computer paralleli
I multiprocessori sono difficili da costruire
Ma facili da programmare
I multicomputer sono facili da costruire
Ma difficili da programmare
Vari sforzi per costruire sistema ibrido
Concentrandosi sulle reti di interconnessione
IV.29
Esercizio
•Una Architettura di computer paralleli di tipo
multiprocessor è realizzata con sedici CPU e deve
analizzare una immagine complessa. Una sola delle
seguenti affermazioni è vera:
–Tutte le CPU lavorano contemporaneamente sull’intera
immagine
–L’immagine viene divisa in sedici porzioni ciascuna
esaminata da una differente CPU
–A turno ogni CPU esamina l’intera immagine
•Motivare brevemente la risposta (massimo tre righe + 1
figura)
IV.30
Scarica