Architettura degli Elaboratori, corso A, a.a. 2005-06. Appendice A: Caratteristiche di processori esistenti



Documenti analoghi
Calcolatori Elettronici A a.a. 2008/2009

L Unità Centrale di Elaborazione

DIMENSIONI E PRESTAZIONI

Fondamenti di informatica: un po di storia

Architettura hardware

Calcolatori Elettronici

C. P. U. MEMORIA CENTRALE

Architettura dei calcolatori I parte Introduzione, CPU

Parte IV Architettura della CPU Central Processing Unit

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

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

Calcolatori Elettronici

La macchina programmata Instruction Set Architecture (1)

1.4a: Hardware (Processore)

Tecniche di parallelismo, processori RISC

CPU pipeline 4: le CPU moderne

COME È FATTO IL COMPUTER

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

Aumentare il parallelismo a livello di istruzione (2)

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

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

La Gestione delle risorse Renato Agati

Memoria Secondaria o di Massa

Sistemi Operativi e informatica 1

Parte IV Architettura della CPU

Laboratorio di Informatica

Esame di INFORMATICA

Hardware interno. Docenti: Dott. Stefano Bordoni Dott. Francesco Guerra. Facoltà di Economia, Università di Modena e Reggio Emilia

Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Sede di Reggio Emilia

PAES. Laurea Specialistica in Informatica. Analisi e sviluppo di un implementazione parallela dell AES per. architetture eterogenee multi/many-core

Architettura di un calcolatore: introduzione

Livello logico digitale. bus e memorie

Università di Pisa Facoltà di Scienze Matematiche Fisiche e Naturali

Introduzione alle architetture parallele

Gerarchie di memoria Divide et impera. Gerarchie di memoria La congettura 90/10. Gerarchie di memoria Schema concettuale

Linux nel calcolo distribuito

Prestazioni adattabili all ambiente del business

La memoria centrale (RAM)

Calcolatori Elettronici

PROGRAMMAZIONE MODULARE

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

memoria virtuale protezione

Architettura del Set di Istruzioni (ISA)

Valutazione delle Prestazioni

CPU. Maurizio Palesi

L evoluzione delle CPU

Gerarchie di Memoria Andrea Gasparetto

COMPETENZE INFORMATICHE DI BASE PER ADULTI

CPU pipeline 4: le CPU moderne

CAPITOLO 5 - Sistemi Operativi Moderni

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

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1

CALCOLATORI ELETTRONICI

Componenti di base di un computer

Schema base di CPU. Interfacce esterne: Memoria I/O ... Architetture Parallele e Distribuite, Bus I/O MINF MMU I MMU D.

ARCHITETTURA DELLE CPU come ARCHITETTURA DEL SET DI ISTRUZIONI

Architettura dei computer

CALCOLATORI ELETTRONICI 29 giugno 2011

Informatica di Base - 6 c.f.u.

ARCHITETTURA DEL CALCOLATORE

Struttura del calcolatore

Introduzione alla GPGPU Corso di sviluppo Nvidia CUDATM. Davide Barbieri

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

L unità di elaborazione pipeline L unità Pipelining

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Sistemi Operativi. Introduzione UNICAL. Facoltà di Ingegneria. Domenico Talia A.A

Parte VIII. Architetture Parallele

Informatica Generale

MODELLO DLX IN UNISIM

Calcolatori Elettronici A a.a. 2008/2009

GPGPU GPGPU. anni piu' recenti e' naturamente aumentata la versatilita' ed usabilita' delle GPU

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

ML310EG8 TV 4C E3-1220V3 4GB NHP LFF SATA B120I DW

CALCOLATORI ELETTRONICI 29 giugno 2010

CPU chips e bus. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico pagina 1

Introduzione alle architetture dei processori

Indice generale. 1 Il calcolatore: astrazioni. 2 Le istruzioni: il linguaggio. e tecnologia 1. dei calcolatori 57

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta

Tirocinio per la Laurea Triennale

Nuovi sviluppi x86 CALCOLATORI ELETTRONICI LM

Prestazioni computazionali di OpenFOAM sul. sistema HPC CRESCO di ENEA GRID

L architettura di riferimento

Sistemi Operativi UNICAL. Facoltà di Ingegneria. Domenico Talia A.A Sistemi Operativi. D. Talia - UNICAL

Parte IV. Architettura della CPU Central Processing Unit

Modulo 1: Le I.C.T. UD 1.4c: Il Processore

UD 1.4c: Il Processore IL MICROPROCESSORE

Architetture CISC e RISC

Corso di Informatica Applicata. Lezione 3. Università degli studi di Cassino

