Principio di funzionamento Il computer è un sistema composto da un’unità centrale e una periferia costituita dalle unità periferiche. Il sistema riceve le informazioni dall’ esterno fase input, le elabora in base alle istruzioni fornite e le comincia all’esterno fase output. Emissione dei risultati Output Elaborazione Immissione dei dati Input Bus di sistema Istruzioni di elaborazioni Schema funzionale Nel 1946 il matematico americano John von Neumann propose un modello teorico di un sistema di elaborazione dati, determinando i blocchi logici indispensabili e le relazioni che devono esistere tra di loro. Lo schema logico individuato in quel lontano 1946 è ancora oggi il modello di riferimento nella realizzazione dell’architettura dei computer. § Unità Aritmeticolologica Ar Aw Dispositivo di ingresso IN Mr Mw OUT Memoria di sistema Bus di sistema Unità di controllo Dispositivo di uscita Modello teorico Von Neumann L’hardware e le sue funzioni principali Fondamentalmente il computer è formato da due parti l’hardware, la parte fisica il software, i programmi e l’insieme delle istruzioni che controllano e permettono l’uso dell’hardware L’hardware è l’insieme delle componenti fisiche, meccaniche, elettriche ed elettroniche del sistema di elaborazione dei dati. L’unità di elaborazione Le unità periferiche di input Le unità periferiche di output Le memorie di massa Schema a blocchi di un sistema informatico Programma Tastiera Monitor Memoria Stampante Disco fisso Unità centrale di processo (CPU) Plotter Mouse Temporizzazione E Clock CD-ROM Schema di principio semplificato Il microprocessore è attualmente l’implementazione fisica della cpu più comune, Utilizzata dalla quasi totalità dei computer. La struttura dell’unità di elaborazione ha subito negli ultimi anni un’importante evoluzione, tramite l’aggiunta di nuove prestazioni. Schema di principio completo di un sistema informatico Unità centrale di processo o Unità centrale di elaborazione Memoria di sistema o Memoria centrale ALU CU FPU MMX RAM ROM CACHE Programma Tastiera Monitor Memoria Stampante Unità centrale di processo (CPU) Disco fisso Plotter Mouse Temporizzazione E Clock BUS CHIPSET CD-ROM Unità di trasferimento dati Classificazione dei microprocessori Una prima classificazione dei microprocessori si può fare a seconda del tipo di istruzioni implementate, queste possono essere CISC o RISC. Un’architettura CISC (Complex Instruction Set Computer) è dotata di un set complesso di istruzioni che consentono di eseguire operazioni anche molto complicate. I microprocessori RISC (Reduced Instruction Set Computer) invece sono basati sulla presenza di un numero ridotto rispetto a un microprocessore CISC. L’approccio denominato Very Long Instruction Word costituisce una sorta di nuova moda nell’ambito della progettazione di microprocessori. Questo tipo di architettura CPU utilizza istruzioni lunghe ma a lunghezza fissa. La tecnologia VLIW, sta infatti rapidamente sostituendo quelle tradizionali finora usate, come RISC e CISC, per una serie di motivi prestazionali e di riduzione dei consumi di energia elettrica, a vantaggio delle nuove applicazioni portatili. La scheda madre La scheda madre, in inglese motherboard oppure systemboard, è l’elemento principale del PC. Sulla scheda si installano tutti gli altri componenti: processore, memoria, scheda grafica,scheda audio, controlli vari, e si collegano il disco fisso e i lettori CD e DVD. Vedremo più avanti in dettaglio le unità che compongono la scheda. Esempio di piattaforma basata sul Chipset Intel 975X Express Gli elementi della scheda madre La scheda madre è il componente base del PC e quindi la scelta della scheda madre, che spesso non viene neppure indicata dai rivenditori, è molto importante. Vediamo in dettaglio i vari elementi che la compongono: Alloggiamento (zoccolo) per il processore e il processore Il chip-set, composto da 2 integrati Alloggiamenti (slot) per la memoria (RAM) La memoria ROM con il BIOS, CMOS e la batteria Alloggiamenti per le schede,slot (ISA, PCI, AGP, PCI-Express) Connessioni pre i dischi di tipo IDE-PATA, SATA Le porte: seriale, parallela, USB e FireWire Jumper e i (dip-switch) Caratteristiche della scheda madre Intel® D975XBX2 per sistemi desktop Caratteristiche Vantaggi Fattore di forma ATX (30,48 x 24,38 cm [12 x 9,6"]) Processore • Supporto per un processore Intel® Core™2 Extreme con socket LGA775 e bus di sistema a 1066 MHz • Supporto per un processore Intel® Core™2 Duo con socket LGA775 e bus di sistema a 1066 MHz • Supporto per un processore Intel® Pentium® Extreme Edition con socket LGA775 e bus di sistema a 1066 o 800 MHz • Memoria Chipset • • • • Quattro socket DIMM (Dual Inline Memory Module) per SDRAM 240-pin DDR2 Supporto per DIMM DDR2 800, DDR2 667 o DDR2 533 MHz Supporto di fino a 8 GB di memoria di sistema Supporto per memoria ECC e non-ECC Chipset Intel® 975X Express Audio Sottosistema Intel® High Definition Audio • • Supporto per piattaforma multi-GPU ATI* CrossFire* Controller di I/O Supporto LAN in una delle seguenti configurazioni: sottosistema audio a 8 canali (7.1) con cinque uscite audio analogiche e due uscite audio digitali S/PDIF (coassiale e ottica) con codec audio Sigmatel* 9274D Sottosistema audio a 6 canali (5.1) con tre uscite audio analogiche con codec audio Sigmatel 9227 La tecnologia ATI CrossFire permette il funzionamento simultaneo di due schede grafiche ATI per una prestazione di gioco 3D e qualità visiva eccezionali Controller di I/O legacy per unità floppy, porte seriali, parallele e PS/2* Sottosistema LAN Gigabit (10/100/1000 Mbit/sec) tramite controller Gigabit Ethernet Intel® 82573E/82573L Le schede madri vengono fabbricate in diversi stili principali o formati detti tecnicamente form factors. Il form factor definisce le caratteristiche meccaniche di una scheda madre quali : la dimensione, la forma, il layout degli zoccoli, la posizione degli slot e via di seguito. I formati principali sono: At motherboard classica per processori 286 fino ai 486 e i primi pentium ATX, BTX, micro ATX, micro BTX e pico BTX NLX tentativo di rendere le nuove schede madre molto più modulari e quindi più facili da aggiornare! Unità centrale di elaborazione La CPU (Central Processing Unit – Unità Centrale di Elaborazione) è formata da un microprocessore che esegue le funzioni logiche, matematiche e di controllo durante l’esecuzione delle istruzioni. Dal punto di vista logico funzionale si può considerare suddivisa in: ALU (Arithmetic and Logic Unit – Unità Logica e Aritmetica) è un insieme di componenti elettronici che esegue le operazioni aritmetiche, di confronto e di trasformazione delle informazioni. CU (Control Unit – Unità di Controllo) coordina e dirige il funzionamento dell’unità di elaborazione ed è quindi collegata a tutte le sue componenti. MMX (Multimedia eXtensions – Unità Multi-Mediale) nei nuovi processori è incorporato un particolare circuito chiamato MMX in grado di aumentare la velocità di elaborazione dei dati multimediali per gli elementi grafici, video e sonori. L’unità contiene un set di istruzioni specializzate per eseguire le operazioni tipiche dei componenti multimediali. FPU (Floating Point Unit – Unità aritmetica e virgola mobile) quando un’operazione comprende numeri in virgola mobile, l’ALU assegna il processo a questa unità che contiene gli strumenti di elaborazione per la gestione rapida dei numeri con la virgola. Il micro-chip Tutti i micro-chip siano essi microprocessori, chip di memoria o circuiti integrati dedicati, sono fondamentalmente insiemi di innumerevoli transistor disposti seguendo configurazioni diverse, in modo da svolgere attività altrettanto diverse. Questo concetto apparentemente insignificante si è rilevato essere il fondamento dell’era informatica moderna della microelettronica alla nanoelettronica. In una singola scheggia di qualche centimetro quadrato di silicio sono addensati milioni di transistori che ne formano la struttura. Per disegnare le piste su un disco di silicio, dopo che il silicio è stato ricoperto da uno strato fotosensibile, vengono utilizzati i raggi ultravioletti. Il disco viene poi sottoposto a un risciacquo speciale con impiego di solventi chimici. Sulla sua superficie viene infine applicato uno strato di alluminio o rame. Questo processo viene chiamato litografia. La tecnologia odierna consente ormai di creare facilmente piste sottili inferiori al micron, cioè dei micrometri, dove 1 micron equivale a un milionesimo di metro. Le attuali versioni di microprocessori vengono realizzate con processo produttivo a 90 nm, 45 nm e anche 32 nanometri, dove 1 nanometro equivale a un miliardesimo di metro. Microchip “die” nei processori Pentium I nuovi processori multi-core I processori dual-core sono costituiti da due nuclei di elaborazione distinti e racchiusi in un unico contenitore. In passato i produttori di chip hanno puntato prevalentemente sul costante incremento delle frequente di clock per migliorare le prestazioni e alcuni azzardavano per il futuro recente delle frequenze operative oltre i 10 GHz. In realtà negli anni sono intervenuti diversi problemi che hanno limitato la crescita delle frequenze di lavoro. L’elaborazione parallela, quella ottenibile da più processori che lavorano simultaneamente, risolve in parte il problema della necessità di crescita delle prestazioni senza essere costretti a incrementare le frequenze di clock. La soluzione migliore per l’elaborazione parallela è quella di disporre di due processori distinti, in modo da avere due set completi di risorse a disposizione. I risultati ottenuti dal sistema Dual Core della Intel e della AMD sono notevolmente superiori alla precedente generazione di processori, con un vantaggio complessivo di circa il 30-50 % con vari applicativi. Sono da poco in commercio i nuovi processori Quad Core e già annunciati gli Eight-Core. Le prestazioni del microprocessore Le prestazioni di un microprocessore dipendono principalmente dalla frequenza di lavoro, detta anche velocità di clock, che è espressa in unità MHz e ultimamente in GHz. Un circuito regola la sequenza delle operazioni attraverso impulsi di clock che determinano l’esecuzione di un’istruzione. Poiché il numero d’impulsi in un dato tempo è detto frequenza, maggiore è la frequenza e maggiore sarà la velocità di elaborazione. La velocità di elaborazione dipende però anche da altri fattori, quali ad esempio, l’architettura dei registri interni (ALU) che sono attualmente di 32 bit o 64 bit, ed anche dalla frequenza del bus di sistema, oggi di alcune centinaia di MHz e fino a superare la barriera del GHz. Il bus di sistema del microprocessore viene attualmente indicato con il nome di fsb cioè front side bus. Sono da tempo disponibile i microprocessori con architettura interna a 64 bit ed anche i multi-core cioè CPU con più nuclei. Riassunto delle caratteristiche: Architettura interna 32-64 bit Frequenza di lavoro del nucleo 3.2 GHz ecc Frequenza del bus FSB 1066Mhz…fino a GHz Multicore (numero di nuclei di lavoro) Memoria cache L1,L2 (meglio L1) (4-6mb) Durante il lavoro, il microprocessore si riscalda moltissimo, è necessario quindi impiegare alette metalliche di raffreddamento, il cui smaltimento di calore è assicurato da una ventola. Il processore, in questi modelli, viene montato su uno speciale zoccolo inserito sulla scheda madre detto socket, per esempio il socket LGA775 della Intel oppure il socket 939 di AMD. Questi zoccoli utilizzano uno speciale metodo per l’inserimento del microprocessore, dovuto al gran numero di piedini, detto ZIF cioè Zero Inserition Force (forza di inserimento nulla).Ma queste ventole che potenze devono dissipare? 20-40-60-80 W Ventola,heat-pipe (tubo di calore) Zovvolo ZIF L’evoluzione dei microprocessori L’evoluzione nel settore dei microprocessori, negli ultimi anni è stata caratterizzata da un tasso d’innovazione che sembra inarrestabile. Le frequenze di clock dei processori sono via via aumentate grazie in particolar modo alla tecnologia sempre più sottile legata ai transistor che ne formano la struttura. Rispetto alle precedenti CPU queste dimensioni sono state ridotte fino a raggiungere i 65 nanometri con un’architettura in grado di alloggiare centinaia di milioni di transistor. I processori Pentium e Core2 prodotti alla Intel hanno trovato dei concorrenti i AMD, con i suoi Athlon e Opteron. L’attenzione è quindi puntata sulla frequenza di lavoro ed in modo particolare sul multi-core e sulle lievi differenze tra processori della stessa generazione che seguono strade diverse per arrivare al risultato. Dal punto di vista della tecnologia di produzione, i microprocessori attuali vengono realizzati con processo a 65 nanometri, mentre per la prossima generazione sarà usata quella nuova a 45 e 32 nanometri che permetterà l’integrazione di 2 miliardi di transistor e un funzionamento fino a 10GHz? Il Bus di sistema Nei componenti del PC scorrono continuamente milioni di bit di informazioni, anche quando sembra che la macchina stia li a far niente. Vari vigili, chiamati controllori di INPUT/OUTPUT, lavorano con il processore affinché tutti i trasferimenti di dati si effettuino correttamente. Il BUS è il sistema autostradale su cui viaggiano i dati, esso li trasporta nei loro viaggi fra il processore e tutti gli altri componenti. Il BUS include un insieme complicato di circuiti elettronici e di sottili conduttori elettrici detti tracce o piste, impresse su entrambi i lati nei vari strati della scheda madre. Nel bus di sistema detto fsb, per front side bus, distinguiamo le seguenti parti: Il bus dei dati per Bus di dati – DATA BUS Bus d’indirizzo – ADRESS BUS Bus di controllo – CONTROL BUS Il bus dei dati permette l’ingresso e l’uscita dei dati elaborati dal microprocessore TRASFERIMENTO Ad esempio, se i bus dei dati è di 16 bit, consente di trasferire in un’unica operazione 2 byte verso la memoria o alle porte di input/output. Ad esempio, se il bus dei dati è di 32 bit,consente di trasferire in un’unica operazione 4 byte verso la memoria o alle porte input/output. Il bus degli indirizzi viene usato dal microprocessoreper localizzare i dati immagazzinati in memoria al di fuori del chip stesso MEMORIZZAZIONE 20 Se il bus degli indirizzi È di 20 linee, si possono indirizzare 2 =1MB di memoria fisica. Se il bus degli indirizzi `di 24 linee, si possono indirizzare 2 Se il bus degli indirizzi è di 30 linee, si possono indirizzare 2 =1 GB di memoria fisica. Se il bus degli indirizzi è di 32 linee, si possono indirizzare 2 =4 GB di memoria fisica. 24= 16 MB di memoria fisica. 30 32 Attualmente il BUS dei dati è composto da 64 fili o bit mentre il BUS d’indirizzo è formato da 36 fili o bit. Determinare le caratteristiche di trasferimento e di memorizzazione. Se il bus dei dati è di 64 bit, consente di trasferire in un’unica iperaazione 8 byte verso la memoria o alle porte input/output. Ogni byte sono 8 bit quindi sono (sidivide il numero di bit per 8 e esce fuori ogni bit quanti byte sono) 32 Se il bus degli indirizzi è di 32 linee, si possono indirizzare 2 =4 GB di memoria fisica. (fa 2 elevato il numero di linee e poi si divide il risultato per 1024 (kB) poi per 1024(mB) e ancora per 1024 così si arriva a (GB).) Attualmente il BUS dei dati è composto da 64 fili o bit mentre il BUS d’indirizzo è formato da 36 fili o bit. Determinare le caratteristiche di trasferimento di trasferimento e di memorizzazione Trasferimento = … Ad esempio, se il bus dei dati è di 32 bit,consente di trasferire in un’unica operazione 4 byte verso la memoria o alle porte input/output. 32 Memorizzazione = … Se il bus degli indirizzi è di 32 linee, si possono indirizzare 2 =4 GB di memoria fisica Esempio di architettura interna di un microprocessore Schema a blocchi interno del processore Pentium Velocità di trasmissione o Larghezza di banda Il termine velocità di trasmissione (o di trasferimento) viene solitamente utilizzato a proposito di scambi di informazioni tra computer o comunque dispositivi elettronici. Siccome su questi dispositivi l’informazione viene memorizzata e viaggia in forma digitale, ovvero è sostanzialmente una sequenza di bit, è naturale che tale velocità venga misurata in bit per secondo [b/s], e da qui il termine equivalente inglese bitrate, oppure in byte per secondo [B/s]. VELOCITÀ DI TRASMISSIONE Esempio con bus FSB di 64 bit e frequenza a 800MHz Larghezza di banda del bus = (64bit/8) * 800MHz = 6400MB/s ~ 6.4GB/s La memoria centrale I può immaginare la memoria centrale come un insieme di caselle numerate dette Byte (8 bit), in ognuna delle quali è possibile immagazzinare un carattere. La numerazione di caselle, mediante un sistema di fili chiamato BUS degli indirizzi, consente di conoscerne l’indirizzo univoco in modo fa rintracciare facilmente un’informazione. La memoria centrale è costituita da: La memoria ROM di sola lettura La memoria RAM di lettura e scrittura La memoria speciale CACHE, temporanea e di transito Come si misura la memoria Sappiamo che il computer è costituito da circuiti elettronici che ricevono e trasmettono segnali elettrici, e quindi riconoscono che due singolo stati: assenza o presenza del segnale elettrico, in altre parole acceso o spento. Questi due stati sono rappresentati in modo simbolico delle cifre 0 e 1. Per misurare la capacità della memoria centrale e delle memorie di massa vengono utilizzati i multipli del Byte. Unità bit Byte Kilo Byte Mega Byte Giga Byte Tera Byte Peta Byte Exa Byte Simbolo b B Descrizione binary digit o cifra binaria, è la più piccola unità di informazione Binary octet o term, formato da 8 bit è la quantità di memoria per rappresentare un carattere kB equivale a 1024 Byte = 210 Byte MB equivale a 1024 kB = 220 GB equivale a 1024 MB = 230 Byte TB equivale a 1024 GB = 240 Byte PB equivale a 1024 TB = 250 Byte EB equivale a 1024 PB = 260 Byte La memoria ROM La ROM Read Only Memory – memoria di sola lettura, contiene le istruzioni inserite dal costruttore che possono essere lette ma non possono essere modificate dall’utente e consentono il controllo del sistema. Queste informazioni sono permanenti cioè non si cancellano allo spegnimento del computer. Nella ROM sono installati permanentemente i seguenti programmi fondamentali, il cosiddetto Firmware: Il programma chiamato POST (Power On Self Test). Sono i programmi automatici iniziali per il test del corretto funzionamento dell’hardware del PC. Alla fine il POST consente al computer di auto avviarsi e di caricare nella memoria RAM il nucleo del sistema operativo. I micro-programmi BIOS (Basic Input Output System). Comprende un insieme di programmi che definiscono la personalità e l’individualità del computer. Il BIOS conosce nei dettagli come è stato assemblato il PC e opera da intermediario tra il software operativo e i vari componenti hardware. La memoria CMOS (Complementary Metal-Oxide Semiconductor). Si tratta di una speciale unità di memoria RAM che utilizzando una piccola batteria memorizza, anche quando il PC è spento, le informazioni sulla configurazione hardware. Programmable Flash EEPROM, pila x CMOS e jumper Il ponticello (jumper) serve a riportare il contenuto della memoria allo stato iniziale come rilasciato dal fabbricante. La memoria ROM attualmente è costituita da un integrato chiamato comunemente FLASH ROM, oppure detto tecnicamente EEPROM cioè Electrically Erasable Programmable ROM. La memoria RAM La memoria di lavoro RAM (Random Access Memory – Memoria di lettura e scrittura) è volatile, cioè che si cancella non appena viene spento l’elaboratore. Nella RAM vengono caricati: il nucleo del sistema operativo, i programmi in esecuzione, i dati da elaborare e i risultati ottenuti. Possiamo descriverla come un foglio dove vengono provvisoriamente scritti i termini di un problema, le procedure per la sua risoluzione e il risultato. La RAM si può considerare idealmente divisa in tre parti: in una viene caricato il sistema operativo, in un’altra viene caricato il programma in esecuzione e nella terza, chiamata memoria utente, vengono elaborati i dati immessi dall’utente. Esistono due tecniche fondamentali nella costituzione e quindi nella gestione della memoria RAM: DRAM (Dynamic Random Access Memory) per anni è stato il tipo di RAM più diffuso,. Dynamic si riferisce al “metodo di salvataggio della memoria”: l’informazione viene memorizzata in una piccolissima capacità che col tempo perde la carica e quindi deve essere “rinfrescata” periodicamente. SRAM (Static Random Access Memory). Memoria che a differenza della DRAM, non ha bisogno dell’aggiornamento continuo delle cariche elettriche. La SRAM di solito è più veloce della DRAM ma più costosa, per cui viene usata per le parti dei computer che devono lavorare a velocità elevata, per esempio dalla CACHE. Comparazione fra le due celle di memoria SRAM e DRAM SU questi due principi sono stati sviluppati diversi chip di RAM per spostare rapidamente i dati della memoria, per evitare errori e per ridurre i numerosi integrati dedicati alla memorizzazione: EDO DRAM (Extended Data Out) S DRAM (Synchronous) DR DRAM (Direct Rambus) DDR SDRAM (Double Data Rate) DDR-2 SDRAM (Double Data Rate) DDR-3 SDRAM (Double Data Rate) VRAM (Video Random Access Memory) per adattatori video ECC (Error Correcting Code) per la correzione degli errori La nuova memoria RD RAM è in grado di raggiungere un’altissima velocità, però solo le schede madre dotate di un chip-set particolare sono in grado di utilizzarla. Confronto della struttura SDRAM e DDR SDRAM RDRAM La memoria RAM è attualmente disponibile su 3 formati diversi di schede detti moduli: SIMM (Single Inline Memory Module) DIMM (Dual Inline Memory Module) RIMM (Rambus Inline Memory Module) SO-DIMM(small outline)