Parte IV Architettura della CPU



Documenti analoghi
Parte IV Architettura della CPU Central Processing Unit

Parte IV. Architettura della CPU Central Processing Unit

Parte IV. Architettura della CPU Central Processing Unit

Architettura hardware

C. P. U. MEMORIA CENTRALE

CPU. Maurizio Palesi

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Esame di INFORMATICA

Laboratorio di Informatica

I componenti di un Sistema di elaborazione. CPU (central process unit)

Struttura del calcolatore

CPU pipeline 4: le CPU moderne

Calcolatori Elettronici

La macchina di Von Neumann. Archite(ura di un calcolatore. L unità di elaborazione (CPU) Sequenza di le(ura. Il bus di sistema

Calcolo numerico e programmazione Architettura dei calcolatori

Architettura del calcolatore

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Architettura dei computer

CPU pipeline 4: le CPU moderne

Lezione n.19 Processori RISC e CISC

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

1.4a: Hardware (Processore)

CALCOLO PARALLELO SUPERARE I LIMITI DI CALCOLO. A cura di Tania Caprini

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

DMA Accesso Diretto alla Memoria

Architettura dei calcolatori I parte Introduzione, CPU

Il Processore: i registri

Fondamenti di informatica: un po di storia

Corso di Calcolatori Elettronici I A.A Il processore Lezione 18

La memoria centrale (RAM)

Introduzione all'architettura dei Calcolatori

Architettura di un calcolatore: introduzione

L architettura di riferimento

Informatica di base. Hardware: CPU SCHEDA MADRE. Informatica Hardware di un PC Prof. Corrado Lai

Lezione 3: Architettura del calcolatore

Architetture CISC e RISC

La memoria - generalità

Il microprocessore 8086

Architettura hw. La memoria e la cpu

CALCOLATORI ELETTRONICI A cura di Luca Orrù

La macchina programmata Instruction Set Architecture (1)

LABORATORIO DI SISTEMI

DIMENSIONI E PRESTAZIONI

COME È FATTO IL COMPUTER

Esempio: aggiungere j

Più processori uguale più velocità?

Gerarchia delle memorie

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Architettura di un calcolatore

L HARDWARE parte 1 ICTECFOP@GMAIL.COM

FONDAMENTI di INFORMATICA L. Mezzalira

Organizzazione della memoria

PLC Programmable Logic Controller

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica

Tipi classici di memoria. Obiettivo. Principi di localita. Gerarchia di memoria. Fornire illimitata memoria veloce. Static RAM. Problemi: Dynamic RAM

L Unità Centrale di Elaborazione

Dispensa di Informatica I.1

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

Architetture CISC e RISC. Misura della potenza di calcolo. Cos'è la potenza di calcolo. Prestazioni della CPU. Fondamenti di Informatica

ARCHITETTURA DELL ELABORATORE

Linux lo installo a 32 o 64 bit? (teoria e pratica)

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Quinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine.

Strutturazione logica dei dati: i file

Tecniche di parallelismo, processori RISC

Metric Computo Metrico

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN

Informatica - A.A. 2010/11

DEFINIZIONE 1/2 memoria ad accesso casuale RAM

ARCHITETTURA DEL CALCOLATORE

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

UD 3.4b: Trattabilità e Intrattabilità. Dispense, cap. 4.2

Gestione della memoria centrale

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico pagina 1

Unità Periferiche. Rete Di Controllo

La Memoria d Uso. La Memoria d Uso

CALCOLATORI ELETTRONICI 15 aprile 2014

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

clock DATA BUS ADDRESS BUS CONTROL BUS In realtà il bus del microprocessore si compone di 3 bus diversi: Bus indirizzi Bus di controllo

L unità di elaborazione pipeline L unità Pipelining

Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro

Hazard sul controllo. Sommario

Livello logico digitale. bus e memorie

STRUTTURE DEI SISTEMI DI CALCOLO

Memoria Secondaria o di Massa

Organizzazione della memoria principale Il bus

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

Laboratorio di Informatica

Calcolatori Elettronici. La Pipeline Criticità sui dati Criticità sul controllo Cenni sull unità di controllo

Corso di Informatica

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web: Prof. G. Quarella prof@quarella.

Vari tipi di computer

VIRTUALIZZAZIONE. Docente: Marco Sechi Modulo 1

UNITÀ DI ELABORAZIONE (CPU) UNITÀ DI ELABORAZIONE (CPU) Opcode OpCode Operazione

Il memory manager. Gestione della memoria centrale

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti

Architettura dei calcolatori II parte Memorie

Transcript:

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 2 m 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 Cache 1 o livello 16KB dati +16KB istruzioni Cache 2 o 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