Calcolatore: Elaborare: Input: Output: John von Neumann: Device: Embedded: Sistemi programmabili:

INTRODUZIONE AI SISTEMI EMBEDDED

DEFINIZIONE 1/2 memoria ad accesso casuale RAM

SISTEMI E RETI. Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB.

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

Corrispondenza tra gli insegnamenti: ORDINAMENTO (DM 509) NUOVO ORDINAMENTO (DM 270)

Parte IV. Architettura della CPU Central Processing Unit

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

Hardware di un Computer

Fondamenti di informatica: un po di storia

Transcript:

Architettura degli Elaboratori, corso A, a.a. 2005-06 Appendice A: Caratteristiche di processori esistenti Queste note riportano le caratteristiche di alcuni processori esistenti, selezionati in modo da rappresentare le famiglie più diffuse ed, al tempo stesso, alcuni degli esemplari più recenti e tecnologicamente più avanzati. Le caratteristiche riguardano aspetti architetturali (macchina assembler Risc vs Cisc, ciclo di clock, memorie, cache su più livelli, tecnologia dei chip), prestazioni sulla base di benchmark standard (SPEC) e sulla base di applicazioni complete. Per quanto tutti i processori abbiano architettura interna parallela (studiata nel corso di Architetture Parallele e Distribuite della Laurea Specialistica) pipeline, superscalare, multi-threading, hyper-threading, SMP), le caratteristiche analizzate sono largamente indipendenti da questo aspetto. Il presente materiale non fa parte del programma di esame, ma vuole servire da informazione ed esemplificazione per gli studenti che siano interessati all evoluzione tecnologica nel settore, permettendo di ricondurre le caratteristiche tecnologiche di prodotti di mercato a quanto studiato nel corso di Architettura degli Elaboratori. Una analisi più avanzata (processori ad alte prestazioni, multiprocessor, cluster, reti ad alta velocità), sempre riferita a prodotti innovativi esistenti, sarà effettuata nel suddetto corso di Architetture Parallele e Distribuite. Gli interessati possono consultare il testo del seminario Introduzione ai Sistemi ad Alte Prestazioni, allegato alle presenti note (Appendice B).

Caratteristiche architetturali di processori attualmente sul mercato Model G4 - PPC745x G5 (PPC 970FX) Pentium4 HT (Prestonia) Power5 Manufacturer IBM- IBM Intel IBM Intel Motorola Classification RISC RISC CISC Hyperthreading Symmetric Multithreading doublecore on a single chip Itanium2 MP (Madison) EPIC (Explicitly Parallel Instruction Computing) Shipping Date 2001 Oct 2002 Feb 2002 Nov 2004 Dec 2004 Core Word (Bits) 32 64 32 64 64 Clock Speed 0.55 1.42 1.6 2.0 2.0 3.20 1.5 1.9 1.0 1.6 (GHz) Cache cache block width 32 (σ = 8) 128 (σ = 16) 32 (σ = 8) L1, L2 = 128 (σ = 16) 128 (σ = 16) (bytes) L3 = 256 (σ = 32) L1 Instr. size 32K, 8-set. 64K, directmap 8K + 12K trace 64K, 2-set 16K, 4-set (min lat. 1 τ) cache L1 Data size 32K, writeback, 8-set. 32K, writethru, 2-set. 8K, 4-set 32K, 4-set 16K, (min lat. 1 τ) L2 (KB) 256 512 512 (8-set) 1900, 10-set, shared (3 256, 8-set (min lat. 5 τ) independent banks), 2 L3 (MB) 2 0 2 on die 36, 12-set (32 GB/s) 9 (min lat. 12 τ, 32 GB/s) Memory P-M data width 64 128 64 2 x 128 128 (bits) P-M address 36 42 32 42 50 width (bits) P-M bandwidth 1.3 8.0 6.4 16 per chip 6.4 (GB/sec) Mem bandwidth 2.7 6.4 System dep > 20 GB/s per chip System dep. (GB/sec) Mem latency 93 135 System dep System dep. System dep. (nsec) Technology Process 0.18 0.13 0.13 0.13 0.13 Die size 106 mm2 131 mm2 146 mm2 389mm2 432mm2 Transistor count 33 M 55 M 55 M 276M 592M Voltage/Power 1.6V/30W 1.3V/42W 1.525V/68.4W 1.3V/? W 1.35V/130W Note: L1, L2, L3: livelli di cache. L1 suddivisa in due unità distinte, una per solo istruzioni e una per solo dati. P-M xxx width: ampiezza del collegamento (in bit) per informazione di tipo xxx tra CPU e memoria esterna al chip.

