4 Computer Premessa Con computer indichiamo oggi l’elaboratore monoutente usato sia in ambiente domestico sia in ambiente lavorativo. In realtà questa tipologia di computer, che si chiama «personal computer desktop» (elaboratore personale da scrivania) è solo una delle tante tipologie esistenti, ma è sicuramente la più diffusa e la più conosciuta. Questa tipologia, il cui nome prende origine dal tipo di «case» (la scatola che contiene schede e circuiti) dei primi personal computer, che si sviluppava orizzontalmente per essere poggiato sulla scrivania, è diventata il paradigma per indicare in generale il computer. La comparsa del personal computer nei primi anni ottanta, di fatto, permette il passaggio dall’informatica centralizzata che prevedeva il collegamento di molti utenti a un unico elaboratore potente, all’informatica distribuita, che consiste nel collegare in rete i computer, e quindi gli utenti, che possono così condividere le singole risorse. Lo studio di tutti i componenti hardware e software che cooperano per permettere al computer di essere lo strumento poliedrico che conosciamo saranno argomento di trattazione dettagliata nei prossimi capitoli. Qui vogliamo rilevare come la giusta scelta dei componenti hardware e di quelli software, sia alla base di ogni sistema informatico, che sia costituito da un solo computer o da una rete di computer; le esigenze di un piccolo punto commerciale saranno sicuramente diverse da quelle di una catena di negozi e il tipo o il numero di computer e i programmi applicativi che utilizzeranno non solo saranno diversi ma dovranno soprattutto essere calibrati alle diverse esigenze. 56 4 Computer Sistemista è il nome dato alla figura professionale che partecipa, o opera direttamente, alla definizione dell’infrastruttura informatica e alla scelta e al dimensionamento dell’hardware da utilizzare. Il sistemista deve inoltre saper gestire e configurare hardware e software eterogenei, che richiedono conoscenze ed esperienza disparate, assicurare il monitoraggio dell’evoluzione tecnologica dei componenti (sia hardware che software), nonché la loro ottimizzazione e il loro costante aggiornamento; deve infine saper valutare performance, sicurezza e funzionalità del sistema e deve anche saper rispondere alle richieste, dirette o indirette, degli utenti del sistema stesso. Il sistemista, come qualsiasi altro professionista, deve sapere documentare approfonditamente il lavoro svolto. 1 La macchina di von Neumann e il computer moderno Negli anni successivi alla fine della seconda guerra mondiale, il matematico ungherese John Von Neumann ipotizzò uno schema di macchina che ancora oggi è considerato il progetto logico dell’architettura del computer moderno. Von Neumann teorizzò una macchina esecutrice di algoritmi che realizzava il progetto che Alan Turing aveva esposto nel 1936 e che non era mai stato realizzato. La macchina di von Neumann prevede 5 componenti fondamentali: •un’unità per l’inserimento di dati e istruzioni all’interno della macchina; •un’unità in grado di memorizzare i dati; •un’unità in grado di elaborare i dati; •un’unità per comunicare all’esterno i risultati prodotti dall’elaborazione; •un canale che collega tra loro le varie unità per lo scambio dei dati. CPU MEMORIA CENTRALE ALU CU BUS UNITÀ INPUT UNITÀ OUTPUT Figura 1 Schema di von Neumann. 1 La «macchina» di von Neumann e il computer moderno 57 PLe unità per l’inserimento dei dati e delle istruzioni e per comunicare all’esterno i risultati vengono chiamate unità di input/output e nei moderni computer questa funzione è svolta da dispositivi quali tastiera, mouse, video, stampante ecc. Ma il «cervello» della macchina di von Neumann è costituito dall’unità che elabora i dati (CPU – Central Processing Unit) e da quella li memorizza (RAM – Random Access Memory). PLa CPU è a sua volta composta dall’unità di controllo (CU – Control Unit), che governa la sequenza delle operazioni in modo che queste siano eseguite in maniera corretta e dall’unità aritmetico-logica (ALU, Arithmetic-Logic Unit), che svolge le operazioni logiche e aritmetiche specificate nelle istruzioni. La CU al suo interno contiene due registri: •Instruction Register (IR) che è il registro dove un’istruzione prelevata dalla memoria viene interpretata prima di essere eseguita; •Program Counter (PC) che è il registro contatore di programma e che individua l’indirizzo della locazione di memoria contenente l’istruzione successiva. Un canale chiamato bus di sistema, infine, consente alle varie unità di scambiarsi le informazioni. PL’esecuzione di un programma avviene grazie all’alternarsi delle fasi di «fetch» (prelievo) e «execute» (esecuzione), con una velocità che oggi arriva a miliardi di volte al secondo, all’interno della CPU. Osservazione Durante la fase di «fetch» l’istruzione che si trova nella locazione di memoria il cui indirizzo è contenuto nel registro Program Counter viene letta e copiata nel registro Instruction Register dall’unità di controllo; subito dopo viene incrementato il valore del registro PC in modo che contenga l’indirizzo dell’istruzione successiva da eseguire; nella successiva fase di «execute» l’istruzione presente nell’Instruction Register viene interpretata e quindi eseguita. Registro Il registro è una piccola unità di memoria temporanea (2, 4, 8, 16 byte) con tempi di accesso molto più bassi della memoria primaria e che ospita le informazioni necessarie per eseguire una singola istruzione. 58 L’architettura del computer moderno continua, dopo sessanta anni, a basarsi sullo schema logico proposto da von Neumann pur avendo una struttura interna molto più complessa; nella figura sottostante è illustrato il tipico schema organizzativo di un personal computer che esamineremo nel dettaglio nei prossimi paragrafi. AGGIUNGERE 4 RIGHE! 4 Computer CPU Slot della scheda grafica Clock Front-side bus Slot della RAM bus della memoria Controllore della memoria bus AGP bus interno Bus PCI Controllore degli I/O GPU Bus PCI PATA SATA USB Ethernet Audio Slot PCI Connettori verso periferiche esterne Bus LPC Super I/O EFI Figura 2 2 Classificazione delle tipologie di computer I computer possono essere classificati sia per la specificità di utilizzo (uso generale – «general purpose» – o uso specifico – «special purpose»), sia per la potenza di calcolo, la capacità di archiviazione dei dati e le dimensioni. La classificazione più utilizzata è sicuramente quest’ultima e seguendo questi criteri i computer possono essere suddivisi in: •Super Computer •Mainframe •Minicomputer •Microcomputer Vediamo nel dettaglio tutte queste diverse tipologie: Supercomputer – Nati negli anni ’60 del secolo precedente, hanno elevatissime velocità di calcolo riuscendo a elaborare più di 1012 operazioni il 2 Classificazione delle tipologie di computer 59 secondo (vale a dire 1000 miliardi). La loro velocità non è tanto frutto della qualità dei processori che lo compongono, ma del fatto che questi computer hanno centinaia se non migliaia di processori che lavorano in parallelo. I Supercomputer sono concepiti per servire un singolo scopo e grazie alla loro capacità di elaborazione ad altissima velocità sono utilizzati in ambiti molto speciali, dove è richiesta una notevole potenza di calcolo, come per esempio le previsioni meteorologiche, i voli spaziali, l’animazione grafica, gli effetti cinematografici, la ricerca di petrolio, l’analisi modellistica molecolare ecc. Sono dotati di sistemi operativi dedicati. Il modello di Supercomputer che si è imposto sul mercato è quello Cray Inc. fondata nel 1970 da Seymour Cray. Attualmente ci sono molti tipi di supercomputer e il progetto TOP500 fornisce una lista aggiornata dei 500 più potenti supercomputer del pianeta. Osservazioni Velocità processore Miliardi di MIPS. Utenti alla volta Anche migliaia di persone, in ambienti di rete di grandi dimensioni Dimensione Richiedono attrezzature particolari e aria condizionata industriale Facilità d’uso Solo per gli specialisti Clienti abituali Maggiori centri di ricerca Impatto sociale Quasi a zero Computer esistenti Meno di mille in tutto il mondo Costo Decine di milioni di euro ciascuno Mainframe – Sono costituiti da un’unità centrale che consente di servire più utenti contemporaneamente (fino ad alcune migliaia). La maggior parte dei computer mainframe ha la capacità di ospitare più sistemi operativi. I mainframe sono computer di notevoli dimensioni (per esempio un grosso armadio) e spesso sono dotati di sistemi operativi dedicati. Sono utilizzati 60 4 Computer per gestire grosse quantità di dati e sono quindi impiegati da grandi aziende, banche, enti pubblici, laddove l’aspetto predominante dell’elaborazione non è la potenza di calcolo ma l’affidabilità e la capacità di memorizzare enormi quantità di dati. La differenza sostanziale tra Supercomputer e Mainframe è propria questa: il Supercomputer è in grado di risolvere complessi calcoli matematici in tempi brevi, mentre il Mainframe è specializzato nella gestione di enormi quantità di dati, che devono essere memorizzati e sui quali devono essere fatte numerose operazioni di ricerca, ma che non necessitano di calcoli matematici complessi. Sono sistemi general-purpose. Osservazioni Velocità processore Milioni di MIPS Utenti alla volta Centinaia Dimensione Richiedono attrezzature particolari e aria condizionata Facilità d’uso Specialisti Clienti abituali Grandi aziende e governi Impatto sociale Molto alto, anche se inosservata, la moderna società industriale non può funzionare senza di loro Computer esistenti Migliaia in tutto il mondo Costo Centinaia di migliaia di euro o più 2 Classificazione delle tipologie di computer 61 Minicomputer – Sono costituiti da un’unità centrale che consente di servire più utenti contemporaneamente (fino a qualche centinaio) ma con prestazioni e costi inferiori a quelli dei mainframe: si può dire semplificando, che il minicomputer è una versione ridotta, anche nelle dimensioni, del mainframe. Dotati inizialmente di sistemi operativi dedicati, si sono uniformati, nel corso degli anni, allo standard UNIX. Sono sistemi generalpurpose e possono essere definiti i predecessori dei moderni server (effettivamente alcuni minicomputer sono utilizzati proprio a questo scopo). Osservazioni Velocità processore Centinaia di migliaia di MIPS Utenti alla volta A decine o centinaia se utilizzato su una rete. Dimensione Ridotte, non ha sempre bisogno di attrezzature speciali. Facilità d’uso Specialisti Clienti abituali Università e imprese di medie dimensioni; possono funzionare come server di rete Impatto sociale Molto alto, soprattutto in ambienti di rete di medie aziende Computer esistenti Centinaia di migliaia in tutto il mondo Costo Decine di migliaia di euro Microcomputer – Sono la tipologia di computer destinati al grande pubblico, sono i più utilizzati e sono in generale conosciuti con il nome di PC. Sono piccoli sistemi general-purpose basati un su unico microprocessore; sono monoutente e non hanno bisogno di utenti esperti per il loro funzionamento. Ne fanno parte: •Desktop Personal Computer •Workstation •Network Computer •Laptop o Notebook •Tablet PC •Netbook 62 4 Computer •Palmari (Personal Digital Assistant PDA) •Computer embedded MIPS MIPS (Million Instructions Per Second, milioni d’istruzioni per secondo) è l’unità di misura che ci informa su quante operazioni una processore riesce a eseguire in un secondo; è quindi un indice di velocità. Osservazioni Velocità processore Migliaia di MIPS Utenti alla volta Uno Dimensione Piccolo Facilità d’uso Facile da usare. Clienti abituali Piccole imprese, uffici, scuole, privati Impatto sociale Alta nei paesi industrializzati Computer esistenti Centinaia di milioni in tutto il mondo Costo Da qualche centinaio a poche migliaia di euro titolo Dato che questo tipo di computer si è imposto sul mercato differenziandosi nell’ampia gamma di prodotti sopraelencati, ne tratteremo in maniera più approfondita nel paragrafo successivo. Un’unità di misura utilizzata per calcolare la velocità dei supercomputer è il FLOPS (FLoating point Operations Per Second); esprime il numero di calcoli in virgola mobile effettuati al secondo da un microprocessore. 2.1 Sintesi Tipologia Velocità Supercomputer dell’ordine di miliardi di MIPS Un’intera stanza Dimensioni Decine di milioni di euro Costo Multi-utente Utenti Mainframe dell’ordine di milioni di MIPS Un grosso armadio Da qualche centinaio di migliaia a qualche milione di euro Migliaia di utenti Minicomputer dell’ordine di centinaia di migliaia di MIPS Un piccolo frigorifero Da qualche decina a qualche centinaio di migliaia di euro Centinaia di utenti Microcomputer dell’ordine di migliaia di MIPS Dal desktop all’handheld (palmare) Da qualche centinaio a qualche migliaio di euro Mono utente Il PC come paradigma del computer 3 Il personal computer nasce con la creazione dei microprocessori alla fine degli anni ’70 del secondo millennio. Il termine deriva dal nome che nel 1981 l’IBM scelse per il suo primo Personal Computer (PC IBM), che divenne una sorta di computer ideale per l’uso «personale»: da qui il termine PC. Per molto tempo poi, tutti i modelli prodotti da altre case furono chiamati «PC IBM compatibili» e anche altri tipi di microcomputer, come per esempio Macintosh, pur non essendo compatibili con IBM vennero indicati con il termine «PC». La sua architettura interna, che abbiamo illustrato in precedenza e che deriva dallo schema di von Neumann, si è quindi imposta come paradigma del computer, diventando nel corso degli anni il modello di riferimento per l’ampia gamma di prodotti oggi in commercio che hanno permesso il diffondersi della cosi detta «informatica distribuita». 3 Il PC come paradigma del computer 63 Desktop Personal Computer: è il computer più diffuso; monoutente non ha bisogno di un utente esperto per il suo funzionamento. Composto di un «case» che racchiude una scheda madre e che permette di collegare le diverse periferiche. Tipico esempio di computer desktop è quello costituito dai seguenti componenti base: •«case» o «chassis» o «cabinet» •microprocessore o processore •memoria primaria o centrale •scheda madre o «motherboard» •memorie periferiche (hard-disk, DVD ecc.) •unità di I/O (video, tastiera ecc.) Osservazione Ci sono molti tipi di PC desktop in commercio che si differenziano per il tipo di case (tower, barebone ecc.) ma soprattutto per la componentistica elettronica installata, che esamineremo nel dettaglio nei capitoli successivi. Qui ci limitano a evidenziare come installare una diversa scheda madre, un diverso tipo di microprocessore, una diversa quantità di memoria RAM e/o dispositivi periferici più o meno evoluti, influenza in maniera determinante le prestazioni del PC. Figura 3 Personal computer desktop. Workstation: è il più potente tra i personal computer ed è utilizzato per produrre lavori ad alto profilo professionale come disegni tecnici o artistici (CAD) e grafica di alto livello (3D). Un PC di classe workstation deve avere le seguenti caratteristiche: •un maggior quantità di memoria centrale •microprocessori multipli •esecuzione affidabile del sistema operativo per funzionalità avanzate •elevate prestazioni della scheda grafica con processore dedicato 64 4 Computer Laptop o Notebook: è un computer che integra tutti gli elementi di cui ha bisogno per funzionare, compreso schermo e tastiera, in un case di dimensioni ridotte (di media 360 3 40 3 270) e per questo motivo che in italiano viene anche chiamato «computer portatile». Ha raggiunto capacità di elaborazione e di memorizzazione simili a quelle dei computer fissi, comprese le funzioni multimediali di ultima generazione (trattamento d’immagini 3D, ecc.). Uno svantaggio rimane quello che essendo il suo ingombro ridotto, la maggior parte dei componenti sono integrati e non possono quindi essere cambiati, rendendo molto difficile l’upgrade hardware. Upgrade Upgrade: aggiornamento e/o potenziamento di un componente hardware o software. Network Computer (client): è un computer desktop a basso costo, che funziona grazie a un server cui è collegato e dal quale preleva le risorse necessarie per poi elaborarle in locale; le sue funzionalità locali (hard disk, software locale ecc.) sono quindi molto limitate. L’idea di base è che gli utenti che sono connessi a una rete non hanno bisogno di tutta la potenza di un personal computer perché possono contare sulla potenza del server di rete. Osservazione Il progresso tecnologico/organizzativo ha riportato in auge un’organizzazione dei sistemi di elaborazione simile a quella degli anni ’70-’80, quando le preziosissime e costosissime risorse di calcolo dei mainframe andavano sfruttate in pieno e condivise fra numerosi utenti. Estremizzando il modello client/server si è arrivati a riproporre un’organizzazione nella quale su un nucleo di elaborazione centralizzato si svolge l’intera attività informatica aziendale: i client (detti thin client) tornano a essere dei semplici terminali destinati alla sola visualizzazione e immissione dei dati. I terminali thin client necessitano solo di un video, una tastiera, un mouse e un sistema per collegarsi al server. Dato che la tecnologia non rende obsoleti questi dispositivi con lo stesso ritmo dei microprocessori e della memoria, la vita utile dei thin client è notevolmente superiore rispetto a un elaboratore tradizionale; inoltre nei thin client non sono presenti alcuni fra i componenti più delicati dei PC come per esempio l’hard disk. Guasti e malfunzionamenti sono quindi assai più rari e i tempi d’inattività per la manutenzione dell’hardware quasi inesistenti. Figura 4 Thin client. 3 Il PC come paradigma del computer 65 Netbook: è una categoria di computer di dimensioni e costi ridotti rispetto a un laptop ma che offrono una maggiore mobilità e autonomia di funzionamento. È utilizzato principalmente per navigare in Internet ed eseguire funzioni di base come videoscrittura e foglio elettronico. Il termine fu coniato nel 1999 dalla società britannica Psion per indicare una vasta gamma di computer portatili e poi reintrodotto, con il suo significato attuale, da Intel nel 2008. Tablet PC: letteralmente «PC tavoletta» è un computer portatile di solito più piccolo di un notebook, ma più grande di un PDA con cui è possibile interagire attraverso uno schermo touch o multitouch. Il termine nasce nel 2001, coniato da Microsoft per il suo Tablet PC. Ci sono diversi tipi di tablet: alcuni, come l’iPad, hanno la componentistica elettronica integrata nell’unità touch screen senza la presenza di una tastiera hardware, mentre altri, definiti anche notebook convertibili o ibridi, sono simili a un normale notebook ma con un display estraibile che può funzionare in modo indipendente. Normalmente hanno una presa HDMI per connettere il tablet a un televisore o a un monitor. Figura 5 Laptop, tablet PC e PDA. Palmari (Personal Digital Assistant – PDA): letteralmente «assistente digitale personale» è un computer tascabile composto di processore, memoria centrale, schermo touch e alcune funzionalità di rete racchiuse in un case estremamente compatto con dimensioni ridottissime (handheld). I PDA sono dotati di strumenti di office automation semplificati per trattamento di testo e per la gestione di fogli di calcolo e di visualizzatori per un gran numero di formati di file compresi quelli multimediali (PDF, JPEG4, mp3, Flash ecc.). Sono anche utilizzati per la geo-localizzazione, la cartografia e la navigazione stradale potendo integrare un dispositivo GPS (Global Positioning System). Sono dotati di sistemi operativi «dedicati» con funzionalità che si adattano alle caratteristiche di questo tipo di computer. Osservazione Handheld Handheld: letteralmente «a mano», da qui l’uso del termine Palmare per riferirsi ai PDA. 66 Gli SmartPhone sono l’evoluzione dei palmari ai quali aggiungono la possibilità di accedere alla rete di telecomunicazioni (funzionalità telefono). Il tipo d’interfaccia e tastiera disponibile influenza l’utilizzo di uno smartphone rispetto a un altro: solitamente i terminali dotati di tastiera completa (detta qwerty) consentono di scrivere abbastanza comodamente testi di una certa lunghezza, mentre lo schermo touchscreen garantisce un controllo del telefono in modalità PDA molto veloce. 4 Computer Rugged computer. Il rugged computer (computer robusto) è un computer specificamente progettato per funzionare in modo affidabile in ambienti e condizioni difficili, quali forti vibrazioni, temperature estreme, ambienti umidi o polverosi: la sua particolare progettazione non è solo nel corpo esterno, ma anche per la scelta dei componenti interni. Sono utilizzati in campo militare, sulle piattaforme petrolifere, nelle industrie chimiche, nella protezione civile, nei cantieri edili per gallerie, metropolitane, ecc. Computer embedded: sono piccoli «computer incorporati» in altri dispositivi invece di essere stand-alone (autonomi). I sistemi embedded contengono nuclei di elaborazione che sono in genere microcontrollori. Sono progettati per eseguire una o poche specifiche funzioni e rientrato quindi nella categoria dei computer «dedicati». Gli esempi includono fotocamere digitali, telefoni cellulari, lettori musicali, hardware (come l’hardware di rete) e quasi ogni tipo di sistema di controllo industriale o domestico come i sistemi di navigazione, i sistemi di frenata delle auto, le lavatrici ecc. Osservazione I microcontrollori sono la forma più diffusa e più invisibile di computer. Sono dispositivi che raggruppano su un unico chip processore, memoria, porte I/O, timers e contatori, porte di comunicazione seriale e convertitori A/D. La loro capacità di calcolo è molto limitata e di solito eseguono sempre lo stesso programma o una piccola gamma di programmi predefiniti, sono cioè computer «special purpose». Figura 6 Sistema Server/client. Per completare il panorama dei PC dobbiamo parlare di una tipologia di computer sviluppatasi in maniera esponenziale nell’ultimo decennio e che pur appartenendo alla categoria dei microcomputer non è però monoutente: il Server. Si tratta di un personal computer di elevate prestazioni, collegato in rete e condiviso da utenti multipli (client). Esso raccoglie e mette a disposizione i programmi e i dati che sono condivisi dai client. Può essere destinato a svolgere uno o più 3 Il PC come paradigma del computer 67 servizi quali per esempio scambiare e condividere files (file server), ospitare siti web (web server), gestire la posta elettronica (mail server), gestire periferiche (per esempio stampanti - print server) od occuparsi del backup dei dati (server raid). Tutte questi compiti possono essere gestiti da un solo computer o possono essere suddivise tra più macchine, ognuna dedicata a uno solo dei servizi descritti. Tratteremo in maniera approfondita tutti questi aspetti nel capitolo dedicato alle reti. 3.1 Soluzioni e ipotesi di applicazione Per progettare un sistema informatico (sia esso costituito da un solo PC o da una rete più o meno complessa di computer) bisogna effettuatare un’attenta analisi delle attività svolte dagli utenti, come per esempio: tipo di applicazioni da utilizzare, necessità di programmi con dati centralizzati su un singolo computer, presenza o meno di personale tecnico dedicato all’ifrastuttura ICT, necessità di mobiltà e qualsiasi altro fattore che possa influenzare la scelta del sistema. Fattore determinante, in tutti i casi dove l’utilizzo del computer è dedicato al supporto di attività produttive, è la garanzia dell’integrità dei dati: bisognarà quindi sempre prevedere un sistema di backup oppure un configurazione degli hard disk in RAID (vedi nei capitoli successivi); adottare entrambe le soluzioni sarebbe la scelta ottimale. È preferibile inoltre prevedere sempre la presenza di unita UPS – Uninterruptible Power Supply (gruppo di continuità), poichè in caso di mancanza di energia elettrica e/o sbalzi di tensione si possono avere gravi conseguenze sul funzionamento dell’hardware. Nelle ipotesi che presenteremo, sarà sempre presa in considerazione la presenza di una connessione di rete sia essa locale (rete LAN) o a Internet, questo perché è da considerasi ormai una risorsa irrinunciabile, un vero e proprio strumento di comunicazione e iterazione con i diversi iterlocutori con i quali si opera. Per piccole attività commerciali e comunque in tutte quelle situazioni in cui quasi sempre si necessita esclusivamente della disponibilità di una o due postazioni per la memorizzazione di dati come giacenza di magazzino, schede clienti, ecc. la scelta indicata è un Desktop Personal Computer con capacità medie, quindi con processori «entry level» (modello economico), al massimo 4GB di RAM, HDD da 320 GB, lettore DVD, da 4 a 8 porte USB e periferiche, come la scheda video e scheda di rete, integrate nel sistema. Ecco un esempio di configurazione un PC di questo tipo: 68 Struttura Desktop slim Colore –––––––––––––––– Processore Intel Pentium Dual-Core E5700 3.0GHz Memoria Base 4GB Memoria max. 4GB Alloggiamenti RAM (totali - disponibilità) 2–0 4 Computer Frequenza memorie DDR3 800 MHz SDRAM Hard Disk 500 GB Tipo disco fisso 7200RPM SATA-II Scheda grafica Intel® Graphics Media Accelerator X4500 (Intel® GMA X4500) integrata, Supporto sceda grafica PCI Express® 1.1 3 16 Unità Ottiche DVD SuperMulti Double Layer Dispositivi Tastiera e Mouse PS/2 Alloggiamenti e comparti totali (disponibili) 1 alloggiamento 5.25’’ 1 alloggiamento 3.5’’interno Scheda di rete LAN: Gigabit Ethernet Scheda di Rete 10/100/1000 Mbit/s Porte di espansione Frontali: 3x porte USB 2.0, ingressi High-Definition per cuffie e microfono Retro: 6x porte USB 2.0, 2x porte PS/2, 1x porta VGA, 1x porta Ethernet (RJ-45), 1x porta seriale, 3x ingressi audio Lettore Multi-in-1 card Dimensioni 101.5 (L) x 396.84 (P) x 266.5 (A) mm Per studi di professionisti, non grafici, e in strutture dove la presenza delle postazioni è comunque inferiore alle 10 unità è ancora consigliabile un Desktop PC con capacità medie, come quelle precedentemente illustrate. Si consiglia però l’aggiunta di un Desktop Personal Computer con capacità elevate, dove installare eventuali applicativi accessibili dalle altre postazioni; un computer con tali caratteristiche deve prevedere almeno un processore multi-core, 8GB di RAM, HDD da 500GB con sistema RAID, lettore DVD, da 4 a 8 porte USB e periferiche, come la scheda video e scheda di rete, integrate nel sistema. Esempio di configurazione di un PC di questo tipo: Processore Intel QC i7-2600 3.4GHz Numero di Processori Istallati 1 Memoria RAM Base 8GB (2 3 4GB) Memoria RAM max. 32 GB Disco fisso 2 3 500 GB Controller Serial ATA on board con RAID 0/1, 2 Case MicroTower Unità Ottiche DVD SuperMulti Double Layer Serial ATA Dispositivi MultiCard Reader 20 in1, Audio: line-in 1, Audio: line-in / microphone 1, Audio: line-out 1, Front audio: microphone 1, Front audio: headphone 1 USB 2.0 total 14, USB front 4, USB rear 8, USB internal 2 VGA 1 (via DVI to VGA adapter) , DVI 1 Mouse / Keyboard (PS/2) 2 Ethernet (RJ-45) 1 Schede Grafiche Intel® Graphics Media Accelerator X4500 (Intel® GMA X4500) integrata Supporto sceda grafica PCI Express® 1.1 3 16 3 Il PC come paradigma del computer 69 Slot PCI-Express 2.0 3 16 1 3 (312 mm) full height PCI-Express 2.0 3 4 (mech. x16) 1 3 (312 mm) full height PCI-Express x1 1 3 (312 mm) full height PCI (32-bit / 33 MHz) 1 3 (170 mm) full height Baie da 3,5 (accessibili/non accessibili) 3.5-inch internal bays 2 3.5-inch external bays 2 2.5-inch internal bays 1 Baie da 5,25 (accessibili/non accessibili) 5.25-inch external bays 2 Alimentatore Alimentatore da 300 W. Peso 11 kg circa Dimensioni (W 3 D 3 H) 175 3 419 3 395 mm Studi di architettura, agenzie pubblicitarie, studi di design e attività dove la grafica riveste un ruolo primario, sono invece l’ambiente ideale per l’installazione di computer Workstation. Le cartteristiche di questi computer, che possono essere più o meno performanti, devono prevedere uno o più processori multi-core, una notevole quantità di RAM (per esempio 16 GB) a elevata velocità, la presenza di un HDD primario, possibilmente di tipo SSD (vedi capitoli successivi), dove installare il sistema operativo e gli applicativi, e di un HDD secondario per la conservazione dei dati con buone capacità di storange e velocità di trasferimento elevata; deve inoltre prevedere la presenza di una o più schede video professionali con processori e RAM dedicati e certificate CAD, di un lettore DVD, di un numero di porte USB compreso tra 8 e 16, di diverse porte I/O come eSATA, IEEE 1394, ecc. e di scheda di rete di tipo Fast Ethernet (velocità di trasmissione di 1 GB). In questi sistemi infine anche il case riveste un ruolo importante: deve infatti permettere una buona areazione del sistema per evitarne il surriscaldamento. Esempio di configurazione di un PC Workstation: 70 Processore Intel QC i7-2600 3.4GHz Numero di Processori Istallati 1 Memoria RAM Base 16GB (2 3 4GB) Memoria RAM max. 32 GB Disco fisso 1T SATAII+128GB SSD Controller Serial ATA on board con RAID 0/1, 2 Case FullTower Unità Ottiche DVD SuperMulti Double Layer Serial ATA Dispositivi MultiCard Reader 20in1, Audio: line-in 1, Audio: line-in / microphone 1 Audio: line-out 1 Front audio: microphone 1, Front audio: headphone 1 USB 2.0 total 14, USB front 4, USB rear 8, USB internal 2 VGA 1 (via DVI to VGA adapter), DVI 1 eSATA 1 IEEE 1394 Mouse / Keyboard (PS/2) 2 Ethernet (RJ-45) 1 scheda di rete 10/100/1000 4 Computer Schede Grafiche NVIDIA Quadro 600 1024 MB Schede Grafiche NVIDIA Quadro Slot PCI-Express 2.0 3 16 1 3 (312 mm) full height PCI-Express 2.0 3 4 (mech. x16) 1 3 (312 mm) full height PCI-Express x1 1 3 (312 mm) full height PCI (32-bit / 33 MHz) 1 3 (170 mm) full height Baie da 3,5 (accessibili/non accessibili) 3.5-inch internal bays 2 3.5-inch external bays 2 2.5-inch internal bays 1 Baie da 5,25 (accessibili/non accessibili) 5.25-inch external bays 2 Alimentatore Alimentatore da 450 W. Peso 11 kg circa Dimensioni (W 3 D 3 H) 532 3 220 3 537 mm In realtà quali istituti bancari, call center, ospedali, internet point e attività dove: •il numero delle postazioni è rilevante •la possibilità di ampliamento è notevole •la necessità di avere sempre un veloce ripristino in caso di guasto riveste un esigenza primaria •il tipo di strumento ideale e quello che viene comunemente definito Thin Client Server Computing, un sistema dove la memorizzazione dei dati e l’esecuzione delle applicazioni è totalmente centralizzata sul server e gli utenti hanno a disposizione postazioni di lavoro «leggere»; ma tutto questo lo approfondiremo meglio quando tratteremo le reti di computer. I notebook, i netbook e i PDA trovano il loro naturale utilizzo a integrazione delle situazioni già illustrate come computer mobili che permettono flessibilità e mobilità nelle attività lavorative. La scelta del modello e delle dimensioni va eseguita, come già detto, soprattutto in base alle applicazioni che l’utente intende utilizzare; va inoltre considerata la possibilità che questo strumento sia esclusivamente di supporto delle attività svolte normalmente in ufficio su altri personal computer (in questo caso si dovranno prevedere attività di sincronizzazione dei dati), oppure sia, a tutti gli effetti, una postazione mobile che deve coprire quindi tutte le esigenze dell’utente. Osservazione Bisogna tenere conto che all’aumentare della richiesta di performance del computer, aumenta anche la sua richiesta di energia elettrica: questo spesso si traduce in una diminuzione dell’autonomia delle batterie, specie se alla richiesta di elevate prestazioni si aggiunge l’esigenza di limitare il peso del computer portatile. Forniamo di seguito alcune configurazioni come esempio: 1.Un classico notebook per le attività di office automation, ma con caratteristiche che possono classificarlo come una postazione che sostituisce un normale pc da tavolo: 3 Il PC come paradigma del computer 71 Processore Intel Core i3-2310M 2.1 GHz Memoria Base 4 GB Frequenza memorie 4 GB DDR3 (1 3 4 GB) Hard Disk 500 GB Hard Disk (caratteristiche) SATA 5400 rpm Cd/Dvd DVD SuperMulti Double Layer Dispositivi Card Reader 4 in 1 Webcam 0.3 Mpixel Schermo 15,6 Caratteristiche Schermo 15.6 Pollici, 1366 3 768 Pixel, Glare, HD Ready, LED Connettività Lan-Wireless Interfaccia di rete WiFi 802.11n (b/g) Lan 10/100/1000 Mbits Interfacce HDMI, VGA 1x USB 2.0, 1x USB 3.0 Ingresso Microphone, Uscita Cuffie Chipset grafico ATI Mobility Radeon™ HD 6470 1024 MB DDR3 Tecnologia batteria Batteria 4 celle Peso 2.60 Kg Dimensioni 378 3 253 3 35.6 37.2 mm 2.Un tipico netbook, quando il principale utilizzo è rivolto agli applicativi di base dell’office automation e alla navigazione su internet: 72 Processore Intel Atom DC N570 1.66 GHz Memoria Base 1 GB Frequenza memorie 1 GB DDR3 Hard Disk 320 GB Hard Disk (caratteristiche) 320 GB HDD SATA Cd/Dvd Non Presente Schermo 10,1 Caratteristiche Schermo Dimensione Schermo 10.1 Pollici Risoluzione Schermo 1024 3 600 Pixel Specifiche SchermoRetroilluminazione LED Connettività Lan-Wireless Interfaccia di rete Wireless Interfacce AudioAltoparlanti stereo Audio I/O Cuffie e microfono Porte e Connettività 3x USB 2.0 Webcam 0.3 MPixel e microfono digitale Card Reader 3 in 1 Chipset grafico Intel® GMA 3150 Tecnologia batteria 6 celle Peso 1.25 Kg Dimensioni 262 3 178 3 25.9 36.5 mm 4 Computer WiFi 802.11n (b/g), Lan 10/100 Mbits 3.Infine un tablet per chi vuole uno strumento versatile, leggero e maneggevole per poter leggere book elettronici, giornali e navigare su internet. Processore NVIDIA Tegra 250 1.00GHz Memoria Base 1 GB Memoria max. MicroSD memory card up to 64G Hard Disk 16 GB Cd/Dvd Non Presente Dispositivi Main camera: 5M Pixel Camera with Auto focus, Flash Light Second camera: 2M Pixel Camera Schermo 10,1 Caratteristiche Schermo 10.1» WXGA LCM, 262K (1280*800) 16:10 / Brightness 350 nits / Color gamut 45% · Contrast ratio 1500:1 / View angle 85/85/85/85 Connettività Wireless-Bluetooth Interfaccia di rete Bluetooth® 2.1+EDR , 3.0 upgradable Wi-Fi IEEE 802.11b/g/n Interfacce USB · Micro USB 2.0 type B for Client · USB 2.0 HDMI D-type Tecnologia batteria Rechargeable Lithium-ion polymer battery, 24.1W (3250mAh cell , 2S1P) Peso 700 g Dimensioni 260 (L) 3 177 (W) 3 13.3 (H) mm Sistema Operativo Android 3.0 Honeycomb Funzionalità esclusive Multi-Touch Screen Si sono fin qui date delle indicazioni a proposito dell’utilizzo del PC in ambito lavorativo ...e per le applicazioni HOME? Le esigenze di ognuno di noi sono ovviamente diverse e le possibili soluzioni infinite; di seguito proponiamo due esempi di configurazioni adatte a un PC da utilizzare come videogioco e a una stazione di home theatre (HTPC). Esempio di configurazione di un PC per videogame: Processore Intel QC i7-2600 3.4GHz Memoria RAM Base 8GB (4 3 2GB) Memoria RAM max. 32 GB Disco fisso 500GB SATAIII Case Full tower Unità Ottiche DVD SuperMulti Double Layer Serial ATA Dispositivi Multicard reader 20 in 1, Audio: line-in 1,Audio: line-in / microphone 1 Audio: line-out 1 Front audio: microphone 1, Front audio: headphone 1 USB 2.0 total 12, USB 3.0 total 2, USB front 4, USB rear 8, USB internal 2 VGA 1 (via DVI to VGA adapter), DVI 1 Mouse / Keyboard (PS/2) 2 Ethernet (RJ-45) 1 eSATA 1 (optional) 3 Il PC come paradigma del computer 73 Schede Grafiche NVIDIA GeForce GTX 590 – GDDR5 3GB Scheda Audio Xonar DX Slot PCI-Express 2.0 3 16 1 3 (312 mm) full height PCI-Express 2.0 3 4 (mech. x16) 1 3 (312 mm) full height PCI-Express x1 1 3 (312 mm) full height PCI (32-bit / 33 MHz) 1 3 (170 mm) full height Baie da 3,5 (accessibili/non accessibili) 3.5-inch internal bays 2 3.5-inch external bays 1 Baie da 5,25 (accessibili/non accessibili) 5.25-inch external bays 1 Alimentatore Alimentatore da 450 W Peso 15 Kg circa Dimensioni (W 3 D 3 H) 532 3 220 3 537 mm Esempio di configurazione di un HTPC: 74 Processore Intel Core i5-750 2.66 GHz Memoria RAM Base 8GB (4 3 2GB) Memoria RAM max. 32 GB Disco fisso 500GB SATAIII Case Htpc – VF7001BNS Unità Ottiche DVD SuperMulti Double Layer Serial ATA Dispositivi Multicard reader 20 in 1, Audio: line-in 1, Audio: line-in / microphone 1 Audio: line-out 1 Front audio: microphone 1, Front audio: headphone 1 USB 2.0 total 12, USB 3.0 total 2, USB front 4, USB rear 8,USB internal 2 VGA 1 (via DVI to VGA adapter), DVI 1 Mouse / Keyboard (PS/2) 2 Ethernet (RJ-45) 1 eSATA 1 (optional) Interface Module notes Anytime USB charge functionality IEEE 1394 Schede Grafiche e Scheda Audio Xonar HDAV1.3 Deluxe Scheda TV My Cinema-ES3-110/PTS/FM/AV/RC Slot PCI-Express 2.0 3 16 1 3 (312 mm) full height PCI-Express 2.0 3 4 (mech. x16) 1 3 (312 mm) full height PCI-Express x1 1 3 (312 mm) full height PCI (32-bit / 33 MHz) 1 3 (170 mm) full height Baie da 3,5 (accessibili/non accessibili) 3.5-inch internal bays 2 3.5-inch external bays 1 Baie da 5,25 (accessibili/non accessibili) 5.25-inch external bays 1 Alimentatore Alimentatore da 450 W Peso 10 Kg circa Dimensioni (W 3 D 3 H) 90 3 470 3 440 mm 4 Computer 4 L’architettura interna del PC Come abbiamo già detto, ci si riferisce comunemente al personal computer come a un dispositivo costruito secondo l’architettura di von Neumann: per architettura interna del PC s’intende quindi l’insieme dei suoi blocchi interconnessi, ognuno dei quali costituisce un sottosistema logico del computer. In altre parole, con questo termine ci si riferisce alla struttura e all’organizzazione dei suoi componenti hardware. PTutti i componenti di base necessari per il funzionamento del computer si incontrano in un elemento chiamato scheda madre (in inglese «motherboard» o «mainboard»), il vero cuore del computer! Figura 7 pag. 46 testo Addomine/Pons Figura 7 Si tratta di un complesso circuito stampato multistrato adibito all’installazione fisica dei componenti del PC, sul quale sono saldati una serie di circuiti integrati (chip) e di connettori (slot). La scheda madre, una volta installati i componenti hardware provvede, tramite i bus e le porte di Input/Output, a metterli in comunicazione tra di loro e a gestire tutte le comunicazioni verso le periferiche esterne collegate. Osservazione Un circuito stampato o PCB (Printed Circuit Board), consiste in un supporto isolante su cui sono realizzate sottili strisce di rame (piste) che connettono tra di loro i vari componenti: la faccia su cui sono disposti i componenti viene chiamata lato componenti, mentre la faccia opposta, su cui sono presenti le piste, viene chiamata lato rame. Il circuito stampato delle schede madri è ricavato da un sandwich di strati di vetronite e rame: generalmente una scheda madre può avere da quattro a sei strati di rame. 4 L’architettura interna del PC titolo Circuito integrato (chip): circuito elettronico miniaturizzato che si presenta come singolo componente elettronico titolo Il circuito stampato costituisce il supporto meccanico più utilizzato e più stabile per il collegamento di componenti elettronici 75 Esistono molti tipi di schede madri che si differenziano per molteplici caratteristiche, le principali delle quali sono: •Il fattore forma o d’ingombro •Il tipo di supporto del processore (socket) •Il chipset ( set di dispositivi dedicati integrati nel sistema come Southbrige, Northbrige, ecc.) •Il numero dei connettori di memoria RAM (detta anche memoria principale) e il loro funzionamento (es. dual chanell) •Il chip del BIOS •Il numero di slot dedicati alle periferiche interne (hard-disk, DVD ecc.) e la loro tecnologia (SATA, SAS ecc.) •Il numero e la tecnologia degli slot di espansione per schede dedicate •Il numero e il tipo di connettori di entrata-uscita Inoltre, le schede madri presentano generalmente un certo numero di componenti integrati, cioè montati direttamente sulla scheda, come: •scheda di rete; •scheda grafica; •scheda audio; Tali periferiche offrono caratteristiche e prestazioni limitate, ma possono essere disabilitate attraverso il BIOS per aggiungere schede con prestazioni maggiori. Analizziamo ora le caratteristiche sopraelencate nel dettaglio: 1.Fattore di forma: è l’insieme delle caratteristiche strutturali come la dimensioni, la struttura fisica e la disposizione dei componenti integrati in una scheda madre. Il fattore di forma determina la compatibilità di una scheda madre con un case e soprattutto l’ubicazione delle varie periferiche, delle porte e di tutti gli altri componenti incluso l’alimentatore. Una cosa da tener ben presente è che il fattore di forma determina sia la scelta sia del tipo di case, sia dell’alimentatore. Molti case vengono venduti già provvisti di alimentatori: in questo caso occorre assicurarsi che sia il case, sia l’alimentatore, siano compatibili con il fattore di forma della scheda madre che si vuole montare. L’ATX è il fattore di forma che prevale dalla fine degli anni ’90 ed è quello usato dalla quasi totalità delle schede madri in commercio; è caratterizzata da semplicità di utilizzo, facilità d’inserimento dei dispositivi input e output, flessibilità nell’integrazione di processori a tecnologia più avanzata e da costi contenuti. Esistono delle varianti con dimensioni ridotte, rispetto a quelle standard, per la realizzazioni di particolari sistemi, come per esempio HTPC (Home Theatre PC). Altro standard impiegato è il BTX, introdotto dalla Intel, un formato creato per apportare ulteriori miglioramenti nella disposizione dei componenti, al fine di ottimizzare la circolazione dell’aria e ottenere migliori risposte sia acustiche, sia termiche (minor rumore e minor calore prodotti). 76 4 Computer Tabella e schema che seguono riassumono le caratteristiche dei diversi fattori di forma. 50 Fattore di forma Dimensioni ATX 305 mm 3 244 mm microATX 244 mm 3 244 mm FlexATX 229 mm 3 191 mm Mini ATX 284 mm 3 208 mm BTX 325 mm 3 267 mm microBTX 264 mm 3 267 mm picoBTX 203 mm 3 267 mm Mini ITX 170 mm 3 170 mm Nano ITX 120 mm 3 120 mm 100 150 200 250 300 350 400 50 PC/104 100 ETX/XTX EPIC NanoITX 150 EBX DIN A5 MiniITX MiniDTX FlexATX 200 250 DIN A4 DTX MicroATX PicoBTX MicroBTX NanoBTX 300 350 ATX BTX DIN A3 WTX Figura 8 Fattori di forma. 2.Supporto del processore (socket embase) Osservazione Prima di scegliere una scheda madre bisogna individuare il processore che si vuole utilizzare: la scelta del processore, infatti, è preliminare alla selezione di tutti i componenti di un PC, schede madre inclusa. Il processore è collocato in un alloggiamento chiamato socket, che varia secondo il tipo e del costruttore del processore (Intel, AMD ecc.). Il 4 L’architettura interna del PC 77 socket è una basetta quadrata con un gran numero di piccoli connettori sui quali il processore s’inserisce direttamente. I nuovi processori non sono più dotati di piedini, ma di semplici punti di contatto piatti: i piedini in questo caso, sono presenti sul socket, dotato di una specie di gabbia che serve a bloccare in sede la CPU. In alcune schede madri, come quelle dedicate per esempio ai computer di tipo Workstation e Server, è possibile avere più socket per installare processori aggiuntivi. 3. Chipset Con il termine chipset, s’indica un insieme di circuiti integrati (chip) che svolgono una specifica funzione. Nei personal computer questo termine è utilizzato per indicare l’insieme di chip di una scheda madre che si occupano di distribuire e coordinare le informazioni fra CPU, RAM e periferiche d’input/output. La qualità di un chipset dipende sia dalle funzionalità implementate, sia dalla velocità, denominata larghezza di banda, con la quale trasferisce i dati tra i dispositivi e la CPU: come nei processori, la velocità è misurata in MHz ed è un parametro legato all’architettura e alla tecnologia implementata. Nel corso degli anni, si è affermata una suddivisione del chipset in due chip principali: un chip, denominato Northbridge (letteralmente ponte Nord), dedicato alla comunicazione con i dispositivi veloci come il controller della memoria RAM e il controller per l’interfaccia grafica, e un altro chip, denominato Southbridge (letteralmente ponte Sud), destinato alla comunicazione con tutti gli altri dispositivi di I/O. Questa struttura è rappresentata graficamente come nella figura 9, disponendo la CPU in alto, il chip Northbridge, con le interfacce ad alta velocità, sotto la CPU e a questa collegato attraverso il Front Side Bus (FSB), e il chip Southbridge, con le interfacce di I/O, come ultimo elemento dell’architettura; questi due chip sono collegati tra loro da un bus interno. 78 4 Computer CPU FSB PCI Expreess x 16 RAM Northbridge Southbridge PCI USB BIOS SATA Figura 9 Legacy eSATA Struttura del chipset. Osservazione Questo tipo di architettura si è ulteriormente evoluta e, verso la fine del 2008, il controller della memoria RAM è stato spostato dal Northbridge direttamente all’interno della CPU, in modo da ridurre al minimo i tempi di accesso. In alcuni casi anche il Front Side Bus è stato sostituito con una evoluzione denominata QuickPath Interconnect (QPI). 4.Connettori di memoria RAM: Uno dei requisiti indispensabili di una buona scheda madre è quello di permettere l’implementazione di quantità di memoria più alte possibili. La memoria RAM rappresenta il dispositivo in cui sono depositate le funzionalità del sistema operativo, i programmi e i dati in uso, in modo da potere essere facilmente raggiunti e prelevati dal processore per essere elaborati. In questo senso, il primo pregio di una scheda madre è la quantità effettiva di memoria RAM che riesce a ospitare (l’unità di misura sui moderni PC è il GB). Il secondo aspetto da tenere in considerazione è la velocità, espressa in MHz, con cui questi dati possono essere prelevati e riversati: quest’ultimo fattore dipende principalmente dal tipo di memoria 4 L’architettura interna del PC 79 Modulo di memoria Circuito stampato che contiene i chip di memoria impiegata. Recentemente è stata introdotta la tecnologia dual-channel, che permette di incrementare ulteriormente la risposta delle memorie, sfruttando una particolare modalità di accoppiamento dei moduli di memoria, che debbono essere equivalenti, e che consente di aumentare la velocita di lettura e scrittura lavorando in parallelo sui due moduli. 5. Chip del BIOS È il circuito integrato in cui risiede il BIOS (Basic Input/Output System). Come vedremo meglio nei capitoli successivi, all’accensione del PC il processore a bisogno delle informazioni di base per eseguire il controllo iniziale delle periferiche e dei componenti installati sulla scheda madre: tali informazioni risiedono nel BIOS. Avviate le routine di test delle funzioni hardware, dette POST (Power On Self Test), se non si verificano errori vengono visualizzate sullo schermo alcune informazioni tra le quali la quantità di memoria del sistema e la tabella riassuntiva dei principali dispositivi connessi. Il BIOS è accessibile, per identificare e correggere eventuali malfunzionamenti o per la manutenzione generale, solo al momento dell’accensione del PC, di solito tenendo premuto il tasto «Canc o Del». Su schede madri dove è presente un controller dei dischi avanzato, chiamato RAID (che tratteremo in maniera dettagliata quando parleremo dei dischi del PC), è previsto un ulteriore chip dove risiede il programma di gestione del sistema stesso, accessibile come il BIOS, al momento dell’avvio del computer. Nella scelta di una scheda madre il tipo di BIOS installato non riveste comunque un’importanza primaria, essendo le sue caratteristiche tecniche solo in parte opzionabili. 80 4 Computer 6. Slot dedicati alle periferiche interne (Hard-disk, DVD) I dispositivi di archiviazione di massa come gli hard disk e i DVD, nei PC sono connessi alla scheda madre mediante porte denominate SATA (Serial Advanced Technology Attachment); nei computer di classe superiore come Workstation e Server possono essere presenti anche porte di tipo SAS (Serial Attachment SCSI) più veloci e performanti. Queste porte, che come abbiamo detto sono collegate direttamente al Southbridge, permettono il trasferimento dati a elevatissima velocità, aumentando quindi la rapidità di gestione dei dati da parte del processore. Più numerose sono le porte di questo tipo, più dispositivi di archiviazione si possono connettere. L’utilizzo del PC come dispositivo dove archiviare grandi quantità di dati multimediali, per esempio nei casi di utilizzo di applicazioni di grafica avanzata, di gestione audio o montaggio video, può richiede infatti la presenza di un elevato numero di unità per la memorizzazione dei dati. 7. I connettori di entrata-uscita e gli slot di espansione Tutte le schede madri hanno un set di porte di I/O standard, ma si differenziano tra loro sia per il numero sia per la tipologia (porte USB, porte FireWire ecc.). Una buona scheda madre, deve consentire inoltre l’aggiunta di nuove funzionalità attraverso schede dedicate e quindi avere molteplici slot di espansione (tipo PCI express 1x; 4x; 8x; 16x.); tutto questo verrà approfondito nel capitolo sui dispositivi di I/O. Figura 10 Connettori PCI Express. Come scegliere una scheda madre Per scegliere in maniera corretta una scheda madre piuttosto che un’altra è essenziale sapere a cosa sarà destinato il computer che vogliamo assemblare, quali applicazioni utilizzerà, dove sarà allocato: 1.Il fattore d’ingombro o formato scheda madre (strettamente legato al tipo di case): •Per computer utilizzati in ufficio o in un laboratorio scolastico, ovviamente non di grafica o design, è consigliato un case ridotto di tipo «slim» facilmente posizionabile e con ingombro limitato. Di solito questi case permettono di alloggiare schede madri di tipo Micro ATX. •Per computer utilizzati come workstation (design, calcolo scientifico, progettazione tecnica ecc.) è preferibile un case di tipo «tower», 4 L’architettura interna del PC 81 considerando la necessità di installare schede video o schede audio dedicate, più hard disk e così via; questa scelta offrirà la possibilità di ampliare il numero di dispositivi installati senza incorrere in problemi di spazio e permetterà inoltre una facile areazione, permettendo eventualmente anche il montaggio di ventole aggiuntive (fondamentali se il computer deve svolgere grandi carichi di lavoro). Il formato della scheda madre normalmente utilizzato è l’ATX. •Per computer utilizzati come Home Theater PC è possibile scegliere tra la vasta gamma di case offerti da diversi costruttori con design accattivanti e molto simili, esteriormente, a impianti di tipo hi-fi. In questo caso è fondamentale porre attenzione, prima di scegliere il case, a cosa si vuole installare all’interno: ci si potrebbe ritrovare, per esempio, con un case di design che ospita una scheda ATX, ma che non è abbastanza alto per inserire una scheda video con prestazioni elevate; i case in commercio possono alloggiare, di solito, quasi tutti i formati disponibili (ATX, Micro ATX, ecc.) Osservazione Il costo dei case varia da poche decine fino a qualche centinaio di euro, in base al design e alle caratteristiche strutturali, come facilità di accesso e di montaggio dei dispositivi interni; alcuni inoltre sono quasi sprovvisti di viti poiché dotati di ingegnosi sistemi che facilitano l’assemblaggio. Si consideri che molti case di fascia media sono sprovvisti di alimentatore che va acquistato separatamente. L’alimentatore non deve essere sottovalutato poiché si può rischiare, specialmente nell’assemblaggio di workstation, di sottodimensionare la necessità di potenza elettrica del computer: questo può essere causa di malfunzionamenti e instabilità del sistema. Nel caso di acquisto separato dell’alimentatore si consiglia di preferire un modello modulare, che consente di connettere i cavi di alimentazione in base alle necessità e rendendo l’assemblaggio più pulito e ordinato. Home Theater PC workstation Case slim 82 4 Computer Mini tower 2.Il tipo di supporto del processore (socket) è di fondamentale importanza nella scheda madre poiché determina il processore che potremmo installare: è quindi prioritaria la scelta del processore, che illustreremo nel paragrafo successivo. Qui, ci limiteremo a fornire delle «linee guida» generali: •Per computer utilizzati per l’ufficio, le aule didattiche e l’Home Theatre PC sarebbe meglio non orientarsi su processori di elevata potenza, poiché le attività alle quali è destinato il computer sono abbastanza elementari e ripetitive e quindi rischiamo di sotto- utilizzare la potenza del processore. •In caso di workstation (design, calcolo scientifico, progettazione tecnica ecc.) è invece opportuno orientarsi su processori più performanti. Osservazione Una soluzione potrebbe essere quella di scegliere processori legati a una famiglia di socket, come avviene nella pratica e che offra la possibilità di effettuare facilmente upgrade a versioni più performanti. 3.Il numero e la tipologia dei connettori di memoria RAM sono elementi da non sottovalutare perché determinano in maniera particolarmente incisiva sia le prestazioni sia la possibile evoluzione del sistema. La scelta del tipo e della quantità di memoria interna sarà illustrata nel paragrafo successivo: qui ci limiteremo a ribadire che è sempre consigliabile avere la massima possibilità di espandere la quantità di memoria interna e che è preferibile scegliere la tecnologia dual chanell, che permette di aumentare le prestazioni del sistema. 4.Il numero degli slot dedicati alle periferiche interne con tecnologia SATA, permette di determinare quanti dispositivi interni come hard disk e lettori DVD possono essere installati: molte porte SATA saranno per esempio inutili su un sistema con case «slim» a causa del poco spazio presente, mentre per sistemi tipo workstation, con case full tower, sarà importante avere la possibilità di aggiungere più di un hard disk. Ricordiamo che nelle schede madri per workstation, è determinante la presenza del controller RAID integrato, che permette la protezione dei dati da possibili guasti, e la presenza di connessioni di tipo SAS. 5.Anche il numero e la tecnologia degli slot di espansione è poco influente per i sistemi dedicati all’ufficio o alla scuola, mentre diventa un fattore importante nei casi in cui sicuramente sarà necessario inserire schede dedicate a specifiche funzioni come schede video, audio, per la ricezione di canali TV, ecc. 6.I connettori di entrata-uscita sono invece un fattore importante in tutte le configurazioni: •nei casi di utilizzo per ufficio o attività scolastiche si privilegeranno prioritariamente il numero delle porte USB per la loro versatilità e la sicura necessità nel collegare periferiche esterne 4 L’architettura interna del PC 83 •in sistemi più professionali, si guarderà non solo al numero di porte USB ma anche ad altre necessità specifiche come la porta Firewire nel caso di Home Theatre PC o Workstation dedicate al montaggio video oppure la presenza di connessioni eSATA. Periferiche integrate direttamente sulla scheda madre, come scheda video, scheda audio sono consigliabili per sistemi per ufficio o scolastici mentre potrebbero essere inutili in quei casi in cui sia indispensabile installare schede più professionali. È ovvio infine, che non debba mai mancare sulla scheda madre, una scheda di rete. Vediamo ora due tipologie di schede madri, una dedicata al settore office o scolastico e una seconda tipica per workstation: Specifiche scheda madre per PC settore office 84 CPU Intel® Socket 1155 for 2nd Generation Core™ i7/Core™ i5/Core™ i3 Processors Supports Intel® 32 nm CPU Supports Intel® Turbo Boost Technology 2.0 Chipset Intel® H61(B3) Memoria 2 x DIMM, Max. 16GB, DDR3 1333/1066 Hz Non-ECC, Un-buffered Memory Dual Channel Memory Architecture * The maximum 16GB memory capacity can be supported with 8GB or above DIMMs. ASUS will update the memory QVL once the DIMMs are available in the market. * Refer to user manual for the Memory QVL (Qualified Vendors Lists). * Due to OS limitation, when installing total memory of 4GB capacity or more, Windows® 32-bit operation system may only recognize less than 3GB. Install a 64-bit Windows® OS when you want to install 4GB or more memory on the motherboard. Grafica Integrated Graphics Processor Multi-VGA output support : DVI/RGB ports – Supports DVI with max. resolution 1920 x 1200 @ 60 Hz – Supports RGB with max. resolution 2048 x 1536 @ 75 Hz Supports DirectX 10.1 Slot di Espansione 1 x PCIe 2.0 x16 2 x PCIe 2.0 x1 1 x PCI Storage Intel® H61(B3) chipset : 4 x SATA 3Gb/s port(s), blue LAN Realtek® 8111E , 1 x Gigabit LAN Controller(s) Audio Realtek® ALC 887 8-Channel High Definition Audio CODEC *1 Porte USB Intel® H61(B3) chipset : 10 x USB 2.0 port(s) (6 at back panel, black, 4 at mid-board) Porte I/O Posteriori 1 x PS/2 keyboard/mouse combo port(s) 1 x DVI 1 x D-Sub 1 x LAN (RJ45) port(s) 6 x USB 2.0 3 x Audio jack(s) 4 Computer I/O Interne 2 x USB 2.0 connector(s) support(s) additional 4 USB 2.0 port(s) 1 x COM port(s) connector(s) 4 x SATA 3Gb/s connector(s) 1 x CPU Fan connector(s) 1 x Chassis Fan connector(s) 1 x S/PDIF out header(s) 1 x 24-pin EATX Power connector(s) 1 x 4-pin ATX 12V Power connector(s) 1 x parallel port connector(s) 1 x Front panel audio connector(s) (AAFP) 1 x System panel(s) Accessori User’s manual I/O Shield 2 x SATA 3Gb/s cable(s) BIOS 32 Mb Flash ROM EFI BIOS, PnP, DMI v2.0, WfM 2.0, ACPI v2.0a, SM BIOS v2.6, Multi-language BIOS Dimensioni Scheda microATX Form Factor 9.6 inch 3 8.0 inch ( 24.4 cm 3 20.3 cm ) Specifiche scheda madre per PC workstation CPU Intel Socket 1366 Core™ i7 Processor Extreme Edition/Core™ i7 Processor Supports Intel® Dynamic Speed Technology Chipset X58 + ICH10R Nvidia® nForce200 test Up to 6400 ; Intel® QuickPath Interconnect MT/s Memoria 6 x DIMM, 24 GB, DDR3 1600*/2000(O.C.)*/1866(O.C.)*/1800(O .C.)*/1333/1066 ECC,Non-ECC,Un-buffered Memory Triple channel memory architecture Support Intel Extreme Memory Profile (XMP) *Hyper DIMM (DDR3 1800MHz or above) support is subject to the physical characteristics of individual CPUs. **Refer to user manual for the Memory QVL (Qualified Vendor Lists.) *** ECC memory support requires Intel® Nehalem-WS 1S W3500 series or Nehalem-EP E5502/E5504/E5506 processors Slot di Espansione x PCIe 2.0 x16 slots (at x16 or x8 mode) 2 1 x PCIe 2.0 x16 slots (at x16 mode) 2 x PCIe 2.0 x16 slots (at x8 mode) 1 x PCIe 2.0 x16 slot (at x4 mode) * True @ x16 3-Way SLI™ in slots 1, 3 and 5 when slots 2 and 4 are not occupied Multi-GPU Support Supports NVIDIA 2-Way and 3-Way SLITM techonology Supports ATI CrossFireXTM technology, up to Quad CrossFireXTM Storage * A SAS expander (excluded in package) is required while using RAID 10 on SAS ports. ** A port-multiplier (excluded in package) is required while using RAID 5 or 10 on eSATA ports. Intel ICH10R controller Marvell 88SE6320 SAS controller 2 x SAS ports supporting SAS RAID 0, 1, 10* 6 xSATA 3 Gb/s ports Intel® Matrix Storage supporting SATA RAID 0, 1, 10, and 5 External SATA 150/300 (SATA On-the-G0), supporting SATA RAID 0, 1, 10, and 5** 2 x Marvell 88SE6121 SATA controller 4 L’architettura interna del PC 85 86 LAN Support Teaming Technology 2 x Realtek 8111C Dual Gb LAN Audio ADI 2000B, 8 -Channel High Definition Audio CODEC Multi-Streaming Jack-Sensing Front Panel Jack-Retasking Coaxial / Optical S/PDIF out ports at back I/O ASUS Noise-Filer USB USB 2.0 ports 12 Caratteristiche Speciali EPU - 6 Engine True 16+2 Phase Power Design Turbo V Fan Xpert Express Gate AI Nap Q-Shield Q-Connector Fanless Design: Heat-pipe solution Fanless Design: Stack Cool 2 My Logo 2 CrashFree BIOS 3 EZ Flash 2 C.P.R.(CPU Parameter Recall) SFS (Stepless Frequency Selection) O.C. Profile Porte I/O Pannello Posteriore x PS/2 Keyboard 1 x PS/2 Mouse 1 x External SATA 2 (Coaxial + Optical) x S/PDIF Out 1 x RJ45 port 2 x USB 2.0/1.1 6 Channel Audio I/O 8 Connettori I/O Interni 24-pin EATX Power connector 8-pin ATX +12V Power connector Chassis intrusion CPU fan with PWM control Chassis fan1 with Q-fan control Chassis fan2 with Q-fan control Chassis fan3 with Q-fan control PWR fan CD audio in 3 x USB connectors support additional 6 USB ports 20-pin Panel connector TPM header Front panel connector S/PDIF Out header BIOS 16 Mb Flash ROM AMI BIOS, Green, PnP, DMI v2.0, Wfm2.0, ACPI v2.0a, SMBIOS v 2.4 Gestibilità WOR by Ring,WOL/WOR by PME,Chasis Intrusion,AI NET2 Dimensioni ATX Form Factor 12 inch x 9.6 inch 30.5 cm x 24.5 cm ) 4 Computer 5 Caratteristiche dei processori e delle memorie del PC 5.1 Caratteristiche dei processori Il processore o microprocessore (CPU – Central Processing Unit – letteralmente Unità Centrale di Elaborazione) è il cervello del computer. Esso permette di manipolare le informazioni codificate sotto forma binaria e di eseguire le istruzioni registrate nella memoria. La storia dei processori è inseparabilmente legata all’azienda Intel che ha realizzo il primo processore nel 1971 (Intel 4004) e in seguito, nel 1981, il processore 8086 che ha equipaggiato i primi PC. Osservazione Intel è il maggiore produttore mondiale di processori, ma sono abbastanza diffuse anche le CPU prodotte dalla AMD che sono compatibili con quelle della Intel. Altri storici processori prodotti sono stati lo Zilog Z80 e il Motorola 68000. Di seguito elenchiamo le principali famiglie di processori: –80 3 86: la «x» rappresenta la famiglia. Si parla quindi di 386, 486, 586, 686, ecc. –ARM –IA-64 –MIPS –Motorola 6800 –PowerPC –SPARC Un processore è costituito da un core (nucleo), contenente milioni di transistor che costituiscono la parte funzionale della CPU, inserito in un package (imballaggio) di ceramica. Con il termine tecnologia costruttiva, s’intende la grandezza in micron (10–3 millimetri) dei transistor presenti all’interno della CPU; questa grandezza è in costante diminuzione e comporta il parallelo incremento del numero di transitor contenuti nel processore con i seguenti vantaggi: •maggiore velocità della CPU; •minore dissipazione di energia; •minore tensione di lavoro; •minore consumo di energia; •minore surriscaldamento. Osservazione A questo proposito è interessante ricordare la legge di Moore, ideata nel 1965 da Gordon Moore, che tre anni dopo sarebbe stato uno dei fondatori della Intel; si tratta di una legge empirica che nella sua prima versione afferma: «il numero dei transistor in un processore raddoppia ogni 12 mesi». Questa legge si è dimostrata sostanzialmente corretta, anche se venti anni dopo è stata leggermente rivista assumendo la seguente forma: «le prestazioni dei processori raddoppiano ogni 18 mesi». 5 Caratteristiche dei processori e delle memorie del PC Transistor Un Transistor (contrazione di transfer resistor) è un componente elettronico semi-conduttore con tre elettrodi capaci di modificare la corrente che li attraversa. Questi componenti sono definiti «componenti attivi». 87 La CPU si può cosi suddividere: •Unità di controllo (CU) e di predizione delle istruzioni; •Unità Aritmetico Logica (ALU) alla quale spesso è affiancata l’unità per i calcoli in virgola mobile o FPU (Floating Point Unit), che ne potenzia le capacità di calcolo; •Memoria locale, costituita dall’insieme dei registri; •Memoria cache di primo livello o L1; •Interfaccia di collegamento con l’esterno o FSB (Front Side Bus). Chache L2 A L U FPU REGISTRI Cache L1 Dati Cache I1 istruzioni Unità di controllo Unità di gestione I/O Modern multicore CPUFigura 11 Le parti della CPU. Osservazione Viene chiamata memoria cache (dal francese «caché» – nascosta), una memoria temporanea utilizzata per memorizzare dati che possono successivamente essere recuperati velocemente; la memoria cache e il suo utilizzo sono trasparenti al programmatore, quindi «nascosta». Cache L1, è una memoria molto veloce, integrata nella CPU, che contribuisce ad aumentare le prestazioni del processore permettendo di recuperare nel minor tempo possibile il dato richiesto. Ogni dato, infatti, viene prima cercato nella cache: se è presente (hit) viene inviato alla CPU, se non viene trovato (miss) viene recuperato dalla memoria principale e memorizzato nella cache nel caso possa servire successivamente. La maggior parte dei computer ha anche cache L2 e L3, che sono più lente di cache L1, ma comunque più veloci della memoria RAM. La funzione della cache multi-livello consiste nel contenere un maggior numero di dati e/o istruzioni in modo da poter aumentare la velocità nel ritrovamento dell’informazione richiesta dall’utente. Il dato, o l’istruzione, vengono cercati prima nel livello 1, poi nel livello 2 e infine nel livello 3: solo se nella cache non viene trovato il dato si passa alla ricerca nella memoria centrale. Cercheremo ora di illustrare le caratteristiche attraverso le quali sono classificati i processori, senza entrare nei dettagli dei vari modelli che si sono via via succeduti, limitandoci a esporre quelle caratteristiche che risultano essere salienti per la loro classificazione: 88 4 Computer 1. Frequenza di clock Il processore esegue le istruzioni seguendo il ritmo scandito dalla frequenza del clock (l’orologio di sistema che invia gli impulsi). La frequenza del clock (detta anche ciclo) corrisponde al numero d’impulsi inviati in un secondo ed è espressa in Hertz (Hz). Fronte di Salita CLK1 Fronte di Discesa CLK2 CLK3 CLK4 Ciclo di Clock Figura 12 esempio Ciclo di clock. Un computer a 2400 MHz ha un orologio che invia 2.400.000.000 impulsi al secondo. A ogni impulso dell’orologio il processore esegue un’azione, corrispondente a un’istruzione o a una sua parte. L’indicatore chiamato CPI (Cicli Per Istruzione), rappresenta il numero medio di cicli necessario all’esecuzione di un’istruzione su un processore. La potenza di un processore può quindi essere caratterizzata dal numero d’istruzioni che è capace di trattare al secondo: l’unità utilizzata è il MIPS (Milioni di Istruzioni al Secondo). Il valore massimo si è raggiunto nel 2005 con il Pentium IV Extreme Edition con clock a 3,72 GHz, poi i produttori di CPU hanno cessato di spingere verso l’alto la frequenza del clock. 2. Ampiezza dei registri Nel corso dell’evoluzione dei personal computer l’ampiezza dei registri, espressa in bit, è via via aumentata e si è passati dai 4 bit del processore 4004, ai 16 bit dell’8086, ai 32 bit dei processori che vanno dal 80386 ai Pentium IV, per arrivare ai 64 bit dei processori multicore. Quando si afferma che una CPU è «a x bit» s’intende proprio dire che l’ampiezza dei suoi registri è x bit: una CPU a 64 bit ha quindi registri di tale dimensione. 3. Set d’istruzioni È detto set di istruzioni l’insieme delle operazioni elementari che un processore può compiere. Il set d’istruzioni di un processore determina la sua architettura. L’unità di controllo della CPU permette l’esecuzione delle istruzioni in linguaggio macchina, tramite una sequenza di micro-operazioni eseguite direttamente dall’hardware e che generano, nella giusta sequenza, i segnali di controllo che provocano l’esecuzione di ogni operazione elementare. Per la sua implementazione si utilizzano due diverse metodologie: a.Implementazione microprogrammata: a ogni codice operativo si fa corrispondere l’indirizzo d’inizio di un microprogramma. b.Implementazione cablata o«hardwired»: i circuiti di controllo interpretano il codice operativo e inviano segnali per l’esecuzione dell’operazione. Architettura CISC Nell’architettura CISC (Complex Instruction Set Computer, ossia «com- 5 Caratteristiche dei processori e delle memorie del PC 89 puter con set d’istruzioni complesso») l’unità di controllo è microprogrammata. Caratteristiche delle architetture CISC sono: •Ampio numero di istruzioni macchina che consentono di eseguire operazioni complesse; •Istruzioni di lunghezza variabile; •Formati d’istruzione differenti che rendono meno veloce la decodifica; •Presenza di pochi registri e molte istruzioni che fanno riferimento alla memoria; •Flessibilità nella definizione delle istruzioni; L’architettura CISC è usata in particolare per i processori di tipo x86. Architettura RISC Un processore che usa la tecnologia RISC (Reduced Instruction Set Computer, ossia «computer con set d’istruzioni ridotto»), ha invece l’unità di controllo cablata. Tali architetture sono: •Formate da un piccolo insieme di semplici istruzioni macchina; •Ottimizzate da un numero elevato di registri generici e dall’adozione di compilatori. Cerchiamo di comprendere meglio la differenza tra le due architetture con un esempio: 1 2 3 4 1 2 Memoria Centrale 3 4 5 6 A D B E C F X/+– Figura 13 Schema generico della memoria di un computer. 90 4 Computer Registri Unità di esecuzione Ipotizziamo di voler moltiplicare due numeri in memoria. Il diagramma rappresenta lo schema generico della memoria di un computer. La memoria principale è suddivisa in celle numerate dalla Riga1:Colonna1, alla Riga6:Colonna4. L’unità di esecuzione è incaricata di eseguire tutti i calcoli. Tuttavia, l’unità di esecuzione non può che operare su dati che sono stati caricati in uno dei sei registri (A, B, C, D, E o F). Diciamo che vogliamo calcolare il prodotto di due numeri, uno memorizzato nella cella 1:1 e l’altro memorizzato nella cella 6:4, e memorizzarne il risultato nella posizione 1:1. L’approccio CISC L’obiettivo primario dell’architettura CISC è completare l’operazione con il minor numero di linee di codice. Per questa particolare attività, un processore CISC sarebbe stato costruito con una specifica istruzione (che chiameremo «PROD»). Quando è eseguita, questa istruzione carica i due valori nei registri separati, moltiplica gli operandi in unità di esecuzione, e quindi memorizza il prodotto in un apposita cella. Così, tutta l’opera di moltiplicare due numeri può essere completata con una sola istruzione: PROD 1:1, 6:4 PROD è nota come «istruzione complessa». Opera direttamente sulle celle di memoria del computer e non richiede, al programmatore, di chiamare esplicitamente le funzioni di caricamento dei registri e di scrittura nella memoria. Questa procedura ricorda da vicino un comando di un linguaggio ad alto livello. Per esempio, se lasciamo che «x» rappresenti il valore contenuto nella cella 1:1 e «y» quello contenuto in 6:4, allora questo comando è identico a «x = x * y.» Uno dei vantaggi principali di questo sistema è che il compilatore lavora pochissimo per tradurre un’istruzione ad alto livello, in linguaggio macchina. La lunghezza del codice è ridotta e serve quindi poca RAM per conservare le istruzioni. L’attenzione è posta alla costruzione di istruzioni complesse direttamente attraverso l’hardware. L’approccio RISC I processori RISC utilizzano invece solo semplici istruzioni che possono essere eseguite all’interno di un ciclo di clock. Così, il comando «PROD» sopra descritto potrebbe essere diviso in tre comandi separati: «LOAD», che sposta i dati dalla cella della memoria a un registro, «PROD», che calcola il prodotto di due operandi presenti all’interno dei registri, e « STORE «, che sposta i dati da un registro alla cella di memoria. Al fine di eseguire la serie esatta di passi descritti nell’approccio CISC, un programmatore avrebbe bisogno di quattro linee di codice macchina: •LOAD A, 2:3 •LOAD B, 05:02 •PROD A, B •STORE 2:3, A Questo può sembrare un modo molto meno efficiente di eseguire l’operazione: ci sono più righe di codice ed è necessaria più RAM per memo- 5 Caratteristiche dei processori e delle memorie del PC 91 rizzare le istruzioni del codice macchina; inoltre il compilatore deve anche svolgere più lavoro per convertire un’istruzione di linguaggio ad alto livello in codice macchina. Tuttavia, la strategia RISC porta anche alcuni vantaggi importanti: •ogni istruzione richiede solo un ciclo di clock per l’esecuzione; l’intero programma verrà eseguito in circa la stessa quantità di tempo del comando «PROD» eseguito in più cicli •queste «istruzioni ridotte» richiedono meno spazio hardware per i transistor, rispetto alle istruzioni complesse, lasciando più spazio per i registri di uso generale •tutte le istruzioni vengono eseguite in un lasso di tempo uniforme •è possibile utilizzare il sistema pipelining (vedi avanti). Separare le istruzioni «LOAD» e «STORE» riduce effettivamente la quantità di lavoro che il computer deve eseguire. Dopo che il comando «PROD» è stato eseguito, con l’approccio CISC il processore cancella automaticamente i registri: se uno degli operandi deve essere utilizzato per un altro calcolo, il processore deve ricaricare i dati dalla cella di memoria in un registro. Nell’architettura RISC, l’operando rimarrà invece nel registro, fino a quando un altro valore non è caricato al suo posto. ARCHITETTURA RISC ARCHITETTURA CISC •enfasi sul software; •un ciclo di clock per ogni istruzione; •istruzioni ridotte (solo da registro a registro); •«LOAD» e «STORE» sono istruzioni indipendenti; •grandi dimensioni del codice; •ha bisogno di più transistor dedicati ai registri di memoria. •enfasi sull’hardware; •più cicli di clock per una singola istruzione; •istruzioni complesse (da memoria a memoria); •«LOAD» e «STORE» incorporate nelle istruzioni; •dimensioni ridotte del codice; •ha bisogno di più transistor dedicati alla memorizzazione di istruzioni complesse. Convergenza tra CISC e RISC Con l’evoluzione tecnologica, alcuni miglioramenti sono stati utilizzati sia dai processori RISC quanto dai CISC: i confini tra le due architetture hanno iniziato a confondersi. Per esempio, poiché le velocità dei processori sono aumentate e i chip CISC sono ora in grado di eseguire più istruzioni all’interno di uno stesso ciclo di clock, anche l’architettura CISC può far uso della tecnologia pipeline. Inoltre, è possibile inserire molti più transistor su un singolo chip e questo dà ai processori RISC abbastanza spazio da integrare operazioni più complesse, come comandi CISC. Tutti questi fattori hanno portato alcuni gruppi a sostenere che siamo in un’era «postRISC», in cui i due stili sono talmente simili che distinguerli non è più rilevante. Miglioramenti tecnologici Durante gli anni, i costruttori di microprocessori hanno messo a punto un certo numero di miglioramenti che permettono di ottimizzare il funzionamento del processore: 92 4 Computer 1. La pipeline La pipeline (letteralmente «conduttura») è una tecnologia che velocizza i tempi della CPU parallelizzando l’elaborazione di più istruzioni: questo consente un aumento del numero di istruzioni eseguite, in una data quantità di tempo. Il termine in inglese è utilizzato anche per indicare le condutture che, se si diramano a partire da un condotto principale, garantiscono l’arrivo a valle di una maggiore quantità di liquido in una determinata quantità di tempo. Un esempio può essere il seguente. Immaginiamo di suddividere il ciclo di esecuzione di un’istruzione in più fasi: • • • • Fetch dell’istruzione (FCI) Decodifica dell’Istruzione (DCI) Esecuzione dell’istruzione (EXI) Memorizzazione dei dati (MD) Supponiamo ora di poter suddividere il processore in più parti, ciascuna delle quali si occupa di una sola fase dell’esecuzione dell’istruzione. In un processore tradizionale, quando uno di questi stadi termina l’esecuzione delle operazioni di sua competenza, si pone in stato di attesa (idle) finché tutti gli stadi non hanno completato l’esecuzione dell’istruzione, come nello schema temporale seguente. Supponendo che ogni stadio completi le sue elaborazioni in un ciclo macchina occorrono, per l’esecuzione di una singola istruzione, tanti cicli macchina quanti sono gli stadi (nell’esempio 4). Ciclo di clock T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 FCI1 idle idle idle FCI2 idle idle idle FCI3 idle idle idle DCI1 idle idle DCI2 idle idle DCI3 idle idle Fasi di esecuzione di una istruzione EXI1 idle EXI2 MD1 idle EXI3 MD2 Istruzione 1 idle MD3 Istruzione 2 Istruzione 3 In un’architettura pipeline, invece, per evitare tempi morti, ogni parte, dopo aver completato le elaborazioni di sua competenza per l’istruzione in corso, passa a elaborare l’istruzione successiva, come nel successivo schema temporale. In questo caso, l’esecuzione della prima istruzione necessita ancora di tanti cicli macchina quanti sono gli stadi, ma la seconda istruzione sarà completata soltanto dopo un solo ciclo di clock aggiuntivo e così sarà anche per tutte le istruzioni seguenti. Ciclo di clock T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 FCI1 FCI2 FCI3 FCI4 FCI5 FCI6 FCI7 FCI8 FCI9 FCI10 DCI1 DCI2 DCI3 DCI4 DCI5 DCI6 DCI7 DCI8 DCI9 EXI1 EXI2 EXI3 EXI3 EXI5 EXI6 EXI7 MD1 MD2 MD3 MD4 MD4 MD6 Istr. 5 Istr. 6 Istr. 7 Istr. 8 Istr. 9 Istr. 10 Fasi di esecuzione di una istruzione Istr. 1 Istr. 2 Istr. 3 Istr. 4 2. Architettura Harvard L’architettura Harvard è un’architettura alternativa a quella di von Neumann, proposta negli anni trenta da Howard Aiken all’università 5 Caratteristiche dei processori e delle memorie del PC 93 di Harvard e realizzata negli anni quaranta con il computer Mark IV; questa architettura prevede due spazi di memoria, uno per i dati, l’altro per i programmi e diversi bus per accedervi. Nell’architettura di von Neumann, la CPU legge le istruzioni e i dati dalla memoria utilizzando lo stesso bus: quando carica un’istruzione, non può caricare anche un dato. In un’architettura di Harvard il processore è invece in grado di accedere in modo indipendente a dati e istruzioni, giacché questi sono immagazzinati in memorie separate. Un processore dotato di architettura Harvard, può quindi parallelizzare le operazioni di lettura e scrittura della memoria: questo permette un aumento di velocità, ma obbliga alla presenza di circuiti più complessi all’interno del processore. L’architettura Harvard viene spesso utilizzata in processori specializzati nell’elaborazione dei segnali (DSP), come quelli che vengono utilizzati per il trattamento dei dati audio o video. Memoria programmi CPU Memoria dati Figura 14 Architettura Harvard. 3.Il parallelismo e l’HyperThreading Prima di introdurre una descrizione della tecnologia parallela e dell’Hyper Threading, proviamo a capire brevemente quali sono le differenze concettuali tra processo e thread. Tutti i programmi che vengono eseguiti sul sistema operativo, compreso quest’ultimo, sono costituiti da una serie di processi elaborati dalla CPU in maniera sequenziale. Ogni processo ha registri e variabili ed è eseguito in maniera indipendente dagli altri processi: ciò significa che un processo possiede un proprio ambiente di elaborazione ben determinato. I processi sono costituiti da thread diversi che non sono indipendenti come i processi, ma condividono le stesse variabili globali: all’interno dello stesso processo i thread cooperano per l’esecuzione di una ben determinata mansione. I thread sono spesso chiamati «processi leggeri». Il programma rappresenta una lista delle azioni che i processi devono compiere in un ben determinato modo. Riassumendo possiamo dire che: 1)I programmi sono costituiti da processi. 2)I processi sono indipendenti tra loro e possiedono dei registri e delle variabili proprie. 3)I thread sono «processi leggeri» che hanno la caratteristica di condividere le stesse variabili globali per l’esecuzione di una ben determinata mansione. 94 4 Computer 4)Un processo può essere composto di un solo thread o di più thread. 5)Più thread in un processo possono essere utilizzati per condividere lo stesso lavoro mentre processi diversi sono indipendenti. L’esecuzione di un processo è unica, e non può avvenire contemporaneamente con un altro processo: questo significa che la CPU, in un singolo istante, esegue un solo processo, ma in un arco di tempo maggiore passa da un processo all’altro, dando all’utente l’impressione di calcolare più processi contemporaneamente. Tale condizione si chiama «pseudo-parallelismo» e si riferisce al modo in cui la CPU alterna l’elaborazione di più processi. Avendo a disposizione due CPU in grado di calcolare contemporaneamente (parallelamente) più istruzioni, si può, in teoria, raddoppiare la velocità di esecuzione dei programmi. Si parla in questo caso di parallelismo o di sistema multiprocessore. Il parallelismo consiste quindi nell’eseguire simultaneamente, su processori differenti, le istruzioni relative a uno stesso programma: il programma è diviso in più processi che vengono trattati in «parallelo» per guadagnarne in tempo di esecuzione. Questo tipo di tecnologia necessita tuttavia di una perfetta sincronizzazione e di una corretta comunicazione tra i diversi processori. La tecnologia Hyper-Threading invece, consiste nell’ottenere due processori logici da una singola CPU fisica: questo significa che si ottengono due CPU virtuali che possono elaborare istruzioni in parallelo, aumentando notevolmente le prestazioni del sistema. Un processore fisico diventa due CPU logiche, che condividono alcune risorse fisiche (cache, registri ecc.) ma che sono in grado di elaborare le istruzioni in parallelo. Riassumendo, se siamo alla presenza di sistemi multiprocessore, caratterizzati da due o più CPU reali, si parla di SMP (Symmetric Multi Processing), se invece abbiamo una sola CPU ed è utilizzato l’Hyper threading, siamo alla presenza di una tecnologia chiamata SMT (Simultaneous Multi Threading) e di processori logici. Durante la fase di «boot» del sistema, il BIOS determina il numero di processori fisici e logici disponibili in quel momento. 4. Le CPU multicore Come accennato in precedenza, la corsa all’aumento della frequenza di clock delle CPU si è fermata: il massimo è stato raggiunto con i circa 3,8 GHz degli ultimi modelli di Pentium IV. I motivi fondamentali di questa scelta sono stati i costi eccessivi di sviluppo e l’enorme aumento di consumi e di calore provocato da ogni nuovo incremento della frequenza del clock. Arrivati alla soglia dei 4 GHz di frequenza infatti, un ulteriore incremento del 10% della velocità, avrebbe comportato un aumento del 15% dei consumi, con un miglioramento delle prestazioni inferiore al 10%. Si è quindi passati da uno sviluppo «verticale» della tecnologia delle CPU a uno «orizzontale» che consiste nell’integrare nello stesso package due o più core (anche 4 o 8) gemelli, che condividono le varie risorse della CPU stessa (cache, bus, registri). In questo modo si riescono ad avere prestazioni quasi doppie senza far aumentare eccessivamente 5 Caratteristiche dei processori e delle memorie del PC 95 i consumi e il riscaldamento del processore. Occorre osservare inoltre, che la fabbricazione di CPU che operano con frequenze più basse, è molto più semplice e meno costosa. Osservazione Può essere interessante notare come, fino alle CPU Pentium IV l’incremento delle prestazioni era perseguito con tre tipi di strategie: • aumento della frequenza del clock; • aumento della quantità di cache, in modo da minimizzare gli accessi alla più lenta memoria centrale; • aumento della larghezza di banda verso la memoria centrale e diminuzione della latenza (intervallo di tempo o ritardo che intercorre tra la richiesta di un dato e il momento della sua disponibilità). Facendo un parallelo con il mondo dei motori, questo ha voluto dire aumentare i giri del motore ottimizzando aspirazione e scarico: ma si può aumentare anche la cilindrata. Per le CPU aumentare la cilindrata ha significato passare dall’architettura a 32 bit a quella a 64 bit (con vantaggi però non eccezionali, specialmente per macchine e applicazioni di fascia bassa, che non sfruttano appieno le maggiori possibilità di trasferimento e elaborazione di dati a 64 bit). Ma si può anche aumentare il numero dei cilindri: per le CPU questo ha significato integrare più core nello stesso package. In questo modo si riescono ad avere prestazioni quasi doppie senza far aumentare eccessivamente i consumi e il riscaldamento del processore. 5. Gestione della memoria Questa caratteristica per essere compresa in modo esaustivo dovrebbe prevedere l’approfondimento sulle tecniche di gestione della memoria che esula dai nostri obiettivi. Come esempio per comprendere come i microprocessori gestiscono la memoria, sarà illustrato brevemente il funzionamento della memoria nei processori di prima generazione. La quantità di memoria gestibile dipende dall’ampiezza del bus indirizzi: nei primi processori come l’8086 il bus indirizzi era di 20 bit e quindi la memoria gestibile ammontava a 1 MB (220 byte). Inoltre, le CPU gestivano la memoria in modo segmentato, cioè tramite la sua suddivisione in parti, chiamate appunto segmenti; una cella di memoria, era individuata indicando l’indirizzo iniziale del segmento e l’offset della cella, cioè la sua distanza dall’inizio del segmento; questi valori erano espressi solitamente nella forma «segmento:offset». Questo tipo di funzionamento è definito «real mode» (modo reale). Osservazione Per meglio comprendere il funzionamento pensiamo che una parte dell’indirizzo sia il civico del nostro palazzo mentre l’offset sia l’interno della nostra abitazione: quindi per un’identificazione corretta dell’appartamento (cella di memoria) forniamo come dato «civico:interno». 96 4 Computer Con il passaggio all’architettura dei processori a 32 bit, si sono introdotte molte novità che migliorano notevolmente la gestione della memoria, attraverso l’uso della segmentazione in «protect mode» (modo protetto). Questo modo di funzionamento fornisce direttamente dal lato hardware un supporto alla multiprogrammazione, impedendo che un programma possa accedere per errore all’area di memoria assegnata a un altro programma. La capacità d’indirizzamento è inoltre aumentata fino a 4 GB (232 byte). La successiva evoluzione, con l’architettura x86-64, ha portato l’ampiezza dei registri a 64 bit, introducendo una nuova metodologia di gestione della memoria, sempre in «protect mode», che attraverso l’uso di indirizzi virtuali permette di gestire una quantità di memoria assai superiore (264 byte). L’indirizzo è definito virtuale perché non necessariamente corrisponde al reale indirizzo fisico di memoria: i processori sono in grado di gestire la memoria virtuale con un meccanismo detto di paginazione dinamica. La scelta del processore è un fattore chiave per un computer, poiché determina le prestazioni dell’intero sistema. È il primo elemento che si dovrà scegliere in fase di assemblaggio o per decidere se un prodotto «brand» (computer già assemblato dai costruttori) risponde alle nostre necessità. Per la scelta di un processore destinato a un PC «consumer» o «small business», potrebbe essere utile rispondere alle seguenti domande: •A quale utilizzo è destinato il computer? 1.Utilizzo di pacchetti di office automation e navigazione su internet 2.Uso contemporaneo di più applicazioni 3.Esecuzione di applicativi impegnativi: CAD, grafica ecc. •Quali strumenti di comunicazione devono essere utilizzati? 1. Chat (messaggistica immediata) 2. Video chat e Social network 3. Videoconferenza •Come devono essere utilizzati i file multimediali? 1. Archiviazione e visione di file multimediali 2. Condivisione file multimediali on line 3. Editing di foto e video HD (Hight Definition) •Quale tipo di videogame verranno utilizzati? 1. Nessuno 2. Videogame di base e social networking game 3. Videogames 3D Rispondendo a queste domande avremo un’idea di come orientarci: il valore più ricorrente tra quelli indicati (1= entry level, 2= media potenza, 3= high performance), ci indirizzerà sul tipo di processore da scegliere. Non è di nessuna utilità fornire qui indicazioni più precise sui tipi di processori in commercio, perché un processore di elevata potenza oggi è un potenziale entry level domani. La scelta per situazioni professionali deve essere, invece, un risultato di fattori diversi e analizzata nell’ambito dell’intero contesto aziendale: è buona norma individuare comunque soluzioni scalabili, identificando insieme al possibile processore (con particolare attenzione al socket), una scheda madre che permetta un upgrade del processore al crescere delle esigenze, se non addirittura la possibilità di installare un secondo processore. 5 Caratteristiche dei processori e delle memorie del PC 97 5.2 Caratteristiche delle memorie Viene definito «memoria» un componente capace di registrare, per un determinato periodo di tempo, delle informazioni. Si distinguono due grandi categorie di memoria: •La memoria primaria (detta anche memoria centrale o memoria volatile), che permette di memorizzare temporaneamente i dati durante l’esecuzione dei programmi. •La memoria secondaria (detta anche memoria permanente o memoria di massa), che permette di registrare delle informazioni a lungo termine, conservandole anche quando il computer è spento. Le principali caratteristiche di una memoria sono le seguenti: •la capacità, che rappresenta il volume globale delle informazioni (in bit) che la memoria può contenere; •il tempo di accesso, che corrisponde all’intervallo di tempo tra la richiesta di lettura/scrittura e la disponibilità del dato; •il tempo di ciclo, che rappresenta l’intervallo di tempo minimo tra due accessi successivi; •la capacità di banda, che definisce il volume di informazioni scambiato per unità di tempo, espressa in bit al secondo (bps). Per le memorie a lettura-scrittura, il tempo di lettura è normalmente vicino al tempo di scrittura, per cui si parla genericamente di tempo di accesso. Per le memorie scrivibili una sola volta, la scrittura può essere molto più lenta della lettura; in tal caso, poiché la memoria sarà letta molte volte, si considera come più significativo il tempo di lettura. Queste caratteristiche, in modo particolare la velocità di accesso, determinano la tecnologia costruttiva e influenzano in maniera rilevante i costi delle memorie. Per questo motivo nei computer sono utilizzate memorie realizzate con diverse tecnologie, interfacciate le une con le altre e organizzate in modo gerarchico, secondo la velocità e le dimensioni: Registri CPU Costo per bit e velocità Memoria Cache L2 Memoria Centrale Dischi Magnetici e dischi ottici Figura 15 Gerarchia delle memorie. 98 4 Computer Capacità Cache L1 •Registri della CPU (forniscono la massima velocità di accesso a un costo molto elevato); •Cache, divisa in: •interna alla CPU, detta anche Cache L1 (di primo livello); •esterna alla CPU, detta anche Cache L2 (di secondo livello); •Memoria centrale, detta anche memoria principale e spesso semplicemente (ma impropriamente) RAM; •Dischi magnetici e dischi ottici (sono quelli che forniscono la massima velocità di accesso al minimo costo). Unità di misura della memoria L’unità di misura della memoria è il byte (8 bit) e le dimensioni delle memorie si misurano utilizzando i suoi multipli: 1 Kilobyte (KB) = 210 (1024) byte 1 Megabyte (MB) = 1024 KB = 220 (1 048 576) byte 1 Gigabyte (GB) = 1024 MB = 230 (1 073 741 824) byte 1 Terabyte (TB) = 1024 GB = 240 (1 099 511 627 776) byte Ricordiamo che l’uso della decima potenza di 2 (1024 = 210) rende più agevole l’uso di questi valori in formato binario e che i multipli non si discostano troppo dalle usuali potenze di 10 (103, 106, 109, 1012) a cui siamo abituati. In questo paragrafo ci dedicheremo alla descrizione e classificazione della memoria primaria, che è distinta in memorie della famiglia ROM (Read Only Memory) e memoria RAM (Random Access Memory). Funzionamento della memoria primaria L’architettura delle memorie corrisponde a una matrice nella quale a ogni intersezione di riga e colonna, vi è una cella di memoria in cui è scritto/letto il bit; si accede a una cella di memoria attraverso un indirizzo del tipo [riga,colonna] Righe Colonne Figura 16 Schema memoria primaria. La memoria ROM è una tipologia di memoria non volatile in cui i dati sono memorizzati nella fase di costruzione e non possono essere modifi- 5 Caratteristiche dei processori e delle memorie del PC 99 cati successivamente. Nella ROM le celle sono realizzate attraverso diodi o transistor e sono scritte in fase di realizzazione nella memoria. Questo tipo di memoria è utilizzato, per esempio, per la memorizzazione del BIOS, il programma che permette di pilotare le principali interfacce di entratauscita del sistema. L’acronimo ROM è tuttavia utilizzato anche per identificare memorie che possono essere cancellate e riprogrammate tramite processi particolari. Tra queste vi sono le memorie scrivibili una sola volta, come le PROM (Programmable Read Only Memory) e le memorie riscrivibili più volte, come le EPROM (Erasable Programmable Read Only Memory) e le EEPROM (Electrically Erasable Programmable Read-Only Memory). Queste ultime differiscono tra loro per la diversa metodologia di cancellazione dei dati: •nelle memorie PROM la cancellazione avviene attraverso esposizione ai raggi UV •nelle memorie EEPROM la cancellazione avviene invece elettricamente, utilizzando tensioni più elevate rispetto a quelle normali di funzionamento. Osservazione La memoria flash è una tipologia di EEPROM che per le sue prestazioni non è usata come ROM, ma come memoria di massa (vedi avanti). «Flash ROM» è il nome con cui è invece chiamata una memoria flash quando è utilizzata come ROM. Titolo I condensatori sono componenti elettronici che accumulano cariche elettriche. Questi componenti sono definiti «componenti passivi». 100 La memoria RAM è una tipologia di memoria volatile e il termine «random» (casuale) evidenzia come non ci siano differenze nei tempi di accesso alle diverse celle della memoria. Sostanzialmente le memorie RAM si suddividono in RAM dinamiche (DRAM) e RAM statiche (SRAM). Una RAM dinamica è composta da celle che memorizzano i dati mediante cariche su condensatori: la presenza o assenza di carica sul condensatore viene interpretata come bit 1 o bit 0. Le RAM dinamiche richiedono, a intervalli regolari, un refresh dell’informazione, poiché i condensatori tendono per loro natura a scaricarsi. La RAM statica è un dispositivo digitale che utilizza invece gli stessi elementi di base del processore (transistor) per cui i valori binari sono memorizzati attraverso porte logiche che mantengono i dati finché sono alimentate e quindi, a differenza delle DRAM, non hanno bisogno di refresh. Sia le RAM statiche che quelle dinamiche sono volatili e conservano i dati solo in presenza di alimentazione. Le celle delle memorie dinamiche sono più semplici e di dimensioni minori delle celle di memoria statica, ma richiedono circuiti aggiuntivi per il refresh periodico (il costo di questi circuiti aggiuntivi è però compensato dal costo inferiore della singola cella). Le DRAM trovano quindi impiego per memorie di grandi capacità, mentre le SRAM, più veloci ma anche con costi maggiori, sono utilizzate per la realizzazione di memorie cache sia interne (cache L1) sia esterne (cache L2). 4 Computer Osservazione Un espediente, utilizzato in alcuni tipi di memorie DRAM, per consentire una miniaturizzazione più spinta e quindi ottenere maggiore quantità di memoria a parità di spazio occupato, è quello di ridurre le linee dedicate all’indirizzo di memoria, dividendo in due fasi l’indirizzamento della cella. Con questa tecnica viene fornito prima l’indirizzo di riga (segnale di RAS – Row Address Select) e successivamente quello di colonna (segnale di CAS – Column Address select). Ipotizzando di avere una matrice di memoria composta da 4096 righe e 256 colonne, per indirizzare tutte le celle avremmo bisogno di: – 4096 = 212 → 12 bit per indirizzare le righe. – 256 = 28 → 8 bit per indirizzare le colonne. In totale ci servirebbero quindi 12 + 8 = 20 bit di indirizzo; fornendo l’indirizzo in due fasi avremmo bisogno invece soltanto di 12 bit che useremmo prima per contenere l’indirizzo di riga e successivamente quello di colonna. esempio Tipologie di memorie DRAM Nel corso dell’evoluzione tecnologica si sono succedute diverse tipologie di memorie DRAM: le odierne memorie DDR derivano dalle SDRAM (Synchronous DRAM – DRAM sincrona), comparse nel 1997 e che erano le prime memorie dinamiche che permettevano una lettura sincronizzata dei dati con il bus della scheda madre. La tecnologia SDRAM ha consentito quindi di liberarsi dei tempi di attesa dovuti alla sincronizzazione con la scheda madre, permettendo di raggiungere tempi di accesso di circa 10 ns. �Le memorie SDRAM standard, utilizzano un metodo chiamato SDR (Single Data Rate) che consiste nel leggere o scrivere un dato a ogni fronte montante del clock del bus della scheda madre. Lo sviluppo successivo ha introdotto la tecnologia DDR (Double Data Rate) fornita di un’architettura di tipo prefetch 2n-bit grazie alla quale a ogni ciclo di clock vengono effettuate due operazioni di I/O. Le memorie DDR2, evoluzione delle precedenti, hanno un’architettura di tipo prefetch 4n-bit, e quindi a ogni ciclo di clock vengono effettuate quattro operazioni di I/O. La generazione DDR3 utilizza un di tipo prefetch 8n-bit raddoppiando ancora la quantità di dati trasferiti a ogni ciclo di clock. Con un bus a 64 bit i dati sono trasferiti 8 byte per volta (8 bit = 1 Byte). Una memoria RAM di tipo DDR ha quindi una velocità di trasferimento VT pari a: VT = BM · 2 · 8 dove BM è la velocità di clock del bus di memoria, 2 è il numero di I/O per ciclo di clock, 8 è il numero di byte trasferiti a ogni invio. Con una frequenza di clock di 200 MHz, una DDR SDRAM permette una velocità massima di trasferimento di 3200 MB/s, infatti: VT = 200 · 2 · 8 = 3200 MB/s Una DDR2, a parità di clock, avrà una VT doppia: VT = 200 · 4 · 8 = 6400 MB/s Una DDR3 infine, sempre a parità di clock, avrà una VT quadrupla: VT = 200 · 8 · 8 = 12800 MB/s 5 Caratteristiche dei processori e delle memorie del PC 101 Osservazione Nella realtà la situazione è più complessa, poiché la velocità di trasferimento è notevolmente influenzata dai fenomeni di latenza che si verificano durante le operazioni di lettura/scrittura e che dipendono strettamente dal tipo e dalla qualità del chip, nonché dalla frequenza di funzionamento. Per quantificare tali fenomeni, a ogni banco di memoria sono associati dei tempi caratteristici detti timings, misurati in unità di cicli di clock: a valori più bassi, a parità di frequenza, corrispondono prestazioni migliori. Con il susseguirsi delle generazioni questi tempi di latenza sono aumentati: le DDR1 lavoravano con tempi di latenza di 2 o 3 cicli di clock; le DDR2 arrivano a latenza 4 o 5, mentre le DDR3 hanno una latenza da 5 a 8 cicli di clock. Questo perché aumenta la quantità di cicli di clock necessari alla DRAM per «riempire» il proprio prefetch buffer. Fattori di forma delle memorie DRAM Le memorie DRAM si presentano tutte sotto forma chip saldati su piccoli circuiti stampati, chiamati moduli o banchi di memoria, inseribili nella scheda madre sugli appositi connettori per le memorie. Si distinguono due principali tipi di moduli RAM: 1.Moduli di formato DIMM (Dual Inline Memory Module) destinati ai PC Desktop, sono delle memorie a 64 bits. I moduli DIMM hanno dei chip di memoria su entrambe le parti del circuito stampato con 84 connettori da ogni parte. Le memorie della famiglia DDR sono dotate di un «encoche» (letteralmente tacca) per il corretto posizionamento nello slot. DDR DDR 2 DDR 3 cm. 0 1 Figura 17 DDR. 102 4 Computer 2 3 4 5 6 7 8 9 10 11 12 13 2.Moduli di formato SO DIMM (Small Outline DIMM), destinati ai computer portatili con 144 PIN per le memorie a 64 bits. SO-DIMM DDR titolo I connettori DIMM sono dotati di leve poste ai lati del connettore stesso per facilitare l’inserimento dei moduli di memoria. 200-Pin SO Chanel 20 pin 90 pin SO-DIMM DDR 2 200-Pin SO Chanel 20 pin 90 pin SO-DIMM DDR 3 200-Pin SO Chanel 20 pin 60 pin cm. 0 1 1,51,6 2 2,40 3 4 5 6 6,76 Figura 18 DDR. La correzione degli errori I moduli o banchi di memoria possono essere dotati di meccanismi che permettono di rimediare agli errori e garantire l’integrità dei dati che contengono. Questi tipi di memoria sono generalmente utilizzati su sistemi che lavorano con dati critici, ed è la ragione per cui le troviamo soprattutto nei server. 1. Bit di parità I moduli con bit di parità permettono di assicurare che i dati contenuti nella memoria siano effettivamente quelli voluti. Come funziona? Uno dei bit, chiamato bit di parità, di ogni byte immagazzinato in memoria è utilizzato per contenere la somma dei bit di dati. Ci sono due diversi metodi per utilizzare questo bit: il primo si chiama «bit di parità pari», il secondo «bit di parità dispari». Nel primo caso si pone il bit di parità uguale a 1 se il numero di «1» in un certo insieme di bit è dispari, facendo così diventare il numero totale di «1», incluso il bit di parità, pari. Nel 5 Caratteristiche dei processori e delle memorie del PC 103 secondo caso, invece, è il contrario: si pone il bit di parità uguale a 1 se il numero di «1» in un certo insieme di bit è pari, facendo diventare così il numero totale di 1, incluso il bit di parità, dispari. prima della trasmissione Byte con bit di parità 7 bit di dati Bit di parità pari Bit di parità dispari 1101001 01101001 11101001 1111111 11111111 01111111 Se durante la trasmissione dei dati questo «codice di controllo» non è corretto, significa che durante la trasmissione è avvenuto un errore. Il bit di parità è quindi un segnalatore di errore ma non è un codice di correzione poiché non c’è modo di determinare quale particolare bit è sbagliato. dopo la trasmissione Byte con bit di parità 7 bit di dati titolo Una «word»(parola) in informatica identifica 2 byte, cioè 16 bit; quindi dword (double word) indentifica 32 bit e quadword (quadruple word) 64 bit. titolo banda passante o larghezza di banda è l’intervallo di frequenze disponibili per la trasmissione di un segnale: per i segnali digitali, la larghezza di banda viene generalmente misurata in bps (bit per secondo). Bit di parità pari Bit di parità dispari 1101001 01101001 (corretto) 11101001 (corretto) 1111111 01111111 (sbagliato) 11111111 (sbagliato) 2. Moduli EC I moduli di memoria ECC (Error Correction Coding) hanno alcuni bit dedicati alla correzione degli errori. Questi moduli, utilizzati principalmente nei server, permettono di rilevare gli errori e di correggerli.� Il codice di correzione lineare di Hamming (dal nome del suo inventore Richard Wesley Hamming) è quello più frequentemente usato in questi moduli e permette di correggere errori su di un singolo bit ogni gruppo di 64 bit (quadword) e di rilevare anche errori doppi. Dual Channel Alcuni controllori di memoria propongono un doppio canale (in inglese Dual Channel) per la memoria. Si tratta di sfruttare i moduli di memoria a coppia per accumulare la banda passante e così sfruttare al massimo le capacità del sistema. È essenziale, per l’utilizzo del Dual Channel usare moduli identici nella coppia (frequenza, capacità e di preferenza anche produttore). Presentiamo ora un esempio di scheda tecnica delle memorie DDR: si consideri che normalmente i rivenditori propongano solo alcune informazioni e che per avere i dettagli della singola memoria si deve consultare il datasheets (scheda tecnica completa) sul sito del produttore. Esempio di scheda tecnica di una memoria DDR Capacità 4 GB Numero di moduli nella confezione 2 Tecnologia DDR3 Tensione 1.5V Velocità 1066MHz CAS Latency CL7 Caratteristiche DIMM 240-pin Placcato Gold Ampiezza modulo Unbuffered Garanzia A vita Controllo degli errori ECC Costruttore ––––––– 104 4 Computer La memoria è un elemento strettamente collegato all’hardware del PC e in particolar modo alla scheda madre: quando dobbiamo acquistare della memoria ci dobbiamo sempre avvalere del manuale della scheda madre, dove viene indicata la compatibilità con i diversi modelli di DDR. Un discorso a parte va fatto per i server: le case produttrici di tali macchine (come per esempio HP, IBM, Lenovo, ecc.), propongono di installare memorie certificate per i propri sistemi; al momento dell’acquisto della memoria, sarà allora necessario fornire il modello di server ed eventualmente, per una maggior precisione, il serial number. È possibile comunque avvalersi di memorie compatibili e a questo scopo, molti costruttori di memorie, come Kingstone, presentano sui propri siti dei percorsi guidati per determinare l’esatto modello di memoria necessario a un determinato server. 6 Tecnologie e prestazioni dei dischi del PC I dischi rigidi sono stati introdotti nel 1956 come storage secondario dei dati; dal 1980 i dischi sono stati una caratteristica aggiuntiva, rara e costosa, dei personal computer e solo dalla fine degli anni ’80 sono diventati dotazione di serie su tutti i PC; nel corso degli anni questi dispositivi sono diminuiti di dimensione fisica e di costo mentre è cresciuta esponenzialmente la loro capacità. PUn disco rigido (HDD – Hard Disk Drive, anche disco fisso) è un dispositivo di archiviazione dati non-volatile, digitale, ad accesso casuale che utilizza tecnologia magnetica per registrare i dati. Storage Storage: come sostantivo in inglese può essere tradotto con «immagazzinamento», ma viene anche usato per indicare la memoria di massa. Fisicamente l’HDD è costituito da piatti di alluminio, ceramica o vetro, ricoperti da materiale ferromagnetico, sovrapposti e montati su un perno in rotazione: su ogni piatto è presente una testina per accedere in scrittura o in lettura ai dati memorizzati sul piatto stesso; tutte queste componenti si trovano all’interno di una custodia metallica protettiva. Come funziona I piatti che compongono l’HDD girano a velocità variabile: un braccio meccanico, detto braccio attuatore o braccio di accesso, sul quale sono montate le testine posizionate sia sopra che sotto il piatto, si sposta con un movimento ad arco, passando molto vicino alla superficie magnetica (figura a lato). Le testine non toccano il disco ma galleggiano su un cuscino d’aria sfiorando la superficie; la testina tocca il disco in una zona chiamata «Landing Zone» (che non contiene dati), solo quando il computer è spento. Grazie a questo movimento le testine possono accedere a quasi tutta la superficie disponibile per leggere o scrivere le informazioni; l’informazione, in bit, è rappresentata dai cambia- 6 Tecnologie e prestazioni dei dischi del PC 105 menti sequenziali di magnetizzazione sul piatto. I dati sono generalmente memorizzati su disco seguendo uno schema di allocazione fisica ben definito in base al quale si può raggiungere la zona dove leggere o scrivere i dati. Track/ Cylinder Sector Heads 8 Heads, 4 Platters Figura 19 HDD. Formati •Formato LBA (Logical block addressing – indirizzamento logico a blocchi): i settori del disco sono numerati in sequenza a partire dal numero 0. Ogni settore è identificato dal suo numero LBA. •Formato CHS (Cylinder/Head/Sector – Cilindro/Testina/Settore): un settore è identificato dal «Cylinder/Head/Sector number». In precedenza questi valori indicavano la posizione fisica del settore sul disco, oggi sono solo valori logici. Il formato CHS è limitato a una dimensione del disco da 8 GB. Il formato CHS ha le seguenti limitazioni: Numero dei cilindri 0–1023 (10 bit) Numero di testine 0–254 (8 Bit) Numero dei settori 1–63 (6 bit) Osservazione Nella tabella delle partizioni del formato CHS ci sono solo 24 bit disponibili: con una dimensione del settore di 512 byte è possibile indicizzare tutti i settori di un disco fino a un formato massimo di circa 8 GB ➝ 1024 (Cilindri) 3 255 (testine) 3 63 (settori) 3 512 (dimensione settore) = 8.422.686.720 byte = 8.4 GB. Nella tabella delle partizioni del formato LBA, si dispone invece di 32 bit e con le dimensioni dei settori sempre di 512 byte si possono indicizzare tutti i settori di un disco fino a una dimensione massima di 2048 GB (2 TB). Per eseguire il calcolo, non dovendo tener conto di cilindri, testine e settori, si procede nel seguente modo 232 (numero di bit) 3 512 (dimensione settore) = 2.199.023.255.552 byte = 2, 2 TB. Considerando la possibilità di utilizzare 64 bit per memorizzare il numero LBA, si ha la possibilità di supportare anche dischi più grandi. 106 4 Computer Dimensioni fisiche La dimensione fisica, o fattore di forma, nel corso dell’evoluzione tecnologica ha subito molti cambiamenti; negli ultimi anni si è standardizzata sui valori sotto riassunti. Fattori di forma del disco fisso: Fattore Larghezza Altezza Grande di forma Piatti (Max) Utilizzo Principale capacità 3.5 " 102 millimetri 19 o 25,4 millimetri 4 TB 5 Personal computer, Server 2.5 " 69,9 millimetri 7, 9.5, 11, o 15 mm 1,5 TB 4 Notebook 1.8 " 54 millimetri 5 o 8 mm 320 GB 3 Netbook e Notebook ultra leggeri Caratteristiche per identificare le prestazioni di un HDD Le caratteristiche principali di un disco rigido sono: •La capacità •Il tempo di accesso •La velocità di trasferimento La capacità La capacità è un fattore definito dal numero di piatti, presenti nel disco e dalla densità di memorizzazione magnetica dei piatti: nelle moderne unità è espressa in giga e terabyte. La capacità di un HDD, può apparire però all’utente finale diversa da quella dichiarata dal produttore del disco. I produttori, infatti, utilizzano le unità di misura come potenze di 10, convenzione diversa da quella utilizzata dai produttori di memoria primaria (RAM, ROM ), in cui le unità di misura sono invece espresse come potenze di 2. Nella tabella sottostante sono riportati alcuni esempi pratici: Capacità pubblicizzata Capacità prevista dal produttore da parte del consumatore (Utilizzando multipli decimali) (Utilizzando multipli binari) Con prefisso Byte Byte Differenza 100 MB 100.000.000 104.857.600 + 4,86% 100 GB 100.000.000.000 107.374.182.400 + 7,37% 1 TB 1.000.000.000.000 1.099.511.627.776 + 9,95% Tempo di accesso I fattori che limitano il tempo di accesso ai dati su un disco rigido sono per lo più legati alla natura meccanica delle testine e dalla rotazione dei dischi. Il tempo di accesso al disco è influenzato da cinque fattori: •Controller Overhead: indica il tempo necessario all’invio dell’opportuno interrupt per la gestione dei dati (normalmente è molto esiguo); 6 Tecnologie e prestazioni dei dischi del PC 107 •Seek time (tempo di ricerca): è il tempo necessario a spostare la testina sulla traccia dove è presente il dato cercato (è il fattore più critico poiché si tratta di un movimento meccanico); •Assessment time (tempo di assestamento): è il tempo necessario per il perfetto posizionamento della testina sulla traccia dopo lo spostamento (spesso e indicato come unico valore nel ‘Seek time’); •Latency time (tempo di latenza): è determinato dalla possibilità che il settore desiderato possa non essere direttamente sotto la testina quando è richiesto il trasferimento dei dati; è quindi un valore che dipende strettamente dalla velocità di rotazione del disco, come evidenziato dalla seguente tabella: Velocità di rotazione Latenza Media (in Rpm – Revolutions per minute) (in ms) 15000 2 10000 3 7200 4,16 5400 5,55 4800 6,25 •Transfer time (tempo di trasferimento): è il ritardo che si crea per il trasferimento dei blocchi di dati ed è in funzione del numero di blocchi da trasferire (in genere è relativamente breve, ma può essere piuttosto lungo per il trasferimento di grandi file contigui); dipende naturalmente anche dalla velocità di rotazione del disco. Il Transfer time è così calcolato: TR = Nb / r 3 NbT Titolo Interrupt o interruzione è un segnale che indica il «bisogno di attenzione» da parte di una periferica. dove TR è il tempo di trasferimento, Nb è il numero di byte da trasferire, r è la velocità del disco in giri al secondo e NbT è il numero di byte su una traccia. Il tempo di accesso medio si calcola quindi con la seguente formula: Tempo di accesso: ControllerOverhead + SeekTime + LatencyTime + TransferTime Velocità di trasferimento La velocità di trasferimento indica la quantità di dati comunicata dal disco rigido in un intervallo di tempo (solitamente un secondo). La velocità di trasferimento è resa più efficiente se si aumentano la velocità di rotazione e la densità di memorizzazione. La velocità diminuisce con il trasferimento di grandi file specialmente se frammentati in spazi non contigui. Osservazione La deframmentazione è una procedura usata per minimizzare il ritardo nel recupero dei dati, spostando gli elementi comuni nelle aree fisicamente contigue sul disco. 108 4 Computer eseRCIZIO Sia dato un HDD con tempo di ricerca di 10ms, velocità di rotazione di 7200 rpm e velocità di trasferimento di 40 MBps. Calcolare il tempo necessario per trasferire un blocco di 512 byte. Tempo di accesso = Seek time + Latency time = 10 3 10– 3s + 4,16 3 10– 3s 512 3 10– 6 s Tempo di trasferimento = 40 Trascurando il Controller Overhead e l’Assessment time, che abbiamo visto sono normalmente molto esigui, e facendo attenzione a esprimere tutto in secondi otteniamo: Bisogna sommare i due tempi trovati e dopo un po’ ci calcoli si ottiene un risultato approssimato per eccesso di circa 15 ms. Per trasferire quindi un settore da 512 byte questo hard disk impiega circa 15 ms. Oltre alle caratteristiche in precedenza illustrate ci sono altre specifiche che influenzano in misura minore le prestazioni di un disco rigido: •Il buffer di memoria •La velocità dell’interfaccia •Native Command Queuing •Consumo energetico •Rumore •Resistenza agli urti Il buffer di memoria Il buffer è una piccola memoria cache, in genere di alcuni megabyte, presente nel disco a bordo della circuiteria, con la funzione di memorizzare i dati in lettura o in scrittura. Nel caso in cui un programma legga ripetutamente le stesse informazioni, queste possono essere trovate nel buffer invece che sul disco. La velocità di trasferimento del buffer, essendo realizzato attraverso componenti elettronici e non meccanici, è decisamente maggiore di quella del disco. Il buffer di memoria può raggiungere i 64 MB e funziona quindi da adattatore della velocità di trasferimento. La velocità dell’interfaccia L’interfaccia di collegamento tra il disco rigido e la scheda madre può influenzare le prestazioni poiché specifica la velocità massima alla quale le informazioni possono essere trasferite da o per il disco. Le interfacce Serial ATA (SATA) o Serial Attached SCSI (SAS), di cui parleremo più avanti, possono trasferire centinaia di megabyte per secondo, molto più di quanto qualunque singolo disco fisso possa fare, quindi l’interfaccia non è in genere un fattore limitante. Se invece si usano più dischi in configurazione RAID, è importante utilizzare un’interfaccia il più veloce possibile. tabella della velocità dell’interfaccia. Prestazioni teoriche Tipo Megabit/s Megabyte/s SATA 1.0 1,5 Gbit/s 192 MB/s Titolo SATA 2.0 3 Gbit/s 384 MB/s SATA 3.0 6 Gbit/s 768 MB/s SAS 6 Gbit/s 768 MB/s SAS con aggregazione di canali in full-duplex 24 Gbit/s 3072 MB/s L’interfaccia rappresenta quel componente, fisico o logico, che permette a due o più dispositivi di poter comunicare e interagire tra loro. 6 Tecnologie e prestazioni dei dischi del PC 109 RAID (Redundant Array of Inexpensive Disks) è un sistema che usa un gruppo di dischi rigidi per condividere o replicare le informazioni. L’utilizzo di tale sistema permette una maggiore integrità dei dati poiché questi sono duplicati su più dischi (secondo i livelli) e in caso di guasto di un disco non c’è perdita di dati. Nel suo livello più semplice, il sistema RAID permette di combinare un insieme di dischi in una sola unità logica. In questo modo il sistema operativo gestisce i differenti dischi come un unico volume. Il RAID è tipicamente usato nei server, e di solito è implementato con dischi d’identica capacità. I livelli RAID più comunemente implementate sono 0, 2 e 5. –Il livello 0 divide i dati equamente tra due o più dischi (operazione detta di striping) senza però nessuna informazione di parità o ridondanza. Non essendoci ridondanza, per molti questo tipo di progettazione non è definibile un vero e proprio RAID, poiché non c’è alcuna ridondanza. RAID-0 è molto utile, per esempio, quando montare molti dischi è dispendioso (o impossibile), oppure quando il numero di dischi sia limitato dal sistema operativo. –Il livello 1 fornisce il mirroring del disco, un’ operazione con la quale tutti i dati vengono copiati su due o più dischi: se uno dei dischi non funziona il sistema può immediatamente passare a un altro disco senza alcuna perdita di dati. RAID-1 migliora le prestazioni in lettura, ma il miglioramento delle prestazioni e la tolleranza ai guasti sono a carico della capacità disponibile nelle unità utilizzate; è utile in tutti quei casi nei quali la ridondanza è più importante dello sfruttare appieno la capacità dei dischi. –Il livello 2 è un è sostanzialmente un RAID-0 maggiormente affidabile, nel quale i dati sono divisi a livello di bit (invece che di blocco); per correggere gli errori su singoli bit usa il codice di Hamming che permette anche di rilevare errori doppi. È utilizzato in ambienti in cui si verificano numerosi errori di lettura o scrittura. –Il livello 5 è il più frequentemente utilizzato. Esso fornisce lo striping dei dati a livello di blocco, con i dati di parità distribuiti tra tutti i dischi appartenenti al RAID. Questo si traduce in prestazioni eccellenti, unite alla possibilità di recuperare i dati persi. Il RAID5 riduce le capacita globali di storage per esempio se l’unità è dotata di 4 Hard Disk in tecnologia SATA da 2 TB ognuno e il sistema prevede la configurazione in RAID 5, la capacità totale sarà di soli 6 TB, in quanto gli 2 TB saranno utilizzati per la ridondanza. Native Command Queuing Negli HDD SATA è stata introdotta una tecnologia ereditata dai dischi SCSI, la Native Command Queuing (NCQ), progettata per incrementare le prestazioni, consentendo di eseguire contemporaneamente più comandi sulla stessa unità. Un’unità SATA che supporta NCQ, è dotata di una coda interna nella quale i comandi possono essere riordinati (cambiandone la sequenza), per ridurre al minimo il numero di rotazioni e il tragitto delle testine, eseguendo tutti gli accessi nel più breve tempo possibile. Per esem110 4 Computer pio, se occorre accedere a una serie di dati non sequenziali distribuiti in varie zone del disco, le testine dovrebbero saltare da un cilindro all’altro, avanti e indietro: con l’NCQ, il disco rigido crea una coda delle richieste di accesso e le riordina ottimizzandone la sequenza. I criteri per ottimizzare l’esecuzione dei comandi in coda tengono conto di due fattori: la rotazione dei piatti e il posizionamento sulla traccia (seek), parametri necessari per determinare il tragitto più breve per visitare tutti i blocchi di dati che la coda di comandi prevede di dover leggere e/o scrivere. Questo metodo si può paragonare al problema di un corriere che deve portare a termine delle consegne in una grande città: per ottimizzare il lavoro, prima analizza tutti gli indirizzi dei destinatari e poi stabilisce il percorso che richiede il minor tempo per effettuare le consegne. Immaginate cosa succederebbe se invece effettuasse le consegna in sequenza: probabilmente sarebbe costretto a saltare continuamente da un capo all’altro della città! Osservazione Nel caso si abbia un HDD con supporto per NCQ bisogna fare attenzione che tale funzionalità sia gestita anche dalla scheda madre, che dovrà avere, all’interno del BIOS, la funzionalità Advanced Host Controller Interface (AHCI), che permette la gestione di tali dischi. Consumo energetico Il consumo di energia è diventato sempre più importante, non solo in dispositivi mobili come computer portatili, ma anche in server e desktop. L’aumento delle periferiche e dei dispositivi installati sui personal computer ha portato a problemi di fornitura di energia sufficiente per tutti i componenti presenti, specialmente in fase di avvio; inoltre, con l’aumentare della richiesta energetica, aumenta anche la produzione di calore dei componenti. La dissipazione del calore è legata direttamente al consumo di energia e la possibilità di rottura o di malfunzionamenti del disco, aumenta con l’aumentare delle temperature. Rumore Misurato in dBA, il rumore udibile è significativo per determinate applicazioni, come per esempio la registrazione audio digitale. Dischi a basso rumore in genere utilizzano cuscinetti a fluido e una più lenta velocità di rotazione (di solito 5400 rpm). HDD in fattori di forma più piccoli (per esempio 2,5 pollici) sono spesso più silenziosi rispetto alle grandi unità. Resistenza agli urti La resistenza agli urti è particolarmente importante per i dispositivi mobili. La resistenza massima agli urti è di 350 g durante il funzionamento e di 1000 g in fase non operativa. Dalla meccanica allo stato solido Lo sviluppo tecnologico dei dispositivi di memoria ha introdotto nel mercato diversi sistemi esterni per la memorizzazione dei dati (penne usb, memory card ecc.), con sempre maggior capacità di memorizzazione. Negli ultimi anni si è assistito all’introduzione di dischi (o drive) allo 6 Tecnologie e prestazioni dei dischi del PC 111 stato solido, denominati SSD (Solid-State Drive), che utilizzano appunto una memoria a stato solido (in particolare la memoria flash) per l’archiviazione dei dati. Il termine «disco a stato solido» è improprio perché all’interno del dispositivo SSD non c’è nessun disco: l’utilizzo del termine «disco», deriva dal fatto che questa tipologia di dispositivi di memoria di massa, svolge la medesima funzione del disco rigido ed è quindi utilizzato in sua sostituzione. Vantaggi La totale assenza di parti meccaniche in movimento porta diversi vantaggi, di cui i principali sono: •rumorosità assente; •minore possibilità di rottura; •minori consumi durante le operazioni di lettura e scrittura; •tempo di accesso ridotto: si lavora nell’ordine dei decimi di millisecondo, mentre il tempo di accesso dei dischi magnetici è 50 volte maggiore; •maggiore resistenza agli urti: le specifiche di alcuni produttori arrivano a dichiarare resistenza a shock di 1500 gr.; •maggiore durata: i dischi a stato solido hanno mediamente un tasso di rottura inferiore a quelli degli hard disk; questo tasso oscilla tra lo 0.5% e il 3%, mentre negli hard disk può raggiungere il 10%. •minore produzione di calore. Svantaggi A fronte di una maggiore resistenza agli urti e a un minor consumo, le unità a stato solido hanno due principali svantaggi: •maggiore prezzo per bit, pari a circa dieci volte il costo di un disco rigido tradizionale; •possibile minor durata dell’unità, a causa del limite di riscritture delle memorie flash. Entrambi i problemi sembrano però destinati a risolversi in breve tempo. Le nuove tecnologie stanno sviluppando memorie flash in grado di garantire durate pari o superiore a quella di un disco rigido tradizionale, e i produttori dichiarano 140 anni di vita con 50 GB di riscritture al giorno, su un’unità da 250 GB. Il costo di questa tecnologia sta inoltre lentamente scendendo, facendo facilmente supporre una futura sostituzione dei dischi tradizionali con unità a stato solido. SSD – Prestazioni in lettura e scrittura Una caratteristica tipica delle prestazioni di un dispositivo SSD è la minore velocità in scrittura rispetto a quella in lettura. Questo è dovuto al File system dei Sistemi Operativi (vedi capitolo successivo) che solitamente usa blocchi di celle della dimensione di 4KB, mentre nei dispositivi SSD la dimensione dei blocchi è molto più grande (fino a 4MB). Vediamo di capire meglio cosa succede quando dobbiamo salvare un file: alla richiesta di scrittura il controller dell’unità SSD per scrivere 112 4 Computer 4KB legge l’intero blocco (es. 512 KB), inserisce la nuova informazione e riscrive totalmente l’intero blocco, così per scrivere solo 4KB finisce per scriverne molti di più (512KB se questa è la dimensione del blocco). Questa perdita di prestazione si evidenzi maggiormente con il riempimento dell’unità. Un modo per migliorare le prestazioni è di conoscere quali sono i blocchi liberi: per ottenere questo i Sistemi Operativi di ultima generazione mettono a disposizione il comando TRIM che comunica al controller dell’SSD quali blocchi sono inutilizzati, migliorandone notevolmente le prestazioni. Questa funzione non è ancora supportata nei sistemi RAID. Confronto tra SSD e HDD Elementi smontati di un disco rigido e componenti di un disco a stato solido. Fare un confronto tra SSD e HDD classico è complesso. Normalmente i tradizionali benchmark (test delle prestazioni) degli HDD si concentrano sull’analisi degli aspetti in cui le prestazioni dei dischi classici sono deboli, come per esempio il tempo di latenza rotazionale e il tempo di ricerca, mentre quelle degli SSD, dove non ci sono parti meccaniche, presentano enorme superiorità. Abbiamo quindi effettuato una comparazione descrittiva prendendo in esame tutte le caratteristiche principali: Caratteristica Dischi a stato solido (SDD) Dischi rigidi (HDD) Spin up (tempo di avvio) Quasi istantanea, niente meccanica «spin up». Potrebbero essere necessari pochi millisecondi per uscire da un sistema automatico di modalità di risparmio energetico. Può richiedere diversi secondi. Con un gran numero di unità, potrebbe essere necessario scaglionare lo spin-up per limitare la potenza totale assorbita. Accesso Casuale Circa 0,1 ms – molte volte più veloci rispetto agli HDD in quanto ai dati si accede direttamente dalla memoria flash. Range 5–10 ms a causa della necessità di spostare le testine e attendere la rotazione del disco per il corretto posizionamento della testine sui dati in lettura / scrittura Latenza Generalmente bassi perché i dati possono essere letti direttamente, indipendentemente dalla posizione. Generalmente elevata poiché i componenti meccanici richiedono più tempo per il corretto allineamento. Prestazioni di lettura Le prestazioni non cambiano in base alla posizione in cui i dati sono memorizzati su un SSD. Se i dati sono scritti in modo frammentario, la rilettura dei dati avrà tempi diversi di risposta 6 Tecnologie e prestazioni dei dischi del PC 113 Deframmentazione Non hanno nessun beneficio dalla deframmentazione, perché c’è poco vantaggio nella lettura dei dati in modo sequenziale. Può esser richiesta la deframmentazione per migliorare la velocita di trasferimento. Rumore Non hanno parti in movimento e non fanno rumore. Hanno parti in movimento (testine, motore, ecc.) e possono produrre rumori. Affidabilità meccanica La mancanza di parti in movimento elimina la possibilità di guasti meccanici. Hanno molte parti in movimento che sono tutte soggette a guasto nel corso del tempo. Sensibilità ai fattori ambientali Sballottamento, altitudine o vibrazioni non generano errori vista la mancanza di parti in movimento. Le testine mobili e i piatti rotanti sono generalmente sensibili agli urti, all’altitudine e alle vibrazioni. Suscettibilità Magnetica Nessun impatto sulla memoria flash. Calamite o impulsi magnetici possono alterare i dati sul supporto. Peso e dimensioni Sia il peso della memoria flash che le sue dimensioni sono inferiori rispetto a quelle degli HDD. L’HDD da 3,5» sono realizzati con componenti più pesanti rispetto agli HDD portatili: quest’ultimi sono molto simili come peso all’SSD Funzionamento in parallelo Alcuni controller flash possono scrivere dati contemporaneamente. Hanno due testine per piatto ma sono collegati e condividono un solo motore di posizionamento, quindi risulta impossibile il funzionamento in parallelo. Durata Sono basati su memorie flash che nel loro ciclo di vita hanno un numero limitato di scritture (1-5 milioni) . Alcuni controller attraverso procedure software gestiscono in modo ottimale questa limitazione, in modo tale che le unità possono durare molti decenni prima della rottura. Gli SSD basati su memorie DRAM non hanno un numero limitato di scritture. I supporti magnetici che costituiscono gli HDD non hanno un numero limitato di scritture, ma sono suscettibili a eventuali guasti meccanici. Costo per la capacità Circa 1,20-2,00 (US) $ per GB. HDD 3,5" circa 0.05(US) $ per GB. HDD 2,5" circa 0.10 (US) $ per GB. Capacità di memoria Sono disponibili in diverse dimensioni fino a 2 TB, ma non sono in genere più grandi di 40-120 GB, a causa del loro elevato costo per GB. Tipicamente le unità installate sono da 500 GB ma sono inoltre disponibili da 1 TB, 2 o 3 TB. Lettura / scrittura: simmetria delle prestazioni Meno costosi in genere hanno velocità di scrittura significativamente più basse rispetto alle velocità di lettura. SSD di qualità superiore eseguono lettura e scrittura a una velocità quasi equivalente. In genere hanno una velocità di scrittura leggermente inferiore rispetto a quella di lettura. Disponibilità dei blocchi liberi (TRIM) La prestazione in scrittura è significativamente influenzata dalla disponibilità di blocchi liberi utilizzabili. Attraverso l’utilizzo della funzione TRIM, si migliora l’efficienza in scrittura. Non sono interessati dalla conoscenza di eventuali blocchi liberi indicati dal comando TRIM. Consumo di energia SSD ad alte prestazioni basati su memorie flash in genere richiedono da 1/2 a 1/3 di quanto richiesto da un HDD; SSD realizzati con DRAM ad alta prestazione in genere richiedono la stessa potenza energetica dei dischi rigidi e consumano energia anche quando il resto del sistema è spento. HDD ad alte prestazioni richiedono generalmente tra 12-18 watt; le unità progettate per i computer portatili in genere 2 watt. Ma quali sono i criteri per scegliere un HDD? Iniziamo con il visionare la scheda tecnica di un hard disk 114 4 Computer Specifiche delle prestazioni Velocità di rotazione 7.200 RPM (nominale) Dimensione del buffer 32 MB Latenza media 4,20 ms (nominale) Cicli di carico/scarico 50.000 minimo Velocità di trasferimento Da buffer a host (Serial ATA) 3 Gb/s (Max) Specifiche fisiche Capacità formattata 1.000.236 MB Capacità 1 TB Interfaccia SATA 3 Gb/s Settori utente per l’unità 1.953.525.168 Dimensioni fisiche Altezza 26,1 mm Profondità 147 mm Larghezza 101,6 mm Peso 0,69 kg Specifiche ambientali Urto Urto durante il funzionamento (lettura) 30G; 2 ms Urto non durante il funzionamento 250G, 2 ms Rumorosità Modalità inattiva 24 dBA (media) Modalità di accesso 0 33 dBA (media) Modalità di accesso 3 29 dBA (media) Temperatura Funzionamento Da – 0 °C a 60 °C Non di funzionamento Da – 40 °C a 70 °C Umidità Funzionamento 5-95% RH senza condensa Non di funzionamento 5-95% RH senza condensa Altitudine Funzionamento Da – 305 m a 3.050 m Non di funzionamento Da – 305 m a 12.200 m Vibrazione Funzionamento 0,004 g2/Hz (da 10 a 300 Hz) Non di funzionamento 0,05 g2/Hz (da 10 a 300 Hz) Funzionamento Lineare 20-300 Hz, 0,75 G (0 al picco) Casuale 0,004 g2/Hz (da 10 a 300 Hz) Non di funzionamento Bassa frequenza 0,05 g2/Hz (da 10 a 300 Hz) 6 Tecnologie e prestazioni dei dischi del PC 115 Alta frequenza 20-500 Hz, 4,0 G (0 al picco) Specifiche elettriche Corrente 12 VCC Lettura scrittura 490 mA Inattivo 470 mA Standby 5 mA Sospensione 5 mA 5 VCC Lettura scrittura 500 mA Inattivo 420 mA Standby 160 mA Sospensione 160 mA Dissipazione di energia Lettura scrittura 8,40 Watt Inattivo 7,80 Watt Standby 1,00 Watt Sospensione 1,00 Watt Come vedete sono riportate molte delle specifiche di cui abbiamo parlato: ma come orientarsi nella scelta? La risposta è sempre la stessa: individuare l’utilizzo al quale dovrà essere destinato il dispositivo. Se dobbiamo scegliere un disco per un computer destinato a un ufficio, dove saranno utilizzati prevalentemente applicativi di office automation, ci si può orientare su hard disk con tecnologia SATA II, di capacità non eccessiva ma con una discreta velocità di rotazione (rpm). La scelta cambia per ambienti dove invece si utilizzano applicazioni che usano in modo intensivo l’accesso all’hard disk come nel caso di montaggio video, rendering e CAD; in questi casi si possono compiere le seguenti scelte, non disgiunte anche dall’aspetto economico: •hard disk SATA III con velocità di trasferimento fino a 6 GB/s e con elevata velocità di rotazione. •hard disk SAS molto performanti poiché possono raggiungere 24 Gb/s, ma con costi maggiori. •Ipotizzare di utilizzare un hard disk primario, dove installare il sistema operativo e gli applicativi, di tipo SSD (questi dischi hanno costi più elevati e capacita limitata al massimo a 500 Gb), aggiungendo un Hard disk secondario per i dati. Anche i computer dedicati ai videogames specialmente se con grafica 3D possono avere esigenze tipiche di una workstation grafica, ma in generale è sufficiente orientarsi su un buon disco SATA III. Se invece pensiamo di aver bisogno di un hard disk molto capiente perché vogliamo, per esempio, memorizzare molti files multimediali, sarà sufficiente orientarsi su un HDD interno con caratteristiche medie (es. SATA II, 5900 rpm), ma installare 116 4 Computer anche un HDD esterno, che funzionerà da archivio e permetterà di trasportare i dati per visionarli anche su altri computer. Un discorso a parte fa sempre fatto per gli hard disk dedicati ai server: in questo caso le scelte sono guidate dal costruttore che fornisce per ogni modello specifiche tipologie di dischi e spesso offre, attraverso il web, applicazioni dedicate alla configurazione del server, dove per ogni scelta effettuata vengono filtrati i componenti installabili. Rendering Rendering: generazione di un’immagine a partire da un modello matematico. 7 Bus e connessioni d’input/output del PC Che cosa sono i bus? •Un’autostrada di comunicazione che collega due o più dispositivi. •Sono segnali elettrici raggruppati, per esempio un bus a 32 bit è composto fisicamente da 32 canali da 1 bit; il numero di bit che compongono il bus si definisce parallelismo o larghezza. Vantaggi •Un’unica serie di segnali utilizzati per collegare molti dispositivi •Tale architettura della comunicazione facilita l’aggiunta di nuovi dispositivi •I dispositivi possono essere utilizzati tra sistemi diversi che impiegano lo stesso bus Svantaggi •Si crea un collo di bottiglia nella comunicazione tra dispositivi •La velocità del bus è determinata dalla lunghezza del circuito elettrico, dal numero dei dispositivi connessi e dalle prestazioni dei singoli dispositivi che lo utilizzano. Un generico bus di un computer è diviso in tre parti funzionali: •Dati (data bus), sul quale transitano le informazioni; bidirezionale è fruibile da tutti i componenti del sistema, sia in scrittura sia in lettura; la sua larghezza è un fattore chiave per le prestazioni. •Indirizzi (address bus), sul quale transitano gli indirizzi delle periferiche e delle celle di memoria dove andare a scrivere o a leggere le informazioni; monodirezionale è fruibile in scrittura solo dalla CPU e in lettura dagli altri componenti; la sua larghezza determina la capacità di memoria •Controlli (control bus), il cui scopo è coordinare le attività del sistema; tramite esso, per esempio, la CPU può decidere quale componente deve accedere al bus dati in un determinato momento, quale indirizzo leggere sul bus indirizzi ecc. (la memoria e tutti gli altri componenti comunicano con la CPU attraverso un bus condiviso: senza un controllo si verrebbero a creare conflitti e/o collisioni di dati). 7 Bus e connessioni d’input/output del PC 117 Nella realizzazione delle architetture a bus sono utilizzate diverse tipologie di bus: •Bus processore-memoria (bus interno), caratterizzato da interconnessioni elettriche corte, ad alta velocità di trasferimento, ottimizzato per i trasferimenti di blocchi di dati nella memoria cache (Northbridge / Southbridge) •Bus Backplane (bus esterno – standard), unico standard per differenti dispositivi; bus che permette la coesistenza di memorie, processori e sistemi di input/output (es. PCI, SCSI) •Bus Input-Output (bus esterno – standard industriale) si collega al bus memoria-processore o al backplane; solitamente questo bus è più lento a causa di connessioni elettriche più estese e alla capacità di indirizzare numerosi dispositivi spesso molto diversi tra loro (USB, Firewire, ecc.) Attraverso le tipologie dei bus utilizzate, sono definite le architetture di elaborazione che possono essere: Singolo bus: in questo caso un solo bus è utilizzato per tutte le comunicazioni; questa soluzione risulta economica ma sicuramente svantaggiosa per le comunicazioni processore-memoria. I primi computer erano dotati di un unico bus esterno (bus di sistema), che collegava CPU, memoria e unità di I/O Backplane BUS CPU Memoria Dispositivi I/O Figura 20 BACKPLANE BUS. Doppio Bus: con un bus ad alta velocità di tipo processore-memoria e un bus I/O dedicato ai dispositivi di input e output. I computer di recente generazione sono dotati di due bus: •bus processore-memoria, che collega CPU e unità funzionali di memoria (banchi di memoria); •bus I/O che collega CPU e unità funzionali di Input/Output. BUS CPU – Memoria CPU Memoria Adattatore Bus I/O BUS Figura 21 BUS CPU-MEMORIA DOPPIO. 118 4 Computer Adattatore Bus I/O BUS Adattatore Bus I/O BUS Triplo bus: dove pochi adattatori interagiscono con il bus processore-memoria e il bus I/O è connesso al backplane. BUS CPU – Memoria CPU Memoria Backside Cache BUS Adattatore Bus Cache L2 Adattatore Bus Backplane BUS Adattatore Bus I/O BUS I/O BUS Figura 22 BUS CPU-MEMORIA TRIPLO. Un esempio di architettura a triplo bus è quella del chipset dei processori Pentium. Tipi di bus locali Da quando esistono i personal computer, il �bus ha subito una continua evoluzione. Di seguito sono riportate le caratteristiche dei �bus locali più diffusi. PCI Il bus PCI è stato introdotto nel 1993; PCI sta per Peripheral component interconnect e rappresenta un �bus, inizialmente a 32 bit, in grado di gestire la configurazione automatica delle risorse. PCI Express PCI Express successore del PCI, introduce una comunicazione seriale e un insieme di alloggiamenti differenti, in base al numero di «corsie» (lane) previste. In pratica, l’alloggiamento di un �bus PCI Express può essere relativamente corto per il livello «x1», definito anche «low profil», aumentando la dimensione per i livelli successivi, fino al massimo di «x16». Inizialmente il �bus PCI Express è stato introdotto nelle schede madri per consentire l’uso di schede video grafiche con prestazioni evolute, pertanto, proprio per questa ragione, si trova solitamente un solo alloggiamento x16. Connessioni I/O per dispositivi interni Per gli HDD interni e i DVD viene utilizzata l’interfaccia SATA (Serial Advanced Technology Attachment), mentre nei server insieme alle connessioni SATA sono presenti anche connessioni SAS (Serial attached SCSI). Entrambe le interfacce si basano su comunicazione seriale, poiché la mo- 7 Bus e connessioni d’input/output del PC 119 dalità di trasmissione in parallelo non è idonea a supportare elevate frequenze, a causa dei problemi legati alle interferenze elettromagnetiche tra i diversi fili. SATA Il Serial ATA è l’evoluzione dell’ATA, nato come IDE e rinominato Parallel ATA (PATA) in seguito all’avvento del Serial ATA, in modo da evitare ambiguità. Il Serial ATA presenta tre principali vantaggi: maggiore velocità, cavi meno ingombranti e possibilità di hot-swap (estrazione del disco durante il funzionamento); dalla sua apparizione l’interfaccia SATA ha avuto notevoli sviluppi passando per le versioni 1.0, 2.0 e 3.0. La specifica 3.0 contiene le seguenti evoluzioni dalle precedenti versioni: •6 Gbit / s per prestazioni scalabili. •Native Command Queuing (NCQ), che migliora la qualità del servizio per il trasferimento di dati, specialmente per applicazioni di streaming di contenuti digitali. •Miglioramento delle capacità di gestione dell’alimentazione. Inoltre, lo standard continua a sostenere distanze fino a un metro. Tabella riassuntiva prestazioni interfacce SATA: Tipo Prestazioni teoriche Prestazioni effettive SATA 1.0 1,5 Gbit/s (192 MB/s) 1,2 Gbit/s (150 MB/s) SATA 2.0 3 Gbit/s (384 MB/s) 2,4 Gbit/s (300 MB/s) SATA 3.0 6 Gbit/s (768 MB/s) 4,8 Gbit/s (600 MB/s) Osservazione Gli hard disk esterni possono essere collegati al computer, oltre che con la classica porta USB, anche tramite l’interfaccia eSATA (ExternalSATA), molto più performante. 120 4 Computer SAS Rappresenta il passaggio evolutivo successivo della tecnologia SCSI parallela, che è stata utilizzata per lo sviluppo di sistemi di memorizzazione classe Server per oltre un ventennio. SAS vanta la stessa affidabilità totale della tecnologia parallela precedente, ma è significativamente migliore in termini di prestazioni, scalabilità e compatibilità. Specifiche tecniche del Serial Attached SCSI Prestazioni Trasferimento Full-duplex con l’aggregazione di 8 link su wide ports 24 Gbit/s. 3.0 Gbit/s per link nella versione introduttiva. Pianificato 6.0 Gbit/s. Cavo esterno max 8 metri Connettività 128 dispositivi per porta (16.384 in totale) Compatibilità SAS-SATA Attualmente già disponibili Hard disk a doppia porta Multi-initiator point-to-point I dischi fissi SATA possono essere collegati al controller SAS, ma i dischi SAS non possono essere collegati a un controller SATA. Nel primo caso però i dischi SAS e SATA non possono coesistere sulla stessa porta. I dispositivi SAS sono in grado collegarsi direttamente ad altri dispositivi SAS e SATA utilizzando uno di questi tre metodi: •Connettori backplane che utilizzano dei componenti denominati «expander Serial Attached SCSI» (sono componenti che agevolano la comunicazione e il cablaggio quando sono presenti un gran numero di dispositivi SAS) •Connettori interni disponibili direttamente sulla scheda madre •Schede di espansione che permettono di connettere dispositivi esterni HDD HBA Backplane Figura 23 Tipologia di Connessioni SAS. Osservazione Ma qual è la vera differenza tra Serial Attached SCSI e Serial ATA? Serial Attached SCSI è una soluzione classe «critical server», che offre le prestazioni, l’affidabilità e la scalabilità richieste dalle applicazioni critiche. Serial ATA è principalmente una soluzione di classe desktop adatta per ambienti caratterizzati da carichi di lavoro leggeri e budget limitati. 7 Bus e connessioni d’input/output del PC 121 Titolo L’host bus adapter (HBA), è una scheda d’espansione che consente di connettere un computer e/o dispositivi di memorizzazione dei dati all’interno di una rete. Generalmente, ci si riferisce ad adattatori per porte SCSI ed eSATA. La seguente tabella sintetizza le differenze fra SAS e SATA Differenze fra SAS e SATA SAS Identificazione dispositivo Con WWN In base alla porta Riordinamento comandi TCQ NCQ (solo su SATA II) Può gestire Dischi fissi Dischi ottici Stampanti Nastri Magnetici Scanner ecc. Dischi fissi Dischi ottici Multipath I/O Si nativo Solo su SATA II con hardware proprietario Tensione TX 800-1600 mV 400-600 mV Tensione RX 275-1600 mV 325-600 mV Lunghezza cavi 8m 1m Titolo World Wide Name (WWN): identificatore univoco di un particolare SAS; ogni WWN è un numero di 8 byte. Titolo Tagged Command Queuing (TCQ): tecnologia che permette al sistema operativo di inviare molteplici richieste di lettura e scrittura al disco rigido. SATA Slot di espansioni Gli slot di espansione sono tutti di tipo PCI e PCI Express e permettono di connettere schede con funzionalità dedicate; sono collocati direttamente sulla scheda madre e sono in numero e formato diverso. 4x 1x 16x PCI Figura 24 CONNETTORI PCI EXPRESS. Particolare rilevanza hanno gli slot PCI Express 16x con prestazione elevate e dedicate alla connessione di schede video. Connessioni I/O per dispositivi esterni AUDIO ANALOGICO PS2 AUDIO DIGITALE SPDIF Figura 25 Connessioni I/O. 122 4 Computer FIREWIRE USB e- SATA LAN PORTA PARALLELA PORTE SERIALI Le porte d’interfacciamento con i dispositivi esterni sono presenti direttamente sulla scheda madre o possono essere aggiunte attraverso schede dedicate inserite negli appositi slot. Alcune delle porte sopra raffigurate sono quasi scomparse dalla dotazione standard di una scheda madre, grazie allo sviluppo della porta USB che ha rivoluzionato completamente l’interfacciamento delle periferiche esterne. Tra queste porte ormai in disuso ci sono: •Le porte seriali note come RS232 che rappresentano le prime interfacce che hanno permesso ai computer di scambiare delle informazioni con il «mondo esterno». •Le porte parallele che permettevano di connettere un elemento esterno (per esempio una stampante). •Anche le porte PS2 dedicate rispettivamente al mouse e alla tastiera stanno pian piano scomparendo (negli ultimi modelli di schede madri se ne trovava solamente una). USB (Universal Serial Bus) All’inizio degli anni ’90, il numero sempre crescente di periferiche ha fatto nascere l’esigenza di un bus più facilmente espandibile rispetto a quelli esistenti; fino allora, per collegare un nuovo dispositivo al proprio PC c’era bisogno di un particolare cavo (periferiche come stampante, modem, mouse avevano cavi e connettori completamente diversi) e di installare il software che riconoscesse e configurasse il nuovo dispositivo. Per soddisfare la necessità crescente di connessioni molteplici fu introdotto il bus USB, caratterizzato da: •Facilità d’uso per quanto riguarda la connessione delle periferiche; •Un solo tipo di cavo e di porta per qualsiasi genere di periferica; •Possibilità di attaccare periferiche diverse alla stessa porta; •Risoluzione automatica dei conflitti; •Connessione «a caldo» dei dispositivi; •Rilevazione e configurazione automatica delle periferiche; •Compatibilità con tutte le configurazioni e tutti i costruttori; •Basso costo sia dal lato PC che dal lato periferica; •Bassi consumi; Titolo «a caldo» significa «quando il pc è in funzione». L’architettura USB ha come caratteristica quella di fornire direttamente l’alimentazione elettrica alle periferiche che collega e di avere un bus molto complesso sia dal lato host (il PC) che dal lato periferica: •l’host interviene infatti in ogni operazione di comunicazione e deve essere in grado di capire che tipo di periferica è stata collegata e riconoscerne la connessione e la disconnessione; •le periferiche, invece, devono avere un microcontrollore che gestisca le comunicazioni attraverso l’implementazione dei protocolli necessari al funzionamento del sistema connesso (driver di periferica). Parte fondamentale nella realizzazione dell’interfaccia USB sono gli hub, particolari dispositivi con la funzione di replicare il collegamento al bus realizzando una struttura ad albero, come qui di seguito illustrato: 7 Bus e connessioni d’input/output del PC 123 Host USB Monitor con porte USB HUB USB HD esterno Scanner Stampante Telefono Fotocamera Digitale Figura 26 esempio USB. Nei personal computer sono disponibili più porte USB ottenute attraverso un hub integrato che moltiplica il collegamento; se per esempio colleghiamo un hub a 6 porte a una connessione USB, le periferiche che possiamo collegare aumentano di numero (por- te disponibili + 6 porte del nostro hub – 1 porta per la connessione dell’hub stesso). L’hub, come tutte le periferiche, ha un controllore per riconoscere su quali porte sono collegati i dispositivi, in modo da comunicarlo all’host quando questo lo interroga. Grazie a questa struttura ad albero si possono collegare fino a 127 periferiche sul bus; con l’aumentare del numero di periferiche le prestazioni si riducono, poiché le risorse disponibili, in particolare la banda passante, cioè la quantità di informazione trasmissibile sul canale di comunicazione, devono essere distribuite fra le diverse periferiche. Il �bus USB ha un collegamento speciale, attraverso connettori di tipo differente, a seconda che si tratti del lato rivolto verso l’unità periferica oppure verso l’host. Nel corso della sua evoluzione l’interfaccia USB ha migliorato notevolmente l’affidabilità e la velocità; nella tabella sono riassunte le prestazioni delle diverse versioni: 124 4 Computer Tipo Prestazioni USB 1.0 1,5 Mbit/s (192 KB/s) USB 1.1 12 Mbit/s (1,5 MB/s) USB 2.0 480 Mbit/s (60 MB/s) USB 3.0 4,8 Gbit/s (600 MB/s) FireWire (IEEE 1394) Il bus IEEE 1394, è stato messo a punto per fornire un sistema di interconnessione che permette di trasferire dati ad alta velocità in tempo reale. La società Apple gli ha attribuito il nome commerciale «Firewire», che è diventato il più diffuso, Sony gli ha dato anche il nome commerciale di i.Link, mentre Texas Instrument gli ha preferito il nome di Lynx. Si tratta di una porta che permette di connettere periferiche ad alta capacità (per esempio le videocamere digitali). È importante sapere che i cavi non possono avere lunghezza superiore a 4,5 mt. Osservazione Questo bus mostra molte similitudini con l’USB (è un bus seriale, permette connessioni a caldo e creazione di strutture ad albero) ma con alcune ragguardevoli differenze (maggiori prestazioni e maggiori costi e protocolli simili al bus SCSI). Figura 27 FIREWIRE. Il setup dell’hardware del PC 8 La gestione e il setup iniziale dell’hardware, sia esso integrato, collegato alla scheda madre attraverso connettori dedicati (processore, RAM, HDD ecc.) o inserito tramite schede specializzate sugli slot di espansione, è eseguita dal BIOS (Basic Input/Output System – sistema base di controllo ingressi 8 Il setup dell’hardware del PC 125 e uscite); il BIOS è un programma memorizzato direttamente (firmware) in un chip della scheda madre. Quando il PC è avviato, il BIOS dapprima identifica i componenti hardware e successivamente effettua un test, detto POST (Power-On Self Test) per verificarne il corretto funzionamento. Se sono riscontrati errori, il BIOS cercherà comunque di continuare l’avvio del computer e solo se l’errore è grave, bloccherà il sistema. In questo caso provvederà comunque a: •visualizzare un messaggio sullo schermo (ovviamente questo non accadrà se l’hardware di visualizzazione deve essere ancora inizializzato oppure è difettoso); •emettere un segnale sonoro, di solo attraverso una sequenza di bip, che indentifica il guasto (in questo caso potremo, attraverso il manuale della scheda madre, risalire all’errore dal numero di bip); Registro Il termine «boot loader» deriva dal fatto che il processo di avvio del computer è chiamato bootstrap. Se il test va invece a buon fine, il BIOS emette generalmente un breve bip, segnalando l’assenza di errori e a seguire individua tra i suoi dati, la sequenza dei dispositivi dove cercare il «boot loader» (per esempio un disco rigido o un CD/DVD), il programma che carica ed esegue il sistema operativo, passando a quest’ultimo il controllo del PC. I principali costruttori del BIOS sono: •American Megatrends: produttrice di AMI BIOS; •Award Software (ora parte di Phoenix Technologies): produttore di Award BIOS •Phoenix Technologies: produttore di Phoenix BIOS Il contenuto del chip BIOS può essere totalmente riscritto e questo consente di poter aggiornare il firmware del BIOS con le nuove release rilasciate dal produttore; quest’operazione va eseguita con molta cautela e dopo aver letto attentamente il manuale della scheda madre dove è indicata la procedura per eseguire tale attività. Osservazione Il firmware è un programma, inteso come sequenza d’istruzioni, integrato direttamente in un componente elettronico. Lo scopo del programma è di avviare il componente stesso e consentirgli di interagire con altri dispositivi tramite l’implementazione di protocolli di comunicazione o interfacce di programmazione. Tutti i parametri di default, cioè i parametri immessi dal costruttore, sono configurati in modo tale che qualsiasi computer utilizzi il BIOS funzioni correttamente, ma è permesso all’utente di cambiare alcune opzioni di configurazione. Consigliamo di munirsi, prima di sperimentare qualsiasi modifica al nostro BIOS, del manuale della scheda madre dove sono riportate le possibili scelte relative a tutte le funzionalità gestite dal BIOS. Come si accede al programma di configurazione del BIOS (setup) Il programma di configurazione del BIOS è accessibile nella prima fase di avvio, durante il controllo della RAM; in questa fase è visualizzata la schermata del costruttore del BIOS ed è indicato come entrare nel menu del programma di configurazione: da questa schermata basta di solito preme126 4 Computer re ripetutamente, assolutamente prima che la schermata scompaia, il tasto «Canc» o «F1» o «F2» o «F10», secondo il tipo di BIOS e la marca del PC, e si entrerà nelle utility di setup. Osservazione Come identificare il BIOS del proprio computer? Oltre al nome del costruttore e ai codici di riferimento nella schermata di «boot», esistono altri modi di identificare il tipo di BIOS del proprio computer; utilizzando strumenti del sistema operativo installato (per esempio con Windows è possibile identificare il tipo di BIOS utilizzando il programma regedit dal prompt dei comandi e digitando la parola BIOS), oppure utilizzando programmi di identificazione della scheda madre reperibili su internet. Una volta entrati nel programma di setup, ci troveremo di fronte a una schermata con diversi menu. L’interfaccia di gestione può essere di tipo testuale o con interfaccia grafica, come illustrato in queste immagini di esempio: Per la navigazione all’interno dei menu del setup, nel caso della versione grafica sarà possibile utilizzare il mouse mentre per la versione testuale si dovranno utilizzare i tasti. Tasto di navigazione Descrizione !/" Spostare il cursore a sinistra o a destra per selezionare le Schermate #/$ Sposta il cursore su o giù per selezionare le voci + / – oppure PagUp / PagDn Per modificare l’opzione per gli elementi selezionati <Invio> Per visualizzare la schermata di selezione. A volte serve anche per vedere tutte le voci disponibili per un determinato valore <F1> Per visualizzare la schermata d’aiuto <F9> Per caricare i valori di default ottimali per tutte le impostazioni <F10> Per salvare le modifiche e uscire dal BIOS Setup Utility <ESC> Per passare alla schermata di uscita o uscire dalla schermata corrente In ogni setup di tipo testuale è comunque presente, generalmente sul lato destro, l’elenco dei tasti funzione. Le pagine messe a disposizione nel programma di setup dipendono sia dal costruttore del BIOS sia dal modello della scheda madre; senza entrare quindi nel dettaglio delle singole schermate, vogliamo di seguito 8 Il setup dell’hardware del PC 127 fornire alcuni parametri, disponibili su tutti i sistemi, che riteniamo utili per l’utente: sarà così più facile individuarli, con l’ausilio del manuale della scheda madre, tra le pagine della propria utility di gestione del BIOS. Osservazione Una volta entrati nel programma di configurazione si trovano già impostati i valori consigliati, decisi in automatico dal BIOS dopo aver riconosciuto l’hardware installato: le possibili alternative sono predefinite e tra queste è spesso presente l’opzione «AUTO» che significa che i valori verranno definiti in automatico in fase di avvio del sistema, subito dopo il riconoscimento dell’hardware. Attraverso l’interfaccia utente del BIOS, si possono: •Recuperare informazioni quali la versione del BIOS, la tipologia di processore, la quantità e il tipo di memoria RAM installata, ecc. •Impostare l’orologio di sistema (data e ora del sistema). •Configurare parametri hardware quali: •Parametri della CPU come per esempio l’Hyper-Threading Technology (naturalmente questo parametro è disponibile per essere «abilitato» soltanto se supportato dal processore individuato). •Parametri del chipset quali le frequenze dei bus interni, delle DDR, delle PCI ecc. •Configurare le interfacce dei dischi per indicare le modalità di funzionamento delle connessioni SATA: •Impostare su AHCI se si vuole che i dischi Serial ATA utilizzino la tecnologia Advanced Host Controller Interface, grazie alla quale potranno sfruttare le caratteristiche avanzate che consentono di migliorare le prestazioni del disco. •Impostate su RAID, se previsto, opzione che come abbiamo visto permette l’utilizzazione di più dischi per garantire l’integrità dei dati. •Attivare o disattivare dispositivi integrati nel sistema come schede video, audio ecc.. •Impostare il monitoraggio delle componenti del sistema: è possibile monitorare lo stato dei componenti hardware, inclusa la temperatura della CPU, la temperatura della scheda madre, la CPU fanspeed (velocità delle ventole) e la tensione critica. •Selezionare quali dispositivi sono idonei a essere un dispositivo di avvio (boot); questa opzione permette di impostare l’ordine di avvio delle unità, cioè l’ordine delle periferiche nelle quali cercare il boot loader e caricare il Sistema Operativo. •Gestire la sicurezza del sistema impostando diverse password, come per esempio una password per permettere l’accesso alle funzioni del setup oppure per permettere l’avvio del sistema stesso. •Caricare la configurazione ottimale: tra le funzionalità del programma di setup, c’è anche quella di ricaricare i valori di default, che assicurano il corretto funzionamento del sistema. 128 4 Computer 9 Laboratorio: smontare e rimontare un PC Un personal computer è costituito da alcuni componenti indispensabili e da alcuni altri opzionali: oltre al video, alla tastiera e al mouse, periferiche esterne di I/O indispensabili, quasi tutti gli altri componenti sono contenuti all’interno del case o chassis (letteralmente «scatola»). Esistono diversi tipi di case, secondo le dimensioni dell’hardware che devono contenere, ma tutti hanno una caratteristica comune: costituiscono il telaio che meccanicamente sostiene la componentistica. I tipi di case più utilizzati sono quelli definiti «tower» (mini, middle, full ecc. secondo le dimensioni). Che cosa contiene? •l’alimentatore •la scheda madre •il processore •il dissipatore •la memoria RAM •le periferiche per l’archiviazione dei dati (hard disk, lettori CD/DVD ecc.) •la scheda video (talvolta integrata) •slot PCI (per modem interno, schede di rete, schede sonore, schede tv ecc.) •porte PS2 per mouse e tastiera •porte USB •interfaccia Ethernet •cavi e connettori Proviamo a smontarlo Smontare un PC è relativamente semplice e questo vale anche per quanto riguarda la strumentazione necessaria: •dei guanti di plastica (quelli in lattice usa e getta vanno benissimo): impediscono che l’elettricità statica accumulatasi danneggi i componenti 9 Laboratorio: smontare e rimontare un PC 129 ed evitano che possano essere trasferiti residui presenti sulle mani, come sudore, grasso ecc., che possono impedire il regolare flusso dell’elettricità all’interno dei componenti; •un cacciavite a stella: tutte le viti con cui avremo a che fare sono a stella; •delle pinze per rimuovere le viti se si dovessero incastrare. È anche necessario avere a disposizione il manuale della scheda madre e possibilmente i manuali dell’hardware installato. La prima operazione e quella di accertarsi di aver scollegato il cavo di alimentazione del pc: mi raccomando, è fondamentale sia per la nostra sicurezza, sia per evitare danni alla componentistica. Come aprire il case? Normalmente sono presenti delle viti nella parte posteriore che fissano il pannello laterale (che è quello che si smonterà) e che andranno rimosse con il cacciavite a stella. Dopo andrà spostato il pannello verso il retro del case, facendolo scorrere fuori dalle guide nelle quali è alloggiato. In alcuni case il pannello non è fissato con delle viti e può essere rimosso semplicemente sganciandolo. L’alimentatore Il primo componente da smontare è l’alimentatore chiamato anche PSU (Power Supply Unit – unità che fornisce potenza), che nei vecchi case era di norma collocato nell’angolo in alto a sinistra (guardando il case aperto lateralmente) e nei nuovi è invece collocato in basso. L’alimentatore trasforma la corrente alternata in corrente continua, evitando così gli sbalzi di tensione: la potenza che eroga permette di dare corrente a tutti i dispositivi collegati al PC. Esistono alimentatori capaci di erogare diverse potenze: 350, 400 o 450 watt sono le potenze più comuni. Prima di rimuoverlo è ne130 4 Computer cessario scollegare tutti i connettori che alimentano i dispositivi contenuti all’interno del case e che normalmente sono: •il cavo di alimentazione per la scheda madre •il cavo di potenza ausiliario •il cavo per periferiche SATA (o ParallelATA) Questi cavi sono inseriti nelle apposite prese nel retro delle periferiche o sulla scheda madre, tramite spinotti che hanno un unico verso di inserimento. Osservazione Gli HDD, abbiamo visto, hanno adottato l’interfaccia SATA: la cavetteria di tipo SATA è dotata di un minor ingombro rispetto alle «piattine» tipiche dei dispositivi ParallelATA (IDE). Comunque i cavi molex (a 4 pin lineari), sono tutt’ora usati negli adattatori SATA--->IDE di alimentazione. Osservazione Gli alimentatori possono essere di vari tipi ma sono sempre muniti di ventole di raffreddamento e presa per il cavo di alimentazione esterno. Lo standard è l’ATX (automatico, lo spegnimento del computer avviene automaticamente al termine del processo software); Intel ha varato dal 2004 lo standard BTX. Le periferiche per l’archiviazione dei dati I successivi pezzi che smonteremo nel nostro PC saranno i drive CD/DVD e l’hard-disk. Abbiamo trattato le caratteristiche di questi dispositivi nei paragrafi precedenti: qui ci limiteremo quindi a descrivere le manovre da compiere per procedere al loro corretto smontaggio. Osservazione Non sempre è possibile smontare per primi tali componenti: se sulla scheda madre sono montate schede aggiuntive (video, audio ecc.), queste possono occupare molto spazio nel case e questo potrebbe rendere impossibile la fuoriuscita dei drive o dell’hard disk dagli appositi alloggiamenti (denominate «baie») nei quali sono collocati; in questo caso, si deve prima procedere alla rimozione delle schede che impediscono lo smontaggio delle periferiche di archiviazione dei dati. Cominciamo con i drive CD/DVD. La procedura da eseguire è molto semplice: il primo passo è togliere le viti che fissano la periferica sulla struttura metallica di sostegno dello slot che la ospita, che è quello utilizzato per le periferiche che richiedono lo sbocco sull’esterno. I case infatti possiedono un certo numero di baie dotate di uno sbocco sul pannello frontale del case stesso. Queste baie possono essere da 5,25" (pollici) per drive CD/DVD o da 3,5 per i lettori di schede di memoria. Fatto questo, dobbiamo scollegare il cavo SATA (o PATA) che va alla scheda madre e che permette il trasferimento dei dati dalla periferica all’unità centrale. Nei lettori di schede di memoria si trova un analogo cavo di connessione. Di norma questo tipo di periferiche devono essere sfilate direttamente dall’esterno (attenzione! su alcuni case è necessario invece sfilarle dall’interno). Per l’hard-disk che 9 Laboratorio: smontare e rimontare un PC 131 invece non ha sbocchi esterni la procedura da seguire è la stessa descritta per i drive CD/DVD (in realtà anche la baia che ospita questa periferica ha uno sbocco esterno che però è coperto da una mascherina posta sul pannello frontale). Osservazione Ricordate che i cavi ParallelATA (IDE) hanno tre connettori neri, due alle estremità e uno in mezzo al cavo, che presentano due file di fori. Alla scheda madre è attaccato uno dei due connettori che si trovano alle estremità, mentre gli altri sono collegati alla periferica. Il connettore che si trova all’estremità opposta rispetto a quello che si è inserito nella scheda madre è detto master, l’altro (che sta in mezzo ai due) è detto slave. Di norma il connettore master è collegato all’hard-disk e quello slave al drive CD/DVD. Per le periferiche SATA invece a ogni connettore si può collegare una sola periferica. La scheda video Prima di cominciare a smontare le schede conviene appoggiare il case di fianco in modo da eseguire l’operazione nel modo più facile possibile. La scheda video può essere «integrata», cioè essere presente sulla scheda madre sotto forma di chip, o «discreta» ossia come componente autonomo; nel primo caso ovviamente non dobbiamo smontarla, nella seconda eventualità invece, è montata su uno degli slot della scheda madre, in particolare lo slot AGP (se parliamo di schede di qualche anno fa) o sullo slot PCI-Express x16. 132 4 Computer Lo smontaggio in tutti i tipi di slot è molto semplice e uguale per qualsiasi tipo di scheda. Per prima cosa, dovrete liberare la scheda dalle viti che la fissano alla lamiera del case; talvolta non sono presenti viti, ma delle leve particolari che vanno semplicemente sganciate. L’ultima operazione da compiere e quella di sganciare la scheda dallo slot nella quale è inserita, premendo verso l’esterno su un apposito pulsantino presente sulla destra dello slot stesso. Lo slot ha un taglio che fa in modo che la scheda si possa inserire solo in un verso. Se è stata correttamente montata, la scheda deve uscire senza incontrare eccessive resistenze: in ogni caso è sempre meglio estrarla con delicatezza! Osservazione Esistono schede video particolarmente potenti e voluminose, dette dual-slot, che pur collegandosi alla scheda madre su un solo slot, ne occupano due e richiedono più energia di quella fornita dal solo slot PCI-Express per funzionare: su queste schede è presente una o addirittura due prese elettrica da collegare direttamente all’alimentatore. Per alimentare tali schede, l’alimentatore dovrà essere particolarmente potente! Le schede aggiuntive Le schede aggiuntive (schede di rete, schede sonore, schede tv ecc.), possono essere «integrate» o «discrete». In quest’ultimo caso, sono inserite negli slot PCI o PCI Express della scheda madre e la procedura per smontarle è la stessa descritta per la scheda video. 9 Laboratorio: smontare e rimontare un PC 133 Titolo I «notch» possono essere anche multipli e gli spazi che delimitano, alla loro destra o sinistra, hanno lunghezze diverse tra di loro; inoltre le proporzioni tra di esse cambiano secondo il tipo di RAM montata. La memoria RAM Anche di questi componenti abbiamo trattato le caratteristiche nei paragrafi precedenti: descriveremo quindi solo le manovre da compiere per procedere al loro corretto smontaggio. Gli slot per la memoria sono adiacenti a quello della CPU. Solitamente sono quattro, tranne che per alcune motherboard, che offrono il supporto sia per DDR2 che DDR3. L’alloggiamento disposto per accogliere i banchi di memoria RAM è una striscia colorata, formata da connettori femmina, situata generalmente di lato al socket del processore. Al bordo dei connettori per i moduli RAM sono presenti dei ganci di plastica che bloccano le memorie. Per smontare i moduli di memoria dobbiamo sbloccare questi ganci, spostandoli lateralmente. Basta quindi togliere il modulo dal connettore, sfilandolo nelle guide poste ai lati e il gioco è fatto. Prima di toglierlo del tutto però fate attenzione all’orientamento del modulo, individuando il cosiddetto notch o encoche, un punto d’interruzione nei contatti sulla parte inferiore del modulo: esso combacia perfettamente nell’incastro con l’alloggiamento (questo sarà molto utile quando dovremo a rimontare i moduli RAM). Il processore (CPU) e il dissipatore di calore La CPU è il cervello del computer e su di esso troviamo montato il dissipatore di calore, il dispositivo che raffredda il processore: se non ci fosse, il processore si surriscalderebbe immediatamente, bruciando entro pochi secondi. 134 4 Computer Il dissipatore è composto di una ventola circondata da una struttura metallica che può essere di diversi tipi di metallo e avere diverse forme. La ventola, azionata da un motorino, sposta l’aria indirizzandola sulla superficie metallica del dissipatore con l’obiettivo di raffreddarla. Più aria arriverà sulla superficie del dissipatore, maggiore sarà il potenziale di raffreddamento. Individuiamo quindi il cavo di alimentazione per il dissipatore e scolleghiamolo dalla scheda madre (talvolta è segnalato dalla scritta CPU FUN). La modalità con la quale il dissipatore è fissato al socket del processore, varia a seconda del tipo di socket montato dalla scheda madre: di solito il fissaggio avviene grazie a perni o viti inseriti nelle apposite fessure poste intorno al socket stesso. Una volta smontato il dissipatore, vedrete che sulla destra del socket è presente una levetta: sollevandola si può rimuovete il chip della CPU (quando rimonterete il processore basterà abbassare questa leva per bloccarlo in sede). Esistono due diversi tipi di socket: •il PGA (Pin Gated Array) nel quale i piedini bloccano il microprocessore allo zoccolo. In pratica è il processore a essere provvisto di piedini (pins) nella parte inferiore: sfilando con delicatezza tutti i piedini si rimuove il chip della CPU. •Il LGA (Land Grid Array) nel quale la CPU deve essere bloccata in una piastra di pins. In questo caso è il socket che è provvisto di piedini ed è anche dotato di una specie di gabbia che serve a bloccare in sede la CPU. Osservazione Tra il dissipatore e il processore è presente una pasta termoconduttiva o pasta termica: è una pasta caratterizzata da un’elevata conducibilità termica. La sua funzione consiste nell’evitare che rimanga aria tra la superficie della CPU e la base del dissipatore, aumentando così l’efficienza di trasferimento del calore e quindi il raffreddamento. Spalmare la superficie del processore con della pasta termica è molto importante, tuttavia bisogna porre molta attenzione nel farlo, assicurandosi di non sporcare altri componenti e di non metterne troppa: il rischio è di ottenere l’effetto contrario! La scheda madre (motherboard) Una volta smontati tutti i componenti precedentemente descritti, rimane solo la scheda madre. Su di essa abbiamo visto trovano alloggiamento il processore, la memoria, la scheda video e le varie schede PCI; vi trova posto la 9 Laboratorio: smontare e rimontare un PC 135 circuiteria elettronica di interfaccia fra i vari componenti principali, il Northbridge e il Southbridge, le porte PS2, le porte USB, l’interfaccia Ethernet, il chip del BIOS e una batteria al litio in grado di alimentare per anni l’orologio di sistema. Ecco l’immagine, nei particolari, di una scheda madre: Osservazione Ricordiamo che la scheda madre è composta di un circuito stampato molto complesso, ricavato da un sandwich di strati di vetronite e rame: generalmente una scheda madre può avere da quattro a sei strati di rame. In questi sono ricavate le piste che collegano i vari componenti. Su questo circuito stampato sono saldati una serie di circuiti integrati. L’insieme dei componenti integrati nella scheda madre viene chiamato chipset. Gli standard più diffusi sono l’ATX (Advanced Technology Extended) e il BTX (Balanced Technology Extended). Prima di togliere la scheda madre bisogna staccare i cavi che la collegano al pannello frontale del case (pulsante di accensione, pulsante di reset, speaker di sistema, led d’accensione e di utilizzo hard-disk, porte USB frontali, audio frontale ecc.). Per smontare la scheda madre bisogna togliere le viti che la fissano al case, avendo cura di prenderla solo dai bordi, evitando così di toccare i circuiti, per appoggiarla poi su di un tappetino antistatico. Osservazione Abbiamo visto come smontare un PC, ma per rimontarlo? È molto semplice: per rimontare il PC basta ripetere a ritroso le operazioni svolte, ponendo attenzione a orientare in maniera corretta tutti i componenti; come abbiamo visto in alcuni casi un solo verso è possibile, mentre in altri bisogna porre attenzioni a particolari «segni» di riconoscimento che permettono il posizionamento corretto dei componenti. Cavi e connettori Molex femmina a 4 pin: è utilizzato per l’alimentazione di tutte le periferiche ParallelATA (lettori CD/DVD, hard-disk e molte ventole opzionali per il case). Si può inserire in un solo verso. 136 4 Computer Cavo SATA di alimentazione: facilmente riconoscibile per la grossa scritta SATA sulla sua faccia superiore; ha la disposizione dei contatti elettrici a forma di L, che ne obbligano l’orientamento. Scheda madre. Ci sono due prese dedicate all’alimentazione: una da 4 pin (principale), situata nella zona circostante il socket del processore e una da 20/24 pin (ausiliaria). Per orientare gli spinotti basta mettere le due estroflessioni dell’incastro, quella sullo spinotto e quella sulla presa della scheda madre, dalla stessa parte. Connettore SATA: i pin sono disposti a forma di L e questo lo rende facilmente orientabile. Normalmente è rosa o colorato vivacemente. Titolo Vi sono infine i cavi del pannello frontale del case che variano da case a case: quelli comuni sono il pulsante di accensione, il pulsante di reset (riavvio), lo speaker (beeper) di sistema, i led dell’accensione e di utilizzo hard-disk; opzionali quelli per le porte USB frontali, la porta firewire frontale, e l’audio frontale. È consigliabile seguire le istruzioni riportate sul manuale della scheda madre per collegare correttamente questi cavi. 9 Laboratorio: smontare e rimontare un PC I lettori di memorie vanno collegati con l’apposito spinotto USB ai pin della scheda madre dedicati all’interfaccia USB, dalla quale traggono direttamente l’energia. 137 Sintesi Lo schema ideato da John Von Neumann al termine della seconda guerra mondiale ancora oggi è il progetto logico dell’architettura del computer moderno e anche se i computer attuali hanno una struttura più complessa della macchina di von Neumann il principio di funzionamento è esattamente lo stesso. La macchina di Von Neumann prevede 5 componenti fondamentali: un’unità per l’inserimento di dati e istruzioni (input), un’unità per memorizzare i dati (RAM), un’unità per elaborare i dati (CPU), un’unità per comunicare i risultati (output) e un canale che collega tra loro le varie unità per lo scambio dei dati (bus). La CPU è composta dall’unità di controllo (CU – Control Unit), che governa la sequenza delle operazioni, in modo che queste vengano eseguite in maniera corretta, e dall’unità aritmetico-logica (ALU, Arithmetic-Logic Unit), che svolge le operazioni logiche e aritmetiche. I computer possono essere classificati per la specificità di utilizzo (uso generale – «general purpose» – o uso specifico – «special purpose»), oppure per la potenza di calcolo, la capacità di archiviazione dei dati e le dimensioni (SuperComputer, Mainframe, Minicomputer, Microcomputer). Il personal computer nasce con la creazione dei microprocessori alla fine degli anni ’70 del secolo scorso e si impone come paradigma del computer, diventando nel corso degli anni il modello di riferimento da cui sono derivati l’ampia gamma di prodotti oggi in commercio (Workstation, Laptop, Network PC, Netbook, Tablet PC, PDA). Tutti i componenti di base necessari per il funzionamento del computer si incontrano in un elemento chiamato scheda madre (in inglese «motherboard»), che è un complesso circuito stampato multistrato adibito alla installazione fisica di detti componenti tramite una serie di connettori (slot e socket). Le caratteristiche che differenziano i diversi tipi di schede madri sono: il fattore forma, il tipo di supporto del processore (socket), il chipset, 138 4 Computer il numero dei connettori di memoria RAM, il chip del BIOS, il numero di slot dedicati alle periferiche interne e la loro tecnologia (SATA, SAS ecc.), il numero e la tecnologia degli slot di espansione e il numero e il tipo di connettori di entrata-uscita. La scheda madre, una volta installati i componenti hardware, provvede a metterli in comunicazione tra loro e a gestire tutte le comunicazioni con le periferiche esterne. Il processore o microprocessore (CPU – Central Processing Unit) è il cervello del computer. Esso permette di manipolare le informazioni codificate sotto forma binaria e di eseguire le istruzioni registrate nella memoria. Un microprocessore è costituito da un core (anima), inserito in un package (imballaggio) di ceramica, contenente milioni di transistor che costituiscono la parte funzionale della CPU. Il processore esegue le istruzioni seguendo il ritmo scandito dalla frequenza del clock (l’orologio di sistema che invia gli impulsi). La frequenza del clock (detta anche ciclo) corrisponde al numero d’impulsi inviati in un secondo ed è espressa in Hertz (Hz). Il set di istruzioni è l’insieme delle operazioni elementari che un processore può compiere. Il set di istruzioni di un processore determina la sua architettura. Le principali architetture dei processori sono l’architettura CISC (Complex Instruction Set Computer) e l’architettura RISC (Reduced Instruction Set Computer). La corsa all’aumento della frequenza di clock delle CPU si è fermata e si è passati a uno sviluppare una tecnologia «orizzontale» che consiste nell’integrare nello stesso package due o più core gemelli che condividono le varie risorse della CPU stessa (cache, bus, registri). La memoria suddivisa in memoria primaria (detta anche memoria centrale o memoria volatile), che permette di memorizzare temporaneamente i dati durante l’esecuzione dei programmi e la memoria secondaria (detta anche memoria permanente o memoria di massa), che permette di registrare delle informazioni a lungo termine, conservandole anche quando il computer è spento. Le principali caratteristiche di una memoria sono la capacità, che rappresenta il volume globale delle informazioni che la memoria può contenere e il tempo di accesso, che corrisponde all’intervallo di tempo tra la richiesta di lettura/ scrittura e la disponibilità del dato. La memoria primaria si suddivide in due grandi famiglie la memoria ROM (Read Only Memory) e la memoria RAM Random Access Memory) L’architettura delle memorie corrisponde a una matrice nella quale a ogni intersezione di riga e colonna vi è una cella di memoria in cui è scritto un bit; si accede a una cella di memoria attraverso un indirizzo del tipo [riga,colonna] La memoria ROM è una memoria a sola lettura. L’acronimo ROM è tuttavia utilizzato anche per identificare memorie che possono essere cancellate e riprogrammate tramite processi particolari (PROM, EPROM, EEPROM). Le memorie RAM si suddividono in RAM dinamiche (DRAM) e RAM statiche (SRAM). Esistono diverse tipologie di DRAM con velocità di trasferimento dati diverse: DDR, DDR2 e DDR3. Un disco rigido (HDD, anche disco fisso o hard disk) è un dispositivo di archiviazione dati non-volatile, digitale, ad accesso casuale che utilizza tecnologia magnetica per registrare i dati. Fisicamente l’HDD è costituito da piatti in alluminio, ceramica o vetro, ricoperti da materiale ferromagnetico sovrapposti e montati su un perno in rotazione; su ogni piatto è presente una testina per accedere in scrittura o in lettura ai dati memorizzati sul piatto. I dati sono memorizzati su disco seguendo uno schema di allocazione fisica ben definito in base al quale si può raggiungere la zona dove leggere/scrivere i dati sul disco; gli schemi utilizzati sono il formato LBA (Logical block addressing – indirizzamento logico a blocchi) e il formato CHS (Cylinder/Head/Sector – Cilindro/Testina/Settore). Le caratteristiche principali di un disco rigido sono la capacità (espressa in GB o TB), il tempo di accesso (legato alla natura meccanica delle testine e alla rotazione dei dischi) e la velocità di trasferimento (legata alla velocità di rotazione e alla densità di memorizzazione). Negli ultimi anni si è assistito all’introduzioni di dischi allo stato solido o drive a stato solido, denominati SSD (Solid-State Drive), che utilizzano la memoria flash per l’archiviazione dei dati. Tutti gli elementi che costituiscono il computer colloquiano mediante un’autostrada di comunicazione denominata BUS. Un generico bus di un computer è diviso in tre parti funzionali, Dati (data bus), Indirizzi (address bus), Controlli (control bus). Le diverse tipologie di bus sono: Bus processore-memoria (bus interno); Bus Backplane (bus esterno – standard); Bus Input-Output (bus esterno – standard industriale) Il Bus di Backplane collega i dispositivi PCI, PCI Express, SATA e SAS, il Bus di I/O quelli USB, FireWire. Tutte le informazioni che riguardano l’hardware nonché la diagnosi dello stato dell’hardware stesso, sono effettuate da un programma di configurazione del PC: questo programma è il BIOS (Basic Input/Output System). Il BIOS è un firmware aggiornabile attraverso procedure software rilasciate dai costruttori. Il BIOS è programmabile e tutti i parametri sono memorizzati in un chip di memoria presente sulla scheda madre. Il programma di configurazione (BIOS) è accessibile solo all’avvio del computer (boot) durante la fase di POST (Power On Self Test). La configurazione del BIOS avviene mediante un programma (setup), con interfaccia utente che permette di variare i diversi parametri di configurazione delle periferiche e dei dispositivi installati sulla scheda madre. Sintesi 139 Quesiti QUESITI 6 Un network pc è CPU (3) 1.memoria B RAM (1) 2.dispositivo per lo scambio dati 3.unità di elaborazione e controllo C Bus (2) un semplice terminale destinato alla sola visualizzazione e immissione dei dati B un computer desktop a basso costo, le cui funzionalità locali sono molto limitate X C il più potenti tra i personal computer D una computer di dimensioni ridotte che offre una maggiore autonomia di funzionamento 2 7 A 1 Associare a ciascuna componente della macchina di Von Neumann il ruolo che essa svolge: A La CPU è divisa in: registri B unita aritmetica e unità logica C unità di controllo e unità logico-aritmetica X D unità di controllo e registri A 3 MIPS significa: Multi Information Per Second Million Instructions Per Second X Million Information Per Second Multi Instructions per Second 4 Associare a ciascun tipo di computer la caratteristica più appropriata. a) Supercomputer Mainframe Minicomputer Microcomputer Computer multiutente con velocità dell’ordine di centinaia MIPS (Minicomputer) Computer monoutente con velocità dell’ordine di decine di MIPS (Microcomputer) Computer multiutente con velocità dell’ordine di milioni di MIPS (Super) Computer multiutente con velocità dell’ordine di migliaia di MIPS (mainframe) b) c) d) A B C D 5 A B C D Il personal computer nasce dopo la seconda guerra mondiale nasce alla fine degli anni ’70 X nasce negli anni ’60 nasce alla fine del XIX secolo 140 B C D un circuito integrato un complesso circuito stampato multistrato X il chipset l’insieme di CPU e RAM 8 Sulla scheda madre si trovano A B C D i connettori e gli slot per le periferiche i socket per il processore e le memorie i chipset Southbrige e Northbrige tutti questi componenti X 9 Il termine «tecnologia costruttiva» del processore indica A B C D A 4 Computer La scheda madre è il materiale usato per fabbricare il processore B la grandezza in micron dei transistor presenti all’interno della CPU X C la velocità della CPU D la capacità della CPU A 10Le caratteristiche principali di un processore sono dimensioni del core, qualità del package, grandezza dei transistor B frequenza di clock, ampiezza dei registri, set d’istruzioni X C capacità, tempo di accesso, tempo di ciclo, capacità di banda D frequenza del clock, tempo di ciclo, dimensioni del core A 11La memoria principale è Elettronica X B elettro-meccanica A C elettro-magnetica D magnetica D 12Le caratteristiche principali di una memoria sono 17Il bus è tempo di refresh, ampiezza dei registri, tempo di ciclo B capacità, tempo di accesso, tempo di ciclo, capacità di banda X C frequenza di clock, ampiezza dei registri, set d’istruzioni D dimensioni dei condensatori, tempo di refresh, capacità di banda un’architettura del computer B un mezzo di trasporto che collega due o più dispositivi C un’ autostrada di comunicazione che collega due o più dispositivi X D un tipo di segnale elettrico A 13Un HDD per memorizzare i dati utilizza una tecnologia A B C D ottica elettronica magnetica X meccanica capacità, tempo di accesso, velocità di trasferimento X B capacità, tempo di accesso, tempo di ciclo C velocità di trasferimento, tempo di ciclo, capacità D tempo di ciclo, tempo di accesso, velocità di trasferimento A 15Un SSD per memorizzare i dati utilizza una tecnologia B C D ottica elettronica X magnetica meccanica 16Un SSD rispetto a un HDD presenta minori costi, tempo di accesso ridotto, minore produzione di calore B maggiori consumi, tempo di accesso ridotto, maggiore produzione di calore C minori consumi, tempo di accesso ridotto, minore produzione di calore X A A 18Un generico bus di un computer è diviso in A B C D data bus, address bus, I/O bus address bus, I/O bus, control bus data bus, I/O bus, control bus data bus, address bus, control bus X 19Il NorthBridge è il bus processore memoria X B il bus I/O C il bus di sistema A 14Le caratteristiche principali di un disco rigido sono A maggiori costi, minori consumi, maggiore produzione di calore 20Il SouthhBridge è il bus processore memoria B il bus I/O X C il bus di sistema A 21Le interfacce SATA sono parallele B seriali C seriali ad alta frequenza X A 22Le interfacce SAS sono pensate per A B C D carichi di lavoro leggeri applicazioni «critical server» X budget limitati mercato «consumer» 23Gli slot di espansione di tipo PCI Express possono essere A x1 Esercizi 141 le sue interfacce con le altre unità di un sistema di elaborazione x4 C x16 D di tutti e tre i tipi B 5 Spiegare brevemente qual è la gerarchia della memoria presente in un sistema di elaborazione, commentando capacità e velocità dei singoli livelli. 6 Se si vuole dotare di 16GB di memoria centrale un elaboratore avente un data bus da 32bit, quale deve essere la dimensione minima dell’address bus? 7 Dovendo scegliere un disco esterno da aggiungere al proprio PC, quali fattori influenzano la scelta a parità di prezzo e quantità a dati memorizzabile? 8 Un personal computer è descritto sinteticamente nei seguenti termini: ... Intel Pentium Dual-Core E5700 3.0GHz, 4 Gb DDR3 800 MHz, HD 500Gb 7200 RPM SATA-II 16 Mb buffer, Nvidia 256MB, 3x porte USB 2.0, DVD, ..... Si illustri il significato di tutte le cifre e sigle riportate. 9 Un personal computer è descritto sinteticamente nei seguenti termini: Un utente acquista un nuovo hard disk con capacità di 250GB. Dopo averlo installato sul proprio Personal Computer, rileva che lo spazio libero a disposizione ammonta a solamente 240GB. Si discutano le possibili cause di tale discrepanza. [...] Intel QC i7-2600 3.4GHz, 8GB (2x4GB) DDR3 1333 Mhz, 2 x 500, GB Serial ATA on board con RAID 0/1, Intel Graphics Media Accelerator X4500 integrata [...] Si illustri il significato delle varie cifre e sigle riportate, e si caratterizzi la tipologia di computer descritto (desktop, worksation, server, di fascia alta o bassa, ...). Spiegare che cosa è la memoria cache e perché ne esistono diverse (I livello, II livello,...) nei sistemi di elaborazione. 10Si spieghi brevemente che cos’è la tecnica RAID 24Il bus USB è caratterizzato da facilità d’uso, connessione «a caldo», rilevazione automatica delle periferiche X B facilità d’uso, connessione «a freddo», rilevazione automatica delle periferiche C facilità d’uso, connessione «a caldo», rilevazione manuale delle periferiche D connessione «a caldo», rilevazione automatica delle periferiche, alto costo A 25Il BIOS è un programma residente nella RAM B è un circuito integrato presente sulla scheda madre C è il programma di configurazione del PC X D è un programma scritto dall’utente della macchina per inizializzare il sistema A Quesiti ESERCIZI 1 2 3 Commentare la seguente affermazione, dicendo se può essere corretta, e in quali casi: ...l’utente, per aumentare la velocità di elaborazione del suo computer, decide di installare una quantità doppia di memoria RAM... 4 Disegnare lo schema di una generica CPU e illustrare brevemente il ruolo dei suoi elementi e del- 142 4 Computer e si indichi per quale categoria di computer è particolarmente importante. 11Spiegare brevemente che cos’è interfaccia SAS, indicando qual è l’ordine di grandezza della sua velocità di funzionamento e su quali elementi di un sistema di elaborazione è tipicamente presente. 12Due sistemi di elaborazione sono costruiti in modo identico, fatta eccezione per il micro- processore. Si indichino quali sono i parametri quantitativi associati al microprocessore che possono determinare quale dei due sistemi di elaborazione è più veloce. 13Un personal computer configurato, secondo la scheda di seguito riportata, si vuole trasformarlo in una workstation cosa devo sostituire? 14Un viare posta elettronica quando è fuori dall’ufficio dove utilizza un personal computer Desktop, cosa potrebbe acquistare per soddisfare le sue esigenze con una spesa contenuta. 15Volendo assemblare una Workstation quali sono le componenti sono fondamentali per avere buone prestazioni? libero professionista desidera ricevere e in- Esercizi 143