SCHEDE È praticamente impossibile realizzare un testo relativo all'architettura e al funzionamento dei calcolatori che non sia obsoleto già quando viene pubblicato. Per ovviare a questo inconveniente, si propongono delle "schede", frutto di "tesine" e contributi varii, che verranno via via aggiornate. Le pagine che seguono sono d'integrazione e d'aggiornamento del Cap. 4 del testo: Demichelis, Piccolo, "Introduzione all'informatica in C", McGraw-Hill, Milano. Per maggiori spiegazioni e illustrazioni fare riferimento ai testi: Curtin, Foley, Sen, Morin, "Informatica di base:, McGraw-Hill, Milano Tosoratti, "Introduzione all'informatica", Casa Editrice Ambrosiana, Milano e ai depliant relativi ai sistemi informatici. Fonti: riviste di informatica e siti internet PANORAMICA RELAZIONE DI AGGIORNAMENTO SUI DATI DEI PIU' RECENTI CALCOLA TORI Aggiornata da Emanuele Caimotti - a.a. 2005/2006 I dati sotto riportati si riferiscono ai migliori componenti ora in commercio (Dicembre 2005) MICROPROCESSORE (CORE SINGOLO) MICROPROCESSORE (DOPPIO CORE) INTEL PENTIUM 4 670 (3,8GHz) INTEL PENTIUM 4 3,4GHz Extreme edition INTEL PENTIUM XEON 3,6 GHz (Per workstation) AMD ATHLON 64 FX-57 (2,8 GHz) AMD OPTERON 150 (2,4 GHz) (Per workstation) INTEL PENTIUM D 840 (3,2GHz) INTEL PENTIUM Extreme Edition (3,2GHz) ATHLON X2 4800+ (2,4GHz) HARD DISK (Per capienza) HDD SEAGATE 500 GB (Per velocità) HDD WESTERN DIGITAL serie RAPTOR RAM DDR (Duble Data Rate) 1GB KINGSTON HYPERX DDR 400 RAM DDR II 1GB SAMSUNG/KINGMAX DDRII 533 512MB K INGSTON HYPERX DDRII 675 SCHEDE MADRI Con SOCKET LGA 775 e CHIPSET INTEL i945P / i955X Con SOCKET 939 e CHIPSET nVIDIA nFORCE 4 SLI X16 SCHEDE VIDEO nVIDIA GEFORCE 7800 GTX (PCI-EXPRESS 16 X) ATi RADEON X1800 XT (PCI-EXPRESS 16 X) SCHEDE AUDIO CREATIVE X-FI FATAL1TY (CHIP CREATIVE EMU20K) TERRATEC AUREON (CHIP VIA ENVY 24 HT) MASTERIZZATORI DVD LETTURA CD: CD-R/CD-RW 48x SCRITTURA CD: CD-R 48x / CD-RW 32x LETTURA DVD: DVD-/+R 16x / DVD-/+RW 13x SCRITTURA DVD: SINGLE LAYER +R 16x +RW 8x / DUAL-LAYER +R 5x -R 4x MODEM 56 Kbps / 128Kbps ISDN ADSL 4Mbps FIBRA OTTICA 10 Mbps MONITOR CRT SONY GDM F520 (21 POLLICI / 2048x1536 a 86Hz) MONITOR LCD SAMSUNG 930BF (19 POLLICI / 1280x1024) APPROFONDIMENTO ATTENZIONE: Per maggiori informazioni sul funzionamento delle componenti fare riferimento alle altre schede disponibili nel sito. CPU (singolo core) Gli ultimi processori della serie PENTIUM 4 e PENTIUM D sono stati progettati per essere ospitati nei socket LGA a 775 pin. Il modello 670 è caratterizzato da una frequenza di clock di 3,8 GHz e da una frequenza di bus di 800 MHz. Le due cache di primo e secondo livello integrate nel core hanno dimensione 16KB e 2MB. Il modello Extreme Edition di frequenza 3,73 Ghz possiede una frequenza di bus di 1066 MHz e la stessa quantità di cache di primo e secondo livello del modello precedente. Entrambe sono in grado di elaborare codici a 64 o 32 bit. AMD che è stata la prima azienda a introdurre microprocessori a 64 bit mantiene il primato con l’ATHLON 64 FX-57, attualmente la cpu più potente tra quelle destinate ai personal computer, battendo anche le cpu dual-core (doppio core). Questo modello destinato a schede madri con socket a 939 pin lavora ad una frequenza operativa di 2,8 GHz e presenta un bus ampio 1GHz. Inoltre possiede una cache di primo livello da 128KB e una cache di secondo livello da 1MB. Importante innovazione legata alle cpu a 64 bit di AMD è l’integrazione all’interno del microprocessore del controller delle memorie ram, il che permette il dialogo diretto delle due componenti senza il passaggio obbligatorio per il chipset della scheda madre. CPU (dual-core) Nella seconda metà del 2006 sono uscite le prime cpu dual-core destinate ai pc: la serie ATHLON X2 di AMD e la serie PENTIUM D. Sia il PENTIUM D 840 che la versione Extreme Edition hanno una frequenza di clock di 3,2 GHz e un bus ampio 800MHz. L’ATHLON 64 X2 4800+ lavora invece ad una frequenza di 2,4 GHz e ha una frequenza di bus di 1GHz. Entrambe le serie sono caratterizzate da due core identici posti sulla cpu e dotati ogni uno di cache di primo e secondo livello. Sebbene il punto di forza di questi microprocessori è il multitasking, nelle singole applicazioni risultano meno performanti rispetto ai dispositivi a core singolo. HARD DISK Dopo aver abbandonato l’interfatta PATA (Parallel ATA) che prevedeva l’utilizzo di cavi a 40 poli, le case di produzione hanno adottato l’interfaccia SATA (Serial ATA) che utilizza cavi a 7 poli (due dei quali portano il segnale e gli altri 5 sono di controllo) lunghi fino ad 1m. Se il vecchio standard proponeva trasferimenti di massimo 150MB/s il nuovo standard SATA (cui e attualmente seguito lo standard SATA II) arriva fino a 600MB/s. Attualmente i piatti della maggior parte degli hard disk girano alla velocità di 7200 rpm e il seek time è di circa 9 ms. Fanno eccezione le unità della serie RAPTOR di WESTERN DIGITAL che utilizzano dischi a velocità di 10000 rpm e che sono caratterizzati da un seek time di 4,5 ms e da capacità ancora non superiore a 200GB. I limiti meccanici influenzano molto la velocità di scrittura e lettura e spesso non si rilevano particolari differenze tra le interfacce PATA e SATA. Per aumentare la velocità si sono dotate le unità di cache (con capacità fino a 16 MB) sottoforma di moduli SDRAM. Inoltre si è ormai raggiunta la massima densità dei dischi utilizzati (150 Gbit per pollice quadrato). I dischi SATA supportano anche la funzione hot plugging che permette di collegare le unità anche a sistema acceso. RAM Le architetture basate sugli processori della serie ATHLON 64 utilizzano moduli ram DDR (Double Data Rate) che sono in grado di inviare bit sia in fase di salita che in fase di discesa del segnale. Così i moduli 400MHz lavorano in realtà alla frequenza di 200MHz in fase di salita e 200MHz in fase di discesa del segnale. Attualmente i moduli ram hanno raggiunto la capacità di 1GB e sono caratterizzate da tempi di accesso di circa 4,5 ns. Le ram DDR II sono l’evoluzione delle DDR. Attualmente si trovano in commercio moduli da 1 GB che presentano tempi di accesso e latenze superiori alle memorie DDR che però sono controbilanciate da una maggior banda passante di 800 MHz. Questi ultimi moduli sono utilizzati su piattaforme per PENTIUM 4. SCHEDE MADRI Attualmente le schede madri sono basate su chipset divisi in due unità fisiche: il northbridge e il southbridge. Il primo gestisce le periferiche più veloci come cpu, ram e scheda video e le mette in comunicazione attraverso il bus QUAD PUMPED a 800MHz per i PENTIUM e il bus HYPERTRANSPORT a 1GHz per gli ATHLON. Il southbridge si occupa invece di gestire le periferiche più lente: hard disk, unità ottiche, schede audio, porte seriali, usb2, ecc. Le schede madri prodotte per le cpu INTEL ricorrono a chipset prodotti dalla stessa azienda e che supportano USB 2.0, bus PCI-Express 1x e 16x, interfaccia SATA, DDR II e audio onboard. Le schede basate sull’architettura degli ATHLON 64 sono realizzate con il chipset nFORCE 4 (malgrado esistano numerosi tipi di chipset come quelli prodotti da VIA, SiS e ULI, quello di nVIDIA si contraddistingue per prestazioni e dotazioni). SCHEDE VIDEO Le schede video attuali hanno ormai abbandonato il bus AGP (con banda passante di 2GB) e hanno adottato il nuovo bus PCI-Express 16x (con banda passante massima di 8GB/s). La scheda RADEON X1800 XT è dotata di una gpu (graphic processing unit) con frequenza ai 625 MHz e di 512 MB di ram GDDR3 a 800 MHz. La GEFORCE 7800 GTX ha una frequenza operativa di 430MHz ed è corredata da 256MB di memoria GDDR3 con frequenza pari a 600MHz. Entrambe le schede video supportano le ultime librerie grafiche Microsoft (le directx 9.0 versione c), possiedono unità pixel shader e vertex shader 3.0 e sono dotate di uscita TV in formato composito e uscita VGA in formato digitale. SCHEDE AUDIO Le schede audio CREATIVE X-FI e TERRATEC AUREON sono in grado di riprodurre e registrare audio a 24bit con campionatura a 96KHz (32bit e 192KHz per il chip CREATIVE), supportano l’audio multicanale per sistemi audio 7.1 e la decodifica Dolby Digital e DTS (Digital Theatre Sound). MASTERIZZATORI Ormai tutti i masterizzatori DVD attualmente in commercio riescono a masterizzare i formati DVD-R DVD+R, DVD-/+RW e il recente formato Dual Layer (doppio strato) costituito da due strati masterizzabili posti uno sopra l’altro che hanno portato il formato DVD alla capienza di 9GB. Alla velocità di 16X (22000 KB/s) i moderni masterizzatori riescono a scrivere un disco DVD in circa 6 min. Il tempo medio di accesso e di circa 120ms per i CD-ROM e 140 per i DVD-ROM. Può essere interessante il raffronto con i dati del 2000: RELAZIONE DI AGGIORNAMENTO SUI DATI DEI PIU' RECENTI CALCOLA TORI Scritta da Carlo Destefanis - Politecnico di Torino I dati sotto riportati si riferiscono ai migliori componenti ora in commercio (22/I/2000) MICROPROCESSORE: Intel Inside Pentium III 733 MHz. AMD Athlon 750MHz. HARD DISK: 13 GB (Quantum o IBM) 18 GB (Quantum o IBM) RAM: 64 MB (100MHz.) 128 MB (100MHz.) SCHEDE MADRI: per Pentium II/III Per Athlon (512K di CACHE) SCHEDE VIDEO: Matrox G400 32MB ERAZOR III TNT2 32MB SCHEDE AUDIO: Creative Sound Blaster LIVE PLATINUM PCI 128 bit LETTORI CD-ROM: 50x in lettura LETTORI DVD-ROM: 8x-40x in lettura MASTERIZZATORI: 8x in scrittura / 4x-32x in lettura MODEM: 56K (interno o esterno) .128K (solo per linee ISDN, interno o esterno) 5MB (è un'invenzione di una ditta, ma troppo costoso per ora !!!) SCANNER: piani per A3 o A4 600x1200 dpi STAMPANTI: per A3 o A4 a quadricromia o esacromia 1440x720 dpi MONITOR: la gamma va dai 15" ai 24" ; dai 0,28 d.p. (i peggiori) ai 0,21 d.p. (i migliori) UNITA' DI BACKUP: drive zip iOMEGA 100MB drive zip iOMEGA 250MB PRESTAZIONI DEI PROCESSORI Fattori che influenzano le prestazioni di un processore: Insieme delle istruzioni (instruction set) che il processore è in grado di eseguire. Istruzioni molto semplici richiedono un basso numero di cicli di clock, istruzioni più complesse ne richiedono in genere una quantità maggiore. In base alla tipologia di instruction set adottata i processori si distinguono in: - processori CISC (Complex Instruction Set Computer), in cui ciascuna istruzione può richiedere molti cicli di clock per essere completata; - processori RISC (Reduced Instruction Set Computer) i quali eseguono almeno un'istruzione per ogni ciclo di clock. Dimensione dei registri (parallelismo della CPU, ovvero dimensione delle word). Si misura in bit e assume valori che, in genere, vanno da 16 a 64. Tanto maggiore è questo valore, tanto maggiori sono i singoli blocchi di informazione che il processore può elaborare per ciascuna istruzione eseguita, con conseguente incremento della velocità complessiva di calcolo. Numero dei registri: la disponibilità di un elevato numero di registri comporta la necessità di compiere accessi alla memoria meno frequenti. Esistono in commercio CPU RISC con centinaia di registri, mentre le CPU CISC ne hanno generalmente molti meno. Dimensione degli indirizzi: il numero di bit usati per gli indirizzi (in genere da 16 a 64) determina lo «spazio di memoria indirizzabile»; quando quest'ultimo è maggiore della dimensione fisica della memoria centrale (memoria reale), viene fatto ricorso a opportuni artifizi in grado di gestire tale differenza (memoria virtuale). Frequenza di clock: determina la velocità con cui si susseguono i cicli macchina e quindi la velocità di esecuzione delle istruzioni. Col tempo, dopo la prima realizzazione, ogni nuovo microprocessore di successo viene rielaborato per aumentare progressivamente la velocità del clock. Questa, infatti, non può essere aumentata arbitrariamente, ma deve rispettare le velocità di propagazione dei segnali elettrici all'interno dei circuiti logici. Da frequenze, che negli anni '80 erano dell'ordine di alcuni MHz, si è passati a diverse decine di MHz nei primi anni '90, per arrivare oggi a frequenze di molte centinaia di MHz (oltre 700 nel 1999). Scalarità: processori capaci di eseguire più di un'istruzione per ogni ciclo di clock sono detti “superscalari”; il livello di scalarità è indice del numero di fasi sovrapponibili. Questa capacità è propria non solo dei processori RISC ma anche dei più moderni CISC. La scalarità non è da confondere con la scalabilità, caratteristica piuttosto dei sistemi: un sistema si dice scalabile quando si può ampliare (aumentando quindi le prestazioni e migliorandole) pagando un costo correlato solo alle componenti aggiunte, potendo mantenere tutte le parti già acquisite (la scalabilità preserva dunque gli investimenti). Misura delle prestazioni del processore Per dare una misura della velocità dei processori si utilizzavano in passato due indicatori: MIPS (Millions of Instructions Per Second): indica il numero di operazioni logiche o tra numeri interi eseguibili in media per unità di tempo (riferimento:1 MIPS per il DEC VAX 11/780, realizzato alla fine degli anni '70; oggi si parla di centinaia di MIPS). MFLOPS (Millions of FLoating point Operations Per Second): è l'unità di misura per calcoli in virgola mobile. Tuttavia la velocità di un processore, percepita dall'utente, dipende da numerosi fattori, quali l'architettura della CPU (CISC o RISC), il numero di cicli macchina medio per istruzione, la velocità del clock, la pipeline e da molti altri componenti il sistema (velocità della memoria centrale, meccanismo di gestione della memoria virtuale, velocità del bus, ecc.). Solitamente si utilizzano particolari programmi campione, detti benchmark, per effettuare valutazioni comparative. Occorre ancora considerare che gli applicativi più complessi (CAD, WORD PROCESSOR, ecc.) fanno molti riferimenti al disco, e quindi anche gli accessi al disco entrano in gioco per la valutazione delle prestazioni di un sistema. La legge di Joy Nel 1984 William Joy, uno dei fondatore della Sun Microsystems, formulò l’ipotesi che le prestazioni degli elaboratori sarebbero aumentate secondo un indice prevedibile. Utilizzando i MIPS come unità di misura del rendimento, Joy sviluppò la formula oggi nota come Legge di Joy: MIPS ? 2 (anno ?1984) Ad esempio, nel Duemila il rendimento di un computer dovrebbe essere di 216 ? 65.636 MIPS. Finora il rendimento dei microprocessori è andato incredibilmente vicino alle previsioni di Joy. Il primo chip aveva una velocità di circa 6000 istruzioni per secondo, ovvero 0,006 MIPS, mentre oggi il Pentium ha più di 100 MIPS, quindi una velocità 16 mila volte superiore. I microprocessori Intel Nome Data Velocità Numero di transistor Ampiezza dei bus Memoria 4004 8008 8080 8086 80286 lntel386 lntel486 Processore Pentium Processore Pentium Pro Processore Pentium con MMX Pentium II 1971 1972 1974 1978 1982 1985 1989 1993 1995 1997 1997 108 KHz 200 KHz 2 MHz 10 MHz 12 MHz 16 MHz 25 MHz 60 & 66 MHz 200 MHz 200 MHz 300 MHz 2.300 (10 micron) 3.500 (10 micron) 6.000 (6 micron) 29.000 (3 micron) 734.000 (1,5 micron) 275.000 (1,5 micron) 1.200.000 (1 micron) 3.1 million (.8 micron) 5.5 million (0,35 micron) 4.5 million (0,35 micron) 7.5 million (0,35 micron) 4 bit 8 bit 8 bit 16 bit 16 bit 32 bit 32 bit 32 bit 64 bit 32 bit 64 bit 640 byte 16 KB 64 KB 1 MB 16 MB 4 GB 4 GB 4 GB 64 GB 4 GB 64 GB Intel Pentium I processori sino al 386 necessitavano di almeno 2 cicli di clock per eseguire qualsiasi istruzione; il 486 è stato il primo a eseguire gran parte delle istruzioni in un solo ciclo: ciò è stato ottenuto, in parte, convertendo in hardware parte del microcodice contenuto nei processori precedenti (hardwired instructions). Il Pentium ha raggiunto un livello di scalarità pari a 2 e il Pentium PRO pari a 3 già dal 1997. Altra innovazione del Pentium rispetto ai processori precedenti è stato il ricorso alla branch prediction (previsione di salto): quando all'interno di un programma c'è un salto condizionato per procedere in uno di due rami del programma stesso o per decidere se uscire o meno da un ciclo, si ha il cosiddetto branch che nel Pentium viene «previsto» basandosi sull'assunto che il ramo che più probabilmente verrà seguito è quello che era stato seguito al passo precedente (vero nel caso dei cicli ad eccezione del passo finale). Il Pentium utilizza un Branch Target Buffer (BTB) nel quale viene memorizzato l'indirizzo del ciclo da eseguire, indirizzo usato per compiere un prefetch del codice (viene effettuato una instruction fetch mentre l'istruzione precedente è ancora in esecuzione). Nel P6 il BTB può contenere 256 indirizzi (corrispondenti ad altrettanti possibili cicli). I Pentium integrano anche una unità floating-point in grado di eseguire due istruzioni in virgola mobile per ogni ciclo di clock grazie a una sofisticata pipeline a 8 stati. Le istruzioni più comuni, come somma, moltiplicazione e divisione sono implementate in hardware. Il Pentium, in particolare il P6 ha un'architettura interna ottimizzata per eseguire codice a 32 bit e prevede un bus esterno a 64 bit tra processore e memoria.