Risultati di benchmark Standard Performance Evaluation Corporation (SPEC, www.spec.org) Computer type CPU Memory SPEC Company Model Model Freq L1 L2 L3 int fp Intel D815EEA2 Pentium 1.0 16K+16 256K NA PC333 457 264 III GHz K Intel D850EMV2 Pentium 4 2.0 12Kops+ 256K NA PC800-40 684 745 GHz 8K RDRAM Intel D850EMVR Pentium 4 3.06 12Kops+ 512K NA PC1066-32 1107 1091 HT GHz 8K RDRAM Intel D925XECV2 Pentium 4 3.80 12Kops+ 1M NA PC2-4300 1671 1842 HT GHz 16K DDRII AMD MSI K8N Neo2 Athlon 64 2.6 64K+64 1M NA PC3200 1735 1878 FX-55 GHz K DDR IBM eserver p5 595 Power5 1.9 64K+32 1.9M 36 DDR2 1451 2733 GHz K M HP Integrity 4640-8 HP-Intel Itanium2 1.6 GHz 16K+16 K 256K 9M DIMM 1590 2712 Nota: SPEC int e SPEC fp si riferiscono a benchmark standard su tipi di dato intero e reale rispettivamente. Si noti che i prodotti Intel sono noti per totalizzare altissimi risultati sui benchmark SPEC anche grazie al compilatore (realizzato dalla Intel stessa) che è tarato proprio per generare codici altamente ottimizzati in relazione agli algoritmi prescritti dai benchmark.

Esempi di benchmark su applicazioni complete Mentre i benchmark SPEC si riferiscono ad una collezione di algoritmi, o kernel, spesso ha interesse avere dei benchmark riferiti ad applicazioni complete, come nei casi seguenti:

Alcuni schemi di CPU commerciali Figure 1: IBM-Motorola G4 (PPC 745x) Figure 2: IBM G5 (PPC 970)

Figure 3: Intel Pentium 4 Figure 4: 4-way SMP (2 power5 chips)

Figure 5: 8-way SMP (4 power5 chips, in the middle) with 144MB L3 cache (4 chips external) Figure 6: Intel Itanium 2 (MkKinley) chip

Esempi di ottimizzazioni di codice legate alla località Originale Ottimizzato Prefetch software int a[n], b[n]; a[i]=a[i]*b[i]; // Si assume N=SIGMA*K int a[k][sigma], b[k][sigma] for(i=0; i<k; i=i+1) { prefetch(a[i+1][0]); prefetch(b[i+1][0]); for (j=0; j< SIGMA; j=j+1) a[i][j]=a[i][j]*b[i][j]; Fusione di array int a[n], b[n]; a[i]= a[i]+b[i]; struct merge{ int a; int b; ; struct merge ab[n]; ab.a[i]=ab.a[i]+ab.b[i]; Scambio di loop int a[n][m]; for(j=0; j<m; j=j+1) a[i][j]= 5*a[i][j]; int a[n][m]; for(j=0; i<m; j=j+1) a[i][j]= 5*a[i][j]; Fusione di loop int a[n][m], b[n][m], c[i][j], d[i][j]; for(j=0; i<m; j=j+1) a[i][j]= 5*b[i][j]*c[i][j]; for(j=0; i<m; j=j+1) d[i][j]= a[i][j]+c[i][j]; int a[n][m], b[n][m], c[i][j], d[i][j]; for(j=0; i<m; j=j+1) { a[i][j]= 5*b[i][j]*c[i][j]; d[i][j]= a[i][j]+ c[i][j]; Riduzione a blocchi int a[n][n], b[n][n], ab[n][n] = 0; for(i=0;i<n;i=i+1) for(j=0;j<n;j=j+1) { r=0; for(k=0;k<n;k=k+1) { r = r+a[i][k]*b[k][j]; ab[i][j] = r; int a[n][n], b[n][n], ab[n][n] = 0; for(jj=0;jj<n;jj=jj+b) for(kk=0;kk<n;kk=kk+b) for(i=0;i<n;i=i+i) { for(j=jj; j<min(jj+b-1,n);j=j+1) { r=0; for(k=kk;k<min(kk+b-1,n);k=k+1) { r = r + a[i][k]*b[k][j]; ab[i][j] = ab[i][j]+r;

Implementazione del passaggio di parametri via RG vs memoria 9 8 7 6 Tempo*MIPS 5 4 3 2 1 0 1 2 3 4 5 6 N parametri Pentium III Pentium IV PowerPC Figure 7: Performance della chiamata di funzione vs numero di parametri per processori con un numero diverso di registri (PowerPC = 32, Pentium X86 = 4+4)