IT Administrator Hardware Materiale didattico validato AICA Modulo 1 In collaborazione con IT administrator - Hardware Materiale didattico progettato per EUCIP IT Administrator segnalato da AICA Modulo 1 - Hardware “AICA, Licenziataria esclusiva in Italia del programma EUCIP (European Certification of Informatics Professionals) riconosce che il materiale didattico segnalato è strutturato in modo coerente con l’organizzazione dei contenuti prevista dai documenti EUCIP di riferimento. Di conseguenza AICA autorizza sul presente materiale didattico l’uso dei marchi EUCIP (registrato dal CEPIS Concil of European Professional Informatics Societies) ed AICA protetti dalle leggi vigenti.” 1.1 Introduzione al PC A scuola con PC Open Diventa esperto nell’hardware per PC Inizia un nuovo corso in 11 puntate, che permetterà di conseguire la certificazione EUCIP IT Administrator Hardware, riconosciuta a livello europeo. La prima lezione è dedicata alle schede madri e al BIOS di Marco Mussini componenti e le periferiche del nostro PC, un corso che toccherà e approfondirà i temi che gravitano attorno al mondo hardware. Dopo aver concluso con successo il modulo 5 del Syllabus (dedicato alla Sicurezza), ci spostiamo ora sul modulo 1 (Hardware) che è organizzato in collaborazione con Foxconn Italia e certificato da AICA, Associazione Italiana per l’Informatica e il Calcolo Automatico, la più importante associazione nazionale di professionisti di informatica, che ha come finalità principale lo sviluppo, fra i suoi aderenti e nella più vasta comunità nazionale, delle conoscenze attinenti la disciplina informatica in tutti i suoi aspetti scientifici, applicativi, economici e sociali. Il corso seguirà il Syllabus 2.0, modulo 1, della certificazione EUCIP – IT Administrator che serve per preparare l’esame in una delle sedi autorizzate. Iniziamo parlando di schede madri e di BIOS, la base su cui sono installati i componenti principali del nostro PC. I I componenti di base La tecnologia dell’informazione e della comunicazione (Information and Communication Technology, o ICT) ha per oggetto i sistemi progettati per immagazzinare, comunicare, elaborare informazioni. Anche se numerosissime classi di prodotti incorporano tecnologie e concetti dell’ICT, dagli elettrodomestici agli orologi da polso, dai sistemi di intrattenimento ai circuiti di controllo per il motore dell’auto, lo strumento principe per l’applicazione pratica dell’ICT, quello più diffuso e conosciuto e quello che sta avendo finora il maggior impatto sulla vita quotidiana delle persone, sulle modalità pratiche di lavoro in ogni campo, nonché sull’aumento della produttività, è il Personal Computer (PC), sulla cui approfondita conoscenza questo corso si focalizzerà. Componenti principali 1.1.1 Componenti principali 1.1.1.1 Comprendere i concetti fondamentali relativi all’hardware e software Lezione 1 Anche se verrebbe spontaneo associare il concetto di PC all’oggetto materiale che lo costituisce fisicamente, questa identificazione è superficiale e inesatta. In realtà quasi tutti i sistemi informatici, e segnatamente i PC, devono intendersi costituiti da due distinte componenti che potrebbero dirsi quasi in “simbiosi” dato che non avrebbero alcun senso né utilità l’una separata dall’altra. Queste due componenti sono l’hardware e il software. I fondamenti relativi all’hardware e software L’hardware di un computer è costituito dall’insie- PC Open 2 www.pcopen.it PDF DEL CORSO NEL DVD Calendario delle lezioni Lez 1: la scheda madre e il BIOS Lez 2: i processori Lez 3: la RAM Lez 4: bus e risorse di sistema Lez 5: interfacce Lez 6: memorie di massa Lez 7: i monitor e le schede grafiche Lez 8: le stampanti Lez 9: hardware di rete In collaborazione con Lez 10: alimentatori e installazione nuovo hardware Lez 11: risoluzione dei problemi me di parti materiali, come circuiti, telai metallici, cavi, motori, ventole, spie, interruttori, spine e prese, che concorrono a formare l’oggetto fisico e tangibile che comunemente chiamiamo computer. Questo insieme di parti è progettato per eseguire compiti estremamente semplici con la massima velocità, accuratezza e ripetibilità. Tali compiti includono, a titolo di esempio: • il trasferimento di un dato da una parte all’altra della macchina o fra questa e l’esterno, • la lettura o scrittura di un dato su memoria persistente o volatile, • l’accensione di un singolo puntino colorato sullo schermo, • l’emissione di un impulso acustico, • il rilevamento di un tasto premuto sulla tastiera, • la somma di due numeri interi. Come si vede, il tipo di compiti che l'hardware è in grado di eseguire direttamente è decisamente elementare e di scarso interesse. Tuttavia, eseguendo in modo finalizzato, coordinato e accuratamente sincronizzato un enorme numero di questi compiti elementari, è possibile svolgere compiti più utili e interessanti: • accendendo un gran numero di puntini sul video è possibile comporre immagini; • emettendo in modo ben preciso alcuni impulsi acustici è possibile riprodurre musica, voci e suoni; • ripetendo più volte il trasferimento di dati elementari dalla memoria locale non volatile alla porta di Lezione 1 IT administrator - Hardware comunicazione è possibile trasmettere informazioni complesse; • effettuando somme ripetute secondo uno schema preordinato è possibile calcolare un prodotto; e così via. In quest’ottica, il software è l’insieme di procedure codificate (programmi) che prescrivono come eseguire in modo coordinato queste grandi quantità di operazioni elementari per realizzare compiti di interesse applicativo significativo. Come già ricordato, hardware e software possono trovare utile impiego solamente insieme. Infatti, l’elaboratore senza programmi (hardware senza software) possiede la capacità di eseguire compiti, ma a un livello di astrazione troppo basso perché questi risultino, di per sé, di una qualche utilità pratica. Viceversa, un programma non associato a una macchina in grado di comprenderlo ed eseguirlo (software senza hardware), sebbene abbia un valore concettuale in sé, in quanto “cattura” e descrive compiutamente un procedimento valido e corretto per eseguire compiti complessi, da solo è inutile come lo sarebbe un insieme di procedure burocratiche senza funzionari che le conoscano e le applichino. I principali componenti del PC Concentriamo ora la nostra attenzione sull’hardware, che costituirà l’oggetto dell’intero corso. Verrà considerato in particolare l’hardware dei PC, anche se la maggior parte dei concetti di base è valida in generale per qualsiasi classe di elaboratore, dal microcontrollore per elettrodomestici al supercomputer per calcolo scientifico. Quasi tutti i computer oggi esistenti e la totalità dei personal computer sul mercato sono stati progettati secondo un’architettura logica di base che rappresenta un’evoluzione dell’impostazione di base dovuta a Von Neumann. Questa si riflette parzialmente anche sulla struttura fisica della macchina. L’hardware dei PC comprende infatti alcune componenti fondamentali con compiti chiaramente identificati. • La scheda madre (motherboard), detta anche scheda principale (main board). Si tratta di un circuito stampato di elevata complessità che provvede all’interconnessione elettrica fra le altre componenti interne elencate di seguito, fornendo anche le sedi (dette socket o slot, a seconda della forma piana o a fessura) per l’ancoraggio meccanico di alcune di esse, come la memoria, la CPU e le schede di espansione. Sulla motherboard circolano sia correnti elettriche di media potenza, destinate ad alimentare le varie componenti per consentirne il funzionamento, sia corren- La CPU è sede dell’esecuzione dei programmi: calcoli, confronti, decisioni, iterazioni, trasferimenti di dati avvengono qui o vengono controllati da qui. La sede che alloggia la CPU è posizionata sulla motherboard 1.1.1.2 Distinguere i principali componenti hardware del PC ti elettriche (estremamente deboli) usate per attuare concretamente la comunicazione dati fra una parte e l’altra. Di queste correnti, le prime sono fornite dalla sezione di alimentazione della macchina, che ne assicura la quantità e la stabilità; le seconde sono invece generate dai vari circuiti della macchina, in ultima analisi in base agli ordini contenuti nel programma in esecuzione. • L'unità centrale di elaborazione (central processing unit, CPU), fisicamente realizzata (“implementata”) mediante un microprocessore. La CPU si occupa di eseguire confronti e calcoli, di prendere decisioni, di ripetere compiti e di impartire ordini al resto della macchina perché questa memorizzi, riceva, trasmetta o visualizzi dati. È la CPU a eseguire, ad elevatissima velocità, le istruzioni che costituiscono i programmi. • La memoria di lavoro (RAM), in cui devono trovarsi i programmi e i dati durante l’esecuzione perché la CPU possa accedervi. Questa memoria è realizzata con una tecnologia elettronica a semiconduttori che garantisce un’elevata velocità di funzionamento e un tempo di accesso indipendente dalla particolare locazione che deve essere letta o scritta (Random Access Memory, RAM). Tuttavia il contenuto di questa memoria svanisce al venir meno dell’alimentazione, e perciò si parla di memoria “volatile”. • La memoria di massa, o persistente, è una forma di memoria con caratteristiche tali da renderla complementare alla precedente. La memoria di massa pone innanzitutto rimedio al problema della volatilità della memoria di lavoro, in quanto i dati in essa immagazzinati vengono mantenuti PC Open 3 www.pcopen.it La memoria di lavoro volatile contiene i programmi in esecuzione e i dati di impiego immediato. Realizzata con tecnologia a semiconduttori, ha tempo di accesso indipendente dalla locazione (donde il nome RAM) ed è fisicamente confezionata sotto forma di moduli comprendenti un certo numero di chip elementari La motherboard è il componente hardware che ospita direttamente e interconnette molte delle più importanti componenti del PC: CPU, memoria, schede audio e video, porte di espansione. Speciali cavi, inoltre, la collegano con altre componenti, come l’alimentatore e le unità di memoria di massa a disco La memoria di massa, solitamente basata su un principio di funzionamento magnetico o ottico anzichè puramente elettronico, conserva le informazioni immagazzinate anche quando il PC viene spento. Per grandi capacità la scelta obbligata sono le unità a disco fisso (hard disk), solitamente montate all’interno del cabinet, ma che in alcuni sistemi possono anche essere ad accesso frontale per consentire una facile sostituzione in caso di guasto IT administrator - Hardware La circuiteria che implementa il sottosistema video può essere integrata nella motherboard oppure essere realizzata su una scheda come questa, da collegare a uno degli slot di espansione presenti sulla motherboard. La scheda grafica può essere equipaggiata con una propria CPU specializzata (GPU), RAM e dissipatore La maggior parte delle porte di espansione offerte dal PC si trova sul retro, con la possibile eccezione di un paio di porte USB, Firewire o audio che possono essere replicate per comodità sul pannello frontale. Gli standard di formato delle motherboard prescrivono anche l’ubicazione delle porte. Per alcune di esse, come quelle audio oppure quelle per tastiera e mouse, anche il colore è standardizzato per lunghissimi periodi anche in mancanza di alimentazione. La sua capacità è molto maggiore di quella della memoria di lavoro, mentre la velocità è molto inferiore. Può essere di sola lettura oppure prevedere anche la possibilità di essere scritta, una sola volta oppure più volte. La memoria di massa è solitamente realizzata con tecnologia magnetica (hard disk), magneto-ottica o puramente ottica (CD, DVD, Blu-Ray): in tutti questi casi l'unità di memoria di massa ha parti in rotazione (disco) o comunque in movimento (testine). Stanno però facendosi rapidamente largo anche nelle memorie di massa le tecnologie basate su semiconduttori, che consentono la realizzazione di dispositivi completamente a stato solido (memorie flash). • Sottosistema video. Generalmente realizzato sotto forma di una scheda circuitale distinta dalla motherboard, con una propria memoria e una propria CPU ("scheda grafica" o "graphics board", la CPU è anche detta GPU – Graphic processing unit), questo blocco logico si occupa di mantenere una rappresentazione interna delle immagini da visualizzare sullo schermo, e di generare i segnali elettrici adatti a pilotare l'elettronica di tale periferica affinché il disegno generato dalle istruzioni del programma appaia sul monitor. In alcuni PC, per ragioni di miniaturizzazione oppure per ridurre i costi, il sottosistema video può anche essere integrato sulla scheda madre e può fare uso della stessa memoria di lavoro usata per programmi e dati ("memoria condivisa"). • Sottosistema audio. Anche in questo caso si parla spesso di "scheda audio" oppure di "audio integra- PC Open 4 www.pcopen.it Lezione 1 to" a seconda che la circuiteria sia ospitata da una scheda distinta dalla motherboard oppure a bordo della motherboard stessa. Sono presenti prese per collegare altoparlanti o cuffie esterne, nonché prese per entrata audio e microfono. • Porte di connessione ingresso/uscita (input/output, I/O). Questi connettori, e la circuiteria che gestisce i segnali elettrici in transito su di essi, servono per collegare dispositivi esterni ("periferiche") che collaborano con il PC nell'esecuzione dei suoi compiti - coadiuvandolo nella comunicazione con l’esterno con l’uomo (altoparlanti, monitor, tastiere, mouse) o con altre macchine (rete wired o wireless, porte USB, porte seriali e parallele, porte Firewire), - accrescendo quantitativamente le capacità intrinseche già presenti a livello elementare (dischi esterni aggiuntivi, sistema audio migliorato), - aggiungendo al PC capacità totalmente nuove (ricevitore TV, stampante e via dicendo). • Alimentatore. Questo sottosistema ha il compito di convertire i livelli elettrici della fonte primaria di alimentazione (per esempio: 220V, 50Hz) nell'insieme di tensioni stabilizzate (12V, 5V, 3.3V...) richieste dai componenti elettronici del PC per il proprio funzionamento. Particolarmente esigente in termini di accuratezza di regolazione è la CPU, che richiede una tensione stabilissima e precisa al centesimo di Volt. • Involucro o chassis. Si tratta del mobile plastico o metallico al quale sono ancorati la motherboard con il suo corteo di sottocomponenti, l'alimentatore, le unità disco e il pannello delle connessioni I/O. La sua struttura ha importanti implicazioni dal punto di vista funzionale (circolazione interna dell'aria di raffreddamento) e della manutenzione (facile accessibilità alle varie parti del sistema ed ai cablaggi che le interconnettono), oltre a determinare le possibilità di installazione e in qualche caso la stessa destinazione d'uso (desktop orizzontale o verticale, server in formato tower, blade o rack mounted, oppure notebook e tablet di varie possibili forme e dimensioni). Nel caso particolare dei notebook e tablet PC, l'involucro integra anche il monitor e deve rispondere a importanti requisiti di leggerezza, compattezza e resistenza. Nel caso dei desktop e server, l'involucro, con struttura metallica e qualche volta con esterno plastico, è spesso denominato chassis, case o cabinet; oltre alla disposizione verticale o orizzontale e al numero di sedi per unità disco esterne, la distinzione princi- Lezione 1 IT administrator - Hardware solo output, come stampanti, altoparlanti, monitor. Anche l’immagazzinamento (storage) dei dati può avvenire in modi diversi (su disco, in memoria RAM e così via) a seconda della quantità di dati e delle esigenze di elaborazione. Tuttavia le quattro fasi fondamentali di funzionamento, input, processing, storage e output, in qualche misura e in qualche forma, avvengono sempre. Tipologie di computer pale riguarda il cosiddetto "fattore di forma" (per es. ATX, mini-ATX, BTX), che determina, spesso in modo molto preciso, sia le dimensioni generali sia la disposizione delle varie parti interne. Fuori dall'unità centrale, che raccoglie le componenti sopra elencate, troviamo alcune parti esterne ("periferiche") che da un punto di vista logico fanno ancora parte del computer "base" in quanto generalmente indispensabili per il suo utilizzo: tastiera, mouse, schermo Principio di funzionamento del PC Chiarito che un personal computer è composto da hardware e software che possono funzionare utilmente solo l’uno in funzione dell’altro, vediamo una prima generalizzazione del principio di funzionamento del sistema complessivo. Scopo del PC è sempre quello di elaborare, secondo un programma memorizzato nella macchina, dei dati che in ultima analisi devono essere stati forniti dall’esterno, o quantomeno derivano da dati iniziali forniti dall’esterno. Il flusso di dati forniti in ingresso si definisce input, mentre quello dei risultati emessi in qualsiasi forma dalla macchina si dice output. La fase di elaborazione dei dati è detta processing, mentre la memorizzazione a lungo termine dei dati di input, o dei risultati intermedi o finali, è detta storage. Per esempio, un programma che calcola la media di N numeri deve ricevere in input il valore N e gli N numeri da elaborare; se sono particolarmente numerosi, i valori possono essere depositati su disco, altrimenti troveranno posto in memoria centrale; avrà quindi inizio la fase di elaborazione, al termine della quale il programma provvederà all’output del risultato, rappresentato da un numero. Questo schema generale si ritrova, a saperlo riconoscere correttamente, in tutte le situazioni d’impiego del PC. Quando navighiamo in Internet, alcuni input arrivano al PC da tastiera e mouse; come risultato, il programma (browser) incaricato di gestire la navigazione, e in esecuzione sul computer, provvede a generare degli output intermedi che possono essere richieste inviate via rete verso un sito Internet, al quale si richiede di spedire una pagina Web. Dopo pochi istanti da questo sito arrivano al PC dei dati (il codice HTML di cui si compone la pagina) che costituiscono un input supplementare, anch’esso elaborato dal browser per dare luogo all’output finale, rappresentato dalla visualizzazione sul monitor della pagina Web richiesta. In generale l’input può pervenire da una molteplicità di fonti e anche l’output, analogamente, può essere instradato verso numerose periferiche in grado di trattare flussi in uscita. Esistono periferiche bidirezionali, come la rete Ethernet e Wi-Fi, il Bluetooth, le porte a infrarossi, le porte USB, Firewire, parallela e seriale, il modem; periferiche per solo input, come tastiera, microfono, scanner e mouse; periferiche per Anche se tutti i computer sono composti da hardware e software e funzionano attraverso le quattro fasi operative citate, esistono ulteriori differenze dovute principalmente alla destinazione d’uso. La sezione di alimentazione è un componente la cui importanza ai fini del regolare funzionamento del sistema viene spesso sottostimata. La tensione primaria, 220V, viene elaborata e trasformata in varie tensioni secondarie stabilizzate, generalmente comprese fra 3.3 e 12V, che vengono distribuite ai vari punti del sistema per mezzo del fascio di cavi visibile nell’immagine Gli svariati usi del PC Il comune Personal Computer (PC) è destinato a un utilizzo per molteplici scopi (general purpose) da parte di un utente generico. Tipici impieghi includono l’accesso a Internet, l’utilizzo di posta elettronica e programmi di video scrittura, l’ascolto di musica, l’esecuzione di programmi educativi o di intrattenimento (giochi) e così via. Deve pertanto essere strutturato per poter assolvere a impieghi di ogni genere, anche a costo di non avere prestazioni da primato in ognuna di esse. La macchina deve cioè anteporre la flessibilità e la versatilità alla ricerca di prestazioni di punta in impieghi specialistici. Inoltre, l’investimento iniziale deve essere il più possibile contenuto, senza che venga preclusa la possibilità di successive espansioni per aggiungere alla macchina le capacità eventualmente mancanti. È quindi importante che la macchina disponga di ampi ma equilibrati margini di espansione, partendo da un adeguato supporto multimediale, un elevato numero di interfacce esterne di vari tipi (USB, Ethernet, Firewire, card reader,…), vari slot di espansione liberi, e così via. L’espandibilità è estremamente importante dato che per ragioni di costo non è ipotizzabile una frequente sostituzione dell’hardware. L’utilizzo deve essere semplice per poter servire l’utenza più ampia possibile, anche a costo di ostacolare leggermente il lavoro di un utente esperto. Di tutt’altro genere sono le esigenze dell’utilizzatore professionale per scopi altamente specialistici. Un progettista o disegnatore, per esempio, necessita di una macchina ottimizzata per le massime prestazioni grafiche, con schermi (anche multipli) di grandi dimensioni, tempi di risposta bassissimi, ampie capacità di memoria e in alcuni casi anche dispositivi di input di tipo avanzato, come mouse a più di due assi, tavolette grafiche e così via. Il funzionamento non deve lasciare spazio a incertezze, blocchi o malfunzionamenti e il tipo di configurazione è destinato a rimanere stabile almeno quanto la destinazione d’impiego. La macchina, vero e proprio strumento di lavoro quotidiano, deve certamente disporre di margini di espansione per ridurre l’obsolescenza, ma una sua sostituzione anche entro breve tempo potrà comunque essere presa in considerazione in base a valutazioni economiche. Questo tipo di computer è denominato workstation. Per fare un altro esempio di computer destinato a un impiego professionale, un computer per magazzinieri dovrà possedere caratteristiche particolari, come la leggerezza e la compattezza, la resistenza a urti e cadute, dovrà avere alcune speciali periferiche integrate (come un lettore di codici a barre), la capacità di funzionare senza fili e una buona PC Open 5 www.pcopen.it 1.1.2 Differenti tipi di PC 1.1.2.1 Differenziare fra: comune PC - stazione di lavoro [Workstation] - server 1.1.1.3 Comprendere il principio di funzionamento del PC: inserimento [input], elaborazione [processing], memorizzazione dati [storage], presentazione risultati [output] IT administrator - Hardware Un palmare è privo di tastiera e non offre un display di grandi dimensioni, ma in termini di CPU, RAM e memoria di massa è paragonabile a un PC da tavolo di 5-6 anni fa. In tema di connettività wireless (Bluetooth, WiFi, UMTS) spesso è addirittura più avanzato di molti portatili attuali e anche l’autonomia può essere superiore autonomia della batteria, una interfaccia di controllo (magari a touch screen) facile da usare e impiegabile anche con una sola mano, e così via. Le macchine destinate a funzionare non agli ordini di una singola persona, sia essa un utente generico o un utente professionale, ma piuttosto per supportare un qualche tipo di servizio informatico rivolto a utenti multipli (come un sito Web, un archivio dati, una stazione di backup, o la stessa esecuzione di applicativi via rete), sono dette server. Elementi essenziali di queste macchine sono la capacità di memorizzazione persistente, la potenza di calcolo, la quantità di memoria centrale e la velocità di accesso alla rete tutte ai massimi livelli e con ulteriori significativi margini di miglioramento grazie a una elevata espandibilità. Un server può anche essere privo di monitor e tastiera, dal momento che la stessa amministrazione viene eseguita da remoto. In compenso il suo funzionamento deve essere estremamente stabile ed essere assicurato, idealmente, in via ininterrotta. Il funzionamento cioè non dovrebbe interrompersi né per una (temporanea) mancanza di alimentazione, né per operazioni di manutenzione hardware e software, ordinaria e straordinaria (in un’ottica di business continuity). Per questo i server sono macchine del tutto particolari, con ampio uso di componentistica specifica e proprietà strutturali diverse da quelle dei PC e delle workstation. Anche il sistema operativo di un server possiede caratteristiche particolari, tendenti ad assicurare che il funzionamento non subisca interruzioni a causa di malfunzionamenti del sistema operativo stesso o ad operazioni di manutenzione o amministrazione. I computer Apple, fino a poco tempo fa l’alternativa al mondo “Wintel” 1.1.2.3 Conoscere le caratteristiche dei computer portatili (notebook, palmare/PDA, tablet computer) e postazioni per terminali Internet [Network Computer] 1.1.2.2 Conoscere le caratteristiche principali dei computer Apple Gli ultraportatili sono i notebook più piccoli e leggeri (poco più di 1 kg). Generalmente montano display da 12” ad alta risoluzione e processori Centrino per consumare il meno possibile e poter così offrire una buona autonomia nonostante la batteria piccola e leggera Nell’ambito dei Personal Computer, che sono in stragrande maggioranza basati su processori compatibili con l’architettura x86, i modelli basati sullo standard Apple hanno per anni costituito categoria a sé. Soprattutto in passato, le differenze fra gli Apple e i “normali” PC erano profonde e riguardavano l’hardware, il software e la filosofia generale in fatto di espandibilità e di profilo d’utente tipico. I computer Apple hanno montato per anni processori della famiglia Motorola 68000, per poi passare, in una seconda fase, ai processori PowerPC, fino a convergere anch’essi, in epoca recentissima, su processori Intel. Per quanto riguarda il sistema operativo, quello impiegato dai Macintosh si è sempre distinto da quello impiegato sui PC contemporanei. Dopo la lunga epoca di Mac OS, nel 2001 fu lanciato il Mac OS X, basato su Unix e ancor oggi fornito con i nuovi Mac. Fin dagli albori, tutti gli Apple Mac sono tipicamente stati caratterizzati da un look originale, moderno e pulito, sia nell’aspetto esteriore sia nell’interfaccia grafica del sistema operativo, e da una modalità d’uso particolarmente semplice anche per utenti inesperti. L’espandibilità, non eccelsa nei primi anni di storia a causa delle molte interfacce di I/O basate su standard proprietari Apple, col tempo è molto migliorata. In generale, grazie al processo di “avvicinamento” alla tecnologia dei normali PC in tema di CPU, bus e porte di espansione, i computer Apple sono progressivamente passati da una sorta di “isolamento in nicchia ecologica” degli albori, a un periodo in cui esistevano applicativi per Mac (come Office) che offrivano comunque piena compatibilità con il PC per quanto riguarda il formato dei dati, fino alla situazione attuale, in cui su un Mac è perfino possibile, volendo, installare e far girare Windows con le sue applicazioni PC Open 6 www.pcopen.it Lezione 1 assieme a Mac OS X. In conclusione, anche se i Mac conservano ancor oggi degli evidenti tratti distintivi che consistono essenzialmente nel look esteriore e nel sistema operativo specifico, il processo di convergenza tecnologica con i PC ha aumentato la compatibilità e moltiplicato le possibilità d’uso. Veniamo ora alla categoria dei computer portatili, a sua volta comprendente diverse sottofamiglie che si differenziano per dimensioni, modalità d’impiego e potenza. I palmari e i subnotebook, i PC in miniatura I dispositivi più piccoli e portatili, con importanti restrizioni soprattutto per quanto riguarda espandibilità e memoria di massa, sono i Personal Digital Assistant (PDA), spesso detti “palmari”. Sebbene siano veri e propri computer miniaturizzati, completi di tutte le funzioni fondamentali come CPU, RAM, memoria di massa, schermo a colori, interfacce di rete, fotocamera, telefono e così via, non sono adatti per lavori gravosi e di lunga durata, ma rispondono perfettamente alle esigenze del viaggiatore: leggerezza e minimo ingombro, facilità d’uso, connettività wireless. In ogni caso, data la rapidissima evoluzione tecnologia, le capacità di questi palmari raggiungono livelli di tutto rispetto, simili a quelle di PC da tavolo di solo 4-5 anni prima: le loro CPU raggiungono attualmente i 624 MHz, la RAM i 128 MB, lo schermo arriva alla risoluzione VGA (640x480 pixel), mentre la memoria di massa, basata su piccole schede flash rimovibili, è configurabile secondo necessità fino a un massimo (per ora) di 4 GB. Al crescere delle dimensioni, delle prestazioni e del peso troviamo i subnotebook, o ultraportatili. Questi sono dotati di una tastiera completa e di un display a coperchio (in genere con diagonale non maggiore di 12 pollici) e, chiusi, hanno un’impronta a terra minore di quella di un foglio di carta A4. Per contenere il peso e le dimensioni questi prodotti solitamente sono privi di floppy e unità ottica e anche la batteria è di volume ridotto. Quest’ultima limitazione si tradurrebbe in una autonomia operativa non eccelsa, se non Lezione 1 fosse per l’impiego di speciali processori a bassissimo consumo elettrico (definiti dai rispettivi produttori Ultra Low Voltage oppure Extreme Efficiency). Le prestazioni dei subnotebook sono abbastanza simili a quelle dei fratelli maggiori, i notebook, e anche la modalità operativa (tastiera, display ad alta risoluzione, trackpoint o mouse) è uguale a quella di un notebook e non a quella di un palmare. L’espandibilità in genere è assai ridotta, dato che per motivi di spazio il computer è quasi privo di slot e socket vuoti, connessioni USB e Firewire a parte. Tuttavia, molto spesso i subnotebook sono venduti con una “docking station”, sorta di piattaforma di ancoraggio da tavolo che in caso di viaggio viene lasciata alla base; la docking station può comprendere l’unità ottica e il floppy, un certo numero di porte e interfacce supplementari e in qualche caso anche una batteria più capace. Piuttosto elevato il prezzo, a causa dell’avanzata tecnologia che è necessario impiegare per miniaturizzare e alleggerire l’unità. Le differenze tra portatili Un gradino sopra i subnotebook ci sono i rappresentanti della fascia di mercato più ampia in termini di volumi di vendita, chiamati tout court “portatili”, o notebook (o laptop). Questi sistemi dispongono di uno schermo di grandi dimensioni (solitamente almeno 15” di diagonale, sempre più spesso in fattore di forma “wide screen” come 16:9), di processori molto veloci, di un disco fisso e una batteria ad alta capacità e integrano un’unità ottica; in qualche raro caso addirittura anche una seconda unità ottica o un floppy, nel qual caso si parla di “dual spindle” per specificare che, anche senza contare l’hard disk, vi sono due sedi occupate da memorie di massa. A causa soprattutto dell’elevato consumo elettrico della CPU e del display, però, la loro autonomia non sempre riesce a raggiungere valori ragguardevoli. Le prestazioni migliori sotto quest’ultimo aspetto si registrano sui modelli basati su CPU specifica a basso consumo per l’impiego mobile, come Pentium M, Core o Core Duo (per Intel) o Turion 64 X2 (per AMD). L’espandibilità rimane piuttosto limitata, tuttavia possibile aggiungere RAM e una o due schede PCMCIA con facilità, mentre il numero di porte USB e Firewire è tale da consentire l’aggiunta di diversi dispositivi esterni anche ad alta velocità. I notebook più potenti, con schermo di dimensioni molto grandi e fattore di forma Wide, tastiera talmente larga da avere talvolta anche un pad numerico, processore equivalente a quello di un desktop di fascia alta, sistema audio con altoparlanti integrati di grandi dimensioni, un gran numero di interfacce e slot di espansione, un peso ben superiore ai 3 Kg e auto- IT administrator - Hardware I classici notebook montano schermi da 14 o 15”, batterie di buona capacità e processori potenti. Integrano, inoltre, un’unità ottica e in qualche caso anche un drive per floppy nomia spesso piuttosto limitata, costituiscono una categoria a parte, definita “desktop replacement” o “trasportabili”, a indicare che il sistema ha una potenza tale da non far rimpiangere un comune sistema desktop, ma che non è idoneo all’utilizzo in mobilità, a causa di peso e ingombro molto elevati e dell’autonomia ridotta, che di fatto costringe spesso a cercare una presa di corrente per poter continuare a lavorare. Questi sistemi devono essere quindi visti come dei desktop che ingombrano poco spazio sul tavolo, non comportano una presenza eccessiva di cavi e all’occorrenza possono essere facilmente trasportati. Purtroppo il loro prezzo, a parità di prestazioni, è come minimo doppio di un desktop equivalente, e la loro espandibilità rimane limitata, sebbene risulti superiore a quella di un notebook normale. Un tipo molto particolare di notebook è il cosiddetto Tablet PC, nel quale il monitor, oltre a essere pieghevole, è ruotabile di 180 gradi, così da poter essere sovrapposto alla tastiera con il display esposto sul lato superiore. Oltre alla possibilità di essere ruotato in questo modo, lo schermo ha un’altra caratteristica fondamentale: quella di essere sensibile al tocco (touch screen). In dotazione con la macchina è fornito uno stilo che consente di puntare in modo preciso i vari punti dello schermo. L’utilizzo può così avvenire, anziché tramite tastiera e mouse, direttamente toccando lo schermo. L’immissione di testo, in particolare, può avvenire come sui palmari, “scrivendo” con lo stilo sullo schermo come se fosse un foglio di carta. In alcuni tipi di Tablet Computer, la struttura non è semplicemente derivata da quella di un notebook già dotato di tastiera, con l’aggiunta del perno di rotazione sul display e del touch screen, ma il computer è un’unica struttura solida e la tastiera manca del tutto: l’utilizzo come tablet diventa l’unico possibile e non un’opzione. Un originale tipo di PC portatile comparso recentemente sulla scena è il cosiddetto Ultra-Mobile PC (UMPC), le cui caratteristiche distintive sono: dimensioni compatte, intermedie fra quelle di un palmare e quelle di un subnotebook; peso di poco inferiore a 1 kg; potenza di calcolo simile a quella di un subnotebook (i processori attualmente utilizzati sono modelli a bassissimo consumo elettrico con clock fra 1 e 2 PC Open 7 www.pcopen.it Un Tablet PC si può utilizzare come un notebook oppure, ruotando lo schermo grazie all’apposito perno, come una sorta di palmare dallo schermo gigante, agendo direttamente sul display con lo stilo in dotazione A metà strada tra un palmare e un notebook, l’ultra mobile PC, si propone come una nuova concezione del PC portatile IT administrator - Hardware Le porte di connessione di un portatile sono solitamente poste ai lati e sono in numero limitato GHz); sistema operativo Windows XP Tablet PC Edition derivato dalla stessa “famiglia” di quelli adottati da laptop o desktop, anziché da quella dei palmari (Windows Mobile); buone capacità di connettività wireless (almeno WiFi e Bluetooth); aspetto “tutto schermo”, con utilizzo tipico senza tastiera, attraverso il touch screen da circa 7 pollici e almeno 800x600 pixel, azionabile con le dita o con lo stilo (ma alcuni modelli potranno comunque avere una tastiera estraibile o pieghevole). In questi PC il sistema operativo comprende una “shell” specifica, la “Ultra-Mobile PC Interface” progettata per facilitare al massimo l’utilizzo con le mani e il puntamento con dita o stilo (la shell di un sistema operativo è l’interfaccia di controllo attraverso cui si impartiscono i comandi fondamentali, come il lancio di applicazioni o le operazioni sui file). Spesso sono presenti opzioni multimediali come un GPS (per funzionalità di navigazione), una fotocamera (per consentire di scattare fotografie, girare video o comunicare in video chat) e un lettore di schede flash. L’hard disk ha una capacità tipicamente compresa fra 30 e 60 GB, la RAM è di solito di 512 MB o 1 GB. I prezzi sono ancora piuttosto alti, a partire da 1.000 euro. Le principali limitazioni imposte dai computer portatili 1.1.2.4 Conoscere le principali limitazioni imposte dai computer portatili 1.2 Schede Madri 1.2.1 Funzione 1.2.1.1 Comprendere il ruolo ricoperto dalla scheda madre 1.2.1.2 Conoscere le principali funzioni integrate nella scheda madre Seppure in misura variabile a seconda della famiglia di appartenenza, i computer portatili soffrono tutti di alcune significative limitazioni rispetto alle possibilità offerte dai computer fissi. Innanzitutto l’espandibilità, che è quasi del tutto affidata alle porte USB o Firewire: infatti, per ragioni di spazio, il numero di slot è ridotto e il tipo di slot non è il PCI, ma generalmente il PCMCIA, un fattore di forma nel quale non tutti i tipi di schede e interfacce sono disponibili e il prezzo è normalmente maggiore rispetto a quello di prodotti equivalenti in standard PCI. Incomincia anche a diffondersi la porta ExpressCard, capace di prestazioni maggiori rispetto alla PCMCIA, ma che per ragioni di “gioventù” acuisce ulteriormente il problema della disponibilità di prodotti. Anche l’espansione di memoria RAM è spesso condizionata da un ridotto numero di slot, il cui fattore di forma è specifico per sistemi portatili con la conseguenza di un innalzamento del prezzo dei moduli compatibili. Nel caso specifico dei palmari l’espansione di memoria RAM è addirittura impossibile, salvo casi rarissimi che in genere richiedono comunque la manomissione dell’unità. L’installazione di dischi fissi supplementari è possibile solo all’esterno del portatile, con collegamento USB o Firewire, mentre la sostituzione del disco fisso interno di solito è tecnicamente possibile ma nella maggior parte dei casi richiede di smontare l’unità, il che implica la decadenza della garanzia o la necessità di ricorrere (a caro prezzo) all’intervento di un centro specializzato. I dischi fissi montati sui portatili, che devono innanzitutto rispondere a requisiti di basso consumo e resistenza a urti e scosse, ben raramente superano i PC Open 8 www.pcopen.it Lezione 1 5.400 giri al minuto, mentre lo standard nei sistemi desktop è attualmente di 7.200 giri/min e alcuni modelli raggiungono i 10.000 giri. I PC portatili soffrono anche di limitazioni in ambito prestazionale, a causa dei limiti imposti da questioni di spazio, dissipazione termica e di autonomia. I processori più veloci destinati a sistemi fissi non possono evidentemente essere montati sui portatili, se richiedono dissipatori attivi di grandi dimensioni e se assorbono grandi potenze elettriche; tuttavia la tecnologia dual core ha recentemente consentito di realizzare processori (i Turion X2 di AMD e gli Intel serie Core/Core Duo) che erogano buone prestazioni anche a basse frequenze di lavoro, ciò ha avuto l’effetto di ridurre significativamente il gap di performance rispetto ai desktop. Anche le schede video per portatili hanno fatto notevoli progressi, ma rimangono lontane dai livelli di prestazioni possibili con i più potenti sistemi grafici per ambiente desktop. Altre limitazioni vengono dal fatto che quasi tutte le interfacce sono integrate sulla scheda madre. In particolare è vero specialmente su palmari e ultraportatili, in cui è difficile o impossibile sostituirle per un upgrade. Questo vale, per esempio, per le porte USB e Firewire, per la scheda di rete wired o wireless, per la funzionalità Bluetooth: qualora compaia una nuova revisione di uno o più di questi standard, potrebbe non essere fattibile un upgrade selettivo della relativa circuiteria, ma si sarebbe costretti a ricorrere a dispositivi esterni, ammesso che esistano (occupando però preziose porte di espansione), oppure a sostituire l’intera macchina. Fortunatamente, nei portatili di maggiori dimensioni, alcune delle interfacce citate sono realizzate su piccoli moduli zoccolati di tipo standard (esempio: MiniPCI) che permettono almeno teoricamente l’acquisto aftermarket e la sostituzione dell’accessorio. Il PC snello per la rete, il network computer Quando il computer è destinato all’utilizzo in ambito di rete, con connessione a server remoti che erogano tutti i servizi, inclusa, non di rado, la stessa esecuzione delle applicazioni, si parla di Network Computer, o di postazione per terminale Internet. La struttura di un computer di questo tipo può semplificarsi grazie all’abolizione o forte riduzione della memoria di massa locale e alla riduzione della potenza di calcolo della CPU. Entrambi queste componenti dell’architettura, infatti, in un Network Computer non devono più sopportare lo stesso carico di lavoro che li interesserebbe in un normale PC o in una workstation. Ciò che il Network Computer deve poter fare è soprattutto funzionare come terminale, ossia raccogliere l’input dell’utente (tastiera, mouse e così via), trasmetterlo al server, su cui avvengono le fasi di elaborazione ed eventuale memorizzazione, e ricevere i risultati per presentarli su schermo o via audio. Schede madri Come già accennato a proposito della struttura fisica di un computer, la scheda madre, o motherboard, è un circuito stampato multistrato di grandi dimensioni e di notevole complessità costruttiva, adagiato sul fondo del contenitore del computer. Le principali funzioni integrate nella motherboard Essa riveste la duplice funzione di ossatura meccanica (per l’ancoraggio delle altre componenti) e di sistema di interconnessione elettrica (per lo scambio di segnali fra le stesse componenti). In virtù di que- Lezione 1 sta doppia natura, potrebbe essere descritta come la “spina dorsale” del computer. La scheda madre ospita direttamente la CPU e i chip che funzionano da intermediari fra la CPU e la memoria e quelli che la collegano al bus di espansione ed alle periferiche. In qualche caso sulla motherboard può essere presente una certa quantità di memoria ad alta velocità (cache memory) destinata a ospitare i dati più frequentemente usati dalla CPU, per evitare di recuperarli dalla relativamente lenta RAM ogni volta che servono. In questo senso tale memoria veloce funziona come una sorta di “nascondiglio” (“cache”: di qui il nome) di dimensioni relativamente piccole, contenente informazioni usate spesso. Una certa quantità di cache (cache di primo livello, o L1 cache) è compresa nell’unità di calcolo del processore, ma per motivi tecnologici può essere dispendioso o difficile integrarne a sufficienza. Per questo i processori spesso comprendono una zona circuitale ben definita in cui trova posto altra cache (cache di secondo livello, o L2 cache) di dimensioni molto maggiori rispetto alla L1 anche se in qualche caso operante a frequenza più bassa. Soprattutto nel passato, poteva essere la motherboard e non la CPU a ospitare questa cache L2, oppure, con processori attuali che sono quasi sempre dotati di L2 integrata, sulla motherboard può esservi un ulteriore livello di cache, la L3, o saldata direttamente sulla scheda madre o ospitata su un modulo a essa collegato attraverso un socket di tipo particolare. Appositi connettori, detti socket, offrono alla sede la CPU e per uno o più moduli di memoria RAM, mentre altri connettori, detti slot, servono per ospitare una o più schede di espansione opzionali. Normalmente, parlando di motherboard, il termine “socket” viene usato per denotare connettori piani a matrice quadrata ad alta densità di contatti (pin), destinati ad accogliere circuiti il cui dialogo con il resto della macchina avviene mediante un gran numero di segnali ad altissima frequenza e con un elevato parallelismo (per esempio, un socket per CPU può contare anche 940 pin e attraverso di esso il processore può scambiare con l’esterno 128 bit per ogni ciclo di clock). In qualche caso il termine socket è usato anche per i connettori dei moduli di memoria RAM, nonostante la loro topologia sia lineare anziché a matrice quadrata piana. Data l’estrema importanza dei dispositivi che ospitano, quasi sempre i socket sono dotati di un dispositivo meccanico (ganci, levette di sgancio, riscontri) per evitare lo sfilamento accidentale del modulo o chip da essi ospitato e per garantire che il contatto sia estremamente saldo e senza incertezze da cui potrebbero derivare sporadici malfunzionamenti per la macchina. Il contesto logico di interconnessione (bus) fra CPU e memoria, ossia il “percorso” lungo il quale troviamo dei socket come connettori, è spesso chiamato “Front side bus” (FSB) e con tecnologie attuali opera a frequenze dell’ordine di 400-1000 MHz. I componenti hardware di base della scheda madre Il termine “slot” invece si riferisce normalmente a connettori rigorosamente lineari, con una densità di pin spesso inferiore rispetto a quella dei socket per la memoria, un numero di pin inferiore rispetto a quello dei socket per CPU e una frequenza di lavoro più bassa rispetto a quella dell’FSB, dell’ordine di 33-133 MHz. Dato che le esigenze sono meno estreme, le specifiche di funzionamento degli slot possono così essere IT administrator - Hardware Un tipico esempio di motherboard ATX. In senso orario, riconosciamo i connettori per il processore (1) e RAM (3), il northbridge chip (2), il connettore di alimentazione ATX (4), i connettori IDE P-ATA e S-ATA (5), il southbridge chip (6), gli slot PCI (7), gli slot PCI Express 1x e 16x (8), le porte di connessione (USB, Ethernet, parallela, seriale, audio, PS/2) (9) meno stringenti di quelle per i socket, pur restando estremamente precise dal punto di vista dimensionale ed elettrico per assicurare la necessaria compatibilità con prodotti di fabbricanti diversi. I socket per la RAM sono in genere non più di quattro per un personal computer e nella stragrande maggioranza, su una data motherboard, sono tutti dello stesso tipo (non è cioè possibile la coabitazione di diversi tipi di memoria). Gli slot invece, come vedremo più avanti, possono essere di vari tipi diversi, differenziati a seconda del tipo di scheda da ospitare o anche solo per garantire la compatibilità con schede di espansione di fabbricazione meno recente. Sempre sulla motherboard trova posto la circuiteria di controllo per molte porte di connessione, oltre alle porte stesse: porte USB e Firewire, porta seriale e parallela, porte PS/2 per mouse e tastiera; in qualche caso sono integrati su motherboard anche il sistema audio con le relative porte e il sistema grafico con il connettore VGA. La motherboard svolge anche un ruolo centrale nella distribuzione dell’alimentazione a tutti i componenti del PC. Un fascio di cavi esce dall’alimentatore e si impegna in un apposito connettore a 20 o 24 pin sulla motherboard e da qui le correnti vengono rese disponibili a tutti i circuiti attivi della macchina (CPU, moduli RAM, schede di espansione, circuiteria integrata su motherboard) e ad alcune ventole di raffreddamento, con l’unica eccezione delle unità disco e per altre ventole per le quali vi è un cavo di alimentazione diretto. Sulla motherboard trovano posto anche il chip di memoria che contiene il BIOS, il programma di controllo e configurazione di cui parleremo fra poco, e la batteria tampone al Litio, a forma di moneta, che assicura il mantenimento delle impostazioni del BIOS anche a computer spento. 1.2.1.3 Conoscere i componenti hardware di base della scheda madre, quali: zoccoli d’innesto per CPU (slot/socket), chipset, cache esterna, bus di sistema, porte di connessione, slot d’espansione ecc. 1.2.1.4 Essere in grado d’identificare i principali componenti hardware della scheda madre 1.2.2 Tipologie e differenze. Identificazione dei componenti hardware della scheda madre I componenti hardware della scheda madre Pur essendo tutte dotate delle componenti fin qui citate, le schede madri possono differenziarsi notevolmente in funzione della disposizione di socket, slot e connettori sul circuito stampato, nonché delle dimensioni fisiche complessive. Si parla così, per le motherboard, di “fattore di forma” (form factor). Le più vecchie schede madri per Personal Computer, per esempio, erano realizzate secondo le norme PC/XT di IBM e subito diventate uno standard di fatto per tutti i produttori di “cloni”. La PC Open 9 www.pcopen.it Una motherboard in formato ATX IT administrator - Hardware 1.2.2.1 Conoscere le diverse tipologie di formato delle schede madri e le relative differenze di standard, quali: AT, ATX, BTX, LPX, NLX e via dicendo 1.2.2.2 Conoscere le differenti connessioni su schede madri con specifiche diverse 1.3 Il BIOS 1.3.1 Caratteristiche di base 1.3.1.1 Sapere cos’è il BIOS, dov’è fisicamente memorizzato, a quali funzioni di sistema presiede prima evoluzione di queste specifiche ha dato luogo nel 1984 al fattore AT (Advanced Technology), caratterizzato da grandi dimensioni (305 mm di larghezza), un’alimentazione da 192 watt con due connettori da 6 pin ciascuno e un nuovo sistema per il raccordo con l’interruttore di alimentazione; il pannello posteriore della motherboard (backplate) prevedeva un’unica connessione, quella verso la tastiera. Tutte le altre porte dovevano essere fornite dal backplate delle varie schede di espansione ISA oppure essere realizzate con connettori avvitati al cabinet e connessi alla motherboard mediante cavi volanti. Nel 1985 fu proposta una variante leggermente più piccola di questo standard, detta Baby AT, che riscosse un successo molto maggiore e con cui ancora oggi sono compatibili gli involucri fisici per PC (case o chassis). Nel 1995 fu lanciato il formato ATX – acronimo di Advanced Technology Extended - che ancora oggi, a più di 10 anni di distanza, rimane il più diffuso sul mercato. Le novità rispetto all’AT furono numerose: • nell’ATX, l’interruttore di alimentazione è collegato alla motherboard e non all’alimentatore; • il connettore di alimentazione, monoblocco da 20 pin affiancabile da estensioni opzionali da 4 pin o da 8 pin nel caso di CPU recenti ad alte prestazioni con elevato fabbisogno di energia come il Pentium 4, deve fornire anche una tensione di 3.3V, il che elimina la necessità da parte della motherboard di integrare i circuiti analogici necessari per derivare tale tensione dai 5V forniti in precedenza dall’alimentatore AT; • la disposizione reciproca delle schede e della CPU è diversa; il pannello posteriore comprende un gran numero di connessioni solidali con la motherboard (senza cavi volanti) e con una disposizione rigidamente definita, sebbene alcune porte opzionali possano mancare. Il back panel ATX in particolare definisce dove debbano trovarsi, se presenti, le porte PS/2 per mouse e tastiera, le porte jack dell’audio integrato, la porta DB15 della grafica integrata, la porta RJ-45 della scheda di rete integrata, le porte a 9 e 25 poli per seriale e parallela, le 2 o più porte USB, la porta Firewire. Per le parti in plastica dei connettori PS/2 di tastiera e mouse e per quelli jack 3.5” del sistema audio sono specificati anche i colori, onde facilitare il riconoscimento di porte altrimenti uguali fra loro. Varianti dell’ATX lanciate successivamente sono la Mini-ATX e la Micro-ATX, che rappresentano tentativi di miniaturizzazione pensati per consentire la realizzazione di PC sempre più piccoli, fra cui perfino i cosiddetti sistemi “cube-style” da salotto. Nel 2003 Intel ha lanciato il nuovo fattore di forma BTX, pensato soprattutto per razionalizzare la venti- Il Mini-ITX del 2002 è un form factor originale utilizzato in sistemi di dimensioni ridotte PC Open 10 www.pcopen.it Lezione 1 lazione e i cablaggi, due questioni rilevanti soprattutto nelle ultime serie di schede grafiche e processori ad alte prestazioni che possono assorbire elettricamente, e quindi dissipare termicamente, anche più di 100W di potenza ciascuno. Questo fattore di forma non ha avuto il successo sperato, anche perché le attuali tendenze sembrano indicare un ritorno alla ragionevolezza: anziché inventare motherboard adatte a facilitare la dissipazione di calore da processori sempre più “caldi” ed energeticamente inefficienti, ci si dedicherà a risolvere il problema alla radice, abbattendo proprio i consumi elettrici delle CPU e facendo venir meno molti dei presupposti dietro allo sviluppo del nuovo standard BTX. Lo standard LPX è un fattore di forma pensato per consentire la realizzazione di PC sottili, o Low Profile (da cui deriva l’acronimo). Questo risultato è ottenuto montando le schede di espansione non perpendicolarmente alla motherboard – ciò che comporterebbe automaticamente uno spessore minimo di una quindicina di centimetri circa – ma parallelamente ad essa, grazie all’espediente di montare una piccola scheda di raccordo, o riser board, che “innalza” (to rise) gli slot e li orienta orizzontalmente. Lo standard NLX è un altro standard low profile basato su riser board, come l’LPX. Meritano un cenno per la loro originalità gli standard ITX del 2001, da 215x191 mm, il Mini-ITX del 2002, da 170x170 mm, e il Nano-ITX del 2004, da appena 120x120 mm. Questi form factors consentono la realizzazione di sistemi minuscoli ma dotati di tutte le principali funzioni ed altamente integrati, utilizzabili fra l’altro per realizzare sistemi embedded o PC destinati all’installazione in auto. Il BIOS Anche se il funzionamento generale della macchina è governato dal sistema operativo (Operating System, OS), come Windows o Linux, le particolarità costruttive della macchina fanno sì che l’OS, per svolgere alcuni compiti basilari su cui costruire le operazioni più “ricche” e complesse messe a disposizione delle applicazioni, debba rivolgersi a un interlocutore in grado di parlare una “lingua“ standard, nascondendo i dettagli elettrici e logici specifici dell’hardware della particolare macchina su cui l’OS viene installato e fatto funzionare. Questo, disaccoppiando le applicazioni e il sistema operativo dall’hardware, semplifica la progettazione dell’OS, da un lato, e permette ai costruttori di computer di avvalersi di una certa libertà progettuale, dall’altro. Infatti chi progetta Windows non deve più preoccuparsi di quali segnali elettrici e temporizzazioni è necessario usare nella comunicazione, poniamo, fra il southbridge chip e le porte USB, ma si limita a dialogare con un interlocutore standard. Questo interlocutore è il BIOS (Basic Input/Output System), un programma relativamente piccolo ma di fondamentale importanza, sempre più spesso memorizzato su chip EEPROM (memoria programmabile a sola lettura cancellabile elettricamente: Electrically Erasable Programmable Read Only Memory detta anche memoria flash ). Il chip del BIOS è fisicamente alloggiato sulla motherboard e può essere aggiornato senza interventi hardware qualora il fabbricante si accorga di bug che richiedono una correzione oppure decida di inserire prestazioni aggiuntive. L’aggiornamento del BIOS è un’operazione che non richiede di intervenire fisicamente sul PC, ma si esegue da software, scarican- Lezione 1 IT administrator - Hardware Il BIOS (qui un Award WorkstationBIOS di Phoenix Technologies) presenta generalmente un menu principale da cui sono raggiungibili tutte le varie categorie di opzioni Le impostazioni di base del BIOS riguardano fondamentalmente data, ora e unità disco do dal sito del produttore una utility che gestisce la cancellazione e riscrittura della memoria e un nuovo “file immagine” che andrà a rimpiazzare l’attuale programma memorizzato nel BIOS chip. È molto importante che durante l’operazione non si verifichino interruzioni o interferenze software di alcun genere, dal momento che la corretta programmazione del nuovo BIOS ne potrebbe risultare compromessa e in assenza di un BIOS valido il PC non soltanto potrebbe non avviarsi più, ma, quel che è peggio, potrebbe perdere la capacità di aggiornarsi, richiedendo un intervento hardware. In questo malaugurato caso, qualora il chip BIOS sia fissato in uno zoccolo, ossia fissato alla motherboard in modo non irreversibile, potrà essere sufficiente sostituirlo con un altro dal contenuto valido. In caso contrario, essendo esclusa la possibilità di un rimpiazzo, potrebbe essere impossibile rimediare al problema se non sostituendo l’intera motherboard. Il BIOS sovraintende anche a regolazioni e impostazioni di funzionamento della macchina che per il sistema operativo rimangono completamente trasparenti. Un esempio è l’impostazione della frequenza di lavoro della memoria RAM: OS e applicazioni assumono che la RAM esista e si sentono liberi di scriverla e leggerla, ma non possono variare le caratteristiche elettriche e logiche dell’interfaccia fra CPU e memoria. Altri esempi sono l’impostazione della frequenza di lavoro della CPU; l’abilitazione o disabilitazione della cache memory; l’abilitazione o disabilitazione di alcune periferiche integrate sulla motherboard come le porte USB, il controller dei dischi, la scheda grafica, la scheda audio; l’identificazione esatta e la configurazione delle unità disco presenti; e così via. Power-On Self Test (POST) e comprende di solito il test della memoria per escludere eventuali guasti, il riconoscimento delle unità disco collegate, il controllo di presenza della tastiera, il riconoscimento e attivazione alla giusta frequenza della CPU e delle schede grafiche installate, e così via. Qualora venisse riscontrato qualche inconveniente in qualcuna di queste componenti, il POST si arresterebbe segnalandolo e permettendo di entrare nella utility di configurazione del BIOS, oppure di riavviare il PC, oppure ancora di rimediare al problema (per esempio: tastiera scollegata) e ritentare l’avvio. L’utility di configurazione del BIOS è detta BIOS Setup; qualche volta è detta anche CMOS Setup, in quanto le impostazioni in essa disponibili, per essere “ricordate” anche quando l’alimentazione viene a cessare, vengono salvate su memoria non volatile oppure, più spesso, su un’area di memoria volatile realizzata in tecnologia CMOS (da cui il nome) salvata da una batteria tampone. Tale batteria ha l’aspetto della classica “monetina” visibile in apposita sede su quasi tutte le motherboard attuali, spesso posizionata nei pressi del chip EEPROM o flash che contiene il BIOS. Le impostazioni di base settabili dal BIOS Le impostazioni del BIOS sono generalmente suddivise in categorie; le opzioni di base e le “advanced options” sono presenti su tutte le macchine, mentre le altre categorie sono disponibili a seconda della configurazione hardware e della versione di BIOS installata. Le impostazioni di base comprendono ad esempio: • data e ora, presenza e tipo di unità floppy disk, presenza, tipo, geometria e capacità delle unità hard POST, CMOS e firmware Di tutto questo si può incaricare il BIOS, che, interloquendo con il northbridge chip e altra circuiteria presente sulla motherboard, può regolare aspetti di dettaglio che il sistema operativo non può o non “vuole” vedere, perché troppo di dettaglio e troppo specifici dell’hardware della macchina, sebbene siano estremamente rilevanti per le prestazioni (una cattiva regolazione della frequenza di lavoro di memoria e bus, una disattivazione della cache L2, un abbassamento del clock del processore possono ridurre la velocità dei programmi in modo anche sostanziale). All’accensione il BIOS espleta anche un’altra delle sue funzioni, eseguendo una verifica del corretto funzionamento di tutte le componenti hardware sotto il suo diretto controllo e per le quali è deputato a conoscere la configurazione. Questa verifica è detta 1.3.1.3 Conoscere quali sono le impostazioni di base settabili dal BIOS Il chip di memoria contenente il BIOS affiancato dalla batteria tampone in formato “moneta” che si occupa di mantenere le impostazioni immagazzinate dal BIOS nella memoria volatile CMOS 1.3.1.2 Comprendere il significato degli acronimi: POST, CMOS e dei termini: setup, firmware. Sapere a quali funzioni di sistema presiedono Le opzioni avanzate del BIOS sovraintendono a questioni spesso importanti quali la sequenza di periferiche da considerare per l’esecuzione del bootstrap, la cache della CPU, la semplificazione del POST per accelerare il boot, l’autorepeat della tastiera e così via PC Open 11 www.pcopen.it IT administrator - Hardware Lezione 1 Il funzionamento della RAM è governato da 5 parametri principali: la frequenza di lavoro e i valori di RAS, CAS, RCD e RP. Alcuni BIOS permettono di impostare selettivamente questi valori per adattare il funzionamento del sistema al tipo di memoria installata Il controller RAID, se presente, è di solito configurabile da una apposita sottopagina del menu Integrated Peripherals disk, • presenza e tipo di unità ottiche (CD ROM, DVD ROM, combo drive, masterizzatori) Va detto che il BIOS non può riconoscere automaticamente le unità floppy, mentre quelle IDE o SATA (hard disk o unità ottiche) possono essere anche riconosciute in modo completamente automatico. Nel caso specifico degli hard disk il riconoscimento automatico riguarda anche il numero di cilindri, testine e settori per traccia (i parametri che definiscono la cosiddetta geometria dell’hard disk e quindi, in ultima analisi, anche la sua capacità). In casi particolari, tuttavia, può essere utile impostare manualmente i parametri di geometria, come pure selezionare la modalità di indirizzamento dei settori sul disco (per esempio la modalità LBA, Large Block Addressing, o il supporto per dischi di capacità superiore a 137 GB, con il cosiddetto modo 48-bit LBA). Le impostazioni avanzate comprendono • Abilitazione di una versione “rapida” del POST • Impostazione dell’ordine con cui deve essere tentato il boot dalle varie periferiche possibili: floppy, USB, ZIP o simili, hard disk, CD ROM • Abilitazione o disabilitazione della cache L1 o L2 della CPU • Parametri di auto-repeat per la tastiera (ritardo di innesco e periodo di ripetizione) • Abilitazione o disabilitazione della tecnologia Hyper Threading per CPU Pentium che la supportano • Impostazioni riguardanti l’eventuale controller SCSI, se installato • Abilitazione di una protezione antivirus, efficace Un’apposita schermata del BIOS, “Integrated Peripherals”, è dedicata alla gestione delle periferiche integrate direttamente su scheda madre e consente di configurarle e attivarle/ disattivarle PC Open 12 www.pcopen.it solo contro certi comportamenti riconoscibili di certi virus Altre opzioni avanzate ancora più specifiche, che regolano il funzionamento di CPU, RAM e chipset (Northbridge e Southbridge) vanno solitamente sotto il nome di “advanced chipset options” e riguardano: • Frequenza di lavoro della CPU, determinata dalla frequenza del bus FSB, o da quella verso la memoria, moltiplicata per un fattore numerico (detto appunto “moltiplicatore”) • Configurazione della memoria e dei suoi parametri di lavoro, come RAS, CAS, RCD e RP • Impostazioni relative al caching del BIOS su RAM (per velocizzarne il funzionamento) • Impostazioni relative alla mappa della memoria: per esempio, spazio riservato alla comunicazione sul bus AGP • Frequenza di lavoro dell’eventuale bus AGP per schede grafiche (per esempio: 8x) Un cenno a parte merita la questione della gestione delle periferiche Plug and Play su bus PCI (PnP/PCI). La locuzione “Plug and Play” si riferisce al fatto che queste schede d’espansione sono progettate per essere riconosciute e configurate automaticamente semplicemente perché sono state installate fisicamente nel sistema. In passato questo non era sufficiente, perché oltre all’installazione nello slot era anche richiesta una attività di regolazione fisica della posizione di alcuni ponticelli (jumper) sulla scheda per definire quali risorse di sistema (in primis, gli interrupt, o IRQ, e i canali di accesso alla memoria, o DMA) fossero necessarie. La coabitazione di più schede sul bus, con il rischio di sovrapposizioni e conflitti nella scelta di tali impostazioni, rendeva difficoltosa un’esatta definizione di questi assegnamenti. Il sistema plug and play mira a risolvere il problema, effettuando automaticamente una scelta che garantisca al tempo stesso di evitare reciproche interferenze fra le schede. Il BIOS gioca un ruolo di primo piano in questo processo: proprio a questo sono dedicate alcune impostazioni nell’apposita sezione “PNP/PCI Configuration”, in cui è possibile • stabilire se è installato un sistema operativo in grado di supportare il PNP, • abilitare o disabilitare l’assegnazione automatica di IRQ e DMA, oppure scegliere l’assegnazione manuale. È spesso presente anche un sottomenu “Integrated Peripherals” che consente la gestione, configurazione e abilitazione (o disabilitazione) delle periferiche inte- Lezione 1 IT administrator - Hardware Le impostazioni di gestione energetica consentono di ridurre i consumi elettrici e prolungare la vita utile dei componenti della macchina, oltre a determinare l’esatta politica di funzionamento del pulsante di accensione (standby, suspend, switch off). grate sulla scheda madre. Per esempio, la scheda video, la scheda audio, il controller USB, il controller per floppy disk, le porte seriali e parallele, la porta a infrarossi. Su alcune schede è presente anche un controller RAID per aumentare le prestazioni o l’affidabilità dei dischi fissi utilizzandone un maggior numero; in tal caso, questo menu generalmente contiene anche le regolazioni relative a tale controller. Un apposito menu Power Management Setup permette di abilitare vari possibili modi di sospensione (a seconda di quali sono supportati dal chipset), di far sì che gli hard disk si disattivino automaticamente in caso di inattività prolungata, di stabilire esattamente che cosa debba avvenire quando viene premuto il pulsante di spegnimento mentre il PC è acceso: sospensione, standby, oppure spegnimento vero e proprio. Se è presente un menu “PC Health Status” esso permette di osservare le temperature e le tensioni elettriche rilevate in vari punti della motherboard, nonché di specificare le soglie di temperatura oltre le quali le varie ventole di raffreddamento debbano attivarsi a velocità media o alta o disattivarsi. Verifica e aggiornamento del BIOS Come tutti i programmi anche il BIOS può contenere errori ed essere soggetto a perfezionamenti e miglioramenti. Pertanto è prevista la possibilità di aggiornarlo, per esempio in caso di malfunzionamenti o per aggiungere il supporto di qualche nuova caratteristica. Anche se i BIOS in circolazione sono sviluppati da poche software house specializzate, fra le quali Phoenix Technologies con il suo diffusissimo Award BIOS, l’aggiornamento va scaricato dal sito del pro- All’accensione il BIOS visualizza una serie di informazioni utili per identificare la versione esatta. Sarà così possibile scegliere un aggiornamento adatto per scaricarlo, quando necessario, dal sito del produttore della motherboard duttore della motherboard in quanto il BIOS potrebbe avere subito degli adattamenti specifici per permetterne l’uso su uno specifico hardware. Per scaricare l’aggiornamento del BIOS dal sito del produttore è necessario conoscere con esattezza il modello della propria motherboard e la versione del BIOS attualmente installato. A tale scopo le informazioni di versione e modello sono visualizzate dal BIOS all’accensione, per alcuni secondi, per permettere all’utente di annotarle. I codici di versione del BIOS possono essere più d’uno, a causa del fatto che una determinata versione di base del BIOS, rilasciata dal produttore del BIOS, con un certo insieme di funzionalità standard, menu e impostazioni, e identificata da un suo codice di versione (come v6.00PG, in alto a destra nell’immagine), per poter essere impiegata su una specifica motherboard potrebbe aver richiesto alcune modifiche per adattarla alle specifiche caratteristiche elettriche e logiche del chipset, delle periferiche integrate e degli slot e socket presenti sulla scheda madre. Questa personalizzazione dà quindi luogo a una versione di BIOS specifica, o “custom”, frutto del lavoro di adattamento effettuato congiuntamente dal produttore della motherboard e da quello del BIOS di base; l’identificazione precisa di tale versione è data di solito da un’altra stringa, spesso contenente anche la data, riportata in altra zona dello schermo durante il processo di start-up (secondo riquadro in figura). Infine, il codice esatto di versione e revisione hardware della motherboard, da non confondersi con quello software relativo al BIOS installato, è generalmente anch’esso riportato sulla schermata di POST, di solito in fondo allo schermo (terzo riquadro in basso in figura). L’aggiornamento del BIOS è un’operazione delicata che va effettuata in caso di reale necessità e con grande cura. Per effettuare l’aggiornamento è necessario scaricare, insieme all’immagine del BIOS stesso, un programma in grado di effettuare la cancellazione della memoria flash o EEPROM in cui è memorizzato l’attuale BIOS e la successiva scrittura della nuova versione. Anche tale programma è scaricabile dal sito del produttore della motherboard. È importante seguire scrupolosamente le istruzioni per il suo utilizzo; durante il funzionamento del programma, inoltre, è bene evitare, nei limiti del possibile, qualsiasi interruzione della riprogrammazione del BIOS. PC Open 13 www.pcopen.it 1.3.2 Aggiornamento 1.3.2.2 Sapere come verificare l’attuale numero di versione del BIOS. 1.3.2.3 Essere in grado di verificare o modificare i settaggi del BIOS relativi alle impostazioni delle periferiche PnP Il menu PC Health Status, se presente, consente il monitoraggio di voltaggi e temperature in vari punti della motherboard, e permette di impostare le soglie di temperatura oltre le quali debbano attivarsi le varie ventole di raffreddamento Lezione 2 IT administrator - Hardware A scuola con PC Open Come funzionano le diverse classi di processori Nella seconda puntata prendiamo in considerazione il cuore del PC, il microprocessore. Funzionalità, architetture, alloggiamenti a confronto per capire come funzionano le CPU di Marco Mussini ome già accennato nella I puntata, non sarebbe azzardato affermare che il “cervello” del Personal Computer è il suo processore: un componente che si incarica di eseguire ad elevatissima velocità le istruzioni che compongono i pro- Il microprocessore, o CPU (Central grammi, il sistema Processing Unit), è il vero e proprio operativo, i driver di “cervello” di ogni PC periferiche, sovraintendendo sia all’elaborazione dei dati, sia all’interscambio di dati con l’esterno, sia al controllo delle periferiche. In molti casi, importanti compiti che l’hardware deve eseguire per un regolare funzionamento della macchina vengono portati avanti in modo autonomo da apposita circuiteria specializzata, come il north bridge, il south bridge o i chip della scheda grafica; ma quasi sempre è il processore a dover intervenire per sovraintendere a questi processi, ossia per innescarli, interromperli, regolarli, monitorarli. Ancora, quando una periferica in grado di scambiare dati con l’esterno ha ricevuto dei dati da elaborare, è sempre il processore a essere informato attraverso un “interrupt”, una sorta di chiamata urgente che lo forza a interrompere qualunque cosa stia facendo e a occuparsi dell’evento che si è verificato, di solito eseguendo un apposito programma di controllo (device driver). C Caratteristiche principali Tutti i processori moderni hanno una struttura logica che comprende un certo numero di parti fondamentali: • ALU (Arithmetic – Logic Unit). La ALU si occupa di eseguire le operazioni aritmetiche su numeri interi e quelle logiche. Tali operazioni comprendono ad esempio, oltre alle quattro operazioni, i confronti, i salti da un punto all’altro del programma, le decisioni, i trasferimenti di dati fra aree di memoria, gli scambi di dati da e verso il bus di sistema. PDF DEL CORSO NEL DVD Calendario delle lezioni Lez 1: la scheda madre e il BIOS Lez 2: i processori Lez 3: la RAM Lez 4: bus e risorse di sistema Lez 5: interfacce Lez 6: memorie di massa Lez 7: i monitor e le schede grafiche Lez 8: le stampanti Lez 9: hardware di rete In collaborazione con Lez 10: alimentatori e installazione nuovo hardware Lez 11: risoluzione dei problemi • FPU (Floating Point Unit, o unità a virgola mobile). La FPU aggiunge al processore la capacità di gestire con elevate prestazioni calcoli aritmetici, trigonometrici, logaritmici e trascendenti su numeri in virgola mobile. In passato, per ragioni di costo, la maggior parte dei processori era priva della FPU e tali operazioni dovevano quindi essere simulate in software basandosi solo sulle capacità della ALU. Per eseguire tale tipo di calcoli, quindi, di fatto venivano eseguiti veri e propri sottoprogrammi di durata non trascurabile. Una FPU può invece eseguire queste istruzioni direttamente in hardware, in tempi ridottissimi. I calcoli in virgola mobile sono di particolare importanza soprattutto per la grafica 3D, per il cal- PC Open 15 www.pcopen.it Materiale didattico progettato per EUCIP IT Administrator segnalato da AICA Modulo 1 - Hardware “AICA, Licenziataria esclusiva in Italia del programma EUCIP (European Certification of Informatics Professionals) riconosce che il materiale didattico segnalato è strutturato in modo coerente con l’organizzazione dei contenuti prevista dai documenti EUCIP di riferimento. Di conseguenza AICA autorizza sul presente materiale didattico l’uso dei marchi EUCIP (registrato dal CEPIS Concil of European Professional Informatics Societies) ed AICA protetti dalle leggi vigenti.” Struttura a blocchi di un microprocessore. In evidenza ALU, registri, FPU, cache memory e interconnessione al bus 1.4.1 Caratteristiche principali IT administrator - Hardware colo scientifico e per l’elaborazione video e audio con compressione dati ed analisi nel dominio delle frequenze. I registri per applicazioni generiche (General purpose registers, GPR) caratterizzano in modo forte l’architettura di una famiglia di CPU; è in base alla loro ampiezza che si parla, per esempio, di “CPU a 32 bit o a 64 bit”. Per esempio, nei processori x86 con estensioni 64 bit, i registri GPR sono cresciuti di numero e passati a 64 bit di larghezza • Registri. Queste particolari celle di memoria incorporate nel processore lavorano ad altissima velocità, vengono adoperate come aree d’appoggio per i dati intermedi dei calcoli e il loro uso non comporta alcun ritardo o attesa per la CPU. Anche se molte CPU moderne possiedono anche istruzioni in grado di trattare confronti e calcoli operando solo su dati direttamente prelevati dalla RAM, i processori sono costruiti in modo tale che la maggior parte delle operazioni di calcolo e confronto deve avvenire, per ragioni di prestazioni o anche solo per semplicità costruttiva, fra registri oppure fra un registro e una cella di memoria. I registri rappresentano infatti per i programmi in codice macchina quello che le variabili rappresentano per linguaggi a maggior livello di astrazione come il C. In generale, un maggior numero di registri favorisce un aumento delle prestazioni, in quanto il programma può essere tradotto dal compilatore in codice macchina organizzato in modo tale da tenere tutte le principali variabili nei registri fisici della CPU, senza bisogno di lente operazioni di spostamento dati da e verso la memoria. Un altro modo per aumentare le prestazioni è l’aumento delle dimensioni dei registri, che consente di effettuare calcoli su dati numerici di grande valore assoluto, oppure su grandi gruppi di bit, in un sol colpo anziché per parti. Per esempio, nei moderni processori x86 dotati di estensioni a 64 bit, denominate AMD64 da AMD o EM64T da Intel, i registri di uso comune sono stati portati da 32 a 64 bit e aumentati di numero. Anche le speciali istruzioni SSE per il calcolo matriciale e vettoriale, previste dall’assembler x86, per analoghe ragioni di efficienza lavorano su ben 16 registri di ampie dimensioni (128 bit). Per contrasto, 30 anni fa, il celeberrimo processore 6502 su cui si basavano l’Apple II, il Commodore 64 e tante altre macchine di larghissima diffusione, disponeva di un unico registro utilizzabile per i calcoli: il cosiddetto accumulatore, che doveva necessariamente giocare il ruolo di addendo o fattore in ogni calcolo aritmetico, confronto o spostamento di dati effettuato dal processore. È immediato riconoscere che con un’impostazione del genere il programma era costretto a sprecare molte istruzioni solamente per spostare i dati da e verso l’accumulatore prima di poter svolgere un qualsiasi compito utile. In sostanza, era come se parte dei cicli di cloc venisse sprecata, o, in ultima analisi, come se il cloc fosse stato più basso. Con il gran numero di ampi registri a disposizione, i processori moderni possono invece sfruttare al massimo le proprie capacità di calcolo avvicinandosi alle massime prestazioni teoriche. • Cache memory. La cache memory è una regione di memoria ad altissima velocità in cui il processore “parcheggia” i dati usati di recente, nell’ipotesi che PC Open 16 www.pcopen.it Lezione 2 gli stessi dati possano servire di nuovo a breve termine. Questa è in effetti una circostanza molto frequente: la maggior parte del tempo di esecuzione dei programmi viene spesa nei cosiddetti cicli, ossia gruppi di istruzioni che sono ripetute un gran numero di volte per svolgere compiti aggregati costituiti da innumerevoli compiti elementari da reiterare fin tanto che una determinata condizione è vera. Durante questi cicli è estremamente probabile che il programma debba accedere ogni volta agli stessi dati oppure a dati fortemente correlati con i dati trattati nelle iterazioni precedenti. Se la cache memory non esistesse, il processore sarebbe costretto a recuperare ogni volta gli stessi dati richiedendoli alla memoria RAM attraverso il bus di sistema. La memoria RAM, tuttavia, è caratterizzata da una frequenza di funzionamento assai bassa in confronto alla velocità operativa interna del processore. Costruire una RAM veloce quanto il processore, ammesso che fosse tecnicamente possibile, farebbe impennare i costi costruttivi a livelli inaccettabili. La soluzione è quella di interporre fra il processore e la RAM una certa quantità di memoria con caratteristiche di velocità e capacità intermedie rispetto a questi due attori. La cache memory è molto più veloce della RAM ma ha un costo molto maggiore, pertanto per motivi di costo non se ne può installare una grande quantità. Fortunatamente, per motivi statistici, gli accessi a memoria effettuati durante i cicli tendono ad avvenire o sempre nelle stesse locazioni di memoria o in locazioni vicine fra loro (per esempio, a indirizzi successivi). Così, anche una quantità di cache relativamente piccola rispetto alla dimensione della RAM totale può bastare per creare per il processore l’illusione di avere a che fare con una RAM estremamente veloce. In passato la cache era esterna al processore, saldata sulla scheda madre, e per limitazioni elettriche lavorava in genere a una frequenza pari a una frazione della frequenza di lavoro interna del processore; col tempo i progressi della tecnologia hanno permesso di integrare anche la cache a bordo del processore, facendola lavorare alla stessa velocità del core. Tuttavia la quantità di cache che è possibile ospitare nel processore, per ragioni di spazio e di dissipazione termica, non può mai essere elevata. Così si è fatto largo il concetto di cache multi-livello: la cache di primo livello, o L1, è quasi sempre integrata nel processore, lavora a piena frequenza e ha normalmente dimensioni piuttosto limitate (per esempio, 32Kbytes suddivisi in 16K per il codice e 16K per le istruzioni); la cache di secondo livello, o L2, può essere interna o esterna a seconda dei casi, spesso lavora a metà frequenza e ha dimensioni intermedie fra quelle della L1 e quelle della RAM (per esempio, 512 Kbytes o 1 MByte). In alcune architetture server particolarmente sofisticate, con una RAM estremamente estesa, esecuzione contemporanea di moltissimi processi ed esigenze di alte prestazioni, anche la quantità di memoria cache L2 non è sufficiente per una buona copertura statistica della RAM, pertanto esiste anche una cache di terzo livello, con caratteristiche di capacità e velocità (e costo) ancora più vicine a quelle della RAM. • I/O e interconnessione al bus. Come già ricordato nella prima puntata, il processore non deve soltanto elaborare i dati: è anche necessario, innanzitutto, riceverli dall’esterno, oltre a emettere i risultati Lezione 2 al termine dell’esecuzione. Per queste operazioni occorre un canale di comunicazione bidirezionale ad alta velocità, funzionante secondo le necessità del processore e sotto il suo controllo. Il processore non è infatti isolato nell’architettura del PC, ma è interconnesso – spesso attraverso un north bridge chip e un south bridge chip - al bus della memoria, al sottosistema grafico e al bus di espansione. Un apposito blocco logico nella CPU si occupa proprio di sovrintendere al regolare funzionamento di queste interconnessioni e all’adattamento della frequenza di lavoro. All’esterno del processore, infatti, il mondo funziona a ritmi decisamente meno frenetici, pertanto occorrono “sale d’attesa” in cui depositare i dati in attesa che possano essere presi in carico dai dispositivi esterni. Per ottimizzare l’esecuzione delle istruzioni, queste possono essere esaminate per vedere se il loro grado di interdipendenza sia sufficientemente basso da permettere di eseguirle in parallelo senza alterare la correttezza dei risultati. Macchine di questo tipo, dotate di più unità di esecuzione elementari operanti in parallelo, sono dette capaci di esecuzione “superscalare”, poiché in condizioni ottimali riescono ad eseguire contemporaneamente più istruzioni per ogni ciclo di clock. Un’altra tecnica di velocizzazione dell’esecuzione si basa sullo smembramento delle istruzioni complesse in una successione di istruzioni elementari, più semplici e quindi più rapide da eseguire; il “treno” di istruzioni elementari così ottenute viene mandato in ingresso a un circuito di elaborazione strutturato come una sorta di “catena di montaggio” in cui in ogni “stazione” si esegue, facilmente e velocemente, solo una piccola parte del compito complessivo. Grazie al fatto che i compiti sono molto semplici, ogni stazione ha bisogno di un tempo brevissimo per l’esecuzione, così l’intera catena di montaggio può avanzare IT administrator - Hardware a un ritmo complessivamente più alto. Una singola istruzione richiede sempre un tempo di N nanosecondi per attraversare completamente la pipeline ed essere completamente eseguita; ma, a regime, quando la pipeline lunga K stazioni è “piena” di istruzioni nelle varie rispettive fasi di elaborazione, il periodo di avanzamento è N/K, così, agli effetti esterni, ogni N/K nanosecondi viene completata l’esecuzione di una istruzione, con un effetto di accelerazione di K volte . Questa tecnica, detta pipelining, è simile alla situazione che si crea in una catena di montaggio per autoveicoli: se il lavoro complessivamente richiesto per assemblare un’auto è di 100 ore, ma questo lavoro viene uniformemente suddiviso e assegnato a 600 stazioni di lavoro, ognuna tratterrà in media il veicolo per un tempo di 10 minuti, e all’uscita della catena di montaggio, una volta avviato il processo produttivo, uscirà un’auto ogni 10 minuti. Questo non significa che un’auto richiede 10 minuti di lavoro per essere costruita, ma solo che grazie a una efficiente organizzazione del lavoro, il tempo di ciclo è stato ridotto a 10 minuti, e il flusso, o “throughput”, diventa di un’auto ogni 10 minuti. Naturalmente per ottenere questo risultato è stato necessario usare 600 volte più risorse a parità di auto prodotte. Nel microprocessore “superpipelined” succede qualcosa di assolutamente analogo: con i progressi della microelettronica non è stato un problema, nel giro di qualche anno, aumentare il numero di circuiti per costruire delle pipeline a 10 o anche 15 stadi, in grado di accelerare enormemente la frequenza di funzionamento e di conseguenza l’esecuzione delle istruzioni. Lo svantaggio delle architetture pipelined sta nel fatto che ogni deviazione dal regolare flusso sequenziale di esecuzione delle istruzioni, che si verifica ogni qualvolta nell’algoritmo si incontra una decisione il cui esito può essere un salto a un altro punto dell’algoritmo o un’uscita dal ciclo in corso, obbliga il processore a interrompere il funzionamento della pipeline (eliminando accuratamente gli effetti parziali delle istruzioni in corso di esecuzione) e a riempirla con un nuovo treno di microistruzioni, analogamente a quanto accadrebbe in una catena di montaggio qualora all’improvviso si decidesse di cambiare il modello da assemblare. Il ritardo con cui questo nuovo caricamento della pipeline viene effettuato è detto latenza. Al fine di ridurre la latenza, in molti processori superpipelined si ricorre all’espediente di affiancare la pipeline principale con una o più pipeline secondarie che in caso di potenziale deviazione dal flusso di esecuzione “normale” vengono caricate con le istruzioni che sarebbero incontrate se tale deviazione avvenisse realmente. In questo modo sarà possibile eliminare o minimizzare la latenza in tale circostanza, poichè non sarà più necessario attendere un nuovo riempimento da zero della pipeline con le nuove istruzioni. In questa impostazione, il processore tenta comunque di prevedere, in base a considerazioni statistiche, quale potrà essere il più probabile flusso di esecuzione del programma, al fine di “scommettere” sull’opzione giusta, che sarà caricata sulla pipeline principale. Questo tipo di comportamento basato su previsioni del probabile andamento dell’algoritmo (“branch prediction”) è detto “esecuzione speculativa”. L’esecuzione speculativa richiede una struttura circuitale molto più complessa per consentire l’esecuzione preventiva di istruzioni che potrebbero an- PC Open 17 www.pcopen.it In un processore superscalare, le istruzioni riconosciute come non interdipendenti possono venire eseguite in modo simultaneo da un certo numero di unità di esecuzione autonome In un microprocessore superpipelined, le istruzioni vengono eseguite “per fasi” in una sorta di “catena di montaggio” in grado di avanzare ad elevata velocità. Complessivamente una singola istruzione richiede sempre lo stesso tempo per attraversare la pipeline, ma in compenso il throughput (numero di istruzioni completate al secondo) può crescere in misura proporzionale al numero degli stadi della pipeline IT administrator - Hardware Il die di un processore dual core contiene di fatto due CPU complete in ogni dettaglio; viene messa a fattor comune solo la circuiteria di interconnessione al bus e, negli ultimissimi modelli Intel, anche la cache complessiva. Rispetto ai processori tradizionali, e a parità di frequenza di lavoro, i processori dual core, se adeguatamente sfruttati dal sistema operativo, possono assicurare un aumento di prestazioni prossimo al 100%. In un processore RISC, le istruzioni sono semplici e piccole da codificare, ma i programmi ne contengono un gran numero e per compiere quasi tutte le operazioni non banali si deve scrivere un sottoprogramma, poichè il processore non è in grado di eseguirle direttamente in forma nativa. In compenso il processore è costruttivamente semplice ed è in grado di integrare una maggior quantità di cache e funzionare ad alta frequenza In un processore CISC i programmi sono costituiti da un numero relativamente basso di istruzioni “ricche”, ognuna delle quali può produrre effetti semanticamente molto significativi. Naturalmente l’esecuzione di un tale genere di istruzioni richiede al processore un lavoro non indifferente che rischierebbe di causare, agli effetti esterni, lunghi periodi di attesa; pertanto, l’aumento del clock interno è particolarmente benefico su dispositivi CISC, specialmente se i programmi da eseguire non accedono troppo spesso alla memoria che non servire, nonchè l’annullamento delle conseguenze di tale esecuzione appena sarà chiarito quale sia il flusso di istruzioni corretto, fra i molteplici flussi di esecuzione “tentati” in parallelo fra loro. Un approccio più radicale per l’aumento di prestazioni, di recente adozione anche sui processori di larga disponibilità come gli AMD X2 e gli Intel Core Duo, Core 2 Duo, è l’architettura Dual Core. Questa filosofia di progetto non cerca più di velocizzare al massimo il singolo processore aumentandone la frequenza, il numero di registri o la quantità di cache, ma effettua un vero e proprio salto di qualità integrando due processori completi (core) in uno stesso chip. Se il sistema operativo è in grado di riconoscere e gestire i due core, ripartendo fra di essi il lavoro da svolgere, sarà possibile arrivare quasi a un raddoppio di prestazioni a parità di frequenza di clock. In alternativa si potranno usare i due core per offrire le stesse prestazioni complessive di un processore tradizionale single core, ma con una frequenza di lavoro inferiore, con una significativa riduzione dei consumi e della dissipazione termica. Lezione 2 larghezze diverse a seconda dei punti: l’interfaccia verso la memoria, per esempio, può essere larga anche 256 bit, per ottimizzare le prestazioni, mentre i registri di calcolo usati dalle istruzioni multimediali SSE sono larghi 128 bit. In generale, più è lento un canale, più si tende a progettarlo “largo” per mantenerne comunque elevata la portata. Quando si parla di “processore a X bit” ci si riferisce principalmente alla dimensione dei registri interi per uso generico logico-aritmetico. Più sono grandi questi registri, più risulterà facile per il processore eseguire “in un sol colpo” (ossia, in pochi cicli di clock) calcoli su numeri grandi o su stringhe di byte di lunghezza notevole: tutto questo può tradursi in un incremento di prestazioni, se tale genere di calcoli risulta prevalente nei programmi eseguiti sulla macchina. Purtroppo non tutti i calcoli richiedono di lavorare su numeri enormi, pertanto un aumento della larghezza dei registri (per esempio, da 32 a 64 bit) non si traduce necessariamente in un aumento delle prestazioni di misura proporzionale (nell’esempio, un raddoppio). I benefici cominciano a sentirsi con applicazioni progettate per avvantaggiarsi al massimo delle caratteristiche della macchina su cui girano: in altre parole, devono essere versioni specifiche di software o del sistema operativo. Un’altra rilevante distinzione fra i microprocessori dipende dalla filosofia con cui sono state definite le istruzioni che è possibile eseguire. L’impostazione più classica, ancor oggi dominante, è quella di istruzioni “ricche”, in grado di svolgere compiti notevol- Il passaggio al multicore Dopo anni di corsa all’aumento della frequenza di clock, questa tendenza tecnologica appare attualmente la via più “facile” per conseguire un rapidissimo aumento di capacità di calcolo, un’ottimizzazione dei consumi elettrici a parità di prestazioni o un compromesso fra entrambi, e la tendenza sarà sicuramente esasperata nei prossimi anni: è già stato presentato il primo processore desktop quad core, ossia dotato di ben 4 core in un unico case (l’Intel Core 2 Extreme QX6700), e non mancano occasioni in cui AMD e Intel profetizzano un futuro non lontano con decine e decine di core in un PC desktop. È comunque importante avere chiaro che l’aumento di capacità di calcolo fisicamente installata non necessariamente si traduce in un aumento di pari livello delle prestazioni percepite: in che misura questo sia possibile dipende dall’uso che si fa della macchina e da come sono scritti sistemi operativi e applicazioni. Con applicazioni non pensate per sfruttare la capacità di elaborazione parallela del processore, le CPU multicore, con il loro clock tipicamente inferiore a quello delle versioni single core, possono addirittura offrire prestazioni peggiori (sulla singola applicazione). Il passaggio graduale ai 64 bit Una soluzione ben nota per accrescere la potenza di calcolo di un processore è l’accrescimento del formato dei dati trattabili in modo nativo dalla sua architettura interna: se i primi microprocessori erano a 4 e 8 bit, ben presto si passò a modelli a 16 bit, poi a 32 bit e (è il caso dei modelli più recenti) a 64 bit. In realtà il percorso dei dati di un processore ha PC Open 18 www.pcopen.it mente complessi. Una singola istruzione di questo tipo può infatti impegnare il processore per un tempo relativamente lungo, comandandogli di trasferire un intero blocco di memoria o di effettuare un singolo calcolo complesso (un’operazione su matrici, un calcolo trigonometrico,...). Questa filosofia è detta Complex Instruction Set Computing (CISC). I microprocessori CISC e RISC I microprocessori CISC privilegiano l’espressività e la potenza delle istruzioni e l’ampiezza di scelta offerta, anche se questo comporta una complessità circuitale maggiore, con una conseguente maggior difficoltà per salire di frequenza e quindi, in ultima analisi, il rischio di un limite alla possibilità di un aumento di prestazioni. Attualmente costituiscono esempi paradigmatici di CPU CISC i processori x86 e compatibili, ossia i membri delle famiglie Celeron, Centrino, Pentium, Xeon, Core e Core2 per Intel, e i rispettivi concorrenti Sempron, Turion, Athlon e Opteron di AMD. Completamente opposta la filosofia dei processori RISC (Reduced Instruction Set Computing) nei quali il set di istruzioni è stato razionalizzato e ridotto al minimo indispensabile per poter comunque svolgere qualsiasi compito, e ci si è focalizzati invece su una ottimizzazione estrema del flusso di lavoro, facilitata dalla semplificazione circuitale. Lo spazio risparmiato nella CPU permette di compensare la relativa “povertà” espressiva delle istruzioni integrando una grande quantità di cache, o costruendo un’architettura decisamente superscalare, o ancora aumentando il numero di registri, mentre la semplicità delle istru- Lezione 2 zioni consente di eseguirle in breve tempo e quindi di aumentare la frequenza di lavoro della CPU. Al suo apparire, la tecnologia RISC colpì subito gli addetti ai lavori per l’efficacia con cui sembrava consentire rapidi aumenti di frequenza e di prestazioni, bassi costi di produzione e semplicità di programmazione. Tuttavia, col tempo, i produttori di processori CISC trovarono il modo di applicare anche nei propri progetti alcune delle più interessanti idee alla base della tecnologia RISC, riuscendo a colmare il gap prestazionale con i concorrenti. Per esempio, il modo in cui le moderne architetture Pentium e Athlon gestiscono internamente l’esecuzione delle istruzioni per decomposizione le fa assomigliare a dei “gusci” CISC costruiti come se fossero “interpreti” intorno a dei nuclei di esecuzione di stampo RISC. I più noti processori RISC sono gli ARM usati su palmari e smartphone, gli SPARC, Alpha, PA-RISC e MIPS utilizzati sulle workstation Unix di Sun, Digital, Compaq, HP, nonchè i processori PowerPC utilizzati dagli Apple Mac fino alla recente svolta in favore di Intel. Merita un cenno anche un’ultima soluzione per la scelta del set di istruzioni, detta Very Long Instruction Word (VLIW). In questo sistema parzialmente a metà strada tra RISC e CISC, le istruzioni sono in realtà degli aggregati di istruzioni paragonabili a quelle RISC: chi emette il codice oggetto del programma istruisce la CPU sulle opportunità di esecuzione parallela impacchettando insieme le istruzioni che è certamente possibile eseguire in modo contemporaneo. Spesso vengono anche inserite indicazioni sul percorso più probabile che i cicli o le decisioni seguiranno durante l’esecuzione. Questo permette al processore di non dover più supportare la complicata esecuzione speculativa, di non doversi più preoccupare di studiare le istruzioni per cogliere eventuali possibilità di parallelizzazione, e anche di risparmiare le pipeline parallele per la riduzione della latenza in caso di deviazioni inattese dal flusso di controllo. Nonostante l’idea non sia nuova (il concetto originale fu proposto negli anni ‘80), le implementazioni VLIW non sono state molte e non hanno incontrato grande successo di mercato. L’architettura IA64 dei processori Intel Itanium, con la sua tecnologia EPIC (Explicitly Parallel Instruction Computing), rappresenta la più recente interpretazione dei concetti VLIW. La funzione del clock del processore Anche se le varie parti della CPU hanno ruoli distinti e ben definiti e spesso anche una elevata autonomia d’azione, il loro funzionamento non avviene in modo irregolare e sincronizzato solo all’occorrenza, ma bensì in modo “corale” e sincrono, secondo un rigoroso ritmo (clock) scandito con estrema precisione a partire da un segnale generato da un oscillatore esterno alla CPU e trasmesso a tutte le sue parti attraverso apposite linee di comunicazione la cui forma e lunghezza sono calcolate in modo tale che il ritardo di propagazione sia approssimativamente uguale per tutte le unità destinatarie: a 3 GHz di frequenza il tempo di ciclo è di circa 0,3 nanosecondi, un tempo nel quale la luce può percorrere (nel vuoto) 10 centimetri. Nello stesso tempo un segnale elettrico su conduttori di rame percorre una distanza ancora minore. È quindi chiaro che alle frequenze oggi raggiunte negli ultimi processori diventa significativo anche il rischio che, per banali ragioni di distanza, il segnale di clock raggiunga le varie zone della CPU in momenti non perfettamente sincronizzati. Diventa quindi imperativo effettuare un accurato progetto delle linee IT administrator - Hardware di distribuzione del clock nella CPU. Se tutte le attività elementari che avvengono all’interno della CPU sono suddivise in piccoli passi che hanno luogo quando si registra un impulso del segnale di clock, è chiaro che la quantità di lavoro utile che la CPU può effettuare dipende dal numero di impulsi di clock ricevuti. Ne segue che in condizioni ideali la velocità di una determinata CPU, definita come numero di istruzioni effettuate in un secondo (Million Instructions Per Second: MIPS), dipende direttamente dal numero di impulsi di clock che la CPU è in grado di ricevere e gestire ogni secondo. Questa quantità è detta frequenza di clock: quanto più essa è alta, tanto maggiore sarà il numero di istruzioni eseguite ogni secondo, e tanto più la CPU sarà veloce. È quindi chiaro come mai i produttori di CPU siano impegnati da anni in una incessante corsa all’aumento di frequenza. I primi microprocessori, intorno alla metà degli anni 70, lavoravano a frequenze dell’ordine di 1 MHz (e richiedevano molti cicli di clock per eseguire ogni istruzione). Intorno all’anno 2000 si è oltrepassata la soglia del GHz e oggi, come sappiamo, alcuni dei processori più veloci lavorano a frequenze comprese fra 3 e 4 GHz (e se hanno un’architettura superscalare, un’architettura multi core, o entrambe, possono eseguire anche più di una istruzione per ogni ciclo di clock). Un aspetto particolarmente importante in fatto di clock è il fatto che le frequenze citate sono ormai talmente elevate che per i motivi descritti sarebbero molto difficili da gestire su aree estese come una motherboard. Inoltre, a frequenze così elevate, ogni linea di comunicazione tende a comportarsi come un’antenna, in grado sia di irraggiare (perdendo potenza) sia di ricevere interferenze radio (con il rischio di una alterazione dei segnali in transito e quindi dei dati da essi trasportati). Lavorare a frequenze di clock così elevate, inoltre, non sarebbe neppure utile, dato che la maggior parte delle periferiche, compresa la stessa memoria RAM, opera a velocità decisamente inferiori (fanno eccezione le schede grafiche, per le quali l’architettura di sistema prevede soluzioni ad hoc). Le frequenze di funzionamento Per motivi di opportunità tecnologica, di facilità costruttiva e di stabilità di funzionamento, le motherboard e i bus lavorano a frequenze molto più basse della CPU. Queste frequenze sono rimaste molto simili, e in molti casi uguali, a quelle alle quali le motherboard lavoravano anche 10-15 anni fa. La soluzione al problema di questa differenza di velocità raggiungibili nei due “mondi” consiste nel far lavorare internamente la CPU a velocità maggiore di quella con cui essa viene fatta comunicare con l’esterno. Il primo processore a introdurre la novità di una PC Open 19 www.pcopen.it Tutti i processori moderni utilizzano una tecnica di clock multiplying per lavorare internamente a una velocità maggiore di quella scandita dal clock di sistema, assai più lento. Un apposito circuito programmabile provvede a generare un segnale di clock a frequenza N volte più alta di quello in ingresso. La CPU può così lavorare alla massima velocità possibile e deve sottoporsi ad attese solo quando occorre comunicare con l’esterno IT administrator - Hardware L’utility CPU-Z permette di avere sotto controllo i parametri principali del processore frequenza di lavoro interna diversa da quella del bus di sistema è stato l’Intel 486 DX2, introdotto sul mercato nel 1992. Questo processore si attestava su un bus di sistema a 25 o 33 MHz, ma internamente disponeva di un raddoppiatore di clock che faceva sì che la frequenza di lavoro interna fosse rispettivamente di 50 MHz e 66 MHz. All’epoca il fattore determinante nelle prestazioni era la velocità di calcolo del processore più che la larghezza di banda verso la memoria, pertanto l’operazione ebbe pieno successo, tanto che il 486 DX2 a clock raddoppiato vantava prestazioni quasi esattamente doppie di quelle del 486 originale. La dimostrata efficacia dell’applicazione della tecnologia “clock multiplier” la rese una soluzione adottata da tutti i processori successivamente lanciati sul mercato: il processore poteva inseguire liberamente prestazioni sempre più alte semplicemente aumentando il fattore di moltiplicazione interna, lasciando che la tecnologia del resto dell’architettura di sistema crescesse in frequenza con tempistiche industriali più “tranquille”. Così iniziarono a comparire processori con fattore di moltiplicazione 3 (primo esempio il 486 DX4 a 100 MHz su bus a 33 MHz), 4 (Pentium MMX a 266 MHz su bus a 66 MHz), 5 (Pentium II a 333 MHz su bus a 66 MHz) e così via. Non mancavano i moltiplicatori frazionari: per esempio 2.5 (486 DX4 a 100 MHz su bus a 40 MHz oppure Pentium 166 MHz su bus a 66 MHz), 3.5 (Pentium MMX a 233 MHz su bus a 66MHz). È proprio dalla combinazione fra moltiplicatori frazionari e valori non “tondi” del clock di sistema che sono scaturite alcune bizzarre frequenze di lavoro, come quella del Pentium III Mobile a 1,13 GHz, ottenuta moltiplicando 8.5 volte un clock di sistema di 133 MHz. Col tempo, però, i valori dei moltiplicatori sono saliti a tal punto che i valori frazionari hanno perso rilevanza. I valori più elevati sono quelli impiegati da quei processori di classe economica che lavorano internamente a frequenza elevata pur attestandosi su un bus di sistema a velocità relativamente bassa: per esempio, un Celeron a 2.6 GHz che lavora su bus a 100 MHz impiegherà internamente un moltiplicatore pari a ben 26. È intuitivo che a questi livelli vi sia di fatto una sproporzione: certo è possibile e tecnicamente corretto dichiarare su brochure e volantini che il PC è dotato di un processore a 2.6 GHz, e la semplificazione del sistema RAM conseguente alle condizioni di funzionamento a bassa frequenza permette di abbassare i costi, altro vantaggio non trascurabile. Non si può non rilevare, però, come in questi PC venga a mancare il necessario equilibrio fra la velocità del processore e quella del resto del sistema, a partire dalla memoria. Il processore potrà anche essere internamente molto veloce, ma in un sistema di questo genere, a causa della lentezza del sottosistema di memoria, esso rischierà di trascorrere molto tempo in attesa di dati e istruzioni, o in attesa di poter emettere risultati sul bus. In simili condizioni sarebbe di capitale importanza che la cache integrata nel processore fosse abbondante per compensare la lentezza del bus di sistema: purtroppo però tale esigenza è proprio in antitesi con quanto tipicamente accade sui processori di classe economica in cui lo squilibrio clock-bus è più acuto e dove di solito, per ragioni di costo, è scarsa anche la quantità di cache. Considerato quanto il clock della CPU incida in ultima analisi sulle prestazioni generali del sistema, non stupirà sapere che un classico espediente usa- PC Open 20 www.pcopen.it Lezione 2 to dagli appassionati per “truccare” il proprio PC e spremerne le massime prestazioni possibili è quello di aumentare il clock di sistema, oppure il fattore del clock multiplier della CPU, o entrambe le cose insieme. Questa operazione è detta overclocking e sebbene in casi fortunati possa anche fornire benefici prestazionali di entità eclatante, dovrebbe essere considerata alla stessa stregua di una elaborazione a un motore d’automobile: un’operazione esaltante per gli appassionati, ma potenzialmente in grado di danneggiare il motore, e che, se non accompagnata da corrispondenti adeguamenti anche sul resto del sistema, crea una situazione generale di squilibrio prestazionale che può anche vanificare parte dei benefici dell’intervento. Aumentare il clock di sistema significa di fatto costringere il bus, la memoria, il chipset e la CPU a funzionare a frequenze più alte di quelle per le quali sono stati progettati. Nel caso della CPU questo effetto può essere compensato riducendo in pari misura il clock multiplier interno, ma le altre componenti di solito non sono facilmente svincolabili dall’aumento di frequenza generale imposto a tutto il sistema e vengono quindi trascinate in questa corsa generale verso valori di clock maggiori di quelli ufficialmente sopportabili. Generalmente i chip che il produttore garantisce per il funzionamento a una certa frequenza sono in grado di funzionare anche a una frequenza leggermente più elevata di quella nominale, ma non a una frequenza “molto” maggiore, altrimenti sarebbero stati certificati per la frequenza superiore, dichiarati compatibili con essa e, ovviamente, venduti con maggior margine di profitto. Su ogni wafer sfornato dalla fabbrica esiste un gran numero di chip. Questi vengono tagliati e provati uno ad uno a varie frequenze operative: alcuni risulteranno semplicemente guasti, qualunque sia la frequenza di lavoro, e di conseguenza scartati. Altri riusciranno a funzionare fino a una certa frequenza X, ma a causa della “debolezza” di alcuni transistor realizzati in modo imperfetto, cominceranno a fallire i test se fatti funzionare a frequenze maggiori. Il produttore allora li commercializzerà dichiarando che sono adatti al funzionamento alla frequenza X, oppure, per garantirsi un margine Lezione 2 di sicurezza, a una frequenza leggermente minore di X. Qualora poi le strategie di marketing richiedano di invadere il mercato con una grande quantità di prodotti “a basse prestazioni” e a basso costo, ma il processo produttivo in realtà funzioni “troppo” bene e sforni un numero insufficiente di chip relativamente “imperfetti”, vi potrà essere una deliberata distorsione di questo margine di sicurezza. Supponiamo per esempio che sul wafer, escludendo i chip totalmente guasti o troppo lenti, siano tipicamente presenti un 40% di chip in grado di funzionare correttamente a 2.8 GHz ma non a 3 GHz, un ulteriore 25% in grado di spingersi fino 3 GHz e infine un 5% di chip verificati anche a 3.2 GHz. Per considerazioni commerciali, ad esempio per l’esigenza di rifornire con adeguati volumi di chip “economici” i produttori di PC in preparazione a una importante stagione di vendite, il fabbricante potrebbe optare per dichiarare come certificati a “soli” 2.8 GHz anche una parte dei chip che in realtà hanno dimostrato di poter funzionare anche a 3 GHz, oppure etichettare come chip a 2.4 o 2.6 GHz molti chip in grado di funzionare anche a 2.8 GHz. In questo caso entreranno in circolazione delle CPU perfettamente in grado di assorbire un aumento del clock effettuato dal proprietario del PC agendo sulle impostazioni del BIOS e gli appassionati dell’“overclocking” potranno sbizzarrirsi aumentando in modo del tutto sopportabile le prestazioni e senza fare danni. Purtroppo non vi è modo di sapere quale sia la frequenza massima raggiunta in fabbrica dal chip nel corso dei test di qualificazione, pertanto il tentativo di overclocking si fa sempre “al buio” ed è un azzardo. Il limite dei transistor Spingere il processore a frequenze superiori a quelle sopportabili fa sì che i transistor meno perfetti raggiungano il loro limite prima degli altri: alcuni bit nei calcoli, alcuni bit degli indirizzi, alcuni bit identificativi delle istruzioni potranno quindi cambiare valore fra 0 e 1 in un tempo maggiore di quello dei loro “colleghi” e, di conseguenza, perdere la sincronizzazione con essi. Valori, indirizzi e istruzioni ne risulteranno alterati e così il PC comincerà a produrre risultati sbagliati, a modificare locazioni di memoria diverse da quelle che dovrebbe modificare, a eseguire istruzioni diverse da quelle scritte nel programma originale. Tutti e tre questi fenomeni possono produrre effetti disastrosi sulla stabilità del sistema e sull’integrità dei dati. Inoltre, continuando a salire con la frequenza o insistendo per lungo tempo su valori superiori a quelli sopportabili, qualche transistor più “precario” degli altri potrebbe cedere per l’eccessiva sollecitazione termica, danneggiandosi irreparabilmente. A questo punto il circuito (CPU, RAM, north bridge o qualunque altro chip nel PC) si guasterebbe a livello fisico. Per evitare almeno questo effetto, fermo restando però il problema dell’alterazione dei dati, gli overclockers ricorrono generalmente a soluzioni di raffreddamento estremamente spinte, tali da scongiurare il pericolo di “morte termica” di qualche transistor. Resta il fatto che il guadagno di prestazioni in un contesto di non-garanzia della correttezza dei dati e della stabilità del sistema può essere accettabile come sfida da appassionati su una macchina per videogiochi, ma non certo su una macchina utilizzata per impieghi professionali oppure su un server. Le alterazioni ai dati avvenute per aver fatto lavorare la macchina in condizioni fuori norma, infatti, potrebbero venire salvate su disco dalle applicazioni ignare del problema e rimanere latenti per lunghi periodi: la IT administrator - Hardware corruzione dei dati archiviati potrebbe manifestarsi a grande distanza di tempo ed apparire “inspiegabile”, causando anche gravi danni economici (valori macroscopicamente sbagliati in un database bancario, codici crittografici irreparabilmente compromessi, e così via). Inutile segnalare, poi, il fatto che i produttori, evidentemente, non gradiscono per niente che parte delle vendite dei prodotti certificati ad alto clock (e prezzo proporzionato) vada persa a causa della diffusione dell’overclocking: se risulta facile acquistare un processore più lento del 20-30%, risparmiando il 30-40%, e poi aumentarne il clock in modo da ottenere le prestazioni del modello “top”, questo si tradurrà in un evidente danno economico per il fabbricante. Pertanto è spesso previsto un sistema che impedisce di variare il fattore di moltiplicazione, oppure che consente di abbassarlo, ma non di aumentarlo al di sopra di un certo valore limite. In questo caso gli overclockers possono agire sul bus di sistema, ma non sul moltiplicatore. Tuttavia, come già accennato, aumentare il clock di sistema significa sottoporre non solo la CPU, ma anche altri componenti fra cui la RAM, il chipset, la scheda grafica e le altre schede di espansione inserite sul bus, a uno stress dovuto al funzionamento in condizioni al di sopra dei limiti nominali. Poichè è sufficiente che uno solo dei componenti descritti entri in crisi perchè si possano produrre effetti negativi per la stabilità del sistema o per l’integrità dei dati in esso contenuti, si moltiplicano le probabilità che qualcosa “vada storto”. Abbiamo visto la fondamentale importanza che riveste la frequenza di clock nella determinazione delle prestazioni ottenibili. Essa però non è l’unico fattore che può determinare la velocità della CPU. Un progetto superscalare, per esempio, consente di eseguire più istruzioni per ogni ciclo di clock, con il risultato che una CPU ad elevato parallelismo, pur operando a un clock relativamente basso, può fornire prestazioni equivalenti a quelle di una CPU che punta tutto sulla frequenza di lavoro elevata. Infine, solo per citare un altro fattore di importanza cruciale nella determinazione delle prestazioni teoricamente possibili con una CPU, va considerato che anche una CPU superscalare operante ad altissima frequenza di clock è del tutto “sprecata” se dati e istruzioni non arrivano dalla memoria a una velocità adeguata alla sua capacità di elaborarli. Un cattivo abbinamento CPU-memoria deprime le prestazioni proprio come un potente motore sportivo risente di un sistema di aspirazione non abbastanza “libero”. Ecco perché un problema critico è la velocità del canale di comunicazione che collega CPU e memoria RAM: questa velocità è detta “larghezza di banda” e ai livelli attuali si misura in GByte/secondo. I proget- PC Open 21 www.pcopen.it I moduli RAM possono essere fatti lavorare in parallelo per creare l’illusione di un modello di memoria con parole larghe il doppio (ad es. 128 bit anzichè 64 bit) oppure per gestire schemi circuitali di “interleaving” finalizzati a velocizzare l’accesso alla RAM IT administrator - Hardware Intel e AMD sono i principali produttori di microprocessori per PC Una motherboard VIA in formato MiniITX, per applicazioni embedded o automotive. L’espandibilità è limitata ma sono presenti tutte le interfacce standard; il sistema è in grado di far girare normalmente Windows tisti di CPU, motherboard e moduli di memoria hanno varie armi a disposizione per tentare di assicurare un adeguato interscambio di dati fra CPU e RAM. La prima è quella di cercare di costruire della memoria RAM in grado di lavorare a una frequenza molto elevata: idealmente, tale frequenza dovrebbe essere uguale a quella della CPU. Purtroppo, costruire moduli di memoria di elevata capacità e al tempo stesso di elevatissima frequenza di lavoro avrebbe un costo esorbitante con le tecnologie attuali. Pertanto, per “nascondere” alla CPU il fatto che la RAM in realtà è diversi ordini di grandezza più lenta di quanto idealmente occorrerebbe, si ricorre a schemi progettuali sofisticati che seguono, e spesso combinano, due distinti approcci. Il primo nasce dalla constatazione che statisticamente gli accessi alla memoria che la CPU effettua in sequenza riguardano celle di memoria consecutive. Per esempio, verranno tipicamente richieste alternativamente locazioni di indirizzo pari e di indirizzo dispari. Se dunque la RAM venisse organizzata in modo tale che in un modulo venissero memorizzate le celle pari e in un altro modulo quelle dispari, di fronte a un flusso di richieste della CPU rivolto a una serie di indirizzi sequenziali, con una accurata temporizzazione sarebbe possibile far lavorare in modo alternato i due moduli RAM per fornire alla CPU i dati richiesti con una velocità apparente doppia rispetto a quella di un singolo modulo. Estremizzando questo approccio si possono creare banchi di memoria in cui, nell’ipotesi che gli indirizzi vengano richiesti in un ordine relativamente regolare, il sistema nel complesso si presenta alla CPU come un singolo modulo a “velocità efficace” molto maggiore di quella reale delle sue singole parti. Per assecondare questo tipo di ipotesi, la CPU fa in modo di prelevare dalla memoria non singole celle, ma gruppi di 4, 8, 16 o 32 celle alla volta. Tutto il sottosistema RAM è pensato per rispondere in modo ottimizzato a questo “pattern” di richieste. Qualche volta il parallelismo appena descritto è implementato all’interno dei moduli di memoria; altre volte l’architettura di sistema richiede in più che i moduli RAM vengano montati a coppie, o per applicare anche a livello macroscopico la tecnica descritta, o per raddoppiare la “larghezza di parola” creando l’illusione di avere una RAM che lavora a 128 bit anzichè a 64 bit. In entrambi i casi l’effetto macroscopico è un raddoppio della larghezza di banda che il sistema RAM presenta alla CPU. Memorie che seguono l’evoluzione Anche la metamorfosi che i moduli di memoria hanno subito negli anni è stata tesa ad aumentarne frequenza di lavoro e larghezza di parola, che insieme concorrono ad aumentare la larghezza di banda. La frequenza è stata aumentata prima linearmente, nel corso degli anni, e poi, con l’introduzione delle RAM Double Data Rate (DDR), con un improvviso raddoppio. Dal punto di vista dell’organizzazione logica e fisica, invece, se 20 anni fa le RAM erano spesso installate sotto forma di singoli chip zoccolati, si è poi passati a schemi circuitali in cui le RAM venivano montate su moduli a circuito stampato (Single Inline Memory Module, o SIMM, e poi Dual Inline Memory Module, o DIMM). I primi moduli SIMM avevano un’interconnessione con la motherboard a 30 pin, ma ben presto si passò ai SIMM da 72 pin, che spesso era necessario montare a coppie. Ogni SIMM aveva un percorso dati largo 32 bit e per l’uso con sistemi di classe Pentium, dotati di bus dati a 64 bit, era appunto necessario PC Open 22 www.pcopen.it Lezione 2 montare i moduli a coppie per presentare alla CPU un data path largo il doppio. I moduli DIMM avevano invece fin dall’origine un data path a 64 bit e una piedinatura a 72 pin, poi passata a 144, 168, 184 e perfino 240 pin. Il secondo espediente progettuale per velocizzare il funzionamento dell’accoppiata CPU-RAM consiste, come già accennato, nell’interposizione di uno o più livelli di memoria cache fra la CPU e la memoria. Ai livelli attuali le CPU desktop più diffuse integrano direttamente sia la cache L1 (tipicamente 32 Kbytes) sia la L2 (da 256 Kbytes a 4 MBytes a seconda della classe di costo e prestazioni del processore), mentre, almeno su personal computer, non è mai usata una cache di terzo livello, presente invece su certi sistemi server in cui la quantità di RAM da accelerare mediante cache è talmente elevata che il quantitativo di cache L2 integrata nel processore non sarebbe sufficiente a dare una copertura statistica adeguata. Il mercato dei processori I processori per PC attualmente disponibili sul mercato sono prodotti principalmente da due fornitori: Intel e AMD. Il colosso Intel ha una storia di quasi 40 anni essendo stata fondata nel 1968; è il più grande produttore di chip al mondo, con quasi 40 miliardi di dollari di fatturato nel 2005 e quasi 100.000 dipendenti e la sua storia praticamente coincide con quella dei microprocessori, anche se la sua attività si estende a importanti settori collaterali come quello delle memorie RAM, dei chipset, dei chip grafici e così via. L’architettura x86 a cui appartengono i Pentium, i Celeron, i Centrino, gli Xeon e i recenti Core/Core2 è oggi l’architettura più diffusa nel settore dei PC desktop e portatili e nei server fino alla fascia media. A inizio 2006 Intel ha annunciato la sua nuova architettura Core, con cui appare evidente un ripensamento della strategia di ricerca prioritaria dell’aumento di clock, a favore di una grande attenzione al rapporto tra potenza di calcolo effettiva e consumo elettrico/dissipazione termica; nell’occasione fu annunciata anche una radicale svolta a favore di una generalizzata adozione di architetture multicore, che a medio termine dovrebbero arrivare a permeare tutti i prodotti compresi probabilmente quelli di fascia economica. La linea Core2 costituisce un importante passo nella direzione segnata da Core, con una “vera” revisione della microarchitettura e l’arrivo del primo esempio di processore quad core. Lezione 2 Anche il minaccioso concorrente di Intel sull’architettura x86, AMD, ha una lunga storia, essendo stata fondata nel 1969. Per un certo periodo AMD produsse processori compatibili con 386 e 486, con i quali competeva soprattutto sul prezzo date le prestazioni sostanzialmente equivalenti a quelli del prodotto concorrente. La svolta si ebbe quando, a metà anni Novanta, AMD introdusse una propria linea di CPU, la K6 e successive varianti, dal progetto completamente nuovo, seppure compatibili con l’assembler x86, caratterizzata soprattutto da un convincente rapporto prezzo/prestazioni. Nel 1999 compare la linea Athlon, con prodotti sempre più competitivi anche sul terreno delle prestazioni assolute; il dinamismo progettuale di AMD continuò con l’introduzione, nel 2003 e in anticipo su Intel, delle estensioni a 64 bit per architettura x86 ed il loro lancio nelle linee Athlon64 e Opteron. Fatto assai rilevante, le estensioni 64 bit di AMD hanno inoltre trovato posto, in seguito, anche sul Turion64 per portatili e sul Sempron64 per i desktop di fascia economica: anche in questo caso in anticipo su Intel. Di estrema importanza anche l’introduzione dell’architettura dual core, prima (nel 2005) su Opteron e Athlon64 X2, poi anche sul recentissimo Turion64 X2 per portatili (2006). AMD non è ancora in grado di offrire un processore quad core paragonabile al QX6700 di Intel, ma, grazie all’architettura Direct Connect e al bus HyperTransport, nate essenzialmente per i server Opteron multiprocessore ma presenti anche sulla linea Athlon, punta su un’architettura Quad FX (o “4x4”) in cui una motherboard per sistemi desktop può ospitare due processori dual core (sul nuovo Socket F a 1207 pin) che dialogano fra loro ad altissima velocità. Il numero dei core installati è sempre pari a 4, con la possibilità di offrire prestazioni simili a quelle del prodotto concorrente e soprattutto con la possibilità di effettuare un upgrade a 8 core, quando saranno disponibili chip quad core di AMD, semplicemente cambiando le due CPU. Un produttore alternativo di CPU x86 compatibili è Transmeta, che propone le linee Crusoe ed Efficeon rivolte soprattutto al mercato dei subnotebook (in cui una priorità è il bassissimo consumo elettrico). Queste si basano su un core VLIW “nascosto” da uno strato di adattamento che interpreta il codice oggetto x86 e lo traduce al volo in gruppi di istruzioni VLIW. Questa architettura emula con “routines” VLIW molte delle operazioni CISC dell’assembler x86, conseguentemente l’hardware risulta semplice (il die di Efficeon è grande circa la metà di quello di processori x86 contemporanei) e caratterizzato da bassi consumi elettrici. In teoria, questo schema permette fra l’altro di emulare qualsiasi altro codice macchina semplicemente adattando l’interprete VLIW, che non è altro che un particolare programma fisso in esecuzione sul processore. Inoltre, per mantenere la compatibilità con eventuali nuove istruzioni aggiunte via via all’architettura x86 da Intel e AMD, Transmeta non deve fare altro che aggiornare l’interprete, un’operazione senz’altro più rapida di una revisione circuitale. Le energie dei progettisti possono così rimanere in gran parte focalizzate sul continuo miglioramento dell’efficienza energetica e delle prestazioni del core VLIW. Una particolare nicchia di mercato nel mondo delle CPU per sistemi PC è occupato da VIA Technologies, che produce processori x86 compatibili (la serie Via C3) e lillipuziane motherboard nello speciale formato Mini ITX, per la realizzazione di sistemi di minime dimensioni e basso consumo adatti, per esempio, all’integrazione in ambiente automotive IT administrator - Hardware (per queste applicazioni sono stati coniati termini come “car PC” e “carputer”). Altri produttori di CPU diffuse solo al di fuori del mondo dei PC sono IBM, per quanto riguarda i PowerPC usati sugli Apple Mac fino a epoca recente, e Sun con i suoi SPARC usati sulle workstation Solaris. Entrambe queste linee di prodotto sono basate su un’architettura RISC. Per lungo tempo i Mac basati su PowerPC hanno esibito ottime prestazioni, specialmente se confrontati con la precedente famiglia di CPU impiegate (Motorola 68xxx), in virtù delle indubbie qualità del processore IBM ma anche del sistema operativo snello ed efficiente, di matrice Unix. Tuttavia le prestazioni dei processori x86 hanno continuato ad aumentare a un ritmo maggiore di quello dei PowerPC, sia per l’enorme mercato PC x86 che rendeva possibile giustificare investimenti molto maggiori in ricerca, sia per lo stimolo competitivo dato dalla lotta fra Intel e AMD sempre più stringente negli ultimi 2-3 anni a causa dei significativi successi messi a segno da AMD. In epoca recente, poi, si dice che fosse anche emersa la difficoltà dell’architettura PowerPC nel tenere il passo con i processori Intel Pentium Mobile e Centrino e AMD Turion nel campo della riduzione dei consumi elettrici, a parità di prestazioni, per applicazioni mobili. Questo rappresenta un handicap piuttosto serio per la realizzazione di Mac portatili, un mercato non trascurabile in cui non era pensabile sfigurare. Così Apple ha deciso di passare sull’architettura Intel: i primi prodotti basati su processori Core Solo e Core Duo hanno dimostrato fin dall’esordio prestazioni sensibilmente superiori a quelle dei precedenti modelli basati su PowerPC, confermando la validità dell’architettura x86 anche in ambito mobile. Le CPU SPARC (Scalable Processor ARChitecture), dal canto loro, adottano una architettura RISC inventata da Sun a fine anni Ottanta per la realizzazione di una famiglia di processori ad alte prestazioni per le proprie workstation Unix. Nel 1989 fu fondata l’organizzazione SPARC International con il compito di promuovere la tecnologia e di concederne l’uso su licenza anche ad altri produttori. Questo ha fatto dell’architettura SPARC una tecnologia “aperta”, non proprietaria, con la possibilità teorica di acquistare prodotti compatibili anche da altri fornitori. Sun ha continuato comunque ad essere l’attore più dinamico nella continua evoluzione tecnologica della piattaforma SPARC, che appare tuttora vitale e aggiornata, anche se di applicazione sostanzialmente relegata a un mercato ben circoscritto. In particolare, nel 2005 è stata annunciata la più recente implementazione della serie: il chip UltraSparc T1 (Niagara), con ben 8 core incorporati, ognuno dei quali potente come un singolo chip UltraSparc III e in grado di gestire 4 threads. Per semplificare e rimpicciolire i core PC Open 23 www.pcopen.it Apple è passata da poco a processori Intel, dopo aver per anni utilizzato soluzioni PowerPC di IBM Sun è uno dei nomi principali dell’evoluzione tecnologica delle CPU SPARC IT administrator - Hardware Lezione 2 L’installazione della CPU sulla scheda madre L’installazione delle CPU nella loro sede era un tempo un’operazione piuttosto dedicata a causa della notevole resistenza opposta dallo zoccolo alle manovre di estrazione e inserzione, che costringeva a far uso di speciali pinze per integrati oppure, in loro mancanza, a fare cautamente leva fra socket e chip, alternativamente su più lati, con un oggetto sottile come un cacciavite, sempre però con il rischio di piegare un pin o di ledere qualche pista sulla motherboard. A parte una fugace parentesi in cui alcuni processori (i Pentium II, i primi Pentium III e alcuni Celeron) erano realizzati come “cartucce” da installare in un lungo slot con sistemi di ritegno scomodi e macchinosi, da anni sono fortunatamente diventati standard per le CPU i cosiddetti socket di tipo ZIF (Zero-insertion force) nei quali una comoda levetta di sblocco “dilata” le sedi di ciascun pin abbastanza da consentire di inserire il processore semplicemente appoggiandolo, senza dover premere. Poiché i socket sono spesso quadrati, per evitare che la CPU venga inserita con l’orientamento sbagliato, ruotata di 90° o di 180°, il socket prevede dei chiari riferimenti come un angolo smussato o dei pin mancanti in posizioni asimmetriche; basterà confrontare i pin presenti sulla CPU con le sedi previste dal socket per sovrapporre esattamente l’una all’altro. Se l’orientamento è corretto la CPU “cadrà” in sede senza pressione. Se si rileva la benchè minima resistenza, o se la CPU si appoggia in posizione inclinata anziché restare perfettamente orizzontale, è segno 1.4.2.3 Linee di prodotto delle CPU x86 che non è disposta in modo corretto (oppure che si è dimenticato di azionare la levetta di sblocco per “aprire” il socket). Una volta trovato l’orientamento giusto e verificato che la CPU è scesa completamente sul socket non rimarrà che bloccarla in sede riponendo la levetta di sblocco in posizione orizzontale. L’operazione non può dirsi del tutto conclusa poiché praticamente tutte le CPU recenti hanno bisogno di un dissipatore, quasi sempre di tipo attivo ossia costituito da un corpo alettato provvisto di ventola. Questo dispositivo deve essere installato sopra la CPU, a contatto con essa, e per migliorare la trasmissione del calore è prescritto praticamente sempre di applicare una pasta termoconduttiva sulla faccia superiore della CPU prima di far aderire il dissipatore. In alcuni casi la pasta è fornita in dotazione con il dissipatore (oppure gli è stata addirittura già applicata, e in questo caso può avere l’aspetto di un piccolo pezzo di nastro biadesivo da scoprire prima del contatto), comunque nei negozi specializzati ne può essere facilmente reperito un tubetto per pochi euro. In caso venga applicato un dissipatore su una CPU che presenta tracce di pasta termoconduttiva da un’installazione precedente, è fortemente consigliato asportare completamente il vecchio materiale e applicarne un nuovo strato. Per quanto riguarda il fissaggio meccanico del dissipatore, la motherboard è provvista degli ancoraggi necessari, che sono standard per quanto riguarda l’aggancio al dissipatore ma possono presentare leggere onde consentire l’integrazione di ben 8 di essi su singolo chip, questi sono stati dotati di una quantità di cache abbastanza modesta e, soprattutto, privati della complessa circuiteria necessaria per l’esecuzione speculativa. Questo ha per contropartita un peggioramento delle prestazioni del singolo thread in caso di deviazione dal flusso di controllo principale, compensato però dal fatto che quando un thread deve bloccarsi a causa di questa situazione, il core manda semplicemente in esecuzione un altro dei 4 thread che sta gestendo, e intanto si prende tutto il tempo necessario per il prefetch delle istruzioni necessarie per riprendere l’esecuzione del thread sospeso. Il throughput complessivo del processore così si avvicina al massimo teorico. Ricordiamo infine che la quasi totalità dei palmari Windows Mobile e degli smartphone, nonchè alcune console portatili per videogiochi, si basano su processori basati sull’architettura ARM, prodotta su PC Open 24 www.pcopen.it differenze nel sistema di azionamento e sblocco: il manuale della motherboard riporta i passi necessari per non sbagliare. Merita un cenno il socket LGA 775, attualmente usato da tutte le più recenti CPU Intel, nel quale la situazione è in un certo senso “invertita” in quanto il socket presenta dei pin e il processore le relative sedi. Anche in questo caso sono presenti dei riscontri che evitano l’inserimento della CPU in orientamento sbagliato, mentre il fissaggio in sede è affidato a una placca metallica quadrata che blocca al suo posto la CPU e viene bloccata a sua volta da una levetta da fermare sotto a un apposito gancio. Il dissipatore è una struttura che si fissa alla motherboard con quattro clip che si impegnano in quattro fori disposti ai vertici del socket; l’ancoraggio è quindi completato dall’azionamento degli appositi fermi meccanici. Assolutamente da non dimenticare, infine, il collegamento elettrico della ventola all’apposita presa sulla motherboard (generalmente etichettata “CPU Fan”). Sarà il BIOS a decidere se azionare la ventola (eventualmente anche durante lo standby) e a quale velocità, in base ai sensori termici propri e a quelli della CPU stessa. Quanto detto a proposito dei dissipatori per la CPU vale anche, in molte motherboard recenti, per il chipset, che può a sua volta raggiungere notevoli temperature d’esercizio e richiede quindi di essere raffreddato a dovere. Il sistema di dissipazione è però generalmente installato in fabbrica e a meno di esigenze particolari non richiede upgrade né sostituzioni. licenza da società come Intel, ST Microelectronics, IBM, Texas Instruments, Philips e Samsung. Si stima che ben il 75% di tutti i processori a 32 bit impiegati in applicazioni embedded nel mondo sia costituito da chip in architettura ARM. La tecnologia ARM nacque a metà degli anni Ottanta da una iniziativa di progetto di Acorn Computers, un produttore inglese di home computer; le prime applicazioni furono proprio sugli home computer Acorn, ma anche sul primo vero “palmare” (l’Apple Newton) e su alcuni videogiochi, come il Sega Dreamcast. Quando l’importanza industriale del progetto ARM apparve in tutta la sua evidenza, si scelse di fondare una società spin-off, ARM Ltd., per seguirne lo sviluppo come propria unica missione. Linee di prodotto delle CPU x86 Come già ricordato, la stragrande maggioranza dei processori di classe x86 destinati all’uso su sistemi Lezione 2 IT administrator - Hardware PC è prodotta da Intel e AMD. Entrambi questi produttori hanno organizzato le proprie linee di prodotto per rispondere alle esigenze dei vari segmenti di mercato: • una fascia di clienti desktop molto attenta ai costi è disposta ad accettare prestazioni di buon livello, anche se non al top, in cambio di una sostanziosa riduzione del prezzo del sistema. Sono rivolti a questo mercato i processori Intel Celeron e AMD Sempron, spesso operanti a frequenze elevate ma purtroppo dotati di una quantità di cache non certo esorbitante (mediamente 256 Kbytes), spesso proposti dagli assemblatori in configurazioni economiche dotate di schede grafiche a memoria condivisa e integrate su motherboard. Interessante, in questa fascia di mercato, la proposta di AMD che integra comunque le potenti estensioni 64 bit anche nel Sempron (Sempron 64). • sempre nel mercato desktop, la fascia media esige sempre un adeguato rapporto prezzo/prestazioni, ma cerca prestazioni migliori che garantiscano per la macchina una obsolescenza meno rapida. Appartengono a questa categoria gli ormai economici Pentium 4 e Pentium D serie 800 e 900 e gli AMD Athlon 64. La cache integrata è più abbondante e le frequenze possono raggiungere valori superiori; il prezzo del processore non aumenta di molto, ma aumenta proporzionalmente di più il prezzo del sistema, in quanto gli assemblatori abbinano questi processori a una componentistica meno economica nel tentativo di proporre macchine complessivamente più equilibrate. • vi è poi una fascia di utenti professionali o "residenziali evoluti" che guardano più alle prestazioni che al prezzo (ma senza perdere di vista quest'ultimo): a questi clienti si rivolgono i processori di fascia alta come gli Intel Pentium Core o Core 2, o gli AMD Athlon 64 X2. • infine, gli appassionati di "gaming" e "modding" che possono disporre di un budget sostanzialmente illimitato esigono il massimo di prestazioni a qualunque costo; sono disposti a investire in configurazioni grafiche SLI in cui ogni scheda può costare oltre 700 euro, pertanto anche una maggior spesa di 300-400 euro per avere un processore più veloce anche solo del 20% non incide più di tanto sul budget totale. A loro (nonchè, naturalmente, agli utenti professionali più esigenti) Intel e AMD dedicano rispettivamente i processori Pentium Extreme Edition/ Core 2 Extreme Edition (dual o quad core) e la linea Athlon 64 FX (specie nella nuova architettura Quad FX). È importante notare che il prezzo dei processori non cresce affatto linearmente con le prestazioni, ma tende a decollare una volta oltrepassata la fascia media. Viceversa, i processori di fascia bassa hanno prezzi indubbiamente invitanti, ma il livello di prestazioni rischia di decadere troppo rispetto a macchine più equilibrate. Densità di transistor e problemi tecnologici e termici Qualunque sia la strada architetturale scelta per ottenere un aumento di prestazioni dalla CPU, attraverso un aumento delle dimensioni della cache, oppure un progetto superscalare con più unità di esecuzione, oppure un progetto superpipelined con catene di elaborazione a più fasi e dotate di catene Dato l’elevato consumo elettrico e la conseguente dissipazione termica, i processori moderni necessitano di sistemi di dissipazione adeguati. Il tipo più classico di dissipatore è costituito da un corpo alettato dotato di una ventola termostatica a velocità variabile: la velocità della girante, e quindi il flusso d’aria, è sotto il controllo del BIOS parallele per la riduzione della latenza e circuiteria di branch prediction, oppure un aumento del numero e della dimensione dei registri, o ancora un allargamento del bus verso la memoria o infine l’integrazione di diversi core nello stesso chip (multicore), invariabilmente è richiesto un aumento del numero di transistor sul chip. Un 386DX di 15 anni fa conteneva circa 275.000 transistors; oggi un Core2 QX6700 quad core, soprattutto a causa degli 8 MB di cache incorporata in cui ogni bit richiede 6 transistors, contiene 582 milioni di transistors, oltre 2.000 volte di più, in un chip di dimensioni esterne simili. E la frequenza di lavoro è cresciuta dai 33 MHz del 386 ai 2.66 GHz del QX6700: un aumento di quasi 80 volte. Ogni transistor quando commuta il proprio stato, consuma una certa quantità di corrente e dissipa parte di questa energia in calore. E quanto più frequentemente ogni transistor commuta il proprio stato, tanto maggiore sarà la quantità complessiva di calore generato. È chiaro che per far coabitare e funzionare insieme un maggior numero di transistor in uno spazio così ristretto, senza che il calore sviluppato faccia crescere la temperatura e superi livelli pericolosi, ma senza rinunciare a un aumento della frequenza - così importante per aumentare le prestazioni - è stato necessario applicare contemporaneamente diverse tecniche: 1.4.1.6 Riduzione della tensione di funzionamento Riduzione della tensione di funzionamento. Il 386DX lavorava a 5V; i processori attuali lavorano a tensioni molto inferiori, nell’intervallo fra 0.8 e 1.6 V a seconda dei modelli, del clock e delle condizioni di funzionamento. La riduzione della tensione di lavoro ha come conseguenza una riduzione del consumo energetico e quindi del calore sviluppato. Tuttavia attuare in modo corretto questa strategia non è così facile in quanto ogni specifico modello di processore ha sue proprie esigenze in fatto di tensione di lavoro; la tensione può dipendere perfino dal particolare lotto di produzione, inoltre durante il funzionamento il processore può accorgersi che il carico di lavoro si è ridotto e quindi porsi automaticamente in condizioni di risparmio energetico, richiedendo in tempo reale una riduzione della tensione di alimentazione, riducendo il clock, disattivando alcune aree, e così via. Non esiste, quindi, una tensione standard di lavoro adatta a tutte le installazioni e neppure a tutte le PC Open 25 www.pcopen.it 1.4.3.4 Densità di transistor e problemi tecnologici e termici IT administrator - Hardware Una cella Peltier sfrutta l’effetto termoelettrico per creare una differenza di temperatura fra le sue due facce: il fenomeno può essere sfruttato per asportare efficacemente calore. A differenza di qualunque ventola, questa tecnologia è assolutamente silenziosa, purtroppo il rendimento è basso e il costo piuttosto elevato 1.4.3.4 Riduzione delle dimensioni dei transistor Le parti costitutive di un sistema di raffreddamento a liquido. Le proprietà termiche dell’acqua vengono sfruttate per asportare in modo rapido ed efficace il calore verso un radiatore collocato altrove, magari accoppiato ad una silenziosa ventola di grandi dimensioni a bassa velocità situazioni di funzionamento di una stessa installazione, ma è necessario che la motherboard fornisca alla CPU esattamente la tensione che questa richiede, nel momento in cui la richiede. Questa prestazione sarebbe difficile da fornire se la circuiteria di controllo si trovasse nell’alimentatore del PC. Per questo l’architettura PC prevede, ormai da molti anni, la presenza di un sofisticato sistema di regolazione del voltaggio (Voltage Regulator Module, o VRM), che può essere incorporato sulla motherboard oppure ospitato su un modulo da collegare a essa. Il VRM dialoga costantemente con il processore e da questo riceve, all’accensione e durante il funzionamento, indicazioni precise sulla tensione che gli deve essere fornita. Anche se il VRM incorpora una circuiteria intrinsecamente analogica, il suo controllo è completamente digitale. In particolare, l’indicazione da parte della CPU della tensione richiesta è espressa sotto forma di un particolare codice, detto VID (Voltage Identificator), codificato come un valore a 6 bit che viene comunicato attraverso 6 pin del socket appositamente riservati per questo scopo. A seconda del codice comunicato, il VRM può erogare tensioni comprese fra 0.8375 V e 1.6 V. Non è facile per un VRM coniugare precisione, stabilità ed abbondanza di erogazione: i più esigenti processori moderni, in situazioni di carico massimo, richiedono correnti di picco anche di 120-150 A su tensioni di circa 1.2 V. In futuro ci si aspetta che le tensioni calino ancora (ben al di sotto di 1 V) e richiedano una precisione di regolazione ancora maggiore, mentre le correnti potranno crescere ancora, anche fino a 300 A di picco. Riduzione delle dimensioni dei transistor I transistor del 386 erano costruiti con geometria a 1 micron. Oggi i processi produttivi usati riescono a costruire transistor con geometria a 0.09 micron (90 nm) e 0.065 micron (65 nm), con la prospettiva di scendere a breve a soli 45 nm. In termini lineari si tratta di una riduzione, rispettivamente, di 10, 15 e 20 volte, corrispondente a una riduzione di area di 100, 225 e 400 volte. Transistor più piccoli significano due cose: da un lato, la possibilità di integrarne un maggior numero sulla stessa area; dall’altro, un minor fabbisogno di corrente per farli commutare, e quindi un minor consumo energetico e una minore dissipazione termica. Applicazione di sistemi attivi di dissipazione termica. Pur con l’impiego di tutte le tecniche citate, la dissipazione dei processori moderni ad alte prestazioni può superare di slancio i 100W. Se questa potenza termica non venisse asportata con pari ra- Per aumentare l’efficienza dello scambio termico si può applicare uno strato di pasta termica tra la CPU e il dissipatore PC Open 26 www.pcopen.it Lezione 2 pidità, la temperatura del processore tenderebbe a crescere fino livelli tali da provocare inconvenienti funzionali prima e guasti fisici poi. Il processore si danneggerebbe irreparabilmente entro pochi minuti di utilizzo. È per questo che ai tempi del 386, per restare nei limiti nominali di temperatura operativa ammessa, bastava la naturale circolazione d’aria all’interno del case del PC, mentre nel caso dei processori moderni servono potenti (e rumorose...) ventole di raffreddamento a controllo termostatico e velocità variabile. In realtà, per la stabilizzazione del regime termico del processore e delle altre componenti dell’architettura soggette al maggiore rischio di surriscaldamento, non esistono solo le ventole. I sistemi di raffreddamento per la CPU si differenziano anzitutto in attivi e passivi. Quelli passivi si affidano, per l’asportazione del calore, esclusivamente alla circolazione dell’aria basata su fenomeni convettivi: il sistema funziona perchè l’aria calda, meno densa e più leggera, tende a salire rispetto all’aria fredda. Così, una superficie calda esposta tenderà a cedere calore all’aria circostante e quest’aria, scaldandosi, inizierà a salire, lasciando lo spazio ad altra aria, più fredda, che continuerà il ciclo di raffreddamento. La quantità di calore asportabile con questa tecnica passiva dipende dalla differenza di temperatura fra la CPU e l’ambiente e dalla ampiezza della superficie della CPU. Per aumentare l’efficienza dello scambio termico si ricorre all’espediente di aumentare la superficie di scambio termico CPU-aria costruendo in metallo (buon conduttore di calore) dei corpi alettati fissati alla CPU mediante apposite paste termoconduttive. Quanto maggiore sarà la superficie del corpo alettato, tanto maggiore sarà la quantità di calore asportabile ogni secondo, ossia la potenza di raffreddamento. Con questi sistemi non è possibile però asportare potenze termiche dell’ordine di quelle generate dalle CPU più recenti (anche 100W): se può essere asportata solo una parte di questa potenza, il resto rimarrà nel processore e accumulandosi ne farà aumentare la temperatura, un processo che non può essere lasciato senza controllo pena il danneggiamento del chip. Per aumentare la potenza termica rimossa si ricorre a sistemi di raffreddamento attivi. Il tipo più semplice si basa sull’applicazione di una ventola al corpo alettato passivo, per aumentare la velocità dell’aria rispetto alla superficie di scambio termico: se viene continuamente fatta affluire aria “fredda” sul dissipatore e continuamente ne viene rimossa quella da esso riscaldata, aumenta l’efficienza dello scambio e quindi accelera il ritmo di asportazione di calore. Con questi sistemi la potenza di raffreddamento può raggiungere i livelli necessari a mantenere sotto controllo e nei limiti tollerabili la temperatura di un processore moderno. Tuttavia vi è un inconveniente, rappresentato dalla rumorosità della ventola, sia in termini di potenza acustica (misurata in dB) sia in termini di frequenza (misurata in Hz), quest’ultima dipendente dalla velocità di rotazione (misurata in giri al minuto, o RPM). A parità di flusso d’aria generato, una ventola di diametro maggiore può girare più lentamente ed emettere minor rumore meccanico. Inoltre, per mantenere al minimo il rumore della ventola, oggi sono Lezione 2 standard sistemi di controllo termostatico con retroazione per governare la velocità di rotazione della girante adeguandola alla temperatura rilevata da appositi sensori sulla motherboard e sulla CPU. Appena la temperatura rientra al di sotto di una soglia prefissata, la ventola viene fatta rallentare per ridurre l’emissione di rumore. Se, al contrario, la CPU entra in una fase di calcoli impegnativi, entro qualche secondo la temperatura inizierà a salire e la ventola sarà fatta momentaneamente accelerare. La ventola di raffreddamento della CPU può essere fornita direttamente dal fabbricante, insieme al processore (in questo caso si parla di versione “boxed”), oppure essere applicata a cura dell’assemblatore o dell’utente. In alternativa all’impiego di tradizionali ventole esistono sistemi di raffreddamento con circolazione di liquido nei quali, grazie al calore specifico del fluido refrigerante (di solito acqua) ben maggiore di quello dell’aria, è più facile asportare calore dal processore e dissiparlo poi in un vero e proprio “radiatore” collocato altrove, con la possibilità di costruirlo di maggiori dimensioni e accompagnarlo con una grande e silenziosa ventola a bassa velocità anzichè con una piccola e rumorosa ventola ad alta velocità. In altri sistemi la trasmissione di calore avviene mediante le cosiddette heat pipes, bacchette di rame cavo riempite di fluido (per esempio acqua o ammoniaca) a bassa pressione. In queste condizioni l’evaporazione può avvenire anche a temperature relativamente basse e il vapore può circolare nel canale a velocità prossime a quella del suono, trasportando con estrema efficienza il calore dall’estremità calda a quella fredda, ove il vapore cede calore, condensa tornando allo stato liquido e si prepara così per il prossimo ciclo. Grazie a questo fenomeno, le heat pipes asportano il calore dalla CPU con efficienza enormemente superiore a quella che avrebbe una bacchetta di rame massiccio della stessa sezione. Esse non possono abbassare la temperatura complessiva: il loro effetto è solo quello di tendere a uniformare la temperatura della zona calda e della zona fredda. Mantenendo ben raffreddata quest’ultima si ottiene quindi, in ultima analisi, un abbassamento della temperatura della zona calda. Teoricamente, i sistemi in assoluto più silenziosi sono quelli che si basano su celle Peltier: elementi refrigeranti a stato solido, a forma di sottile piastrina, in cui, sfruttando l’effetto termoelettrico, si produce una rilevante differenza di temperatura fra le due facce del dispositivo. Le celle di Peltier non hanno parti in movimento e non emettono alcun rumore, ma consumano molta potenza elettrica (per esempio, un elemento in grado di dissipare 80-90W di potenza termica potrebbe richiedere 160W di potenza elettrica) e non risolvono il problema del raffreddamento, ma lo “spostano” solamente: infatti la faccia calda della piastrina Peltier andrà a sua volta raffreddata in modo opportuno (e dovrà essere asportato anche il calore aggiuntivo generato dalla piastrina stessa per il proprio funzionamento). Costo elevato e assorbimento elettrico esorbitante fanno di questi sistemi una soluzione più teorica che commercialmente praticabile. IT administrator - Hardware a temperatura ambiente, almeno la potenza data dal TDP, e questo in condizioni di rumorosità accettabili. Per questo sarà preferibile sovradimensionare il dissipatore, così che possa assolvere al suo compito senza dover essere spinto al limite delle sue capacità (con probabile maggior emissione di rumore). • Resistenza termica (espressa in gradi per Watt) – esprime la differenza di temperatura che deve stabilmente instaurarsi fra l'aria e la superficie di scambio perchè sia possibile dissipare 1 W di potenza termica. Più è bassa la resistenza termica, migliore è la propensione del dissipatore a cedere calore all'ambiente, e di conseguenza la sua efficacia di raffreddamento. Un buon sistema di raffreddamento a liquido esibisce valori di resistenza termica dell'ordine di 0.30 K/W: in altre parole, con una differenza di 30 gradi può dissipare con continuità 100 W di potenza termica. Oppure, ribaltando il concetto, si potrà concludere che se il processore dissipa 100W, applicando un sistema da 0.30 K/W il processore si stabilizzerà a una temperatura superiore di 30 gradi alla temperatura ambiente (per es. 25 °C + 30 °C = 55 °C). • Rumorosità (espressa in dB). La rumorosità è un fattore di importanza fondamentale per sistemi destinati all'uso residenziale, soprattutto se indirizzati all'impiego come Media Center: un fastidioso fruscio di raffreddamento disturberebbe l'ascolto. Si tenga presente che il dB è una unità di misura logaritmica, pertanto un aumento di 10dB corrisponde a una decuplicazione del livello di rumore. In un ambiente silenzioso si registrano circa 30 dB; in un ufficio affollato o al ristorante si arriva a 60 dB; una fabbrica rumorosa o un camion in accelerazione a breve distanza corrispondono a un livello di 90 dB, mentre 130-150 dB rappresentano l'emissione sonora di un aereo in decollo. Un sistema di raffreddamento sufficientemente silenzioso non dovrebbe mai superare livelli di rumorosità compatibili con quello dell'ambiente in cui esso dovrà funzionare. Infine, oltre all'intensità di rumore va considerata la frequenza: un sistema con ventola emette un suono la cui tonalità dipende dalla velocità di rotazione (in genere compresa fra 2.000 e 5.000 giri/ minuto) I processori montati su connettori di tipo “Slot” permettono di sfruttare gli spazi in modo completamente diverso da quello delle classiche soluzioni a Socket (qui una motherboard multiprocessore con 4 Xeon su Slot 2) Un processore Opteron (qui privo di dissipatore) montato sul proprio socket 940 In generale i parametri per valutare un sistema di dissipazione comprendono: • La potenza termica totale che il PC richiede di poter dissipare (Thermal Design Point, o TDP): espresso in Watt, questo è il dato di input per lo studio del dissipatore adatto al nostro sistema. Esso dovrà essere in grado di dissipare stabilmente, PC Open 27 www.pcopen.it IT administrator - Hardware Lezione 2 Nei socket LGA i pin si trovano sul socket solidale con la motherboard, mentre la CPU contiene solo le sedi per ospitarli Data la necessità di montare un dissipatore su quasi tutte le CPU attuali, i socket prevedono sempre qualche forma di ancoraggio sicuro per la struttura del corpo alettato 1.4.3 Slot e Socket In un socket PGA, i pin sono sul processore, e il socket contiene le relative sedi. Slot e Socket Il montaggio della CPU sulla motherboard avviene mediante una apposita sede che deve assicurare un fissaggio estremamente saldo e senza falsi contatti, nonchè caratteristiche termiche ed elettriche tali da consentire un funzionamento sicuro e stabile al processore. A seconda del produttore, dei modelli di processore, dei requisiti meccanici, termici e geometrici in tema di ingombri e ventilazione, dell’impostazione fisica generale del sistema, del numero di pin e perfino delle “mode”, la sede di montaggio per la CPU può presentarsi sotto due differenti aspetti: quello di un socket piano a matrice di contatti (socket), oppure quello di un connettore a sviluppo lineare simile per molti versi a quello dei moduli di memoria DIMM (slot). Dopo una parentesi di alcuni anni in cui i Pentium II, Pentium III, alcuni Celeron e alcuni Xeon hanno adottato un sistema di installazione a slot, attualmente i più recenti modelli di processore per sistemi desktop, notebook e server adottano tutti dei socket, seppure di diverso tipo. All’interno delle rispettive categorie, socket e slot si differenziano per le loro caratteristiche geometriche, il numero di pin e la disposizione dei pin ostruiti o tacche di riscontro previsti per evitare accidentali inserimenti errati, il tipo di contatti e di meccanismo di fissaggio, la frequenza del bus e il range di tensioni di lavoro supportate. Gli zoccoli con dispositivo ZIF (Zero Insertion Force) prevedono una levetta per lo sbloccaggio delle sedi dei pin PC Open 28 www.pcopen.it Spesso l’introduzione di un nuovo socket risponde a esigenze tecniche di allargamento della banda verso la memoria, aumento delle frequenze di lavoro raggiungibili, idoneità termica a processori di maggior consumo; ma altrettanto spesso, verrebbe da dire che l’introduzione di zoccoli con pin spostati e altre piccole varianti rispondono soprattutto a ragioni di marketing, per impedire l’uso di nuovi processori su schede madri vecchie (o viceversa), o per bloccare la possibilità dei concorrenti di produrre processori compatibili a livello di piedinatura con i propri. Quando un produttore riesce a mantenere stabile per almeno 2-3 anni l’insieme dei formati degli slot o socket impiegati dai propri processori, ciò ha effetti positivi sul mercato, sulle possibilità di aggiornamento ed upgrade dei sistemi e sulla dinamica dei prezzi. Cambiamenti troppo frequenti a queste specifiche obbligano invece gli utenti a sostituire praticamente tutta la macchina ogniqualvolta vogliano effettuare un upgrade significativo. In particolare, per quanto riguarda i socket, al di là del numero, della disposizione e del significato dei pin, sul mercato hanno preso piede due tipologie costruttive fondamentali: il sistema Pin Grid Array (PGA) e il sistema Land Grid Array (LGA). Un socket PGA è costituito da una matrice (a pianta approssimativamente quadrata) di sedi per i pin che sono solidali con il chip del processore. Nel socket LGA avviene il contrario: sul socket si trovano i pin, rivolti verso l’alto, mentre il processore ospita le sedi. Questo tipo di socket ha il vantaggio di supportare una maggiore densità di pin e di avere costi di fabbricazione inferiori. Uno svantaggio è legato al fatto che in caso di esecuzione imperfetta della manovra di montaggio o smontaggio dei chip, si potranno danneggiare i pin della motherboard e non quelli della CPU. Alla lunga qualche pin potrebbe rompersi, costringendo l’utente a cambiare l’intera motherboard. Per ridurre il rischio di danneggiare i pin durante le manovre di inserimento o rimozione, tutti i tipi di socket più diffusi dispongono di un sistema di aggancio/sgancio che permette di inserire o rimuovere il chip senza dover vincere alcuna resistenza: il sistema è azionato di solito da una levetta che controlla lo sbloccaggio dei pin nelle rispettive sedi. Il sistema è identificato dall’acronimo ZIF (ZeroInsertion Force). Nel caso delle CPU con fissaggio su slot, sono previsti agganci sostanzialmente simili a quelli di cui dispongono gli slot per i moduli DIMM, ma più macchinosi, a causa della molto maggiore al- Lezione 2 IT administrator - Hardware tezza raggiunta dalla processor board rispetto al piano della scheda madre. Per esempio, i processori Slot 1 in formato SECC avevano una sorta di “incastellatura”, solidale alla motherboard, che presentava ganci di ritenuta in grado di ancorarsi ad appositi riscontri ricavati sull’involucro del CPU cartridge. Un’ulteriore complicazione nel montaggio della CPU dipende dalla necessità, praticamente ineliminabile con i processori attualmente più diffusi, di montare un adeguato dissipatore sulla CPU. Il dissipatore ha una massa decisamente non tra- scurabile ed è necessario che sia fissato in modo saldo alla CPU, sia per assicurare un buon contatto con la sua superficie e quindi un efficace scambio termico, sia per evitare il rischio che una volta posizionato il PC nella sua giacitura d’uso (orizzontale o verticale che sia), il corpo alettato possa staccarsi e cadere su qualche elemento circuitale della motherboard, col rischio di rovinare qualche pista o qualche saldatura nell’urtarla. Per queste ragioni, le sedi di montaggio dei processori sono sempre predisposte anche per l’aggancio dell’impalcatura di un dissipatore. Alcuni dei più diffusi tipi di socket e slot per il montaggio di processori su PC desktop e laptop Nome Socket 7 Tipo Socket Socket 8 Slot A Slot 1 Socket Slot Slot Slot 2 Slot Socket A Socket Socket 754 Socket Socket 939 Socket Socket 940 Socket Socket AM2 Socket Socket S1 Socket Socket 370 Socket Socket 478 Socket Socket 479 Socket Socket 775 Socket Socket F Socket Tecnologia Produttore Processori PGA-ZIF Intel Intel Pentium; AMD K5 e K6 PGA-ZIF Intel Intel Pentium Pro SECC AMD AMD Athlon SECC Intel Intel Pentium II, Pentium III, Celeron SECC Intel Intel Pentium II Xeon, Pentium III Xeon PGA-ZIF AMD AMD Athlon, Athlon XP, Duron, Sempron, Athlon MP PGA-ZIF AMD AMD Athlon 64, Sempron, Turion 64 PGA-ZIF AMD AMD Athlon 64, 64 FX, 64 X2, particolari modelli Opteron serie 100; memoria DDR Unregistered PGA-ZIF AMD AMD Athlon 64 FX51, Opteron serie 100, 200 e 800 con memoria DDR Registered PGA-ZIF AMD AMD Athlon 64, 64 X2, 64 FX e Sempron, con memoria DDR2 PGA-ZIF AMD AMD Turion 64, 64X2 e Athlon 64 Mobile PGA-ZIF Intel Intel Celeron e Pentium III PGA-ZIF Intel Intel Pentium 4, Pentium 4 EE, Pentium D, Celeron, Celeron D PGA-ZIF Intel Intel Pentium M, Pentium III M, Celeron M, Core Solo e Duo LGA Intel Intel Pentium 4, 4 D e 4 EE, Celeron D, Core 2 Duo, Core 2 Extreme LGA AMD Opteron serie 2000 e 8000, Athlon 64 FX serie 70 per Quad FX Pin 321 Tensioni (V) 2.5-3.5 FSB (MHz) 66 387 2.1-3.5 66-75 242 1.65-2.80 66-133 330 1.3-3.3 66-133 453 1.1-2.05 100-200 754 0.8-1.55 200 939 0.8-1.55 200 940 0.8-1.55 200 940 0.8-1.55 200 638 370 200 1.05-2.1 66-133 478 100-200 479 166 775 133-266 1207 200 PC Open 29 www.pcopen.it IT administrator - Hardware Materiale didattico progettato per EUCIP IT Administrator segnalato da AICA Modulo 1 - Hardware “AICA, Licenziataria esclusiva in Italia del programma EUCIP (European Certification of Informatics Professionals) riconosce che il materiale didattico segnalato è strutturato in modo coerente con l’organizzazione dei contenuti prevista dai documenti EUCIP di riferimento. Di conseguenza AICA autorizza sul presente materiale didattico l’uso dei marchi EUCIP (registrato dal CEPIS Concil of European Professional Informatics Societies) ed AICA protetti dalle leggi vigenti.” 1.5 Memoria 1.5.1 RAM 1.5.1.1 Capire l’accezione dei termini: RAM e ROM e conoscere le differenze che intercorrono fra loro Lezione 3 A scuola con PC Open Capire le memorie RAM e ROM e il loro ruolo nel PC Arriviamo alla terza puntata del corso hardware nella quale mettiamo sotto esame le memorie del PC, dopo aver trattato nei numeri scorsi la scheda madre e la CPU. Impareremo a riconoscere le differenze tra RAM e ROM, a cosa serve la memoria cache che si trova nei processori e a distinguere le diverse tipologie di moduli di memoria più comunemente usate su desktop e notebook di Marco Mussini ome abbiamo visto nella prima puntata, le principali attività elementari che un PC svolge in gran numero e in modo accuratamente concertato per assolvere ai compiti complessi che gli sono affidati sono essenzialmente tre: scambiare dati con l’esterno, elaborarli ed immagazzinarli. Mentre l’elaborazione dei dati è compito della CPU, e dell’interscambio con l’esterno si incaricano le porte di comunicazione e le periferiche di I/O, il componente logico che si occupa dell’immagazzinamento dei dati è la memoria, soprattutto nelle note varianti RAM e ROM. Esistono varie tecnologie di immagazzinamento dei dati, a seconda delle finalità e modalità: • tipo di dati da memorizzare (per esempio: dati o programmi), • frequenza con cui si intende accedervi, C Calendario delle lezioni Lez 1: la scheda madre e il BIOS Lez 2: i processori Lez 3: la RAM Lez 4: bus e risorse di sistema Lez 5: interfacce Lez 6: memorie di massa Lez 7: i monitor e le schede grafiche Lez 8: le stampanti Lez 9: hardware di rete In collaborazione con Lez 10: alimentatori e installazione nuovo hardware Lez 11: risoluzione dei problemi PC Open 30 www.pcopen.it PDF DEL CORSO NEL DVD • tempo di risposta richiesto: si va da tempi dell’ordine del nanosecondo nelle memorie a semiconduttore più veloci, a millisecondi nelle unità a disco, fino anche a diversi secondi nelle unità a nastro. • forma d’accesso: sola lettura (per esempio: CDROM) o lettura/scrittura (per esempio: RAM, dischi fissi) • per le memorie che supportano lettura e scrittura: eventuale prevalenza statistica delle letture o delle scritture, • ordine tipico di accesso ai dati (per esempio: prevalentemente sequenziale oppure libero) • carattere volatile o persistente della forma di memorizzazione: il contenuto della memoria volatile (tipico esempio è la RAM) si perde allo spegnimento dell’unità, mentre la memoria persistente (spesso chiamata memoria di massa nel caso di dischi, nastri e oggi anche flash memory) la mantiene per tempi lunghissimi anche senza alimentazione. Delle memorie di massa a tecnologia magnetica e ottica parleremo nella lezione 6 del corso. In questa puntata approfondiremo invece le caratteristiche e i campi d’impiego tipici delle memorie a semiconduttore, che sono il tipo di memoria più usato nelle applicazioni in cui servono un’alta velocità e alte prestazioni in lettura e scrittura, è eventualmente accettabile che i dati non vengano mantenuti a computer spento e l’accesso ai dati avverrà secondo un ordine arbitrario, non necessariamente sequenziale. Queste memorie appartengono a tre gruppi principali fortemente specializzati per altrettante destinazioni d’uso e per questo differiscono considerevolmente per architettura costruttiva e modalità di funzionamento. Si tratta delle già citate RAM e ROM e della cache memory di cui parleremo più avanti. Lezione 3 • La RAM (Random Access Memory, o “memoria ad accesso casuale”) è spesso considerata la memoria …per antonomasia. È qui che risiedono i dati attuali e le istruzioni dei programmi in esecuzione. Si tratta di un tipo di memoria volatile a lettura/scrittura caratterizzato da capacità piuttosto elevata, tempi d’accesso bassi - dell’ordine dei nanosecondi – sia in lettura sia in scrittura e soprattutto sostanzialmente indipendenti dall’ordine di lettura dei dati (donde il nome). A causa delle difficoltà costruttive, i costi di queste memorie sono piuttosto alti e crescono rapidamente con la velocità d’accesso e con la capacità. Le memorie RAM possono essere statiche (SRAM) o dinamiche (DRAM) a seconda della necessità di essere costantemente alimentate oppure di essere anche soltanto periodicamente riscritte (o, come si suol dire, “rinfrescate”: si parla allora di refresh). Per ragioni di costo e capacità, i moduli RAM comunemente in uso nei PC sono tutti fondamentalmente di tipo DRAM, seppure con diverse varianti costruttive. Le SRAM, più piccole e costose ma anche più veloci, sono utilizzate in applicazioni particolari, spesso “a complemento” di tipi di memoria più lenti, con i quali esse risultano per molti versi complementari. • Quella delle ROM (Read Only Memory, o “memoria a sola scrittura”) è una classe di memorie non volatili, leggibili a buona velocità ma non scrivibili (oppure scrivibili un numero limitato di volte, in modo relativamente lento, richiedendo spesso di effettuare prima una speciale operazione di “cancellazione” totale o parziale). Appartengono a questa categoria anche le memorie flash, che sono un tipo di ROM riscrivibile e organizzato a settori come un disco, realizzabile a costi bassi e con capacità superiori a quella delle RAM. Su memorie di tipo ROM sono memorizzate di solito informazioni che non cambiano o che cambiano molto raramente come il firmware, il BIOS e così via. • La cache memory, più che una tecnologia costruttiva, è uno schema logico in cui un banco relativamente piccolo (da 8 Kbytes a qualche Megabyte) di memoria ad altissima velocità lavora fra un dispositivo veloce e una memoria lenta, per colmare in parte il gap di prestazioni fra le esigenze del primo e la lentezza intrinseca della seconda e velocizzare l’interscambio di dati fra essi. Nell’applicazione più frequente e più importante, la cache lavora fra la CPU e la memoria RAM. In considerazione di queste esigenze che fanno passare in secondo piano il costo, la cache memory della CPU è sempre realizzata con la più veloce RAM statica. Da notare che uno schema cache assolutamente analogo è usato anche per migliorare le prestazioni delle memorie di massa relativamente lente, come i dischi fissi: in questo caso, viste le tempistiche in gioco, per la cache può essere sufficiente impiegare la più economica DRAM (di solito 8 o 16 Mbytes). Conoscere le differenze tra memoria statica e dinamica Come già accennato, esistono due tipi di RAM: la RAM Statica (SRAM) e la RAM Dinamica (DRAM). La SRAM trova impiego, in quantità relativamente piccole, soprattutto all’interno del processore e più raramente sulla motherboard e in alcune periferiche ad alta velocità. La DRAM è invece la tecnologia a cui appartengono i tipi di RAM che si acquistano sotto forma dei familiari moduli DIMM, attualmente in tagli dell’ordine dei 512MB o del gigabyte, per espandere IT administrator - Hardware la memoria del proprio PC. Entrambe volatili e caratterizzate da tempi d’accesso sostanzialmente uguali in lettura e scrittura e indipendenti dall’ordine di lettura dei dati, la SRAM e la DRAM differiscono per costo costruttivo e densità d’informazione memorizzabile (più economica e più densa la DRAM), consumo elettrico e velocità (più parca e più veloce la SRAM). Tali differenze discendono tutte dalla differente tecnica costruttiva dei due tipi di memorie. Nella memoria RAM statica (SRAM) ogni bit è memorizzato dallo stato elettrico di una rete di 4 transistor collegati fra loro in modo tale da ammettere due stati stabili che si mantengono tali fintanto che viene fornita alimentazione al circuito. A questi due stati si attribuiscono i significati di 0 e 1. Per ogni bit ci sono inoltre altri due transistor che governano l’accesso in lettura/scrittura della cella. In totale, quindi, ogni bit di una SRAM richiede 6 transistor. Nella RAM dinamica, invece, ogni bit è memorizzato in un microscopico condensatore: si attribuisce il significato di 1 allo stato in cui il condensatore è carico e quello di 0 allo stato in cui è scarico. Un singolo transistor controlla il collegamento di questo condensatore con le linee di lettura/scrittura. In totale, ogni bit di una DRAM richiede soltanto 1 condensatore e 1 transistor, vedi schema nella pagina a fianco, il che rende possibile stipare un numero di bit enormemente maggiore, a parità di spazio, in un chip DRAM rispetto a un chip SRAM. Considerando la questione da un altro punto di vista, si può invece dire che, a parità di capacità di memoria, realizzarla come una DRAM richiede un’area di silicio inferiore, e quindi la difficoltà costruttiva (e in ultima analisi il costo per megabyte) risulteranno inferiori. Poiché però la DRAM immagazzina i bit in tanti condensatori, che tendono spontaneamente a scaricarsi entro un certo tempo, si pone un problema di persistenza dell’informazione memorizzata. Mentre un bit 0, che corrisponde a un condensatore scarico, può essere conservato indefinitamente, un bit 1 tenderà a “svanire” entro il tempo di scarica per dispersione del corrispondente microcondensatore, che, a questa scala dimensionale, pur con le bassissime tensioni e correnti in gioco, si aggira sulle decine di millisecondi. L’unico modo per fare sì che la memoria non perda il suo contenuto è riscriverne periodicamente ogni singolo bit prima che sia trascorso tale tempo. Questo processo si chiama rinfresco (re- PC Open 31 www.pcopen.it In una SRAM, ogni singolo bit è memorizzato in una rete fisicamente costituita da 6 transistor organizzati come in figura. I transistor numerati da 2 a 5, i soli che servono effettivamente per memorizzare l’informazione, sono collegati in modo da costituire una rete capace di mantenere due possibili stati di polarizzazione (la tensione di attivazione viene applicata selettivamente a diversi transitor). In un caso sono aperti i transistor 2 e 5, e il 3 e il 4 sono chiusi, oppure viceversa. A queste due situazioni vengono attribuiti i significati di “bit 0” e “bit 1”. I transistor 1 e 6 servono invece per abilitare l’accesso all’informazione dall’esterno. Per leggere o scrivere un bit occorre attivare il segnale di selezione linea, che collega la cella con il mondo esterno, e poi agire sulle linee di lettura/scrittura bit IT administrator - Hardware Una DRAM impiega un circuito decisamente più semplice e compatto per memorizzare un bit: sono sufficienti un condensatore C, che nello stato carico rappresenta un “1” e in quello scarico uno “0”, e il transistor T, che funziona da interruttore d’accesso al condensatore. Per leggere o scrivere C è necessario polarizzare (dare tensione all’elettrodo di controllo) il transistor T, attivando il segnale di selezione riga. Il dato risulta così leggibile sulla linea di lettura/scrittura bit. Il condensatore C, naturalmente, tende a scaricarsi col tempo, perciò il bit deve essere riscritto prima che “svanisca”. Questa operazione si chiama refresh, comporta un certo dispendio di energia, ed è una delle cause del non indifferente Gli antiquati moduli SIMM (a 8 o a 32 bit) avevano rispettivamente 30 oppure 72 contatti, replicati su entrambi i lati del modulo. Di norma dovevano essere installati a gruppi di due o di quattro esemplari di tipo identico per comporre banchi di memoria di formato compatibile con il bus dati del processore (ad esempio 32 bit per 386DX e 486) Il formato oggi più diffuso è il DIMM, un tipo di moduli di memoria con ampiezza di canale di 64 bit, il che fa sì che non sia più necessario installarli a coppie per adeguarli alla larghezza del bus dati del processore. Questo tipo di moduli può avere da 72 a ben 240 contatti a seconda della famiglia di appartenenza. I moduli DIMM ad alte prestazioni possono dissipare una quantità di calore elevata che è bene dissipare efficacemente per evitare un pericoloso surriscaldamento dei chip. A questo provvedono, su alcuni modelli, appositi involucri metallici che fungono da radiatore oltre a essere graditi agli appassionati di “modding” per il loro aspetto Lezione 3 sa e delicata, certamente non adatta all’upgrade “fai da te”. In alternativa esistevano schede di espansione di memoria proprietarie, più pratiche dei singoli chip ma molto costose, essendo non standard. L’installazione di un modulo di memoria standard DIMM anziché quella dei singoli chip risulta più rapida, facile e a prova d’errore: un importante risparmio di tempo e denaro. Inoltre, i moduli di memoria standard hanno un mercato più ampio delle vecchie schede proprietarie, il che si traduce in maggior concorrenza e calo dei prezzi. Nella storia ormai ventennale dei moduli DRAM il numero e la disposizione fisica dei chip sul modulo e gli standard di connessione alla motherboard del PC si sono naturalmente evoluti. Col tempo sono pertanto nate varie tipologie di moduli di memoria. fresh) e richiede un certo tempo, durante il quale la parte di memoria interessata non è accessibile: qualora la CPU volesse, proprio in quel momento, leggerla, verrebbe fatta attendere. Questo è uno dei motivi per cui la RAM è meno veloce della SRAM. Inoltre il processo di riscrittura richiede evidentemente corrente elettrica, il che rende le DRAM energeticamente meno “parsimoniose” delle SRAM. Non a caso, su dispositivi come i palmari o gli smartphone viene spesso usata la SRAM (comunque in piccola quantità) al posto della DRAM per ottimizzare i consumi elettrici e migliorare la durata della batteria. Distinguere le diverse tipologie di moduli di memoria, quali SIMM, DIMM e RIMM. I PC moderni richiedono per il proprio funzionamento dei quantitativi di memoria sempre più elevati, che sarebbe difficoltoso e costoso fabbricare sotto forma di singolo chip. Per esempio: fabbricare un chip da 1 Gbyte di DRAM richiederebbe di costruire un chip relativamente grande da 8 Gbit, con ben 8 miliardi di transistor e 8 miliardi di microcondensatori senza neppure un singolo guasto. Risulta invece più praticabile ed economica la via di fabbricare dei chip di capacità e dimensioni inferiori e di assemblarne un certo numero per costruire un modulo di memoria in grado di fornire la capacità complessiva desiderata. Inoltre, apportando variazioni alla disposizione circuitale dei chip elementari, i produttori possono realizzare moduli di memoria con prestazioni specifiche pur attingendo allo stesso bacino di componentistica, il che aumenta le economie di scala dei produttori di chip DRAM. Per esempio, pur servendosi degli stessi chip DRAM elementari, è possibile costruire moduli di memoria con o senza controllo di parità o sistema di correzione d’errore, oppure moduli strutturati in modo tale da migliorare le prestazioni in particolari condizioni d’impiego (schede grafiche, sistemi multiprocessore). Più in generale, si può fare in modo di aumentare le prestazioni senza dover attendere che i chip DRAM diventino più veloci, ma organizzando gli stessi chip in una struttura logica più efficiente. Un vantaggio non trascurabile del fatto di raggruppare più chip di memoria su un modulo preassemblato sta nella semplicità d’installazione. Fino ai primi anni ’90, espandere la memoria di un PC poteva richiedere di inserire manualmente un gran numero di chip DRAM elementari in altrettanti socket predisposti sulla motherboard. Un’operazione tedio- PC Open 32 www.pcopen.it Nei moduli SIMM (Single in-line memory module), ormai caduti in disuso, il connettore aveva 30 contatti nei primi modelli a 8 bit e 72 contatti in quelli a 32 bit. A seconda dei modelli e della capacità del modulo, i chip potevano essere saldati sia su un solo lato del modulo, sia su entrambi i lati; i contatti elettrici erano replicati su entrambi i lati. A causa dell’architettura a soli 8 o 32 bit dei SIMM, era generalmente necessario installare questi moduli a gruppi di due o di quattro unità identiche per adeguare la memoria all’ampiezza del bus dati del processore (32 bit per i 486 e 64 bit per i Pentium). Esistevano anche moduli SIMM con controllo di parità, in grado di rilevare certe categorie di guasti e conseguenti errori, ma non di compensarli. I moduli DIMM (Dual in-line memory module) sono il formato oggi dominante nelle applicazioni PC. Caratterizzati da una ampiezza di canale di 64 bit, non richiedono più di essere installati a coppie per po- ter lavorare con processori a 64 bit come i Pentium. I contatti sono molto più numerosi che sui SIMM (da 72 a ben 240 pin a seconda dei tipi) e non sono più replicati identici su entrambe le facce del modulo come avveniva sui SIMM. Altra innovazione dei DIMM è l’introduzione a bordo del modulo di un chip SPD (Serial Presence Detect) che rende disponibili alla motherboard informazioni sul tipo di modulo e sul Lezione 3 suo regime di funzionamento, così che il BIOS possa visualizzarli e soprattutto adattare automaticamente i propri parametri di lavoro ai moduli DRAM installati, senza bisogno che vengano immessi da tastiera in fase di configurazione. Su alcuni tipi di DIMM è disponibile non soltanto il controllo di parità ma anche il sistema di correzione degli errori, di cui parleremo fra poco. Molti dei moduli DIMM ad alte prestazioni più recenti dissipano una quantità di calore che col tempo porterebbe a un pericoloso aumento della temperatura e per questo sono provvisti di un dissipatore che si presenta come una placca metallica, a volte colorata, che copre quasi per intero la superficie del modulo Il formato RIMM (Rambus In-line memory module), ideato dalla società americana Rambus, è esteriormente piuttosto simile al DIMM. La differenza principale sta nei chip elementari (che sono dello speciale tipo RDRAM, Rambus DRAM) e soprattutto nell’organizzazione logica dei chip e nella modalità d’installazione dei moduli. L’idea di base per aumentare le prestazioni rispetto ai normali DIMM di prima generazione era quella di adottare un canale dati di larghezza minore (16 bit anziché 64 bit), con conseguente semplificazione circuitale, ma di far funzionare i moduli a una frequenza talmente maggiore da aumentare, nel complesso, la velocità di trasferimento dati. Nei sistemi a 32 bit, o a doppio canale di memoria, i moduli RIMM da 16 bit vanno installati sempre a coppie e se si decide di non equipaggiare tutti gli slot della motherboard è necessario installare, in quelli rimasti liberi, degli speciali moduli CRIMM (Continuity RIMM), privi di memoria, con funzioni passive, puramente elettriche. Dopo un interesse iniziale soprattutto da parte di Intel, la memoria RIMM non ha esibito particolari vantaggi di prestazioni che non potessero essere colmati dai vari tipi di memoria disponibili in architettura DIMM, tanto che con i DIMM DDR2 il gap è ormai stato chiuso e i DIMM DDR3 supereranno a breve le prestazioni delle RDRAM. Al contrario, si manifestarono svantaggi di costo (principalmente dovuti alle minori economie di scala), elettrici (maggiore sensibilità alle radiointerferenze con necessità di un più accurato progetto delle motherboard) e pratici (installazione a coppie, necessità di moduli terminatori). Tutto questo ha fatto sì che il formato RIMM non abbia mai raggiunto grande diffusione nei PC. In altri settori come quello dei videogiochi, invece, le RDRAM sono tuttora utilizzate in prodotti di rilievo come le PlayStation 2 e 3. IT administrator - Hardware mentata vertiginosamente la loro “fame” di dati da elaborare, dati che il più delle volte devono provenire dalla RAM. Diventa quindi di cruciale importanza aumentare al massimo la velocità di trasferimento dati dalla RAM (“banda”: misurata in Mbyte/secondo), ma anche ridurre le attese prima che i trasferimenti abbiano inizio (“latenza”: misurata in cicli di clock spesi in attesa). I più semplici chip DRAM rispondono alle richieste “il più presto possibile” e accettano le richieste in successione: una nuova richiesta non può essere presa in considerazione finchè non è terminata l’elaborazione della richiesta precedente. In questo quadro la CPU è costretta ad attese molto frequenti e relativamente lunghe (alcuni cicli di clock di inattività). La prima risposta al problema è stata l’introduzione di moduli SDRAM (Synchronous DRAM), nei quali la comunicazione fra processore e modulo di memoria avviene in modo regolato con maggior precisione. I dati richiesti non si affacciano ai morsetti del modulo “appena possibile”, ma solo quando un esplicito segnale di clock li abilita a farlo. Inoltre, la circuiteria di controllo del modulo è in grado di accettare nuove richieste mentre è ancora in corso l’elaborazione delle precedenti. Queste innovazioni sono molto “gradite” alla CPU in quanto riduco- Un modulo CRIMM (Continuity RIMM) la cui installazione è necessaria per la terminazione (puramente elettrica) di una catena di moduli RIMM Un modulo RIMM da 256 MB. Questo tipo di memoria, ormai caduto in disuso, era caratterizzato da alte frequenze di lavoro, che compensavano il canale dati meno ampio che nei normali DIMM I moduli DIMM SDRAM, i primi moduli a introdurre una più precisa sincronizzazione nelle comunicazioni fra processore e memoria, avevano un connettore a 168 pin con due tacche di riscontro asimmetriche no frequenza e durata delle attese nel suo dialogo con la RAM. Grazie alla temporizzazione più precisa divenne inoltre possibile aumentare le frequenze rispetto ai precedenti tipi di moduli di memoria asincroni, con un ulteriore aumento di prestazioni. I moduli SDRAM avevano 168 pin e due tacche di riscontro asimmetriche sul connettore per evitare gli errori di installazione. Le memorie DDR-SDRAM costituirono la prima evoluzione delle SDRAM. La sigla DDR significa “Double Data Rate”, a indicare che il ritmo di trasferimento dati viene raddoppiato grazie all’espediente di far avvenire i trasferimenti non una, ma due volte per ogni ciclo di clock. Nei moduli di memoria DIMM DDR il connettore ha 184 pin e una singola tacca di riscontro asimmetrica 1.5.1.4 Conoscere le prestazioni delle diverse tipologie di moduli DRAM/ SDRAM/DDR in termini di tempo d’accesso, capacità ecc. Conoscere le prestazioni delle diverse tipologie di moduli DRAM/SDRAM/DDR Con l’aumento delle prestazioni delle CPU è au- PC Open 33 www.pcopen.it IT administrator - Hardware Lezione 3 I moduli SDRAM Denominazione moduli Chip DRAM impiegati PC66 PC100 PC133 PC166 PC66 PC100 PC133 PC166 Frequenza di funzionamento dei chip (MHz) 66 100 133 166 Frequenza di funzionamento dei bus (MHz) 66 100 133 166 Trasferimenti dati al secondo (milioni) 66 100 133 166 Banda (Mbyte/s) 533 800 1067 1333 I moduli DDR-SDRAM Denominazione moduli PC1600 PC2100 PC2700 PC3200 Chip DRAM impiegati DDR-200 DDR-266 DDR-333 DDR-400 Frequenza di Frequenza di Trasferimenti Bytes trasferiti funzionamento funzionamento dati al secondo per ciclo dei chip (MHz) del bus (MHz) (milioni) 100 100 200 8 133 133 266 8 166 166 333 8 200 200 400 8 Banda (Mbyte/s) 1600 2133 2667 3200 I moduli DDR2-SDRAM Denominazione moduli Chip DRAM impiegati PC2-3200 PC2-4200 PC2-5300 PC2-6400 DDR2-400 DDR2-533 DDR2-667 DDR2-800 Trasferimenti Frequenza di Frequenza di Bytes trasferiti funzionamento funzionamento dati al secondo per ciclo (milioni) dei chip (MHz) del bus (MHz) 100 200 400 8 133 266 533 8 166 333 667 8 200 400 800 8 Un modulo DDR2 da 1 GB a 667 MHz (PC25300), con il connettore a 240 pin e tacca singola I moduli DDR3, la cui diffusione di massa dovrebbe iniziare nel 2007, permetteranno di aumentare ulteriormente le prestazioni rispetto alle attuali DDR2. Il connettore di questi nuovi DIMM avrà ancora 240 pin, ma con la tacca di riscontro in posizione differente rispetto ai DDR2 In pratica la circuiteria di controllo del modulo DDR-SDRAM reagisce presentando un dato ai morsetti sia quando riceve il fronte di salita dell’impulso di clock, sia quando riceve il fronte di discesa dello stesso impulso di clock. I moduli DDR-SDRAM hanno un connettore da 184 pin con un’unica tacca disposta quasi esattamente al centro del modulo. Le memorie DDR2 hanno proseguito la strada imboccata con le DDR per aumentare ancora la velocità di trasferimento dati raggiungibile. Nei DIMM di tipo DDR2-SDRAM, il bus di comunicazione con la CPU funziona a una frequenza esterna esattamente doppia di quella alla quale in realtà lavorano i chip di memoria. Questi funzionano ancora alle stesse frequenze dei corrispondenti chip impiegati sui moduli DDRSDRAM. Pertanto, non vi è un vero aumento di flusso di dati fornibile con continuità alla CPU da parte della RAM, in quanto l’origine dei dati non è diventata più veloce a fornirli. Il modulo è però diventato PC Open 34 www.pcopen.it Banda (Mbyte/s) 3200 4267 5333 6400 due volte più veloce nella sua comunicazione con la CPU. In particolare, rispetto a un modulo DDR, un modulo DDR2 impiega esattamente metà tempo a trasferire un dato alla CPU non appena esso diventa disponibile, oppure a ricevere dalla CPU un dato da scrivere in memoria. Se volessimo paragonare un modulo DDR e un modulo DDR2 a due persone, potremmo dire che entrambe pensano le frasi alla stessa velocità, ma la seconda riesce a pronunciarle più velocemente (anche se le fa seguire da un periodo di silenzio in quanto le occorre pur sempre del tempo per pensare alla prossima frase da dire). Le DDR2 incrementano dunque le prestazioni di picco riferite ai periodi in cui hanno luogo scambi di dati con la CPU, ma non migliorano la latenza dei moduli, che resta praticamente costante in termini di tempo e addirittura aumenta in termini di numero di cicli di clock (perché il clock è doppio rispetto ai DDR e i cicli durano un minor tempo). Ciononostante questo comportamento ha evidenziato un certo miglioramento delle prestazioni, decretando il successo delle DDR2 nei PC di larga diffusione. Il connettore dei DIMM DDR2 ha 240 pin e una singola tacca di riscontro. Le memorie DDR3, le cui specifiche definitive sono in via di approvazione con i primi prototipi funzionanti già esposti nelle fiere specializzate, si pongono due obiettivi di miglioramento rispetto alle DDR2: un aumento di banda di picco (sempre accompagnato da un aumento della latenza espressa in cicli di clock) e una importante riduzione di consumi. Il primo obiettivo è stato perseguito raddoppiando ancora la frequenza del bus esterno, che diventa quadrupla rispetto alla frequenza interna di lavoro dei Lezione 3 IT administrator - Hardware I moduli DDR3-SDRAM Denominazione moduli PC3-6400 PC3-8500 PC3-10600 Chip DRAM impiegati DDR3-800 DDR3-1066 DDR3-1333 Frequenza di funzionamento dei chip (MHz) 100 133 166 Frequenza di funzionamento del bus (MHz) 400 533 667 moduli. La riduzione dei consumi elettrici, importante sia per allungare l’autonomia dei portatili sia per ridurre il surriscaldamento e quindi il rumore delle ventole sui sistemi desktop e media center, è invece resa possibile dalla tensione di funzionamento ridotta a soli 1.5V. Il connettore dei DIMM DDR3 avrà ancora 240 pin, ma la tacca di riscontro (singola) avrà posizione diversa rispetto a quella dei moduli DDR2. Come abbiamo più volte ricordato, la velocità di trasferimento dati fra RAM e CPU non è tutto: riveste grande importanza anche la latenza, definita come il ritardo totale con cui il modulo RAM inizia a fornire i dati richiesti. La latenza è misurata in cicli di clock ed è la somma di vari ritardi elementari che si verificano in vari punti dell’architettura logica del DIMM e corrispondono ad altrettante fasi di funzionamento (vedi box “La RAM e le sue latenze”). I produttori più scrupolosi dichiarano l’intero insieme di ritardi elementari per dar modo agli acquirenti di giudicare più dettagliatamente la qualità e le prestazioni dei moduli di memoria; spesso però ci si limita a dichiarare il solo valore del ritardo CAS, che in moduli DDR assume generalmente valori fra 2 e 3 (e valori più alti, fra 3 e 9, per le memorie DDR2). In generale si può dire che più basso è il valore delle latenze dichiarate (specie del valore CAS), migliori sono le prestazioni raggiungibili dal modulo di memoria, ma è anche estremamente importante che le impostazioni della motherboard non scendano al di sotto dei valori supportati dal DIMM, altrimenti si verificheranno errori nei dati, blocchi del sistema o, nel caso più fortunato, cali severi di prestazioni. Controllo di parità e memoria ECC, il loro funzionamento e i motivi alla base Come ogni componente elettronico, anche la RAM può andare incontro a guasti, soprattutto se si verifica un deterioramento fisico dei microcircuiti a causa di temperature di lavoro non sufficientemente controllate da un adeguato sistema di dissipazione. Proprio per questo, le memorie ad alte prestazioni più recenti sono spesso equipaggiate con un involucro metallico che ha la funzione di migliorare la capacità di disperdere calore generato a bordo del modulo (oltre ad essere ormai diventato un aspetto ornamentale molto apprezzato dai patiti del “modding”). Il più semplice guasto che possa verificarsi in un chip RAM è rappresentato da una cella che non riesce più a mantenere la memoria del “proprio” bit per un tempo almeno pari all’intervallo fra due cicli di refresh, oppure nella quale non si riesce più a scrivere o a leggere. A livello fisico, il primo guasto corrisponde alla compromissione dell’isolamento del microcondensatore della cella (che ne rende troppo rapido il processo di scarica spontanea), il secondo al deterioramento del relativo transistor di controllo, che rende impossibile attivare l’accesso al bit. I guasti possono essere talmente gravi da manifestarsi regolarmente, ogni volta che si accede alla cella interessata, oppure dipendere dalla temperatura di lavoro, dall’ordine con cui arrivano le Trasferimenti Bytes trasferiti dati al secondo per ciclo (milioni) 800 8 1066 8 1333 8 Banda (Mbyte/s) 6400 8533 10667 richieste, dal clock o da altri fattori, e manifestarsi quindi solo sporadicamente. I guasti alla RAM, agli effetti pratici, provocano una alterazione dei valori memorizzati, che quando verranno riletti appariranno diversi da quelli originali. È però di vitale importanza che il PC possa contare sull’assoluta integrità dei dati depositati in memoria. Infatti l’alterazione del valore di un singolo bit, a seconda che capiti in una cella contenente una istruzione di un programma oppure un dato, può causare sia effetti devastanti e immediatamente evidenti sia effetti subdoli e destinati a rimanere latenti fino a un secondo tempo, quando però sarà troppo tardi per tentare una azione di recupero e correzione. In entrambe le ipotesi ciò comporterà danni e perdita di tempo e denaro. Per esempio, se un guasto alla RAM provocasse l’alterazione di un’istruzione di un processo in esecuzione, potrebbe verificarsi un blocco di quel processo oppure un’alterazione delle sue azioni, che potrebbero comportare scritture di dati non validi su database, trasmissione in rete di informazioni corrotte e così via (si immaginino le conseguenze di questo tipo di fenomeni se si verificassero nel sistema contabile di una banca o di un circuito di gestione di carte di credito). Ancora peggiori sarebbero le conseguenze se l’istruzione alterata appartenesse a un driver di periferica o a un processo di sistema operativo: si potrebbe avere un’alterazione del file system con perdita di dati salvati (difficile da rilevare se non al prossimo accesso a quei dati) o un più evidente crash immediato del sistema. Per queste ragioni nei computer si cerca di adottare contromisure capaci, entro certi limiti, di rilevare i guasti alla RAM o, meglio ancora, di correggerli automaticamente quando possibile. Purtroppo tali contromisure hanno un costo tanto maggiore quanto migliore è l’efficacia della protezione che assicurano. Per questo è prassi usuale adottare i sistemi di protezione più sofisticati in macchine di classe server, nelle quali le conseguenze di errori nella RAM potrebbero essere addirittura catastrofiche; all’estremo opposto, nei sistemi laptop e desktop di larga diffusione si tende a usare la più economica RAM priva di sistemi di protezione. Nella fascia intermedia, comprendente le workstation professionali e i desktop di fascia alta, le scelte dipendono dalle esigenze dell’utente. I moduli di memoria dotati di controllo di parità sono in grado di eseguire una semplice forma di rilevamento dei guasti. Questi moduli contengono una piccola quantità di RAM aggiuntiva usata per affiancare a ogni “parola” di memoria (32 bit) un ulteriore bit, non accessibile dalla CPU ma generato automa- PC Open 35 www.pcopen.it 1.5.1.5 Capire l’accezione dei termini: controllo di parità e memoria ECC, il loro funzionamento e i motivi alla base del loro impiego I moduli ECC, grazie a una piccola quantità di memoria aggiuntiva e ad appositi circuiti di controllo, sono in grado di rilevare e correggere automaticamente guasti relativi a singoli bit, aumentando così la stabilità del PC. Sono impiegati soprattutto su macchine di classe server, in cui le maggiori esigenze di affidabilità giustificano il maggior investimento necessario per equipaggiarsi con questo tipo di memoria IT administrator - Hardware La RAM e le sue latenze I dati in un chip DRAM sono organizzati su uno o più banchi (spesso 2 o 4) e all’interno di ciascun banco i dati sono organizzati logicamente in una matrice rettangolare di celle, ognuna delle quali contiene un certo numero di bit (per esempio 8). Dopo aver attivato un particolare banco nel chip, per leggere un dato da una sua cella occorre comunicarne al modulo le coordinate (“riga” e “colonna”) all’interno della matrice. Il modulo deve allora selezionare la riga richiesta, poi la colonna; può allora avere inizio il trasferimento dei dati verso la CPU e infine la riga, la cui lettura ne ha parzialmente scaricato i bit, deve essere rimessa in condizioni di sopravvivere fino al prossimo refresh (o fino alla prossima lettura) senza perdere i dati che contiene. Se la prossima lettura avverrà su altre colonne della stessa riga, essa potrà iniziare con minore attesa. Se invece la riga selezionata cambia, sarà necessario dare ulteriore tempo all’elettronica del chip DRAM per disattivare la vecchia riga e attivare quella nuova. La successione esatta di eventi e ritardi è: • Viene inviato il comando di selezione del chip DRAM (Chip Select, CS); • Ritardo Command Rate: tempo che deve trascorrere fra il segnale di selezione del chip e l’inizio dei comandi di selezione/ lettura/scrittura. • Viene inviato il comando RAS (Row Address Select) per attivare la riga desiderata. I successivi comandi si riferiranno al contenuto di questa riga. • Ritardo RAS to CAS Delay (tRCD): tempo minimo che deve trascorrere fra la selezione 1.5.1.6 Essere informati sull’ampiezza di canale - in numero di bit - relativa a ciascuna tipologia di modulo di memoria. Inoltre comprendere il concetto di organizzazione in banchi Lezione 3 di riga e la selezione di colonna. • Viene inviato il comando CAS (Column Address Select) per selezionare la colonna all’interno della riga attiva • Ritardo CAS Latency: tempo necessario per la selezione della colonna. • Inizia finalmente la successione di letture dei dati dalla cella selezionata. • Viene deselezionata la riga per poter selezionare un’altra riga. • Ritardo RAS Precharge (tRP): tempo che deve trascorrere per l’operazione di deselezione della riga corrente, onde poter selezionare un’altra riga. • Ritardo Row active to precharge (tRAS): È inoltre necessario che, per piccolo che sia stato il numero di operazioni di lettura compiute, prima di poter deselezionare la riga sia trascorso, dalla sua attivazione, almeno un tempo pari a tRAS. Così, per esempio, l’indicazione “2.5-22-5-1T” sta a indicare rispettivamente i cinque ritardi funzionali (CAS, RAS to CAS, Row precharge, Row active to Precharge, Command) che concorrono a formare la latenza complessiva del modulo, espressi in cicli di clock. Più bassi sono questi valori (e la loro somma) e migliori sono le prestazioni del modulo. Alcuni di questi valori, in particolare il valore del CAS, possono essere frazionari (come in 2.5) poiché le memorie DDRx effettuano due trasferimenti per ciclo di clock, o, per così dire, un trasferimento a ogni …mezzo ciclo di clock. I cinque ritardi non sono riportati nella loro successione logica, ma piuttosto in ordine decrescente d’importanza. Le letture dalla memoria avvengono solitamente in sequenza, da celle di memoria consecutive che molto spesso si trovano nella stessa riga. La selezione della riga avviene quindi molto più raramente ticamente dal modulo, che vale 1 o 0 a seconda che il numero di bit 1 nella parola sia pari o dispari. Qualora un numero dispari bit, a causa di uno o più guasti, dovesse virare da 1 a 0, verrebbe a mancare la coerenza fra il bit di parità e i bit contenuti nella parola, e l’elettronica di controllo segnalerebbe immediatamente l’errore. Si potrebbe così bloccare l’esecuzione prima che si materializzino conseguenze peggiori. Purtroppo i sistemi basati sul controllo di parità non sono in grado di rilevare il verificarsi contemporaneo di un numero pari di errori sui bit e tantomeno sono in grado di correggere gli errori rilevati (perché è impossibile sapere, in base al solo bit di parità, quale sia il bit che ha subito un’alterazione nella parola di memoria). Questa modesta ma pur sempre utile prestazione preventiva ha il costo di 1 bit di memoria aggiuntiva ogni 32 bit di memoria dati: un’incidenza del 3% circa. I moduli ECC (Error Correcting Code) sono invece capaci non soltanto di rilevare, ma anche di correggere gli errori, entro certi limiti ben precisati dal costruttore. I sistemi più frequentemente utilizzati sulle memorie ECC usate su macchine di classe x86 sono in grado di rilevare e automaticamente correggere errori singoli, e di rilevare (ma non correggere) PC Open 36 www.pcopen.it La comoda utility freeware CPU-Z (www.cpuid.com) consente di esaminare i parametri di funzionamento dei moduli di memoria installati sul PC della selezione di colonna; pertanto i ritardi connessi con la selezione e attivazione della riga (RAS, RAS to CAS, etc.) sono meno rilevanti, ai fini delle prestazioni, del ritardo CAS, che incide invece su ogni singola lettura. È per questo che la latenza CAS, la più critica, viene riportata per prima (o addirittura da sola) quando si indicano le caratteristiche di funzionamento di un modulo di memoria. errori doppi; il rilevamento di errori più numerosi non è garantito. Queste prestazioni richiedono 4 bit addizionali di memoria per ogni parola dati di 32 bit (corrispondenti a un “fabbisogno” del 12% circa di memoria in più) e una veloce elettronica di controllo d’errore che deve trovare posto sul modulo DIMM insieme ai chip DRAM. È chiaro che tutto questo comporta costi di fabbricazione oggettivamente maggiori, il che, tenendo conto anche delle minori economie di scala e della minor concorrenza nelle memorie per server rispetto a quelle per sistemi di larga diffusione, porta a prezzi di vendita notevolmente superiori a quelli delle memorie senza sistemi di protezione. L’investimento in memoria ECC, e in una motherboard che la supporti, deve quindi essere valutato in funzione della criticità delle informazioni da proteggere e della criticità della stabilità del sistema. L’ampiezza di canale, in numero di bit, relativa a ciascuna tipologia di modulo di memoria Ogni modulo di memoria può avere una sua particolare organizzazione interna dei chip DRAM, ma è indispensabile che l’interfaccia esterna abbia caratteristiche di funzionamento compatibili con la mother- Lezione 3 board e la CPU e soprattutto una larghezza di canale standard. Come già ricordato, i primi SIMM avevano un canale a 8 bit e ciò obbligava ad installarli a gruppi di quattro se abbinati a processori 32 bit come 386 e 486; analogamente, la successiva generazione di SIMM aveva un canale da 32 bit che per l’uso con i Pentium richiedeva l’installazione a coppie. I DIMM attualmente sul mercato hanno invece un bus a 64 bit che permette di non installarli necessariamente a coppie. Tuttavia in molte motherboard, per aumentare le prestazioni complessive del sistema CPU-memoria, è supportata una modalità “dual channel” in cui i moduli DIMM da 64 bit vengono installati a coppie, in modo tale da raddoppiare la banda fra CPU e memoria: per esempio, si può far in modo che quest’ultima appaia al memory controller come se fosse un banco unico di parole da 128 bit. Si tratta di una intelligente variante del modo di fare uso della RAM esistente sul mercato e non di un miglioramento delle prestazioni intrinseche della RAM stessa. Infatti questo schema raddoppia la velocità di trasferimento dati di picco ma non può ridurre con altrettanta efficacia la latenza. L’installazione di moduli RAM in un sistema a doppio canale richiede di rispettare regole di accoppiamento: i moduli vanno installati a coppie, meglio se di tipo identico (ma non è sempre strettamente richiesto), e su posizioni ben precise del banco di slot, solitamente identificate da colori uguali Da notare, infine, che il concetto di organizzazione a banchi non si applica soltanto fra moduli di memoria, ma anche all’interno di un modulo, dove più chip elementari sono organizzati in gruppi più o meno grandi, e perfino all’interno del singolo chip DRAM, nel quale le celle, come già accennato, sono organizzate a matrice e ogni chip contiene una o più di queste matrici che lavorano contemporaneamente per aumentare la capacità di trasferimento di dati in parallelo, per adeguare la larghezza di canale all’architettura esterna o per entrambi gli scopi. Memorie ROM Distinguere le diverse tipologie di memoria ROM: PROM, EPROM, EEPROM e relative caratteristiche. Le memorie ROM (Read-Only Memory), in senso IT administrator - Hardware stretto, sono memorie non volatili destinate a sola lettura. Il loro campo d’impiego tipico è l’immagazzinamento di informazioni che non devono cambiare: per esempio: • il programma (firmware) del microcontrollore di un semplice organizer o di una periferica (fissato una volta per tutte in fabbrica e non aggiornabile), • il codice del BIOS (che non deve poter essere alterato da un virus), • gli identificativi univoci di periferica (a volte usati dal sistema operativo per rilevare il cambiamento di configurazione o per impedire l’installazione pirata di copie replicate), • l’indirizzo fisico di una scheda di rete (che non deve variare, per impedire certi tipi di attacchi alla sicurezza), • il codice di un videogioco distribuito sotto forma di cartuccia, e così via. Le ROM hanno una buona velocità di lettura, enormemente maggiore di quella di una memoria di massa a sola lettura come un CD-ROM e potenzialmente maggiore anche di quella della DRAM, poiché una ROM non richiede refresh. Tuttavia il miglioramento tecnologico delle DRAM ha portato a prestazioni elevate colmando questo gap, cosicchè può risultare vantaggioso ricopiare il contenuto della ROM sulla DRAM e leggerlo da quest’ultima a maggior velocità. Si tratta del concetto della Shadow RAM, opzione ancora attivabile in alcuni BIOS per aumentare le prestazioni. Oggi le ROM non scrivibili vere e proprie sono sempre più spesso sostituite da tecnologie più evolute che, pur restando specializzate nell’operazione di lettura, supportano un certo numero di cancellazioni e riscritture della memoria. La possibilità di cambiare il contenuto della ROM, seppure per un numero limitato di volte, torna decisamente utile soprattutto per aggiornare il firmware di periferiche o dispositivi complessi, in cui è sempre probabile che emergano dei bug successivamente al rilascio del prodotto (tipico caso sono i telefoni cellulari, oppure il BIOS dei PC). Se il codice da aggiornare risiedesse su una “vera” ROM, per correggere il bug bisognerebbe rimuovere il chip dal suo socket e installarne uno nuovo al suo posto, oppure addirittura, in caso di chip saldato, cambiare l’intera scheda madre. Se invece il chip è riscrivibile, tutto può essere fatto in modo enormemente più pratico ed economico. Le ROM scrivibili più diffuse sono le PROM, le EPROM e le EEPROM, che differiscono dal punto di vista del numero, velocità e modalità di scritture o riscritture ammesse, e sono realizzate con tecnologie diverse. La variante più restrittiva è la PROM (Programmable ROM), scrivibile una sola volta. La scrittura avviene applicando al chip, secondo ben precise regole, opportune tensioni elettriche che distruggono dei microfusibili associati ai singoli bit della memoria. Un microfusibile interrotto crea un circuito permanentemente aperto che la logica di controllo del chip può interpretare come un bit 0; ai fusibili lasciati integri si attribuisce il significato opposto (bit 1). Il risultato è un chip i cui singoli bit, impostati in fabbrica a 1, possono essere permanentemente scritti (azzerati) una sola volta. Molto più comode sono le ROM cancellabili e riscrivibili più volte, ossia le EPROM, le EEPROM e le memorie flash. Queste si basano sul fatto che una configurazione circuitale opportuna può trasformare i transistor, solitamente impiegati nei circuiti di- PC Open 37 www.pcopen.it Alcune mothebroard, come questa Foxconn, supportano configurazioni di memoria “dual channel” ad alte prestazioni in cui i normali moduli DIMM vanno installati a coppie 1.5.2 ROM 1.5.2.1 Essere al corrente delle modalità di funzionamento della memoria ROM, e relative caratteristiche. Distinguere le diverse tipologie di memoria ROM, quali: PROM, EPROM, EEPROM e relative caratteristiche IT administrator - Hardware Lo schema interno di una CPU dual core di ultima generazione mette in evidenza la presenza di un grosso quantitativo di cache 1.5.3 Cache 1.5.3.1 Comprendere l’utilità della memoria cache. gitali come interruttori comandati, in vere e proprie “trappole di carica”, impiegabili per memorizzare un bit proprio come i condensatori delle DRAM. Grazie al molto miglior isolamento, in assenza di alimentazione questi transistor mantengono il loro stato di carica non per decine di millisecondi come farebbero le DRAM, ma per decine d’anni. I chip di memoria EPROM (Erasable Programmable ROM), in passato usati anche per memorizzare il BIOS delle motherboard, sfruttavano questo principio. Erano riconoscibili per la finestrella trasparente che sovrastava il chip e serviva per la cancellazione, che avveniva esponendoli a luce ultravioletta per alcuni secondi; per evitare che la componente ultravioletta naturalmente presente nella luce solare potesse accidentalmente cancellarli, la finestrella veniva coperta con un’etichetta dopo la programmazione. Questo scomodo sistema di cancellazione è brillantemente risolto dai chip EEPROM (Electrically Erasable Programmable ROM) in cui si usa invece un segnale elettrico: con le EEPROM diventa possibile scrivere e leggere una memoria non volatile in modo esclusivamente elettrico e quindi direttamente sul sito circuitale, sotto il controllo di un apposito software, senza bisogno di smontarla per trattarla con attrezzature esterne né di irraggiarla con anacronistiche lampade UV. La più recente evoluzione delle EEPROM è la flash memory, un tipo di EEPROM che non permette di indirizzare singoli bit, ma viene scritto a blocchi, proprio come un disco fisso. Questa impostazione obbliga a riscrivere tutti i bit del blocco anche per cambiarne uno solo, il che accelera il processo naturale di deterioramento dell’isolante che assicura ai transistor la loro proprietà di mantenere lo stato per lungo tempo. Ciò evidentemente accorcia la longevità delle flash rispetto alle EEPROM in termini di numero di cicli di cancellazione sopportabili (che è comunque dell’ordine del milione di cicli per le flash memory più recenti). In compenso le flash memory risultano molto più economiche da fabbricare delle EEPROM e hanno riscosso uno straordinario successo, come tutti sanno, come memorie di massa per tutti i tipi di dispositivi digitali. Esistono due tipi di flash memory, a seconda del tipo di porta logica usata per implementare una cella da un bit: i chip NOR e i chip NAND. I chip NAND, i più usati, hanno migliori prestazioni, maggior densità, minor costo e maggior durata, ma a differenza dei NOR non si prestano bene ad accessi non sequenziali. Pertanto, nelle applicazioni in cui il chip flash deve ospitare un programma da eseguire direttamente senza trasferirlo prima in RAM, come il BIOS di una motherboard, è necessario usare flash memory basate su chip NOR. Viceversa, le celebri “chiavette USB” e in generale le schede flash sono quasi sempre realizzate in tecnologia NAND. Comprendere l’utilità della memoria cache La cache memory, più che una tecnologia costruttiva, è uno schema logico in cui un banco relativamente piccolo (da 8Kbytes a qualche megabyte) di memoria ad altissima velocità lavora fra un dispositivo veloce e una memoria lenta, per colmare in parte il gap di prestazioni fra le esigenze del primo e la lentezza intrinseca della seconda e velocizzare l’interscambio di dati fra essi. Nell’applicazione più frequente e più importante, la cache lavora fra la CPU e la memoria RAM. In considerazione di queste esigenze che fanno passare in secondo piano il costo, la cache memory della CPU è sempre realizzata con la più veloce RAM statica. Da notare che PC Open 38 www.pcopen.it Lezione 3 uno schema cache assolutamente analogo è usato anche per migliorare le prestazioni delle memorie di massa relativamente lente, come i dischi fissi: in questo caso, viste le tempistiche in gioco, per la cache può essere sufficiente impiegare la più economica DRAM (di solito 8 o 16Mbytes). Ogniqualvolta la CPU debba scambiare dati con un dispositivo di memoria non abbastanza veloce da reggere il ritmo delle sue richieste si apre un serio problema di degrado delle prestazioni complessive del sistema. È chiaramente inutile avere una CPU, magari dual core e ad alta frequenza di clock, in grado di elaborare dati ad altissima velocità, se la RAM di cui è dotato il sistema non è in grado di fornire i dati al ritmo richiesto. La CPU trascorrerebbe gran parte del suo tempo ad attendere che la RAM finalmente risponda (si parla in questo caso di stati d’attesa, ossia cicli di clock spesi in inattività) e si sprecherebbero quasi completamente le sue potenzialità. D’altra parte non è tecnicamente possibile produrre a costi accettabili un banco di memoria RAM che sia abbastanza grande per le esigenze del software odierno e al tempo stesso abbastanza veloce da non far aspettare le sempre più veloci CPU. Entra in gioco quindi uno schema logico in cui una speciale porzione di memoria piccola ma molto veloce, detta cache memory, viene usata per ospitare dati a cui si accede spesso o ai quali probabilmente si accederà presto. Uno speciale circuito, il memory controller, esamina le richieste di dati emesse dalla CPU e se trova che i dati necessari si trovano già nella cache memory li usa per rispondere in un tempo molto più breve di quello che sarebbe stato necessario attendere se ci si fosse rivolti alla normale RAM. Se invece i dati non sono presenti nella cache, il controller li legge dalla RAM, naturalmente con la lentezza che caratterizza tale operazione, e li carica in ben precise posizioni della cache sostituendo dati già presenti e ritenuti non più suscettibili di essere nuovamente usati a breve termine. Per verificare se del valore immagazzinato in una determinata locazione di memoria esiste copia nella cache memory, è necessario memorizzare in quest’ultima, accanto a ciascun valore, anche l’indirizzo della locazione di memoria RAM da cui il valore proviene. Nell’ambito delle cache memory questa informazione viene definita “tag”. Per verificare se il dato richiesto dalla CPU è presente nella cache è concettualmente necessario esaminare uno per uno i “tag” di tutte le sue locazioni per verificare se uno di essi corrisponde all’indirizzo del dato richiesto. Per ovvi motivi di prestazioni tale controllo non viene fatto con una verifica sequenziale, che richiederebbe troppo tempo, ma se ne incaricano speciali circuiti che svolgono questo compito in un tempo estremamente ridotto. Di fatto la cache memory è organizzata come una memoria il cui contenuto non viene indirizzato specificando la locazione che interessa leggere, ma fornendo una parte del contenuto. Se il valore fornito (il tag) verrà trovato, sarà ritornato il valore ad esso associato (il dato di cui la cache contiene copia). Lezione 3 Conoscere le modalità di funzionamento della memoria cache Ma come è possibile prevedere con buona accuratezza quali dati saranno riusati dalla CPU o quali nuovi dati richiederà per la prima volta? Fortunatamente i programmi non richiedono dati alla RAM da locazioni completamente casuali, ma hanno comportamenti la cui particolarità può essere sfruttata intelligentemente per migliorare le prestazioni con un modesto costo aggiuntivo. Gli accessi a memoria dei programmi reali sono generalmente caratterizzati da due proprietà: la sequenzialità e il probabile riuso di dati a cui si è acceduto di recente. • Con “sequenzialità” intendiamo che i dati vengono spesso letti da locazioni di memoria con indirizzi consecutivi. Si potrebbe quindi compensare la lentezza di funzionamento della RAM leggendo in anticipo, seppur lentamente, una quantità di dati maggiore di quelli momentaneamente richiesti dalla CPU, e parcheggiando questi dati in una apposita memoria di parcheggio. In sostanza si “scommette” sul fatto che probabilmente la CPU avrà presto bisogno anche di questi altri dati, visto che provengono da indirizzi consecutivi. Questa tecnica è detta “prefetching” (caricamento anticipato) dei dati o anche “look ahead” (sguardo in avanti). • Se la CPU non richiederà dati ospitati in locazioni di memoria consecutive, è probabile almeno che richieda dati già usati di recente. Se mantenessimo “a portata di mano”, in una porzione di memoria relativamente piccola ma molto veloce, i dati recentemente usati, potremmo rispondere molto rapidamente alle probabili future richieste della CPU relative agli stessi dati, poiché non avremmo più bisogno di richiederli alla RAM con la sua cronica lentezza. Nei processori moderni, i memory controller che gestiscono il dialogo fra la CPU e la RAM adottano entrambe queste tecniche per migliorare le prestazioni del sistema. L’area di memoria dove questi dati vengono depositati è detta cache memory ed è realizzata con della velocissima (e costosa) memoria SRAM. Fortunatamente, le citate proprietà statistiche dei programmi sono rispettate così bene che un quantitativo di cache compreso fra i 512KB e i 2 MB (per ogni core della CPU) risulta sufficiente a ridurre quasi completamente gli stati d’attesa del processore e gli studi mostrano che quantità superiori di cache garantirebbero solo un vantaggio marginale, non giustificato dal costo aggiuntivo. Naturalmente le previsioni del memory controller non risultano sempre azzeccate, pertanto ogni tanto si verificano delle richieste di dati non presenti nella cache (cache miss). In questo caso si dovrà provvedere a effettuare delle letture (lente) dalla RAM per procurare il dato mancante. Se la cache, come avviene sempre dopo il primo periodo di funziona- IT administrator - Hardware mento della macchina, era già satura di dati, si dovrà far posto ai nuovi dati letti scartando qualche altro dato dalla cache. Il criterio di scelta su quali dati scartare è naturalmente euristico, dato che è impossibile fare previsioni rigorose. Si tende perciò a scartare il dato meno recentemente usato, nella speranza (di solito fondata) che essendo stato così poco usato ultimamente, non sia usato neanche nel prossimo futuro. Distinguere le diverse tipologie di memoria cache, e la loro localizzazione Gli schemi di memoria cache possono essere notevolmente più complessi di quelli qui descritti. In primo luogo, possono esservi cache dedicate a scopi ben distinti: nei processori, ad esempio, troviamo spesso due cache separate, una per le istruzioni (Instruction cache o I-Cache) e una per i dati (Data cache o D-Cache). Questa separazione di ruoli permette di escogitare ed applicare politiche di previsione dei prossimi accessi specializzate per la diversa natura delle informazioni trattate. Per esempio, certe istruzioni (decisioni, salti) possono interrompere il normale flusso sequenziale di esecuzione del programma: in questi casi il memory manager, su “suggerimento” del circuito di decodifica delle istruzioni, potrebbe rivolgere la propria attenzione, per il look ahead della sola cache delle istruzioni, a celle non consecutive, migliorando la probabilità di “azzeccare” le proprie previsioni sulle richieste future della CPU e quindi le prestazioni complessive. In secondo luogo, le cache differiscono per la politica (associatività) con cui fanno corrispondere le proprie locazioni a quelle della RAM gestita. L’associatività misura il grado di “libertà” con cui una cache può mettere in relazione le celle della RAM con le proprie: maggiore è questa libertà, più precisa può essere la scelta delle celle “inutili” da scartare per far posto ai nuovi dati, e migliori possono essere le prestazioni generali. Le cache più sofisticate e complesse sono dette completamente associative (fully associative): in esse qualsiasi locazione della cache può contenere la copia del dato di una qualsiasi locazione della RAM, secondo necessità. In caso di cache miss, una cache di questo tipo potrà scartare con estrema accuratezza il dato più vecchio ed evitare con ottima probabilità di doverlo rileggere poco dopo. Purtroppo in una cache completamente associativa è molto “costoso” determinare se la locazione cercata è presente nella cache oppure no: occorre confrontare l’indirizzo richiesto con l’elenco completo degli indirizzi “rispecchiati” dalla cache, e questa operazione richiede o molto tempo o circuiti piuttosto complessi. Le implementazioni più semplici e meno accurate, invece, stabiliscono una corrispondenza che a una determinata locazione della RAM fa corrispondere una e una sola possibile ubicazione nella cache: si parla di cache a corrispondenza diretta (direct mapped). In queste ultime è alta la probabilità che in caso di cache miss, essendo così rigida la legge che stabilisce quale cella della cache debba essere “sacrificata”, si elimini un dato che in realtà non è affatto quello meno usato di recente e che potrebbe quindi essere nuovamente richiesto poco dopo. Un compromesso fra questi due casi limite è quello delle cache parzialmente associative, in cui una cella RAM può essere gestita da un certo numero di celle (di solito 2 o 4) della cache. In questo caso si parla di cache con associatività a 2 vie o a PC Open 39 www.pcopen.it 1.5.3.2 Conoscere le modalità di funzionamento della memoria cache 1.5.3.3 Distinguere le diverse tipologie di memoria cache, e la loro localizzazione Il controller di memoria può essere contenuto nel chipset northbridge o direttamente nel processore IT administrator - Hardware Lezione 3 In un processore dual core, ciascun core può disporre di un proprio corredo indipendente di cache L1 e L2 (come nell’Opteron qui raffigurato). In questo caso è necessaria una apposita circuiteria (crossbar) che interconnetta ad altissima velocità le cache presenti garantendone la coerenza, qualora contengano riferimenti a uno stesso dato. Nei processori Intel Core2 Duo la cache L2 è invece unica e condivisa fra i due core. Nei processori AMD Opteron e Athlon64 ogni core dispone di due cache L1 specializzate (una per i dati e l’altra per le istruzioni) e di una cache L2 unificata, di maggiori dimensioni 4 vie (2/4-way associative cache). Questa flessibilità permette al memory controller di scegliere, di volta in volta, la cella più vantaggiosa da scartare fra 2 o 4 alternative possibili. 1.5.3.4 Conoscere le differenze intercorrenti fra: cache di primo livello/L1 e cache di secondo livello/L2 Differenze tra cache di primo livello/L1 e cache di secondo livello/L2 In terzo luogo, per ottimizzare i costi e per ridurre il ritardo di risposta, risulta conveniente strutturare la cache a livelli: un primo livello (Level 1 cache, o Cache L1), che è sempre integrato nel processore, ha la massima velocità, di solito è di tipo solo parzialmente associativo (per semplificare il circuito e farlo lavorare a più alta frequenza) ed ha piccole dimensioni (attualmente dell’ordine di 64 Kbytes). Se il dato non viene trovato nella cache L1, questa si rivolge non alla RAM, ma a un secondo banco di cache memory, più lento ma molto più grande (attualmente da 512 KB a 2 MB): è la cache di secondo livello (L2), un tempo esterna alla CPU ma oggi invariabilmente integrata in essa, a fianco della cache L1. La cache di secondo livello, grazie alle minori restrizioni di spazio e frequenza di lavoro, ha spesso una associatività maggiore di quella di primo livello. In alcuni schemi (soprattutto su macchine server e su sistemi multiprocessore) esiste anche una cache di livello 3, con dimensioni e velocità di funzionamento che si avvicinano ulteriormente a quelle della RAM; solitamente la cache di livello 3, di grandi dimensioni (parecchi megabytes) è esterna al processore per ragioni costruttive. Questo schema piramidale si rivela vantaggioso, in termini di costi e prestazioni, rispetto a sistemi di cache “monolitica”. Ricordiamo da ultimo che nei sistemi multiprocessore tutte le CPU dispongono di una propria quantità di cache, ma “vedono” tutte, potenzialmente, la stessa RAM principale. Questo significa che durante il funzionamento potrà capitare che una stessa locazione di memoria RAM sia presente contemporaneamente nella cache di due o più processori. Questo non sarebbe un problema se fosse garantito che i processori si limitano a leggere dati dalla cache, ma purtroppo non è così: seppur meno fre- PC Open 40 www.pcopen.it quentemente, le varie CPU presenti nel sistema devono anche poter scrivere dei dati. Se un processore A scrivesse un nuovo dato proprio su una di quelle locazioni che risultano contemporaneamente presenti in due o più cache del sistema, si verrebbe a creare una situazione potenzialmente molto pericolosa in cui una versione più aggiornata del dato sarebbe presente nella cache di uno solo dei processori. Se a questo punto un altro processore B leggesse quel dato, in assenza di opportuni accorgimenti quel processore otterrebbe un dato “vecchio”, che non ha risentito della scrittura appena effettuata dal processore A. Questo non sarebbe accaduto in assenza di cache memory: se tutti i processori leggessero e scrivessero direttamente sulla RAM, le prestazioni sarebbero molto basse, ma non esisterebbe il problema descritto (coerenza della cache). Un problema di coerenza della cache si verifica anche quando un’area di memoria può essere modificata, oltre che dalla CPU, anche direttamente da una periferica capace di accesso diretto alla memoria (Direct Memory Access o DMA): per esempio una scheda di rete o il controller del disco. In questo caso potrebbe accadere che una delle locazioni interessate dalla modifica abbia una vecchia copia nella cache del processore. È pertanto necessario avvertire il memory manager affinchè scarti la sua copia, ormai obsoleta. Le regole che vengono applicate per far fronte a questi rischi e garantire che i dati di tutte le cache siano sempre corretti e aggiornati rispetto alle altre cache e alla RAM sono dette protocolli di coerenza della cache (cache coherency protocols); in genere richiedono un momentaneo arresto, parziale o totale, delle operazioni di cache e CPU, e uno scambio dati fra le cache o fra cache e memoria. Da notare che questi problemi non esistono soltanto nelle macchine multiprocessore, ma anche in un qualsiasi processore dual core o quad core ormai sempre più comune su desktop e laptop. Ogni core dispone di una sua cache che deve essere mantenuta coerente con quella degli altri core presenti. A questo provvede, normalmente, uno speciale memory controller. Lezione 3 IT administrator - Hardware Differenze fra le modalità di scrittura successiva [write back] e contemporanea [write through] della cache Un aspetto importante delle cache memory è la gestione delle scritture. Infatti, la CPU non si limita a leggere dati, ma (seppur a frequenza inferiore) di tanto in tanto deve naturalmente anche scriverli. Quando questo succede, i dati devono essere scritti innanzitutto sulla cache, per essere pronti a rispondere rapidamente alla CPU qualora questa dovesse rileggerli poco dopo. Ma è anche necessario che prima o poi i dati vengano scritti in RAM, anche perché le celle di memoria di cui la cache memory contiene una “copia veloce” vengono sostituite a rotazione dalle copie di altre celle di cui il programma farà richiesta nel corso della sua esecuzione e se ciò accadesse, si rischierebbe di perdere l’unica copia esistente di un nuovo valore scritto dalla CPU. Chiarito che il dato nella cache memory non può attendere a tempo indeterminato di essere trascritto nella RAM vera e propria, si tratta di decidere quando scriverlo. Indipendentemente dal dominio applicativo e dalla tecnologia con cui sono realizzate, sono applicabili almeno due modalità di scrittura principali: la write-back e la write-through. Nella modalità write-through, in caso di scrittura di un dato sulla cache, si provvede a scriverlo immediatamente anche sulla RAM. Questa politica di gestione è semplice ma ovviamente ogni scrittura richiede tempo, durante il quale il funzionamento della cache (e di conseguenza la CPU) potrebbero dover attendere. In sostanza, una cache write-through accelera notevolmente il funzionamento rispetto a una semplice RAM nelle letture ma poco o per nulla nelle scritture. La modalità write-back prevede invece di non scrivere i dati in RAM immediatamente, ma soltanto quando la cella non ancora salvata dovrà essere sostituita per far posto a un nuovo dato. Questo significa che tutte le scritture vengono ritardate il più possibile e che la cache tenderà ad avere sempre un numero significativo di dati ancora da scaricare in RAM. Una strategia alternativa è quella di lasciar accumulare un certo numero di scritture di dati e di eseguirle poi insieme, in modo differito, ove si presentasse l’opportunità di farlo in modo più efficiente (per esempio con un’istruzione di scrittura multipla, se si trattasse di locazioni di memoria contigue). Nel caso della cache applicata ai dischi fissi, la modalità write-through è la più sicura, in quanto in un eventuale black out si perderebbe al massimo una singola scrittura in attesa. Non così in una cache write-back, che in un dato istante può essere anche completamente piena di dati non ancora scritti sul disco: questi verrebbero tutti persi se mancasse l’alimentazione abbastanza a lungo da interrompere il funzionamento del sistema. Conoscere i principi di funzionamento della cache del disco rigido Osserviamo anche che una forma di cache memory con principio di funzionamento assolutamente analogo a quello della cache fra CPU e RAM è usata anche per migliorare le prestazioni dei dei dischi fissi. Innanzitutto esiste una cache hardware dedicata ai dischi che trova posto direttamente a bordo degli stessi drive, sulla scheda dell’elettronica di controllo. Qui sono installati solitamente 8 o 16 MB di memoria RAM destinati a contenere il look-ahead buf- 1.5.3.5 Conoscere le differenze fra le modalità di scrittura successiva [write back] e contemporanea [write through] della cache. fer. Per come è costruita la meccanica del disco, infatti, quando viene servita una richiesta di lettura riferita a un particolare blocco è del tutto naturale leggere anche un certo numero di settori e cluster successivi a quello richiesto. Questi blocchi potrebbero servire a breve, se si sta effettuando una lettura sequenziale di un file (è il caso più comune); pertanto il drive li tiene da parte e se saranno richiesti potrà rispondere in pochi microsecondi (il tempo di leggere la RAM del buffer) anziché in parecchi millisecondi (il tempo medio d’accesso al disco), con un fattore di accelerazione pari a quasi 1000. La stessa area di memoria torna utile anche in caso di scrittura sul disco. I dati da scrivere arrivano al disco a velocità molto elevata, sul cavo piatto Parallel ATA (IDE) o sul cavo seriale Serial ATA. La velocità a cui è possibile scriverli fisicamente sul disco è però molto inferiore. Quello che si fa è quindi accettare la richiesta (per liberare appena possibile il controller del disco e la CPU) salvando i dati da scrivere nel buffer. Appena la testina e il disco avranno raggiunto la posizione giusta per iniziare la scrittura, i dati saranno recuperati e scritti effettivamente sulla superficie magnetica. È chiaro che questa tecnica aumenta notevolmente le prestazioni in scrittura, ma non se ne deve abusare, visto che i dati parcheggiati sul buffer dell’hard disk sarebbero persi se si verificasse un black out prima che sia stato possibile scriverli. La cache hardware non è l’unica possibilità per aumentare le prestazioni del disco in lettura e scrittura. La cache memory, infatti, non deve necessariamente essere un banco di memoria fisica: anche Windows e Linux mantengono, in una apposita regione della RAM di sistema, una cache memory “logica” di parecchi Megabytes per accelerare gli accessi al disco. Data l’ampia disponibilità di memoria di sistema, non è infatti saggio integrare troppa cache memory fisica sul disco, ma risulta conveniente coadiuvarla impiegando parte della RAM di sistema momentaneamente inutilizzata. Una soluzione intermedia fra l’integrazione di cache memory sull’hard disk e l’impiego di memoria di sistema da parte del Sistema Operativo è quella adottata da alcune schede controller per hard disk ad alte prestazioni (per esempio Adaptec 2200S) in cui è il controller stesso a essere provvisto di un proprio banco di RAM usata per la cache dei dischi collegati. Soprattutto se il controller gestisce autonomamente un array di dischi RAID fatti lavorare in modo “cooperativo”, la centralizzazione della cache può essere molto vantaggiosa e riduce la necessità, per il sistema operativo, di sacrificare parte della memoria principale a questo scopo. PC Open 41 www.pcopen.it Alcuni controller per dischi ad alte prestazioni incorporano una certa quantità di RAM impiegata come cache locale. Spesso è anche possibile installare RAM supplementare direttamente sul controller per incrementarne le prestazioni. 1.5.3.6 Conoscere i principi di funzionamento della cache del disco rigido. IT administrator - Hardware Materiale didattico progettato per EUCIP IT Administrator segnalato da AICA Modulo 1 - Hardware “AICA, Licenziataria esclusiva in Italia del programma EUCIP (European Certification of Informatics Professionals) riconosce che il materiale didattico segnalato è strutturato in modo coerente con l’organizzazione dei contenuti prevista dai documenti EUCIP di riferimento. Di conseguenza AICA autorizza sul presente materiale didattico l’uso dei marchi EUCIP (registrato dal CEPIS Concil of European Professional Informatics Societies) ed AICA protetti dalle leggi vigenti.” 1.6 Bus 1.6.1 Struttura e larghezza di banda 1.6.1.1 Sapere cos’è il bus e le relative modalità di funzionamento A scuola con PC Open Tre tipi di bus per dati, indirizzi e controllo In questa quarta puntata passiamo ad analizzare tutto ciò che riguarda le interconnessioni tra i diversi componenti. Bus e risorse di sistema di Marco Mussini l bus è la via di comunicazione fondamentale della motherboard che collega con un canale ad alta capacità la CPU alle periferiche principali, come il controller della memoria, la scheda grafica, il controller dei dischi fissi. Per comprenderne la struttura logica e il principio di funzionamento, rispetto ad altre soluzioni possibili, dobbiamo considerare che l’interconnessione fra un gruppo di dispositivi, uno dei quali debba eventualmente svolgere un ruolo di coordinatore e regolatore (master) del processo di comunicazione, si avvale di una infrastruttura fisica che può presentarsi in varie strutture logiche, o “topologie”, diverse. • (Figura 1) Un primo esempio è quello della connessione “a stella”, in cui tutte le unità periferiche sono collegate direttamente al “centro” e non sono collegate fra loro. Ogni unità dispone di un suo canale diretto, con una banda riservata a sé e sempre pienamente disponibile. Far comunicare fra loro due periferiche direttamente, con questa struttura, non è possibile: è invece necessario passare dal “centro”, impegnandolo inutilmente solo per ottenere il transito e il corretto instradamento dei messaggi. Questa struttura massimizza la banda fra ogni periferica e la CPU ma è inefficiente per le comunicazioni dirette fra periferiche; inoltre comporta una moltiplicazione delle connessioni fisiche e della complessità circuitale, specie dal punto di vista del “centro”, su cui convergono numerosi canali, a tutti i quali deve essere dato ascolto contemporaneamente. Una variante I Calendario delle lezioni Nella Figura 2 daisy chain, per la comunicazione fra il PC e una periferica della catena è richiesta la collaborazione delle periferiche attraversate dal flusso di dati. In compenso è teoricamente possibile che due periferiche comunichino fra di loro senza richiedere l’intervento del PC Lezione 4 Lez 1: la scheda madre e il BIOS Lez 2: i processori Lez 3: la RAM Lez 4: bus e risorse di sistema Lez 5: interfacce Lez 6: memorie di massa Lez 7: i monitor e le schede grafiche Lez 8: le stampanti Lez 9: hardware di rete In collaborazione con Lez 10: alimentatori e installazione nuovo hardware Lez 11: risoluzione dei problemi PC Open 42 www.pcopen.it PDF DEL CORSO NEL DVD 1 Nella topologia “a stella”, ogni periferica è collegata direttamente al centro. Il canale di comunicazione PC-periferica è diretto, ma un trasferimento dati fra due periferiche attraversa il PC e lo coinvolge nell’operazione di questo schema è quella in cui anche le periferiche sono collegate fra loro, in modo completo, o “magliato”, o solo fra coppie adiacenti; la complessità circuitale aumenta in modo considerevole, per cui l’adozione di un simile schema deve avvenire soltanto se giustificata da esigenze reali. • (Figura 2) Un secondo schema è quello della connessione “a catena” (daisy chain), con struttura simile a quella di un treno: l’unità master corrisponde alla motrice; le periferiche corrispondono ai vagoni del convoglio; per raggiungere un vagone partendo dalla motrice è necessario attraversare i vagoni precedenti. Nel caso della comunicazione dati, questo significa che il principale fattore limitante di questo schema è la banda fra la “motrice” e il primo “vagone”, in quanto tutto il traffico deve necessariamente transitare da quel tratto. Inoltre ogni elemento della catena deve essere in grado di fungere da “ripetitore” per i segnali che sono solo in transito perché destinati ad altre unità lungo la catena. 2 Lezione 4 IT administrator - Hardware 3 4 Nella topologia a “bus”, l’infrastruttura di comunicazione è condivisa da tutte le periferiche e dal master, che in un PC è di solito il south bridge. Quando offre la prestazione di “bus mastering”, il bus consente anche a una periferica di assumere temporaneamente il ruolo di master; pertanto, a seconda delle implementazioni, oltre alla normale comunicazione CPU-periferica comandata dalla CPU (linea rossa) può diventare possibile anche la comunicazione periferica-CPU intrapresa su iniziativa della periferica stessa (linea blu) e la comunicazione fra due periferiche senza coinvolgimento della CPU (linea verde) • (Figura 3) Uno schema che costituisce un buon compromesso fra prestazioni e semplicità costruttiva, sia per le periferiche sia per l’unità master, è quella del bus. Per comprenderne il funzionamento si pensi a un unico “corridoio” (corrispondente al bus) su cui si affacciano varie stanze (corrispondenti alle periferiche e all’unità master). Il corridoio può essere impegnato da una sola persona alla volta per recarsi da una stanza all’altra. Se vi è già qualcuno occorrerà attendere che arrivi a destinazione prima di accedere a propria volta al corridoio. In questo schema circuitale la comunicazione può avvenire soltanto fra una coppia di unità alla volta. In compenso, non è necessario che una delle due unità in comunicazione sia quella master: risulta infatti possibile far comunicare fra loro due periferiche in modo diretto e alla massima velocità permessa dal bus, senza impegnare il “centro” (questa possibilità è detta bus mastering). La banda complessivamente disponibile è di fatto contesa fra le periferiche, che devono utilizzarla alternativamente: l’effetto macroscopico è una condivisione della banda, come nello schema “daisy chain”. Rispetto alla topologia a catena, però, un bus non richiede alle unità partecipanti di lasciarsi attraversare da eventuali segnali in transito verso altre unità, né, quindi, di svolgere un ruolo di ripetitori attivi di segnale: a livello costruttivo ciò comporta una notevole semplificazione. A causa della mancanza di ripetitori, però, un bus non può avere dimensioni fisiche eccessivamente grandi, né accogliere un numero eccessivo di periferiche, pena l’attenuazione dei segnali e un decadimento di prestazioni. In considerazione delle particolarità di questi schemi di connessione, risulta ora comprensibile il fatto che: • gli schemi di connessione “a stella” sono normalmente usati nelle reti aziendali nelle quali è ragionevole installare un cablaggio dedicato fra ciascuna postazione e il router/switch di reparto; • schemi “daisy chain”, i cui nodi hanno la capacità di funzionare da ripetitori, sono spesso usati per il collegamento di periferiche esterne (es. FireWire) il cui numero può diventare anche elevato e le cui connessioni potrebbero dover coprire distanze non trascurabili (anche diversi metri) • il bus, invece, è lo schema di elezione sulle motherboard, in cui il numero di periferiche da interconnettere è basso (di solito non più di 5 o 6), sono richieste alte prestazioni ed è utile la possibilità che una periferica parli direttamente con un’altra (“bus mastering”) senza impegnare la CPU. Chiarito che il bus è la struttura di comunicazione idonea per le esigenze di interconnessione ad al- ta velocità sulla motherboard fra CPU e periferiche principali, vediamone ora in maggior dettaglio la struttura e la modalità di funzionamento. Conoscere la struttura del bus ed i suoi componenti Poiché il bus è l’unica connessione esistente fra master e periferiche, ogni informazione necessaria per supportare e regolare il dialogo fra queste entità deve essere comunicata sul bus stesso, insieme ai dati oggetto della comunicazione. Per questo il bus è organizzato in tre “parti” logiche, con scopi e modalità di funzionamento ben distinti (figura 4): Il bus di controllo, o control bus; Il bus degli indirizzi, o address bus; Il bus dati vero e proprio, o data bus. Conoscere le modalità di funzionamento dei componenti del bus Per chiarire il ruolo di questi tre “bus elementari” nella comunicazione fra master e periferiche, si consideri un singolo trasferimento dati effettuato su un bus. L’esigenza di effettuare un trasferimento dati può sorgere essenzialmente per due ragioni: 1 Perché lo richiede il sistema operativo oppure qualche algoritmo di uno degli applicativi in esecuzione. Ad esempio, se un programma deve disegnare sul video, deve inviare dati alla scheda grafica. Se l’utente ha richiesto di salvare il proprio lavoro, il sistema operativo, per conto dell’applicazione software, deve inviare i dati al controller del disco fisso per aggiornare il file. 2 Perché in una periferica sono improvvisamente diventati disponibili dei dati (o richiesti in precedenza o inattesi) per un programma o per il sistema operativo. Ad esempio, se la scheda di rete ha ricevuto dei dati da Internet, è necessario trasferirli in memoria centrale perché il programma pertinente li elabori. Lo stesso accade se si era in attesa di una lettura dati da CD-ROM e i dati sono finalmente pervenuti. In questo caso la periferica può fungere da master e trasferire i dati di sua iniziativa, oppure può informare il sistema operativo, con un breve messaggio (un interrupt, di cui parleremo fra breve), che i dati sono disponibili e poi attendere che sia il sistema operativo a prelevarli appena possibile. Poiché, come si è detto, il bus può essere impegnato da un solo trasferimento alla volta, chi intende trasmettere un dato a una periferica per prima cosa deve attendere, se necessario, che il bus si liberi e PC Open 43 www.pcopen.it Fig. 4: Particolare di un trasferimento in atto sul bus. Le informazioni da trasferire (ossia il “che cosa”) viaggiano sul Data Bus. Il Control Bus stabilisce “come” debba avvenire il trasferimento (per esempio: lettura o scrittura), mentre l’Address Bus stabilisce “dove” sono destinati i dati (ossia: a quale periferica e a quale indirizzo di memoria) 1.6.1.2 Conoscere la struttura del bus ed i suoi componenti: bus indirizzi, bus dati, bus di controllo. 1.6.1.3 Conoscere le modalità di funzionamento di: bus indirizzi, bus dati e bus di controllo. IT administrator - Hardware Fig. 5: Quasi tutte le periferiche fondamentali di un PC, inclusa gran parte di quelle integrate sulla motherboard (tastiera, porte seriali e parallele, porte USB, scheda di rete, audio integrato, controller IDE..) sono gestite attraverso un proprio intervallo di indirizzi di I/O. Alcune usano invece uno schema di gestione memorymapped anziché I/Omapped e altre ancora usano entrambe le tecniche. Poiché lo spazio I/O è ampio soltanto 64K (indirizzi da 0000 a FFFF esadecimale) e le periferiche che competono per accaparrarselo sono numerose, si verifica facilmente una situazione di “affollamento”, come si può notare dalla figura, in cui peraltro è rappresentata solo una piccola parte delle periferiche I/O mapped di un generico sistema PC Lezione 4 poi “acquisirlo” per il tempo necessario a effettuare l’operazione. Questo si fa avvisando tutte le periferiche connesse al bus che la risorsa sta per essere impegnata: la segnalazione consiste nell’attivazione di un segnale elettrico su una linea facente parte di una porzione del bus spesso definita bus di controllo poiché non serve direttamente a trasferire dati, ma piuttosto a governare il processo di trasferimento dati, che avviene sulle rimanenti linee del bus. Il processo di attesa e acquisizione del bus, in competizione con altri aspiranti utilizzatori del bus stesso, è detto arbitraggio del bus. Per evitare che il protrarsi della fase di arbitraggio dia luogo a tempi morti in cui non può avvenire alcun trasferimento, su alcuni bus come il PCI l’arbitraggio relativo alla prossima transazione può avvenire mentre è ancora in corso il trasferimento dati della transazione precedente. Una volta acquisito, o per così dire “prenotato”, il bus per l’operazione, è necessario che il mittente (di solito la CPU, ma non sempre) annunci il tipo di operazione. In questo esempio stiamo ipotizzando che si tratti di una trasmissione di dati destinati a una periferica, in altre parole una scrittura di I/O (Input/Output), ma naturalmente esiste anche il caso opposto, quello cioè in cui il master chiede alla periferica di fornire dati e non di riceverne (si chiede cioè una lettura di I/O); accanto alle operazioni di lettura/scrittura di I/O esistono infine le operazioni di lettura/scrittura in memoria, il che dà luogo complessivamente a quattro tipi fondamentali di operazione sul bus e la scelta deve essere effettuata prima di iniziare la transazione. Anche questa segnalazione viene effettuata sul bus di controllo, inviando segnali elettrici su apposite linee del bus di controllo. Una volta acquisito il bus e specificato il tipo d’operazione che intende fare, il master deve indicare dove sono destinati (indirizzati) i dati che si accinge a trasmettere. Così come i segnali di controllo del bus e quelli di selezione del tipo di operazione viaggiano su una porzione specializzata del bus, detta bus di controllo, così l’indicazione della destinazione dei dati avviene trasmettendo un’apposita informazione (indirizzo) in un’altra sezione specializzata, detta bus indirizzi o address bus. In analogia con l’indirizzo di una lettera, in cui accanto a indicazioni precise come nome del destinatario, via e numero civico compaiono anche indicazioni macroscopiche come città, provincia e Paese, 5 PC Open 44 www.pcopen.it anche in questo caso l’indirizzo annunciato sull’address bus può essere concettualmente visto come composto da due parti: • una prima parte che consente di capire a quale periferica siano destinati i dati (device select); • una seconda parte che permette un indirizzamento più fine nell’ambito della periferica destinataria. Quando un indirizzo appare sull’address bus, le periferiche installate sul bus lo esaminano per chiarire se la transazione che sta per avvenire le riguarda oppure no. A tal fine ogni periferica deve conoscere i limiti della propria “giurisdizione”, stabiliti da un identificativo di periferica oppure da un intervallo di indirizzi di competenza (figura 5). Quest’ultima impostazione, in passato, si effettuava in fase d’installazione hardware agendo su appositi ponticelli sulla scheda. Naturalmente, con questo sistema, si rischiava di creare per errore conflitti e omonimie fra periferiche diverse, che avrebbero compromesso il regolare funzionamento del sistema. Al contrario, con bus più recenti e perfezionati, come il PCI e l’associata tecnologia Plug and Play, l’impostazione viene assegnata automaticamente, all’accensione, dai circuiti di controllo del bus che garantiscono così l’assenza di conflitti. Come accennato, ogni periferica tiene sorvegliate le linee del bus indirizzi per sapere quando sta per verificarsi qualche transazione che la riguarda (a seconda del tipo di bus, questo accade quando sulle linee del bus di controllo appare il suo identificativo oppure un indirizzo che cade nella regione da essa gestita). Così, quando viene il momento, la periferica che il mittente ha indicato come destinataria reagisce “attivandosi” e preparandosi a ricevere dati. Tutte le altre periferiche, invece, ora sanno di non essere coinvolte, così da questo momento fino alla fine della transazione entreranno in una fase di attesa, senza interferire. La seconda informazione fondamentale presente nell’indirizzo comunicato sull’address bus è l’indirizzo al quale sono destinati i dati nell’ambito della “regione” gestita dalla periferica. Una periferica infatti di solito presiede una porzione più o meno grande dello spazio logico indirizzabile nella macchina; a tale porzione spesso corrisponde un proprio spazio fisico destinato ad accogliere i dati in arrivo, ed è necessario specificare in quale punto di tale spazio debbano essere depositati i dati. Di solito questo spazio fisico consiste in una porzione di memoria RAM, fisicamente installata sulla periferica, con ruolo di area parcheggio, altrimenti detta memoria tampone o buffer: specificare la posizione di destinazione dei dati nel buffer significa comunicare un indirizzo di questa area di memoria, che si esprime ovviamente con un numero. Da un punto di vista logico il buffer può essere visto come un’area dello spazio di indirizzamento generale della macchina, al pari della RAM di sistema; in questo caso (memory-mapped I/O) il suo indirizzo è a 16, 32 o 64 bit, a seconda del tipo di bus. Su altri sistemi il buffer è indirizzato in uno spazio separato, dedicato alle operazioni di I/O (port-mapped I/O) Finalmente, con il bus acquisito, la destinazione attivata e pronta a ricevere dati e dopo aver comunicato l’indirizzo, è possibile iniziare il trasferimento dati, che avviene sulla terza e ultima porzione logica delle linee circuitali costituenti il bus: il bus dati. Tipicamente il bus dati conta su più linee parallele, con un’ampiezza più o meno grande che in passato, con l’evoluzione delle architetture hardware, è anda- Lezione 4 IT administrator - Hardware 6 bile affrontare senza particolari problemi un aumento della frequenza di lavoro dei circuiti coinvolti nel funzionamento del bus. Per questo, ultimamente, si sta affermando una tendenza alternativa: quella di realizzare dei bus “seriali” anziché “paralleli”, con un’ampiezza di canale anche di 1 solo bit; la relativa linea opera però ad elevatissima frequenza, e questo può bastare a compensare la minor ampiezza del canale dati rispetto ai classici bus paralleli a 32 o 64 bit. Questo è l’approccio adottato dal bus PCI-Express, il quale, nella versione base (1x) è un bus seriale a 1 bit che risulta però, da solo, più veloce di un normale bus PCI parallelo a 32 bit (figura 8). Per incrementare ulteriormente le prestazioni, anche del PCI-Express esistono versioni che aggregano più piste (4, 8 o 16): non si tratta però, a rigore, di un ritorno al concetto di bus parallelo, in quanto tali versioni consistono di fatto in un certo insieme di bus indipendenti e non semplicemente di un bus più “largo” (Figura 6). 7 Il ruolo dell’ampiezza di banda passante sul bus indirizzi e bus dati ta via via aumentando: da 8 bit nei primi personal e home computer si è passati progressivamente a 16 (AT Bus), 32 bit (VL-Bus, AGP, PCI) e 64 bit (PCI-X). Questa strategia ha permesso di aumentare proporzionalmente le prestazioni, in quanto a ogni ciclo di clock possono essere trasferiti simultaneamente 8, 16, 32 o 64 bit anziché uno solo (figura 7), tuttavia vi è un effetto collaterale svantaggioso: aumentano in modo esattamente proporzionale il numero delle linee circuitali sulla motherboard e il numero dei contatti (pin) dei connettori del bus, che diventano sempre più ingombranti, costosi e complessi da realizzare. Un primo espediente per ovviare a questo problema è quello di utilizzare le stesse linee e gli stessi pin alternativamente come bus dati e come bus indirizzi. Questo riduce leggermente le prestazioni del bus, in quanto quando si trasmette un indirizzo evidentemente si deve interrompere per un istante il trasferimento dati, ma consente quasi di dimezzare il numero di contatti e piste circuitali. Inoltre, il progresso tecnologico rende oggi possi- 8 In che modo le caratteristiche del bus concorrono a determinarne le prestazioni? Il singolo parametro più importante per caratterizzare le prestazioni di un bus è la quantità di dati che è possibile trasferire per ogni unità di tempo. Questa quantità dipende da due grandezze: il numero di trasferimenti al secondo e l’ampiezza di ciascun trasferimento, che a sua volta è legata all’ampiezza del data bus. Per esempio, un bus come la versione base del PCI, che ha un’ampiezza di 32 bit e una frequenza di lavoro di 33 MHz, effettua un trasferimento per ciclo di clock e movimenta 4 byte ad ogni trasferimento. La banda è quindi pari a 4x33=132 Mbyte/s. Per contro, un bus PCI-Express 1x lavora alla frequenza di 2.5GHz e movimenta un singolo bit ad ogni trasferimento: se ogni byte richiedesse 8 bit, la velocità sarebbe quindi di 2500/8=312.5Mbytes/secondo. Tuttavia, per garantire una buona affidabilità a questa frequenza di lavoro i dati sono codificati in modo tale che un byte (8 bit) in realtà viene trasmesso su 10 bit, “sprecando” 2 bit su 10. Pertanto la velocità effettiva si riduce a “soli” 2500/10=250 Mbyte/s. Una tecnica nota come double data rate (DDR) e comunemente usata nell’interfaccia fra memory controller e i più recenti tipi di moduli di memoria RAM, consente di effettuare non uno, ma due trasferimenti per ciclo di clock: l’effetto è quello di raddoppiare la banda senza raddoppiare né la frequenza di lavoro né l’ampiezza del data bus. Il bus indirizzi e la sua ampiezza hanno solo parzialmente a che fare con le prestazioni di un bus, ma determinano lo spazio di I/O indirizzabile o la quantità di memoria indirizzabile. Nel passaggio da sistemi con indirizzamento a 32 bit a quelli con indirizzi a 64 bit tale ampiezza diventa circa 4 miliardi di volte maggiore, permettendo di progettare sistemi nettamente più potenti e adatti a manovrare agevolmente enormi quantità di dati. È piuttosto la modalità di funzionamento del bus indirizzi a poter avere un effetto negativo sulle prestazioni del bus. Come già accennato, nel bus PCI, per ridurre costi e ingombri, i bus indirizzi e dati condividono gli stessi contatti sul connettore. Di conseguenza, indirizzi e dati devono essere inviati alternativamente sulle stesse linee. Questo ha l’effetto di “rubare” una quota dei di cicli di clock, in cui potrebbero avvenire trasferimenti dati, per inviare invece indirizzi. Quanto più spesso questo avviene, tanto più si ridurranno le prestazioni. Lo stesso avviene nel bus PCI-Express, in cui su un’unica linea a 1 PC Open 45 www.pcopen.it Fig. 6: Per aumentare le prestazioni, un bus parallelo si affida alla larghezza di canale piuttosto che alla frequenza di lavoro. Nell’esempio si suppone di dover trasferire 16 bit dalla CPU a una periferica. Se il bus è largo 4 bit, a ogni ciclo di clock è possibile trasferire 4 bit di informazione. Per trasferire tutti e 16 i bit sarà quindi sufficiente attendere 16/4=4 cicli di clock. Un classico bus PCI è ampio in realtà 32 bit e lavora a 33 MHz, pertanto raggiunge 1.056 Mbps (32x33) 1.6.1.4 Sapere in che modo l’ampiezza di banda passante influenzi il bus indirizzi 1.6.1.5 Sapere in che modo l’ampiezza di banda passante influenzi il bus dati Fig. 7: La strategia di un bus seriale è opposta a quella di un bus parallelo: anziché costruire un canale largo, ci si accontenta di un canale stretto che però i dati percorrono a velocità molto maggiore. Fig. 8: Anche nelle più moderne motherboard per PC sono spesso presenti vari tipi di connettori, per consentire il reimpiego di periferiche di non recentissima concezione. In questa Foxconn 975X7AB, si vedono affiancati slot di diverse generazioni (da sinistra a destra: 2 PCI, 1 PCIe x16, 1 PCIe x1, 1 PCIe x16, 1 PCIe x1). Da un loro confronto visivo risultano subito evidenti il risparmio di spazio e la semplificazione circuitale che il bus seriale PCIe x1 ha consentito dopo l’epoca dei bus paralleli di cui il PCI è stato, in tempi recenti, il più diffuso rappresentante. Per aumentare le prestazioni del PCIe x1, si è fatto ricorso all’aggregazione di più linee PCIe seriali indipendenti. Il connettore PCIe x16 è il risultato dell’aggregazione di 16 canali di questo tipo, con un aumento proporzionale delle prestazioni, ma la contropartita è un ritorno alle dimensioni tipiche degli slot per bus paralleli. IT administrator - Hardware 1.6.2.2 Sapere cos’è il bus di I/O e relative modalità di funzionamento 1.6.2 Differenti tipi di bus 1.6.2.1 Essere al corrente dell’accezione dei termini: Front Side Bus e Back Side Bus bit devono viaggiare segnali per dati, indirizzi e controllo (incluse le segnalazioni di interrupt), riducendo la banda disponibile rispetto ai massimi teorici. Si deve però tener conto che un bus spende la maggior parte del suo tempo nel trasferimento di grossi blocchi di dati disposti sequenzialmente a partire da un determinato indirizzo. In questo scenario, è sufficiente fornire un singolo indirizzo – l’indirizzo di partenza – e poi mandare semplicemente i dati, che possono essere anche migliaia o decine di migliaia nel caso della ricezione di un pacchetto dalla rete o in quello della lettura di un blocco da disco; una volta noto l’indirizzo di base, la periferica ricevente sa già determinare automaticamente, in modo incrementale, gli indirizzi ai quali depositare i successivi dati in arrivo. Risulta quindi chiaro che il trasferimento di un indirizzo è un’operazione molto meno frequente di quella del trasferimento di un dato, ed appare quindi minimo il degrado di prestazioni dovuto al fatto che gli indirizzi “competono” con i dati per l’utilizzo delle linee del bus. Differenti tipi di bus Il traffico che la CPU scambia con il resto del sistema, ossia con la memoria, con le periferiche ad alta velocità (come dischi o schede grafiche) e con quelle a medio-bassa velocità (come porte USB e FireWire, porte seriali e parallele, tastiere e mouse), transita da un canale primario bidirezionale ad alta velocità denominato bus frontale o FSB (Front-Side Bus). L’FSB collega la CPU al chip (il cui ruolo è spesso chiamato North Bridge) che controlla direttamente la memoria e le periferiche ad alta velocità, oltre a fornire un collegamento in cascata verso un secondo chip (South Bridge) incaricato di gestire i bus e le periferiche a velocità inferiore. Nelle CPU attuali il Front-Side Bus ha caratteristiche di funzionamento (frequenza di lavoro e larghezza di canale) tali da assicurare una banda abbondante e soprattutto sufficiente per sfruttare al massimo le potenzialità della memoria. Per esempio, la gamma Core2 Duo di Intel ha un FSB a 1.066 MHz. Nei sistemi multiprocessore, dall’FSB devono transitare anche i dati scambiati fra una CPU e l’altra, pertanto la sua capacità può diventare un collo di bottiglia critico dell’architettura. Anche per questa ragione, nei processori AMD Opteron e nei recenti Athlon con supporto AMD Quad FX, anziché un FSB unico verso il North Bridge, vi sono due diversi tipi di canale: un canale diretto dedicato alla memoria (il controller della memoria è integrato nel processore, con il vantaggio di parlare con la CPU a velocità ancor maggiore di quella possibile con un FSB), più un certo numero di connessioni separate, punto-punto, ad alta velocità, basate sulla tecnologia HyperTransport, per costruire configurazioni multiCPU. Nei casi in cui si può parlare di FSB è tipico che questo bus funzioni a una frequenza inferiore rispetto a quella alla quale lavora internamente la CPU. La frequenza interna e quella esterna sono quindi legate da un “coefficiente moltiplicatore” che spesso può essere impostato da BIOS. In alcuni casi relativamente rari, come il processore Pentium Pro lanciato nel 1995, la CPU prevede un canale specifico, ancora più veloce dell’FSB, per collegare un banco di cache memory esterno rispetto al chip principale della CPU. Per assicurare le massime prestazioni, questo specialissimo canale, denominato Back-side Bus per contrapposizione con FSB, lavora a una frequenza uguale a quella del core ed ha ovviamente requisiti molto stringenti in termini di distanza massima raggiungibile. Nel Pen- PC Open 46 www.pcopen.it Lezione 4 tium Pro, il BSB copriva una distanza di pochi millimetri e la cache memory da esso collegata al processore si trovava dentro lo stesso involucro della CPU, semplicemente su un chip di silicio separato da quello principale. Sapere cos’è il bus di I/O e relative modalità di funzionamento Se l’FSB è un particolare tipo bus ad alta velocità, che connette fra loro due sole entità spesso progettate dalla stessa Casa produttrice (CPU e North Bridge chip), i bus su cui avviene l’I/O verso le periferiche, come il PCI, il PCI-X o il PCI-Express, hanno caratteristiche alquanto diverse. 1 Banda: sensibilmente inferiore a quella dell’FSB, anche perché la banda dell’FSB deve bastare per supportare sia la comunicazione CPU-memoria sia quella fra CPU e l’intero set di periferiche attestate sul bus di I/O. 2 Numero di periferiche supportate: un bus I/O non è una connessione punto-punto fra due chip come l’FSB, pertanto si pongono problemi di arbitraggio del bus, bus mastering, accesso diretto alla memoria. Tipicamente il bus I/O supporta una mezza dozzina di periferiche. 3 Frequenza di lavoro: in considerazione delle distanze sensibilmente maggiori coperte dai segnali che viaggiano su un bus di I/O, la frequenza di lavoro è in genere inferiore a quella di un FSB. Fanno eccezione soltanto i moderni I/O bus seriali, nei quali la frequenza è anzi incrementata per compensare il ridotto numero di piste circuitali e mantenere quindi buone prestazioni. 4 Compatibilità: le periferiche collegate all’I/O bus possono essere prodotte da costruttori diversi: diventa quindi necessità inderogabile che le specifiche di funzionamento del bus (tempi, livelli elettrici, protocolli) siano rese pubbliche, siano specificate in modo chiaro e inequivocabile e siano pensate per essere facili ed economiche da implementare in hardware. Altra importante differenza sta nel fatto che sui bus di I/O giocano un ruolo importantissimo le segnalazioni spontanee dalle periferiche verso la CPU (dette interruzioni, o interrupt, perché il loro arrivo richiede attenzione e “interrompe” per un istante l’esecuzione dei programmi): è infatti frequente il caso in cui una periferica abbia dei dati pronti da comunicare, e questi dati si rendano disponibili in un istante non controllabile dalla CPU, non soltanto quando i dati arrivano per cause esterne come il traffico di rete entrante, ma anche se quei dati erano stati richiesti da un programma: infatti, nel caso di un’unità disco, il tempo intercorrente fra la richiesta di lettura di un settore del disco e l’esecuzione della lettura stessa è un tempo variabile in base alla posizione della testina e all’angolo del disco. Oltre agli interrupt, un altro meccanismo tipico dei bus di I/O ma non richiesto in un FSB è l’arbitraggio automatico delle risorse di sistema fra le periferiche assistito dal BIOS all’accensione della macchina (si parla al riguardo di BIOS “plug and play”). Un particolare tipo di bus di I/O è l’USB (Universal Serial Bus), un bus seriale utilizzato prevalentemente all’esterno del PC, che estremizza le caratteristiche sopra descritte: la banda (fino a 480 Mbit/s, pari a 60 Mbyte/s, nel caso di USB 2.0) è ancora inferiore a quella dei bus I/O interni come il PCI; il numero di periferiche collegabili cresce a ben 127, con supporto per collegamenti ad albero; la frequenza di lavoro si deve necessariamente ridurre, viste anche le distanze in gioco (fino a 5 metri fra ogni peri- Lezione 4 IT administrator - Hardware ferica e la porta a cui è connessa, in assenza di ripetitori); la compatibilità, che, seppure non esente da occasionali problemi, nell’esperienza quotidiana assicura un’interoperabilità più che soddisfacente fra periferiche e PC di ogni marca. Da ricordare anche il Firewire, con applicazioni simili a quelle dell’USB ma solo apparentemente simile da un punto di vista tecnico. Non soltanto per la velocità di funzionamento, che è diversa (400 Mbps e 800 Mbps rispettivamente per il Firewire 400 e il Firewire 800), ma per il fatto che il Firewire consente comunicazioni dirette (peer-to-peer) fra due periferiche della catena, senza l’intervento del PC, il quale né viene disturbato con continue richieste di attenzione (interrupt) né deve occuparsi di arbitraggio fra transazioni e copiatura di blocchi di dati, come deve invece fare nel caso dell’USB. Firewire supporta inoltre l’allocazione preventiva di una determinata quota certa, riservata, di banda per la comunicazione di due periferiche della catena. I nodi di una catena Firewire svolgono anche funzione di ripetitori, pertanto la catena può raggiungere una notevole lunghezza senza degrado di prestazioni. I principali bus di I/O e le loro differenze: ISA, MCA, EISA, PCI, PCI-Express, PC-card, USB, Firewire Seppure a un ritmo più lento rispetto all’FSB, la cui evoluzione è spesso una questione proprietaria del fabbricante di CPU e North bridge, anche i bus di I/O hanno subito una notevole evoluzione nel corso degli anni. Naturalmente l’evoluzione è stata relativamente lenta, perché ogni generazione di I/O bus, quasi sempre incompatibile con le precedenti, ha portato con sé notevoli investimenti da parte di produttori e utenti: sarebbe troppo dispendioso essere costretti a sostituire tutte le periferiche ogni volta che cambia la tecnologia del bus, se questo avvenisse a intervalli più ravvicinati dell’arco di vita medio di una macchina. 1.6.2.3 Conoscere alcuni bus di I/O, quali: ISA, MCA, EISA, PCI, PCI-Express, PC-card, USB, Firewire. Sapere le principali differenze fig. I fig. II I principali bus per PC Nome Anno introduzione ISA 8 bit (Industry 1981 (v. 8 bit Standard per PC XT) Architecture) ISA 16 bit o “AT Bus” (Advanced 1984 (v. 16 Technology Bus) bit per PC AT) (fig. I) MCA (Micro Channel 1987 Architecture) EISA (Extended ISA) 1988 (fig. II) Tipo di bus Ampiezza bus dati Banda Frequenza teorica max di lavoro (MB/s) Plug and play Accesso diretto alla Campo d’impiego memoria tipico (DMA) parallelo 8 bit 4.77 MHz 4.77 no sì I/O bus interno parallelo 16 bit 8.33 MHz 16.66 no sì I/O bus interno parallelo 16 e 32 bit 8-10 MHz sì I/O bus interno parallelo 32 bit 8.33 MHz Fino a 40 Parzialmente 33 no sì I/O bus interno; sezione dischi di PC server 386 e 486 Fino a 160 sì sì schede grafiche di macchine 486 133 sì sì I/O bus interno espansioni esterne nei PC portatili espansioni esterne nei PC portatili schede grafiche accelerate in PC con bus PCI VL-Bus (VESA Local Bus) (figura III) 1990 parallelo 32 bit PCI 1992 parallelo 32 bit Legata al clock della CPU (Fino a 40 MHz) 33 MHz PCMCIA (PC-Card) 1991 parallelo 16 o 32 bit 33 MHz 133 sì sì CardBus (PCI in formato PC Card) 1995 parallelo 32 bit 33 MHz 133 sì sì AGP 1x- 2x- 4x- 8x (figura IV) 1997 parallelo 32 bit sì sì PCI-X (figura V e VII) PCI-Express (PCI-e, PCIe) (figura VI e VII e VIII) 1998 parallelo 64 bit 133 MHz 1064 sì sì I/O bus interno 1 bit 2.500 MHz 250 sì sì I/O bus interno ExpressCard 2004 sì sì espansioni esterne nei PC portatili USB 1.1 (figura X) 1996 seriale 1 bit 12 MHz 1.5 sì no USB 2.0 (figura X) 2000 seriale 1 bit 480 MHz 60 sì no FireWire 400 (IEEE 1394; i.Link) (figura IX) 1995 seriale 1 bit 400 MHz 50 sì sì FireWire 800 (IEEE1394a) 2000 seriale 1 bit 800 MHz 100 sì sì 2004 seriale (con possibilità di aggregazione) doppio bus seriale (USB 2.0 + PCI Express 1x) 1 bit + 1 bit 66 MHz x1 266, 533, – x2 – x4 – x8 1066, 2133 2.500 MHz per PCIe, 480 250 + 60 MHz per USB PC Open 47 www.pcopen.it soprattutto periferiche esterne a bassa velocità soprattutto periferiche esterne a media velocità soprattutto periferiche esterne a media velocità soprattutto periferiche esterne a media velocità fig. III fig. IV fig. V fig. VI fig. VII fig. VII fig. IX fig. X IT administrator - Hardware 1.6.2.4 Sapere come i diversi bus di un sistema comunicano (o cooperano) insieme. 1.6.2.6 Conoscere il nuovo standard PCI Express, le modalità di funzionamento e i relativi vantaggi 1.6.2.5 Conoscere quali risorse di sistema gestiscono il controller dischi Fig. 9: Nelle varianti 4x, 8x e 16x del bus PCIe è prevista l’aggregazione di un certo numero di canali PCIe 1x per costituire un bus logico la cui capacità è complessivamente 4, 8 o 16 volte maggiore di quella delle singole linee 1x. Un modo di sfruttare questa capacità è quello di usare in parallelo i 4, 8 o 16 bus elementari creando l’illusione di un singolo bus N volte più veloce. Sapere come i diversi bus di un sistema comunicano (o cooperano) insieme Come dovrebbe risultare chiaro dopo questa panoramica, i vari tipi di bus (FSB, back-side bus, I/O bus, bus periferico USB o FireWire) rispondono ad esigenze diverse. Per esempio, consideriamo un programma in esecuzione che ha bisogno di leggere dati da un file memorizzato su una unità disco esterna e memorizzarli su schermo. Il programma risiede in RAM, ma per essere eseguito deve essere esaminato dalla CPU che richiede alla RAM, tramite il Front-side bus (1) e il North bridge chip, la lettura delle celle di memoria contenenti le istruzioni del programma. Tali istruzioni, una volta lette, con buona probabilità verranno memorizzate nella cache L2 per velocizzare eventuali futuri accessi; la scrittura su cache L2 in alcune CPU avviene attraverso uno specifico bus ad altissima velocità, il back-side bus (2). Le istruzioni vengono eseguite una ad una, e quando arriva il momento di effettuare la lettura del file, il programma incarica il sistema operativo di mandare via USB i necessari ordini all’hard disk esterno. Per questo la CPU comunica via FSB al North Bridge i dati; questi vengono passati dal North Bridge al South Bridge, che gestisce le porte USB; a questo punto è il bus USB (3) che si incarica di far pervenire i comandi di lettura all’hard disk esterno USB. Dopo un certo tempo il drive ha riposizionato la testina e il disco ha ruotato quanto basta per portare i settori da leggere sotto alla testina: i dati sono quindi disponibili e la periferica invia una segnalazione di “dati pronti” al PC, che si traduce in una interruzione di quello che sistema operativo e programmi stanno facendo. L’operazione prosegue quindi con la ricezione dei dati da parte della CPU, che deve poi preoccuparsi di visualizzarli su schermo. Per questo il sistema operativo deve inviare alla scheda grafica le informazioni necessarie per comporre l’immagine che dovrà apparire: tali informazioni vengono spedite via FSB, North Bridge, South Bridge e infine bus PCI (4), fino alla scheda video. Anche per questo semplice scenario applicativo, come si vede, potrebbero essere stati usati ben 4 tipi diversi di bus! Conoscere quali risorse di sistema gestiscono il controller dischi Un tipo particolarmente esigente di periferica, dal punto di vista della quantità di dati da trasferire e dell’“imprevedibilità” con cui tali dati possono arrivare, è il controller del disco rigido. Infatti, quando questa periferica riceve ordini di lettura, si prepara a eseguirli riposizionando come necessario la testina e attendendo che la rotazione del disco porti i settori da leggere sotto la testina stessa, dopodichè inizia a leggere e avendo una certa quantità di dati pronti per essere trasferiti alla CPU, il controller può seguire tre possibili strategie: 1 Per ogni byte letto da disco, può inviare alla CPU, tramite il bus I/O, un segnale di interrupt, che sospenderà temporaneamente l’esecuzione di qualsiasi programma e consentirà al sistema operativo di prelevare questo byte. 2 In alternativa, può accumulare temporaneamente i dati in un proprio buffer (8 o 16 Mbyte al massimo nei dischi PC di più larga diffusione) e informare la CPU che ci sono dati pronti; sarà quindi la CPU a prelevare il blocco di dati dal buffer. 3 Può accumulare i dati in un proprio buffer come nello scenario precedente, ma trasferirli autonomamente in un’area di memoria in cui il sistema ope- PC Open 48 www.pcopen.it Lezione 4 rativo si aspetta che vengano “recapitati” i dati letti da disco, informando la CPU solo a cose fatte. Le prime due tecniche sono varianti di un approccio denominato Programmable Input/Output (PIO), in cui il trasferimento dei dati dalla periferica alla CPU è effettuato con un pesante coinvolgimento di quest’ultima: si tratta di un sistema svantaggioso, che rallenta notevolmente il funzionamento del computer facendo sprecare al processore del tempo altrimenti sfruttabile per eseguire programmi. Per ovviare a questo inconveniente è stato introdotto il concetto di accesso diretto alla memoria da parte della periferica (Direct Memory Access, o DMA), con cui la CPU viene informata del processo quando il trasferimento è già stato completato, ma senza che abbia dovuto prendervi parte attivamente. Per consentire il funzionamento del DMA, è necessario che la periferica, la CPU e il sistema operativo si accordino sull’indirizzo e sull’estensione della regione di memoria sulla quale la periferica sarà autorizzata a scrivere dati senza il coinvolgimento della CPU. Poiché le periferiche bisognose di questo tipo di supporto potrebbero essere più d’una, è prevista una chiara modellizzazione di più processi DMA paralleli sotto forma di “canali DMA”. Il numero di canali DMA disponibili non è illimitato, in quanto ogni canale DMA richiede risorse dedicate al proprio funzionamento, che consistono essenzialmente in alcuni registri. Inoltre, oltre ai canali DMA per l’esecuzione del trasferimento dati, è necessario che la periferica possa generare degli interrupt verso la CPU per segnalare l’inizio e soprattutto la fine dell’operazione. Anche i livelli di interrupt, come vedremo, sono una risorsa limitata, e devono essere assegnati, con priorità adeguata, alle sole periferiche che effettivamente ne hanno bisogno per il proprio funzionamento. Conoscere il nuovo standard PCI Express, le modalità di funzionamento e i relativi vantaggi Abbiamo già accennato alle caratteristiche del nuovo bus seriale PCI Express, che nella sua versione base lavora ad altissima frequenza su una singola linea di comunicazione, ottenendo comunque prestazioni (250 Mbytes/s) nettamente superiori a quelle di un normale bus PCI consentendo al contempo un notevole risparmio di spazio sulla motherboard grazie al connettore con pochissimi contatti (appena 18, nella versione 1x) e, di conseguenza, di piccole dimensioni. Da notare comunque che esistono varianti di PCIExpress in cui viene aggregato un certo numero di 9 Lezione 4 IT administrator - Hardware 10 11 canali base per offrire una banda complessivamente superiore: i canali disponibili potranno essere usati tutti contemporaneamente da una singola scheda, creando l’illusione di un bus singolo ancora più veloce (figura 9), oppure potranno essere “spartiti” fra le varie periferiche (figura 10). Accanto alla versione base, definita 1x, esistono PCI-Express 4x (connettore a 32 pin, 1 Gbyte/s di banda aggregata), 8x (49 pin, 2 Gbyte/s) e 16x (82 pin, 4 Gbyte/s). Da ricordare anche che il nuovo standard ExpressCard per schede d’espansione per PC portatili, che sostituisce l’obsoleto PCMCIA/CardBus, fa uso della tecnologia PCI-Express 1x, rendendo disponibile una banda di ben 250 Mbyte/s (figura 11); inoltre, grazie al ridottissimo numero di contatti tipico del PCI Express, le schede ExpressCard possono avere dimensioni molto inferiori rispetto a quelle delle vecchie schede PCMCIA/CardBus. Risorse di sistema Conoscere le risorse di base del sistema, quali: indirizzamento delle porte di I/O, IRQ, DMA. Come abbiamo visto, il dialogo fra la CPU (o, più propriamente, il sistema operativo) e le periferiche che avviene per mezzo del bus di I/O si avvale di alcuni meccanismi di base che devono essere disponibili per consentire un efficiente funzionamento di questo fondamentale processo. Nel complesso i meccanismi di base tipici dell’I/O su architettura PC/Intel sono i seguenti: • Porte di I/O, un modo specifico per indirizzare dati da scambiare con una determinata periferica (figura 13); • Richieste d’interruzione, o interrupt request (IRQ), generalmente organizzate in livelli di priorità, per informare il sistema operativo che vi sono dati pronti (figura 12); • Canali di accesso diretto alla memoria (DMA), per le periferiche che necessitano di un intenso scambio di dati e che sono in grado di gestirne il trasferimento in modo autonomo (figura 14). Osserviamo che l’unica necessità assoluta per poter effettuare I/O è l’esistenza di un qualche sistema per indirizzare i dati; in sistemi Intel è tipico farlo in modo specifico, utilizzando uno spazio di indirizzamento dedicato solo all’I/O (Port-mapped I/O), per mezzo delle porte di I/O sopra citate, mentre in sistemi basati su altri processori lo spazio gestito dalle periferiche trova posto nello stesso spazio d’indiriz- zamento in cui si trova anche la memoria (Memorymapped I/O). Avendo a disposizione almeno un sistema di indirizzamento per l’I/O, la CPU potrebbe già gestire in completa autonomia l’arrivo di dati dalle periferiche. Basterebbe infatti che il sistema operativo sospendesse periodicamente (centinaia di volte al secondo) l’esecuzione delle applicazioni e interrogasse “a turno” ogni singola periferica per verificare l’eventuale presenza di dati da leggere: qualora ve ne fossero, dovrebbe trasferirli in memoria, informando la periferica di averlo fatto. Infine dovrebbe riprendere l’esecuzione dei programmi interrotti. Questo processo di cicli di verifica periodica attuati per iniziativa del sistema operativo è detto polling delle periferiche e deve essere eseguito con frequenza sufficientemente alta per essere certi di accorgersi della presenza di dati in arrivo prima che la periferica esaurisca lo spazio per accumularli. In tal caso, infatti, i dati in eccesso andrebbero persi. Per esempio, se un hard disk è capace di fornire 20 Mbyte/s di dati, in un millisecondo si accumuleranno 20 Kbyte nel buffer del controller. Se si ammette, per ipotesi, che questo buffer abbia una capacità di 100 Kbytes, è immediato riconoscere che se i dati non vengono prelevati dal sistema operativo, la periferica ha un’autonomia di soli 5 millisecondi prima che il buffer si saturi. Il sistema operativo, quindi, dovrebbe garantire di effettuare un polling completo delle periferiche al massimo ogni 5 millisecondi. Poiché inoltre non è possibile sapere a priori né quali, né quante periferiche stiano fornendo dati, per sicurezza si deve presumere che tutte le periferiche possano fornire dati contemporaneamente, pertanto ogni 5 millisecondi il polling dovrà ispezionare tutte le periferiche ed essere sufficientemente veloce da trasferire, in quel breve arco di tempo, tutti i dati di tutte le periferiche. Senza contare che, finita l’operazione e in attesa che inizi il pros12 simo polling, al processore dovrà avanzare anche un po’ di tempo per tornare a occuparsi dell’esecuzione dei programmi! Come si vede il processo di I/O è operazione alquanto gravosa che, se interamente affidata a CPU e sistema 13 operativo con uno schema di polling, rischia di penalizzare seriamente le prestazioni della macchina. Molto meglio è chiedere la collaborazione delle periferiche, facendo in modo che siano direttamente PC Open 49 www.pcopen.it Fig. 10: Un altro modo di impiegare le linee di un bus PCIe multiplo è quello di sfruttarlo per quello che è, ossia come un insieme di bus indipendenti, che possono essere usati per far avvenire simultaneamente comunicazioni con periferiche diverse, o addirittura fra coppie di periferiche, senza impegnare la CPU. Questa flessibilità consente di aumentare le prestazioni complessive in quanto le periferiche non devono contendersi il bus: è come se nel PC ci fossero 4, 8 o 16 bus indipendenti, quasi come in una topologia “a stella” Fig. 11: Le schede di espansione ExpressCard per PC portatili, sia nel formato ExpressCard 34 sia in quello 54 dalla curiosa forma “a L”, possono disporre di un bus PCIe 1x (in aggiunta a un bus USB 2.0) e di conseguenza offrono prestazioni ben maggiori di quelle delle precedenti schede PCMCIA o CardBus. 1.7 Risorse di sistema 1.7.1 Comprendere le risorse di sistema 1.7.1.1 Conoscere le risorse di base del sistema, quali: indirizzamento delle porte di I/O, IRQ, DMA Fig. 12: L’architettura PC mette a disposizione numerose linee IRQ per gestire l’I/O su interruzione. La schermata Visualizza Risorse per Connessione della Gestione Periferiche del Pannello di Controllo permette di rendersene conto. Fig. 13: Esempio della situazione complessiva delle porte di I/O impiegate dalle periferiche di un PC. IT administrator - Hardware 14 Lezione 4 Sapere cosa sono gli indirizzi di I/O e le relative modalità di funzionamento 1.7.1.2 Sapere cosa sono gli indirizzi di I/O e le relative modalità di funzionamento Fig. 14: Sempre dal Pannello di Controllo è possibile esaminare l’insieme dei canali DMA attualmente riservati per l’uso da parte di qualche periferica loro (mediante un interrupt, o IRQ, come vedremo fra breve) a informare CPU e sistema operativo della disponibilità di dati: in questo modo la CPU non dovrà più preoccuparsi di controllare periodicamente se vi siano dati pronti presso qualche periferica, ma dovrà intervenire solo su segnalazione, un evento che sarà di norma molto meno frequente di un polling ripetuto ogni 5 millisecondi. Inoltre, alcune periferiche potranno addirittura provvedere al trasferimento dei dati in memoria in modo autonomo, interrompendo la CPU non per chiederle di prelevarli dal buffer della periferica, ma solo per informarla che i dati sono già stati trasferiti in un’area di memoria concordata. Questa sorta di “outsourcing” del lavoro di I/O consente alla CPU di non sprecare tempo prezioso su banali operazioni collaterali, e di focalizzarsi invece sul suo compito principale che è l’esecuzione degli algoritmi dei programmi: le prestazioni della macchina in tal modo migliorano notevolmente, al costo di una leggera complessità aggiuntiva di bus e periferiche. Come già visto, la comunicazione fra CPU/sistema operativo e periferiche avviene fisicamente sulle linee circuitali del bus, ma da un punto di vista logico va anche considerato l’aspetto dell’indirizzamento delle informazioni trasferite. Queste informazioni possono essere sia dati in senso stretto (per esempio i dati letti da disco) sia informazioni di controllo, come un comando che viene inviato dal sistema operativo alla periferica (per esempio: “espellere il CD dal drive!”) o un’informazione di stato che il sistema operativo richiede alla periferica (per esempio: “è chiuso il cassetto del drive CD-ROM?”). Indipendemente dalla natura delle informazioni trasferite, però, ogni qualvolta un valore viene letto o scritto su una periferica, oltre a specificare di quale periferica si tratta è necessario precisare l’indirizzo di quel dato nell’ambito del dominio di competenza della periferica stessa. L’indirizzamento consiste nel fornire una posizione in uno spazio logico suddiviso in locazioni, ognuna identificata univocamente da un numero intero che è l’indirizzo della locazione stessa. Nei PC esistono due spazi logici in cui è possibile indirizzare risorse per quanto riguarda l’I/O: lo spazio di indirizzamento della memoria (memory address space) e lo spazio di indirizzamento dell’I/O (I/O address space o semplicemente I/O space). • Nel caso del memory addressing, la periferica è progettata per rispondere a richieste di lettura/scrittura rivolte a determinate locazioni dello spazio di indirizzamento della memoria, proprio come se fosse un banco di RAM, seppure, in genere, con tempi di risposta molto più lunghi di quelli della RAM vera e propria. Per accedere in lettura/scrittura alla periferica in questa modalità il sistema operativo usa istruzioni (load/store) uguali a quelle con cui accederebbe alla memoria, semplicemente applicandole a indirizzi che ricadano entro l’area di competenza della periferica. • Nel caso dell’I/O address space, la periferica è mappata su un diverso spazio d’indirizzamento, dedicato esclusivamente all’I/O, e le istruzioni usate per accedervi sono diverse (in e out). Se una periferica utilizza il memory addressing, lo Gestione della memoria fisica e virtuale nei sistemi operativi Windows (fonte Microsoft) Nella tabella la quantità di memoria virtuale indirizzabile dalle applicazioni è inferiore a quella complessivamente gestibile dal sistema operativo, che dipende dalla specifica versione di Windows. La quantità di memoria virtuale può essere maggiore o uguale alla quantità di memoria fisica installata, il cui limite massimo dipende anch’esso dalla specifica versione di Windows oltre che dall’hardware impiegato. Sist. operativo e versione Edizione Standard Web Mem. Virtuale Massima memoria fisica 4 GB 4 GB 4 GB 2 GB 64 GB, se l’hardware supporta la modalità 4 GB Microsoft Windows Server Enterprise Physical Address Extension (PAE) 2003 SP 1 Enterprise (64-bit) 16 terabyte 1 terabyte Datacenter 4 GB 128 GB, se l’hardware supporta la modalità PAE Datacenter (64-bit) 16 terabytes 1 terabyte Standard 4 GB 4 GB Web 4 GB 2 GB Enterprise 4 GB 32 GB, se l’hardware supporta la modalità PAE Windows Server 2003 Enterprise (64-bit) 16 terabytes 64 GB Datacenter 4 GB 128 GB, se l’hardware supporta la modalità PAE Datacenter (64-bit) 16 terabytes 512 GB Home 4 GB 4 GB Windows XP Professional 4 GB 4 GB 64-bit Edition Version 2003 16 terabytes 128 GB Professional 4 GB 4 GB Server 4 GB 4 GB Windows 2000 Advanced Server 4 GB 8 GB Datacenter Server 4 GB 32 GB, se l’hardware supporta la modalità PAE PC Open 50 www.pcopen.it Lezione 4 IT administrator - Hardware 15 spazio a disposizione è relativamente abbondante. Nei sistemi PC a 32 bit, che oggi rappresentano ancora la stragrande maggioranza dei PC installati nel mondo, lo spazio di indirizzamento della memoria è ampio 4 Gigabyte, di cui le versioni più diffuse dei sistemi operativi Windows riservano 2 Gbyte per dati e applicazioni, trattenendo i rimanenti 2 Gbyte per le esigenze del sistema operativo e dei driver delle periferiche (tabella nella pagina precedente). È in quest’area che vengono riservati appositi spazi per mappare le periferiche: vere e proprie “finestre” attraverso le quali i driver delle periferiche “vedono” la memoria interna e i registri di controllo dei dispositivi che devono gestire (figura 15). È importante che le periferiche siano realizzate in modo da accettare di essere indirizzate in questo intervallo di memoria (figura 16). Se invece, per qualche restrizione del loro hardware, il loro indirizzo ricadesse in un’area occupata dalla RAM, per evitare conflitti fra memoria e periferica il sistema operativo sarebbe costretto a “oscurare” la porzione di RAM che occupa gli stessi indirizzi dell’area gestita dalla periferica, “sprecando” così, di fatto, una certa quantità di memoria fisica che diventerebbe inaccessibile. Questo possibile conflitto di indirizzamento fra periferiche e memoria è il principale svantaggio possibile con periferiche memory addressed, anche se generalmente si presenta soltanto con periferiche di concezione antiquata, risalenti 16 all’epoca in cui i PC avevano uno spazio di indirizzamento molto più ristretto di quello attuale. La soluzione dell’I/O addressing risolve alla radice il problema del conflitto fra RAM e periferiche, in quanto queste ultime si trovano in uno spazio di indirizzamento totalmente distinto da quello in cui il sistema “vede” la memoria. Purtroppo, però, vi è un altro problema: lo spazio di I/O è alquanto ristretto, in quanto su sistemi basati su processori x86 esso adotta indirizzi di soli 16 bit. Questa restrizione fa sì che siano disponibili soltanto 216 = 65.536 indirizzi (64 K), che oltretutto le periferiche devono spartirsi, poiché ovviamente non deve mai accadere che due periferiche utilizzino lo stesso intervallo di indirizzi (in caso contrario, le comunicazioni rivolte a quegli indirizzi verrebbero ricevute da due periferiche contemporaneamente, con esiti catastrofici. Pertanto, gli indirizzi di I/O costituiscono una risorsa scarsa del sistema, e diventa piuttosto serio il problema dell’amministrazione di questa risorsa. • ogni periferica deve essere configurata per “affacciarsi” su una propria finestra, preferibilmente piccola, aperta sullo spazio di I/O a un indirizzo ben preciso (figura 5); • il sistema operativo, e in particolare i driver delle periferiche, devono conoscere l’indirizzo delle finestre di I/O space usate dalle periferiche stesse. In passato (bus ISA e vecchie versioni di Windows) la prima regolazione si effettuava fisicamente sulle periferiche agendo su ponticelli e microinterruttori, e la seconda si faceva impostando esplicitamente (e manualmente) l’indirizzo giusto durante la procedura d’installazione. Un errore in queste impostazioni poteva significare malfunzionamenti della periferica, conflitti con altre periferiche, blocco del sistema. Oggi, nel caso del bus PCI con sistema operativo Windows in versione recente (per esempio XP), all’accensione del PC il BIOS, le periferiche e il sistema operativo dialogano fra loro secondo una ben precisa procedura di negoziazione che li porta a determinare automaticamente indirizzi ed estensioni delle varie finestre di I/O allocate alle periferiche. Questo sistema totalmente automatico è denominato Plug and play. Sapere cosa sono le richieste d’interruzione (IRQ) e le relative modalità di funzionamento Un problema di arbitraggio assolutamente analogo a quello degli indirizzi di I/O riguarda le richieste di interruzione (Interrupt ReQuest, o IRQ). Quando una periferica ha bisogno di immediata attenzione da parte del sistema operativo (o, più precisamente, del proprio driver), e non vuole o non può attendere che il driver di sua iniziativa la interroghi, è la periferica che deve prendere l’iniziativa, interrompendo per un istante l’esecuzione di programmi da parte della CPU per avvisarla dell’improvvisa urgenza. Questa operazione consiste appunto nell’invio di un segnale di interrupt (IRQ) che viene ricevuto dalla CPU e trattato da un apposito programma che analizza la segnalazione ricevuta e informa il driver di periferica di occuparsene appena possibile. Poiché in generale nel sistema sono installate numerose periferiche, è necessario che le segnalazioni siano distinguibili. Per questo nei sistemi PC è disponibile un certo numero di IRQ distinti (precisamente 16: vedi TABELLA 4). All’arrivo di un interrupt, il sistema operativo deve verificare, in base alla configurazione conosciuta, quale periferica è associata a quel particolare tipo di IRQ e attivare il corrispondente device driver. Tuttavia il numero di periferiche presenti in un PC può essere anche molto maggiore di 16. Infatti le PC Open 51 www.pcopen.it Fig. 15: Mappa della memoria (semplificata) per le versioni 32 bit di Windows. Le applicazioni utente risiedono nei 2 GB inferiori (indirizzi da 00000000 a 7FFFFFFF esadecimale), le aree di sistema sono invece allocate nei 2 GB superiori (da 7FFFFFFF a FFFFFFFF). Le aree di memoria usate dai drivers, anche come “zone di atterraggio” per i dati trasferiti mediante DMA, risiedono solitamente nell’area di sistema. 1.7.1.3 Sapere cosa sono le richieste d’interruzione (IRQ) e le relative modalità di funzionamento Fig. 16: Dal Pannello di Controllo è possibile notare come gli indirizzi utilizzati per la gestione delle periferiche PCI più esigenti in termini di trasferimenti dati DMA (schede grafiche, controller USB, schede di rete) ricadano tutte nell’area di memoria di sistema, ben al di sopra dell’indirizzo 7FFFFFFF IT administrator - Hardware Tutti i PC, dall’AT in poi, dispongono di 16 IRQ (per la verità non tutti utilizzabili) ottenuti impiegando due circuiti PIC (Programmable Interrupt Controller) collegati in cascata: il primo, presente nell’architettura fin dai tempi del PC IBM originario, gestisce gli IRQ da 0 a 7; il secondo, collegato a IRQ2, gestisce gli IRQ da 8 a 15. Se nel sistema è presente un chip APIC (è il caso di tutti i PC attuali) la restrizione sul numero di IRQ gestiti sostanzialmente sparisce 1.7.1.4 Sapere cosa sono gli accessi diretti alla memoria (DMA) e le relative modalità di funzionamento. Fig. 17: Se l’area di I/O usata dal driver per comunicare con la periferica è troppo piccola rispetto alla quantità di dati tipicamente trasferita a ogni transazione, e non si usa una tecnica DMA, sarà necessario interrompere la CPU numerose volte, rallentando i programmi in esecuzione. Meglio quindi mappare la periferica sulla memoria, dove non ci sono restrizioni di spazio troppo severe, oppure usare il DMA. IRQ predefiniti su sistemi PC privi di controller ACPI IRQ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Impiego System Timer Gestione Tastiera Riservato per la gestione degli IRQ da 8 a 15 Condiviso per la gestione delle porte seriali COM2 e COM4 Idem, COM1 e COM3 Gestione di porta parallela LPT2 e schede audio Gestione del floppy disk drive Gestione della porta parallela LPT1 Orologio Collegamento a IRQ2 Riservato Riservato Gestione porta mouse PS/2 Controllo del coprocessore matematico Gestione hard disk IDE, canale primario Idem, canale secondario periferiche non sono solo quelle fisicamente costituite da schede di espansione installate sui connettori del bus PCI. Vi è un certo numero di periferiche standard di sistema (quasi tutte a bassa velocità) che possono anche non essere collegate al bus PCI, ma hanno comunque bisogno di un IRQ per “farsi sentire”, come la tastiera, il mouse, le porte seriali, l’orologio, il controller del disco IDE. Per questa ragione, può succedere (sui PC recenti è anzi la norma) che due o più periferiche debbano condividere lo stesso IRQ. Questa delicata situazione è potenzialmente pericolosa, ma appositi meccanismi, parte elettronici, parte software, consentono di gestire in modo non catastrofico le situazioni in cui due periferiche mappate sullo stesso IRQ debbano inviare contemporaneamente un’interruzione. Il rischio, altrimenti, sarebbe quello di “perdere” uno dei due interrupt simultanei, con la conseguenza di non dare attenzione a una periferica che ne ha bisogno (se si trattasse del controller del disco, si verificherebbe molto probabilmente una perdita dei dati letti, o peggio). Ovviamente, nonostante questi meccanismi siano in grado di evitare veri e propri malfunzionamenti, è chiaro che una condivisione di interrupt riduce le prestazioni delle periferiche coinvolte, in quanto nei casi di IRQ simultanei una delle periferiche in conflitto deve attendere che termini l’operazione sulla periferica la cui interruzione è stata servita per prima; questa attesa provoca sicuramente un rallentamento, inoltre, se troppo prolungata, potrebbe anche causare problemi più seri. È per questo che, quando la situazione richiede che due o più periferiche condividano lo stesso IRQ, potendo scegliere è meglio fare in modo che siano periferiche a bassa velocità, che faranno uso relativamente di rado del segnale d’interruzione; o, quantomeno, evitare di abbinare a uno stesso IRQ più di una periferica ad alta velocità. In concreto: se su un IRQ è già attestato un controller del disco fisso, meglio non associare a quello stesso IRQ un’altra periferica “veloce”, come una scheda di acquisizione video. Pur con tutte le cautele del caso, se le periferiche cominciano a diventare troppo numerose e tutte molto “esigenti” in termini di banda di trasferimento, una corretta attribuzione manuale degli IRQ può diventare un esercizio complesso, quasi un rompicapo, in cui a volte si finisce con il procedere per PC Open 52 www.pcopen.it Lezione 4 tentativi. Per superare questa difficoltà l’evoluzione dell’architettura PC ha previsto da un lato di automatizzare l’arbitraggio degli IRQ fra le periferiche, nel contesto della negoziazione Plug and Play, e dall’altro di aumentare notevolmente il numero degli IRQ in modo tale da minimizzare la probabilità che due periferiche abbiano a dover condividere un IRQ. Sapere cosa sono gli accessi diretti alla memoria (DMA) e le relative modalità di funzionamento Le periferiche che producono dati con elevata frequenza o in grande quantità pongono l’esigenza di eseguire numerosi trasferimenti di grossi blocchi di dati verso la CPU e il sistema operativo. In prima istanza è possibile avvalersi delle tecniche di base dell’I/O con le periferiche: I/O addressing e memory addressing. Entrambe, però, non offrono prestazioni soddisfacenti per i casi più “pesanti” da trattare: • Nel caso dell’I/O addressing, come abbiamo visto, lo spazio di indirizzamento, già scarso (appena 64K), deve per giunta essere spartito fra le periferiche, col risultato che in molti casi l’area su cui una singola periferica può contare per i suoi trasferimenti è di poche decine di bytes. Se la “finestra” di I/O è ampia 100 bytes, e i blocchi di dati che la periferica deve trasferire sono grandi 1000 bytes, per trasferire un blocco occorreranno 10 transazioni elementari da 100 bytes, magari innescate da una sequenza di 10 IRQ che costringono il processore ad arrestarsi e a cambiare contesto di esecuzione per occuparsi di leggere i prossimi 100 bytes dal bus. Questa modalità di funzionamento è troppo “sacrificata” e inadatta alle esigenze della periferica (figura 17). • Nel caso del memory addressing, la disponibilità di spazio d’indirizzamento è decisamente più ampia e le “finestre” gestite dalle periferiche possono essere abbastanza grandi da consentire di completare i trasferimenti in unica transazione, riducendo, parallelamente, la frequenza con cui è necessario mandare degli IRQ alla CPU per informarla della disponibilità dei dati. L’efficienza è quindi nettamente migliore rispetto al sistema precedente, tuttavia rimane la necessità di un coinvolgimento diretto della CPU la quale deve assumere direttamente il controllo del trasferimento dei dati. E’ evidente che questa impostazione penalizza le prestazioni applicative del si- 17 Lezione 4 stema. Infatti, in un PC basato su CPU single core, durante questa operazione la CPU non può eseguire programmi, pertanto a ogni trasferimento gli applicativi subiscono una pausa dell’ordine dei micro o millisecondi: le singole pause non sono avvertibili dall’utente, ma l’effetto di un gran numero di queste interruzioni è un rallentamento, questo sì percepibile, del funzionamento generale di sistema operativo e programmi. In un PC dual core o multi core l’effetto è meno evidente, in quanto il carico di lavoro di I/O può essere assorbito da uno dei core della CPU rimasto eventualmente “scarico”, mentre gli altri possono continuare l’elaborazione dei programmi. Come già accennato, l’approccio più vantaggioso per gestire il trasferimento di grossi volumi di dati dalla periferica verso il sistema operativo è quello di consentire alle periferiche di funzionare da “master” del trasferimento stesso, permettendo loro di scrivere direttamente in memoria RAM. Per le periferiche memory-addressed, che occupano aree dello stesso spazio in cui si trova la RAM, si tratterà di fatto di una copiatura di dati da una locazione all’altra di uno stesso spazio di indirizzamento (il memory space); per quelle I/O-addressed, saranno invece effettuate letture di dati dallo spazio I/O (su cui si “affaccia” la periferica) e scritture degli stessi valori su determinate locazioni del memory space (dove è ubicato il banco di memoria RAM a cui sono destinati i dati). Il procedimento descritto è detto Accesso Diretto alla Memoria (Direct Memory Access, o DMA) e di solito si articola nelle seguenti fasi logiche: • La periferica informa il sistema operativo, per mezzo di un IRQ, che vi sono dati pronti. • Il sistema operativo riconosce da quale periferica proviene l’IRQ e informa il driver competente di trattare la situazione. • Il driver riconosce che occorre effettuare un grosso trasferimento dati dalla periferica alla memoria centrale, e decide di affidarlo alla periferica attivando una transazione DMA. • Se necessario, l’hardware (di solito un circuito di gestione denominato DMA Controller) viene informato dal driver che un determinato canale DMA sta per essere impegnato da un trasferimento. Con il bus PCI, che supporta il bus mastering, questa esigenza è venuta meno; il supporto di un DMA controller serviva soprattutto con alcune vecchie periferiche che non erano in grado di svolgere il ruolo di “master” di un trasferimento. • Il trasferimento DMA viene inizializzato dal driver indicando il verso del trasferimento (lettura o scrittura su RAM; in questo esempio, scrittura) e l’indirizzo dell’area di memoria interessata (che deve avere dimensioni sufficienti per ospitare tutti i dati in arrivo). • La periferica (nel caso PCI bus mastering) o il DMA Controller (nel caso di bus e periferiche non bus mastering) riceve dal driver il “via libera” all’attivazione del trasferimento. • La CPU torna a eseguire applicazioni e sistema operativo. • Nel frattempo, i dati vengono copiati dalla periferica all’area RAM di destinazione senza che la CPU venga interrotta. • Al termine del trasferimento, la periferica o il DMA Controller inviano alla CPU un interrupt per informarla che l’operazione è stata completata. • Il driver prende atto del completamento della transazione e inizia ad elaborare i dati leggendoli direttamente dalla RAM. IT administrator - Hardware In un PC possono anche avvenire contemporaneamente più operazioni DMA indipendenti, ovviamente a condizione che non siano dirette verso gli stessi indirizzi (ad assicurarsi che questo non avvenga provvedono il sistema operativo e i drivers). Per ragioni gestionali, di efficienza e di limitazioni fisiche della macchina, esiste comunque un limite al numero di transazioni DMA concomitanti che possono essere supportate e per questo si parla di “canali DMA”. Si tratta di una modellizzazione logica che aiuta a tenere sotto controllo l’uso di queste risorse. Il loro numero risulta in genere sufficiente (già nei vecchi PC con bus ISA i canali DMA disponibili erano ben 7), tuttavia si tratta pur sempre di una risorsa limitata che il sistema operativo deve amministrare, controllando, in particolare, che uno stesso canale DMA non venga condiviso da due o più periferiche. Nei vecchi PC con bus ISA l’indirizzo di destinazione del trasferimento DMA era ampio appena 16 bit, limitando notevolmente l’ampiezza dell’area (buffer) utilizzabile in RAM. Inoltre, per lo stesso motivo, gli indirizzi DMA erano circoscritti ad un’area di memoria ben precisa. Con il bus PCI gli indirizzi sono a 32 bit, con il doppio beneficio che i buffer DMA possono teoricamente essere molto più grandi (quindi le operazioni DMA possono essere più lunghe e gli IRQ per dare loro inizio possono essere meno frequenti) e possono teoricamente risiedere in qualunque punto dello spazio d’indirizzamento a 32 bit (ampio, lo ricordiamo, 4 gigabytes). Diventerebbe così possibile, per un driver, istruire la periferica da esso gestita a dirigere i trasferimenti DMA in un ampio buffer situato direttamente nello spazio dati del driver stesso, con notevole semplificazione. In realtà, spesso esistono comunque delle limitazioni sia alla dimensione dei buffer sia alla loro posizione in memoria. Un’ulteriore restrizione riguarda i moderni sistemi con CPU e sistema operativo a 64 bit, la cui diffusione è in progressivo aumento. In un sistema con indirizzi a 64 bit la mappa della memoria è enormemente più estesa di quella di “soli” 4 Gbyte dei sistemi a 32 bit. Molte periferiche, però, utilizzano una circuiteria DMA che supporta solo indirizzi a 32 bit, e quindi possono effettuare trasferimenti dati diretti soltanto verso buffer situati nei primi 4 Gbyte del memory space. Con queste periferiche, in un sistema 64 bit, se un driver desidera ricevere i dati in un’area di indirizzi “alti” sarà necessario far seguire alla transazione DMA un ciclo di copiatura per spostare i dati dove desiderato, ancora una volta con l’effetto di ridurre le prestazioni. Pur con queste restrizioni, che gradualmente saranno superate, la flessibilità degli attuali sistemi DMA per PC rimane comunque superiore a quella offerta dai PC meno moderni. Sapere dell’esistenza di APIC Nei primi PC gli IRQ erano soltanto 8, ed erano gestiti da un chip specializzato, l’Intel 8259, detto Programmable Interrupt Controller (Controllore programmabile degli interrupt), o PIC. Ben presto questo limite apparve troppo stretto, così, fin dalla prima evoluzione dell’architettura PC, l’ormai leggendario PC AT del 1984 basato su processore 80286, venne aggiunto un secondo chip 8259, portando a 16 il totale di IRQ gestibili dalla macchina. Questo numero non è più cresciuto per diversi anni, e la coppia di chip 8259 è di fatto scomparsa essendo state inglobate le sue funzioni nel South Bridge dei moderni chipset per schede madri. Essendosi però PC Open 53 www.pcopen.it 1.7.1.5 Sapere dell’esistenza di APIC IT administrator - Hardware Fig. 19: in questa vista di Everest Home Edition la visualizzazione si riferisce alle risorse impiegate da ciascuna periferica. Molte risorse sono assegnate in modo esclusivo a una unica periferica, ma si nota che alcune periferiche condividono IRQ e perfino porte di I/O con altre periferiche. riacutizzata col tempo l’esigenza di poter disporre di un numero maggiore di IRQ, si è deciso di seguire una strada radicalmente diversa, introducendo un nuovo e più avanzato tipo di controllore per gli interrupt (Advanced Programmable Interrupt Controller, APIC). Con l’architettura APIC il numero di IRQ aumenta quanto basta per allontanare la necessità di condivisioni fra periferiche (la condivisione può ancora avvenire per scelta del sistema operativo, se le periferiche sono compatibili, per “risparmiare” IRQ); se gli 8259 supportavano soltanto 8 IRQ ognuno, la maggior parte delle implementazioni APIC in commercio ne supporta 24. I chip APIC inoltre sono progettati per risolvere autonomamente il problema della distribuzione degli IRQ alle CPU in un sistema multiprocessore. Oltre all’adozione del controller APIC per aumentare il numero di IRQ, l’architettura PC con bus PCI prevede l’integrazione nel chip South Bridge di appositi circuiti capaci di collegare gli interrupt originati sul bus PCI a diversi possibili IRQ del controller APIC; la corrispondenza è configurabile via software. Così facendo il sistema operativo acquisisce la capacità di riassegnare, o per meglio dire ridirigere, gli interrupt emessi dalle periferiche PCI verso un IRQ che risulta “libero”, in base a un’analisi della situazione hardware. 1.7.2 Gestire le risorse di sistema 1.7.2.1 Essere in grado di verificare le attuali risorse di base del sistema, utilizzate e disponibili Gestire le risorse di sistema Fig. 18: La pratica utility gratuita Everest Home Edition dà accesso alle stesse informazioni della sezione Gestione Periferiche del Pannello di Controllo di Windows (e anche ad altre utili notizie aggiuntive) con un’interfaccia più chiara e “amichevole”. In questo esempio di elenco delle periferiche PCI si noti, per esempio, come il controller Fast Ethernet di questo PC disponga di Bus Mastering per poter trasferire in memoria i dati in arrivo dalla rete senza impegnare la CPU 18 Essere in grado di verificare le attuali risorse di base del sistema, utilizzate e disponibili Dal momento che indirizzi I/O, IRQ e canali DMA sono risorse scarse, il sistema operativo vigila costantemente sul loro impiego e fa da arbitro nelle richieste avanzate dalle periferiche per appropriarsene. Nella maggior parte delle situazioni la Fig. 20: La schermata iniziale della Gestione Periferiche, a cui si accede dal Pannello di Controllo alla voce Sistema. Inizialmente viene presentato l’elenco di periferiche installate, raggruppate per tipo. Per vedere in dettaglio di quali periferiche si tratta è sufficiente espandere i nodi dell’albero. Lezione 4 19 20 supervisione di Windows risulta efficace e non si verificano malfunzionamenti o inefficienze. In casi particolari, come quando si verificano blocchi sporadici del sistema dopo aver installato una nuova periferica, può comunque risultare utile all’utente esaminare la situazione per tentare di identificare le cause ed eventualmente porvi rimedio. Per farlo si possono utilizzare gli strumenti messi a disposizione dallo stesso Windows oppure ricorrere a utili- PC Open 54 www.pcopen.it Lezione 4 21 ties di terze parti, spesso gratuite, che in genere risultano più facili da utilizzare e forniscono informazioni più chiare e complete. Una di queste utilities gratuite, Everest Home Edition, è mostrata in figura 18 e 19. E’ comunque importante impratichirsi nell’uso degli strumenti di base di Windows, in quanto sono i soli ad essere sempre disponibili su qualunque macchina. Per esaminare lo stato d’impiego delle risorse di sistema su Windows XP si scelga Start/Pannello di Controllo/Sistema; nella scheda Hardware, si selezioni Gestione periferiche. Apparirà la finestra in figura 20, che nella visualizzazione predefinita elenca le periferiche per tipo; dal menu Visualizza si selezioni invece Risorse per tipo. Apparirà un albero con quattro rami come quello in figura 21: • Accesso diretto alla memoria (DMA), in cui è possibile vedere l’elenco dei canali DMA attualmente riservati, con il relativo numero (Fig. 14) • Input/output (IO), in cui è riportato un elenco ordinato per indirizzo delle aree di I/O space utilizzate dalle periferiche, con l’indicazione della periferica titolare di ciascuna area (Fig. 13) • Livello di interrupt (IRQ), in cui è possibile vedere quanti e quali interrupt sono impiegati dalle periferiche di sistema, e si può inoltre notare quali IRQ sono condivisi fra più periferiche (come già detto, paradossalmente questo può capitare perfino in presenza di IRQ ancora liberi, per precisa scelta del sistema) (Fig. 12) • Memoria, in cui è riportata l’indicazione delle aree dello spazio di indirizzamento della memoria attualmente riservate al dialogo con le periferiche o destinate ad altre funzioni del sistema. (Fig. 16) Essere in grado di modificare l’assegnazione delle risorse di base del sistema La configurazione generale di alcune risorse di sistema come gli IRQ, il supporto dell’hardware al sistema Plug and Play, e in alcuni modelli di PC, anche impostazioni di funzionamento del bus PCI, sono operazioni che è possibile effettuare dal BIOS. Va detto che Windows cerca di attuare una propria strategia di controllo completo della macchina IT administrator - Hardware che generalmente consente di raggiungere in modo automatico il miglior compromesso fra prestazioni e stabilità, ma evidentemente lo spazio di manovra in cui Windows può far agire i suoi algoritmi euristici di arbitraggio risorse fra le periferiche è delimitato dalle restrizioni imposte da BIOS. E’ quindi sconsigliabile imporre inutili restrizioni a livello di BIOS, a meno che non vi sia una specifica indicazione a farlo, e lasciare il più possibile libero Windows di sfruttare o non sfruttare le capacità dell’hardware. Un’altra buona ragione per non basarsi sulle impostazioni del BIOS per gestire eventuali problemi di funzionamento delle periferiche deriva dal fatto che non tutti i BIOS offrono lo stesso set di funzioni: alcune motherboard sono dotate di un BIOS fatto apposta per i patiti del “tuning” e dell’“overclocking” e di conseguenza danno accesso a un ampio spettro di regolazioni; altre, generalmente impiegate in PC destinati a una clientela meno specialistica, controllano un insieme di impostazioni decisamente più ristretto. Non si può quindi fare affidamento sul fatto che il BIOS di ogni PC possieda tutte le regolazioni (il cui effetto, fra l’altro, è sempre da verificare sulla documentazione della motherboard in quanto potrebbe differire leggermente da sistema a sistema). Premesso ciò, è utile conoscere lo scopo e l’effetto almeno di quelle poche regolazioni che sono generalmente disponibili, con lo stesso significato, su quasi tutti i BIOS più diffusi, e che agiscono sull’attivazione e assegnazione di risorse di sistema relative alle sue funzioni di I/O. L’impostazione APIC Mode, innanzitutto. Abbiamo già parlato dell’importante funzione di questo componente per migliorare le capacità di I/O del PC. In certe situazioni però potrebbe esserci ragione per escluderlo. In questo caso, selezionare Disable (la funzione si trova in genere nell’area Advanced BIOS Features). Onboard Parallel Port è una impostazione che si trova generalmente nella sezione Integrated Peripherals e si usa per abilitare o disabilitare la porta parallela integrata sulla motherboard. In più, con questa opzione è quasi sempre possibile scegliere quale indirizzo di I/O e quale IRQ attribuire alla circuiteria che gestisce tale porta. La funzione ECP Mode Use DMA controlla quale dei canali DMA può essere usato dalla porta parallela quando questa è impostata nella modalità accelerata ECP (Enhanced Capability Port). In questa modalità infatti si può raggiungere una velocità di trasferimento di 1 Mbps, un valore assai basso per gli standard attuali (una porta USB 2.0 opera a 480 Mbps), ma che comunque rende già vantaggioso l’uso di un meccanismo DMA per il trasferimento dati. La sezione PnP/PCI Configuration è presente su molti BIOS e dà accesso alle regolazioni concernenti in modo specifico il bus PCI e le periferiche Plug and Play che si attestano su di esso. Regolazioni che sono spesso presenti in questa sezione sono: • Reset configuration data: ha l’effetto di “far dimenticare” al sistema le regolazioni IRQ, DMA e I/ O address che in precedenza erano state automaticamente determinate dalla logica Plug and Play per ciascuna periferica PCI. Di conseguenza, al prossimo riavvio l’intera procedura sarà ripetuta e, se nel frattempo sarà cambiato qualcosa nella configurazione del sistema, i risultati potranno essere diversi e risolvere (o provocare…) even- PC Open 55 www.pcopen.it Fig. 21Nella visualizzazione Risorse per tipo è possibile vedere le assegnazioni relative a DMA, indirizzi I/ O, IRQ e aree di memoria, per ciascuna periferica. I dettagli vengono mostrati espandendo i nodi dell’albero. 1.7.2.2 Essere in grado di modificare l’assegnazione delle risorse di base del sistema IT administrator - Hardware tuali problemi. Questa opzione dovrebbe essere usata soltanto se la logica automatica non fosse riuscita a raggiungere autonomamente le regolazioni ottimali. • Plug and Play OS: selezionando Yes, si consente al sistema automatico, sotto la supervisione del sistema operativo, di scegliere ed assegnare le risorse alle periferiche. Scegliendo No si dovrà procedere manualmente alla loro impostazione, anche per le periferiche necessarie per l’avvio del sistema. Questo significa che un errore in queste regolazioni può provocare malfunzionamenti o l’impossibilità di avviare il PC: in tal caso si dovrà tornare nel BIOS e ripristinare la modalità automatica. • “IRQ n assigned to..”: questo gruppo di opzioni, con n variabile, consente di stabilire per ogni IRQ se ne debba essere concesso l’uso per i dispositivi PCI Plug and Play (impostazione PCI Device), oppure se debba essere riservato alle vecchie schede non Plug-and-Play su bus ISA, che potrebbero avere restrizioni sugli IRQ utilizzabili e magari richiedere che il proprio IRQ non sia condiviso con altre periferiche (impostazione Reserved). • PCI IDE Bus Master: consente di stabilire se per la comunicazione con memorie di massa IDE (dischi e unità ottiche) il controller possa far uso del bus mastering. A meno che qualche malfunzionamento del sistema non sia attribuibile con certezza a questa funzione, è sempre preferibile abilitarla per non degradare le prestazioni. 1.7.2.3 Essere in grado di configurare l’assegnazione delle risorse di base del sistema per il nuovo Fig. 22: Se una periferica impiega risorse di sistema (DMA, IRQ, I/O, spazio di memoria) sussiste il rischio che per tali risorse essa abbia a competere con altre periferiche, magari per imperfetta configurazione di una di esse. Windows verifica se ciò accade e in caso contrario visualizza il messaggio Nessun conflitto nella scheda Risorse. Essere in grado di configurare l’assegnazione delle risorse di base del sistema per il nuovo hardware Come già accennato, se lasciato libero di assegnare le risorse alle periferiche, Windows effettua in autonomia tutte le regolazioni necessarie per il funzionamento delle periferiche Plug and Play. Da BIOS, come abbiamo mostrato, è inoltre possibile intervenire in modo da forzare la scelta di un IRQ particolare per una periferica non PnP, nonché disattivare completamente il sistema automatico. Dall’ambiente Windows è infine disponibile un’interfaccia amministrativa che, nei limiti consentiti dalle periferiche che lo prevedono, permette di impostare manualmente le risorse di sistema “contraddicendo” le scelte spontanee del sistema operativo. Questa tecnica è da considerarsi complementare rispetto a quelle appena presentate riguardo al BIOS, in quanto se una o più periferiche sono escluse dal campo d’azione del meccanismo di configurazione automatica, anche il sistema operativo deve esserne informato, al pari del BIOS, con cui esso “collabora”. Vediamo come. Selezionando una voce dall’elenco della finestra Gestione Periferiche è possibile accedere alla finestra Proprietà, in cui, nella scheda Risorse (che è presente solo per le periferiche che fanno uso di risorse di sistema dei tipi sopra elencati), Windows indica il riepilogo delle risorse IRQ, I/O, DMA e Memoria impiegate dalla periferica selezionata e aggiunge un’indicazione Nessun conflitto qualora non sia rilevato alcun conflitto di risorse (figura 22). Si noti che due periferiche possono condividere lo stesso IRQ senza che venga indicato, per esse, un conflitto di risorse: la condivisione di un IRQ, se im- PC Open 56 www.pcopen.it Lezione 4 postata in modo ragionato, non rappresenta automaticamente una causa certa di malfunzionamenti, ma è gestibile dal sistema operativo. Per alcune periferiche non gestite dal sistema Plug and Play, Windows consente inoltre di deselezionare la casella Utilizza impostazioni automatiche e di impostare manualmente indirizzi e IRQ. In questo caso l’utente si assume inoltre la responsabilità di: • riconfigurare fisicamente la periferica, se necessario, per riflettere le nuove impostazioni; • assicurare che non vi siano conflitti di risorse con una qualunque delle altre periferiche; • riconfigurare il driver della periferica per informarlo che le risorse per comunicare con essa sono cambiate rispetto all’impostazione precedente: se infatti il driver continuasse a “cercare” la periferica al vecchio indirizzo, al quale essa non è più presente (o addirittura potrebbero ora essere presenti altre periferiche sugli stessi indirizzi), le conseguenze sarebbero serie e si potrebbe arrivare al blocco del sistema. Oltre alla modifica delle impostazioni relative alle risorse di sistema associate ad una periferica, che è operazione sempre più infrequente dato che la quasi totalità delle periferiche oggi impiegate sui PC è di tipo Plug and Play, molte periferiche rendono disponibili delle impostazioni specifiche per la periferica stessa, che non riguardano risorse di sistema ma che regolano il funzionamento del dispositivo e del suo driver. A titolo di esempio, per una scheda di rete si può trattare dell’indirizzo fisico di rete (MAC address); per un mouse, impostazioni relative a risoluzione ottica, buffer d’ingresso, gestione di terzo pulsante e rotellina per lo scrolling; per un’unità disco le opzioni possono riguardare l’abilitazione della cache in scrittura, le partizioni e le lettere di unità o altro. Queste regolazioni, se presenti, sono riportate da Windows in un’apposita scheda della finestra Proprietà: in genere si tratta della scheda Avanzate, ma il nome può anche essere diverso (Proprietà, Criteri, Impostazioni) 22 Lezione 5 IT administrator - Hardware Materiale didattico progettato per EUCIP IT Administrator segnalato da AICA Modulo 1 - Hardware “AICA, Licenziataria esclusiva in Italia del programma EUCIP (European Certification of Informatics Professionals) riconosce che il materiale didattico segnalato è strutturato in modo coerente con l’organizzazione dei contenuti prevista dai documenti EUCIP di riferimento. Di conseguenza AICA autorizza sul presente materiale didattico l’uso dei marchi EUCIP (registrato dal CEPIS Concil of European Professional Informatics Societies) ed AICA protetti dalle leggi vigenti.” 1.8 Interfacce Fig. 1-2 L’interconnessione ad alta velocità fra due o più componenti dell’architettura avviene spesso per mezzo di un bus che può essere interno (per esempio il PCI) o esterno. Firewire e USB rappresentano due esempi di bus esterni (seriali) Fig. 3-4 Non sempre un’interfaccia è rappresentata da un punto di contatto fisico fra due oggetti solidi. Alcune interfacce di larga diffusione utilizzano la comunicazione radio. È il caso del Bluetooth e del nuovissimo Wireless USB Fig. 5 Fra le soluzioni wireless, accanto ai sistemi basati su tecnologie radio esistono anche interfacce ottiche. Nel campo dei PC l’esempio è la porta a raggi infrarossi IrDA A scuola con PC Open Interfacce di connessione Da quelle interne EIDE, SATA E SCSI, utilizzate per dischi fissi e dispositivi ottici alla scheda madre, a quelle esterne come USB, l’interfaccia più utilizzata al momento, a Firewire. Con un occhio ai futuri sviluppi che passeranno per il wireless di Marco Mussini N ella quarta lezione abbiamo constatato che la questione dell’interconnessione fra le parti costitutive del PC riveste grande importanza non soltanto per rendere possibile un corretto funzionamento del sistema, ma anche per determinare il livello generale di prestazioni. A questo scopo, come abbiamo visto, sulle direttrici principali di collegamento, quelle cioè su cui viaggia la maggior parte dei dati scambiati all’interno del computer, lavorano dei canali di comunicazione ad alta capacità, i bus. Troviamo dei bus, infatti, fra CPU e memoria e fra Southbridge e le periferiche interne come le schede PCI; tecnicamente si può parlare inoltre di bus esterni, come il FireWire 1-2 o l’USB (figura 1/2). Al di là del caso specifico dei bus, comunque, ogni interconnessione rappresenta il punto di contatto (interfaccia) fra due unità diverse che al loro interno possono funzionare in modi anche del tutto diversi. Compito dell’interfaccia è mettere in comunicazione questi due “mondi” in una modalità ben definita, in modo che ognuna delle parti in causa sappia come fare per trasmettere dati e sappia che cosa aspettarsi quando ne deve ricevere. La definizione di uno standard di interfaccia riguarda molteplici aspetti: Calendario delle lezioni Lez. 1: la scheda madre e il BIOS Lez. 2: i processori Lez. 3: la RAM Lez. 4: bus e risorse di sistema Lez. 5: interfacce Lez. 6: memorie di massa Lez. 7: i monitor e le schede grafiche Lez. 8: le stampanti Lez. 9: hardware di rete In collaborazione con Lez. 10: alimentatori e installazione nuovo hardware Lez. 11: risoluzione dei problemi PDF DEL CORSO NEL DVD 3-4 • aspetti elettrici: tensioni da usare per rappresentare zeri e uni, tensioni di alimentazione, massa, livello di isolamento, ecc.; per i cavi di collegamento esistono anche aspetti magnetici, come la schermatura di cavi e connettori, l’interposizione di nuclei di ferrite per la riduzione delle interferenze, e così via. • aspetti elettromagnetici: per le interfacce radio come il Bluetooth (figura 3) o il futuro Wireless USB (figura 4), il mezzo di comunicazione è l’etere invece del rame. È necessario precisare la banda di frequenze da impiegare, la canalizzazione attuata al suo interno, il tipo di modulazione radio, le tecniche di riduzione dei disturbi, la potenza di emissione radio, il tipo di antenna, ecc. • aspetti ottici (per le interfacce ottiche “informatiche”, come l’in5 frarosso IrDA (figura 5), o le uscite ottiche dei dispositivi audio digitali): lunghezza d’onda della luce da usare, durata degli impulsi luminosi, e così via. • aspetti meccanici e geometrici: tipo, forma e dimensione dei connettori maschio e femmina; significato di ciascun pin del connettore; sistemi di ritegno; lunghezza massima dei cavi di collegamento. • aspetti temporali: frequenze di lavoro, tempi d’attesa fra due segnali, durate minime e massime dei segnali stessi, latenze massime ammissibili prima che venga fornita risposta ai comandi, ecc. • aspetti logici: modalità di rappresentazione di comandi e dati sotto forma di segnali elettrici oppure ottici; significato dei comandi, loro effetto atteso, possibili risposte; • aspetti pratici, spesso con implicazioni logiche, elettriche e meccaniche: un esempio è la questione della possibilità di collegare e scollegare il con- Lezione 5 6 IT administrator - Hardware recente (2003), l’introduzione del nuovo tipo di connessione Serial ATA (S-ATA), la cui caratteristica distintiva consiste nel cablaggio seriale anziché parallelo, ha suggerito di ribattezzare EIDE come “Parallel ATA” (P-ATA) per meglio distinguere le due varianti di questa interfaccia. Distinguere le differenti interfacce. nettore anche durante il funzionamento, a dispositivi accesi (hot plug): Ethernet e porte seriali lo consentono; USB lo consente a livello elettrico ma richiede cautela dal punto di vista logico (rimozione sicura dell’hardware); PCI e IDE non prevedono mai questa possibilità (figura 6). Le interfacce di cui parleremo in questa lezione e nella prossima puntata riguardano l’ambito delle memorie di massa (Parallel e Serial ATA e SCSI), nonché le periferiche USB e FireWire, i dispositivi a collegamento wireless mediante infrarossi e Bluetooth, le schede di memoria e i controller RAID. Interfaccia ATA Parallela (PATA) Una particolare interfaccia di grande importanza in qualunque sistema PC, sia esso server, desktop o portatile, è quella che mette in comunicazione il bus di sistema con uno o più hard disk interni. Salvo casi rarissimi, infatti, ogni PC è equipaggiato con almeno un disco fisso incorporato che assolve a una funzione di basilare importanza visto che sul disco sono memorizzati il sistema operativo, i programmi, le impostazioni di sistema, i driver di tutte le periferiche e di solito anche gran parte dei dati e degli eventuali contenuti multimediali. 7 L’interfaccia di collegamento per hard disk e altre memorie di massa interne di gran lunga più diffusa sul parco PC installato nel mondo è l’interfaccia oggi nota come Parallel ATA (figura 7). Inizialmente introdotta verso la fine degli anni ’80 con la denominazione AT Bus o AT Attachment (ATA), in virtù dello stretto legame con i segnali del bus ISA tipico dei vecchi PC AT, questa interfaccia fu ben presto ribattezzata IDE (Intelligent Drive Electronics) per sottolineare il fatto che la maggior parte della circuiteria logica di controllo non risiedeva a bordo di una scheda inserita in uno slot del bus, ma direttamente a bordo dell’unità disco. L’installazione consisteva così nel semplice collegamento di un singolo cavo fra il disco e un apposito connettore: quest’ultimo era inizialmente ospitato da una scheda sul bus e ben presto integrato direttamente sulla motherboard per ridurre il numero di slot occupati. Una successiva evoluzione dello standard, introdotta per poter supportare dischi di capacità più elevata, è detta EIDE (Enhanced IDE) e ha dominato la scena per parecchi anni. In epoca più Il connettore IDE 8 P-ATA per dischi da 3.5” e unità ottiche da 5.25” è di forma rettangolare e ha 40 pin, uno dei quali però in genere manca per aiutare a riconoscere il verso d’inserimento corretto (in questo aiuta anche il profilo in rilievo sul dorso del connettore stesso) (figura 8). Il cavo IDE è un cavo piatto a 40 conduttori, che possono diventare 80 nel caso dell’Ultra DMA/66, in cui per ridurre il rischio di interferenze reciproche fra le piste parallele è previsto l’uso di un cavo in cui i 40 segnali standard sono alternati ad altrettante linee di massa. Lungo un cavo IDE, la cui lunghezza a rigore non può superare i 18 pollici (46 centimetri circa), sono generalmente installati tre connettori: uno è usato per il collegamento alla motherboard e gli altri due servono per collegare altrettante unità disco (master e slave, come vedremo più avanti). Nel caso particolare di cavi IDE a 80 pin, i tre connettori sono colorati: l’estremità da collegare alla motherboard è blu, il connettore intermedio (per il drive slave) è grigio, e il connettore terminale (per il drive master) è nero (figura 9). L’alimentazione, sempre nel caso di unità 3.5” e 5.25”, è portata al drive da un cavo separato a 4 contatti (5V, 12V e due linee di massa) (figura 10). Fig 9 - Un cavo IDE a 80 conduttori per Ultra DMA/66 si caratterizza per la coloratura differenziata dei tre connettori. È blu quello da collegare alla motherboard, mentre sono rispettivamente grigio e nero quello per il drive slave e master 9 Fig 10 - Un hard disk drive 3.5” con connessione IDE Ultra DMA/66 a 80 pin affiancata dal connettore Molex a 4 pin per le tensioni di alimentazione (+5V e +12V) 10 1.8.1.1 Distinguere le differenti interfacce Fig. 6 - Gli slot PCI e AGP di una motherboard. A differenza di porte esterne come USB e FireWire, questo tipo di interfaccia è concepito per supportare l’installazione di periferiche fisse, pertanto non è prevista la possibilità di “hot plugging” ossia di inserire e rimuovere le schede a PC acceso Fig. 8 - Un connettore a 40 contatti per interfaccia Parallel ATA. Si notino la mancanza di un pin in posizione centrale e, sul lato opposto del connettore, la tacca di riscontro prevista per evitare l’inserimento al contrario 1.8.1 Interfaccia ATA Parallela (PATA) Fig. 7 - L’interfaccia Parallel ATA (P-ATA) è stata per anni la connessione più diffusa per dischi fissi interni ed ha subito una continua evoluzione che ha portato ad aumentarne sempre più le prestazioni. Quasi sempre le motherboard offrivano due connettori P-ATA per gestire altrettanti canali indipendenti. Oggi è sempre più spesso sostituita dalla versione seriale, Serial ATA (S-ATA) che offre diversi vantaggi pratici e ottime prestazioni Lezione 5 IT administrator - Hardware Definizione dell’interfaccia IDE: funzione dei contatti del connettore P-ATA Lato superiore Lato inferiore Pin Funzione Pin Funzione 1 (banda rossa) Reset 2 Massa 3 Dati (bit 7) 4 Dati (bit 8) 5 Dati (bit 6) 6 Dati (bit 9) 7 Dati (bit 5) 8 Dati (bit 10) 9 Dati (bit 4) 10 Dati (bit 11) 11 Dati (bit 3) 12 Dati (bit 12) 13 Dati (bit 2) 14 Dati (bit 13) 15 Dati (bit 1) 16 Dati (bit 14) 17 Dati (bit 0) 18 Dati (bit 15) 19 Massa 20 Pin assente 21 Richiesta di DMA 22 Massa 23 Scrittura 24 Massa 25 Lettura 26 Massa 27 Canale I/O pronto 28 Linea usata per “Cable Select” 29 Richiesta DMA ricevuta 30 Massa 31 IRQ 32 Pin non collegato 33 Indirizzo (bit 1) 34 GPIO_DMA66_Detect 35 Indirizzo (bit 0) 36 Indirizzo (bit 2) 37 Chip Select 0 38 Chip Select 1 39 Activity 40 Massa Per i dischi da 2.5” il connettore P-ATA ha la stessa forma ma proporzioni ridotte. Il numero di contatti sale a 44; i primi 40 contatti hanno lo stesso significato del connettore “full size”, mentre i 4 contatti aggiuntivi sono così definiti: 41 +5V per alimentazione controller 42 +5V per alimentazione motore 43 Massa 44 Riservato Grazie ai contatti aggiuntivi non è più necessario il connettore separato per fornire al drive l’alimentazione necessaria al funzionamento. Si noti anche che sparisce la tensione a 12V, in quanto il motore dei drive 2.5” è alimentato a 5V Fig 11 - A confronto i connettori IDE a 40 pin di una unità 3.5” (sotto) e a 44 pin di una unità da 2.5” (sopra). Le unità da 2.5” sono alimentate solo a 5V e non richiedono il connettore separato Molex. Il connettore IDE ha però 4 pin aggiuntivi per portare l’alimentazione al drive 1.8.1.2 Conoscere le modalità di funzionamento dell’interfaccia IDE, le relative limitazioni e le capacità supportate Fig. 12 - Il BIOS dei sistemi con interfaccia IDE integrata prevede sempre una schermata di configurazione che consente di immettere i parametri geometrici del disco (cilindri, testine, settori) ed eventualmente di abilitare il modo LBA per indirizzare le informazioni in modo lineare 11 Conoscere le modalità di funzionamento dell’interfaccia IDE e le relative limitazioni L’interfaccia IDE originaria si è rivelata adeguata alle necessità concrete dei PC per un periodo di parecchi anni, ma col tempo, al crescere della capacità dei dischi, apparve chiaro che, in combinazione con limitazioni dovute al BIOS dei PC, questa tecnologia soffriva di una importante restrizione concernente la massima dimensione che poteva avere un hard disk: 528 Mbytes. Per comprendere le ragioni di questo limite e di altri limiti successivamente incontrati e risolti dalla tecnologia IDE, è necessario anticipare brevemente qualche concetto sull’organizzazione dei dati sui dischi fissi, che approfondiremo nella lezione 6. I dati memorizzati sul disco magnetico sono memorizzati in regioni organizzate come tante corone concentriche (e non una pista unica a spirale, come avviene sui dischi musicali LP o CD). Queste regioni sono dette “cilindri” e numerate, secondo l’impostazione IDE originaria, da 0 a 65.535. Ovviamente un disco ha due facce e quindi su un cilindro si possono registrare dati sia sulla faccia superiore sia su quella inferiore (le due facce sono servite da testine di lettura/scrittura distinte). Inoltre un’unità disco può contenere in realtà una pila di 2, 3 ..N dischi, in modo tale da raddoppiare, triplicare, la capacità di memorizzazione complessiva. In questo caso il “cilindro” si riferisce, collettivamente, all’unione dei cilindri di pari diametro presenti su tutti i dischi fisici presenti nell’unità. Pertanto, se i dischi sono N, le testine saranno il doppio: 2N. Nello standard IDE le testine sono numerate da 0 a 15. Il BIOS del PC ne può indirizzare invece 256, numerate da 0 a 255. Infine, su ogni traccia sono memorizzati diversi settori che contengono piccole quantità di dati (512 byte ciascuno). I settori di una traccia possono essere numerati da 1 a 255 dal punto di vista dell’IDE e da 1 a 63 dal punto di vista del BIOS (figura 12). A causa delle limitazioni concomitanti della tecnologia IDE e soprattutto del BIOS, negli anni si incontrarono varie “barriere” alla capacità massima gestibile per un’unità disco: fra le principali, dovute ai più disparati motivi, che hanno a lungo tormentato utenti e integratori, ricordiamo dapprima quella di 504 megabytes (circa 528 milioni di bytes), poi la successiva di 7.875 Gigabytes (circa 8.4 miliardi di bytes) e infine quella di 127.5 Gigabytes (circa 137 miliardi di 12 Lezione 5 IT administrator - Hardware Tabella 1. Le revisioni dello standard ATA/ATAPI Anno di Velocità di Massima Modalità di Nome formalizzazione trasferimento capacità disco trasferimento dello standard massima (MB/s) indirizzabile ATA-1 1994 (*) PIO 0,1, 2 8.3 ATA-2 1996 ATA-3 1997 ATA-4 1998 Ultra DMA/33 33.3 ATA-5 2000 Ultra DMA/66 66.6 ATA-6 2002 Ultra DMA/100 100 ATA-7 2005 Ultra DMA/133; S-ATA/150 133 (P-ATA); 150 (S-ATA) ATA-8 PIO 3,4 16.6 16.6 Standard in corso di definizione bytes). Quest’ultimo limite è stato superato con decisione con l’introduzione del nuovo indirizzamento LBA (Logical Block Addressing) a 48 bit che permette di gestire dischi dalla capacità di oltre 134 milioni di gigabyte (!). In precedenza le contromosse consistettero essenzialmente nell’introduzione di accorgimenti più o meno astuti, che hanno richiesto vari aggiornamenti dei BIOS e dello standard IDE creando complicate situazioni di compatibilità dovute al particolare accostamento fra motherboard (o controller IDE) e unità disco. Differenti implementazioni dello standard IDE, dalle specifiche ATA e DMA/Ultra DMA I principali passi evolutivi che hanno segnato la storia dello standard ATA sono stati otto e hanno riguardato vari aspetti di questa tecnologia: dal tipo di cablaggio (prima parallelo, da 40 a 80 pin, e poi seriale) al sistema di indirizzamento (dal “geometrico” CHS al “lineare” LBA a 28 e a 48 bit), dal supporto a periferiche di tipo diverso dall’hard disk (CD ROM e unità a nastro) fino al recentissimo concetto di “disco ibrido” che dovrebbe giocare un ruolo importante in Windows Vista. La tabella 1 riassume per sommi capi le innovazioni via via introdotte. Si noti che le estensioni introdotte a partire dalla versione 4 dello standard per poter gestire anche drive CD-ROM e DVD-ROM, drive Zip (figura 13) e SuperDisk e unità di backup a cassette di nastro vanno sotto il nome di AT Attachment Packet Interface (ATAPI) e per questo, a partire dalla versione 4, gli acronimi ATA e ATAPI sono spesso usati come sinonimi. Nella tabella a fianco sono riportate le modalità di trasferimento dati supportate dalle varie versioni di ATA. Data l’importanza di un efficiente meccanismo di comunicazione fra host e drive, questa è stata un’area di continuo miglioramento per la ricerca di prestazioni sempre maggiori: non a caso praticamente ogni revisione dello standard ATA ha introdotto una o più nuove modalità di trasferimento. Due le “famiglie” fondamentali: l’ormai obsoleta PIO (I/O sotto controllo di programma: Programmed Input/ Output) e la più efficiente DMA (accesso diretto alla memoria: Direct Memory Access) in tutte le sue numerose varianti sempre più veloci. Sia PIO sia DMA rispondono all’esigenza di trasferire in memoria centrale i dati che il disco rende disponibili (in lettura) o, viceversa, di far pervenire al disco i dati da leggere (in scrittura), tuttavia ciò avviene in due modi completamente diversi. Consideriamo per semplicità il Principali innovazioni Supporto per indirizzamento lineare (LBA) a 28 bit Supporto per sistema di autodiagnosi Circa 137 S.M.A.R.T. miliardi di byte Supporto ATAPI per periferiche diverse da hard disk (per es. drive CD ROM e unità di backup a nastro) Nuovo cablaggio a 80 conduttori Indirizzamento LBA portato a 48 bit per una maggiore capacità. Circa 144 milioni di miliardi di byte S-ATA 1.0 Tab. 1 - (*): lo standard AT/Bus – IDE era stato introdotto fin dalla fine degli anni ’80 dal produttore di dischi Western Digital. La prima versione dello standard ATA, uscita alcuni anni dopo, ne rappresentò la “ratifica” da parte dell’ANSI (l’istituto americano di standardizzazione), facendone a tutti gli effetti uno standard non proprietario. Da allora in poi le successive revisioni furono tutte pubblicate dall’ANSI. Definizione delle proprietà che devono caratterizzare un drive ibrido (hard disk abbinato a flash memory) solo caso della lettura. Quan- 13 do il trasferimento dati avviene con la tecnica PIO, i dati in arrivo dal disco vengono letti uno ad uno via bus ad opera di un programma che gira sulla CPU. Questa, quando è impegnata durante il trasferimento, deve temporaneamente sospendere l’esecuzione dei programmi. Quando invece si impiega una tecnica DMA, viene consentito al controller IDE di scrivere i dati direttamente in un’apposita area della memoria di sistema, senza l’intervento della CPU. Ci si limiterà a informare il sistema operativo quando il processo di trasferimento sarà stato completato. Anche se le modalità DMA più primitive risultano più lente, dal punto di vista della velocità di trasferimento dati, di alcune modalità PIO, è evidente che nella modalità PIO la CPU viene impegnata molto di più che nella modalità DMA; l’effetto è un rallentamento dell’esecuzione delle applicazioni, in quanto i numerosi cicli da essa spesi ad eseguire banali istruzioni di I/O non possono essere utilmente impiegati per eseguire i programmi che l’utente sta usando. Questa è la ragione per cui la tecnica PIO, dopo una fase iniziale, non ha più subito evoluzioni, ed è stata di fatto soppiantata dalla modalità DMA in tutte le Tab. 2. Modalità di trasferimento dati PIO e DMA Nome Single Word DMA 0 PIO Mode 0 Single Word DMA 1 Multi Word DMA 0 PIO Mode 1 Single Word DMA 2 PIO Mode 2 Multi Word DMA 1 Multi Word DMA 2 Ultra DMA 0 Ultra DMA 1 Ultra DMA 2 (“Ultra DMA/33”) Ultra DMA 3 Ultra DMA 4 (“Ultra DMA/66”) Ultra DMA 5 (“Ultra DMA/100”) Ultra DMA 6 (“Ultra DMA/133”) Max vel. trasf. (MB/s) 2.1 3.3 4.2 4.2 5.2 8.3 8.3 13.3 16.6 16.6 25 33.3 44.4 66.6 100 133.3 Fig. 13 - Fra le periferiche che era possibile collegare all’interfaccia IDE vi erano anche i drive ZIP (nella versione interna), in grado di raggiungere 100 MB di capacità su dischi rimovibili. 1.8.1.3 Conoscere le differenti implementazioni dello standard IDE, dalle specifiche ATA e DMA/Ultra DMA Lezione 5 IT administrator - Hardware Fig. 14 - I dischi ad alte prestazioni per server, come questo Seagate Cheetah, possono raggiungere velocità di rotazione di ben 15.000 RPM. I dischi IDE per PC desktop di norma si fermano a 7.200 RPM, mentre velocità ancora inferiori, anche per ragioni di consumo elettrico e resistenza a urti e scossoni, sono adottate nei laptop 1.8.1.4 Capire l’accezione dei termini: canali IDE Primario e IDE Secondario, Master e Slave Fig. 15 - Un apposito jumper permette di stabilire la modalità assegnata al disco sue varianti. Le velocità di trasferimento delle varie modalità PIO e DMA via via introdotte sono riportate nella tabella 2. 14 Velocità teoriche limitate dal disco È importante comprendere che, sebbene le velocità di trasferimento più elevate indicate in tabella siano pienamente supportate dall’interfaccia e di conseguenza siano tecnicamente raggiungibili nella realtà, l’unità disco (almeno con le attuali tecnologie PC) non è mai sufficientemente veloce per sostenere per lunghi periodi flussi di dati di questa intensità. Solo quando una porzione dei dati da trasferire è già stata letta dal disco e si trova in attesa nella cache memory integrata sul controller IDE del drive tale porzione può essere trasferita alla massima velocità permessa dall’interfaccia ATA. Una volta trasferito (ad alta velocità) il contenuto della cache, tuttavia, sarà necessario attendere che vengano letti dal disco (a velocità assai inferiore) altri dati per prepararsi ad un altro ciclo. I valori in tabella sono quindi da intendersi come valori di picco, riferiti al trasferimento di dati già pronti nella cache dell’unità disco e in attesa di essere prelevati. La velocità media, nel trasferimento di grandi quantità di dati, è tipicamente molto inferiore non a causa di inefficienze del canale di comunicazione IDE, ma per la lentezza intrinseca del disco, la fonte primaria dei dati. Infatti, una volta trascorso il tempo necessario per posizionare la testina sul cilindro giusto e per attendere che la rotazione del disco abbia portato il settore desiderato sotto la testina stessa, inizia la fase di lettura, durante la quale i dati passano sotto la testina a una velocità dipendente da quanto velocemente ruota il disco. Per quest’ultimo problema, negli anni, si è agito sulla velocità di rotazione del disco, che è passata via via da 4.200 a 5.400, 7.200, 10.000 e perfino 15.000 giri al minuto. Oggi i PC desktop impiegano generalmente dischi da 7.200 giri/minuto, mentre sui laptop, anche per ragioni di risparmio energetico, rumorosità e affidabilità, è prevalente l’uso di unità da 4.200 o 5.400 giri/minuto; unità da 10.000 o 15.000 giri/minuto sono generalmente usate sui server e per questo, in ogni “epoca”, la massima velocità è tradizionalmente riservata ai dischi SCSI (figura 14). Anche l’aumento della densità superficiale delle informazioni sul disco, che è stato perseguito essenzialmente per ottenere un aumento di capacità, ha avuto un effetto positivo sulle prestazioni in quanto una traccia viene a contenere più settori; pertanto, in un giro completo del disco, la testina di lettura leggerà più dati e di conseguenza a parità di velocità di rotazione del disco il flusso di dati letti sarà più intenso. Differenze tra IDE Primario e IDE Secondario, Master e Slave Nella stragrande maggioranza delle motherboard con controller IDE P-ATA integrato, soprattutto se non è contemporaneamente presente anche un controller di altro tipo come un S-ATA, sono disponibili due connessioni P-ATA, ognuna delle quali gestisce un “canale” indipendente. I due connettori sono solitamente indicati sulla motherboard dalla scritta IDE0 e IDE-1; i canali da essi gestiti sono detti rispettivamente Canale IDE Primario e Canale IDE Secondario. Sul connettore di ogni canale può attestarsi un cavo IDE sul quale, come già accennato, possono essere presenti uno o due connettori per unità disco. Se i connettori sono due è necessario distinguere chiaramente i due dispositivi collegati. Tecnicamente i due dispositivi sono identificati come device 0 e device 1, ma è invalso l’uso dei più familiari termini master e slave. Questa denominazione, tuttavia, può essere fuorviante, in quanto suggerisce che il primo svolga funzioni di controllo sul secondo, oppure che il primo sia in qualche misura privilegiato rispetto al secondo in termini di priorità e quindi di prestazioni. In realtà non è così: non è il “master” a controllare lo “slave”, ma entrambi i dispositivi sono asserviti al controller del canale IDE a cui sono collegati. Poiché comunque il BIOS, quando all’accensione effettua una scansione dei canali IDE per rilevare eventuali unità disco, scandisce prima il canale 0 del canale 1 e nell’ambito di ogni canale solitamente riconosce per primo il dispositivo primario, il ruolo e il canale attribuiti a ciascuna unità disco hanno rilevanza ai fini dell’assegnazione delle lettere di unità da parte di Windows. Risulta così spontaneo collegare il disco fisso “principale”, quello su cui si intende installare il sistema operativo, come unità master del canale 0, mentre le unità ottiche vengono di solito collegate come slave, oppure anche come master, ma del canale secondario. L’impostazione del ruolo master o slave in un dispositivo IDE si effettua agendo su appositi permutatori (di solito fisicamente realizzati come dei minuscoli ponticelli, o “jumper”) che a seconda della posizione assunta sulla contattiera stabiliscono che il disco funzionerà come device 0 o come device 1 (figura 15). Esiste tuttavia una terza possibilità, detta cable select (CS), in cui il ruolo del dispositivo non è stabilito dalla posizione dei jumper di configurazione, ma dalla scelta di collegarlo al primo o al secondo connettore lungo il cavo IDE. I due connettori hanno spesso colori differenti per aiutare a distinguerli, ma in genere (su cavi a 40 conduttori) quello master è il connettore intermedio, mentre quello slave è quello posizionato all’estremità del cavo. Questo perché l’accorgimento tecnico usato per differenziare i due connettori consiste 15 nell’interruzione, a valle del connettore mediano, della pista che serve il pin 28. Questo, come mostrato in tabella 0, è il pin di controllo del sistema Cable Select. Se il disco è collegato al connettore intermedio, il pin 28 è collegato al con- Lezione 5 troller IDE, che a sua volta lo collega a massa: questa situazione è automaticamente inerpretata come “device 0” (master). Se il disco è invece collegato al connettore periferico, il pin 28 non è connesso, in virtù dell’interruzione praticata sul relativo conduttore a valle del connettore mediano. Il disco interpreta quindi questa situazione come device 1 (slave). Sui cavi IDE a 80 pin la posizione dei connettori master e slave in modalità cable select è invece invertita. Questa configurazione rende più semplice effettuare spostamenti di unità disco, in quanto non occorre più toccare i jumper (spesso scomodi da estrarre e reinserire, senza contare che è davvero facile smarrirli durante l’operazione..), ma basta semplicemente collegare i dischi al cavo IDE nella posizione voluta. Lo svantaggio sta nel fatto che il connettore master e quello slave sono in posizioni prestabilite sul cavo e non è possibile invertirle; potrebbe quindi risultare difficile collocare i dispositivi nelle posizioni fisiche volute, e al tempo stesso assegnare loro il ruolo desiderato, se la tecnica di configurazione usata è il “cable select”. In caso di difficoltà si potrà quindi ritornare alla classica tecnica dei jumper e collegare le unità disco ai connettori più comodi. Sapere quanti dispositivi IDE possono essere supportati Tradizionalmente le motherboard per PC integravano un singolo controller IDE con supporto per due canali e ogni canale gestisce fino a due dispositivi. In questo caso il massimo numero di unità disco IDE gestibili è pari a 4. Tuttavia questa configurazione “classica” è sempre più desueta; i modelli più recenti affiancano al classico IDE P-ATA la più moderna e pratica soluzione S-ATA e in questo caso il numero di canali può variare. Per esempio, potrebbero essere presenti un singolo canale IDE P-ATA e 4 canali S-ATA. Come si vedrà, però, ogni canale IDE S-ATA supporta un singolo dispositivo e non due come nel caso P-ATA (figura 16). In definitiva il numero totale di dispositivi gestibili può variare a seconda del tipo di controller usato (se è esclusivamente P-ATA si può senz’altro dire che il numero di dispositivi gestibili di questo tipo sarà pari) e delle scelte di configurazione del produttore della motherboard, che tenderà sempre più a proporre un mix fra canali P-ATA e S-ATA con una progressiva prevalenza, negli anni a venire, del secondo standard rispetto al primo. Interfaccia SCSI Un’interfaccia che negli ultimi 10 anni circa ha incontrato notevole successo soprattutto nel mondo 16 IT administrator - Hardware delle work- 17 station e dei server per il collegamento di periferiche particolarmente esigenti in fatto di banda, quali le unità di memoria di massa ad alte pre- 18 stazioni, è la cosiddetta SCSI (Small Computer Systems Interface), che ha dato luogo, nel tempo, a un ventaglio di versioni sempre più evolute e veloci dello standard, come vedremo fra poco. Va comunque ricordato che in effetti la tecnologia SCSI ha trovato almeno un campo d’impiego anche in ambito PC: infatti, almeno fino all’avvento delle porte USB 2.0, l’unico modo non proprietario ed economicamente praticabile per collegare a un PC uno scanner veloce e ad alta risoluzione era proprio l’interfaccia SCSI, capace di assicurare prestazioni ben superiori rispetto a quelle di USB 1.1 e a maggior ragione, prima di quest’ultima, anche rispetto a quelle di una porta parallela (seppure del tipo accelerato EPP o ECP). Le principali differenze operative esistenti fra SCSI e P-ATA si possono così riassumere: • P-ATA è destinata a connessioni interne e su breve distanza mentre SCSI è utilizzabile anche e soprattutto per connessioni esterne (figura 17) su distanze anche dell’ordine dei metri e più; • SCSI prevede un vero e proprio linguaggio di comando con cui l’initiator (il controller montato sul PC) può inviare al target (l’unità disco) istruzioni sul da farsi: sono definiti oltre 50 comandi per leggere e scrivere dati, per ispezionare lo stato o le caratteristiche della periferica, e così via. Naturalmente l’utilizzatore non si accorge di questa complessità, in quanto è il driver che provvede a generare questi comandi. • P-ATA utilizza solo cavi piatti (a 40 linee e, più recentemente, a 80 linee) e un connettore lineare per cavi piatti da 40 pin (44 per unità da 2.5”). SCSI supporta invece vari tipi possibili di cablaggio (fra cui un cablaggio a coppie intrecciate anziché a cavo piatto) e numerosi connettori diversi. Inoltre SCSI supporta due modalità principali di trasmissione di segnale (single ended e differential), i dispositivi sono collegati a mò di catena e al termine di questa catena è richiesta l’installazione di un terminatore elettrico che attenua i fenomeni di riflessione dei segnali dall’estremità della catena. (Alcuni dispositivi SCSI però sono in grado di assolvere internamente a questa funzione). • Un canale P-ATA può gestire fino a 2 dispositivi, mentre una catena SCSI (figura 18), a seconda della versione di standard, può gestirne molti di più; i dispositivi sono identificati da un numero univoco e, a differenza del più semplice bus IDE, possono avere natura composita, ossia essere costituiti da un certo numero di sub-devices, anch’essi univocamente identificati. Capire l’accezione dei termini: Host Adapter, identificativo SCSI (SCSI ID), LUN, terminatore Una catena SCSI comprende un certo numero di Fig. 17 - Un cavo SCSI per il collegamento di unità esterne. A causa della sua natura di bus parallelo, e del conseguente gran numero di conduttori, un cavo SCSI ha sempre sezione piuttosto grossa, è poco flessibile ed ha costo elevato. Fig. 18 - Più dispositivi esterni possono essere collegati insieme formando una catena SCSI che si attesta su un’unica porta del PC host. I dispositivi intermedi devono avere due porte per collegare i cavi che li mettono in comunicazione con i dispositivi adiacenti 1.8.1.5 Sapere quanti dispositivi IDE possono essere supportati e le relative impostazioni di configurazione da BIOS Fig. 16 - Sulle motherboard recenti sono presenti sia i connettori P-ATA sia quelli S-ATA, in quantità variabile. Il numero di connettori S-ATA è di solito maggiore di quelli P-ATA 1.8.2 Interfaccia SCSI 1.8.2.1 Conoscere le modalità di funzionamento dell’interfaccia SCSI rispetto alla PATA, e 1.8.2.2 Capire l’accezione dei termini: Host Adapter, identificativo SCSI (SCSI ID), LUN, terminatore Lezione 5 IT administrator - Hardware Fig. 19 - Al controller SCSI, che partecipa sia alle catene interne sia alle eventuali catene esterne, viene convenzionalmente assegnato uno SCSI ID pari a 7, il che gli conferisce la massima priorità Fig. 20 - L’ultima periferica di una catena SCSI deve essere corredata di un terminatore al posto del cavo di uscita. La sua funzione è quella di minimizzare le riflessioni che il segnale altrimenti subirebbe all’estremità del cablaggio Fig. 21 - Un terminatore SCSI si presenta esattamente come un connettore SCSI privo di cavo uscente dal retro. All’interno appositi circuiti passivi smorzano riflessioni ed effetti indesiderati di propagazione sul segnale delle varie piste collegate ai pin. dispositivi in comunicazione fra loro. Uno di essi è il controller che governa la catena: nella terminologia SCSI esso è definito host adapter. A differenza di un controller IDE che è quasi sempre integrato sulla motherboard e lavora con una logica cablata in hardware, un controller SCSI ha a che fare con situazioni più complesse per il maggior numero di periferiche da gestire e per la presenza di un vero e proprio linguaggio di comando, come vedremo fra poco. Di conseguenza un host adapter SCSI lavora sempre sotto il controllo di un apposito BIOS, distinto da quello della motherboard: lo SCSI BIOS, che di solito può essere aggiornabile per correggere malfunzionamenti o aggiungere nuove funzionalità. Inoltre anche il sistema operativo, che in genere sa gestire i dischi IDE direttamente, ha sempre bisogno di un driver per gestire periferiche SCSI. Da un punto di vista firmware e software, quindi, l’impiego di periferiche SCSI tende a essere più complesso di una banale connessione IDE, anche se tale maggior complessità era bilanciata, almeno in passato, dalle superiori caratteristiche di SCSI soprattutto in termini di flessibilità d’impiego, velocità e capacità. Anche se esistono host adapter integrati su motherboard, nella storia della tecnologia SCSI è sempre stata più comune la scelta di acquistare il controller come scheda di espansione, sia perché la continua evoluzione dello standard avrebbe reso presto obsolete le soluzioni integrate costringendo a un upgrade dell’intera motherboard, sia perché i vari modelli di host adapter su scheda possono offrire funzionalità molto variabili a seconda delle esigenze: supporto RAID, un banco di cache dedicata più o meno grande, e così via. In una catena di dispositivi su un bus SCSI parallelo, le varie unità devono essere identificate per mezzo di un codice univoco detto SCSI ID, che è un numero compreso fra 0 e 7 o fra 0 e 15 a seconda della variante di SCSI (le recenti versioni seriali dello standard supportano un numero molto maggiore di unità). L’impostazione dello SCSI ID sulla periferica si fa tradizionalmente agendo su un permutatore meccanico, che può presentarsi in varie forme: può essere infatti costituito da una rete di jumper da riposizionare, da un banco di microswitch o anche essere realizzato come un piccolo disco girevole da far ruotare fino alla posizione desiderata agendo con un cacciavite. Con dispositivi di impostazione più moderna, l’ID può essere cambiato agendo dal BIOS dell’host, oppure dal sistema operativo, usando una utility fornita dal produttore che consente di effettuare la configurazione delle periferiche. Impostare correttamente gli ID SCSI Una corretta impostazione degli SCSI ID delle periferiche che partecipano alla catena SCSI è essenziale per il buon funzionamento del sistema. Se a due periferiche viene erroneamente attribuito uno SCSI ID uguale, la conseguenza più probabile è che l’intera catena cessi di funzionare. Problemi analoghi, del resto, si verificano su un bus P-ATA quando in uno stesso canale entrambi i dispositivi si dichiarano “master” (oppure entrambi “slave”). All’accensione l’host adapter effettua una scansione del bus SCSI e rileva quali periferiche esistono nella catena e a quali SCSI ID corrispondono. Questa fase si definisce spesso “discovery phase”. Su una catena SCSI esistono delle priorità nel servire le richieste e la periferica avente la massima priorità è quella avente SCSI ID pari a 7 (in tutte le varianti SCSI). Per questa ragione, tipicamente è proprio 7 l’ID che si assegna all’host, il quale deve identificarsi 19 20 21 sulla catena al pari di tutte le periferiche gestite (figura 19). Una periferica SCSI identificata da uno SCSI ID (per riferirsi alla quale si usa anche l’espressione SCSI Target) può essere in realtà una periferica composita, proprio come una webcam USB può integrare al suo interno un microfono, una periferica video e una periferica di interazione come un pulsante di scatto, tutte periferiche che in fase di collegamento vengono individualmente rilevate e riconosciute. Analogamente un dispositivo SCSI (“unità fisica”) può contenere un set di sottodispositivi, detti “unità logiche”, che devono anch’essi essere identificati in modo univoco attraverso un apposito schema di numerazione; l’identificativo che viene loro assegnato nell’ambito dell’unità fisica è detto Logical Unit Number (LUN). Nel mondo SCSI il tipico esempio di configurazione composita è quello di un array di dischi esterni che sulla catena SCSI si presenta come una singola unità fisica, ma al proprio interno è fisicamente costituito da un certo numero di unità disco indipendenti che ai fini del funzionamento e della gestione è utile poter distinguere, cosa che si fa appunto ricorrendo a uno schema di numerazione LUN. Salvo casi particolari, ogni dispositivo SCSI è do- Lezione 5 tato di due porte: una di ingresso e una di uscita. Ciò consente di collegare in cascata le periferiche formando fisicamente la catena SCSI. Una catena SCSI deve essere “terminata”: sul connettore di uscita dell’ultima periferica della catena deve essere installato uno speciale dispositivo che ha lo scopo di minimizzare o sopprimere le riflessioni che il segnale elettrico subirebbe al suo arrivo a fine catena (figura 20). Tale dispositivo è detto “terminatore SCSI”; ne esistono di vari tipi diversi (single-ended, passivo, attivo, differenziale, nonché il tipo adattativo “forced-perfect”) e il tipo esatto da usare dipende sia dal connettore presente (che a sua volta dipende dalla variante SCSI impiegata sulla catena) sia dal tipo di cablaggio impiegato (single-ended o differential con le sue varianti), sia dalle caratteristiche dell’host adapter; esistono anche terminatori “universali” (“multi-mode terminator”) in grado di realizzare la terminazione in presenza di diverse situazioni di cablaggio. Un terminatore SCSI si presenta esteriormente come un connettore maschio dal cui retro non esce alcun cavo (figura 21); al suo interno apposite reti elettriche passive o attive provvedono alla chiusura dei circuiti e all’eventuale adattamento d’impedenza. Si noti che il terminatore generalmente richiede di essere alimentato; la tensione necessaria può arrivargli via cavo SCSI. Alcune periferiche SCSI possiedono la capacità di realizzare la terminazione della catena al proprio interno, senza quindi richiedere l’installazione di un terminatore fisico sul connettore di uscita. Conoscere le principali tipologie dello standard SCSI e le relative limitazioni e capacità. La storia della dinastia di tecnologie SCSI inizia nella prima metà degli anni ’80 quando la prima versione, oggi nota come SCSI-1, lavorando su un bus ampio 8 bit ad una frequenza di 5 MHz, assicurava una banda di 5 Mbyte/s supportando collegamenti su distanze fino a 6 metri. Il connettore era un ingombrante Centronics da 50 pin che generalmente era dotato di alette di ritegno antisfilamento. Fin dall’inizio, inoltre, lo SCSI supportava una topologia di collegamento “a catena” di un numero massimo di 8 periferiche. All’epoca, nel campo delle interfacce standard di sistemi microcomputer a basso costo, queste prestazioni avevano del rivoluzionario, consentendo di collegare facilmente fino a 8 dischi esterni indipendenti, oppure una cascata di sistemi dischi RAID, oppure ancora periferiche come unità di backup a nastro o dispositivi di acquisizione immagini, il tutto con cablaggi semplificati, su distanze non brevi, con ottime prestazioni dal punto di vista della velocità di trasferimento e con una buona facilità d’uso e configurazione. Con simili premesse non stupirà che soprattutto nel mercato dei server e delle workstation ad alte prestazioni, in cui in particolare l’area dello storage pone sempre dei requisiti di capacità, prestazioni ed espandibilità più severi e irrinunciabili di quanto accada con i semplici PC, l’interfaccia SCSI ha incontrato un crescente successo, con tutto un fiorire di interfacce e dispositivi. Ovviamente col tempo è anche cresciuta l’aspettativa di prestazioni ed espandibilità dell’utenza di questo sistema, il che ha portato alle prime importanti revisioni dello standard. La prima ad arrivare fu la Fast SCSI, detta anche SCSI 2, che mantenendo la larghezza del bus a 8 bit portò il clock a 10 MHz raddoppiando esattamente la velocità di trasferimento massima (a 10 Mbyte/s). La lunghezza massima supportata per i cavi però si ridusse della metà (nel caso single ended). Il numero dispositivi IT administrator - Hardware per catena rimase pari a 8. L’altra strada per aumentare le prestazioni dello SCSI era quella di aumentare il parallelismo del bus. Questa strategia fu proposta dallo standard Fast Wide SCSI che propose un raddoppio della larghezza di canale da 8 a 16 bit, mantenendo il clock di 10 MHz del Fast SCSI. L’aumento della larghezza di canale richiese logicamente l’introduzione di un nuovo connettore con un maggior numero di contatti (68 pin). Il risultato complessivo fu una banda ancora raddoppiata, questa volta a 20 Mbyte/s. Altra novità fu l’introduzione di uno SCSI ID a 4 bit che consentiva di enumerare fino a 16 periferiche sulla catena, raddoppiando il precedente limite di 8 devices. In una successiva ondata si tornò ad agire sulla frequenza per aumentare le prestazioni. Un semplice raddoppio del clock, da 10 a 20 MHz, applicato agli standard Fast SCSI e Fast Wide SCSI, produsse rispettivamente le due nuove varianti Ultra SCSI (8 bit, 20 MHz, 20 Mbyte/s e 8 dispositivi per catena) e Ultra Wide SCSI (16 bit, 20 MHz, 40 Mbyte/s e 16 dispositivi per catena). Anche nella generazione successiva, la cosiddetta Ultra 2, si puntò sull’aumento della frequenza di lavoro per velocizzare il canale. Nacquero così l’Ultra2 SCSI (8 bit, 40 MHz, 40 Mbyte/s e 8 dispositivi per catena) e l’Ultra2 Wide SCSI (16 bit, 40 MHz, 80 Mbyte/s e 16 dispositivi). A questo punto il bus SCSI parallelo a 8 bit uscì definitivamente di scena dato che nell’ondata successiva, la Ultra3, era presente soltanto la versione a 16 bit. Lo standard Ultra3 SCSI, noto anche come Ultra160, lavorava a 40 MHz in modalità dual edge. Come nelle memorie DDR, in cui si effettuano due trasferimenti dati per ciclo di clock, ossia in occasione sia del fronte di salita sia di quello di discesa dell’impulso di clock, l’Ultra3 SCSI effettuava 80 milioni di trasferimenti al secondo (ognuno a 16 bit) pur lavorando a una frequenza di 40 MHz. L’effetto complessivo era quello di trasferire 32 bit, ossia 4 bytes, per ciclo di clock, con una banda massima di 4x40=160 Mbyte/ s, da cui il soprannome Ultra160. L’ultima frontiera del bus SCSI parallelo è rappresentata dagli standard Ultra320 SCSI (figura 22: 16 bit, 80 MHz dual-pumped, 320 Mbyte/s e 16 dispositivi per catena) e Ultra640 SCSI in cui il clock raddoppia ancora raggiungendo i 160 MHz (sempre dual pumped), portando a una banda di 640 Mbyte/s. Così come nel campo IDE, tuttavia, in epoca recente è apparso evidente che l’aumento di frequenza avrebbe potuto essere anche più rapido; il principale ostacolo non era tanto la velocità dell’elettronica di controllo (in grado di gestire in scioltezza anche i 160 MHz del bus Ultra640), ma le attenuazioni e interferenze a cui, a frequenze sempre più alte, andava incontro la propagazione del segnale sui cavi. Con cavi meglio schermati e magari di struttura semplificata si sarebbe potuto salire di frequenza in modo ancora più deciso. L’approccio in questo caso è quello della trasmissione seriale: anziché trasmettere 16 bit per ciclo di clock su un cavo che deve necessariamente affasciare un gran numero di condut- 22 tori indipendenti, diventando grosso, costoso da produrre, poco flessibile e pesante, si può raggiungere lo stesso livello di prestazioni trasmettendo 1 bit per volta su un 1.8.2.3 Conoscere le principali tipologie dello standard SCSI e le relative limitazioni e capacità. Fig. 22 - Un controller Ultra320 SCSI, su bus PCI-X, con supporto per attestare fino a 3 catene di cui una esterna con connettore sul pannello posteriore Lezione 5 IT administrator - Hardware Tabella riepilogativa sugli standard citati Tipologia SCSI SCSI-1 SCSI-2 (o “Fast SCSI”) Fast Wide SCSI Ultra SCSI Ultra Wide SCSI Ultra2 SCSI Ultra2 Wide SCSI Ultra3 SCSI (Ultra160) Ultra320 SCSI Ultra640 SCSI SSA SCSI over Fiber Channel SAS 1.8.2.5 Essere in grado di riconoscere i diversi tipi di cavi e connettori SCSI. Sapere inoltre le modalità di connessione dei dispositivi SCSI 1.8.2.4 Sapere quanti dispositivi SCSI sono supportati in una catena SCSI, e le relative modalità di configurazione Larghezza Bus Frequenza di lavoro (bit) (MHz) 8 5 8 10 16 10 8 20 16 20 8 40 16 40 16 40 (dual edge) 16 80 (dual edge) 16 160 (dual edge) 1 200-400 1 1000-4000 1 cavo molto più semplice ed economico, ma lavorando a frequenze sempre più alte. Da qui la nascita di SSA (Serial Storage Architecture), una versione di SCSI che permetteva di gestire fino a 96 dispositivi per catena, mantenendo invariati i comandi del protocollo, il concetto di numerazione dei dispositivi mediante SCSI ID e così via, ma lavorava a 200 MHz su un bus da 1 bit; il throughput netto era di 40 Mbyte/s e la lunghezza raggiungibile era di ben 25 metri; in una evoluzione successiva di questo standard il clock arriva a 400 MHz e la banda a 80 Mbyte/s. Un’altra linea evolutiva della filosofia SCSI seriale si basa sulla fibra ottica (precisamente su Fiber Channel) come mezzo di comunicazione seriale ad alta velocità, bassa attenuazione e conseguentemente lunghe distanze. Le periferiche gestibili diventano 127 e il clock di lavoro può essere di 1, 2 o 4 GHz; la banda netta raggiunge in quest’ultimo caso i 400 Mbyte/s e la lunghezza massima del cablaggio può arrivare perfino a distanze dell’ordine dei chilometri, a seconda del tipo di fibra impiegata e della forma di trasmissione (monomodale o multimodale), ovviamente con costi differenziati. Particolarmente interessante nello scenario attuale è lo standard SAS (Serial Attached SCSI) impiegato soprattutto per la connessione di unità di storage in sistemi server. Questa tecnologia supporta un numero elevatissimo di dispositivi; attraverso particolari unità dette SAS Expanders, che funzionano da un punto di vista logico come degli hub fino a 128 porte, è possibile realizzare collegamenti con topologia “ad albero” e gestire centinaia o migliaia di dispositivi (fino a 16.384). I cavi possono raggiungere la lunghezza di 6-8 metri e la banda, a seconda della versione di standard, ben 3 Gbit/s (corrispondenti a un throughput netto di 300 Mbyte/s) in ciascuna direzione. Sono supportati l’hot plug delle unità disco e, particolarità di estrema importanza, l’interoperabilità con le diffuse unità disco S-ATA attraverso il collegamento half duplex al controller o ad appositi expander. Sapere quanti dispositivi SCSI sono supportati in una catena SCSI, e le relative modalità di configurazione Come abbiamo visto, la caratteristica saliente del- Banda (MB/s) 5 10 20 20 40 40 80 160 320 640 40-80 100-400 Fino a 300 Distanza (m) 6 3-6 Pin 50 68 25 Alcuni km 6-8 m Dispositivi per catena 8 8 16 8 16 8 16 16 16 16 96 127 16384 la tecnologia SCSI è quella di consentire la costruzione di vere e proprie “catene” di dispositivi. Tuttavia le numerose varianti dello standard differiscono, oltre che per larghezza di bus e frequenza operativa, per il numero di periferiche supportate. Nei classici bus SCSI paralleli sono supportate 8 periferiche negli standard a 8 bit e 16 periferiche in quelli Wide, Ultra3 e Ultra320/640. I più recenti bus seriali basati su tecnologia SCSI invece possono supportare 96 (SSA), 127 (Fibre Channel) o addirittura 16.384 periferiche (SSA). Essere in grado di riconoscere i diversi tipi di cavi e connettori SCSI. Sapere inoltre le modalità di connessione dei dispositivi SCSI Esistono vari tipi di cavi per il collegamento dei dispositivi SCSI e la scelta determina, fra l’altro, la massima distanza che sarà possibile raggiungere e il tipo di terminatore che andrà installato sull’ultimo dispositivo della catena. Naturalmente i dispositivi lungo la catena dovranno supportare il tipo di cablaggio scelto ed esistono precise restrizioni all’installazione contestuale sulla stessa catena di dispositivi adatti a forme differenti di cablaggio. Tutto questo evidentemente tende a rendere difficile e costoso costruire e far evolvere nel tempo un sistema SCSI in quanto nel corso degli anni le periferiche reperibili sul mercato possono migrare verso nuove versioni dello standard incompatibili con quelle precedenti; inoltre la gran varietà di combinazioni protocollo-cablaggio costringe i produttori a mantenere a listino un gran numero di articoli diversi, fra i quali si ripartirà la domanda dei clienti; la “dispersione” di catalogo che ne risulta rende difficile realizzare economie di scala paragonabili a quelle possibili nel mondo IDE, caratterizzato da una compatibilità all’indietro garantita praticamente sempre, nonché da una varietà di connettori e cablaggi molto minore rispetto a quanto avviene nel mondo SCSI. Il problema della varietà di cavi, terminatori e dispositivi affligge anche le organizzazioni che fanno uso di sistemi SCSI in quanto l’approvvigionamento della componentistica (e delle scorte di accessori e cavi) si complica e porta all’immobilizzo di un maggior capitale. Oltre al cablaggio (single-ended o differenziale), altri fattori concorrono a rendere articolato il quadro di compatibilità fra dispositivi e accessori SCSI, fra Lezione 5 IT administrator - Hardware cui il fatto che l’alimentazione per il terminatore sia fornita via cavo oppure no, la gestione della parità e la modalità di reset supportata (“hard” o “soft”). È quindi di cruciale importanza verificare attentamente la scheda tecnica di un prodotto SCSI prima di procedere all’acquisto. Il tipo più semplice di cablaggio è il cosiddetto single ended (SE), nel quale per ogni segnale trasmesso lungo il cavo è presente un solo conduttore. Il cavo è costituito da 25 doppini ritorti oppure (per installazioni interne) da un cavo piatto da 50 connettori. La massima distanza raggiungibile è di 6-8 metri. Più sofisticato il cablaggio “differential” in cui per ogni segnale vengono trasmessi (su due connettori distinti) un impulso positivo e un impulso negativo. Il principale vantaggio di questa forma di trasmissione sta nella sua migliore capacità di mantenere un segnale intelligibile nonostante le immancabili attenuazioni lungo la catena SCSI. Diventa così possibile raggiungere distanze maggiori, anche di 25 metri. La variante LVD (Low-voltage differential) è un cablaggio differenziale che però può essere impiegato insieme a dispositivi single-ended purchè l’host adapter supporti tale compresenza e il terminatore della catena sia un apposito terminatore bivalente. La distanza raggiungibile è intermedia fra quella ottenibile con le due precedenti tecnologie. Tabella riepilogativa cablaggi citati Tipo cablaggio Max distanza Single-ended 6-8 m Differential 25 m LVD circa 15 m Note Un conduttore singolo per linea 2 conduttori per linea 2 conduttori per linea Fig. 23 24 25 • Possibilità di collegare o sostituire unità disco anche a sistema acceso (hot swapping) • Possibilità, prevista esplicitamente, di usare l’interfaccia anche per collegare dischi esterni (in questo caso si parla di external S-ATA o eS-ATA, con cavi e connettori specifici). • Possibilità di usare cavi di maggior lunghezza, fino a 1 metro per la versione interna e fino a 2 metri per eSATA • Ottimizzazione delle sequenze di lavoro affidate alle unità a disco grazie alla tecnologia Native Command Queuing, di cui parleremo fra poco. A differenza di P-ATA in cui a ogni canale IDE si collega un cavo che può raggiungere due unità disco, di norma S-ATA consente il collegamento di un unico dispositivo per porta. Per collegare due dischi occorreranno due distinti cavi S-ATA e due distinti connettori S-ATA sulla motherboard o sul controller. Se questo in parte riduce il vantaggio del cablaggio semplificato, dall’altro assicura che le connessioni sono tutte indipendenti ed eventuali operazioni di hot plugging o hot swapping influenzeranno solamente l’unità disco interessata. Inizialmente i dischi S-ATA avevano prezzi leggermente superiori a quelli delle vecchie unità P-ATA di pari capacità e velocità. Oggi questa differenza si è sostanzialmente annullata, anzi è prevedibile che proprio i dischi P-ATA col tempo diventino più costosi e più difficili da reperire, vista la progressiva affermazione del nuovo standard seriale, sempre più presente sulle motherboard di recente concezione, che spingerà i fabbricanti di hard disk a reindirizzare gradualmente la loro produzione verso S-ATA. Una migrazione completa, comunque, non avverrà certo in tempi brevi, data l’enorme base installata di sistemi PC con controller IDE parallelo integrato su motherboard. Distinguere l’interfaccia SATA Interfaccia ATA Seriale (SATA) Come abbiamo accennato parlando della classica interfaccia IDE parallela (P-ATA), la tendenza attuale è a favore della nuova versione seriale di questo standard, il cosiddetto Serial ATA o S-ATA. Così come nel passaggio da SCSI parallelo a SCSI seriale, anche in questo caso il parallelismo della connessione si riduce e per compensazione cresce la frequenza di lavoro. Nel complesso quest’ultima cresce a tal punto da determinare addirittura un marcato aumento di prestazioni per quanto riguarda la banda del canale: i cablaggi semplificati consentono di dominare meglio il problema delle interferenze e attenuazioni, permettendo così di aumentare più facilmente la frequenza. I vantaggi principali di S-ATA rispetto al venerando standard parallelo P-ATA si possono così riepilogare: • una semplificazione costruttiva di cablaggi e connettori, che possono passare da 40 pin a soli 7 pin (figura 23). • Migliore possibilità di ventilazione per l’interno del case, dove gli ingombranti cavi piatti IDE, che ostacolano e deviano il flusso d’aria generato dalle ventole, vengono sostituiti da sottili cavi seriali S-ATA. • Migliori prestazioni (attualmente 150-300 Mbyte/s) e maggior facilità di ottenere ulteriori incrementi di banda con versioni future dello standard, aumentando la frequenza di lavoro. Localizzare i connettori S-ATA sulla motherboard è semplice, data la loro forma specifica. La particolarità da tener presente è che mentre nel caso P-ATA la dotazione classica era costituita da una coppia di connettori a 40 pin affiancati (uno per il canale primario e uno per il secondario), a ognuno dei quali si poteva attestare un cavo piatto con due connettori per altrettante unità disco, la nuova interfaccia seriale prevede connessioni punto-punto. Per offrire supporto per un numero almeno equivalente di unità disco è quindi necessario un maggior numero di connessioni S-ATA su motherboard e infatti non è infrequente trovarne 4, 6 o anche più (rimando a figura 15). Conoscere le modalità di funzionamento dell’interfaccia SATA rispetto alla PATA, e le relative differenze Abbiamo già evidenziato come SATA funzioni con un trasferimento di dati seriale, su singola linea ad alta frequenza, anziché parallelo su linee multiple a velocità più bassa. Date le condizioni in cui avviene la trasmissione è fondamentale che i dati da trasferire siano protetti da una codifica che ne garantisca l’integrità e che consenta di rilevare e possibilmente correggere la perdita accidentale di singoli bit per problemi di sincronizzazione. Per questa ragione SATA adotta una codifica di canale che impiega 10 bit per inviare 8 bit di informazioni effettive (ragion per cui la banda lorda di 1.5 Gbit/s si traduce in “soli” 1500/10=150 Megabyte e non in 1500/8=187.5 Mbyte/s). 1.8.3.1 Distinguere l’interfaccia SATA 1.8.3 Interfaccia ATA Seriale (SATA) 1.8.3.2 Conoscere le modalità di funzionamento dell’interfaccia SATA rispetto alla PATA, e le relative differenze Lezione 5 IT administrator - Hardware Fig. 23 - I cavi S-ATA, con soli 7 contatti, sono molto meno ingombranti e costosi dei vecchi cavi piatti usati da P-ATA Fig. 24 - I dischi con interfaccia S-ATA con i cavi di collegamento per l’alimentazione, a sinistra, e i dati a destra Una peculiarità di SATA è la modalità di ottimizzazione dei comandi impartiti alle unità disco nota come Native Command Queuing (NCQ), supportata in alcuni recenti modelli di hard disk. Con questo sistema l’ordine dei comandi di lettura e scrittura che il sistema operativo, attraverso bus e controller, invia all’hard disk, può venire alterato (dall’elettronica di controllo montata sul disco) in modo tale da far sì che i comandi siano eseguiti in un tempo minore. Questo può accadere perché i settori che si ordina all’hard disk di leggere o scrivere potrebbero trovarsi in posizioni che la testina, per effetto della loro posizione reciproca e della rotazione del disco, visiterebbe in una sequenza diversa da quella richiesta. Se invece gli ordini di lettura venissero riordinati in modo tale da assomigliare all’ordinamento “naturale” di visita, i risultati potrebbero essere forniti molto più in fretta. È come se a un postino venisse chiesto di visitare Bologna, Roma, Milano e Firenze in questo ordine: il tempo impiegato sarebbe molto inferiore se l’ordine fosse stato Milano, Bologna, Firenze, Roma. Problemi del tutto simili devono essere affrontati dai sistemi di controllo per ascensori, che devono tentare di evitare “viaggi” inutili e continue “incertezze” nel verso del movimento delle cabine. È precisamente di questo tipo di ottimizzazione che si occupa il NCQ. Tuttavia, nel riorganizzare la sequenza di ordini il drive deve tenere conto delle eventuali scritture inframmezzate nel flusso di ordini di lettura. Infatti se una scrittura riguarda un settore che nella sequenza, successivamente, verrà chiesto di leggere, questa lettura dovrà evidentemente restituire il nuovo dato appena scritto. Se il riordino della sequenza di letture e scritture portasse a eseguire la lettura prima della scrittura anziché dopo di essa come originariamente richiesto, il dato letto sarebbe quello vecchio e non quello nuovo. Ciò costituirebbe un’alterazione della semantica del disco che causerebbe immancabilmente seri problemi. I maggiori vantaggi della modalità NCQ si hanno quando statisticamente prevalgono nettamente le letture rispetto alle scritture e quando vi sono parecchie sequenze concomitanti di lettura di zone distinte del disco. Questo capita, per esempio, in sistemi multitasking, con molti processi che devono accedere al disco ognuno per le proprie finalità. Poiché è probabile che tali processi debbano leggere file diversi, i quali sono memorizzati in zone diverse del disco, si avrebbe un flusso di richieste di lettura alquanto “sparse” e disordinate, che senza NCQ costringerebbero la testina di lettura a riposizionarsi molto spesso cambiando cilindro e ad attendere poi che la rotazione del disco porti sotto la testina i settori richiesti: tutti ritardi che NCQ può eliminare o ridurre al minimo possibile, sempre che non vi siano troppe richieste di scrittura in questo scenario. Da ricordare anche un altro caso frequente, quello dei processi che accedono “simultaneamente”, prevalentemente in lettura, a uno stesso database. Anche in questo caso le condizioni sono ideali per l’applicazione di NCQ (e ancora una volta si tratta di una tipica applicazione server). Indipendentemente da quanto adatte a NCQ siano le condizioni d’uso del disco da parte di programmi e sistema operativo, questa tecnologia ha bisogno, per funzionare, di poter esaminare l’elenco delle prossime richieste per determinare se vi siano possibilità di ottimizzazione. Ovviamente si potrà procedere a riorganizzazioni tanto più precise e vantaggiose quanto più lunga sarà stata la sequenza di richieste future esaminata. 23 24 Per questa ragione, a differenza dei normali dischi PATA (o degli stessi S-ATA, quando NCQ non sia attivo), S-ATA accetta comandi anche prima che sia terminata l’esecuzione di quelli precedenti. I nuovi comandi pervenuti vengono memorizzati in una coda (queue) di comandi (fino a 32 per ogni richiedente) e su questa coda appositi circuiti “ragionano” continuamente, cercando di trovare sequenze alternative che minimizzino i movimenti meccanici di disco e testina per la loro esecuzione: sono infatti proprio i movimenti meccanici la causa della lentezza dei dischi fissi. Per esempio, un disco da 7.200 giri/minuto effettua una rotazione completa in 8.3 millisecondi; uno da 5.400 giri/min impiega 11.1 ms, mentre uno da 10.000 giri/min ne richiede solo 6. Questi valori (detti latenze di rotazione) corrispondono al caso pessimo, che è quello in cui, anche se la testina si trova già sul cilindro giusto, il settore richiesto è appena passato sotto di essa, per cui è necessario attendere una rotazione completa del disco per poterlo rileggere. Se poi il settore da leggere si trova in un altro cilindro, oltre alla latenza di rotazione deve naturalmente essere tenuto conto della latenza dovuta al tempo necessario per spostare la testina da un cilindro all’altro. Tuttavia non si tratta di una semplice somma di due tempi, in quanto i due movimenti (rotazione del disco e spostamento della testina) avvengono contemporaneamente; domina quindi il tempo più lungo, che può essere l’uno o l’altro a seconda di quanti gradi di rotazione del disco e quanti cilindri di spostamento della testina occorrano. Come si vede, una valutazione non banale. È compito della circuiteria di controllo dell’NCQ calcolare una stima esatta del “costo” di ognuna delle prossime letture e l’eventuale vantaggio derivante da ognuna delle possibili variazioni del loro ordine, fino a trovare l’ottimo; il tutto in tempo reale, durante il funzionamento del disco, con la coda in costante movimento: le richieste in coda vengono servite e nel frattempo dal controller ne arrivano altre a tenere piena la coda. IT administrator - Hardware Materiale didattico progettato per EUCIP IT Administrator segnalato da AICA Modulo 1 - Hardware “AICA, Licenziataria esclusiva in Italia del programma EUCIP (European Certification of Informatics Professionals) riconosce che il materiale didattico segnalato è strutturato in modo coerente con l’organizzazione dei contenuti prevista dai documenti EUCIP di riferimento. Di conseguenza AICA autorizza sul presente materiale didattico l’uso dei marchi EUCIP (registrato dal CEPIS Concil of European Professional Informatics Societies) ed AICA protetti dalle leggi vigenti.” 1.8.4 Interfaccia USB 1- Il primo logo usato per evidenziare i prodotti compatibili con l’interfaccia seriale USB. 2 - Il connettore DB-9 è la versione più piccola fra le due connessioni disponibili per la porta seriale RS-232-c. 3 - Solo un connettore a 25 pin come il DB-25 dispone di un numero di contatti sufficiente per esporre tutti i contatti teoricamente necessari per il funzionamento di una RS-232-C. In pratica risulta quasi sempre sufficiente un sottoinsieme di contatti compatibile con il più compatto connettore DB-9. 4 - Cavi seriali con contatti collegati secondo il cosiddetto schema null modem e dotati di connettori DB9 o DB25 (ma spesso entrambi) potevano essere usati per collegare due PC in una sorta di rete punto-punto sotto il controllo di un apposito Lezione 6 A scuola con PC Open Interfacce di connessione per periferiche Passiamo ad analizzare le diverse tipologie e versioni di USB, FireWire, IrDA e Bluetooth, che garantiscono la connettività con e senza cavi. Quando usarle e perché alcune sono più diffuse di altre, le loro velocità e pregi e difetti di ognuna. di Marco Mussini l celeberrimo Universal Serial Bus, 1 familiarmente noto come USB, è senz’ombra di dubbio l’interfaccia esterna oggi più usata per la connessione di periferiche di quasi ogni genere al PC. Oggi il suo impiego è diffusissimo e l’esistenza stessa di un’interfaccia universale e di facile uso è data quasi per scontata, non a torto, dagli utenti finali, ma l’importanza di aver raggiunto questo traguardo non dovrebbe essere sottovalutata. In passato infatti la situazione è stata molto più complicata. Per lunghi anni il retro del PC è stato popolato da porte molto diverse, dotate di connettori spesso ingombranti e scomodi e specializzate in tipi particolari di periferiche. • Mouse e modem esterni andavano collegati alle porte seriali RS-232-C, che impiegavano connettori DB-9 o DB-25, rispettivamente a 9 o 25 pin (foto 2 e 3); la velocità raramente superava i 115 Kbps, bisognava fare attenzione al tipo di dispositivi (Data Terminal Equipment, o DTE, e Data Circuit-terminating Equipment, o DCE) e al tipo di cavo (nullmodem, normale o 3 con alcuni pin collegati per simulare lo stato attivo di alcuni 2 segnali). Con l’inter- I Calendario delle lezioni Lez. 1: la scheda madre e il BIOS Lez. 2: i processori Lez. 3: la RAM Lez. 4: bus e risorse di sistema Lez. 5: interfacce (prima parte) Lez. 6: interfacce (seconda parte) Lez. 7: memorie di massa Lez. 8: le stampanti e disp. di visualizzazione Lez. 9: hardware di rete In collaborazione con Lez. 10: alimentatori e installazione nuovo hardware Lez. 11: risoluzione dei problemi PDF DEL CORSO NEL DVD faccia RS-232-C era anche 4 possibile collegare due PC fra loro, con specifici cavi null-modem detti “cavi LapLink” (figura 4) dal nome del primo software a larga diffusione che supportò questa funzionalità, per trasferire dati (molto lentamente!) in una sorta di “rete locale” punto-punto (figura 5). Le porte seriali utilizzavano IRQ, risorsa scarsa in un PC, e non se ne potevano quindi avere in gran numero. La dotazione normale era di due porte: una veniva solitamente usata per il mouse e l’altra per il modem esterno. Eventuali porte seriali aggiuntive avrebbero usato IRQ in condivisione con queste, a meno di configurare l’hardware diversamente. • Dispositivi che necessitavano di una banda superiore a quella raggiungibile con le porte seriali, come stampanti, scanner, programmatori di EPROM, alcune unità nastro e perfino alcuni primitivi hard disk esterni, ma anche dispositivi particolari come chiavi di sicurezza anticopia per il software, interfacce joystick e perfino rudimentali interfacce audio esterne a 8 bit, si collegavano invece all’inter- 6 faccia Centronics, poi ufficializzata come IEEE-1284: una porta parallela che poteva trasmettere fino a 8 bit per ciclo di clock (contro il singolo bit di una por- 5 PC Open 114 Luglio/Agosto 2007 Lezione 6 7 ta seriale come la RS-232-C) ed era quindi capace di raggiungere la “vertiginosa” velocità di 300-500 Kbps, successivamente cresciuta fino a 1-2 Mbps grazie alle estensioni note come Enhanced Parallel Port (EPP), accelerata mediante DMA, ed Extended Capability Port (ECP); la selezione della modalità operativa si effettuava dal BIOS (figura 6). Dovendo trasportare ben 17 connettori con schermatura collettiva, i cavi per porte parallele Centronics erano grossi, scomodi e costosi, con connettori DB-25 a 25 pin, con viti di fissaggio, lato PC, e Centronics Amphenol a 36 pin, dalle caratteristiche alette-clip di ritegno a scatto, lato stampante o scanner (figura 7). Anche le porte Centronics, come le seriali, necessitavano di IRQ e di una piccola “finestra” nello spazio di I/O del computer. Normalmente tutti i PC erano dotati all’origine di una singola porta Centronics e se ne potevano aggiungere altre usando schede di espansione. Ogni volta che si doveva collegare una periferica al PC bisognava chiedersi se le porte fossero di tipo compatibile con il dispositivo, se vi fossero connettori del tipo adatto o se occorresse aggiungere qualche porta (e, in questo caso, se vi fossero slot di espansione, IRQ e porte I/O liberi a sufficienza) e, infine, procurarsi un cavo del tipo adatto. I connettori seriali e paralleli erano piuttosto ingombranti e sottraevano spazio prezioso specialmente sui laptop: al massimo era possibile alloggiarne uno per tipo, limitando notevolmente le possibilità di connessione di periferiche esterne. Questo scenario non certo esaltante fu rivoluzionato dall’interfaccia USB, introdotta nel 1996 (1998 per quanto riguarda la revisione 1.1) e rapidamente diffusasi su larga scala fra i sistemi PC. Questa nuova porta di espansione si è rivelata talmente efficace in tutte le applicazioni da avviare un processo di “estinzione” delle normali porte seriali e parallele, che oggi è sempre più difficile trovare nei pannelli posteriori di laptop e desktop di progettazione recente. Nel frattempo, la stessa porta USB ha subito un’evoluzione (la revisione 2.0) che ne ha aumentato notevolmente le prestazioni ampliandone il campo d’impiego fino a includere anche quei dispositivi che richiedono una forte disponibilità di banda per funzionare al meglio. Oggi troviamo porte USB perfino su apparecchi di elettronica di consumo come videocamere, cellulari o videoregistratori con hard disk. Sono dotati di interfaccia USB (o più propriamente, sono alimentati via USB) anche accessori che di informatico non hanno quasi nulla, come luci a LED, ventilatori, caricabatterie e altro. Nel prossimo futuro è in arrivo anche una versione wireless che dovrebbe rendere più pratica e immediata la connessione di dispositivi compatibili, mantenendo comunque un alto livello di prestazioni. Interfacce USB e principi di funzionamento Un’interfaccia USB può funzionare in tre “modi” distinti, con livelli di prestazioni e restrizioni diffe- IT administrator - Hardware 8 renti: • Low speed: banda massima di 1.5 Mbps, sufficiente soltanto per peri- 10 9 feriche dalle modeste esigenze di trasferimento dati, quali mouse e tastiere; teoricamente può bastare per un adattatore Bluetooth 1.1 o 1.2 (banda massima di circa 800 Kbps) (figura 8). Non è previsto l’uso di cavi staccabili, pertanto il cavo USB, se presente, è sempre solidale con la periferica, e l’unico connettore presente è la spina di tipo A o mini-A da usare per la connessione con l’host. • Full speed: banda massima otto volte superiore, pari a 12 Mbps; è permesso l’uso di cavi separati dalla periferica. Questa interfaccia può bastare per il funzionamento di adattatori Bluetooth 2.0 oppure per adattatori WiFi 802.11b da 11 Mbps (figura 9); non è invece adatta per masterizzatori ad alta velocità, dischi fissi esterni e lettori di schede flash (o chiavette USB flash) ad alta velocità, in quanto, pur risultando comunque compatibili, tali dispositivi sarebbero costretti a lavorare a velocità inferiori (spesso di molto) alle loro capacità massime. Alcuni dispositivi estremamente esigenti in termini di banda, come periferiche esterne di acquisizione video, sintonizzatori TV o scanner veloci, non si adeguano degradando le prestazioni, ma rifiutano addirittura di funzionare se collegati a una porta USB Full Speed. • High speed: banda massima di 480 Mbps (pari a 60 Mbyte/s), attualmente sufficiente per tutte le applicazioni (figura 10). È importante sottolineare che il connettore è uguale in tutti questi casi, e questo col preciso scopo di assicurare la compatibilità, almeno a livello di cablaggio fisico, fra periferiche e host vecchi e nuovi, seppure con eventuale degrado automatico di prestazioni (il funzionamento deve infatti avvenire alla velocità del dispositivo più lento fra i due). Le differenti versioni del protocollo USB Dello standard USB sono uscite numerose revisioni, ma solo due (1.1 e 2.0) sono quelle che hanno effettivamente preso piede sul mercato trovando larghissima diffusione nei personal computer ma anche nei riproduttori multimediali, nelle fotocamere, e così via. La versione 1.1 è stata quella che ha fatto conoscere lo standard, facendo 11 spuntare, di fatto, una o due porte USB sul pannello posteriore di tutti i PC prodotti dal 1998 in poi. L’evidente praticità della nuova interfaccia alimentò poi l’appetito per una versione migliorata e in grado di offrire prestazioni maggiori, e così nel 2000 arrivò la versione 2.0. Solo le porte USB 2.0, infatti, supportano la modalità high-speed (figura 11). Le porte USB 1.1, basate su una revisione più vecchia dello standard, supportano esclusivamente le modalità low speed e full speed. Per le migliori prestazioni, è dunque importante assicurarsi che le periferiche USB siano compatibili con la modalità high speed. Tuttavia, per il fatto che tale modalità è stata introdotta nella revisione PC Open 115 Luglio/Agosto 2007 programma. Il più celebre programma di questo tipo si chiamava LapLink, donde l’espressione cavi LapLink 5 - Esempio di schermata di configurazione del software LapLink. Il PC che faceva da server poteva esportare dischi e stampanti, in una sorta di rudimentale rete punto-punto fra due PC. Il sistema faceva uso di collegamenti attestati su porte seriali o parallele 6 - I connettori Centronics lato stampante non utilizzavano dei DB25 ma degli ancor più ingombranti Amphenol a 36 pin. I connettori da pannello (e quelli volanti per i cavi prolunga) erano dotati di due alette metalliche da far scattare per fissare il connettore maschio 7 - Le porte parallele possono funzionare in varie modalità, più o meno votate al traffico bidirezionale e con prestazioni crescenti; la selezione si effettua dal BIOS 8 - Una porta USB operante in modalità low speed (1.5 Mbps) è sufficiente per periferiche a bassa velocità o tutt’al più per un dongle Bluetooth 1.x (721 Kbps) 9 - In modalità Full speed si raggiungono i 12 Mbps, sufficienti per utilizzare un dongle WiFi 802.11b (11 Mbps). 10 - Solo la modalità High Speed (480 Mbps) è sufficiente per pilotare correttamente periferiche che necessitano di larga banda, come un dongle WiFi 802.11g (54 Mbps) oppure un masterizzatore di DVD ad alta velocità, come un modello 18x (oltre 20 Mbps) 1.8.4.4 Conoscere le differenti versioni del protocollo USB 11 - Il logo per riconoscere le periferiche realmente in grado di supportare la modalità high speed (480 Mbps) 1.8.4.1 Conoscere le differenti interfacce USB, i principi di funzionamento, le relative prestazioni e limitazioni IT administrator - Hardware Fig. 12 - Le versioni A e B del connettore USB comprendono 4 pin (oltre alla massa). La versione mini invece prevede un quinto contatto che supporta la selezione automatica della modalità di funzionamento “host” o “device” nel caso “USB on the go” 1.8.4.2 Interfaccia USB: connessione fisica 2.0 dello standard, spesso si parla (impropriamente) di “compatibilità USB 2.0”. In realtà anche un dispositivo client USB 1.1, quindi “lento”, è tecnicamente “compatibile” con un host dotato di porte USB 2.0. Semplicemente, tali porte verranno sottosfruttate, in quanto, in combinazione con quel dispositivo, potranno funzionare al massimo in modalità full speed (12 Mbps). Ma questo non è esattamente quello che l’utente si aspetta quando cerca prodotti “compatibili con USB 2.0”. La confusione è amplificata dal fatto che la velocità intermedia, 12 Mbps, è chiamata “full speed” dallo standard USB 1.1, dando la falsa impressione che sia la massima velocità raggiungibile. Ragionando col senno di poi, si potrebbe dire che un’espressione come “medium speed” sarebbe stata forse più appropriata, ma evidentemente quando fu introdotto lo standard 1.1 non si immaginava che il successo dell’USB avrebbe presto costretto a introdurre una versione dello standard comprendente una modalità operativa 40 volte più veloce (480 Mbps). Quando questo accadde, si dovette quindi inventare un’espressione per identificare la nuova modalità e la scelta cadde su “High speed”: non a tutti appare però chiaro che “high speed” corrisponde a prestazioni molto superiori a quelle di “full speed”. Un prodotto USB 1.1 può così ingannare l’acquirente inesperto vantando “USB 2.0 compatibility” e “Support for USB full speed”: pur essendo tecnicamente esatte entrambe le affermazioni, non si tratta di un prodotto capace di raggiungere la massima velocità di 480 Mbps, ma soltanto 12 Mbps, obbligando la porta USB host 2.0 del PC a degradare le sue prestazioni di 40 volte! Questo equivoco era piuttosto frequente nei primi anni successivi all’introduzione delle periferiche USB 2.0, quando i fabbricanti di prodotti obsoleti non erano ancora pronti per passare alla più moderna tecnologia 480 Mbps a costi paragonabili e vi era quindi il problema di marketing di collocare comunque i prodotti a basse prestazioni. Un parziale aiuto per evitare questa confusione viene dallo speciale logo che il consorzio introdusse per identificare i prodotti capaci di supportare effettivamente la modalità high speed. Connessione fisica Lo standard USB prevede diversi tipi di connettori fisici il cui impiego è raccomandato in specifiche situazioni. Tutti questi connettori hanno un basso numero di contatti (quattro o cinque pin più la schermatura cavo, il cui contatto è assicurato dall’involucro metallico). I pin comprendono un contatto per la tensione di alimentazione (+5V, corrente iniziale 100 mA, corrente massima dopo arbitraggio 500 mA; la potenza massima che può essere fornita a un dispositivo USB è quindi di 2.5W), una coppia di pin per la trasmissione dati con segnali differenziali (il funzionamento è half duplex; i due pin sono usati insieme per compensare gli effetti di attenuazione e rumore specie con cavi di elevata lunghezza), un contatto per la massa segnali e, solo per i connettori “mini”, un quinto contatto (“ID”) che può essere o non collegato o collegato a massa ed è usato per supportare il riconoscimento del funzionamento in modalità “host” (figura 12). Di conseguenza i cavi USB, con quattro soli conduttori più schermatura, hanno sezione ridotta e sono economici da fabbricare; la lunghezza massima prevista per un tratto di cavo dallo standard USB è di 5 metri. Tutti i connettori USB sono costruiti in modo ta- Lezione 6 12 le che i 4/5+1 contatti si stabiliscano non contemporaneamente, ma in una sequenza ben precisa, che appare subito evidente esaminando con attenzione la lunghezza dei contatti nel connettore maschio. Nella prima fase dell’inserimento il primo contatto ad agire, seppure per un breve istante, è l’involucro metallico di schermatura. I connettori femmina normalmente collegano questo contatto al telaio metallico del dispositivo (per esempio il case del PC o lo chassis della stampante); l’effetto che ne risulta è che il collegamento del cavo assicura fin dall’inizio di portare allo stesso livello di potenziale le masse di riferimento delle due parti da connettere. Viene così scongiurato, o almeno molto ridotto, il rischio che vi siano differenze di potenziale ancora da scaricare quando, pochi istanti dopo, saranno i pin veri e propri a entrare in contatto: in caso contrario ciò interesserebbe direttamente l’elettronica di controllo della porta USB, col rischio di danneggiarla. Dopo che è entrata in contatto la massa di schermatura è la volta dei contatti +5V e massa segnali, che entrano in contatto nella fase intermedia dell’inserimento del connettore. Solo nella terza e ultima fase, un istante dopo questi due contatti, toccherà ai due pin usati per il trasferimento segnali. Questa successione assicura che, nel momento in cui i pin dati entrano in contatto, i livelli elettrici per alimentazione e massa si siano già stabilizzati e l’elettronica di gestione sia già alimentata da un tempo sufficiente. Il tutto fa sì che l’USB supporti strutturalmente il funzionamento hot plug: le periferiche USB possono essere collegate e scollegate anche a PC acceso senza danneggiarle elettronicamente né rischiare di generare falsi segnali nel transitorio di inserimento o estrazione del connettore. Solo nel caso delle periferiche USB con funzione di memoria di massa (hard disk esterni, lettori/scrittori di schede, masterizzatori,..) esiste un’ulteriore restrizione il cui rispetto non è possibile assicurare con soli ingegnosi accorgimenti meccanici come quelli descritti: prima che la periferica venga scollegata è necessario che i dati ancora in attesa di essere scritti arrivino fino a destinazione, altrimenti qualche file potrebbe restare incompleto oppure la struttura del file system potrebbe essere lasciata in uno stato inconsistente. Per questo è necessario informare il sistema operativo dell’intenzione di scollegare il connettore e attendere che l’operazione sia espressamente autorizzata. Nel caso di Windows questa operazione è indicata come “rimozione sicura dell’hardware”, “espelli” o “rimuovi” a seconda dei contesti. I connettori USB hanno anche altri vantaggi non secondari. Innanzitutto sono robusti: a differenza di un connettore seriale, parallelo o VGA, infatti, è molto difficile danneggiare o deformare i pin, visto che risiedono su un supporto di plastica non sporgente e ben protetto all’interno dell’involucro metallico. Sono inoltre differenziati in base al ruolo delle periferiche (host o client) così che risulti meccanicamente impossibile effettuare connessioni che risultino “logicamente” sbagliate. È inoltre impossibile collegarli sottosopra, grazie alla costruzione asimmetrica dell’involucro o alla posizione asimmetrica della struttura in plastica contenuta al suo interno, e, cosa che cer- PC Open 116 Luglio/Agosto 2007 Lezione 6 IT administrator - Hardware 13 14 15 to non guasta, risultano molto economici da fabbri16 care. Un possibile problema riguarda la vicinanza delle porte USB, spesso “impaccate” una sopra l’altra soprattutto nel caso di quelle montate direttamente sulla motherboard dei PC desktop. Questo può ostacolare il collegamento di quelle periferiche, come chiavette flash, adattatori WiFi o Bluetooth, il cui spessore è maggiore dell’interasse fra due porte adiacenti. In questi casi tali periferiche sono generalmente fornite con un cavetto di prolunga che ne consente l’uso anche in situazioni a spazio ristretto. La differenza fra le diverse varianti dei connettori USB sta soltanto nella forma e nelle dimensioni. Il connettore di tipo A (foto 14) è quello presente sui pannelli frontali e posteriori di PC e laptop. Ha forma rettangolare, larga e sottile, e all’interno trova posto, in posizione asimmetrica, un supporto in materiale plastico su cui sono piazzati i quattro pin (con lunghezze differenziate, in modo tale da supportare l’hot plug come sopra descritto). Il connettore femmina tipo A si trova su apparati host; quello maschio su apparati client. Il connettore di tipo B (foto 15) trova impiego lato dispositivi client come scanner e stampanti, nonché sugli hub USB, per quanto riguarda la connessione all’host o all’eventuale hub a monte. Il connettore femmina si trova sull’apparato client, mentre quello maschio è montato sul cavo proveniente dall’host. I connettori di tipo mini, disponibili anch’essi nelle varianti A e B di identico significato, hanno ingombri ridotti e sono stati intro18 dotti nella revisione 2.0 e suoi supplementi, per facilitare l’introduzione della tecnologia USB anche su dispositivi mobili di piccole dimensioni, come telefoni cellulari, 17 19 palmari, videocamere, fotocamere. In particolare, il connettore femmina mini-B (foto 16) corrisponde esattamente dal punto di vista logico al connettore femmina “B”, e trova posto sui dispositivi client, mentre la più recente e rara presa mini-A (foto 18) si usa su quei dispositivi mobili che offrono una porta USB host miniaturizzata: per esempio è impiegata su alcuni player multimediali basati su hard disk, dove consente ad esempio di collegare (con cavetto specifico) un lettore di schede o una fotocamera per riversarne i contenuti sulla memoria di massa, senza bisogno di interporre un PC portatile in quanto è il player stesso a comportarsi da host (e il connettore mini-A corrisponde a questo ruolo logico). Questa insolita funzionalità host in dispositivi mobili è conosciuta come “USB in mobilità” (USB OnThe-Go, o OTG) (figura 19). Se il dispositivo può giocare sia il ruolo “host” sia il ruolo “client” e non vi è spazio sufficiente per alloggiare sia una presa mini-B sia una presa mini-A, è possibile utilizzare un particolare tipo di presa miniaturizzata bivalente denominata mini-AB, compatibile con spine di entrambi i tipi; naturalmente in questo caso occorre stabilire subito il ruolo della controparte e questo, come già accennato, è possibile grazie al pin ID appositamente previsto sui connettori di tipo mini. Segnaliamo da ultimo che esiste anche un tipo ancora più miniaturizzato di connettore USB, il tipo micro (figura 17) Dispositivi supportati e limitazioni Una particolarità dello standard USB che lo differenzia dal FireWire sta nella modalità di controllo e di dialogo delle periferiche che si attestano sul bus. Nel caso USB, una periferica non può dialogare direttamente con le altre periferiche, ma solo con l’host. Inoltre può solo rispondere a richieste dell’host: non può contattarlo di sua iniziativa. In un bus FireWire invece i client godono di una maggiore autonomia e possono aversi scenari nei quali una periferica trasferisce dati ad un’altra se e quando ne ha bisogno, senza l’intervento dell’host. Questa natura host-centrica dell’USB implica che a parità di volume di dati trasferiti, il lavoro di controllo (ed eventuale ritrasmissione dati) a carico del PC è maggiore rispetto a quanto avverrebbe con il FireWire. In compenso l’implementazione dell’USB risulta più semplice ed economica a livello hardware. Sul FireWire invece gravano le royalties imposte dai detentori di alcuni brevetti chiave di questa tecnologia: per ogni porta FireWire è dovuto il pagamento di 25 centesimi di dollaro. Qualora il numero delle porte USB di cui è dotato il PC non sia sufficiente a collegare tutte le periferiche che servono, esistono due soluzioni: • aggiungere un controller USB supplementare, su scheda PCI (per desktop) o PCMCIA (per laptop), con relativa dotazione di porte (di solito 2 o 4, a cui se ne affianca spesso una interna nel caso delle schede PCI per desktop) 20 (figura 20) • utilizzare un USB Hub (figura 21). Un hub USB assume un ruolo concettualmente analogo a quello che in ambito 220V svolge una PC Open 117 Luglio/Agosto 2007 13/14 - I connettori USB maschio e femmina di tipo A sono usati per la connessione lato host. Si noti che i contatti hanno lunghezze differenti, per fare in modo che schermatura e alimentazione entrino in contatto prima dei pin su cui transitano i dati. Questo per supportare la modalità hot plug, che (almeno da un punto di vista elettrico) consente di collegare o scollegare periferiche a PC acceso senza danni né alterazione dei dati in transito 15 - Il connettore USB tipo B è usato lato periferica: per esempio, nel collegamento fra PC e stampante, è presente sul pannello posteriore della stampante 1.8.4.3 Sapere quanti dispositivi USB sono supportati e le relative limitazioni 16 - La differenza fra un connettore standard e uno in versione “mini” consiste non soltanto nelle dimensioni e nella forma differente, ma anche nella presenza di un contatto aggiuntivo. I connettori mini sono normalmente impiegati, per ragioni di spazio, su dispositivi portatili miniaturizzati come smartphones, lettori MP3 e palmari 17 - L’ultimo arrivato della famiglia di connettori USB è il cosiddetto connettore micro USB (a destra nella foto un micro-B a confronto con le dimensioni di un type A) 18 - Il connettore mini-A è usato su quei dispositivi mobili miniaturizzati che devono poter funzionare anche da host 19 - La funzionalità USB host, che permette a dispositivi mobili di comportarsi da host, è indicata da un apposito logo 20 - Per aggiungere porte USB al PC, o per dotarlo di porte USB 2.0, la soluzione è aggiungere un controller USB PCI, che spesso monta 4 porte esterne + 1 interna IT administrator - Hardware 21 - Un USB hub permette di moltiplicare il numero di porte USB disponibili, alimentandole con i 500 mA forniti dalla presa host a cui è collegato. Se però le periferiche collegate all’hub necessitano per il proprio funzionamento di una potenza elettrica non trascurabile, meglio optare per un modello provvisto di alimentatore dedicato 23 - Nel Pannello di Controllo, la finestra Proprietà relativa a un hub USB riporta la scheda Alimentazione, in cui è possibile esaminare il bilancio dell’assorbimento di corrente delle periferiche connesse all’hub 22 - Il Pannello di controllo permette di esaminare numero e tipo dei controller USB e delle periferiche collegate presa multipla: con- 21 sente di connettere più client USB a una stessa presa host. Vi sono tuttavia delle restrizioni. Innanzitutto il numero totale di periferiche USB collegate, direttamente o tramite uno o più hub, alle porte di uno stesso host controller, non può comunque superare 127, contando anche gli hub (questa restrizione dipende dal fatto che le periferiche sono enumerate dal controller per mezzo di un identificatore a 7 bit). Se si desidera collegare un maggior numero di dispositivi sarà necessario installare un secondo controller. Tuttavia è probabile che tale necessità sorgerà ben prima di arrivare a 127 client, poiché la banda complessiva viene comunque suddivisa fra tutte le periferiche presenti, pertanto al crescere del loro numero le prestazioni caleranno specialmente per i dispositivi più esigenti in termini di velocità di trasferimento. In secondo luogo, l’albero costituito da hub e periferiche non può superare profondità 5. Sebbene questo valore possa sembrare alto e difficile da raggiungere in situazioni pratiche, si ricordi che un primo hub è sempre incorporato sulla scheda madre, per pilotare le varie porte presenti; se un secondo hub è collegato all’esterno, e a una porta di questo hub è collegato un dispositivo “aggregato” come un lettore di schede abbinato a un floppy oppure una webcam dotata di microfono digitale incorporato, in realtà abbiamo già raggiunto profondità 4. Infatti questo tipo di periferiche, anche se a prima vista può sembrare monolitico, è internamente costituito da un hub USB a cui sono collegate le periferiche elementari. Come si vede, anche in situazioni relativamente normali ci si può avvicinare facilmente al limite massimo. È quindi preferibile evitare, se possibile, di costruire inutili cascate di hub USB, collegando gli hub USB non a catena fra loro, ma direttamente alle porte dell’host. Inoltre, se le porte sono troppo poche per poter evitare di formare catene di hub e non è possibile installare un controller supplementare per aggiungere qualche porta, è preferibile usare pochi hub a molte porte piuttosto che una catena di hub a poche porte, che porterebbe a un eccessivo aumento della profondità dell’albero USB. A questo riguardo vale la pena osservare che gli hub USB in commercio solitamente hanno 4 oppure 7 porte. Questi ultimi possono essere realizzati come una cascata di due hub a 4 porte in cui una delle por- 22 Lezione 6 23 te dell’hub primario è usata internamente per il collegamento al secondo hub (donde il “bizzarro” numero di porte: 4+4-1=7). In questo caso non vi sarebbe vantaggio in termini di riduzione della profondità della catena. Purtroppo per verificare se tale è la struttura interna dello specifico prodotto scelto è necessario collegarlo al PC ed esaminarlo con il Pannello di Controllo (figura 22) o altra utility di ispezione USB. Un’importante questione da tener presente riguardo gli hub USB è quella relativa all’alimentazione. Come già accennato, ogni porta host USB può fornire al massimo 500 mA di corrente alla periferica collegata (il valore esatto che ogni singola periferica ha negoziato con il controller e ottenuto è verificabile usando il Pannello di Controllo – figura 23). Se l’hub USB ha quattro porte dovrà teoricamente poter disporre di 2000mA di corrente massima complessiva da erogare ai suoi client. Se l’hub ricava la sua alimentazione dalla singola porta host del PC a cui è collegato, però, esso ha a disposizione soltanto i 500 mA forniti da quella porta, a cui va ovviamente sottratto il consumo elettrico della sua propria circuiteria interna. Rimangono quindi disponibili circa 400 mA, ossia 100 mA per ogni porta dell’hub, un valore che potrebbe non consentire un corretto funzionamento alle periferiche collegate. Nel caso specifico di memorie di massa come chiavette flash oppure dischi esterni, si potrebbero addirittura perdere dati. In particolare, a causa del principio di funzionamento fisico su cui si basano i chip flash, la fase di scrittura delle chiavette flash richiede un supplemento di corrente relativamente marcato. Un’alimentazione insufficiente durante questa fase potrebbe portare a una subdola scrittura “labile” dei dati. Per questa ragione molti hub USB vengono venduti provvisti di alimentatore dedicato, che fornisce la corrente necessaria non tanto per il funzionamento dell’hub, ma delle periferiche non autoalimentate che ad esso si collegheranno. Naturalmente questa soluzione ha l’inconveniente di richiedere di avere a disposizione una presa 220V. Altri hub sono forniti con un cavetto che si può collegare ad un’altra porta USB del PC e ha la sola funzione di “rubare” altri 500mA per aumentare un poco il budget elettrico a disposizione dell’hub, ma si tratta di una soluzione non molto praticabile, anche perché, se si sta usando un hub, è proprio perché non c’erano più porte libere nel sistema, senza contare che comunque anche con questo espediente PC Open 118 Luglio/Agosto 2007 Lezione 6 IT administrator - Hardware della “doppia attestazione” dell’hub si arriva solo a 1000 mA di corrente complessiva. Oltre agli hub USB, la cui funzione primaria è quella di permettere di collegare un numero di periferiche superiore al numero di porte disponibili, esistono anche dei prodotti più insoliti, detti USB extender, che servono invece per raggiungere distanze superiori ai 5 metri massimi di lunghezza previsti dallo standard per i cavi USB. In questo caso ci si serve di cavi di altro tipo, come i cavi di rete o addirittura la fibra ottica per raggiungere distanze di scala quasi geografica. Il modello di trasferimento dati su un bus USB si basa sul concetto di canali logici denominati “pipe” il cui funzionamento è unidirezionale. Per ogni controller USB vi sono fino a 16 canali entranti e altrettanti uscenti. I dati viaggiano sui canali organizzati in pacchetti la cui dimensione è variabile per meglio adattarla al tipo di traffico del canale e per non impegnare oltre il necessario il bus. I trasferimenti possono riguardare comandi impartiti dal controller alle periferiche oppure un vero e proprio scambio dati fra i due; lo scambio di dati, in particolare, può avvenire in modalità spot (trasferimento una tantum di una grossa quantità di dati, con garanzia di non perdere dati: bulk transfer), sincrona (velocità di trasferimento dati negoziata in anticipo, ma senza garanzia di affidabilità: isochronous transfer) o su interruzione, a istanti non preannunciati (interrupt transfer). I dispositivi USB, oltre a essere identificati da un numero a 7 bit all’interno dell’“albero” di hub e periferiche gestiti da un controller, sono caratterizzati da una classe di dispositivo (device class). Se rientrano in una delle classi standard, non richiedono driver di alcun tipo per il proprio funzionamento; gli esempi più noti sono le memorie di massa con connessione USB (chiavette e dischi esterni), le tastiere, i mouse. Se invece necessitano di una gestione ad hoc, per poter sfruttare tutte le particolarità della periferica, allora il produttore dovrà fornire un driver; quanto al dispositivo, quando verrà connesso alla porta USB esso dovrà presentarsi al controller dichiarando di appartenere a una particolare classe che istruisce il sistema operativo a richiedere l’installazione di un driver. Le principali classi standard di dispositivi USB, con relativi class ID, sono riportate in tabella 1. Tabella 1 - Principali classi dispositivi USB Class ID Denominazione classe 1 USB Audio device USB Communication 2 device USB Human Interface 3 device (HID) 7 USB Printer device 8 9 224 255 USB Mass Storage Device (UMS) USB Hub USB Wireless controller device Custom device Funzionalità Periferica audio Modem/fax, schede di rete Tastiere, mouse,.. Stampanti “Chiavette” flash, hard disk esterni, lettori di schede Hub Adattatori di rete wireless e bluetooth Dispositivo non standard che richiede necessariamente un driver specifico Nel funzionamento di un insieme di dispositivi collegati via USB al PC un ruolo essenziale è svolto dall’USB host controller, ossia l’insieme di circuiti hardware che gestiscono il riconoscimento delle periferi- che collegate e regolano il dialogo con esse. Per quanto riguarda la versione 1.1 dello standard USB erano state proposte due implementazioni alternative dell’host controller e della sua modalità di gestione da parte del sistema operativo, note come UHCI (Universal Host Controller Interface) e OHCI (Open Host Controller Interface): la prima proposta da Intel, la seconda adottata dalla quasi totalità degli altri prodotti. Successivamente, la revisione 2.0 dello standard propose un nuovo tipo di host controller, noto come EHCI (Enhanced Host Controller Interface) capace di supportare la modalità high speed e dotato di 4 controller di prima generazione incorporati per mantenere la possibilità di gestire periferiche USB 1.1 senza problemi di compatibilità. Un’occhiata al Pannello di Controllo/Sistema/Gestione Periferiche/Visualizza periferiche per tipo (foto) rivela immediatamente questa struttura logica e consente, cosa molto utile, di accorgersi immediatamente del livello di supporto USB presente nella macchina: si può concludere che è presente supporto per USB 2.0 solamente se nel sottoalbero relativo alle periferiche USB installate figura almeno una voce EHCI o la parola Enhanced, altrimenti il supporto è USB 1.1. 1.8.5 Interfaccia FireWire Interfaccia FireWire L’interfaccia FireWire, nota anche come IEEE1394 e ribattezzata i.Link da Sony, è un bus seriale ad alte prestazioni introdotto soprattutto con l’obiettivo primario di facilitare la comunicazione audio-video fra un personal computer e periferiche multimediali. Il maggior impulso ai lavori per la definizione e standardizzazione del FireWire fu dato da Apple che vedeva nella nuova interfaccia il successore delle connessioni SCSI. La prima versione dello standard, a cui si lavorò nel working group 1394 dell’IEEE (donde il nome), uscì nel 1995 e fu ovviamente adottata in nuovi modelli Mac, consentendo un efficace e facile utilizzo di dispositivi dalla forte “fame” di banda come memorie di massa veloci esterne o videocamere. Si trattava di una innovazione molto significativa: all’epoca l’USB non esisteva ancora e quando, poco dopo, uscì la versione 1.1, le sue prestazioni erano assolutamente inferiori a quelle del FireWire. Solo l’USB 2.0, uscito nel 2000, era comparabile con il FireWire. Una particolarità che ha probabilmente penalizzato agli inizi il FireWire, pur tecnicamente molto valido e avanzato, in termini di diffusione, consiste nel fatto che la tecnologia faceva uso di diversi brevetti i cui detentori, fra cui Apple, richiesero il pagamento di una piccola somma complessiva per ogni porta FireWire installata (inizialmente 1 $ per porta, poi ridotto a 0.25 $ per porta dopo un compromesso incrociato fra i proprietari dei brevetti). Per piccola che possa sembrare, questa somma agì su alcuni come dissuasore e su altri (Intel) addirittura come incentivo a sviluppare al massimo la tecnologia concorrente USB 2.0. Il risultato è che il FireWire oggi non è diffuso come avrebbe probabilmente potuto essere e vi sono due interfacce seriali a larga banda (USB 2.0 e FireWire) anziché una, con campi d’impiego vagamente complementari. Il tutto “obbliga”, per poter avere accesso a tutte le possibili applicazioni, a equipaggiare i PC con più hardware, più porte e più driver, e a dotarsi di più cavi diversi. Funzionamento, prestazioni e limitazioni Il FireWire originale, standardizzato nel 1995 come IEEE1394, è oggi più propriamente noto come FireWire 400, per la sua capacità di supportare un bit rate mas- PC Open 119 Luglio/Agosto 2007 Il logo FireWire identifica i prodotti dotati di questo tipo di interfaccia, nota anche come IEEE1394, iLink o DV 24 1.8.5.1 Conoscere le differenti interfacce FireWire, i principi di funzionamento, le relative prestazioni e limitazioni IT administrator - Hardware 24 - Un connettore FireWire a 4 pin. Questo tipo di connettore è adatto per l’uso in dispositivi miniaturizzati e con periferiche che non richiedono alimentazione 25 - Il connettore FireWire a 6 pin ha sagoma diversa e dimensioni maggiori rispetto a quello a 4 pin. A livello funzionale la differenza consiste nel fatto che i due contatti supplementari sono in grado di fornire alimentazione al dispositivo collegato 1.8.5.2 Interfaccia FireWire: connessione fisica. 1.8.5.3 Sapere quanti dispositivi FireWire sono supportati e le relative limitazioni. 1.8.6 Interfaccia ad Infrarossi 1.8.6.1 Conoscere le differenti interfacce ad Infrarossi, i principi di funzionamento, le relative prestazioni e limitazioni 24 25 Lezione 6 comunque effetti catastrofici; tipici esempi sono gli streaming audio e video, mentre è chiaro che una “occasionale” perdita di dati non sarebbe assolutamente accettabile in un flusso di dati usato per replicare un database su un altro server o effettuare un backup. Connessione fisica simo di 400 Mbps. Le velocità supportate sono in realtà tre: 100, 200 e 400 Mbps. La lunghezza massima del cavo per una singola tratta è di 4 metri circa, ma grazie alla già citata peculiarità del FireWire (implementata in molte periferiche) di supportare uno schema di connessione a catena (“daisy chain”) è possibile raggiungere distanze maggiori semplicemente costruendo una catena di dispositivi oppure interponendo dei ripetitori di segnale. Lo standard prevede due tipi di connettore: a 4 pin (figura 24) e a 6 pin, con il secondo in grado di fornire anche una robusta alimentazione al dispositivo collegato (figura 25). Proprio come è accaduto nel caso dell’USB, anche del FireWire, dopo alcuni anni dall’introduzione della prima versione, è uscita una revisione pensata per migliorare ulteriormente le prestazioni. Si tratta del FireWire 800, una evoluzione dello standard originale introdotta da Apple a partire dal 2003. La novità di rilievo consiste in un raddoppio delle prestazioni, con una banda che può raggiungere ben 800 Mbps. Lo standard FireWire 800 è di fatto una applicazione della raccomandazione IEEE1394b, la quale prevederebbe anche la possibilità di impiegare cablaggi alternativi e di raggiungere bit rate ancora superiori. È inoltre attualmente al lavoro il working group 1394c per definire una modalità operativa che consenta di usare FireWire su normali cavi categoria 5 (gli stessi usati nelle reti Ethernet) raggiungendo le stesse velocità del FireWire 800 (banda “lorda” di 1 Gbps, banda utilizzabile 800 Mbps) su distanze di ben 100 metri per tratta. Negli uffici questo permetterebbe di collegare dischi o periferiche FireWire remoti (per esempio centralizzati in un locale server) come se fossero locali al PC, usando lo stesso cablaggio strutturato categoria 5 già installato: sicuramente una importante semplificazione e un grosso vantaggio anche economico. La possibilità di usare cavi Cat.5 era già prevista da FireWire 800, ma per velocità solo fino a 100 Mbps. Con il 1394c questo valore dovrebbe essere decuplicato. Il trasferimento dati su un bus FireWire può avvenire in modo isocrono oppure asincrono. Il modo asincrono è il più semplice: i dati vengono spediti quando ve ne è la necessità, senza uno schema preordinato né garanzia che il bus sia libero per il tempo sufficiente a completare la spedizione immediatamente (potrebbe essere necessario che la periferica attenda, trattenendo in un buffer i dati inevasi, e ritenti più tardi). Nel modo isocrono vi è la garanzia che a intervalli regolari ci sia una “finestra” temporale in cui il dispositivo ha la garanzia di poter trasmettere dati. Tuttavia se, per qualsiasi motivo, il pacchetto inviato non viene ricevuto o elaborato correttamente dal destinatario, esso non viene automaticamente ritrasmesso. Questa modalità è utile per inviare flussi di segnali in tempo reale nei quali l’eventuale occasionale perdita di qualche pacchetto non avrebbe Come già accennato, il FireWire 400 prevede l’uso di due possibili tipi di connettore: a 4 pin senza alimentazione della periferica e a 6 pin, con alimentazione. Riguardo a quest’ultimo caso, la tensione di alimentazione non è standardizzata e ogni produttore può quindi definirla secondo le proprie necessità tecniche; con cavi standard è comunque possibile raggiungere correnti di 1000 mA o poco più mentre la tensione può raggiungere i 25-30V; è quindi teoricamente possibile fornire fino a 30-40W di potenza a una periferica direttamente via cavo FireWire, senza cioè che questa debba essere accompagnata da un proprio alimentatore nelle vicinanze: questa possibilità può semplificare notevolmente l’installazione remota di periferiche (si pensi, per esempio, a una webcam da esterni). La versione a 4 pin non porta alimentazione ed è adottata anche da Sony nella sua implementazione dello standard, ribattezzata i.Link. Fino a 63 dispositivi Su un singolo bus FireWire sono supportati fino a 63 dispositivi; il loro collegamento deve avere una topologia lineare oppure ad albero (eventualmente in presenza di hub), ma non ciclica. Tipico di molte periferiche FireWire è di avere due connettori, il che consente di costruire vere e proprie catene di periferiche. Uno e un solo dispositivo partecipante alla catena ricopre il ruolo di “root node” e gli viene assegnato un identificatore particolare. Un altro identificatore specifico viene impiegato per indicare che un pacchetto o messaggio deve essere inviato a tutti i dispositivi collegati (broadcast). Una peculiarità che distingue il FireWire dall’USB, a cui abbiamo già accennato, sta nel fatto che due periferiche possono comunicare fra loro direttamente, anche senza il coinvolgimento o l’orchestrazione della CPU e del sistema operativo. Così, una webcam FireWire potrebbe mandare i dati direttamente a un disco fisso FireWire, oppure uno scanner potrebbe mandare direttamente a una stampante le immagini acquisite. Inoltre le periferiche dispongono di accesso diretto alla memoria (DMA) che consente loro di scrivere dati direttamente in un’area designata dell’host. Queste caratteristiche significano che il PC o Mac subisce un carico di lavoro trascurabile o nullo durante il funzionamento del bus, a differenza di quanto avviene con l’USB. Collegamenti a Infrarossi Un tipo di interfaccia wireless che in passato, per parecchi anni, ha costituito l’unica modalità praticabile per collegare fra loro due dispositivi PC/PDA senza usare cavi o docking station, è l’interfaccia a raggi infrarossi. Questa tecnologia, così largamente diffusa nell’elettronica di consumo per la fabbricazione di telecomandi, in ambito informatico è stata standardizzata da un’istituzione ad hoc denominata Infrared Data Association (IrDA); le interfacce wireless realizzate in conformità con i dettami di quest’associazione vanno anch’esse comunemente sotto lo stesso nome (figura 26). Una restrizione importante della comunicazione IrDA sta nel fatto che la comunicazione bidireziona- PC Open 120 Luglio/Agosto 2007 Lezione 6 IT administrator - Hardware Tabella 2 - Tipi di interfacce a infrarossi Identificazione Nome SIR MIR FIR CIR Velocità supportate 9.600, 19200, 38400, 57600,115200 bps Campo d’impiego e particolarità Sostituto wireless di una porta seriale Serial InfraRed RS-232-C con le stesse velocità tipiche Evoluzione di SIR con supporto per velocità Medium InfraRed 576Kbps, 1152 Kbps maggiori Comunicazione ottica wireless ad alta velocità Fast InfraRed 4 Mbps su breve distanza; obbligo di retrocompatibilità con SIR Variabili ma molto basse (poche Non standardizzato da IrDA. Consumer InfraRed centinaia di bit al secondo) Telecomandi le è possibile solo alternando i ruoli di trasmittente e ricevente (half duplex), in quanto chi trasmette non è in grado di ricevere durante l’emissione della propria luce infrarossa. Perché la comunicazione abbia successo, risultando stabile e con una velocità prossima ai massimi teorici, è necessario che i due dispositivi siano accoppiati in modo il più possibile preciso, ossia accuratamente allineati e a una distanza né eccessiva (il segnale arriverebbe attenuato) né troppo ridotta (il ricevitore sarebbe “accecato” dalla troppa luce infrarossa). Una volta prese tutte le misure necessarie per assicurare una buona comunicazione, le prestazioni massime raggiungibili dipendono dal tipo di interfaccia IrDA montata sui due dispositivi. Esistono infatti diverse versioni dello standard, mirate essenzialmente a impieghi differenti (vedi tabella 2). Come avviene il collegamento Le interfacce IrDA realizzano un collegamento ottico basato sull’impiego di luce infrarossa, invisibile quindi per l’occhio umano, che viene emessa in un fascio le cui ampiezza (non troppo ristretta) e intensità (né troppo alta né troppo bassa) sono regolate dallo standard. Le lunghezze d’onda centrali delle bande di luce infrarossa usate sono normalmente quelle di 870, 930 e 950 nanometri. La distanza nominale alla quale due normali interfacce IrDA dovrebbero poter comunicare regolarmente è di circa un metro, anche se distanze inferiori sono accettabili per comunicazioni in cui una delle due controparti adotti una variante a basso consumo dell’interfaccia. Per quanto riguarda i modelli logici di comunicazione previsti dallo standard IrDA, abbiamo innanzitutto una modalità in cui viene di fatto emulata una porta seriale: questo profilo d’uso è denominato IrCOMM. Esistono però anche altri profili meno usati, fra cui IrOBEX (Infrared Object Exchange) e IrLAN (per implementare una piccola LAN basandosi su delle connessioni a infrarossi anziché usando cavo Ethernet o schede WiFi). Una restrizione concernente l’uso di IrDA sta nel fatto che una porta a infrarossi non può essere contemporaneamente impegnata in più comunicazioni con periferiche diverse. Se questo fosse necessario, bisognerebbe installare porte supplementari. Questo non è un grosso problema per le porte IrDA basate su USB, mentre per quelle gestite come porte seriali esistono limitazioni al numero massimo installabile, per mancanza di IRQ e indirizzi I/O. che i dispositivi siano l’uno in vista dell’altro, senza ostacoli che interferiscano con i raggi infrarossi, né altre fonti intense di raggi infrarossi dello stesso spettro. La velocità di trasferimento dati teoricamente potrebbe raggiungere anche 4 Mbps in condizioni ottimali se entrambi i dispositivi supportassero FIR, ma è molto più probabile il caso in cui almeno uno dei due non lo supporta; in questo caso si riesce tutt’al più ad arrivare alla massima velocità SIR (115 Kbps). Anche l’allineamento geometrico fra le periferiche è importante e, oltretutto, la distanza alla quale si può comunicare rimane comunque piuttosto ridotta. Al contrario, si può comunicare senza particolari difficoltà con un dispositivo Bluetooth anche se si trova chiuso nella ventiquattr’ore o se è nel raggio di una decina di metri. La banda effettivamente raggiungibile arriva a valori prossimi ai massimi teorici e la connessione, una volta effettuata, assicura una buona stabilità, almeno fintanto che ci si mantiene entro il raggio prescritto e in assenza di interferenze radio, ovviamente. Il vero tallone d’Achille del Bluetooth è la relativa complessità con cui questo tipo di tecnologia va configurata e gestita, a causa del modello logico più complesso di quello IrDA e delle (comprensibili e doverose) necessità di security. Infatti, poiché il Bluetooth è un’interfaccia radio senza antenna direttiva, esso è intrinsecamente omnidirezionale e nel suo raggio d’azione possono cadere anche, inopportunamente, l’appartamento dei vicini, l’ufficio del piano di sotto, perfino dispositivi Bluetooth in tasca alle persone nei paraggi. Tutte situazioni che non potevano praticamente mai presentarsi con IrDA. È quindi necessario stabilire con chiarezza quale sia l’ambito d’impiego e chi siano le controparti: una necessità inesistente con IrDA, in cui basta avvicinare (e orientare correttamente) le periferiche perché si “sentano” e inizino a “parlarsi”. Con Bluetooth le periferiche devono essere trovate e identificate per nome; deve essere stabilita una relazione di “fiducia” (accoppiamento, o pairing) fra PC e periferiche, eventualmente protetta da password e crittografia; deve poi essere esplorato l’insieme dei servizi offerti dalle periferiche raggiunte e vanno infine create connessioni, o “scorciatoie”, verso i servizi che interessa utilizzare. Come funziona Bluetooth L’interfaccia a infrarossi, piuttosto lenta e scomoda da usare e a volte caratterizzata da un funzionamento incerto, è da tempo entrata in fase declinante, sostituita dalla tecnologia Bluetooth che si basa su comunicazione radio. Una porta IrDA richiede Di Bluetooth esistono tre classi di potenza radio che corrispondono ovviamente a tre raggi di copertura (vedi tabella 3). Ovviamente per poter sfruttare pienamente il raggio di copertura è necessario che tutti i dispositivi coinvolti appartengano alla stessa classe. In una comunicazione fra due dispositivi A e B PC Open 121 Luglio/Agosto 2007 1.8.6.2 Interfaccia ad Infrarossi: connessione fisica 1.8.6.3 Sapere quanti dispositivi ad Infrarossi sono supportati e le relative limitazioni. 1.8.7 Bluetooth 1.8.7.1 Conoscere le modalità di funzionamento dell’interfaccia Bluetooth. IT administrator - Hardware è del tutto inutile, poniamo, che B sia un dispositivo con copertura 100 metri se A ha una copertura di soli 10 metri: A potrebbe captare il segnale di B, ma non potrebbe mai “farsi sentire” da B, e poiché questo è occasionalmente necessario anche in una comunicazione unidirezionale da B ad A, di fatto la comunicazione non funzionerebbe in nessun caso. Naturalmente A e B potranno regolarmente comunicare se posti a una distanza che rientri nel range gestito dal dispositivo a copertura più ristretta. In altre parole le classi di potenza sono “compatibili verso il basso”, a patto però di sottoutilizzarle per adeguarle alla copertura supportata dal dispositivo più “debole”. Tabella 3 - Classi di potenza Bluetooth Classe I II III Raggio di copertura approssimativo 100 metri 10 metri 1 metro Massima potenza radio 100 mW 2.5 mW 1 mW Quanto alla velocità di trasferimento dati, anche Bluetooth ha conosciuto un’evoluzione per aumentare le prestazioni (oltre ad altri piccoli miglioramenti). In particolare, le versioni 1.x dello standard (la 1.2 è la più diffusa e stabile) raggiungono una banda massima di 721 Kbps, mentre la più recente 2.0, introdotta nel 2004, pur restando retrocompatibile con dispositivi 1.1, può raggiungere una banda tripla, pari a circa 2.1 Mbps. Un dispositivo Bluetooth può comunicare direttamente con un numero di controparti attive non superiore a 7 (possono però essere identificate, e tenute Lezione 6 in standby, fino a 255 altre periferiche). Il gruppo di 7+1 dispositivi attivi forma una minuscola rete denominata piconet in base alla terminologia Bluetooth; la piconet contiene un solo dispositivo master. Per motivi legati alla tecnologia radio usata, la comunicazione non può avvenire contemporaneamente fra il master e più controparti, ma con uno schema a (rapida) rotazione si crea l’illusione che ciò sia possibile, proprio come avviene nei sistemi operativi multitasking in cui apparentemente la CPU sta eseguendo più programmi nello stesso tempo, mentre in realtà sta eseguendoli “a turno”. Come già accennato, il modello di comunicazione Bluetooth è più “ricco” e sofisticato, ma anche più difficile da comprendere appieno, di quello IrDA. Configurare per la prima volta una connessione Bluetooth non è certamente facile come collegare un cavo o accostare due dispositivi IrDA, ma il software di gestione normalmente permette di creare delle vie rapide per attivare connessioni definite in precedenza; certe applicazioni, come il software di navigazione satellitare, si spingono addirittura fino ad attivare automaticamente il collegamento verso il GPS esterno quando vengono lanciate, evitando così di richiedere qualsiasi operazione manuale; si può quindi dire che, in definitiva, a regime il Bluetooth riesce a risultare comunque piuttosto semplice da usare. Lo standard definisce oltre 20 “profili”, intesi come descrizioni di finalità d’utilizzo e annessa modalità di comunicazione e controllo. Fra i più noti, Hands-Free Profile, usato per gli auricolari Bluetooth; Object Push Profile, usato per scambiare contatti fra telefonini; Serial Port Profile, un rimpiazzo wireless di una porta seriale (un po’ l’equivalente Bluetooth dell’IrCOMM Tabella 3 - Principali profili Bluetooth Identificatore Denominazione profilo estesa Advanced Audio A2DP Distribution Profile BIP BPP DUN FTP HCRP HFP HID HSP OPP PAN SPP Finalità Dispositivi tipici Gestione di flussi audio Cuffie e auricolari Bluetooth streaming Trasferimento di immagini e Fotocamere, cornici fotografiche digitali, Basic Imaging Profile loro manipolazione di base videoproiettori Invio di file a periferiche di Basic Printing Profile Stampanti portatili, fotocamere, cellulari stampa Dial-Up Networking Accesso alla rete mediante Dongle Bluetooth per PC; telefoni cellulari Profile dial-up verso un ISP File Transfer Profile Trasferimento generico di files PC, palmari, cellulari Equivalente wireless di un Hard copy Cable cavo di collegamento con la Stampanti portatili, dongle Bluetooth per PC Replacement Profile stampante. Cellulari; Portable Navigation Devices (PND) per Collegamento wireless auto; dispositivi viva voce Bluetooth. Spesso Hands-Free Profile automatico a sistema viva integrato nell’elettronica di bordo di diverse auto voce recenti. Collegamento con periferiche Human Interface di input con scarso Mouse e tastiere wireless Device profile fabbisogno di banda Collegamento con auricolari Bluetooth monofonici; funzioni Auricolari Bluetooth; cellulari; dispositivi viva voce Headset Profile elementari di controllo delle chiamate telefoniche Scambio (deciso dal mittente) di piccole quantità di informazioni come contatti, Cellulari, palmari, dongle Bluetooth per PC Object Push profile files, messaggi fra dispositivi Bluetooth Personal Area Creazione di una LAN wireless Dongle Bluetooth per PC; access point wireless di Network profile basata su Bluetooth rete in tecnologia Bluetooth Sensori GPS Bluetooth; telefoni; dongle Bluetooth Equivalente wireless di un Serial Port Profile cavo seriale per PC; palmari e smartphones PC Open 122 Luglio/Agosto 2007 Lezione 6 di uno stack IrDA) usato, ad esempio, per collegarsi a un sensore GPS esterno. La tabella riporta un elenco maggiormente completo di profili Bluetooth. Applicazioni tipiche (PDA, telefonia mobile, stampanti ecc.) Questa abbondanza di profili applicativi corrisponde all’effettiva abbondanza di opportunità d’impiego di una tecnologia pratica e versatile come il Bluetooth, che risolve senza bisogno di cavi e adattatori il problema dell’interconnessione a corto raggio di periferiche a banda medio-bassa. Il campo d’impiego è quindi particolarmente ampio e comprende praticamente di tutto: • sistemi informatici come telefoni cellulari, PDA, smartphone, PC e sensori GPS; • periferiche di input come mouse, tastiere e joypad senza fili (oppure telecomandi che usano Bluetooth al posto della classica tecnologia a infrarossi); • prodotti di rete come access points basati su Bluetooth anziché su WiFi come tecnologia wireless; • per quanto riguarda il mondo dell’audio, auricolari, cuffie e sistemi audio wireless; • in campo automotive, sistemi viva voce e navigatori satellitari; • in ambito imaging, stampanti wireless che ricevono le foto o i documenti da stampare via Bluetooth e perfino cornici fotografiche digitali LCD in grado di ricevere via Bluetooth (magari da un telefonino nei paraggi…) le foto da visualizzare. Memory Card In virtù dell’incessante aumento della capacità in rapporto al costo, e del costo che si mantiene abbordabile anche in senso assoluto, la tecnologia Flash Memory è senza dubbio destinata a diventare una seria alternativa allo storage convenzionale basato su dischi magnetici. I vantaggi principali sono l’insensibilità agli urti e l’assoluta silenziosità grazie alla mancanza di parti in movimento, il basso consumo elettrico, l’ottimo tempo d’accesso medio, la miniaturizzazione, la modestissima produzione di calore in esercizio. Anche la durata del prodotto, che agli albori era piuttosto limitata tanto da rendere impossibile l’impiego in applicazioni embedded con I/O intensivo per periodi di anni, è rapidamente migliorata e sono oggi supportati milioni di cicli di scrittura, rimuovendo quasi del tutto quello che altrimenti sarebbe un importante tallone d’Achille. L’unico problema rimasto è il costo per gigabyte (attualmente alcuni euro per gigabyte), che non riesce ancora a essere competitivo con quello dei dischi fissi di taglio medio-alto (20-30 centesimi per gigabyte), anche se, come già accennato, il gap si sta riducendo continuamente. Già oggi, nella fascia “bassa” (fino a 4 GB) soprattutto per applicazioni embedded o per dispositivi mobili, la tecnologia hard disk è perdente ed è stata “ricacciata” nella fascia delle alte capacità (decine o centinaia di GB) su cui le flash memory non possono ancora competere concretamente a causa del prezzo esorbitante. Sono già comparsi sul mercato, comunque, i primi SSD Solid State Disk, basati su flash memory, con capacità di 64 GB: il costo è ancora alto ma il trend è chiaro: gli hard disk tradizionali avranno senso solo su capacità sempre più elevate. Per capacità piccole, la flash memory può riuscire a competere anche sul costo assoluto, anche perché un hard disk, per piccola che sia la sua capacità, deve comunque IT administrator - Hardware comprendere l’elettronica di controllo, un motore di rotazione e un attuatore per le testine di lettura/scrittura, oltre alle testine stesse e l’involucro: il suo costo quindi non potrà mai scendere al di sotto di una certa soglia, sotto la quale invece esistono già diversi prodotti in tecnologia flash memory di rispettabile capacità e ne esisteranno sempre di più. Memorie a stato solido Considerato ciò, non stupisce notare che i PC di recente concezione sono spesso dotati di lettori di schede incorporati. Nei sistemi laptop, per ragioni di spazio, normalmente sono supportati solo alcuni dei formati miniaturizzati più diffusi, mentre sui PC desktop il lettore di schede supporta di solito tutti i formati conosciuti e occupa lo stesso spazio di un floppy drive (che, anzi, generalmente rimpiazza). Per i PC più datati, oppure per aggiungere a un portatile il supporto per un formato di flash card non direttamente utilizzabile sugli slot di lettura integrati, si può invece aggiungere un lettore di flash card esterno, con interfaccia USB. È quasi comico, leggendo la descrizione di questi prodotti, constatare che il numero di formati supportati supera ormai 20 o qualche volta 30. D’altra parte questa è oggettivamente la situazione che si è venuta a creare con la proliferazione di formati di flash card. In qualche caso un nuovo formato viene ideato, introdotto sul mercato e subito adottato da qualche dispositivo per oggettive ragioni di necessità tecnica: ad esempio, le Compact Flash, a dispetto del nome che era appropriato solo qualche anno fa, risultano ormai troppo grandi per essere usate su palmari e telefoni cellulari di media miniaturizzazione e sono state rimpiazzate dal più compatto formato SD. Naturalmente il problema si è ripresentato sui modelli più lillipuziani oggi sul mercato, dove perfino la SD sarebbe troppo grande e sono stati quindi introdotti i formati miniSD e microSD, dalle dimensioni veramente minime. Altre volte, però, nuovi formati con dimensioni e prestazioni sostanzialmente analoghi ad altri formati, già esistenti, che sarebbero perfettamente idonei allo scopo, vengono introdotti sul mercato da consorzi di cui a volte fanno parte i produttori di fotocamere o cellulari con il chiaro scopo di legare il cliente del dispositivo alla “propria” linea di schede flash e ai “propri” formati proprietari, che naturalmente, avendo un mercato più ristretto e meno concorrenziale di quello dei formati più diffusi, tendono ad avere un prezzo di vendita più alto. La tabella 4 tenta di proporre un elenco non esaustivo dei principali formati di memorie flash con le relative caratteristiche. 26 Unità di lettura e scrittura delle schede di memoria Dal punto di vista del sistema operativo, 27 28 PC Open 123 Luglio/Agosto 2007 1.8.7.2 Applicazioni tipiche (PDA, telefonia mobile, stampanti ecc.). 1.8.8.1 Conoscere le differenti tipologie di schede di memoria a stato solido (memory card), quali: CompactFlash, Secure Digital, Memory Stick, Transflash, ecc. 1.8.8 Memory Card 26 - Il formato Compact Flash è stato il primo a imporsi nel campo delle memorie flash su scheda. Oggi per le sue dimensioni sta progressivamente cadendo in disuso 27 - Le schede Secure Digital e relative varianti (miniSD e microSD) costituiscono la famiglia oggi più diffusa 28 - Sony adotta nei suoi prodotti una famiglia di formati di sua ideazione: Memory Stick IT administrator - Hardware Lezione 6 Tabella 4 - Tipi di Memory Card Denominazione Abbreviazione Anno di introduzione Compact Flash CF 1994 Secure Digital SD 1999 SDHC 2006 Micro Secure Digital; “TransFlash” MicroSD 2005 Mini Secure Digital MiniSD 2003 MultiMedia Card MMC 1997 Reduced Size Multimedia Card RS-MMC 2003 Secure Digital High Capacity Reduced Size Dual Voltage Multimedia RS-DV-MMC Card Memory Stick 1.8.8.2 Conoscere le unità di lettura/ scrittura schede di memoria. MS 1998 Memory Stick Duo MS Duo 2002 Memory Stick Pro MS Pro 2003 Memory Stick Duo Pro MS Duo Pro Memory Stick Micro MS Micro 2006 SmartMedia SM 1995 xD Card xD 2002 Impieghi prevalenti Tagli esistenti sul mercato Note Interfaccia analoga a PCMCIAATA. Può essere vista come disco IDE semplicemente Massima varietà Fotocamere (anche da 16 GB con un adattatore passivo. Formato attualmente in lento e oltre) declino per le eccessive dimensioni. Comprende circuiteria Fotocamere; crittografica per la protezione videocamere con del copyright. Compatibilità Fino a 2 GB funzione di cattura foto; con MMC, se lo slot ha palmari; riproduttori spessore adeguato audio/video portatili Utilizza un modello di indirizzamento della memoria esteso rispetto a quello delle Come SD Oltre 2 GB normali schede SD, per poter supportare tagli superiori ai 2 GB Compatibile con slot SD Cellulari e Tagli mediante adattatore di smartphones medio-piccoli formato non elettronico Compatibile con slot SD Cellulari e Tagli mediante adattatore di smartphones medio-piccoli formato non elettronico Compatibilità meccanica, Tendenza elettronica e logica con i Come SD al declino lettori SD Compatibile con slot MMC mediante adattatore Come MMC di formato puramente meccanico Accetta alimentazione a bassa tensione per Cellulari e Tagli aumentare l’autonomia in smartphones medio-piccoli caso di impiego in dispositivi mobili a batteria Principalmente prodotti Tagli piccoli Sony e Sony-Ericsson Principalmente prodotti Formato più piccolo rispetto Ampia Sony e Sony-Ericsson alla normale Memory Stick Prestazioni e capacità Principalmente prodotti Ampia maggiori rispetto alle normali Sony e Sony-Ericsson Memory Stick Principalmente prodotti Combina i miglioramenti delle Ampia Sony e Sony-Ericsson famiglie Pro e Duo Ulteriore forte riduzione delle Principalmente prodotti Tagli medi dimensioni esterne rispetto Sony e Sony-Ericsson alla linea Duo Soprattutto fotocamere Formato obsoleto ormai Fuji e Olympus Da 2 MB a 128 MB caduto in disuso commercializzate fino al 2001 circa Prodotti Olympus e Fuji Da 16 MB a 2 GB non fa differenza che i lettori/scrittori di schede siano interni o esterni, se l’interfaccia attraverso cui sono gestiti è USB. Esistono lettori di schede interni per sistemi desktop che presentano un pannello frontale con un insieme di slot di tutte le forme e dimensioni (figura 30); ogni slot può accogliere un certo numero di formati geometricamente compatibili, chiaramente indicati sul frontale, e gestisce poi le eventuali differenze logiche o elettroniche fra i formati. Spesso il lettore integra un hub USB che gli permette di offrire anche una o più porte USB sul frontale (non si tratta di una replica della porta USB a cui si attesta internamente il lettore, ma di una nuova porta USB client dell’hub integrato nel lettore stesso). Molti lettori “universali” si basano su 4 slot per le principali “famiglie”: CF, SD, MS e xD. I formati “mini” e “micro” di solito non sono leggibili direttamente (del resto, piccoli come sono, sarebbe scomodo perfino afferrarli per inserirli o rimuoverli dallo slot), ma è necessario usare l’apposito adattatore meccanico che li “promuove” a SD o a MMC full size, che è possibile inserire nello slot del lettore. I lettori di schede esterni si dividono in due categorie principali: ne esistono multiformato e monoformato. PC Open 124 Luglio/Agosto 2007 Lezione 6 29 I primi si presentano come dei piccoli box con un pannello connessioni su cui sono presenti gli slot per i vari formati (come sui modelli interni, ma con ingombri minori); sul retro può essere presente il cavo USB prigioniero oppure il connettore tipo B o mini-B per collegarsi al PC con un cavo. La seconda categoria principale di lettori di schede è quella dei lettori monoformato, confezionati come “chiavette” USB che a seconda dei casi possono avere uno slot esterno oppure una sede interna in cui deve essere alloggiata la scheda flash. Lettori di questo secondo tipo sono meno versatili dei modelli multiformato, ma permettono di riciclare come “chiavetta USB” una vecchia flash card con capacità o prestazioni insufficienti. Tutti i lettori di schede USB richiedono di essere rimossi con qualche accortezza, come si fa per i dischi fissi esterni: prima di scollegarli occorre usare (sotto Windows) la procedura “rimozione sicura dell’hardware” e attendere il consenso. Da notare che con un lettore multiformato il collegamento dell’unità al PC causa di solito la creazione di diverse unità disco virtuali, ognuna corrispondente a uno slot. E’ quindi possibile, eventualmente, usare il comando “espelli” o “rimuovi” sul solo drive virtuale corrispondente allo slot da cui si desidera estrarre la scheda flash. Alcuni prodotti interni, più rari, possono essere visti attraverso una connessione IDE simile a quella degli hard disk drive e non richiedono questa procedura, tuttavia prima di rimuovere la scheda è sempre bene essere ben certi che non sia in corso alcuna scrittura su di essa. Controller RAID Uno dei principali problemi da risolvere nei sistemi impiegati su attività critiche per l’azienda è quello della “disponibilità”, ossia la capacità del sistema di fornire sempre le proprie prestazioni, anche a fronte di guasti parziali. Questo è particolarmente importante per quanto riguarda i dati e i dispositivi di memoria di massa destinati a contenerli. Effettuare regolarmente dei backup è d’aiuto per garantirsi di non perdere “troppi” dati in caso di guasto di un disco (si perderanno al massimo i dati aggiunti o 30 IT administrator - Hardware modificati dopo l’ultimo backup); previa esecuzione della procedura di restore sarà possibile ripristinare i dati a una situazione precedente, ma questo processo richiede tempo e normalmente viene eseguito da operatori umani, dopo aver studiato il danno e deciso il da farsi. Non si tratta quindi, propriamente, di “disponibilità”. Una vera e propria disponibilità dei dati si può assicurare mantenendo costantemente aggiornata, su unità disco fisiche supplementari, su spazio disco ridondato o con altre tecniche, una “copia calda” dei dati, pronta a subentrare alla copia primaria in caso di eventuale guasto al disco principale (mirroring). In questo modo il sistema di storage è in grado non solo di “sopravvivere” a un guasto parziale, ma addirittura di nasconderne gli effetti (a parte la doverosa segnalazione del malfunzionamento verificatosi, che deve essere subito inoltrata all’amministratore di sistema per consentirgli di sostituire l’unità guasta). Un problema del tutto diverso, ma che trova soluzioni concettualmente simili, è quello dell’aumento delle prestazioni del sistema dischi di un server. Una possibile soluzione per l’aumento di prestazioni consiste nell’acquisto di dischi di modello più veloce, ma il costo lievita in modo rapidissimo, senza contare che la differenza di prestazioni fra un disco “veloce” e uno “velocissimo” non è certo di ordini di grandezza, ma di poche decine di punti percentuali. In alternativa si potrebbe installare un enorme quantitativo di cache memory, ma anche in questo caso il costo sarebbe elevato e per archivi di enormi dimensioni, che devono essere spesso riletti per intero per condurre ricerche o elaborazioni su larga scala, la cache non aiuta più di tanto (a meno di renderla grande quanto il disco stesso). In questo caso è possibile ricorrere a uno schema in cui un singolo disco di grandi dimensioni viene sostituito da un gruppo di dischi di dimensioni più piccole che lavorano in parallelo, in modo concertato. Quando il sistema richiede di leggere 100 megabyte di dati dal sistema dischi, si fa in modo che 50 vengano letti dal disco fisico A e gli altri 50 dal disco fisico B; i dati letti dai due dispositivi vengono “riuniti” dal controller e spediti al PC come se provenissero da un disco unico di velocità doppia (striping). Il tempo di lettura viene esattamente dimezzato e il sistema operativo non si è accorto della differenza. Prestazioni e sicurezza delle diverse configurazioni La tabella a pagina seguente (tabella 5) sintetizza le configurazioni Raid, le prestazioni e applicazioni. Una proprietà essenziale dei sistemi RAID è quella di supportare il cosiddetto hot swapping ossia la possibilità di sostituire durante il funzionamento un’unità disco guasta, senza fermare né il sistema dischi né il computer. Se infatti fosse necessario fermare il sistema operativo per cambiare il disco rotto si vanificherebbe il beneficio dato dall’architettura RAID in termini di disponibilità del sistema. La possibilità di hot swapping è quasi sempre offerta dei sistemi RAID implementati in hardware, mentre non è possibile con i sistemi RAID emulati via software, a meno che il sottostante controller hardware (non-RAID) dei dischi non supporti di per sé l’hot swapping, cosa che non è mai verificata, ad esempio, nel caso dei comuni dischi IDE (P-ATA). Da segnalare la capacità di Windows XP Professional di supportare direttamente il mirroring di due dischi IDE via software. Microsoft chiama questa funzione Gestione dischi dinamici: è amministrabile dal Pannello di Controllo, Strumenti di Amministrazione, PC Open 125 Luglio/Agosto 2007 29 - Un lettore interno di schede multiformato installabile in un vano da 3.5” al posto di un floppy drive. Questo tipo di dispositivi in genere richiede una connessione USB interna su motherboard e spesso offre sul frontale una comoda “replica” della porta USB stessa 1.8.9 Controller RAID 1.8.9.1 Conoscere le modalità di configurazione RAID: prestazioni e sicurezza 1.8.9.2 Conoscere la modalità hot-swap 30 - Un controller RAID su scheda PCI con supporto per il collegamento di quattro unità IDE P-ATA IT administrator - Hardware Lezione 6 Tabella 5 - Configurazioni RAID Nome Numero schema minimo RAID di dischi Descrizione Ridondanza Prestazioni Fault Tolerance Applicazioni idonee 0 2 Striping (parallelismo senza ridondanza) Nessuna Aumentano grazie al parallelismo fra dischi, controller e canali DMA Nessuna Applicazioni ad alta intensita’ di banda, per es. applicazioni video. 1 2 Mirroring + Duplexing 100% Richiede 2N drive Su ogni tandem: raddoppiano in lettura, invariate in scrittura Elevata. A certe condizioni sono sopportabili guasti multipli simultanei Applicazioni che richiedono alta disponibilità 2 - 3 3 4 3 5 3 6 4 10 4 50 5 0+1 4 Elevato ma minore di Aumento delle prestazioni Non e’ commercialmente RAID 1. Interi dischi Corregge al volo read/write direttamente conveniente a causa Parallelismo + codici a sono dedicati alla proporzionale al parallelismo errori singoli in una dell’elevata ridondanza correzione d’errore (ECC) memorizzazione dei codici esistente sul gruppo dei “parola” dati hardware ECC dischi dati Aumento delle prestazioni Parallelismo + parita’ XOR Applicazioni ad alta Corregge al volo in lettura direttamente Basso a livello di stripe (generata intensita’ di banda con gli errori senza rallentare proporzionale al parallelismo durante le scritture, verificata Richiede N+1 drive requisiti di disponibilità il servizio esistente sul gruppo dei durante le letture) dischi dati La granularità a livello di blocco fa sì che ogni richiesta di lettura o scrittura interessi Parallelismo + parita’ a livello un solo disco. Ciò permette La correzione degli errori Applicazioni RAID 3 di blocco (generata durante Basso potenzialmente di trattare ha le stesse potenzialita’ bisognose di un aumento le scritture, verificata durante Richiede N+1 drive di RAID 3 ma avviene di prestazioni soprattutto più richieste in parallelo, le letture) in lettura piu’ lentamente cosa impossibile con RAID 3. Il singolo disco per la parità diventa però il collo di bottiglia (specie in scrittura) La correzione degli errori ha un impatto moderato File servers Parallelismo + informazioni di sulle prestazioni. In caso Basso Massime prestazioni in Application servers parita’ distribuite fra i dischi di guasto a un disco la Richiede N+1 drive lettura; medie in scrittura Web servers dati sua ricostruzione e’ piu’ Database servers difficoltosa che in altri schemi Estrema protezione e Prestazioni elevate a Superiore all’overhead Parallelismo + parita’ Applicazioni mission condizione che il controller sia sicurezza con il minimo richiesto da RAID 5. distribuita fra i dischi + ECC critical veloce a generare e verificare overhead possibile. Richiede N+2 drive distribuiti fra i dischi Resiste anche a due i codici ECC guasti di disco simultanei Applicazioni ad alte I dati sono gestiti in striping Veloce come un RAID 0 ma Sicuro come un RAID 1 prestazioni con requisiti di Richiede 2N drive su un tandem e in mirroring piu’ affidabile ma piu’ veloce disponibilità su un secondo tandem. Abbinamento di uno schema Prestazioni elevate come in Sicuro come un RAID 3 Molto elevata RAID 3 e di uno RAID 0 RAID 0 ma piu’ veloce Applicazioni che Come RAID 5 Mirroring di due tandem i cui Prestazioni elevate come con Un singolo guasto rende richiedono alte prestazioni Richiede 2N drives l’intero array equivalente ma non necessariamente dischi sono gestiti in striping RAID 0 a uno schema RAID 0 la massima disponibilità 1.8.9.3 Conoscere i controller RAID con interfaccia PATA 1.8.9.4 Conoscere i controller RAID con interfaccia SATA 1.8.9.5 Conoscere i controller RAID con interfaccia SCSI Gestione Computer, Gestione Disco e consente di avere “gratis” un minimo livello di protezione dei dati, a condizione di avere due o più dischi installati (meglio se dello stesso tipo). La capacità di creare e amministrare gruppi RAID interamente a livello software, sia con dischi SCSI sia con dischi IDE, è peraltro presente anche in Linux, in genere sulle versioni basate su kernel 2.4 o superiore. Controller RAID con interfaccia PATA, SATA e SCSI I controller RAID hardware possono supportare vari tipi di interfacce per quanto riguarda le unità disco. Quelli specifici per sistemi x86 (desktop o server che siano) sono ovviamente adattati all’“ecosistema” tipico dei PC, pertanto la maggioranza dei prodotti, e specialmente quelli di fascia bassa, supportano l’interfaccia IDE, nelle varianti P-ATA o S-ATA; quest’ulti- ma si sta rapidamente imponendo come la più diffusa, anche grazie alle ottime prestazioni e alla capacità nativa di supportare l’hot-plugging (ossia la prerogativa di rimuovere e sostituire un disco a caldo), una caratteristica irrinunciabile in un sistema RAID hardware di livello professionale. Gli attuali prodotti di fascia alta affiancano di solito S-ATA con SAS (Serial Attached SCSI) oppure, più raramente, supportano solo quest’ultimo. L’interfaccia SAS offre prestazioni migliori e solitamente viene realizzata mediante una scheda che si aggiunge al controller S-ATA di base. Quanto al numero di unità disco collegabili, si va dalle 2 unità dei sistemi entry level fino alle 16 unità e più dei sistemi “top” destinati all’impiego su macchine di classe server dotate dello spazio e della ventilazione adatta per installare un così gran numero di unità disco. PC Open 126 Luglio/Agosto 2007 IT administrator - Hardware Materiale didattico progettato per EUCIP IT Administrator segnalato da AICA Modulo 1 - Hardware “AICA, Licenziataria esclusiva in Italia del programma EUCIP (European Certification of Informatics Professionals) riconosce che il materiale didattico segnalato è strutturato in modo coerente con l’organizzazione dei contenuti prevista dai documenti EUCIP di riferimento. Di conseguenza AICA autorizza sul presente materiale didattico l’uso dei marchi EUCIP (registrato dal CEPIS Concil of European Professional Informatics Societies) ed AICA protetti dalle leggi vigenti.” 1.9 Memorie di massa. 1.9.1 Concetti 1- Nonostante il travolgente successo delle memorie di massa a semiconduttore a stato solido (flash memory) che stanno occupando la fascia bassa del mercato, ancor oggi l’hard disk a tecnologia magnetica rappresenta “la” memoria di massa per antonomasia 2 - I formati Blue Ray e HD-DVD sono i più recenti rappresentanti di questa tecnologia. 3 - Le memorie flash, basate su tecnologia a semiconduttore e quindi a stato solido, stanno aumentando la capacità sia in assoluto sia a parità di costo, estromettendo le memorie magnetiche dalla fascia bassa del mercato. Qui vediamo un esempio di scheda SD da ben 8 GB Lezione 6 A scuola con PC Open Memorie di massa ottiche e magnetiche Dai dischi fissi alle memorie flash ai supporti ottici, una panoramica sui sistemi per l’immagazzinamento di dati su PC. Seguiamo l’evoluzione tecnologica al crescere delle capacità, tra gli scontri commerciali per imporre un particolare standard di riferimento di Marco Mussini ella terza puntata abbiamo parlato del ruolo fondamentale che le memorie di ogni tipo ricoprono nell’architettura dei calcolatori rendendo possibile il loro funzionamento. Senza dubbio la memoria di lavoro RAM, quella cioè in cui risiedono i programmi durante la loro esecuzione, è assolutamente necessaria perché il microprocessore possa eseguire applicazioni software; grazie alle sue caratteristiche di elevate prestazioni (e in particolare al suo tempo di accesso basso e indipendente dall’ordine di accesso ai dati) la RAM è presente in tutti i PC ed è il “partner” più stretto della CPU nell’elaborazione dei dati e nell’esecuzione delle istruzioni. Vi è però anche un secondo tipo di memoria, con funzioni e caratteristiche differenti, che è comunque presente in quasi ogni tipo di sistema informatico: è la memoria di massa, quella che si incarica dell’immagazzinamento a lungo termine di grandi quantità di dati e programmi anche a computer spento (figura 1). Quando servono, questi dati o questi programmi vengono trasferiti in RAM e può iniziare la loro elaborazione a opera della CPU. Se la quantità di RAM montata su un PC attualmente è dell’ordine del Gigabyte, la memoria di massa dello stesso PC potrebbe essere centinaia di volte maggiore. Il costo per Gigabyte, però, è molto inferiore nel caso della memoria di massa, cosicchè un’unità disco da 400 Gbyte può avere un N Calendario delle lezioni Lez. 1: la scheda madre e il BIOS Lez. 2: i processori Lez. 3: la RAM Lez. 4: bus e risorse di sistema Lez. 5: interfacce (prima e seconda parte) Lez. 6: memorie di massa Lez. 7: dispositivi di visualizzazione Lez. 8: le stampanti Lez. 9: hardware di rete Lez. 10: alimentatori e installazione nuovo hardware Lez. 11: risoluzione dei problemi PC Open 98 Settembre 2007 PDF DEL CORSO NEL DVD 1 2 costo paragonabile a quello di un singolo modulo di RAM da 1 Gbyte: una differenza di costo di 2 o 3 ordini di grandezza. La ragione del costo molto inferiore delle memorie di massa rispetto a quello delle memorie di lavoro sta nella differente tecnologia costruttiva, che punta fra l’altro a massimizzare la capacità più che le prestazioni. Poiché le memorie di massa devono mantenere i dati immagazzinati anche in assenza di alimentazione, esse si affidano necessariamente a fenomeni capaci di creare stati fisici stabili che possano essere fatti corrispondere a stati logici distinti (in sostanza, il bit 0 e il bit 1) 3 e quindi usati per rappresentare le informazioni. Tipicamente quindi le memorie di massa non si basano su un principio di funzionamento elettronico che richieda alimentazione, ma si affidano invece al magnetismo (è il caso dei dischi fissi e dei floppy disk), all’ottica (CD-ROM, Lezione 6 DVD-ROM, Blue Ray – Figura 3) o a fenomeni elettrostatici o elettronici che però siano in grado di sostenersi per lunghi periodi senza richiedere l’apporto di energia (è il caso delle memorie EEPROM e Flash – figura 4). Naturalmente, il requisito del mantenimento dell’informazione senza alimentazione riguarda soltanto i periodi di inutilizzo del PC. Durante il funzionamento di queste memorie, per l’accesso in lettura o in scrittura, è sempre necessario fornire energia, sia che questa serva per mettere in rotazione un disco o per muovere le testine, sia che occorra per consentire il funzionamento dell’elettronica di controllo. Gli avanzamenti delle Flash memory Negli ultimi anni i progressi dell’elettronica hanno iniziato a rendere tecnologicamente realizzabili memorie a semiconduttore (Flash memory) con prestazioni intermedie fra quelle della RAM e quelle dei dischi fissi e capacità di diversi Gbyte, ottimamente resistenti a sollecitazioni meccaniche e magnetiche. Nel medio-lungo termine è del tutto plausibile che questa tecnologia soppianterà quella magnetica nelle memorie di massa, così come decenni fa la tecnologia magnetica soppiantò la tecnologia di schede e nastri perforati nonostante il costo inizialmente ben superiore. Il paragone con le due situazioni può risultare illuminante. Anche il più rudimentale dei primi hard disk, all’epoca della sua introduzione sul mercato, era qualitativamente superiore a una bobina di nastro o a un pacco di schede: non soltanto l’affidabilità e la silenziosità erano superiori, grazie alla riduzione e semplificazione delle parti meccaniche, ma anche la densità spaziale delle informazioni era maggiore; inoltre, aspetto fondamentale, la nuova tecnologia si prestava meglio ad accessi non sequenziali alle informazioni in quanto il complesso disco+testine riesce a raggiungere la posizione delle informazioni richieste in un tempo che, pur variando a seconda di tale posizione, si mantiene comunque piccolo (dell’ordine delle decine di millisecondi al massimo); con un nastro perforato o un pacco di schede perforate le macchine di lettura potevano dover lavorare per il riposizionamento anche per decine di secondi prima di poter accedere all’informazione desiderata. La nuova tecnologia introduceva quindi un miglioramento di diversi ordini di grandezza nel tempo medio d’accesso, un vero e proprio salto di qualità che le memorie di massa preesistenti non avrebbero mai potuto compensare in modo economicamente fattibile. Questo bastò a fissare un trend a favore delle memorie di massa magnetiche e ad avviare un inevitabile processo di declino delle tecnologie dell’epoca, che sparirono completamente nel giro di pochi anni. Alcuni aspetti dell’attuale confronto tra la tecnologia Flash e quella magnetica/ottica ricordano lo scenario appena descritto. Le memorie flash, del tutto prive di parti in movimento, resistono benissimo agli urti (che farebbero “atterrare” la testina di un hard disk, rovinando irreparabilmente la superficie dei piatti). Non contengono motori che debbano essere avviati all’accensione e alimentati durante il funzionamento, quindi hanno un tempo d’accensione trascurabile e un bassissimo consumo di corrente in esercizio. Non contengono armature, telai o meccanismi metallici, quindi hanno una massa e un ingombro minimi e sono praticamente immuni a shock inerziali, vibrazioni, oscillazioni (che farebbero “saltare” la traccia in un CD o danneggiare i cuscinetti di rotazione in un hard disk). Non si avvalgono di proprietà magnetiche dei materiali per memorizzare l’informazione, quindi sono immuni ai IT administrator - Hardware forti campi magnetici statici. Nemmeno si avvalgono di proprietà ottiche dei materiali, pertanto non vanno incontro a un decadimento delle loro proprietà in caso di esposizione a forte luce solare. La loro produzione non richiede di fabbricare e assemblare con precisione meccanismi miniaturizzati (come i delicati servomeccanismi che controllano il braccio testine di un hard disk oppure quelli che assicurano l’allineamento alla traccia ottica in un CD o DVD), ma soltanto di produrre chip e di “inscatolarli” in involucri plastici, con una tecnologia economica e adatta a grandi volumi di produzione. Occupano un volume minimo e hanno un peso quasi trascurabile, quindi comportano costi di trasporto e magazzinaggio molto minori. Il loro tempo d’accesso alle informazioni è ancora più basso di quello degli hard disk e delle unità ottiche, in quanto non è più necessario attendere il riposizionamento di una testina o la rotazione di un disco, e risulta sostanzialmente indipendente dalla sequenza di accesso alle informazioni. Gli svantaggi delle memorie di massa a semiconduttore (in particolare le Flash memory), che la tecnologia sta già mostrando di poter col tempo compensare, sono costituiti da: • un costo per Gbyte ancora elevato, che però è già diventato competitivo con quello degli hard disk solo sulle piccole capacità; • una possibile sensibilità a certe radiazioni elettromagnetiche in grado di alterare lo stato di carica delle celle; • una capacità ancora non in linea con i valori raggiungibili con la tecnologia hard disk, almeno a parità di costo; • una longevità del dispositivo che, sebbene stia rapidamente migliorando, non sembra ancora eguagliare quella delle memorie magnetiche a disco. Le flash memory più affidabili normalmente dichiarano che le celle di cui sono composte possono sopportare circa un milione di cicli di cancellazione e riscrittura; apposite tecniche di controllo fanno in modo di utilizzare a rotazione tutte le locazioni della flash memory per evita4 re di concentrare l’usura sempre sugli stessi settori, ma rimane comunque il dato di una durata del dispositivo ancora piuttosto limitata. • una durata di mantenimento dell’informazione che si misura in alcuni anni. In considerazione delle loro proprietà, al momento le memorie flash risultano quindi ideali: • per le applicazioni in dispositivi mobili, in cui generalmente non occorrono capacità enormi ma contano molto leggerezza, robustezza, immunità alle vibrazioni, 5 bassi consumi elettrici e miniaturizzazione (figura 5); • per le applicazioni in ambienti em- PC Open 99 Settembre 2007 4 - Nei dispositivi mobili miniaturizzati come i riproduttori multimediali le flash memory rappresentano la soluzione ideale per lo storage, se non è richiesta una capacità eccessivamente grande 5 - I dischi ibridi abbinano un hard disk magnetico di elevata capacità (per esempio 160 GB), ma relativamente lento, a un banco di flash memory, molto veloce ma relativamente piccolo (per esempio 256 MB). Questi dischi contribuirebbero ad aumentare le prestazioni di Vista IT administrator - Hardware 6 - Geometria di una unità a disco fisso. Le informazioni sono registrate in settori organizzati lungo tracce concentriche su un certo numero di dischi (“platter”) disposti in pila, ognuno registrato su due facce. Un cilindro è dato dall’insieme delle tracce di un certo diametro su tutti i dischi. Il gruppo testine è dotato di un braccio e una testina per ogni faccia. Tutti i dischi ruotano insieme e tutte le testine si spostano insieme bedded (integrazione in dispositivi hardware anche di natura non informatica) in cui contano consumi elettrici, dissipazione di calore, ridotte emissioni elettromagnetiche e immunità alle emissioni dello stesso tipo prodotte dal resto del dispositivo; • in combinazione con i dischi fissi magnetici tradizionali, per costruire unità “ibride” (figura 6) in cui la flash fornisca velocità di accensione, basso tempo d’accesso e persistenza dei dati garantita in caso di spegnimento, con proprietà intermedie fra la normale cache RAM, velocissima ma volatile, e il disco magnetico, persistente ma lento; lo stesso Windows Vista, con la tecnologia ReadyBoost, prevede espressamente l’uso di questa nuova tipologia di dischi fissi in cui di fatto vengono usati in modo sinergico tre tipi diversi di tecnologie di memoria (RAM, Flash e Hard disk) per realizzare un sistema che si accenda istantaneamente, non perda dati in caso di spegnimento improvviso e possieda un’enorme capacità, un throughput molto elevato e un tempo medio d’accesso basso e quasi indipendente dalla modalità d’accesso (sequenziale o casuale). I dischi fissi, invece, risultano ancora superiori (almeno per il momento): • nelle grandi e grandissime capacità (dalle centinaia di Gbyte fino al Terabyte e oltre); • nel transfer rate, specie su unità da 15.000 giri/minuto, che può arrivare a circa 75-100 Mbyte/s nei modelli più sofisticati e veloci, contro i 20-30 Mbyte/s delle flash card più veloci (come i modelli 200x); • nella durata di immagazzinamento delle informazioni. Le unità ottiche, che anni fa sembravano possedere quel “quid” in grado di assicurare un salto qualitativo, rispetto agli hard disk, nella densità di registrazione e quindi nella capacità raggiungibile, col tempo sono state sorpassate dai progressi della tecnologia magnetica. Oggi il tipo di memoria ottica destinata a un mercato di largo consumo con la più alta capacità e densità è il Blu-ray, che su un singolo disco doppio strato da 12 cm può memorizzare 50 GB. Un valore notevole, ma largamente superato dai valori raggiungibili dalle più recenti unità hard disk che hanno ormai raggiunto il Terabyte (anche se per la verità simili valori sono raggiunti registrando le informazioni su un set di diversi piatti, come vedremo). Per quanto riguarda la capacità, quindi, gli hard disk sono al momento “imbattuti”. Il principale vantaggio delle memorie ottiche sta nel fatto che il supporto fisico è rimovibile e fabbricabile a basso costo e in grandi volumi e quindi si presta bene come mezzo di distribuzione dei contenuti. Se un film in alta definizione richiede 40-50 GB di dati, lo si può distribuire sotto forma di Blu-ray disc; non sarebbe evidentemente praticabile distribuirlo memorizzato su hard disk da 50 GB. 1.9.1.1 Conoscere le modalità di funzionamento e archiviazione delle unità. Comprendere l’accezione dei termini: traccia, settore, cilindro, cluster, CHS. Le modalità di funzionamento e archiviazione delle unità Le memorie di massa a disco leggono e scrivono le informazioni posizionando accuratamente una testina o un gruppo ottico sulla superficie di un disco in rapida rotazione. Le informazioni sono disposte su tutta la superficie del disco (o meglio, su tutta la superficie di una corona circolare che occupa gran parte della superficie del disco). Per raggiungere un determinato dato, quindi, occorre che la testina si trovi alla giusta distanza dal centro e che il disco si porti alla posizione angolare necessaria. Del primo aspetto si occupano i servomotori passo-passo o le bobine che spostano la testina di lettu- PC Open 100 Settembre 2007 Lezione 6 6 ra/scrittura; il sistema oggi più usato si basa appunto su bobine (sistema “voice coil”) che, sotto il controllo di appositi circuiti analogici di precisione, consentono un posizionamento rapido e preciso eliminando le inerzie che sarebbero altrimenti causate da un motore e da un treno di ingranaggi. Per quanto riguarda invece l’angolo di rotazione, è sufficiente attendere il tempo necessario perché il continuo movimento del disco lo porti nella posizione desiderata. L’elettronica di controllo del disco, perfettamente sincronizzata con il motore di rotazione, è in grado di calcolare con precisione questi tempi e sa, quindi, in quale intervallo di tempo deve iniziare l’ascolto dei segnali rilevati dalla testina per leggere i dati dei settori richiesti. Ogni cilindro è infatti suddiviso in un certo numero di “archi di circonferenza”, dando luogo a regioni ben identificate (dette “settori” o “blocchi”) nelle quali viene memorizzata una quantità standard di dati. Negli hard disk settori hanno generalmente una capacità di 512 bytes (figura 7). Da un punto di vista operativo conviene però indirizzare porzioni di dati più grandi. Gruppi di settori (cluster) possono così essere indirizzati come blocchi “logici” di dimensione maggiore di quella dei blocchi “fisici”. Mentre le unità hard disk utilizzano un sistema con un certo numero di tracce concentriche (dette anche “cilindri”), i CD-ROM e i DVD-ROM utilizzano un’unica traccia a spirale che inizia al centro del disco e termina alla sua periferia. I settori (che hanno una capacità maggiore di quella degli hard disk: in un CD-ROM ogni settore contiene 2.048 bytes) sono quindi numerati sequenzialmente nell’ambito di quest’unica traccia. Fa eccezione il più raro formato DVD-RAM, che non tutti i masterizzatori supportano, nel quale il sistema di organizzazione delle tracce è invece simile a quello di un hard disk. Nelle unità ottiche con dischi da 5 pollici, per evitare di sprecare capacità di registrazione, i dati vengono registrati nella traccia con densità lineare costante: ogni settore occupa quindi una certa lunghezza fissa lungo la traccia. Questo significa che nel primo tratto della traccia a spirale, quella vicina al centro, in una rotazione completa del disco potranno trovare posto meno settori rispetto alla parte periferica del disco. Pertanto, se il drive fa ruotare il disco a velocità angolare costante (Constant Angular Velocity – CAV), la velocità di lettura dei dati (in byte al secondo) sarà 2 o 3 volte maggiore alla periferia del disco rispetto al centro del disco. Per mantenere prestazioni press’a poco costanti qualunque sia la regione di disco letta, quindi, non resta che variare la velocità angolare di rotazione in modo tale da mantenere costante la velocità lineare della testina sulla traccia. Questa modalità è detta Constant Linear Velocity (CLV). Il motore di rotazione dovrà accelerare durante la lettura della regione centrale e rallentare durante la lettura della perife- Lezione 6 7 ria del disco. Il throughput diventa indipendente dalla posizione della testina, ma solo dopo qualche istante di assestamento, in quanto queste accelerazioni/decelerazioni che devono essere effettuate dal motore quando la testina si sposta richiedono un certo tempo (figura 8). Per aumen8 tare la capacità dei dispositivi hard disk i produttori fanno uso di un gruppo di dischi che sono fatti ruotare contemporaneamente sullo stesso asse, con una testina di lettura/scrittura per ogni disco (o per ogni faccia, nel caso di dischi registrati su entrambe le facce). Questa è la ragione per cui le “famiglie” di modelli di hard disk di un determinato produttore hanno spesso capacità che sembrano essere multipli di un fattore comune. Per esempio, una famiglia i cui modelli hanno capacità di 15, 30, 45, 60 Gbyte impiega molto probabilmente una tecnologia di registrazione che consente di stipare 15 Gbyte su ogni singolo disco; i modelli citati differiscono semplicemente per il numero di dischi o facce impiegati. In effetti, quando un produttore lancia una nuova famiglia di hard disk, vi è spesso l’annuncio dell’introduzione di una nuova tecnologia che consente di aumentare la densità di registrazione. Con riferimento all’esempio appena proposto, una nuova famiglia potrebbe impiegare piatti da 20 Gbyte e così comprendere modelli da 20, 40, 60 e 80 Gbyte a parità di struttura meccanica macroscopica (da 1 a 4 piatti come nella famiglia precedente). Ricapitolando, l’indirizzamento dell’informazione in un hard disk richiede, in generale, di specificare quale testina (head) utilizzare; a quale distanza dall’asse di rotazione del disco posizionarla, o, in altri termini, su quale cilindro (cylinder); in quale posizione angolare del disco, ovvero in quale settore (sector) di quel cilindro. La strutturazione dei dati in un disco floppy Il più noto tipo di memoria di massa magnetica con supporto rimovibile è il floppy disk. Ormai chiaramente entrato nella sua fase di declino definitivo, sostituita dalle ben più capaci, veloci e pratiche “chiavette USB” basate su memorie flash, questo tipo di periferica resiste ancora nei desktop e nei laptop più datati. In ambito 9 musicale, tuttavia, ancor oggi molti apparecchi comprendono un drive per floppy disk da 3.5 pollici per il trattamento di dati MIDI come basi musicali o IT administrator - Hardware 10 11 registrazione di esecuzioni dal vivo. Il nome “floppy disk” (disco flessibile) risale in realtà all’epoca (inizio anni ’70) in cui i dischi usati avevano un diametro di ben 8 pollici e il loro involucro era una sorta di sottile busta quadrata di materiale plastico nero flessibile. Dopo la metà degli anni ’70 fecero la loro comparsa i più trasportabili floppy disk da 5.25 pollici (figura 9). (La leggenda vuole che la bizzarra dimensione di 5.25 pollici sia stata scelta dagli inventori dello standard prendendo come riferimento un tovagliolo di carta trovato al bar durante una discussione sul formato da adottare). Questi, partendo da una prima generazione da 360 Kbytes adottata dai primi IBM PC, arrivarono a supportare una capacità di 1.2 Mbytes formattati, passando attraverso modelli a singola faccia, doppia faccia, alta densità. I dischi potevano essere registrati su entrambe le facce; per usarli in un drive a singola faccia, dovevano essere estratti e rovesciati, proprio come per un disco musicale in vinile. Successivamente, negli anni ’80, fu la volta dei dischi da 3.5 pollici (figura 10), tutti a doppia faccia, con capacità da 720 KBytes (singola densità: SD), 1.44 Mbytes (alta densità: HD) e 2.88 Mbytes (il più raro formato ED), che per la prima volta adottarono un involucro plastico rigido quadrato con protezione della finestrella di accesso alla superficie del disco. Questo formato inventato da Sony incontrò grande successo dopo essere stato adottato da Apple per i primi Macintosh, ma anche per la sua maggior affidabilità data dall’assenza di superfici magnetiche permanentemente esposte a polvere e graffi, e rappresenta l’ultima evoluzione “standard” dei microfloppy. Il poco conosciuto formato da 3 pollici (figura 11), con involucro plastico ultrarigido di forma rettangolare e finestrella di protezione ancora più sicura di quella dei microfloppy da 3.5 pollici, ebbe vita brevissima, principalmente per il fatto di non essere stato adottato come standard dai PC, e fu impiegato, per esempio, su alcuni home computer e macchine dedicate per word processing di Amstrad. 12 13 14 In realtà un erede dei floppy disk da 3.5 pollici è esistito, e per alcuni anni ha prolungato la carriera (o forse, per meglio dire, l’agonia) delle memorie di massa magnetiche rimovibili. Si tratta dei noti standard proposti drive ZIP e JAZ (figure 12 e 13), in grado di stipare (nelle rispettive versioni iniziali) 100 Mbytes e 1 Gbyte su singolo supporto rimovibile. Dal punto di vista strettamente tecnologico il drive ZIP era imparentato con la tecnologia dei floppy disk, mentre il JAZ era più propriamente da paragonarsi a un hard PC Open 101 Settembre 2007 10 - Un floppy disk da 3.5”, alta densità (HD), da 1.44 Mbytes. 11 - Un raro disco da 3 pollici. Questo formato fu utilizzato in pochissimi sistemi 7 - In un disco con dati registrati a velocità angolare costante, o CAV, (a sinistra) un settore richiede sempre lo stesso tempo per passare sotto la testina di lettura/ scrittura, ma i settori sulle tracce più esterne sono registrati con una densità molto bassa che spreca buona parte della capacità potenziale del disco; al contrario, sulle tracce interne i dati sono registrati ad alta densità e questo potrebbe avvicinare il limite teorico di densità possibile con i materiali e le testine impiegati. Un disco registrato a velocità lineare costante, o CLV (a destra), utilizza una densità di registrazione costante e sfrutta al meglio la capacità del disco. Fonte www.telcontar.net 8 - Le unità hard disk impiegano internamente una “pila” di dischi per aumentare la capacità. I dischi vengono letti e scritti da un gruppo di testine disposte “a pettine” che si muovono insieme 12 - Un drive esterno ZIP con un disco da 250 MB 13 - A differenza di uno ZIP drive che è imparentato con un floppy disk, un drive JAZ è tecnologicamente assimilabile a un hard disk 14 - Con l’arrivo sul mercato dei masterizzatori riscrivibili e degli economici supporti CD-RW i supporti ZIP persero appeal 1.9.1.2 Conoscere la strutturazione dei dati in un disco floppy. 9 - Un floppy disk da 5.25 pollici. Questo tipo di dischi era realmente flessibile a causa dell’involucro non rigido; di qui il termine “floppy” IT administrator - Hardware 15 - Una tipica sessione FDISK in azione in ambiente Windows. Partizionare il disco fisso è consigliabile per migliorare l’amministrazione di dischi di grandi dimensioni, e di solito è addirittura necessario se si intende coinstallare più di un sistema operativo 16 - Anche sotto Linux esistono utility equivalenti o omonime di FDISK, anche se col tempo sono state rimpiazzate da più comodi strumenti grafici. Qui vediamo in azione la versione fornita con la distribution FreeBSD disk con i soli dischi rimovibili dal corpo dell’unità. Il loro utilizzo per finalità di backup declinò con la comparsa sul mercato di hard disk di capacità molto più grande, impossibili quindi da salvare su singoli dischetti, e utilizzabili anzi a loro volta come dispositivi di backup per altri hard disk a costo ragionevole e con ottime prestazioni. Un altro fattore che contribuì a erodere l’interesse per i drive Zip e Jaz fu la diffusione degli economici CD-RW (figura 14). Per quanto riguarda la struttura di registrazione dei dati, il numero di tracce e di settori per traccia ebbe qualche variante a seconda dei sistemi, del formato del disco e del livello di densità del drive. Il numero di tracce è generalmente di 40 o 80, con l’eccezione di alcuni sistemi nei quali, “sfidando” i limiti nominali di capacità del disco, si scrivevano ulteriori tracce, arrivando a 1.6 MB su dischi 3.5” HD. Altri sistemi, come il Commodore Amiga, impiegavano dischi 3.5” a singola densità, ma registravano 11 settori per traccia anziché i canonici 9, arrivando a una capacità di 880 Kbytes anziché 720 Kbytes. Infine, in alcuni vecchi Macintosh, Apple tentò la carta di variare la velocità angolare del motore per incidere i dati a densità lineare costante (come sui CD-ROM), allo scopo di sfruttare meglio le tracce esterne. Con un modesto beneficio in termini di capacità, questo sistema, che fu presto abbandonato, richiedeva un’elettronica di controllo e dei servomotori più precisi (e più costosi, perché non standard). Settori Tracce Facce Capacità x traccia Single side 9 40 1 180KB Double side 9 40 2 360KB High Density 15 80 2 1.2 MB Single Density 9 80 2 720 KB High Density 18 80 2 1.44 MB Extended Dens. 36 80 2 2.88 MB Lezione 6 15 16 FormatoVariante 17 - Un tipico tool grafico per la gestione delle partizioni in ambiente Linux (in questo caso Ubuntu) 5.25” 5.25” 5.25” 3.5” 3.5” 3.5” 1.9.1.3 Conoscere le modalità di partizionamento del disco rigido. Conoscere l’accezione dei termini: unità logiche, partizione attiva L’importanza di partizionare il disco fisso 18 - Windows XP offre una pratica utility grafica, decisamente più amichevole di FDISK, per amministrare e formattare i dischi e le loro partizioni Per sfruttare in modo più pratico e sicuro la capacità di un hard disk di grosse dimensioni è consigliabile suddividerlo nelle cosiddette “partizioni”. Lavorare con un certo numero di partizioni anziché con un unico disco di smisurata capacità è preferibile per diversi motivi: • Deframmentare le partizioni richiede un tempo minore di quello necessario per deframmentare l’intero disco non partizionato. • Un eventuale danno alle strutture di controllo del file system comporta al massimo la perdita dei dati della partizione interessata. • È possibile suddividere e ordinare i dati in modo più chiaro e facile da gestire; per esempio si può avere una partizione per il sistema operativo, una per i programmi e una per i dati. • Diventa più facile la selezione dei file da trattare con le procedure di backup. Ogni partizione si comporta come un disco logico indipendente dalle altre partizioni. In particolare ogni partizione, per poter essere utilizzata per memorizzare dati, deve prima essere formattata. Ogni partizione può essere formattata con un tipo di file system non necessariamente uguale a quello usato per le altre partizioni dello stesso disco: per esempio, a seconda del tipo di dati registrati, una partizione potrebbe essere formattata in formato FAT16, una in FAT32 e una in NTFS. Nel caso di Linux le possibilità di scelta del tipo di file system da usare per for- PC Open 102 Settembre 2007 17 18 mattare una partizione sono ancora più ampie. Normalmente su un disco è possibile definire fino a un massimo di quattro partizioni, la cui descrizione è memorizzata in un’area specifica del disco stesso detta Tabella delle partizioni (Partition Table). In ambiente MS-DOS e nei primi Windows lo strumento Lezione 6 software per gestire il partizionamento del disco era il comando FDISK (figura 15) (successivamente era necessario utilizzare il comando FORMAT per formattare le partizioni testé create). Con versioni più recenti di Windows, compreso lo stesso Windows XP, è invece disponibile uno strumento di amministrazione unificato, dotato di interfaccia grafica di facile uso, che funziona senza dover uscire dall’ambiente Windows e consente di effettuare sia il partizionamento sia la formattazione delle partizioni. Non è da meno Linux, che dispone anch’esso di un’utility simile a FDISK (figura 16) ma anche di altri strumenti equivalenti, più facili da usare in quanto dotati di interfaccia grafica (figura 17). In ambiente Windows la situazione è ulteriormente migliorata sotto Windows XP, in cui attraverso Pannello di controllo / Strumenti di Amministrazione / Gestione Computer / Gestione disco si può accedere a una utility grafica chiara e comoda per amministrare e formattare le partizioni (figura 18). Mancano solo le funzioni che consentono di ridimensionare o fondere partizioni senza perdere i dati in esse contenuti; queste sono in genere disponibili nelle utility commerciali (o in qualche caso gratuite) specializzate nella gestione del disco. Indipendentemente dal tipo di file system utilizzato per formattarla, una partizione può essere di due tipi: primaria o estesa. La principale differenza sta nel fatto che all’interno di una partizione estesa possono essere create una o più unità disco logiche, alleviando così il disagio dato dalla limitazione di quattro partizioni per disco. L’operazione è effettuabile direttamente da FDISK. Solo una partizione primaria può essere resa “attiva”, ossia essere indicata come la partizione da cui dovrà essere effettuato l’avvio (bootstrap) del sistema operativo. Le modalità d’installazione di un’unità floppy, un disco rigido, un drive CD-ROM L’installazione fisica di un disco floppy, di un disco rigido o di un’unità ottica è un’operazione concettualmente semplice a condizione che il PC disponga di un vano di dimensioni adeguate, di una connessione di alimentazione adatta e di una connessione dati libera del tipo richiesto dall’unità da collegare (per esempio, per un hard disk, P-ATA o S-ATA). I floppy disk 3.5” utilizzano connettori di alimentazione miniaturizzati, mentre gli obsoleti dischi da 5.25”, gli hard disk e i drive ottici usano un più ingombrante connettore Molex a 4 pin che porta le tensioni +5V e +12V (rispettivamente per l’elettronica di controllo del drive e per l’alimentazione dei motori di rotazione e di testina) con relative masse. Normalmente nel fascio di cavi che escono internamente dall’alimentatore del PC è facile localizzare i connettori di tipo adatto per l’installazione (Figura 19). In qualche caso i connettori presenti non corrispondono esattamente a quelli occorrenti; si può allora fare uso di appositi cavetti adattatori per risolvere il problema (figura 20). Per quanto riguarda il cavo dati, su un sistema PC i floppy disk (di solito non più di due) si collegano alla motherboard con un cavo piatto e relativo connettore fisicamente separati da quelli usati per dischi P-ATA, che sono inoltre di tipo diverso: il connettore piatto usato dai floppy disk ha 34 poli, mentre quello P-ATA utilizzato da hard disk 3.5” e unità ottiche ne ha 40 (a parità di numero di pin del connettore, il cavo P-ATA può inoltre avere 40 o 80 conduttori a seconda della versione utilizzata dello standard IDE). Del tutto diversi, poi, i connettori S-ATA che sono IT administrator - Hardware 19 20 molto più piccoli, con minor numero di con21 tatti, e fanno uso di un cavo molto meno ingombrante dei “flat cable” PATA perché basato su pochi conduttori (figura 21). Ai connettori PATA o S-ATA si possono collegare indifferentemente dischi fissi o unità ottiche. Nel caso particolare di collegamenti P-ATA, che prevedono la possibilità di collegare due unità lungo lo stesso cavo, occorre prestare attenzione all’impostazione del ruolo delle due unità. Se il controller IDE e il cablaggio supportano la modalità cable select (CS), sarà sufficiente impostare entrambi i dispositivi sul ruolo CS per risolvere il problema. In alternativa sarà necessario assicurarsi di averne impostato uno come master e uno come slave. Se entrambe le unità collegate allo stesso canale IDE sono impostate per lo stesso ruolo, oppure una di esse è impostata come CS e l’altra ha un ruolo che entra in conflitto con quello automaticamente assunto dalla prima, si verificheranno inconvenienti durante il funzionamento, con la possibilità di perdere dati. Se invece lungo un cavo IDE si collega una sola memoria di massa, non esiste il pericolo di conflitti. Volendone specificare il ruolo, tipicamente la si configurerà come master oppure, anche in questo caso, si potrà attivare la modalità cable select impostandola come CS. Tutte le configurazioni relative 22 al ruolo master, slave o cable select si effettuano agendo su ponticelli (jumper) installati su un connettore a pettine generalmente posizionato sul retro dell’unità che devono essere fisicamente spostati nella posizione opportuna per attivare la modalità desiderata. Le istruzioni per il posizionamento dei ponticelli sono quasi sempre stampate sulla targhetta identificativa del drive (figura 22). In rari casi possono essere serigrafate, in modo poco evidente, direttamente sulla scocca metallica vicino al connettore a pettine. I cavi IDE in grado di supportare la modalità Cable Select sono quelli a 80 pin introdotti a partire dalla revisione Ultra ATA/66 dello standard P-ATA. I connettori hanno colorazione differenziata per chiarire il ruolo che assumeranno i drive. L’estremità da collegare alla motherboard 23 è di colore blu; il connettore all’altra estremità, di colore nero, serve per il collegamento dell’unità master; il connettore in posizione PC Open 103 Settembre 2007 19 - Il fascio di cavi che esce da ogni alimentatore ATX comprende il grosso connettore di alimentazione per la motherboard e un nutrito gruppo di connettori per alimentare floppy, hard disk 3.5” IDE, hard disk S-ATA e schede grafiche. In dotazione possono esservi adattatori per consentire di adattare il “mix” di connettori disponibili a quelli occorrenti, in base alle periferiche presenti 20 - Un adattatore di alimentazione da IDE 3.5” a S-ATA 21 - Un cavetto dati S-ATA. Rispetto ai classici cavi piatti P-ATA il cavo è molto meno ingombrante e ostacola meno la ventilazione nel case. Anche il connettore ha dimensioni miniaturizzate 1.9.1.4 Conoscere le modalità d’installazione di un’unità floppy, un disco rigido, un drive CD-ROM. Conoscere inoltre quali cavi utilizzare e come realizzare le connessioni fisiche 22 - I diagrammi con le istruzioni per il posizionamento dei ponticelli (jumper) per la selezione delle modalità master, slave o Cable Select sono generalmente stampati sull’etichetta del drive 23 - Un cavo IDE con connettori idonei per la modalità “cable select”, con colorazione differenziata per distinguere fra master (nero), slave (grigio) e connessione motherboard (blu) IT administrator - Hardware 1.9.1.6 Distinguere i metodi di traduzione in modalità ECHS e LBA, e le relative differenze intercorrenti 1.9.1.5 Sapere quante unità disco sono supportate e le relative impostazioni di configurazione da BIOS 24 - Il BIOS prevede una schermata da cui è possibile effettuare il riconoscimento delle unità disco IDE dopo la loro installazione. Successivamente sarà necessario partizionarle e formattarle operando direttamente da Windows intermedia, di colore grigio, serve per il drive slave (figura 23). Contrariamente a quanto comunemente si crede, su una catena IDE il drive master non ha alcun “trattamento di riguardo” rispetto al drive slave. In effetti la stessa terminologia master/slave, che può suggerire una sorta di posizione privilegiata del primo, non viene dagli standard ufficiali ma dalla consuetudine invalsa. In realtà i due drive sono identificati tecnicamente come device 0 e device 1 e dal punto di vista delle priorità sono messi assolutamente sullo stesso piano dal controllore del canale che del resto, lo ricordiamo, non risiede a bordo dei drive ma sulla motherboard. La distinzione master-slave e tutte le questioni inerenti la corretta configurazione dei ruoli ovviamente scompaiono nel caso di drive S-ATA, in cui la connessione fra motherboard e drive è di tipo “punto-punto” e non esiste quindi la situazione in cui due drive si attestano su uno stesso cavo. Configurazione delle unità da BIOS In un tipico PC di qualche anno fa la motherboard integrava un doppio controller IDE; il sistema era quindi in grado di supportare due canali IDE, ognuno con due periferiche collegate, per un totale massimo di quattro unità di memoria di massa. Calcolando che un hard disk è sempre presente ed è difficile fare a meno di un lettore CD/DVD o masterizzatore, si conclude che generalmente le posizioni ancora libere per eventuali espansioni in questo genere di PC erano soltanto due. Per installare un numero superiore di drive PATA non restava che acquistare una scheda controller addizionale, da installare su bus PCI. Modelli più moderni di motherboard e di PC hanno introdotto la tecnologia S-ATA che in questa fase sta ancora affiancando la tecnologia P-ATA. Spesso quindi ci si trova di fronte a uno o due connettori P-ATA e a tre o quattro connettori S-ATA, per un totale di 6-8 unità disco collegabili al sistema. Questo per quanto riguarda il numero di unità fisiche. Se però si tiene conto del fatto che su ogni unità può essere creato un massimo di 4 partizioni, una delle quali, eventualmente, può essere una partizione “estesa” contenente un certo numero di unità disco logiche, si vede che il numero totale di unità disco (intese come file system indipendenti) che potrebbero essere creati può essere anche, in casi limite, di alcune decine. Tuttavia Windows dispone al massimo di 26 lettere per identificare le memorie di massa (di cui le prime due, A e B, sono riservate per i floppy) e bisogna prevederne almeno una libera per avere la possibilità di gestire eventuali pen drive flash USB o dischi esterni. È quindi consigliabile non frammentare più del necessario i dischi in partizioni e unità logiche, trovando il giusto compromesso caso per caso. 24 PC Open 104 Settembre 2007 Lezione 6 Il problema non esiste con Linux, dove le unità disco non sono enumerate mediante le lettere dell’alfabeto, ma “agganciate” (in gergo: montate) ad apposite directory del file system. Sempre riferendoci al caso più diffuso, quello di motherboard con controller IDE di tipo P-ATA, il BIOS prevede una schermata di riconoscimento e configurazione delle unità disco fisiche (hard disk o unità ottiche) installate nel sistema (figura 24). Differenze tra ECHS e LBA All’inizio di questa puntata abbiamo presentato la logica di indirizzamento più “classica” utilizzata in passato dalle unità hard disk. Il sistema basato sulle tre “coordinate” (cylinderhead-sector: CHS) è detto “geometrico” ed è il più semplice da gestire per l’elettronica di controllo del disco. Sfortunatamente, come abbiamo già accennato nella V puntata, questo sistema, sotto il controllo del BIOS e abbinato allo standard IDE per l’interfacciamento di unità disco, è stato anche la causa di una serie di restrizioni di capacità che hanno afflitto i proprietari di PC impedendo, per molti anni, di espandere oltre un certo limite la capacità della memoria di massa installata, a meno di non effettuare un upgrade piuttosto radicale di BIOS, controller o motherboard. Ricordiamo infatti che l’IDE può tecnicamente indirizzare 65.536 cilindri, 16 testine, 255 settori per traccia. Il BIOS, dal canto suo, può indirizzare 1.024 cilindri, 256 testine, 63 settori per traccia. Tecnologia 16 256 256 63 Massima capacità indirizzabile 128 Gbyte 7.88 Gbyte 16 63 504 Mbyte Cilindri Testine 65.536 IDE 1.024 BIOS Combinazione delle 1.024 restrizioni di IDE e BIOS Settori/ cilindro Questi limiti valgono qualunque sia la geometria del disco fisicamente impiegato. Inoltre, poiché il BIOS deve comunicare con il disco attraverso il controller IDE, per ognuno dei tre parametri deve prevalere la restrizione più severa “incontrata” lungo la “strada”. La conseguenza è che a causa di queste limitazioni concomitanti, in assenza di accorgimenti particolari, su un sistema IDE gestito dal BIOS di un PC con il sistema delle coordinate geometriche è possibile indirizzare, per un hard disk, al massimo 1.024 cilindri (limite dovuto al BIOS), ognuno con 16 testine (limite dovuto a IDE), il che corrisponde a 16x1.024=16.384 tracce, su ognuna delle quali è possibile indirizzare al massimo 63 settori (limite dovuto al BIOS). Il numero massimo totale di settori indirizzabili è quindi pari a 1.032.192; poiché ogni settore contiene 512 bytes, la capacità massima indirizzabile è quindi di 512x1.032.192=528.482.304 bytes, poco più di mezzo Gbyte. Tradizionalmente, questo valore soglia viene spesso indicato come 528 megabytes, ma poiché, a rigore, un Megabyte è pari a 220 bytes (1.048.576 bytes), in realtà si dovrebbe, più propriamente parlare di (circa) 528 “milioni” di bytes, oppure (esattamente) di 504 Megabytes. Quando iniziarono a comparire dischi di capacità effettivamente prossima ai 504 Megabytes, apparve subito chiaro che due delle tre limitazioni sopra elencate erano dovute al BIOS, e potevano essere agevolmente risolte ammodernandolo. Il primo passo fu Lezione 6 Esempio ECHS Anche molto prima di raggiungere il limite massimo di 504 MB, poteva capitare che un’unità disco, con una capacità teoricamente gestibile da BIOS (per esempio: 2 Gbytes) avesse una geometria che non rispettava le restrizioni concernenti i range standard di numerazione per uno o più parametri di indirizzamento. In questi casi, versioni recenti di BIOS erano in grado di simulare una geometria del disco diversa, effettuando di fatto una “conversione di coordinate” aritmetica fra la geometria effettivamente usata dal disco (incompatibile, per almeno uno dei tre parametri, con i limiti BIOS) e quella virtuale, fatta rientrare nei limiti, presentata al sistema operativo. Questa modalità è definita Extended CHS, o ECHS. Per esempio, un disco con 2.048 cilindri, 6 testine e 63 settori per traccia (circa 390 MB) rientra abbondantemente nei limiti assoluti di capacità, ma ha un numero di cilindri eccessivo. Un BIOS con funzionalità ECHS può quindi decidere di farlo figurare come se avesse 1.024 cilindri, 12 testine e 63 settori per traccia (capacità risultante uguale), risolvendo il problema. quello di svincolare i parametri geometrici CHS utilizzati dal sistema operativo nelle sue richieste al BIOS dai parametri geometrici effettivamente corrispondenti dalla struttura fisica del disco. Si partì dall’osservazione che nessuna unità disco in circolazione ha mai contenuto gruppi di 128 dischi (e quindi 256 testine): nei normali dischi PC, ben di rado si superano i 5 dischi. L’indirizzamento del BIOS che consentiva di specificare 256 testine era quindi perfino eccessivo per le necessità reali. Al contrario, gli altri due limiti, quello di 63 settori per traccia e quello di 1.024 cilindri, apparivano più restrittivi e infatti sono stati raggiunti per primi (e più presto di quanto ci si aspettasse) a causa del rapidissimo aumento della densità superficiale di registrazione messo a segno dalla tecnologia degli hard disk. Se la densità superficiale aumenta, sulla superficie di uno stesso disco possono esservi più tracce e su una traccia possono esservi più settori. Questo ha portato, nel sistema geometrico CHS, a saturare gli indici C e S molto prima dell’indice H. Con appositi calcoli, BIOS e IDE iniziarono così a gestire la traduzione di un immaginario e poco realistico indirizzamento 1.024x256x63 nell’effettivo indirizzamento usato internamente dal disco: per esempio, un più realistico 4.096x8x504 (4.096 cilindri, 4 dischi/8 facce, 504 settori per traccia). Questa “reinterpretazione” dell’indirizzamento geometrico CHS (si veda l’esempio nel box) ha consentito almeno di sfruttare pienamente le capacità del BIOS, innalzando il nuovo limite a 1.024x256x63x512=8.455.716.864 bytes (circa 8,4 miliardi di bytes, più esattamente 7,875 gigabytes) guadagnando ancora qualche anno. Tuttavia il ritmo di aumento della capacità dei dischi fissi (un raddoppio ogni 18 mesi circa) ha reso restrittivo anche questo limite nel giro di pochi anni. Anche con l’indirizzamento con geometria “virtuale” appena descritto, infatti, i limiti di indirizzamento del BIOS, che complessivamente usava 24 bit per l’indirizzamento (10 bit per i 1.024 cilindri + 8 bit per le 256 testine + 6 bit per i 63 settori per traccia) costituivano il collo di bottiglia. Infatti, nell’IDE i settori sono indirizzati usando complessivamente 28 bit (16 per i cilindri + 4 per le testine + 8 per i settori), contro i 24 bit del BIOS. Que- IT administrator - Hardware sto significa che con i 4 bit in più usati dall’IDE, esso può indirizzare dischi 16 volte più grandi (24=16) di quelli indirizzabili dal BIOS. La piena capacità indirizzabile dall’IDE risulta infatti essere di 65.536 cilindri x 16 testine x 255 settori x 512 bytes = 136.902.082.560 bytes, ossia circa 137 miliardi di bytes (esattamente 127.5 gigabytes, poiché 1 gigabyte=230 bytes). Per poter sfruttare tutti i 28 bit supportati dall’IDE arrivando a gestire dischi da 137 miliardi di bytes (impropriamente indicati, per brevità, 137 GB), si procedette a una ulteriore e più profonda revisione del sistema di indirizzamento del BIOS, in cui fu definitivamente superato il concetto di indirizzamento geometrico. Si passò infatti a un più semplice schema di numerazione “piatta” detto LBA (Logical Block Addressing), in cui non si fa altro che numerare in modo progressivo tutti i settori del disco, da 0 a 228, ignorando completamente su quale cilindro o testina essi si trovino. Il limite dei 137 miliardi di bytes (128 gigabytes) non ha costituito un grave problema per diversi anni, ma già a partire dal 2002-2003 hanno fatto la loro comparsa i primi dischi da 160 GB o più, riaprendo la “crisi” e costringendo a correre ai ripari. Rimossi i limiti del BIOS, superato il concetto di indirizzamento CHS geometrico, aggiornato il BIOS per usare un indirizzamento a 28 bit, questa volta era stato davvero raggiunto il limite intrinseco dell’indirizzamento a 28 bit dell’IDE. Per andare oltre, quindi, è stato necessario introdurre una revisione dello standard IDE che aumentasse il numero di bit disponibili. Questa operazione fu compiuta con il lancio dello standard ATA-6, in cui, con una espansione quasi brutale dello spazio di indirizzamento, l’LBA fu portato da 28 bit a ben 48 bit, aumentando di oltre 1 milione di volte la capacità massima dei dischi utilizzabili (da 128 gigabyte a ben 134.217.728 gigabyte!). Questo dovrebbe allontanare di molti anni il momento in cui servirà una nuova revisione dello standard! Volendo azzardare una previsione di quando ciò accadrà, possiamo considerare che i dischi raddoppiano di capacità ogni 18-24 mesi circa, e che il disco IDE più grande oggi disponibile ha 750 GB di capacità. Per mandare in crisi l’LBA 48 occorre quindi che i dischi diventino circa 180.000 volte più grandi. Se i ritmi attuali di crescita si manterranno invariati, la crisi dovrebbe verificarsi entro 25-35 anni, fra il 2032 e il 2042. Staremo a vedere. La formattazione e il partizionamento Quando una memoria di massa magnetica o ottica viene impiegata per scrivere dati, come abbiamo già detto questi non sono scritti semplicemente in sequenza, ma sono raccolti in settori di dimensione fissa (eventualmente un settore può restare parzialmente vuoto se non ci sono sufficienti dati per occuparlo interamente, ma la sua dimensione rimane comunque fissa). La suddivisione in settori ha lo scopo di facilitare la gestione delle operazioni di lettura/scrittura dati da parte del controller, che si trova a gestire quantità fisse di dati e può quindi essere organizzato con un buffer di lettura/scrittura di dimensioni conformi a quelle di un settore (o di un cluster di un certo numero prefissato di settori). La suddivisione in settori, inoltre, consente una più facile gestione degli errori. Ogni settore è provvisto di una certa quantità di spazio in cui il controller può scrivere informazioni di controllo calcolate a partire dai dati contenuti nel settore stesso, come codici a ridondanza ciclica (CRC) o bit di parità. Durante la lettura il controller legge, PC Open 105 Settembre 2007 1.9.1.7 Comprendere l’accezione dei termini: formattazione a basso livello, partizionamento, formattazione ad alto livello IT administrator - Hardware 1.9.1.8 Essere al corrente delle differenze tecnologiche fra standard, quali: CD+/-R, CD+/-RW, DVD+/-R, DVD+/-RW, doppio strato [double layer], raggio laser blu [blue ray]. insieme ai dati del settore, anche tali informazioni, che usa per verificare se i dati letti sono corretti e integri. In caso venga riscontrata una discrepanza fra il CRC calcolato sui dati appena letti e il CRC che accompagna il settore, precedentemente calcolato sui suoi dati e scritto su disco, si potrà concludere che si è verificata un’alterazione o dei dati o del CRC stesso (non è possibile dire a quale dei due). Di conseguenza il controller tenterà una o più volte di effettuare una rilettura dei dati, magari dopo una ricalibrazione della testina o un suo riposizionamento sulla traccia. In caso di reiterato fallimento si concluderà che l’errore è irrecuperabile e si segnalerà errore, ma, questo è l’aspetto fondamentale, l’errore si riferisce solo alla porzione di dati contenuta nel settore la cui lettura è fallita. In altre parole, se un file di 10 Mbyte fosse scritto senza la suddivisione in settori e si verificasse un errore, sarebbe impossibile localizzare tale errore con precisione e si dovrebbe assumere che il danno ai dati si possa trovare ovunque nel file. Grazie alla ripartizione in settori, invece, lo stesso file risulta scritto su disco in circa 20.000 settori di 512 byte ciascuno. Se si verifica un errore in lettura su uno di questi settori, si potrà circoscrivere esattamente la regione del file interessata dall’errore: essendo coinvolto solo un settore su 20.000, si tratterà dello 0,005% del contenuto del file. Il rimanente 99.995% viene identificato come corretto. Per poter utilizzare un disco con la citata suddivisione in settori occorre che questi siano prima preparati scrivendoli (vuoti) sulla superficie del disco. Nel caso particolare degli hard disk e dei floppy disk, questa operazione viene detta formattazione a basso livello per distinguerla dalla formattazione ad alto livello che scrive le strutture dati specifiche del tipo di file system scelto per organizzare i dati sul disco stesso (nomi di file, directory, permessi di accesso). Per i floppy disk la formattazione a basso livello è l’operazione di formattazione che viene comunemente effettuata dall’utente (sui floppy disk in ambito PC si usa un solo tipo di file system, per cui la formattazione ad alto livello può essere considerata contestuale a quella a basso livello). Alcune marche di floppy disk, per far risparmiare tempo all’utente, offrono dischetti già formattati. Per gli hard disk la formattazione a basso livello, che si occupa fra l’altro di registrare sul disco speciali indicatori usati dalla testina di lettura/scrittura per il riconoscimento delle tracce, viene sempre effettuata in fabbrica. Un hard disk nuovo di zecca quindi è in realtà già suddiviso in settori e predisposto per la scrittura di dati; non rimane che partizionarlo e formattarlo ad alto livello. Sottolineiamo, tuttavia, che la formattazione a basso livello è un’operazione dal cui successo dipende in modo critico il buon funzionamento dell’unità e non dovrebbe mai essere ripetuta dall’utente a meno che non si siano verificati gravi e ripetuti inconvenienti in lettura o scrittura. Anche in questi casi, inoltre, va detto che se la superficie magnetica del disco è danneggiata o qualche altro componente è difettoso è poco probabile che una riformattazione a basso livello riesca a cancellare completamente i sintomi del malfunzionamento. Il minimo che ci si può aspettare è che alcuni settori vengano classificati come difettosi, ma è anche possibile che la formattazione a basso livello non riesca affatto. In questo caso, anziché insistere con i tentativi di formattazione a basso livello, è decisamente preferibile sostituire il disco. La formattazione a basso livello di un hard disk, nei rari casi in cui può aver senso tentarla, è un’operazione che si può effettuare da BIOS (per i BIOS che PC Open 106 Settembre 2007 Lezione 6 la supportano) oppure usando una utility fornita dal produttore del disco. Dopo la creazione dei settori il secondo passo logico consiste nel partizionamento del disco, di cui abbiamo già parlato. Tale operazione è necessaria anche nel caso in cui si voglia semplicemente creare un’unica partizione grande quanto tutto il disco. Il suo effetto è quello di scrivere una “partition table” sui settori di un’area specifica del disco. Una volta create una o più partizioni, queste devono poi essere formattate con il file system desiderato (per sistemi PC, FAT16, FAT32 o NTFS; FAT16, seppure leggermente più efficiente nello sfruttamento del disco in caso di file piccoli, è ormai completamente caduto in disuso per le sue eccessive restrizioni (non può gestire dischi né file più grandi di 2 GB); anche FAT32 è usato ormai raramente per le restrizioni dovute a criteri di progetto (la massima dimensione di un file è di 4 GB: questo può essere un problema in applicazioni di video recording) oppure alle sue imperfette implementazioni nei vari sistemi operativi Windows della serie 95/98/ME (Scandisk e Format soffrivano di limitazioni che impedivano di usare pienamente le potenzialità di FAT32). Nessun problema invece (almeno per il momento) con NTFS, la cui attuale implementazione può gestire dischi da 256 TB e file lunghi fino a 16 TB. Dal canto suo Linux, oltre a essere compatibile con i file system di Windows, dispone anche dei “propri” file system nativi fra cui scegliere: ext2, ext3, reiserfs, e così via. Alcuni di questi file system sono di tipo “journaling” ossia mantengono un registro sequenziale delle operazioni di scrittura eseguite, utile per eventuali azioni di ripristino in caso di inaspettata interruzione dell’alimentazione. I dischi ottici, strutture e differenze I numerosi tipi di formato fisico e logico esistenti nel campo delle memorie ottiche sono la conseguenza di un processo evolutivo tendente ad aumentare la capacità di registrazione e ad aprire nuove possibilità, come la scrivibilità e riscrivibilità dei supporti. Il primo dei formati interessanti per un utilizzo informatico, il CD-ROM, è una particolare modalità di organizzazione dei dati sulla superficie di un supporto uguale a quello impiegato nei normali CD Audio. La famiglia di standard relativi ai Compact Disc è stata tradizionalmente pubblicata sotto forma di volumi identificati da un colore. Il primo formato, il CD Audio, è specificato nel cosiddetto Red Book. I dischi hanno un diametro di 12 cm; la distanza inter-traccia (detta anche pitch) è di 1,6 micron e il laser usato per la lettura ha una lunghezza d’onda di 780 nanometri (un nanometro è un milionesimo di millimetro). I bit sono registrati sotto forma di microscopiche “buche” (pit) la cui lunghezza lungo la traccia varia, a seconda del valore del bit, da poco meno di un micron a qualche micron (un micron è un millesimo di millimetro). I CD ROM furono progettati per contenere 74 minuti di musica campionata a 16 bit/44.1 KHz in stereo, con una capacità di 650 MB. La lettura avviene a velocità lineare costante e non a velocità angolare costante, il che significa che il motore di un lettore di CD Audio deve rallentare o accelerare a seconda che venga letta la regione centrale o periferica del disco. Successivamente fecero la loro comparsa CD registrabili con capacità superiori: per esempio i modelli da 80 minuti con una capacità equivalente a 700 MB. Il CD-ROM è specificato nello Yellow Book, che descrive le modalità d’impiego e di organizzazione logica delle informazioni sul disco per l’impiego in ambito Lezione 6 dati. Le caratteristiche fisiche e ottiche del supporto tuttavia rimangono analoghe a quelle del CD Audio. La specifica originale del file system per i CD ROM è contenuta nello standard ISO 9660. Successive evoluzioni di questo standard hanno introdotto il supporto per nomi di file lunghi (Joliet), per la registrazione di informazioni su permessi d’accesso, proprietà del file, link simbolici e una maggiore profondità per le gerarchie di directory (Rock Ridge) e il supporto per consentire di avviare il PC da CD-ROM anziché da hard disk (El Torito). Una significativa innovazione consistette nell’introduzione, nel 1988, del formato CD-R (CD Recordable) che permette di scrivere su un CD (ma non di riscriverlo con altri dati, se non marcando come cancellati i dati già scritti e consumando altra capacità). Alcuni anni dopo fu la volta del CD-RW, che consente anche di cancellare e riscrivere il disco in tutto o in parte; con l’introduzione del file system UDF (e dei relativi driver capaci di supportare la scrittura “a pacchetti” anziché tutto un disco per volta o una traccia per volta) diventò possibile vedere un CD-RW alla stregua di un hard disk da 650 MB con supporto rimovibile. Una seria limitazione riguardava però il numero massimo di cancellazioni e riscritture supportate: soltanto 1.000. Gli standard CD-R e CD-RW sono specificati nel cosiddetto Orange Book. I supporti vuoti per CD-R e CD-RW sono prodotti preincidendo una traccia di riferimento a spirale. Viene poi applicata una pellicola di speciale sostanza fotosensibile su cui il laser di scrittura può “bruciare”, in modo irreversibile, piccole regioni, creando dei pit riconoscibili (nel CD-R), oppure a cui il laser di scrittura può far cambiare stato (in modo reversibile) creando regioni il cui indice di riflessione della luce è leggermente diverso da quello standard. IT administrator - Hardware 25 commerciale dei “laser disc” (grossi dischi ottici da 30 cm registrati in analogico) suggerì di contenere le dimensioni del disco e di utilizzare una tecnologia digitale: il risultato fu il DVD (Digital Versatile Disc). Molto opportunamente si decise di mantenere le medesime dimensioni fisiche di un CD: questo avrebbe poi permesso di realizzare drive universali, in grado di trattare indifferentemente CD e DVD. Il primo tipo di DVD 26 27 introdotto aveva una capacità di 4.7 GB. A differenza di un CD, però, per incrementare la capacità fino a circa 9 GB un DVD può contenere anche due strati (si parla in questo caso di DVD Dual Layer, DVD-DL o DVD-9). La lettura del secondo strato può avvenire cambiando la focalizzazione del laser, un processo che può richiedere un breve tempo di ricalibrazione; durante la riproduzione di contenuti video si può quindi assistere a una breve pausa, del tutto fisiologica, quando si verifica questo passaggio. Esistono anche DVD a doppia faccia, assai meno diffusi (anche in questo caso nelle varianti a singolo e doppio strato, con capacità rispettivamente di circa 10 e circa 18 GB). Per registrare una maggior quantità di informazioni sul disco, il DVD impiega tracce più ravvicinate (0.74 micron) e pit di dimensione più che dimezzata rispetto a quanto avviene su un CD. La velocità fisica di rotazione del disco nei normali lettori DVD video è inoltre tripla rispetto a quella dei CD. Il risultato è che la velocità 1x di un DVD genera un flusso dati 8-9 volte più intenso (oltre 1 Mbyte/s) di quello generato da un CD-Audio 1x. L’aumento della velocità di lettura e scrittura Sia per i CD-R sia per i CD-RW un aspetto molto importante che ha per anni stimolato un vivace progresso tecnologico è stato quello della massima velocità alla quale i supporti potevano essere scritti. La difficoltà riguarda il fatto che più velocemente avviene la scrittura più è breve il tempo a disposizione del laser per creare i pit lasciando una traccia chiara e ben riconoscibile in fase di lettura. Nelle tecnologie CD il bit rate tradizionalmente si misura come multiplo del bit rate standard in modalità audio (circa 150 Kbyte/secondo). Una velocità 2x equivale quindi a 300 Kbyte/ s, 4x a 600 Kbyte/s e così via. Per i CD-R si è arrivati a velocità di scrittura 52x: un disco può quindi essere scritto a una velocità 52 volte superiore a quella alla quale verrebbe letto (se si trattasse un CD Audio) da un lettore musicale. Per i CD-RW, il cui processo fisico di scrittura è più delicato, si è arrivati a una velocità di “appena” 32x. La dinastia dei formati CD non finisce qui – sono comparsi anche VideoCD, PhotoCD, Super Audio CD e altri formati ancora – ma i più diffusi e noti, e i più “universali” dal punto di vista applicativo, rimangono quelli citati. Il secondo passo evolutivo si ebbe quando si decise di progettare uno standard per dischi ottici capaci di contenere contenuti video anziché “semplicemente” musica. Anche stavolta, insomma, la spinta verso il nuovo standard non veniva dal mondo della microinformatica, ma da quello dell’elettronica di consumo. Si desiderava sostituire l’obsoleta e scomoda videocassetta con un più moderno e pratico supporto digitale con la possibilità di accesso rapido ai contenuti; la scelta di passare dal nastro al disco fu quindi obbligata. La lezione appresa dopo lo scarso successo I due consorzi per la guerra dei formati DVD Una situazione un poco caotica venne a determinarsi quando arrivò il momento di progettare l’attesissima versione scrivibile (e riscrivibile) dei DVD. Furono proposti due diversi standard da due diverse associazioni di aziende. Da un lato il DVD Forum, su impulso di Pioneer, propose il formato DVD-R e successivamente il riscrivibile DVD-RW (figura 26), oltre a un formato DVD-RAM, scarsamente diffuso almeno in Europa, a cui abbiamo già accennato per le sue particolarità che fanno assomigliare la sua organizzazione dei dati più a quella di un hard disk che a quella di un CD o DVD. Dall’altro lato Philips e Sony, costituita la DVD Alliance, proposero i formati DVD+R e DVD+RW (figura 27). I formati DVD-R e DVD-RW proposti dal DVD Forum sono generalmente considerati maggiormente compatibili con i lettori DVD di elettronica di consumo meno recenti. Nella specifica degli standard DVD+R e DVD+RW si pose invece maggior enfasi sulle prestazioni e sull’eliminazione della necessità di “finalizzare” il disco al termine del processo di masterizzazione. Oggi tutti i masterizzatori sono in grado di supportare entrambe le famiglie di formati quindi il dilemma è assai meno importante che in passato, quando il rischio di investire sulla tecnologia “declinante” faceva evidentemente esitare gli acquirenti di masterizzatori e lettori. Successivamente vennero introdotti sul mercato i dischi registrabili e riscrivibili a doppio strato e ancora una volta si ripropose la contrapposizione fra gli standard del DVD Forum e quelli della DVD Alliance: DVD+R/+RW DL, DVD-R/-RW DL. La capacità dei supporti ottici scrivibili rimovibili arrivava così al suo PC Open 107 Settembre 2007 25 - Il DVD è il formato “successore” del CD. Densità e quindi capacità di registrazione sono aumentate di circa 8 volte. Sono state previste fin dall’inizio le modallità R e RW, anche se di fatto proposte, con lievi differenze, da due consorzi contrapposti 26 - Il logo DVD-RW del formato proposto dal DVD Forum, di cui fa parte ad esempio Pioneer 27 - Il logo del formato “rivale” DVD+RW promosso dalla DVD Alliance, in cui rientrano fra gli altri Philips e Sony IT administrator - Hardware 29 - Le cassette a nastro SLR possono arrivare fino a 200 GB di capacità e a un throughput di 32 Mbyte/s 28 - I logo del formato Blu-ray e quello dell’HDDVD a confronto. Questi due formati sono in lotta per la conquista del mercato dei media per l’alta definizione video. Il sistema Blue-Ray ha tecnicamente una capacità superiore ma risulta complessivamente più costoso dal punto di vista produttivo. La PlayStation 3 è di fatto il primo dispositivo con lettore Blue Ray incorporato a essere proposto a un costo abbordabile 30 - Il formato DLT può immagazzinare fino a 800 GB per cassetta e offre un throughput di 60 Mbyte/s. 31 - Con il formato LTO (Ultrium) si possono raggiungere capacità di 800 GB per cassetta e transfer rate di ben 120 MB/s. 1.9.2.2 Conoscere i jukebox. 1.9.2 Altri dispositivi magnetici. 1.9.2.1 SLR, DAT, DLT, ecc. 32 - Un jukebox Blu-ray da 400 dischi single layer, con un massimo di 6 drive e una capacità non compressa di circa 10 TB. 33 - Un jukebox HP StorageWorks EML E-Series può essere equipaggiato con un massimo di 16 drive e 505 cassette e raggiungere una capacità di ben 202 TB. nuovo massimo di circa 8.5 GB per disco. Naturalmente, dopo un certo tempo, anche in questo caso comparvero masterizzatori dual layer dual format in grado di togliere significato alla disputa fra DVD-Forum e DVD-Alliance. Nel campo delle memorie ot28 tiche si è registrata negli ultimi anni, una certa “effervescenza” legata al tentativo (sostanzialmente fallito) di rendere queste memorie nuovamente idonee, in campo informatico, a supportare attività di backup per hard disk la cui capacità è in perenne e vertiginosa crescita, nonché al tentativo (probabilmente riuscito) di proporre, nell’elettronica di consumo, un nuovo standard per la distribuzione di contenuti video ad alta definizione. I due nuovi formati sono l’HD-DVD e il Blu-ray (figura 28), che possono ospitare rispettivamente fino a 30 GB e fino a 50 GB su singolo disco. Entrambi utilizzano un laser blu-violetto a 405 nm (contro i 650 nm del laser a luce rossa usato nei DVD); le differenze di capacità dipendono da piccole differenze nell’apertura delle lenti e nella disposizione geometrica delle tracce e dei pit. Il formato HD-DVD enfatizza la compatibilità con il DVD a livello di produzione e d’uso, è previsto, per esempio, un tipo di disco combo con un lato HD-DVD e l’altro lato in formato DVD che consente a distributori e rivenditori di risparmiare riducendo le scorte di magazzino: lo stesso disco sarà utilizzabile (con risultati ottimali) sia da clienti dotati di lettore ad alta definizione sia da clienti in possesso di normali lettori DVD. La produzione degli HD-DVD può avvenire, con un modesto investimento per “upgrade”, sulle stesse linee usate per i normali DVD. Il Blu-ray punta maggiormente sulle prestazioni, con una capacità molto maggiore (50 GB anziché 30 GB), che permette di memorizzare fino a un massimo di 9 ore di video ad alta definizione, e un bit rate che può raggiungere i 54 Megabit/secondo. La contrapposizione fra i due formati si ripercuote anche sul mercato delle console per videogiochi, in cui la PlayStation 3 ha adottato un Bluray integrato, diventando anzi il primo lettore a costo abbordabile per questo formato video, mentre la Xbox360 ha offerto un lettore esterno HD-DVD. Sono comunque in arrivo lettori ibridi capaci di leggere sia Blu-ray sia HD-DVD ed è lecito aspettarsi che facciano successivamente la loro comparsa anche masterizzatori dual standard. I dispositivi magnetici ideali per il backup Quando si parla di memorie di massa magnetiche il pensiero va istintivamente agli hard disk; tuttavia per le applicazioni di backup, in cui un accesso sequenziale in scrittura è accettabile mentre contano molto la velocità di scrittura, l’affidabilità, la durata e il basso costo, è ancora molto diffuso l’impiego di drive a nastro magnetico. Questi dispositivi funzionano con cassette di nastro che possono contenere, a seconda dei formati, anche decine o centinaia di GB. Fatto molto importante, la velocità di scrittura può raggiungere e in qualche caso superare la velocità degli hard disk, rendendo veloce il backup. Il restore delle informazioni invece è meno rapido perché richiede di localizzare sul nastro il punto d’inizio del file desiderato e questo richiede un riavvolgimento più o meno lungo della bobina contenuta nella cassetta. Fra i formati di cassette a nastro ricordiamo • il formato SLR (Scalable Linear Recording) (Figura 29), con capacità fino a 200 GB e transfer rate fino PC Open 108 Settembre 2007 Lezione 6 29 30 31 a 32 MB/s; • il formato LTO (Linear Tape-Open) (Figura 31), con capacità fino a 800 GB e transfer rate di 120 MB/s; • il formato DLT (Digital Linear Tape) (Figura 30), che arriva a 800 GB per cassetta con transfer rate di 60 MB/s; • il formato DAT (Digital Audio Tape), originariamente nato per applicazioni audio digitali, con capacità variabili in funzione della lunghezza del nastro; può arrivare a 800 GB di capacità e 120 MB/s di transfer rate. Tutti i sistemi di backup a nastro adottano compressione dati per aumentare la capacità effettiva; il valore di capacità dichiarato solitamente assumendo convenzionalmente che la compressione riesca a raggiungere un fattore 50%. L’effettivo fattore di compressione raggiungibile, in realtà, dipende dalla natura dei dati trattati. Per un corretto confronto è necessario quindi esaminare i dati di capacità “nativa” (al netto della compressione) che il produttore generalmente dichiara nella scheda tecnica. I jukebox per esigenze aziendali Anche se le capacità dei sistemi a nastro possono sembrare soddisfacenti per effettuare il backup di un singolo PC, non lo sono affatto se lo scopo è quello di assicurare il backup di tutte le macchine della rete aziendale. In questo caso è necessario procurarsi sistemi in grado di trattare decine di terabyte di capacità. La soluzione è rappresentata dai cosiddetti Jukebox, macchine nelle quali un sistema robotizzato gestisce automaticamente un archivio di decine o centinaia di dischi ottici (o di cassette di nastro magnetico), inserendoli ed estraendoli automaticamente dal drive, offrendo una capacità aggregata pari alla somma di quella dei singoli supporti utilizzati. Così, per esempio, un jukebox basato su tecnologia Blue-Ray da 50 GB per disco che contenga circa 32 700 dischi potrà arri33 vare a circa 30 TB di spazio di backup (Figura 32). Un jukebox basato su circa 500 nastri LTO (Figura 33) potrà raggiungere 200 TB. IT administrator - Hardware Materiale didattico progettato per EUCIP IT Administrator segnalato da AICA Modulo 1 - Hardware “AICA, Licenziataria esclusiva in Italia del programma EUCIP (European Certification of Informatics Professionals) riconosce che il materiale didattico segnalato è strutturato in modo coerente con l’organizzazione dei contenuti prevista dai documenti EUCIP di riferimento. Di conseguenza AICA autorizza sul presente materiale didattico l’uso dei marchi EUCIP (registrato dal CEPIS Concil of European Professional Informatics Societies) ed AICA protetti dalle leggi vigenti.” 1.10 Dispositivi di visualizzazione Fig. 1 - Le librerie DirectX, di cui sono spesso disponibili gli aggiornamenti sul sito Microsoft, comprendono le liberie grafiche utilizzate per generare le immagini a video Fig. 2 - L’effetto moiré è uno dei più comuni problemi di aberrazione visiva che può capitare con un monitor (specialmente CRT). Si tratta di una figura d’interferenza che a seconda dei casi può provocare l’alterazione di luminanza e crominanza, spesso con bizzarre forme geometriche. Si verifica soprattutto quando la risoluzione del monitor, o del sensore video usato per una ripresa, è inferiore al valore richiesto dall’immagine o dai particolari presenti nella scena e viene enfatizzato da disallineamenti fra i motivi prevalenti nell’immagine e le strutture geometriche dei pixel dello schermo Lezione 7 A scuola con PC Open I monitor e le schede grafiche Dai monitor agli adattatori grafici, come funzionano PDF DEL CORSO NEL DVD i componenti e le periferiche che permettono di vedere ciò che viene prodotto sul computer. Avanzamenti tecnologici e miglioramenti nelle caratteristiche tecniche dalle origini ai giorni nostri di Marco Mussini intuitivo riconoscere che anche il più potente e perfezionato computer non avrebbe praticamente alcuna utilità se, oltre a ricevere informazioni dall’esterno, elaborarle alla massima velocità senza errori ed immagazzinare dati nella memoria di massa, non possedesse anche la capacità di fornire in uscita (output) delle risposte o delle segnalazioni che dipendano, secondo le regole fissate da un qualche algoritmo, dal proprio stato interno, dagli input ricevuti o da entrambi. I canali di output possono essere di vari tipi, a seconda dello standard di connettori e segnali e della natura dei dati scambiati: per esempio la rete (a cavo o wireless), le periferiche (fra cui, in particolare, le stampanti) collegate a porte USB, Firewire o Bluetooth, il sottosistema audio con i relativi altoparlanti, e così via. Per sistemi che prevedano interazione con un operatore umano, tuttavia, è immediata l’associazione fra il concetto di output e quello di visualizzazione. La forma di interazione uomo-macchina più pratica e al tempo stesso più potente, per la ricchezza di informazioni comunicabili e facilmente individuabili, è quella visiva (seppur generalmente corroborata dalla comunicazione sonora o vocale). Di questo canale di comunicazione si occupa una catena di appositi dispositivi hardware o software i quali collettivamente assolvono alla funzione di convertire dati, numeri e testi in immagini riconoscibili dall’operatore e presentati fisicamente su uno schermo. È I principali elementi di questa ca- 1 tena logica sono, percorrendola dal sistema operativo verso l’operatore: • le librerie grafiche (figura 1) • l’adattatore grafico (detto anche “scheda grafica”) • il monitor. Nel loro complesso, sistema operativo, software applicativo, librerie, adattatore e monitor producono immagini che dovrebbero avere caratteristiche ottimali da diversi punti di vista, fra cui ricordiamo • quello ottico: per non affaticare la vista occorrono nitidezza, assenza di sfarfallio, contrasto e luminosità né eccessivi né insufficienti, immagini di dimensione appropriata e una resa cromatica fedele e naturale con assenza di aberrazioni cromatiche (figura 2); 2 Calendario delle lezioni Lez. 1: la scheda madre e il BIOS Lez. 2: i processori Lez. 3: la RAM Lez. 4: bus e risorse di sistema Lez. 5: interfacce Lez. 6: memorie di massa Lez. 7: i monitor le le schede grafiche Lez. 8: le stampanti Lez. 9: hardware di rete Lez. 10: alimentatori e installazione nuovo hardware Lez. 11: risoluzione dei problemi PC Open 110 Ottobre 2007 • quello logico: la presentazione visiva delle informazioni deve essere organizzata secondo uno schema razionale e immediatamente comprensibile. Per esempio, una successione logica viene solitamente disposta secondo l’ordine abituale di lettura: per le lingue occidentali, da sinistra a destra e dall’alto in basso; • e perfino quello psico-ottico: i colori, i simboli, le differenze di grandezza sono tutti espedienti utilizzati per attrarre l’attenzione istintiva verso le informazioni più importanti. Se degli ultimi due aspetti si occupano principalmente sistema operativo, software applicativo e librerie grafiche, dell’ottimizzazione ottica si occupa- Lezione 7 IT administrator - Hardware no soprattutto la scheda grafica e il monitor. Iniziamo l’approfondimento proprio da quest’ultimo. Monitor 3 La funzione svolta da un monitor è evidentemente quella di trasformare in immagini i segnali elettrici ricevuti via cavo e di presentare queste immagini su uno schermo. Nonostante tutti i monitor, in ultima analisi, assolvano allo stesso compito, esistono macroscopiche differenze dovute alle diverse tecnologie costruttive, alla modalità di connessione, alla “definizione” dell’immagine, all’aspetto cromatico, al rapporto di contrasto, al “tempo di risposta” (per la sola tecnologia LCD) e così via. Le più comuni tipologie costruttive Le tecnologie costruttive dei monitor sono polarizzate su due approcci fondamentalmente diversi: • il sistema basato su tubo a raggi catodici (Cathode Rays Tube, CRT); • il sistema basato su retroilluminazione e pannello a cristalli liquidi (Liquid Crystal Display, LCD). La tecnologia CRT rappresenta l’estrema evoluzione di un concetto noto e sfruttato da decenni negli schermi radar, negli oscilloscopi e nei televisori prima in bianco/nero e poi a colori. Si basa sulla proprietà di un catodo (specie se riscaldato) di fungere da emettitore di un fascio di cariche elettriche negative (elettroni) le quali, per le leggi dell’elettromagnetismo, sono sensibili ai campi elettrostatici e magnetici. Questi campi possono essere quindi usati per muoverle, accelerarle e indirizzarle verso una determinata regione di uno schermo di vetro contro il quale collideranno. L’urto del fascio di elettroni (raggio catodico) con le sostanze (comunemente denominate fosfori) utilizzate per il trattamento superficiale della faccia interna dello schermo le rende luminescenti. La luminescenza perdura solo per un breve tempo; per sostenerla in modo permanente è necessario ripetere a intervalli regolari l’urto fra il raggio catodico e la regione interessata. Nei vecchi schermi radar e in certi oscilloscopi si usavano fosfori in grado di sostenere la luminescenza anche per diversi secondi dopo l’eccitazione. Questo in un televisore o in un monitor PC non sarebbe appropriato, perché per creare l’illusione dell’animazione è necessario che l’immagine si modifichi almeno 18-24 volte al secondo. In questo caso i fosfori usati sono scelti in modo da mantenere l’immagine solo per il tempo necessario (fra 1/18 e 1/24 di secondo circa) e decadere poi rapidamente verso il nero. Per generare più volte al secondo l’immagine, il raggio catodico (a volte definito anche pennello elettronico in questa sua applicazione al campo video) viene pilotato in modo tale da visitare tutti i punti di cui si compone lo schermo. Lo schermo viene percorso per righe, per esempio da sinistra a destra e dall’alto in basso; si dice Frequenza Orizzontale quella che caratterizza la visita di una singola riga di punti e Frequenza Verticale, o Frequenza di refresh, il numero di rigenerazioni complete dell’immagine per ogni secondo. Nel preciso istante in cui il raggio sta colpendo un determinato punto, l’elettronica di controllo, sotto l’effetto del segnale video, modula l’intensità del raggio stesso in modo tale da far apparire un punto più o meno luminoso. In questo modo è possibile comporre un’intera immagine monocromatica in base alla descrizione costituita dal segnale video (elettrico) ricevuto in ingresso, la cui intensità, istante per istante, rappresenta la luminosità del punto che in quell’istante viene interessato dal pennello elettronico; per questa ragione tale segnale è anche detto luminanza. Questo è il principio di funzionamento di uno schermo CRT di tipo monocromatico. In uno schermo CRT a colori, per formare l’immagine, non basta illuminare ciascun punto con l’intensità giusta: è necessario anche fare in modo che quel punto assuma una ben precisa colorazione. Per questo il sistema deve essere perfezionato nel seguente modo: • il segnale video deve trasportare, per ogni punto, sia l’informazione di luminanza sia quella relativa al colore (crominanza); nel più economico tipo di tecnologia analogica, i due segnali sono miscelati in modo tale da poter viaggiare insieme su un singolo cavo (si parla in tal caso di segnale videocomposito) ma al tempo stesso essere facilmente separabili da chi li riceve. In sistemi analogici più perfezionati, per ottenere una migliore qualità video, i segnali di luminanza e crominanza viaggiano separati (S-Video), mentre in sistemi analogici ancor più sofisticati si può suddividere il segnale in tre componenti (rosso, verde, blu: Red-Green-Blue, o RGB) portate da conduttori indipendenti, o addirittura adottare il sistema Component Video, in cui il segnale video è suddiviso in luminanza + due componenti di informazione cromatica (YUV). Una qualità video ancora maggiore è possibile con le connessioni digitali, DVI o HDMI, in cui la descrizione dell’immagine viaggia concettualmente sotto forma di numeri e non direttamente come segnale elettrico analogico modulato in ampiezza. • Ogni punto dello schermo deve potersi colorare di qualsiasi tonalità visibile e non semplicemente illuminarsi di un unico, determinato colore, a intensità modulabile. Essendo difficile o impossibile fabbricare un unico tipo di fosforo di cui si possano determinare sia la luminosità sia la tonalità agendo sul tipo di fascio elettronico incidente, si fa ricorso alla soluzione di decomporre la luce del punto, secondo il modello additivo, in tre componenti monocromatiche (rossa, verde e blu) emesse da tre elementi luminosi colorati. In questo modo lo schermo non è più costituito da una parete di vetro trattata uniformemente con fosfori, ma da un insieme rigidamente organizzato di gruppi di tre punti colorati. Un gruppo di tre punti è detto pixel e i singoli componenti sono detti subpixel. • Un singolo pennello elettronico (per la luminanza) non basta più; servono tre pennelli elettronici, ognuno dei quali dedicato a pilotare esclusivamente i subpixel di uno dei tre colori primari. Gli schermi CRT a colori differiscono per l’organizzazione geometrica dei subpixel (per esempio: tre cerchi disposti a triangolo o tre rettangoli disposti affiancati). Conseguentemente differiscono anche per la tecnica usata per guidare i pennelli elettronici in modo da farli collimare con i pixel di loro “competenza”: questo è normalmente fatto con una lamina metallica microforata (aperture mask), con i fori organizzati a “mosaico” e corrispondenti alle posizioni dei subpixel, oppure con un “pettine” di finissimi filamenti paralleli (aperture grille). Quest’ultimo sistema è adottato nei tubi Trinitron, nei quali è sempre previsto almeno un sottilissimo filo trasversale incaricato PC Open 111 Ottobre 2007 1.10.1 Monitor Fig. 3 - Applicazioni di produttività d’ufficio, software multimediali e soprattutto giochi beneficiano notevolmente degli schermi di grandi dimensioni. Il taglio da 24” permette anche di avere al tempo stesso una risoluzione Full HD ed una visione panoramica. (nella foto un BenQ FP241W) 1.10.1.1 Essere al corrente delle più comuni tipologie costruttive, quali: monitor a tubo catodico (CRT), schermi a cristalli liquidi (TFT), e dei relativi principi di funzionamento IT administrator - Hardware di mantenere equidistanti e perfettamente paralleli i filamenti verticali che altrimenti potrebbero deformarsi; il filo è riconoscibile sullo schermo, quando questo visualizza uno sfondo bianco, come una sottile linea orizzontale leggermente più scura. L’immagine visualizzata sui monitor Trinitron è inoltre sensibile agli scossoni orizzontali, che fanno brevemente vibrare i filamenti verticali provocando curiose oscillazioni di luminanza. Fig. 4 - Il principale problema dei monitor CRT è la notevole profondità, proporzionale fra l’altro alla diagonale dello schermo 4 Fig. 5 - Il Phosphor burn-out è l’effetto che si produce negli schermi CRT quando per lungo tempo sullo schermo compare sempre la stessa immagine. In seguito, infatti, resta una sorta di “ombra” dell’immagine passata, sovrimpressa a qualunque nuova immagine venga visualizzata. A seconda della gravità e della durata della sollecitazione, l’effetto può essere anche permanente. I programmi salva schermo, la cui immagine non è mai fissa, servono esattamente a prevenire questo effetto Fig. 6 - I più vecchi schermi CRT erano caratterizzati da una curvatura sferica, fonte di fastidiosi riflessi e di deformazioni dell’immagine, e da uno schermo a sfondo chiaro, scarsamente contrastato Fig. 7 - I primi schermi Trinitron si distinguevano dai CRT tradizionali per la curvatura cilindrica anziché sferica, che riduceva riflessi e aberrazioni geometriche Fig. 8 - Anche con la tecnologia CRT, dopo anni di evoluzione, sono stati realizzati degli schermi piatti Fig. 9 - Gli schermi LCD stanno sostituendo i monitor CRT in quasi tutte le applicazioni 5 I principali problemi dei monitor CRT sono costituiti dal peso (a causa della notevole quantità di vetro necessaria per costruire il robusto tubo catodico) e dall’ingombro in profondità (generalmente proporzionale alla dimensione in pollici dello schermo – figura 4), che comportano un aumento dei costi di fabbricazione, trasporto e stoccaggio che in ultima analisi fanno salire il prezzo di vendita, ma anche dal consumo elettrico e dal progressivo degrado di qualità dovuto a tre cause: la perdita di focalizzazione; la perdita di potere elettroluminescente dei fosfori (phosphor burn-out – figura 5) soprattutto nelle aree di schermo in cui compare per lunghi periodi sempre la 7 6 8 Lezione 7 stessa immagine; il decadimento dell’elettronica analogica di precisione deputata a gestire il pennello elettronico, con il risultato di sfarfallamenti, tremolii e deformazioni dell’immagine. Vi sono anche difficoltà costruttive per produrre schermi perfettamente piatti; considerando la natura puntiforme della sorgente del pennello elettronico, per avere un angolo di incidenza costante fra raggio catodico e fosfori idealmente lo schermo dovrebbe essere una calotta sferica. Effettivamente i primi televisori avevano schermi fortemente bombati (figura 6), ma questo aveva lo svantaggio di generare fastidiosi riflessi (inaccettabili su uno schermo utilizzato per ore per lavorare), oltre a non essere esteticamente desiderabile. Col tempo, e con l’evoluzione dell’elettronica di controllo che ha permesso di compensare gli effetti della geometria non ideale, gli schermi CRT hanno potuto diventare dapprima calotte cilindriche anziché sferiche (Trinitron – figura 7), meno inclini alla generazione di riflessi, poi calotte sferiche a curvatura fortemente ridotta, infine perfettamente piatti (figura 8). I produttori hanno lavorato anche sulla profondità dei monitor, accorciando notevolmente il cannone elettronico nei cosiddetti prodotti “short neck”; ciò comunque ha esasperato i problemi geometrici, al punto che angolo di incidenza del raggio catodico e distanza dal cannone elettronico dallo schermo subiscono in questi modelli notevolissime variazioni fra il centro e la periferia dell’immagine, costringendo a sofisticazioni ancora maggiori nell’elettronica di controllo per compensarle. Nei monitor a cristalli liquidi (Liquid Crystal Display, LCD) (figura 9) il principio di funzionamento è totalmente diverso. Anziché modulare all’origine subpixel per subpixel l’emissione di una sorgente luminosa, si fa ricorso a una sorgente luminosa costante di colore bianco (il sistema di retroilluminazione, permanentemente acceso) e si modula l’azione di una schiera di microfiltri organizzati a gruppi di tre (un gruppo per ogni pixel) che ne blocca in tutto o in parte ognuna delle tre componenti cromatiche primarie per ottenere il colore e l’intensità voluti (figura 10). Quando in un punto il gruppo di tre filtri è completamente aperto, localmente viene lasciata passare tutta la luce della retroilluminazione e di conseguenza quel punto appare bianco intenso; se i tre filtri sono totalmente chiusi, il punto appare nero (non perché all’origine non sia stata emessa luce per quel punto, ma perché la luce emessa è stata bloccata); se il tris di filtri è regolato in modo tale da lasciar passare una certa aliquota della componente rossa, verde e blu si otterrà un colore corrispondente alla miscelazione dei colori primari. Spetta all’elettronica di controllo comandare, per ogni pixel dello schermo, i tre filtri corrispondenti, in modo tale da rispecchiare fedelmente quanto richiesto dai segnali di luminanza e crominanza ricevuti per quel pixel. Per quanto riguarda la fonte luminosa, di solito si tratta di un sistema di lampade fluorescenti ultrapiatte e prismi diffusori disposti in modo tale da generare una luce uniforme su tutta la superficie dello schermo, ma ultimamente su schermi di fascia alta si sta diffondendo l’uso di una matrice di micro LED ad alta efficienza. Come decidere se scegliere un CRT o un LCD? Decenni di affinamento tecnologico hanno indiscutibilmente portato a CRT eccellenti specialmente sotto il profilo del contrasto, della risposta cromatica, della brillantezza dell’immagine e della velocità di risposta, tanto che in molte applicazioni di video e grafica professionale sono ancora oggi preferiti agli schermi LCD. Tuttavia per il mercato di massa (in par- 9 PC Open 112 Ottobre 2007 Lezione 7 10 ticolare per quello domestico o delle piccole attività professionali: Small Office-Home Office – SOHO) contano molto i difetti strutturali, ineliminabili, del CRT: un monitor CRT per computer, soprattutto di grandi dimensioni come un modello da 21”, può pesare anche 40 Kg, avere una profondità di 50 cm e consumare 250W di corrente. Per contro, uno schermo LCD delle stesse caratteristiche e risoluzione può pesare 10 kg, essere profondo 10 cm e consumare 100W di corrente. Anni fa il costo ancora elevato degli LCD ad alte dimensioni tratteneva molti potenziali acquirenti, ma oggi anche questo problema è di fatto superato: il differenziale di prezzo si è pressochè annullato in quasi tutte le fasce di dimensioni e risoluzione e la qualità video è in continuo miglioramento. Alla base di questa tendenza vi è senza dubbio il fatto che la tecnologia di produzione dei pannelli LCD presenta molte affinità con quella dei microchip: uno schermo LCD fabbricato nella diffusissima tecnologia TFT (Thin Film Transistor, transistor su pellicola) comprende almeno un transistor per ciascun subpixel. Questo significa che un comune schermo da 19”, 1.280x1.024 pixel, comprende 1.280x1.024x3=quasi 4 milioni di transistor. Concettualmente è come un grosso chip, con la differenza però che i transistor sono costruiti su una scala dimensionale molto maggiore: la superficie di un pannello LCD per PC è di diversi decimetri quadrati, mentre un microchip ha una superficie di pochi millimetri quadrati. Tuttavia il processo produttivo è simile e le tecniche per metterlo a punto anche, cosicché le dinamiche di aumento delle rese e di parallela riduzione dei costi sono abbastanza simili. Il problema più serio consiste nell’aumento delle rese produttive, giacché, a rigore, avere anche solo un transistor difettoso su un milione significa che ogni pannello LCD avrà probabilmente un paio di (sub)pixel difettosi visibili e dovrebbe essere svenduto come “fallato” o eliminato. Così facendo, però, il costo produttivo dei pannelli riusciti male graverebbe necessariamente sul prezzo di vendita di quelli perfetti e quindi vendibili. L’industria degli LCD ha inventato per questo la scappatoia delle norme ISO 13406-2, spesso indicate su brochure, volantini e data sheet di prodotto quasi fossero, tout court, 11 12 virtù positive (come invece effettivamente sono le certificazioni MPR II o la TCO 03, che fissano limiti, fra l’altro, alle emissioni elettromagnetiche nocive o ai consumi elettrici). Le norme ISO 13406-2 invece definiscono un certo IT administrator - Hardware numero di classi di qualità alle quali corrispondono determinati numeri massimi di pixel e subpixel difettosi, in rapporto alle dimensioni dello schermo. Sicuramente il fatto di stabilire una soglia massima è una garanzia per l’acquirente, ma il rovescio della medaglia sta nel fatto che la stessa soglia avalla formalmente come “fisiologica” o “normale” la presenza di un certo numero di difetti, così, in forza di questa dichiarazione preventiva del produttore, l’acquirente non potrà invocare il diritto alla riparazione in garanzia qualora li riscontrasse. Non a caso, sebbene la norma ISO preveda anche una classe “zero difetti”, i prodotti sul mercato sono quasi tutti omologati per la classe 2, che ammette un certo numero di pixel o subpixel permanentemente accesi (figura 10) o spenti (vedi tabella). Questo accorgimento ha consentito di non dover più scartare una gran quantità di pannelli imperfetti, ma di immetterli comunque sul mercato, ottenendo se non altro una riduzione dei prezzi finali. Va inoltre detto che per essere statisticamente certo di rientrare nei limiti della classe di certificazione ISO scelta, il produttore deve puntare a livelli di qualità che mediamente portino a un numero di difetti ben inferiore al massimo previsto da tale classe. Così, non di rado avviene che schermi che formalmente potrebbero avere 5-10 difetti, di fatto non ne abbiano alcuno (questo è anzi il caso più frequente, soprattutto con le marche più serie). Ultimamente comunque alcuni produttori e, in alcuni casi, perfino alcune catene di vendita, hanno proposto garanzie “zero pixel defect”, oppure sono comparsi modelli con certificazione ISO appartenente alla classe più “virtuosa”, che come già accennato prevede zero difetti. Singoli subpixel Pixel Pixel Classe costantemente costantemente difettosi (accesi o spenti) spenti accesi I 0 0 0 II 2 2 5 III 5 15 50 IV 50 150 500 I fattori determinanti ai fini della qualità d’immagine Entrando maggiormente nello specifico della valutazione della qualità d’immagine, ricordiamo che i principali parametri da considerare sono la risoluzione, la frequenza di refresh e la profondità di colore. La risoluzione di uno schermo dipende dalla quantità di punti (pixel) indipendentemente indirizzabili che esso comprende; maggiore è il numero di questi punti, maggiore è la quantità d’informazione (testi, finestre, grafici, icone, celle di foglio elettronico,…) che possono essere simultaneamente mostrati su quello schermo. Tuttavia il concetto di risoluzione non va ridotto a una mera “conta dei pixel”: il numero di pixel presenti ha grande importanza, ma va messo in relazione con le dimensioni dello schermo. A parità di dimensione dello schermo, tanto maggiore è il numero di pixel più è alta la risoluzione spaziale di quello schermo, che si misura in punti per pollice (dot per inch, o DPI). Se le dimensioni dello schermo crescono, è necessario che cresca parallelamente anche il numero di pixel che esso gestisce: se infatti questo numero restasse costante, evidentemente crescerebbero le dimensioni dei pixel, con una diminuzione della risoluzione spaziale. Per questo, sebbene di norma uno schermo da 17” e uno da 19” abbiano entrambi la stessa risoluzione PC Open 113 Ottobre 2007 Fig. 10 - Gli schermi piatti LCD utilizzano una fonte luminosa posteriore, costante e uniforme, di colore bianco, e regolano la quantità di luce da far passare per ogni subpixel dello schermo ad alto contrasto Tabella: La norma ISO 13406-2 sul numero massimo ammissibile di difetti negli schermi LCD (valori per milione di pixel). La stragrande maggioranza degli LCD in commercio appartiene alla classe II. In base a questa norma, per esempio, uno schermo da circa 2 Mpixel come un 1600x1200, in classe II, è considerato “normale” se ha fino a 10 subpixel difettosi, 4 pixel spenti e 4 pixel permanentemente accesi 1.10.1.2 Essere consapevoli dei fattori determinanti ai fini della qualità d’immagine, quali: risoluzione, frequenza di rinfresco [refresh rate], numero di colori rappresentabili Fig. 11/12 - Un guasto tipico dei soli schermi LCD consiste in singoli pixel o subpixel permanentemente accesi o permanentemente spenti IT administrator - Hardware Fig, 13 - Il dot pitch o pixel pitch è una misura della granularità della matrice di punti. Negli schermi con griglia di punti a shadow mask (in basso) è misurato come la distanza fra due subpixel dello stesso colore. In quelli di tipo Trinitron, o LCD, con subpixel affiancati (aperture grille), è misurato come la distanza fra due colonne vicine di subpixel dello stesso colore. Fig. 14 - Una palette di colori è un espediente per consumare meno memoria video potendo comunque attingere a un vasto repertorio di sfumature, di cui si ritaglia una “antologia” delle sole tonalità necessarie per la specifica immagine da visualizzare (1.280x1.024 pixel), osservandoli dalla stessa distanza lo schermo da 17” apparirà più nitido e dettagliato, perché i suoi pixel sono più piccoli. D’altra parte, un utilizzatore che non goda di una acuità visiva perfetta troverà più confortevole lo schermo da 19”, proprio per i suoi pixel più grandi. Non è quindi possibile dare una regola di scelta universalmente valida: in generale, dal punto di vista della produttività, è desiderabile sia disporre di molti pixel, per poter aprire molte finestre o visualizzare due pagine affiancate, sia avere un pannello di grandi dimensioni, per non sforzare la vista né doversi avvicinare al video. Purtroppo il prezzo di uno schermo che sia al tempo stesso grande (per esempio da 24” in su) e ad altissima risoluzione (da 1.920x1.200 in su) si mantiene ancora su livelli eccessivamente alti per farne un prodotto accessibile a un mercato di massa, onde per cui è necessario scendere a compromessi. Ricordiamo che la dimensione dei 13 pixel è misurata da un parametro detto dot pitch o pixel pitch (figura 13): esso nella maggior parte dei casi è compreso fra 0.25 mm e 0.30 mm. Questa distanza, a seconda del tipo di tecnologia (e in particolare a seconda della disposizione geometrica dei subpixel) può essere misurata fra i centri di due gruppi di subpixel oppure fra gli assi di due griglie verticali adiacenti, a seconda della tecnologia del monitor. Negli schermi CRT, e in misura molto minore anche negli schermi LCD, è importante il parametro della frequenza di refresh, detto anche frequenza verticale. Come già ricordato, uno schermo CRT deve ridisegnare l’intera immagine un certo numero di volte al secondo. Esiste innanzitutto un valore minimo (circa 24) al di sotto del quale l’occhio umano percepisce le animazioni non come movimenti continui, ma “a scatti”, ossia come successioni di fotogrammi discreti. Tuttavia se uno schermo CRT si limitasse a rinfrescare l’immagine, poniamo, 25 volte al secondo, subentrerebbe un secondo effetto di “sfarfallio” in quanto i fosfori dello schermo, dopo essere stati visitati dal pennello elettronico, non sono in grado di mantenere la luminescenza per un tempo sufficiente ad arrivare ancora luminosi fino al prossimo refresh: ben prima di tale successiva visita inizierebbe il decadimento della luminescenza, con il risultato che l’intero schermo apparirebbe debolmente lampeggiante. Non sarebbe una soluzione accettabile ricercare fosfori in grado di mantenere esageratamente a lungo la luminosità, in quanto, qualora la scena richieda effettivamente una transizione dal chiaro allo scuro, i fosfori reagirebbero con eccessivo ritardo e si creerebbero effetti scia non meno fastidiosi. Il compromesso necessario consiste nello scegliere fosfori la cui luminescenza decada sensibilmente già in breve tempo, diciamo entro 1/50 di secondo circa, ma al tempo stesso fare in modo che il pennello elettronico visiti ogni punto più di 50 volte al secondo. In questo modo, se necessario è possibile ottenere animazioni in cui entro il tempo di 1/24 di secondo si possa virare completamente dal chiaro allo scuro, e al tempo stesso la luminosità possa essere mantenu- PC Open 114 Ottobre 2007 Lezione 7 ta, se necessario, semplicemente grazie alla frequente visita del pennello elettronico. Inizialmente gli schermi CRT erano caratterizzati da frequenze di refresh di tipo “televisivo”, ossia 50 Hz con interallacciamento: con questo sistema non viene ridisegnata 50 volte al secondo l’intera immagine, bensì, alternativamente, la semiimmagine delle sole righe pari e quella delle sole righe dispari: ogni semiquadro viene così rinfrescato solo 25 volte al secondo, con problemi di tremolio d’immagine dovuti al decadimento della luminosità dei fosfori del semiquadro rinfrescato meno di recente. Questa scelta tecnica semplificava la fabbricazione dell’elettronica di controllo del monitor e della scheda grafica. Col tempo però la loro qualità è molto migliorata: dapprima è stato eliminato l’interallacciamento, poi la frequenza è salita notevolmente, prima su schermi piccoli e poi anche su quelli grandi. Sono inoltre stati introdotti degli standard per fissare livelli minimi di qualità che assicurino una visione non stancante e immagini di qualità (i cosiddetti standard VESA, dal nome della Video Electronics Standard Association che li ha proposti). La frequenza di refresh adeguata dipende dalle dimensioni dello schermo: più è grande lo schermo più, teoricamente, risulterebbe percepibile lo sfarfallio da refresh non abbastanza frequente. In nessun caso VESA considera accettabili frequenze di refresh inferiori a 72 Hertz. Da notare che negli schermi LCD il problema del decadimento della luminescenza dei fosfori semplicemente non esiste, in quanto la fonte luminosa (ovvero il sistema di lampade di retroilluminazione) è costantemente attiva: con questo tipo di schermi non sono tecnicamente possibili tremolii o sfarfallamenti. L’unico criterio di scelta per la frequenza di quadro è quindi quello di poter avere animazioni fluide. In teoria quindi, considerando i limiti percettivi dell’occhio umano, potrebbero bastare frequenze di quadro di 24 Hertz, tuttavia si preferisce avere comunque valori alti anche per contrastare il fenomeno dell’inerzia dei cristalli liquidi, che porta a tempi di risposta bassi. Pertanto anche sui pannelli LCD generalmente le frequenze di refresh sono comprese fra i 60 e i 75 Hertz. Un terzo aspetto che si intreccia con la questione della frequenza di refresh è quello della cosiddetta profondità di colore, ossia il numero di bit utilizzati per descrivere il colore di ciascun pixel, da cui dipende direttamente il numero di sfumature di colore rappresentabili sullo schermo. Per una maggiore fedeltà d’immagine sarebbe idealmente preferibile avere infinite sfumature possibili (modello di colore analogico). Questo però non è tecnicamente realizzabile con la tecnologia digitale, per cui ci si deve accontentare che il sistema supporti un certo numero di sfumature discrete. Se il numero di sfumature è sufficientemente alto, la differenza fra due livelli successivi di sfumatura diventa così tenue da non essere percepibile dall’occhio umano, cosicché, agli effetti pratici, il sistema sarebbe equiparabile a un sistema analogico, almeno per la maggior parte degli utilizzatori (la diatriba è analoga a quella del confronto fra i CD audio, digitali, e gli LP in vinile, analogici). Il problema sta nel fatto che per distinguere e trattare molte 14 sfumature occorre rappresentare i pixel con numeri sempre più precisi. Se ogni pixel potesse essere o bianco o nero, basterebbe 1 bit per pixel. Se ogni pixel potesse assumere un colore a scelta fra 8, basterebbero Lezione 7 15 IT administrator - Hardware Naturalmente il chip che fa da ponte fra RAM video e uscita VGA deve supportare entrambi i requisiti. Tale chip è detto RAMDAC (RAM Digital-to-Analog Converter, figura 15). Sono occorsi anni perché le schede grafiche e i monitor soddisfacessero ai requisiti minimi per supportare la modalità true color ad alta risoluzione e ad alta frequenza di refresh. Adattatori grafici 3 bit per pixel. Per disporre di una scelta maggiore di colori, occorre un numero crescente di bit per ogni pixel dello schermo. Un livello ritenuto sufficiente per la maggior parte degli impieghi è quello di 256 livelli di intensità di colore per ciascuno dei tre colori primari; questo dà luogo a 256x256x256=oltre 16 milioni di possibili sfumature discrete di colore, abbastanza per approssimare da vicino una gamma di colori continua, tant’è vero che questo tipo di sistema di colore è spesso definito “true color”. Poiché bastano 8 bit per memorizzare numeri interi a scelta fra 256 valori possibili, e i colori primari sono 3, occorrono 3x8=24 bit per pixel per trattare immagini “true color”. Ma per uno schermo ad alta risoluzione questo si traduce in un notevole fabbisogno di memoria: per esempio, uno schermo 1.024x768 in true color richiede 2.3 Mbytes di RAM video: un quantitativo che oggi non pone problemi di costo, ma 10-15 anni fa una scheda grafica con 1 Mbyte era già da considerarsi molto ben attrezzata, visto che nella stessa epoca il PC aveva magari un solo Mbyte anche per quanto riguardava la memoria centrale. Insomma, il true color ad alta risoluzione era impraticabile per ragioni di costo. Così, un espediente consisteva nello scegliere un sottoinsieme (detto “tavolozza”, o “palette”) di 256 colori fra i 16 milioni di colori possibili, e usare poi soltanto colori della palette (figura 14). Poiché questa comprende 256 colori, la loro modellizzazione richiede soltanto 8 bit per pixel: in questo modo si riduce a un terzo il fabbisogno di memoria. E’ ovvio che questa soluzione un po’ contorta aveva senso soltanto quando la RAM era molto costosa. Ma c’era anche un altro impedimento tecnico all’aumento contemporaneo di risoluzione, profondità di colore e frequenza di refresh. Se il segnale video deve trasportare l’informazione necessaria per rigenerare, poniamo, 85 volte al secondo un’immagine di 1600x1200 punti, e ogni punto ha una profondità di colore di 24 bit, i circuiti convertitori digitale-analogico che leggono la RAM e producono il segnale VGA in uscita devono inviare al monitor le informazioni relative a 1.600x1.200x85 = circa 163 milioni di pixel al secondo. E poiché ogni pixel richiede la lettura di 3 bytes, gli stessi chip devono leggere ogni secondo 163x3= circa 490 Mbytes di memoria video al secondo. Questo significa due cose: • da un lato il monitor deve poter trattare segnali video ad almeno 163 MHz, in altre parole avere una “banda passante” di almeno 163 MHz; • dall’altro la RAM video della scheda grafica deve poter essere letta ad una velocità di almeno 490 Mbyte al secondo. Fig. 15 - Il RAMDAC (RAM Digital-to-Analog converter) è il chip ad altissima velocità che si incarica di formare il segnale video analogico a partire dalle descrizioni numeriche delle sfumature di colore dei pixel dello schermo 1.10.2 Adattatori grafici L’altro componente hardware nella catena video è l’adattatore grafico, spesso chiamato “scheda grafica” per il fatto che spesso è montato sul bus e non integrato sulla motherboard. Il suo compito è quello di supportare il sistema operativo e le applicazioni software nella composizione dell’immagine e nella generazione del segnale video. È detto “adattatore” perché si interpone fra la rappresentazione interna dello schermo e il segnale richiesto dal monitor e si occupa di convertire la prima nel secondo. I più comuni standard di risoluzione grafica Per anni il principale parametro distintivo degli adattatori grafici è stato la risoluzione massima raggiungibile (vedi tabella nomi di standard grafici, anno introduzione sul mercato e risoluzione). Dopo gli obsoleti standard CGA ed EGA, lo standard VGA (Video Graphics Array, 640 x 480 pixel, 256 MB RAM) fissò finalmente un livello di risoluzione e colore più che adeguato per le applicazioni in modalità testo e sufficiente anche per le prime applicazioni grafiche, fra cui il mitico Windows 3.0. La crescita delle risoluzioni da allora fu incessante: seguirono infatti lo standard Super VGA (SVGA, 800x600), XGA (1.024x768), SXGA+ (1.440x1.050) e Super XGA, con proporzioni 5:4 (SXGA, 1.280x1.024), Ultra XGA (UXGA, 1.600x1.200) oltre ai vari formati wide screen con proporzioni 16:10; per esempio WXGA+ da 1.440x900 pixel (diffuso solo su monitor LCD da 19” wide) oppure WSXGA+ (1.680x1.050, usato su monitor wide da 20” e 22”) e WUXGA (1.920x1.200, usato su monitor da 24” wide). Componenti di base delle schede video La struttura logica di una scheda grafica (figura 16) comprende i seguenti elementi, oltre al già citato RAMDAC: • Circuiti di inter- 16 connessione al bus di sistema (AGP, PCI, PCI-X, PCI-e): sono attraversati da dati e comandi provenienti dalle librerie grafiche e destinati a controllare il funzionamento dell’adattatore grafico. Soprattutto nella grafica tridimensionale usata nei giochi più evoluti è importante che questi circuiti supportino un’elevata banda passan- 17 te per non costituire un collo di bottiglia dell’architettura (figura 17). • GPU PC Open 115 Ottobre 2007 1.10.2.1 Essere al corrente dei più comuni standard di risoluzione grafica, quali: VGA, SVGA, XGA 1.10.2.2 Conoscere i componenti di base delle schede video, quali: GPU, memoria, Video BIOS, RAMDAC, e la relativa funzione. Fig. 16 - Così si presenta una recente scheda grafica di fascia alta: a causa dell’elevata quantità di calore dissipato dalla veloce GPU, gran parte del circuito è coperta da un sistema di dissipazione attivo con circolazione forzata dell’aria Fig. 17 - Il bus di sistema ha subito un’evoluzione per consentire l’installazione di schede video sempre più affamate di banda verso la CPU e la memoria centrale. Dopo PCI, AGP (1x-2x-4x-8x) e PCI-X, si è consolidata una tendenza all’adozione degli slot PCI Express. In figura, accanto a tre slot PCI, sulla destra vediamo due slot PCI Express x1 e uno slot x16 IT administrator - Hardware Fig. 18 - Sulle schede video ad alta risoluzione, alta frequenza di refresh e alta profondità di colore, magari con accelerazione tridimensionale per giochi, GPU e RAMDAC hanno bisogno di poter continuamente leggere e scrivere enormi quantità di memoria ad alta velocità. Per questo le tecnologie per la RAM “di frontiera” vengono spesso applicate sulle schede grafiche prima ancora che per l’impiego come memoria di sistema. Addirittura esistono tipi di memoria specializzati per l’uso su schede grafiche: è il caso dei chip GDDR3 in figura 1.10.2.4 Conoscere le differenti versioni di AGP, le modalità di funzionamento e i rispettivi vantaggi 1.10.2.3 Conoscere i più comuni tipi di memorie video, dai moduli SDRAM ai DDR2-SDRAM. Conoscere inoltre le relative differenze e vantaggi Fig. 19 Lo slot AGP 8x (in verde in figura) offre il più alto livello di prestazioni raggiunto dalla tecnologia AGP prima che PCI-X e soprattutto PCI Express gradualmente prendessero il sopravvento come standard per il bus di sistema ad alta velocità. Rispetto ad altre versioni dello standard, l’AGP 8x utilizzava tensioni di lavoro più basse per aumentare le prestazioni e al tempo stesso ridurre i consumi elettrici e la dissipazione termica (Graphics Processing Unit): un vero e proprio microprocessore specializzato nell’elaborazione video. È in grado, per esempio, di scorrere (scroll) orizzontalmente o verticalmente regioni di schermo, facilitando il funzionamento dei sistemi operativi a finestre; oppure di riempire (fill) regioni di schermo con colori o con motivi geometrici (textures), o ancora di calcolare ombreggiature (shading) e illuminazione (lightning) nelle scene tridimensionali; può anche gestire trasparenze, spostamenti di blocchi di memoria (Bit Block Transfer: “BitBlt”) e tracciare icone e soggetti mobili (sprites) in sovrimpressione sulla scena di sfondo, nonchè rilevare collisioni fra questi soggetti. Le GPU specializzate nella grafica tridimensionale possono occuparsi autonomamente di ricalcolare le coordinate dei vertici degli oggetti a seguito di rotazioni e traslazioni, e di ricalcolare immediatamente sfumature, ombreggiature e riflessi. Per questo devono eseguire molto velocemente calcoli matematici con elevata precisione su insiemi (vettori) di numeri che rappresentano coordinate nello spazio. Le entità manipolabili sono normalmente punti e triangoli (o poligoni di grado superiore); pertanto la velocità di una GPU, anziché in MIPS, viene spesso espressa in triangoli/secondo o in “texture elements” (texels) al secondo. • Memoria video: una regione di RAM in cui viene memorizzata la descrizione dei pixel che compongono l’immagine da visualizzare su schermo. Fondamentalmente ogni pixel è qui rappresentato da un certo numero di bit, generalmente 16, 24 o 32 bit. Maggiore è la quantità di memoria video, maggiori saranno la risoluzione e la profondità di colore raggiungibili, ma soprattutto, per l’uso con videogiochi, sarà maggiore l’estensione del repertorio di textures che potranno essere precaricate sull’adattatore grafico, consentendo di comporre scene di elevata complessità grafica senza più impegnare la CPU o il canale di comunicazione con essa, ossia il bus di sistema. • Video BIOS: così come il PC necessita di un programma precaricato che lo governa nelle prime fasi all’accensione e che sovrintende alle operazioni di I/O più elementari, anche la scheda video, che assomiglia per certi versi a un PC autonomo essendo dotata di RAM e GPU propria, ha un proprio BIOS. I più comuni tipi di memorie video Abbiamo visto che la memoria video, detta anche “frame buffer”, ha un ruolo fondamentale per il funzionamento della scheda grafica. Oltre alla sua quantità, le sue caratteristiche in termini di velocità d’accesso, bus e localizzazione nell’architettura hanno notevole impatto sulle prestazioni che la scheda è in grado di fornire. La prima distinzione è fra la RAM video dedicata e quella condivisa. Nel primo caso, sulla scheda video è fisicamente presente un banco di memoria riservato alle sue esigenze operative. Nel secondo caso, la scheda video fa uso di una porzione della RAM di sistema, con due inconvenienti: sottrae spazio all’esecuzione delle applicazioni e richiede di impegnare il bus di sistema quando la GPU ha bisogno di elaborare l’immagine, oppure quando il RAMDAC ha bisogno di generare il segnale video leggendo il frame buffer. Avere la RAM video dedicata direttamente a bordo della scheda grafica ha anche un altro vantaggio non secondario. È possibile organizzare il banco di memoria e il bus che lo collega alla GPU e al RAMDAC in modo tale che la banda passante sia elevatissima, così da supportare alte prestazioni video e grafiche. Inoltre PC Open 116 Ottobre 2007 Lezione 7 è possibile 18 impiegare della RAM a doppia porta (dual-ported), che è possibile leggere e scrivere simultaneamente: mentre la GPU compone l’immagine o ne elabora ombre, luci, texture e sfumature, il RAMDAC può leggerla e generare il segnale video. In altri schemi circuitali la GPU e il RAMDAC devono alternarsi nell’accesso alla RAM video, con prestazioni inferiori in quanto ciò le costringe a spartirsi la banda del bus interno. L’ultimo fattore che caratterizza la memoria video è la tecnologia costruttiva dei chip. Proprio come la RAM di sistema è passata da SDRAM a DDR-SDRAM, poi DDR2 e DDR3, in cui i chip lavorano in modalità double data rate (DDR) per aumentare la banda, con successivi miglioramenti circuitali per aumentare il throughput a parità di frequenza di lavoro, lo stesso tipo di evoluzione ha interessato la RAM montata a bordo delle schede grafiche. Piccoli perfezionamenti (rivolti soprattutto a ottimizzare i consumi elettrici e la dissipazione termica) sono stati applicati nel corso degli anni alle normali memorie DDR, formando un corteo parallelo di standard riconoscibili per l’iniziale “G” (Graphics). Sono così comparse le memorie GDDR2, GDDR3 (figura 18) e la recente GDDR4, non ancora molto diffusa sulle schede grafiche. Le differenti versioni di AGP Un modo per accelerare il funzionamento della scheda video è quello di velocizzare il più possibile il canale di comunicazione fra CPU e adattatore grafico: si tratta del bus, che appositamente per le schede grafiche ha subito diverse evoluzioni tutte tese ad aumentare la banda. È così che è nata la “dinastia” delle tecnologie Accelerated Graphics Port (AGP). La prima versione del bus AGP fece la sua comparsa nel 1997. Adottava una larghezza di canale a 32 bit come quella del normale bus PCI, ma lavorava a frequenze più elevate con uso di ulteriori tecniche per aumentare la frequenza efficace. Nel bus AGP 1x, per esempio, la frequenza era di 66 MHz, il doppio del PCI, e la banda era anch’essa doppia: 266 Mbyte/s. Le successive evoluzioni di AGP hanno mantenuto la larghezza di canale a 32 bit ma hanno aumentato la frequenza efficace mediante tecniche come dual-pumping o quad-pumping. Sono nati così gli standard AGP 2x, AGP 4x e AGP 8x, capaci di assicurare rispettivamente bande massime di 533, 1.066 e 2.133 Mbyte/ s. Lavorando a fre- 19 quenze così elevate, questi bus andavano incontro anche a problemi elettrici che è stato possibile attenuare riducendo progressivamente la tensione di lavoro: se l’AGP 1x funzionava a 3.3V, l’AGP 8x usava tensioni di soli 0.8V (figura 19). Lezione 7 Dissipazione termica e soluzioni di raffreddamento Non solo le schede grafiche AGP, ma anche quelle PCI-X e quelle PCI-Express (che usano dei bus non specificamente votati alla grafica, ma destinati a un utilizzo con qualunque tipo di periferica) grazie anche all’ampia disponibilità di banda verso la CPU, possono puntare alle massime prestazioni. Ma questo richiede grandi quantità di memoria video e, soprattutto, una GPU operante ad alte frequenze di clock: due componenti entrambi “affamati” di corrente, tanto che molte schede di fascia alta richiedono un’alimentazione supplementare rispetto a quella, limita20 ta, che può venire dalle linee 5V presenti sul connettore del bus e per questo presentano un connettore Molex, uguale a quello a 4 pin degli hard disk oppure del tipo a 6 pin, a cui va collegato uno dei cavi che escono dall’alimentatore interno (figura 20). Come sempre quando vi sono consumi elettrici elevati, il rovescio della medaglia è costituito da una altrettanto elevata produzione di calore. Si vengono così a creare problemi di dissipazione termica anche per la scheda grafica, proprio come avviene per CPU, chipset e RAM di sistema. Non a caso quasi tutte le schede grafiche di fascia alta sono equipaggiate con un sistema di dissipazione attivo, con ventola dedicata, corpi alettati e in molti casi anche un convogliatore sagomato in modo tale da guidare il flusso d’aria in modo ottimale (figura 20). Inutile dire che questo sistema consuma a sua volta corrente e soprattutto è 21 fonte di rumore, per cui nei sistemi destinati all’uso come Media Center da salotto la scelta dell’adattatore grafico richiede particolare attenzione. 1.10.3 Librerie grafiche Il terzo attore fondamentale della catena logica che arriva a produrre immagini effettivamente visibili nello schermo è un componente non hardware, ma software. Si tratta di quell’insieme di algoritmi e sottoprogrammi che, sotto il controllo delle applicazioni software e del sistema operativo, si incaricano di comporre e manipolare l’immagine nella rappresentazione interna immagazzinata nella video RAM. Per esempio, possono svolgere compiti semplici, come comandare all’hardware grafico di scorrere verticalmente il contenuto di una finestra quando l’utente aziona con il mouse la barra di scorrimento, oppure possono occuparsi di mansioni decisamente più complesse, come consentire alle applicazioni software la manipolazione di modelli tridimensionali riversando sulla scheda grafica il flusso di ordini necessario ad attuare e visualizzare le trasformazioni richieste. In sostanza, le librerie grafiche assolvono a due funzioni fondamentali: • Forniscono un insieme standard di metodi (tecnicamente detti “primitive grafiche”) messo a dispo- IT administrator - Hardware sizione delle applicazioni software per operare facilmente su immagini; • Nascondono le differenze esistenti fra le capacità dell’hardware grafico dei vari modelli di PC, consentendo alle software house di scrivere applicazioni e giochi che funzioneranno su qualunque macchina (seppure con prestazioni differenziate in base alle potenzialità della scheda grafica). La libreria DirectX In ambiente Microsoft Windows, con il termine DirectX si intende una famiglia di librerie di algoritmi e sottoprogrammi software con cui l’applicazione o il gioco può ottenere un accesso praticamente diretto (Direct) a varie funzionalità multimediali della macchina, collettivamente indicate dalla lettera “X”: la famiglia comprende librerie per gestire la sezione audio (DirectSound), il sistema per la riproduzione di contenuti video (DirectShow), quello per la gestione di giochi con supporto di modalità multiplayer via rete (DirectPlay), quello per la gestione di periferiche di input, fra cui tastiere e mouse ma anche joystick e altri tipi di game controllers (DirectInput). Non mancano ovviamente una libreria per la gestione della grafica bidimensionale (DirectDraw) e una per operare su scene tridimensionali (Direct3D). Le librerie DirectX, introdotte per la prima volta nel 1995, hanno subito continue evoluzioni; l’ultima versione prima del lancio di Windows Vista era la versione 9, con le sue sottovarianti; Windows Vista, con le sue notevoli innovazioni all’interfaccia grafica (Aero) ha introdotto la nuova versione 10 e per il momento è l’unico sistema operativo Microsoft che possa disporne. Particolari versioni delle DirectX sono utilizzate anche nelle console per videogiochi di Microsoft: Xbox e Xbox360. La libreria OpenGL Se DirectX è la soluzione di Microsoft per la definizione di un set di librerie multimediali, inclusa la grafica, OpenGL (Open Graphics Library) è uno standard non proprietario per una libreria esclusivamente grafica (2D e 3D) che qualunque hardware grafico può scegliere di supportare, qualunque sistema operativo può adottare e qualunque software grafico può richiedere per il proprio funzionamento. OpenGL è inizialmente nato (1992) per macchine come workstation grafiche o sistemi dedicati per CAD, fino a qualche anno fa gli unici in grado di offrire prestazioni grafiche sufficienti a un impiego professionale, ma col tempo i PC hanno colmato il gap e da anni OpenGL è disponibile anche sui PC. Questo significa che un applicativo grafico destinato originariamente alle workstation Unix, ma scritto dalla software house utilizzando OpenGL, può essere facilmente “portato” su Windows, ma anche Linux o Mac OS. Naturalmente ciò vale anche per i giochi basati su OpenGL: basti pensare che il supporto OpenGL ad alte prestazioni è disponibile anche sulla PlayStation 3. Come DirectX, OpenGL presenta agli applicativi un set di funzionalità uniforme, qualunque sia la lingua effettivamente parlata dall’hardware sottostante e qualunque sia il set di capacità effettivamente supportate dall’hardware; delle 250 funzioni grafiche previste dallo standard, quelle che l’adattatore grafico eventualmente non potesse supportare in modo diretto saranno emulate via software. Per l’applicazione software non farà alcuna differenza (salvo un leggero calo di prestazioni). Questo significa che, come per DirectX, è possibile scrivere applicazioni OpenGL disinteressandosi dell’hardware grafico che queste avranno a disposizione durante il funzionamento. PC Open 117 Ottobre 2007 1.10.2.5 Conoscere i problemi di dissipazione termica e le soluzioni di raffreddamento. 1.10.3.1 Essere al corrente della libreria DirectX Fig. 20 - Il problema della dissipazione termica su GPU, RAMDAC e Video RAM sulle schede grafiche di fascia alta sta diventando sempre più acuto. Questo modello combina varie soluzioni: per la GPU una ventola con dissipatore radiale in rame, per il banco RAM un grosso corpo alettato e perfino per il RAMDAC un piccolo dissipatore passivo. Il tutto, su molte schede grafiche, è occultato da un ingombrante “carter” 1.10.3.2 Essere al corrente della libreria OpenGL Fig. 21 - Le moderne schede grafiche ad alte prestazioni non possono “accontentarsi” della potenza elettrica fornita dal connettore del bus e richiedono una connessione supplementare diretta dall’alimentatore (in qualche caso addirittura due). Il connettore è di solito un Molex a 4 o 6 pin. Gli alimentatori di modello recente in genere sono predisposti per questo tipo di collegamento e dispongono dei relativi cavi 1.10.3 Librerie grafiche IT administrator - Hardware 1.11 Stampanti Stampanti Se le immagini video sono il primo e più immediato modo di presentare informazioni all’utente, e di supportare un utilizzo altamente interattivo dei programmi e del sistema operativo della macchina, la produzione di stampe su carta (o altro supporto materiale stampabile: CD e DVD, magliette, pellicole, …) riveste un’importanza non certo inferiore, specie in tutta una serie di campi professionali. Della conversione di immagini logiche in immagini fisicamente presentate su supporto materiale si occupano le stampanti. Queste si differenziano in base al principio fisico di funzionamento: passiamone in rassegna i principali tipi. 1.11.1 Tipi 1.11.1.1 Essere al corrente delle diverse tecnologie di stampa, quali: a impatto/ matrice di punti, getto d'inchiostro e laser. 1.11.1.2 Conoscere i principi di funzionamento di una stampante a impatto/matrice di punti, le relative limitazioni e vantaggi 1.11.1.3 Conoscere i principi di funzionamento di una stampante a getto d'inchiostro, le relative limitazioni e vantaggi Fig. 22 - Nelle vecchie stampanti ad impatto ad aghi era prevalente l’uso di carta a modulo continuo (con i tipici bordi bucherellati per il sistema di trascinamento). Fig. 23 - Le stampanti ad aghi potevano stampare ad alta velocità font semplici, ma potevano anche costruire immagini e font più elaborati lavorando in modalità grafica, spesso con più passate (e quindi a velocità più bassa). Ad ogni passata venivano applicati più punti, fino a campire le aree e a ottenere le forme richieste Diverse tecnologie di stampa Esattamente come avviene nel caso dei monitor, anche dal punto di vista della stampante le immagini sono costituite da schiere di innumerevoli punti colorati. Il problema di stampare un’immagine grafica o un testo si riconduce quindi al problema di stampare con grande precisione e a velocità accettabile milioni di minutissimi puntini. Limitandoci al caso classico della stampa su carta, qualunque sia la tecnologia di stampa adottata il problema fondamentale da risolvere è quindi quello di tracciare sul foglio un puntino elementare (nero, grigio o colorato) trasferendo la giusta quantità di inchiostro del colore richiesto, il tutto nel minor tempo possibile. Questo si può fare in vari modi, a seconda della tecnologia di stampa usata: ricordiamo la stampa a impatto, quella a trasferimento termico, quella a getto d’inchiostro (ink jet) e quella laser. Lezione 7 le righe solo in una direzione, per esempio da sinistra a destra; dopo ogni riga il carrello doveva tornare alla posizione di riposo, con una notevole perdita di tempo. Successivamente comparvero le stampanti “bidirezionali”, in cui la testina era capace di stampare le righe anche in senso opposto, eliminando la necessità della fase di ritorno, e quelle “ottimizzate”, in cui il cammino della testina era mantenuto il più corto possibile studiando la lunghezza effettiva delle righe da stampare. Le stampanti dot matrix erano rumorose e puittosto lente (almeno quelle economiche, destinate a un mercato consumer o SOHO), quasi mai potevano gestire le stampe a foglio singolo, offrivano una risoluzione troppo bassa per una stampa di qualità ed erano assai meno adatte alla grafica che alla stampa di testi. Nella maggior parte dei casi erano monocromatiche, anche se gli “esperimenti” di stampanti dot matrix a colori non sono mancati. A differenza delle stampanti inkjet o laser, la qualità di stampa degradava in modo “analogico”, a causa del progressivo esaurimento dell’inchiostro del nastro; le stampe sbiadivano e a un certo punto si doveva decidere di cambiare la cartuccia inchiostrata. Essendo però perfettamente adatte a gestire stampe a modulo continuo erano ideali per la produzione di log, registri di funzionamento, elenchi di anomalie, cronologia degli accessi, e così via; questo è il campo applicativo in cui hanno resistito più a lungo, aiutate dal fatto che la tecnologia a impatto permette di stampare più copie contemporaneamente utilizzando fogli multipli alternati a carta carbone oppure con speciali inchiostri sul retro (carta chimica). Stampante a getto d'inchiostro Stampanti a impatto/matrice di punti Nelle vecchie stampanti a impatto ad aghi, o a matrice di punti (dot matrix), il supporto poteva essere un singolo foglio di carta o più spesso il cosiddetto “modulo continuo”: un nastro di carta contornato da due striscioline bucherellate su cui si impegnavano delle ruote dentate in grado di imprimere l’avanzamento al foglio (figura 22). La stampa avveniva grazie a una testina di stampa, provvista di una matrice di minuscoli aghi, che poteva scorrere orizzontalmente, visitando tutta la larghezza del foglio, e durante questo movimento colpire, per mezzo di tali aghi, regioni puntiformi di un nastro inchiostrato spingendolo contro il foglio; gli aghi venivano esposti di qualche millimetro grazie a un sistema elettromagnetico basato su minuscoli solenoidi, uno per ciascun ago. L’impatto così provocato fra una regione puntiforme del nastro e il foglio produceva un puntino nero persistente. Normalmente la testina comprendeva un certo numero di aghi (tipicamente 9 o 24), con altezza sufficiente a stampare i caratteri di una riga. Così, spostando orizzontalmente la testina di stampa si potevano stampare i caratteri di una riga, mentre azionando le ruote dentate si poteva passare alla stampa della riga successiva. Immagini o font più complessi si potevano ottenere lavorando in modalità grafica, a velocità minore (figura 23). Le prime stampanti a impatto potevano stampare 22 23 PC Open 118 Ottobre 2007 Le stampanti a getto d’inchiostro tracciano puntini su carta non percuotendola con un nastro inchiostrato, ma “spruzzandola” con minutissime gocce d’inchiostro (figura 25). Questo viene fatto da una testina di stampa che scorre trasversalmente al foglio, mentre il foglio stesso viene fatto avanzare da un sistema a rulli. Come si vede, concettualmente queste stampanti non sono molto diverse da quelle a matrice di aghi, ma vi sono due differenze fondamentali: primo, la matrice di punti è enormemente più fine, in quanto i microtubi che emettono le gocce d’inchiostro possono essere molto più piccoli degli aghi; secondo, non essendovi impatti fra aghi e foglio, il sistema di stampa è assai più silenzioso e anche più veloce. Le stampanti a getto d’inchiostro possono infatti raggiungere una risoluzione molto alta – anche 360 dpi nei modelli più recenti – realizzando stampe estremamente nitide e dettagliate, e la loro velocità può raggiungere valori ottimi, anche se è cronicamente sovrastimata nelle brochure pubblicitarie. Altro vantaggio delle ink jet rispetto alle dot matrix sta nel fatto che con esse risulta tecnicamente molto più facile produrre stampe a colori. E’ sufficiente che il gruppo testine sia in grado di emettere gocce d’inchiostri colorati oltre a gocce d’inchiostro nero. Le differenze fra i modelli ink jet riguardano soprattutto • la densità e il numero degli ugelli della testina di stampa, che determinano la risoluzione massima delle stampe e, in parte, anche la velocità di stampa • la separazione, o l’integrazione, fra serbatoi d’inchiostro e testine, che determina anche importanti variazioni nei costi dei materiali di consumo • Il numero di colori d’inchiostro usati, che determina la fedeltà con cui possono essere riprodotti i colori attraverso miscelazioni delle gocce in propor- Lezione 7 IT administrator - Hardware 24 zioni opportune: a parte il nero, di solito sono usati da 3 a 7 colori Nella valutazione dell’acquisto di una stampante ink jet bisogna tenere sempre ben conto del costo tutt’altro che trascurabile dei materiali di consumo (inchiostro e testine, che in alcuni modelli sono separati). In molti casi i produttori propongono sul mercato le stampanti a prezzi tenuti artificialmente bassi (in certi casi possono anzi arrivare a venderle in perdita) puntando sui profitti della vendita di materiali di consumo. Per difendere questa fonte di reddito, speciali espedienti tecnici (e in qualche caso anche legali) vengono escogitati per contrastare il fiorente mercato delle cartucce rigenerate o compatibili e quello delle ricariche. Stampanti laser Le stampanti laser, analogamente a quanto avviene nelle fotocopiatrici, depongono uno speciale inchiostro solido, detto toner, sui punti giusti del foglio di carta e ve lo fissano pressandolo per pochi istanti con una superficie ad elevata temperatura. La tecnica usata per posizionare con precisione i punti sul foglio funziona come segue (figura 24): • La superficie di un rullo (“drum”) in materiale fotoconduttore (ad esempio composti del selenio) viene caricata elettrostaticamente; questa fase è chiamata carica. • Un laser emette luce verso uno specchio rotante che indirizza la sua luce verso tutti i punti di una riga del rullo prima che questo passi alla riga successiva. Il puntino di luce laser produce sul rullo l’effetto di neutralizzare localmente la carica elettrostatica precedentemente deposta in quella regione. Il laser si accende e si spegne in modo accuratamente sincronizzato per controllare lo stato di carica di ciascuno dei punti della riga. Questa fase è chiamata esposizione. • Il rullo così caricato comprende ora una immagine elettrostatica dei punti da deporre sul foglio che rispecchia esattamente il testo o la grafica da stampare. Nella sua rotazione, la parte appena trattata viene esposta a un’atmosfera ricca di particelle di toner elettricamente cariche, le quali saranno attratte dalle regioni rimaste cariche. In questo modo l’immagine elettrostatica diventa una maschera di punti di toner. Questa fase è detta sviluppo. • Continuando la sua rotazione, il rullo cosparso di toner entra in contatto con il foglio di carta, sul quale si trasferisce la polvere di toner. Il rullo torna “pulito” ed elettrostaticamente neutro (eventualmente dopo un breve processo di rigenerazione attuato in un arco di alcuni gradi di rotazione), ed è pronto per un nuovo ciclo. Questa fase è detta trasferimento. • Il foglio di carta con la polvere di toner depositata ma non ancora fissata passa attraverso una sezione in cui appositi rulli ad alta temperatura (200 gradi circa) pressano fortemente il toner sul foglio fino a fonderlo in modo definitivo. Questa fase è detta fissaggio o fusione. Le stampanti laser a colori ripetono gran parte di questo processo (fino al trasferimento) per ciascuno dei colori primari, fino a comporre le sfumature necessarie. In generale, quindi, una stampa laser a 25 colori è alcune volte più lenta di una monocromatica (una passata per il nero più una per ciascuno dei tre colori primari). La velocità di una stampante laser può comunque essere notevolmente più alta di quella di una stampante a getto d’inchiostro. Gli altri vantaggi delle stampanti laser consistono nella costanza di rendimento, nel costo per pagina competitivo, nell’autonomia operativa e nella capacità di sopportare altissimi volumi di stampa. Stampa per trasferimento termico e processo di sublimazione Le stampanti a trasferimento termico, spesso usate nelle etichettatrici portatili, nei fax o nei registratori di cassa, impiegano nastri inchiostrati dai quali “staccano” piccole porzioni di colore e le depositano sul foglio di carta, grazie a un procedimento termico, per formare i punti da stampare. Anche se dal nastro sono state asportate solo piccole regioni di colore, esso non può più essere riutilizzato (a differenza di quanto avviene con i nastri delle stampanti a impatto) in quanto i punti utilizzati restano completamente privi di inchiostro. Si ha quindi un notevole spreco di materiali di consumo, anche se la stampa avviene velocemente e in modo silenziosissimo. Una variante di questa tecnologia, detta “stampa a sublimazione”, impiega una riserva di inchiostro solido ceroso che viene fuso o vaporizzato, trasferito sul foglio e qui miscelato con gli altri colori primari, nelle esatte proporzioni richieste per formare la sfumatura voluta (figura 26). Le sfumature non vengono quindi ottenute per “illusione ottica”, con semplice accostamento di punti dei colori primari, ma effettivamente “mescolando” i colori. Il risultato è una stampa in cui le sfumature sono continue, particolarmente adatta quindi alle applicazioni fotografiche. Proprio in virtù del fatto che le sfumature variano con continuità da un pixel a quello adiacente, il numero di colori ottenibili con questo sistema è virtualmente infi- 26 nito (anche se i dosaggi d’inchiostro possibili rimangono comunque un numero finito). Fra gli svantaggi, la stampa non velocissima, la forte dipendenza della qualità del risultato finale dai supporti usati e il costo. Installazione e gestione Fino all’avvento delle porte USB, la più diffusa interfaccia per il collegamento delle stampanti era la IEEE 1284, meglio nota come Centronics o “porta parallela”, ancor oggi presente sul back panel di molti PC desktop e, più raramente, su quello di alcuni portatili destinati a un’utenza business. La velocità di una porta Centronics era in origine limitata a soli 300-500 Kbps, un valore che oggi appare decisamente scarso, ma che all’epoca era senz’altro interessante, ben superiore a quanto normalmente raggiungibile con l’altro tipo di porta general purpose di cui erano dotati i computer, ossia la porta se- PC Open 119 Ottobre 2007 Fig. 24 - Le testine di stampa dei modelli ink jet comprendono un gran numero di microugelli accoppiati con altrettante microcamere piene d’inchiostro. Un sistema di riscaldamento è in grado di creare in tempi brevissimi una bolla di vapore la cui pressione espelle una minuscola goccia d’inchiostro in direzione del foglio. Il ciclo si ripete ogni volta che è necessario che l’ugello stampi un puntino Fig. 25 - Nelle stampanti laser l’immagine formata deponendo toner sulle aree elettricamente cariche della superficie di un tamburo rotante (drum) viene trasferita sul foglio per contatto e poi impressa definitivamente mediante fusione ad alta temperatura. Il foglio viene poi avviato al carrello d’uscita. Le aree con carica elettrica vengono create sul drum da un sistema di laser e specchi sincronizzati con estrema precisione 1.11.1.4 Conoscere i principi di funzionamento di una stampante laser, le relative limitazioni e vantaggi 1.11.1.5 Essere al corrente della metodologia di stampa per trasferimento termico e processo di sublimazione Fig. 26 - Nella stampa a sublimazione, un inchiostro solido trasportato da un nastro viene vaporizzato e trasferito sul foglio sotto l’effetto del calore generato dalla testina retrostante. La quantità di inchiostro trasferibile è regolabile con estrema precisione 1.11.2 Installazione e gestione 1.11.2.1 Essere al corrente delle differenti tipologie costruttive di porta parallela, quali: Standard, ECP, EPP. Conoscere inoltre le relative differenze. IT administrator - Hardware Fig. 27 - I connettori usati per la porta parallela sono, lato PC, un DB-25 con fissaggio a vite (sopra) e lato stampante un Centronics Amphenol a 36 pin con fissaggio ad alette di ritegno (sotto). Fig. 28 - La connessione USB ha un campo d’impiego praticamente universale. Sui PC ha sostituito rapidamente anche la porta parallela per la connessione delle stampanti. 1.11.2.2 Essere al corrente delle diverse modalità d'interfacciamento fra PC e stampante, quali: parallela, seriale, USB, wireless, LAN. Fig. 29 - Nelle stampanti fotografiche portatili è diffuso il supporto per connessioni Bluetooth. Ciò permette di inviare un’immagine e ottenerne la stampa senza fili e in tempo brevissimo. In alcuni modelli di stampanti il supporto Bluetooth si ottiene inserendo un adattatore USB; in altri la circuiteria è integrata all’interno della stampante 27 riale RS-232-C. Le prestazioni erano superiori principalmente perché su una porta parallela vengono scambiati 8 bit di dati ad ogni ciclo di trasferimento, contro il singolo bit trasferito da una porta seriale; inoltre, per garantire l’integrità dei dati, una porta seriale può far precedere e seguire i dati da due bit di “guardia” (“bit di start” e “bit di stop”) e accompagnare i dati con un bit di parità per rilevare eventuali errori di trasferimento; tali bit devono anch’essi viaggiare sulla stessa linea su cui viaggiano i bit di dati e quindi “consumano” fino a 3/8 della banda disponibile su una porta RS-232-C: una porta parallela non soffre di questo overhead. Nonostante le prestazioni della porta parallela fossero superiori a quelle di una porta seriale, nel caso della stampa di immagini o di documenti misti (testo+grafica) la quantità di dati da trasferire alla stampante è alquanto elevata ed è desiderabile contenere il più possibile i tempi; ciò ha richiesto un aumento di velocità di trasferimento, che è stato ottenuto introducendo due successive evoluzioni della porta Centronics: queste sono note come Enhanced Capability Port (ECP) di tipo bidirezionale (ma a senso alternato, ossia half duplex) capace inoltre di gestire dispositivi compositi grazie all’introduzione del concetto di “canali” indipendenti, ed Enhanced Parallel Port (EPP), uno standard alternativo proposto da Intel e altri; queste due varianti possono raggiungere, in condizioni ideali (cavi di tipo adeguato e non troppo lunghi, periferiche abilitate, BIOS adeguato) velocità di trasferimento rispettivamente di 4 e 2 megabyte/ secondo. Il connettore fisico tuttavia rimane lo stesso di una porta parallela originale, ossia, lato PC, un classico DB-25 a 25 pin con fissaggio a vite e un Centronics Amphenol a 36 pin con alette di ritegno laterali a scatto (figura 27). I cavi paralleli contengono un numero di conduttori superiore a quello dei cavi seriali o USB e quindi sono piuttosto spessi, rigidi, pesanti e anche costosi. Da non dimenticare, infine, che per poter utilizzare le estensioni ECP e EPP è generalmente necessario abilitarle in modo esplicito nel BIOS del PC, che deve supportarle; anche il sistema operativo deve essere provvisto dei necessari driver (oggi è sempre così ma in origine non si poteva darlo per scontato). Interfacciamento fra PC e stampante Oggi però la porta parallela è solo una delle opzioni di collegamento fra PC e stampante e, per la verità, neppure la più usata; la sua importanza è infatti entrata in fase declinante da quando esiste la ben più pratica porta USB, che assicura semplificazione del cablaggio, riduzione degli ingombri del connettore e ottime prestazioni (questo vale soprattutto nel caso della USB 2.0, ormai universalmente diffusa, che può raggiungere i 480 Mbps). (fi28 gura 28) Oltretutto il collegamento tramite porta USB è supportato in modo nativo da BIOS e sistemi operativi recenti e consente il riconoscimento PC Open 120 Ottobre 2007 Lezione 7 plug-and-play del tipo di stampante, con selezione del relativo driver, se disponibile, da un elenco di driver preinstallati (in genere però il fabbricante ne fornisce sempre uno specifico e più aggiornato). La disponibilità di un collegamento ad alte prestazioni tra PC e stampante ha consentito, fra l’altro, di migliorare le prestazioni delle cosiddette Windows Printers, o GDI Printers. Si tratta di stampanti laser molto semplificate e quindi economiche, in quanto delegano al PC host tutto il lavoro di composizione (“rasterizzazione”) dell’immagine, gestione dei font, ottimizzazione di grafica e mezze tinte, e si aspettano che l’immagine finale da stampare su carta (diversi megabyte per pagina!) sia loro trasferita via USB. Queste stampanti sono totalmente dipendenti dal PC e da Windows e non possono funzionare senza di essi (in assenza del driver per Linux, ad esempio, risultano totalmente inutilizzabili con tale ambiente), tuttavia possono avere un prezzo molto competitivo. Con la ridotta velocità delle porte parallele sarebbe stato sostanzialmente impraticabile realizzare stampanti di questo tipo: il funzionamento sarebbe stato troppo lento. Non vanno poi dimenticate altre opzioni di collegamento che eliminano la necessità di un PC acceso per poter usare la stampante: si tratta delle interfacce di rete, con le quali la stampante diventa accessibile sulla LAN proprio come se fosse collegata via USB o Centronics a un PC della rete stessa (tenuto sempre acceso) e da questo condivisa. I modelli di stampanti che supportano questa modalità sono spesso detti “stampanti di rete” e sono adatti all’uso dipartimentale, mentre è più dubbia la loro utilità in ambito Small Office – Home Office (SOHO) in quei casi in cui vi è un unico PC e nessuna necessità di condivisione. Da ricordare che il collegamento alla rete può essere di tipo Ethernet o wireless: in quest’ultimo caso, l’accesso alla stampante è possibile via WiFi ed è possibile ubicare la stampante anche in un locale dove la rete wired non arriva. Sarà però necessario, ovviamente, che i PC siano dotati di adattatore di rete wireless, o in alternativa che sulla LAN sia installato un bridge WiFi per consentire l’accesso anche ai PC con cavo. Infine, sempre a proposito di connessioni wireless, non va dimenticata l’interessante opzione dell’interfaccia Bluetooth. Da un punto di vista logico il collegamento Bluetooth sostituisce un collegamento locale via porta seriale, con la comodità dell’assenza di cavi e connettori, che rende possibile interagire con una vasta gamma di dispositivi abilitati, come cellulari, smartphone e palmari (ma anche notebook e PC desktop, se dotati di adattatore Bluetooth). Data la banda piuttosto limitata del Bluetooth, però, (circa 700 Kbps per Bluetooth 1.x e circa 2 Mbps per Bluetooth 2.0) questo tipo di connessione non si presta certo a grossi carichi di lavoro o al trasferimento di grandi quantità di dati per il trattamento di documenti complessi. Pertanto troviamo l’interfaccia Bluetooth non certo su stampanti dipartimentali, ma piuttosto su piccole e compatte stampanti 29 fotografiche, nelle quali questo tipo di interfaccia trova impiego ottimale consentendo, ad esempio, di inviare in 3-4 secondi una foto scattata dal cellulare e di ottenerne subito la stampa: una soluzione pratica e di grande effetto (figura 29). IT administrator - Hardware Materiale didattico progettato per EUCIP IT Administrator segnalato da AICA Modulo 1 - Hardware “AICA, Licenziataria esclusiva in Italia del programma EUCIP (European Certification of Informatics Professionals) riconosce che il materiale didattico segnalato è strutturato in modo coerente con l’organizzazione dei contenuti prevista dai documenti EUCIP di riferimento. Di conseguenza AICA autorizza sul presente materiale didattico l’uso dei marchi EUCIP (registrato dal CEPIS Concil of European Professional Informatics Societies) ed AICA protetti dalle leggi vigenti.” 1.12 Hardware di rete Fig. 1 - Il tipo di connessione di rete più comune è ancora il classico cavo Ethernet categoria 5 in rame, costituito da 4 coppie di conduttori intrecciati e attestati su connettori modulari RJ-45 a 8 poli. Tuttavia, dal punto di vista teorico, un collegamento di rete wireless è equivalente Fig. 2 - I cablaggi di rete collegano gli apparati attivi di rete fra loro e ai PC. In una rete wired i tipi fondamentali di apparati attivi sono gli switch, i router e gli hub, ma tutti hanno un aspetto simile, con un pannello di connettori RJ45 in numero variabile a seconda della classe del dispositivo e della complessità della rete da gestire Lezione 8 A scuola con PC Open Hardware di rete PDF DEL CORSO NEL DVD Dalle connessioni cablate a quelle senza fili, le diverse tipologie di reti locali e le possibilità di accesso a Internet. Cavi, componentistica e standard che si utilizzano per mettere in comunicazione due o più PC di Marco Mussini ’unione fa la forza. Così si potrebbe riassumere il vantaggio principale a cui si punta collegando in rete più PC, stampanti e hard disk. È possibile condividere le risorse risparmiando e razionalizzando gli investimenti: anziché diverse stampanti economiche, ognuna collegata al proprio PC, è possibile risparmiare installandone una sola ad alte prestazioni e con un costo per pagina inferiore e facendo in modo che tutti i PC della rete possano “vederla”. Una rete permette anche di mettere a fattor comune la capacità disco dei PC dell’ufficio, effettuare automaticamente il backup di tutti i PC da una macchina specializzata e connessa alla LAN. Oppure è possibile condividere l’accesso a Internet fra più PC, gestire in modo più rapido i trasferimenti di dati fra i PC locali senza passare da Internet, e così via. Risparmio, semplificazione gestionale e aumento di produttività sono tutti evidenti vantaggi della condivisione di risorse in rete. Il funzionamento di una LAN, o Local Area Network (rete locale) si basa su una corretta combinazione di elementi hardware e software. Dal punto di vista del software si tratta di sistemi operativi con supporto di rete, drivers e applicativi. In particolare gli applicativi comprendono client di posta elettronica, programmi di instant messaging, web browsers, programmi per telefonia via Internet (Voice Over IP, VOIP) e così via. In questa puntata ci focalizzeremo naturalmente sull’aspetto hardware delle reti, dapprima descrivendo la struttura di una rete e gli adattatori che permet- L Calendario delle lezioni Lez. 1: la scheda madre e il BIOS Lez. 2: i processori Lez. 3: la RAM Lez. 4: bus e risorse di sistema Lez. 5: interfacce (prima parte) Lez. 5: interfacce (seconda parte) Lez. 6: memorie di massa Lez. 7: i monitor, le schede grafiche e le stampanti Lez. 8: hardware di rete Lez. 9: alimentatori e installazione nuovo hardware Lez. 10: risoluzione dei problemi PC Open 110 Novembre 2007 tono ai PC di collegarsi a essa, poi analizzando gli apparati attivi di rete che, insieme ai cavi, ne costituiscono l’infrastruttura. Infine accenneremo a uno specifico ambito applicativo delle LAN, quello della condivisione via rete dei dati (storage), di particolare interesse tanto per le grandi organizzazioni quanto per gli ambienti Small Office-Home Office. Componenti principali Al funzionamento di una LAN partecipano i 1 seguenti attori: • l’infrastruttura fisica di rete, o cablaggio (in rame o fibra ottica; concettualmente può essere sostituito da un collegamento wireless) (figura 1) • gli apparati attivi di rete che costituiscono i “nodi” su cui si attestano i rami del cablaggio e che interconnettono la rete locale con quella esterna; (figura2) • i personal computer e le applicazioni in esecuzione su di essi; • le schede di rete (figura3) che consentono il collegamento fra i PC e l’infrastruttura di rete. Degli apparati attivi ci occuperemo nella sezione successiva. Qui interessa ora descrivere la tipica struttura delle reti di piccole dimensioni per ambienti 2 Lezione 8 3 IT administrator - Hardware Small Office-Home Office (SOHO) e fare la conoscenza con l’accessorio che permette ai PC di collegarsi alla LAN: l’adattatore di rete o “scheda di rete”. timizzata per evitare di sprecare banda (ossia un pacchetto viene ritrasmesso, se possibile, soltanto verso il raggio su cui si trova la destinazione). L’affidabilità è migliore di quella dei due casi precedenti in quanto un singolo guasto al cablaggio di uno dei raggi non interrompe il funzionamento di tutta la rete, ma causa solo l’isolamento del PC che si attesta su quel raggio. Le diverse strutture di rete Le schede di rete Il tipo più elementare di LAN è quello che interconnette due PC: si parla in questo caso di “rete punto punto” o anche “paritetica” (figura 4). Nel caso della connessione wireless, questo tipo di relazione è detto “ad hoc”. Nel caso di reti a cavo, i due PC vengono collegati con un particolare tipo di cavo Ethernet, detto “cross”, perché inverte le posizioni di determinati conduttori in modo tale da mettere direttamente in relazione il pin “trasmissione” del primo PC con il pin “ricezione” del secondo PC, e 4 viceversa, senza bisogno di interporre un hub di rete o switch (v. più avanti per una descrizione di questi due elementi attivi). Quando il numero di PC è superiore a 2, il che avviene nella stragrande maggioranza delle LAN da ufficio, la topologia della rete, ossia l’organizzazione logica dei collegamenti, diventa necessariamente più articolata e complessa. Le principali topologie classiche sono tre: • A bus (topologia rettilinea). Tutti i PC appartenenti alla LAN si attestano su una stessa tratta di cavo di rete, che deve rigidamente rispettare determinate limitazioni sulla lunghezza massima a meno di non usare dei ripetitori per supportare distanze maggiori. La tratta di cavo deve essere terminata a entrambe le estremità; la tolleranza ai guasti è bassa in quanto è sufficiente una discontinuità in un tratto qualunque della LAN per interrompere le comunicazioni di tutte le macchine partecipanti. • Ad anello. Nelle cosiddette reti “token ring”, gli host collegati alla LAN sono collegati da tratte di cavo che formano una topologia ad anello (anche se fisicamente gli archi di questo anello possono essere disposti come tratte di andata/ritorno verso un centro stella). Sull’anello, in mancanza di traffico, circola un “vagone vuoto”, detto token frame, che passa ciclicamente da una macchina all’altra fino a incontrare un host A che ha necessità di trasmettere dati a un host B. In questo caso l’host A carica i dati sul token frame e lo ritrasmette come data frame. Il data frame inizia la sua visita dell’anello, durante la quale raggiungerà B per poi completare il giro. Al suo ritorno sull’host A verrà declassato a token frame e ritrasmesso, autorizzando nuove trasmissioni sull’anello. Un singolo guasto al cablaggio lungo l’anello compromette il funzionamento della rete. • A stella (figura 5). Ogni PC è collegato individualmente a un centro, che interconnette i “raggi” della stella assicurando il passaggio dei pacchetti di dati da un PC all’altro. A seconda che il centro sia un hub o uno switch, l’interconnessione può essere equivalente a un bus (ossia ogni pacchetto emes- 5 so da un PC viene ritrasmesso indistintamente a tutti gli altri raggi della stella, come se tutti i PC fossero elettricamente collegati a una stessa tratta di LAN) oppure ot- Nell’architettura PC il componente che consente l’interconnessione fra il computer e la LAN è l’adattatore di rete (network adapter), detto anche, familiarmente, “scheda di rete” o LAN Card; un’espressione risalente ai tempi in cui i PC erano generalmente sprovvisti di una porta LAN e questa doveva quindi essere aggiunta successivamente come accessorio sotto forma di scheda di espansione, che esponeva sul retro il relativo connettore. Questo, a seconda del tipo di cablaggio Ethernet utilizzato, poteva essere un connettore cilindrico coassiale BNC, uguale a quello usato in certe apparecchiature video analogiche, oppure un connettore modulare RJ45 a 8 pin. Il connettore BNC (figura 7) era utilizzato nel caso di cavi coassiali (or- 6 mai caduti in disuso), mentre l’RJ45, il tipo ormai universalmente diffuso, è usato per i cavi UTP (Unshielded twisted pairs: doppini intrecciati non schermati) cat.5 e 6. Oggi la circuiteria necessaria è generalmente integrata sulla motherboard, e il connettore è 7 presente nel pannello posteriore solidale con la motherboard stessa (figura 6). Per quanto riguarda le prestazioni, dai 10 Mbps della Ethernet originaria si è passati a 100 Mbps, con schede di rete retrocompatibili, dette “10/100”, capaci di supportare entrambe le velocità selezionando automaticamente quella corretta (“autosensing”); il passo successivo è stato il salto a Gigabit Ethernet (1 Gbps) e a 10-Gigabit Ethernet, con un’ulteriore accelerazione di un fattore 10. Spesso gli standard relativi alle velocità più elevate vengono inizialmente proposti con cablaggi in fibra ottica (figura 8), anche se generalmente entro un certo tempo la tecnologia dei più economici e pratici cablaggi in rame riesce a colmare il gap e ad assicurare le stesse prestazioni, spesso addirittura riutilizzando il cablaggio esistente. Da notare che più la LAN è veloce, più deve essere veloce la scheda di rete, ed in particolare l’interconnessione 8 fra questa e il PC, ossia il bus su cui la scheda si attesta. Il vecchio bus ISA, con la sua banda di circa 8 Mbytes/s, era indubbiamente insufficiente per una rete 100 Mbps (figura 9). Un bus PCI è decisamente più veloce (può trasferire in teoria 133 Mbytes/s) PC Open 111 Novembre 2007 1.12.1.1. Conoscere la struttura di una rete semplice 1.12.1.2 Conoscere le schede di rete Fig. 3 - Un adattatore di rete su scheda PCI. Si tratta dell’anello di collegamento fra il PC e il cablaggio di rete. Tutti i PC desktop e laptop hanno una porta Ethernet integrata direttamente su motherboard, senza necessità di espansioni Fig. 4 - La topologia di rete più semplice è quella punto-punto in cui due PC sono collegati in modo diretto. Questo tipo di collegamento richiede un cavo di rete “cross”, in cui le coppie di conduttori sono incrociate per mettere in contatto le linee di trasmissione di un PC con quelle di ricezione dell’altro PC Fig. 5 - La topologia a stella è la più diffusa nelle reti cablate attuali. Vi è una connessione diretta punto-punto fra ogni singolo PC e una porta del router, switch o hub di rete. La quantità di cavo impiegata può risultare maggiore che in una rete a bus, ma in compenso ogni PC dispone di tutta la banda teorica verso il router e complessivamente la gestione del cablaggio risulta ben razionalizzata Fig. 6 - Sui PC desktop la porta LAN è solitamente montata in una sorta di “torretta” metallica, in abbinamento con porte USB o FireWire. I due LED giallo e verde che affiancano l’incavo per la molletta di ritegno segnalano la continuità di connessione e la presenza di effettivo traffico dati Fig. 7 - Una vecchia LAN card dotata di connessione BNC (per cavi di rete coassiali) alternativa alla classica RJ-45 (per cavi a doppini intrecciati) Fig. 8 - Oltre al cablaggio in rame esiste l’alternativa della fibra ottica: qui vediamo una scheda di rete ottica su bus PCI-X operante a velocità di 1Gbps. Peraltro, questo livello di prestazioni è ormai stato largamente raggiunto anche dal classico cablaggio in rame. IT administrator - Hardware Fig. 9 - Una LAN card su bus ISA. Questo tipo di bus non consente alla LAN card di trasferire, nella migliore delle ipotesi, più di 8 Mbyte/s: risulterebbe quindi del tutto inadatto alle reti 100 Mbps e Gigabit Ethernet, le cui schede, infatti, sono progettate per bus più veloci come il PCI, il PCI-X o il PCIExpress. 9 ma per non saturarlo né sfidarne i limiti teorici è decisamente preferibile un bus più veloce, specie se la rete è da 1 o 10 Gbps. Per questo i più recenti bus PCI-X e soprattutto PCI Express (specie il x16) dispongono della banda necessaria per reggere trasferimenti di dati ad alta velocità su reti di ultimissima generazione. Quando l’interfaccia di rete è integrata su motherboard è poco evidente quale sia il tipo di bus al quale il chip si interconnette, ma le specifiche tecniche della scheda dovrebbero indicarlo, o quantomeno dichiarare un throughput di prestazioni minimo garantito. Impianto di rete Abbiamo parlato delle principali topologie di cablaggio delle LAN, ossia della struttura della rete, e delle LAN Card, ossia l’anello di congiunzione fra PC e rete. Ma l’infrastruttura di rete a cui si collegano i PC è costituita anche da un altro elemento di fondamentale importanza: gli apparati attivi, che assicurano l’interconnessione fra le tratte di cavo, permettono di estendere la dimensione fisica della rete, consentono di migliorare le prestazioni della LAN ottimizzando la ripartizione del traffico e controllando l’utilizzo della banda, migliorano la sicurezza della rete filtrando il traffico sospetto o indesiderato, e così via. 1.12.2.4 Sapere dell’esistenza di apparecchiature di rete quali router, bridge e firewall 1.12.2.1 Sapere dell’esistenza di differenti tipi di HUB. Fig. 10 - Un router si occupa di instradare i pacchetti di dati in transito sulla rete verso le rispettive destinazioni, in base a determinate regole. È dotato di un certo numero di porte LAN e generalmente di almeno una connessione dedicata per il collegamento all’Internet Provider (per esempio tramite modem ADSL o gateway per fibra ottica). Può anche avere funzioni di firewall per la sicurezza della rete. I modelli rivolti al mercato Small Office-Home Office sono sempre più spesso dotati del supporto integrato per connessioni WiFi: in tal caso sul corpo del router spiccano una o più antenne Sapere dell'esistenza di apparecchiature di rete quali router, bridge e firewall Un tipo di apparato attivo indispensabile per il funzionamento di Internet è il router (letteralmente: instradatore), che in una rete a pacchetto basata sul protocollo IP si incarica di ridirigere il traffico dati verso la destinazione finale (figura 10). Ogni pacchetto dati riporta nella propria intestazione (header) le informazioni sull’indirizzo di provenienza e su quello di destinazione. Se la macchina di destinazione è collegata alla rete locale, il pacchetto viene ricevuto in modo diretto, senza bisogno di reinstradamenti di alcun tipo. Se invece l’indirizzo è sconosciuto sulla LAN, si deve presumere che esista altrove, per cui il pacchetto deve essere mandato all’esterno, contando sul fatto che la rete “extranet” (WAN, wide area network) saprà recapitarlo a destinazione; per questo il pacchetto viene inviato a un host denominato “default gateway” che si incarica di reinstradare i pacchetti non destinati a indirizzi dell’ambito locale. La categoria di apparati che prende questo tipo di decisioni sulla strada da far seguire ai pacchetti dati è quella dei router. I router agiscono sulla base di regole, impostate dagli amministratori di rete ed espresse in termini di indirizzi (o prefissi di indirizzi) e schede di rete: per esempio: “avviare alla porta LAN3 tutto il traffico diretto ad indirizzi che iniziano con 153.178.*.*”. Particolari indirizzi “jolly” di questo tipo, solo parzialmente specificati, sono detti netmask e sono usati per modellare gruppi di indirizzi contigui, che assumono il significato di sottoreti. Le regole di routing possono così essere riferite a insiemi circoscritti di PC, per limitare l’ambito di applicabilità e per meglio dominare la complessità del pro- 10 blema dell’instradamento del traffico. I router sono utilizzati sia per connettere una LAN a una WAN, sia nei nodi di inter- PC Open 112 Novembre 2007 Lezione 8 scambio delle WAN o fra le WAN. Nel primo caso essi sono solitamente dotati di due porte: una interna, verso la LAN, e una esterna, verso la WAN; le regole di instradamento saranno evidentemente molto semplici. Nel secondo caso possono avere anche decine di porte e un numero elevatissimo di regole, che provvedono al miglior instradamento fra varie alternative possibili, in base a numerosi criteri di scelta. Un altro tipo di apparato attivo di rete è il bridge. Questo si occupa di interconnettere due o più tratte di LAN, “imparando” automaticamente quali indirizzi fisici di rete esistono su ognuna di esse ed instradando di conseguenza i pacchetti in arrivo verso la LAN su cui si attesta l’host destinatario. Un bridge non è in grado di interpretare gli indirizzi IP e non conosce il concetto di sottoreti o netmask; la sua conoscenza degli host presenti sulle LAN collegate si limita ai loro indirizzi fisici (MAC address) e si basa soltanto sulla captazione di messaggi spontanei di notifica emessi dai PC della rete per asserire la propria esistenza e per dichiarare il proprio indirizzo. Un firewall è invece un sorvegliante incaricato di vigilare sulla sicurezza della rete. Si occupa di filtrare il traffico IP in transito, consentendo alle connessioni “innocue” di passare ma bloccando quelle “sospette”. Per esempio, potrebbe bloccare le connessioni entranti da Internet e lasciar passare quelle uscenti. Il funzionamento del firewall è stabilito da regole configurabili dall’amministratore di rete; il criterio per decidere come trattare una connessione può basarsi sull’indirizzo (o sottorete) di origine o di destinazione, sulla porta TCP interessata lato client o lato server; alcuni firewall esaminano perfino i dati scambiati nella connessione e la sequenza di richieste e risposte e tentano in base a ciò di scoprire il tipo di traffico per stabilire se è ammesso oppure no (questa tecnica è nota come Stateful Packet Inspection). Sapere dell’esistenza di differenti tipi di HUB. Da un punto di vista topologico un hub è analogo a uno switch: interconnette due o più tratte di LAN, consentendo al traffico di passare dall’una all’altra (figura 11). Ma a differenza dello switch, in cui i pacchetti vengono esaminati per decidere a quale (unica) LAN propagarli sulla base dell’indirizzo fisico di destinazione, un hub non effettua alcun controllo, e ogni pacchetto viene ripropagato su tutte le LAN (esclusa solo quella di provenienza, su cui sarebbe evidentemente inutile ripeterlo). Il suo funzionamento è quindi più semplice e vi è anche una certa semplificazione costruttiva. Tuttavia, poiché tutto il traffico in entrata da una LAN viene replicato su tutte le altre LAN, anche su quelle che non contengono l’host di destinazione, di fatto un hub spreca una notevole quantità di banda rispetto a uno switch. In determinate applicazioni, però, un hub è addirittura necessario. Per esempio, se si deve diagnosticare un problema di rete con un analizzatore di traffico (sniffer), per avere informazioni complete è necessario che questo possa esaminare tutto il traffico. Se il centro di connessione è costituito da uno switch e lo sniffer viene collegato a una porta di questo switch, esso non potrà ricevere che la sola quota di traffico che lo switch riconosce come destinato a lui: tutto il rimanente traffico non gli verrà trasmesso, e l’analisi risulterà impossibile. Il problema si risolve utilizzando un hub anziché uno switch. In queste condizioni, su ogni LAN (e quindi anche su quella a cui è collegato lo sniffer) viene replicato tutto il traffico ricevuto, e l’analizzatore potrà esaminare tutti i pacchetti inviati da qualsiasi host collegato all’hub. Lezione 8 Gli hub differi- 11 scono principalmente per il numero di porte (in genere almeno 4), anche se non raggiungono mai il numero di porte di uno switch, in quanto, proprio per la loro proprietà di replicare indiscriminatamente il traffico a tutte le LAN, se le LAN collegate sono troppe si arriverebbe presto a congestione. Dato il modo di funzionamento dell’hub, che replica il traffico su tutte le LAN tranne solo quella di provenienza, senza fare distinzioni in base all’host di origine, sulle sue porte di norma non vi sono distinzioni sul ruolo delle LAN da collegare. Sapere dell’esistenza di differenti tipi di switch Viceversa, nel caso di uno switch, poiché questo ha l’effetto di “focalizzare” il traffico decongestionando le tratte non interessate quando la destinazione si trova su una LAN nota, vi è una notevole differenza fra questo caso e quello in cui la destinazione non sia direttamente collegata allo switch, ma raggiunta attraversando altri hub o switch (figura 12). Per questo il pannello dei collegamenti riporta spesso un’indicazione particolare “uplink” su una delle sue porte: in una rete organizzata per “strati” logici (ad esempio: dorsale dipartimentale ad alta velocità a cui sono collegate varie “isole” che raccolgono il traffico di alcune postazioni PC) a tale porta va collegato il cavo che collega allo switch della LAN gerarchicamente superiore, attraverso la quale saranno indirettamente raggiungibili altri indirizzi fisici. L’architettura interna dello switch può essere organizzata in modo tale da avvantaggiarsi di questo vincolo di collegamento risparmiando sulla complessità circuitale. Ma soprattutto vi è il problema del cavo di collegamento fra i due switch, che idealmente dovrebbe essere di tipo cross: nei modelli dotati di porta uplink dedicata è però possibile usare un cavo normale nonostante la controparte sia ancora uno switch e non un PC. Altri modelli hanno un’architettura interna più completa, in grado di gestire indifferentemente connessioni uplink (con cavi normali o cross) su qualsiasi porta: si parla allora di “auto uplink”. Anche nel caso degli switch è poi importante la differenziazione in base al numero di porte, che, data la separazione dei flussi di traffico tipica dello switch, può anche raggiungere valori molto elevati senza che ogni LAN collegata risenta del traffico di tutte le altre. Concettualmente, a condizione che lo switch svolga correttamente il proprio lavoro, potrebbe esservi un numero arbitrariamente alto di porte LAN. Il problema è che al crescere del numero di porte IT administrator - Hardware LAN, cresce anche (linearmente con il numero di porte) il numero di pacchetti che devono essere esaminati dal processore di rete dello switch per stabilire a quale LAN debbano essere ripropagati: la CPU dovrà quindi essere sempre più veloce (e dovrà esserci anche una crescente quantità di RAM per memorizzare le tabelle di instradamento che lo switch “impara” man mano che scopre gli indirizzi fisici degli host collegati). Inoltre, la circuiteria interna dello switch deve assicurare che il traffico proveniente da qualsiasi LAN possa essere reindirizzato a qualunque altra LAN. La rete interna che assicura questa interconnessione a matrice, “tutti con tutti”, ha una complessità concettuale che cresce col quadrato del numero di porte. Anche se esistono schemi circuitali ottimizzati, per esempio con struttura gerarchica ad albero, che assicurano prestazioni quasi equivalenti a quelle della matrice completa, pur con una complessità inferiore (non quadratica rispetto al numero di porte), resta il fatto che costruire uno switch con elevato numero di porte è notevolmente più complesso rispetto a costruirne uno con un numero di porte inferiore, oppure rispetto a costruire un hub con lo stesso numero di porte. Per questo gli switch con elevata connettività (figura 13) hanno spesso un costo notevolmente elevato, specialmente se la matrice interna offre elevate prestazioni. In particolare, uno switch strutturalmente in grado di offrire connettività completa fra qualsiasi coppia di sue porte, senza che la matrice interna possa mai trovarsi ad aver esaurito le proprie risorse, è detto “nonblocking”. 13 Un altro fattore di differenziazione fra i modelli di switch riguarda la loro capacità di essere “gestiti”, ossia il fatto che dispongano di una interfaccia di controllo attraverso la quale sia possibile regolare alcuni parametri di funzionamento per migliorare le prestazioni o per adattarle alle esigenze della particolare situazione d’impiego. Uno switch Ethernet “non gestito” si autoconfigura e ha un comportamento del tutto autonomo. Uno switch gestito potrebbe invece permettere, in aggiunta, di regolare da un’interfaccia Web o via SNMP la velocità delle porte, o di abilitare particolari protocolli di rete, o ancora di definire delle Virtual LAN per gestire in modo più chiaro una grossa rete partizionandola in più sottoreti virtuali. 12 Switch con supporto di telefonia via Internet/ VoiceOver IP (VoIP). Alcuni switch sono dotati di capacità più evolute rispetto alla semplice interconnessione di LAN con ripropagazione selettiva del traffico. Ultimamente, per esempio, si vanno diffondendo anche nel mercato Small Office – Home Office degli switch di rete che integrano capacità VOIP. In alcuni casi si tratta di dispositivi altamente integrati che comprendono modem ADSL, switch, router, firewall, access point WiFi e connessioni telefoniche analogiche, rispetto alle quali l’unità si comporta da adattatore per VOIP. PC Open 113 Novembre 2007 Fig. 11 - Un hub di rete replica su tutte le linee il traffico ricevuto, senza eseguire alcuna elaborazione “logica” per tentare di indirizzare il traffico a destinazione. Per questa ragione è tecnicamente meno complesso e più economico, ma non favorisce un impiego efficiente della banda disponibile sulla rete 1.12.2.2 Sapere dell’esistenza di differenti tipi di switch (porte, gestito, non gestito, ecc). Fig. 12 - Uno switch a 5 porte con porta di uplink separata. Lo switch instrada i pacchetti ricevuti in base all’indirizzo fisico della loro destinazione, se ne è nota l’ubicazione. Se una porta è collegata a cascata a un altro switch o hub, il cavo dovrebbe essere cross. In caso contrario si può usare un cavo normale, ma su alcuni modelli è necessario “aiutare” l’unità collegando il cavo a una porta ben precisa, che a volte va usata in alternativa a una delle porte standard. Gli switch più moderni non richiedono questa accortezza perché rilevano automaticamente, per ogni porta, di che tipo è il cavo collegato, eliminando il problema (“auto uplink”). Con il termine “auto sense” ci si riferisce invece alla capacità di selezionare la massima velocità consentita da ciascun link Fig. 13 - Uno switch Ethernet a 48 porte 1.12.2.3 Sapere dell’esistenza di switch con supporto di telefonia via Internet/VoiceOver IP (VoIP) IT administrator - Hardware 1.12.3.1 Sapere dell’esistenza dei NAS (Network Attached Storage) 1.12.4.1 Conoscere le modalità di funzionamento di una connessione Wi-Fi Fig. 15 - Un wireless router con tecnologia MIMO. Molti wireless router incorporano un certo numero di porte Ethernet wired. In questo senso la connessione WiFi a uno o più PC è assimilabile a un insieme di porte Ethernet supplementari, semplicemente basate su una tecnologia trasmissiva diversa da quella del tradizionale cavo Fig. 14 - Un dispositivo NAS (Network Attached Storage). All’interno trovano posto normali meccaniche IDE o SATA e un controller con sistema operativo autonomo che supporta la gestione e la condivisione via rete dei dischi. Generalmente è presente supporto RAID per aumentare le prestazioni o l’affidabilità del sistema. Il NAS funziona autonomamente esportando i suoi file system sulla rete e non richiede di essere stabilmente collegato a un PC acceso Lezione 8 NAS, i dischi in rete Wi-Fi, connessioni senza fili Come abbiamo accennato in apertura, uno dei principali motivi che spingono a creare una rete locale è quello di condividere risorse fra i sistemi. Fra i tipi di risorsa che è più frequente condividere in rete troviamo le stampanti e soprattutto i dischi. Proprio per quanto riguarda i dischi osserviamo che in una rete di PC la modalità tipica per condividerli è la funzionalità di condivisione offerta da Windows. In questo sistema, un PC acceso e con Windows funzionante può rendere disponibile una cartella o anche un intero disco agli altri PC della rete, purchè per l’accesso vengano forniti username e password validi (se previsti dal modello di security supportato dalla versione di Windows usata). Questo schema di condivisione è ben noto e molto facile da usare, ma non è privo di svantaggi. Quello principale è che se il disco condiviso è particolarmente importante ed è richiesto che sia sempre disponibile, con questo schema è necessario che il PC che fa da server venga mantenuto costantemente acceso, con il suo consumo elettrico non trascurabile. Inoltre, trattandosi di un PC con Windows, da un punto di vista di sicurezza di rete esso soffre delle varie vulnerabilità che vengono via via scoperte e corrette da Microsoft; richiede insomma un certo impegno amministrativo. Se poi tale PC coincide con un desktop utilizzato da uno degli utenti della rete, e questo utente non pone la dovuta attenzione nella protezione della propria macchina contro virus e malware, non si può escludere il caso di una perdita di dati anche grave che potrebbe naturalmente coinvolgere le cartelle o i dischi che quel PC condivide in rete. Per questi motivi, se si desidera una migliore garanzia di disponibilità del servizio, è consigliabile separare anche fisicamente il ruolo dei PC client (che usano le informazioni) da quello dei server (che si occupano esclusivamente di condividere dischi). Se il numero di dischi o cartelle da condividere in rete non è troppo elevato, il server, anziché essere un PC dedicato, può anche ridursi al disco stesso, purchè dotato di interfaccia di rete: si parla in questo caso di Network Attached Storage (NAS) perché il disco è collegato direttamente alla rete, anziché essere collegato a un PC collegato a sua volta alla rete. (figura 14) I consumi elettrici si riducono, poiché la quantità di hardware da alimentare è ridotta al minimo (la meccanica del disco e il suo controller), e l’amministrazione, specie con i moderni modelli gestiti via interfaccia web, è davvero semplice. Inoltre il sistema operativo dedicato usato dai NAS ha l’unica funzione di esportare il disco in uno dei protocolli previsti e di offrire un’interfaccia amministrativa web, ha una complessità molto inferiore a quella del sistema operativo tradizionale (Windows o Linux) che gira su un PC o su un server. Pertanto esso è 14 tendenzialmente meno soggetto a contenere un gran numero di vulnerabilità latenti ed è di conseguenza meno “attaccabile” e può offrire un maggior livello di sicurezza. La grande novità degli ultimi anni nel campo del networking, specialmente per impieghi in ambito residenziale e Small Office, nonché per l’uso in viaggio, è indubbiamente l’introduzione della tecnologia wireless e il suo continuo perfezionamento, che ne sta ormai avvicinando le prestazioni a quelle di una classica rete cablata. Non c’è dubbio infatti che in ambito domestico l’eliminazione della necessità di passare cavi e forare pareti sia un apprezzatissimo vantaggio. Quanto all’utilizzo nomadico, poi, la tecnologia di rete wireless (o WiFi, considerato l’acronimo di “Wireless Fidelity”) si può considerare non semplicemente come un miglioramento, ma come la vera e propria tecnologia abilitante: non sarebbe 15 infatti pratico che in un luogo pubblico come una sala congressi, un’area di servizio autostradale o una sala d’attesa dell’aeroporto vi fossero fasci di cavi Ethernet cat.5 a disposizione dei viaggiatori. PC Open 114 Novembre 2007 Le modalità di funzionamento di una connessione Wi-Fi Concettualmente una connessione WiFi agisce come sostituto di una tratta via cavo, seppure con qualche differenza operativa dipendente dalla natura wireless della tecnologia sottostante. Infatti, se in una rete a cavo risulta sempre immediatamente evidente chi è collegato a che cosa (basta osservare o seguire i cavi), non è così per una rete wireless, in cui le connessioni non sono palesi: l’utente deve sapere a quale rete è connesso il suo PC, e l’amministratore di rete deve sapere chi si sta collegando alla rete e deve avere modo di limitarli. Altra particolarità delle reti wireless è la facilità di intercettazione: il segnale radio è diffuso da antenne omnidirezionali e chiunque si trovi entro il raggio di copertura del segnale può ricevere le trasmissioni esattamente come il legittimo destinatario. Allo stesso modo, è possibile trasmettere al posto del legittimo mittente, magari approfittando di un suo momento di silenzio, ingannando il ricevente con messaggi falsi, riprodotti o alterati. Occorrono quindi delle contromisure che garantiscano l’identificazione della controparte e che impediscano la lettura dei messaggi intercettati. Questo si ottiene utilizzando tecnologie crittografiche, che attraverso la cifratura dei dati trasmessi rendono di fatto inutile l’intercettazione dei segnali (i messaggi raccolti sarebbero infatti incomprensibili per chiunque non conosca la password di decifrazione). Inoltre, poiché la comunicazione è possibile soltanto a chi sia in possesso delle credenziali o password necessarie, questo schema assicura anche l’identificazione della controparte (almeno fintantochè la segretezza della password rimane tale). Ricordiamo che nelle reti WiFi vi sono due modalità operative fondamentali: • La modalità ad hoc interconnette due PC ed equivale all’uso di un cavo “cross” collegato direttamente alle porte Ethernet delle due macchine. • La modalità infrastructure si basa sulla presenza di Lezione 8 un access point, che fa da centro stella comportandosi come un hub di rete wireless: all’access point sono collegati punto-punto tutti i singoli PC della rete WiFi. Se la rete wireless è composta da due soli PC, uno dei quali eventualmente collegato a Internet, è possibile risparmiare utilizzando la modalità ad hoc. Se invece i PC sono più numerosi, se il servizio va offerto al pubblico, se si desidera che l’accesso sia sempre possibile senza dover tenere costantemente acceso un PC, allora la modalità idonea è quella infrastructure. L’access point può essere collegato al modem ADSL o fibra, oppure può integrare direttamente tali funzioni; qualche volta integra anche uno switch Ethernet a 4 porte. In tal caso si parla generalmente di wireless router o wireless gateway anziché di access point puro e semplice. Principali modulazioni nel Wi-Fi, le relative capacità di trasferimento e le limitazioni Le attuali tecnologie WiFi standard sono tre, una delle quali non diffusa in Europa, e corrispondono a tre sottovarianti di un unico standard, l’IEEE 802.11. La variante “b” supporta una banda di 11 Mbps lavorando sulle frequenze dei 2.4 GHz; la variante “g” arriva a 54 Mbps lavorando sulla stessa banda. La variante “a”, utilizzata soprattutto in USA, offre anch’essa una banda di 54 Mbps ma opera sui 5 GHz. Accanto agli standard ufficiali è comparso sul mercato un gran numero di prodotti facenti uso di tecnologie proprietarie di accelerazione implementate da vari chipset concorrenti; a seconda del chipset adottato da un determinato prodotto WiFi (access point, scheda PCI, adattatore USB) le prestazioni avranno un determinato fattore di accelerazione, a condizione che la controparte sia dotata anch’essa di accessori basati sulla stessa tecnologia hardware, altrimenti il comportamento tipico del chipset sarà quello di degradare le prestazioni al più alto livello standard supportato da entrambe le controparti (questo comportamento è il cosiddetto “fallback”). Nel caso di rete wireless a cui partecipa un gran numero di PC, in genere è sufficiente che uno solo di essi sia equipaggiato con una schede di rete obsoleta per costringere tutti gli altri ad adattarsi, degradando le prestazioni. Fra le principali tecnologie di accelerazione finora comparse sul mercato ricordiamo lo standard 22 Mbps, evoluzione dell’802.11b, e il 100 Mbps, il 108 Mbps e il 125 Mbps, tutte evoluzioni dell’802.11g. La prossima evoluzione ufficiale dello standard sarà l’802.11n, operante sui 2.4 GHz ma anche sui 5 GHz, la cui principale innovazione è l’introduzione della tecnologia MIMO (Multiple Input-Multiple Output) che affronta intenzionalmente tutti i problemi legati a percorsi di propagazione multipli, echi ed antenne multiple sfruttandoli per aumentare le prestazioni e la portata. Si prevede infatti che con l’802.11n si potranno raggiungere oltre 200 Mbps di picco, ma in particolare, ciò che più conta, una banda tipica effettiva prossima ai valori massimi teorici. In sostanza le prestazioni dovrebbero quadruplicare, e la portata raddoppiare, rispetto all’802.11g “normale”. Purtroppo la ratifica di questo standard sta impiegando molto tempo. Nella lunga attesa i produttori non se ne sono stati con le mani in mano, ma hanno cercato di immettere sul mercato prodotti che proponessero implementazioni proprietarie dei concetti e delle tecnologie MIMO. In questo caso si sente spesso parlare di tecnologie “pre-N”, “MIMO” o “draft-N”. Le prestazioni e la portata di questi dispositivi sono generalmente intermedie fra quelle dei più veloci prodotti “accelerati” di generazione precedente e quelle promesse dal “vero” IT administrator - Hardware standard 802.11n. Il problema sta nel fatto che non è possibile garantire con assoluta certezza che tali prodotti possano essere resi compatibili con la versione definitiva dello standard semplicemente per mezzo di un aggiornamento software. In rari casi, per evitare questa incertezza, i produttori hanno preferito attendere l’uscita del “vero” 802.11n prima di lanciare i loro prodotti MIMO. Dove utilizzare il WiFi Le tipiche applicazioni della tecnologia di rete WiFi comprendono • l’accesso (rigorosamente da proteggersi a mezzo WEP, WPA o WPA2) alla rete aziendale o dipartimentale da terminali laptop e PDA; • l’accesso a Internet a pagamento da luoghi pubblici (hot spots, sale d’attesa); • l’accesso a Internet gratuito da luoghi ad accesso controllato (es. VIP lounge all’aeroporto, centri congressi, sale conferenze, sale stampa) • la “cablatura wireless” in ambito residenziale, che evita il passaggio dei cavi o la foratura di muri. • come caso particolare in ambito domestico, l’audio/video streaming da un server multimediale a un dispositivo collegato al televisore e/o all’impianto HiFi; questo tipo di dispositivo è generalmente definito “set top box” o “multimedia appliance”. • automazione logistica in fabbrica e in magazzino, per il collegamento fra il sistema ERP e terminali e scanner mobili Cominciano inoltre a diffondersi stampanti di rete equipaggiate con la scheda WiFi in affiancamento, o addirittura in sostituzione, della classica scheda Ethernet. Queste stampanti sono così utilizzabili da qualunque PC si trovi nei dintorni, a condizione di conoscere SSID e password (in caso di protezione crittografica). 1.12.4.2 Distinguere le principali modulazioni utilizzate nel Wi-Fi, le relative capacità di trasferimento e le limitazioni di portata 1.12.4.3 Conoscere le applicazioni tipiche (per computer portatili, stampanti ecc.) 1.12.4.4 Sapere dell'esistenza di punti d'accesso, adattatori PCI e schede PC-card wireless Punti d'accesso, adattatori PCI e schede PC-card wireles I dispositivi che consentono concretamente di realizzare una rete WiFi e di attrezzare i PC perché possano collegarsi a essa sono di due tipi: • L’Access Point (figura 16), necessario per realizzare le reti di tipo “infrastructure”, che funziona come un hub di rete wireless, al centro della “stella” di collegamenti. Un access point “puro” si collega via Ethernet a uno switch, a un modem ADSL o a un Access Gateway per fibra ottica, e si occupa esclusivamente di fare da ponte fra la rete wired e quella wireless. In qualche caso però l’access point è solo una funzione di un apparecchio multiuso che integra uno switch di rete locale Ethernet, un modem ADSL, un firewall e un router. In questo caso si parla spesso di wireless gateway o wireless router. • Le schede di rete wireless, che a seconda delle esigenze possono essere confezionate come schede PCI (da inserire sul bus interno nei sistemi desktop), come schede PCMCIA o ExpressCard (solo per laptop e sempre più rare, visto che i laptop ormai sono quasi tutti regolarmente dotati di supporto WiFi) oppure come adattatori USB (per desktop 16 PC Open 115 Novembre 2007 17 Fig. 16 - Un access point WiFi non instrada il traffico come il wireless router, ma si incarica semplicemente di interconnettere la parte di rete wireless con quella wired. Sarà come se i PC dotati di scheda wireless fossero attestati comunque sulla rete wired Fig. 17 - Una scheda di rete WLAN può essere realizzata come scheda PCMCIA o ExpressCard (per portatili), come scheda PCI (per desktop) o come dispositivo USB, per un utilizzo universale. Alcuni modelli sono provvisti di antenna esterna IT administrator - Hardware Fig. 18 Un modem V.90 può raggiungere una velocità di 56Kbps in download. In passato erano piuttosto diffusi i modelli esterni con collegamento seriale, come quello in figura. Alcuni erano in grado di funzionare anche a computer spento, come segreteria telefonica, o per ricevere i fax. Col tempo hanno prevalso i modem su scheda interna PCI o integrati su motherboard (come nei portatili): quasi tutti i PC oggi ne sono dotati. La velocità di un modem 56K è però ormai insufficiente per quasi tutti gli impieghi e laptop) (figura 17). Molto rare le schede wireless in formato Compact Flash o SDIO, per l’uso su palmari non dotati in origine della necessaria circuiteria. Le schede di rete, come quasi tutti gli accessori (anche Plug and Play) direttamente e stabilmente collegati al PC, richiedono sempre un driver che deve essere fornito dal produttore insieme al prodotto. Oltre al driver spesso viene installata una utility di amministrazione e configurazione da cui si controllano aspetti quali la crittografazione WEP/WPA, le reti a cui collegarsi o i parametri tecnici radio della scheda. Anche Windows tuttavia dispone di una utility con il medesimo scopo e non è possibile che i due sistemi di controllo siano attivi contemporaneamente. In qualche caso quindi conviene non installare la utility proprietaria, lasciando che sia Windows a gestire la scheda di rete. Piuttosto difficoltosa, in genere, la reperibilità di drivers per Linux per le schede WiFi. Fortunatamente esiste una soluzione (ndiswrapper) che in molti casi permette di riutilizzare sotto Linux il driver di rete per Windows. A differenza delle schede di rete, gli access point sono sistemi del tutto autonomi, dotati di un proprio sistema operativo e di una propria interfaccia di controllo a cui si accede usando un web browser, come se si trattasse di un sito web. Non richiedono quindi l’installazione di alcun driver sul PC, anzi non richiedono neppure di essere connessi a un PC per funzionare. Poiché chiunque si trovi nei dintorni potrebbe teoricamente accedere abusivamente all’access point ed alterarne la configurazione, l’interfaccia di controllo web prevede sempre una autenticazione aggiuntiva rispetto alla protezione crittografica. Pertanto prima di poter accedere ai menu di configurazione del dispositivo è sempre necessario anche autenticarsi fornendo login e password. Questi dovrebbero essere sempre cambiati immediatamente al primo uso, in quanto i valori predefiniti in fabbrica sono noti per ciascun modello di access point ed eventuali hacker basati nei paraggi potrebbero facilmente reperirli consultando documentazione di prodotto scaricata da Internet. Il modem 1.12.5.1 Conoscere i modem analogici 1.12.5.2 Conoscere gli adattatori ISDN Il collegamento fra un sistema digitale come il PC ed un sistema di trasmissione segnali basato su tecnologia analogica, come la normale rete telefonica o la rete ADSL, richiede uno speciale adattatore che si occupa • di trasformare segnali digitali in segnali analogici, modulando in ampiezza, in frequenza o in fase un’onda portante da immettere sul mezzo trasmissivo analogico; • di reinterpretare le onde modulate ricevute dalla rete analogica, estraendone l’informazione digitale. Il primo processo si chiama “modulazione” e il secondo “demodulazione” e i dispositivi che si occupano di queste due trasformazioni, per contrazione da “modulator-demodulator”, sono detti “modem”. I modem analogici Si fa uso di un vero e proprio modem quando il PC deve comunicare sulla normale rete telefonica analogica (PSTN), perché il suo funzionamento è analogico: per poter essere trasportati, i bit del flusso di dati digitale devono essere trasformati in segnali elettrici analogici equivalenti a quelli a cui avrebbero dato luogo dei particolari suoni in una chiamata voca- PC Open 116 Novembre 2007 Lezione 8 le. Per questa situazio- 18 ne (la cosiddetta modalità d’accesso “dialup”, perché richiede di comporre un numero telefonico proprio come in una chiamata vocale) i modem si sono evoluti fino a raggiungere il livello massimo di prestazioni di 56 Kbit/secondo, donde il nome di “modem 56K”. Per lungo tempo i modem non rientravano nell’equipaggiamento di base dei personal computer, dal momento che molti anni fa il collegamento a Internet o a una LAN aziendale via rete telefonica era un’operazione complicata, precaria e a basse prestazioni che interessava un’utenza altamente specialistica; pertanto all’epoca venivano venduti come accessori prima esterni (collegati al PC via porta seriale RS-232-C) e poi interni, da installare su bus ISA o PCI per i desktop o su bus PCMCIA per i laptop. Col tempo, però, l’accesso dial up a Internet è diventato talmente comune da non poter più essere considerato un optional. Anzi spesso era un motivo per l’acquisto del personal computer (figura 18). Così il modem 56K è entrato a far parte della dotazione di base dei PC: come scheda PCI preinstallata, nel caso dei desktop; addirittura come circuiteria integrata su motherboard, nel caso dei laptop. Oggi i siti Internet e i requisiti di banda hanno reso assolutamente inadeguate le prestazioni raggiungibili con un modem 56K, per cui questa dotazione, seppure sempre presente nei PC contemporanei, è di fatto obsoleta e ridondante e va considerata solo come una soluzione di emergenza da “extrema ratio” per collegarsi a Internet quando non c’è proprio alternativa: né rete cellulare, né ADSL, né HAG per fibra ottica, né una rete Ethernet, né WiFi. Gli adattatori ISDN Sostanzialmente diverso è invece il caso delle connessioni alla rete effettuate mediante lo standard digitale ISDN (Integrated Services Digital Network). Questa tecnologia di rete si basa su un modello di funzionamento intrinsecamente digitale e l’interfaccia fra la rete stessa e le apparecchiature che ne fanno uso, anch’esse digitali, non richiede alcun particolare adattamento analogico-digitale. Non a caso in questo caso particolare non si parla di modem, ma di Terminal Adapter. Una rete ISDN consente di comunicare con voce e dati sulla stessa rete in modalità digitale, un po’ come avviene su Internet che può veicolare sia dati sia voce (dopo digitalizzazione, magari VoIP). Se il risultato è concettualmente simile, l’obiettivo iniziale era però profondamente diverso. Lo standard ISDN nasce nell’arena dei produttori di sistemi e infrastrutture per reti telefoniche e aveva lo scopo di superare i limiti della normale rete analogica PSTN sostituendola con una rete dotata del supporto nativo per la comunicazione dati; la tecnologia di rete Internet invece nasce fondamentalmente dal mondo della microinformatica, in cui l’enfasi è tradizionalmente stata quella dei dati, mentre solo in epoca recente si è iniziato anche a sfruttare, con la tecnologia VoIP, il potenziale del web come infrastruttura di comunicazione “telefonica”. L’ISDN è anche uno standard relativamente vecchio e in fase declinante; per motivi di scarso tempismo e di costi di migrazione eccessivamente onerosi per l’epoca ha sicuramente mancato l’obiettivo di creare una rete telefonica digitale, ma in virtù delle sue discrete capacità trasmissive (il profilo Basic Access consentiva 64+64 Kbps contro i 56Kbps messi a dispo- Lezione 8 sizione da una connessione dial-up PSTN analogica) ha vissuto una breve stagione di rinnovato interesse come alternativa “veloce” per il collegamento alla rete; proprio per questo uso servivano i Terminal Adapter, generalmente implementati come schede PCI o ISA da installare all’interno di un desktop, ma anche come unità esterne seriali o, più recentemente, USB. Dato l’avvento della ben più veloce tecnologia ADSL, l’ISDN come sistema per l’accesso dati alla rete è ormai in declino; oggi di fatto sopravvive soltanto come standard per la connessione digitale dei centralini telefonici alla rete di accesso. I modem ADSL Anche la tecnologia ADSL (Asymmetric Digital Subscriber Line) richiede dei dispositivi di interfaccia per collegare il PC alla rete telefonica, i cosiddetti modem ADSL. A differenza del caso dell’ISDN in cui questa connessione è da considerarsi completamente digitale, un modem ADSL realizza una trasmissione dati digitale su una linea che fondamentalmente rimane analogica. Vi è però una importante differenza: il modem 56K su questa linea analogica scambia segnali modulati che rientrano tutti nello spettro di frequenze usato per la fonia, mentre l’idea alla base dell’ADSL è quella di utilizzare per la comunicazione dati quello che resta dello spettro disponibile, lasciando anzi libera la porzione dedicata alla comunicazione voce. Questa può quindi continuare a essere usata, purchè un opportuno filtro separi le due bande silenziando i disturbi che altrimenti si udirebbero durante la chiamata telefonica. Tutto si basa sul fatto che la linea in rame che collega la presa dell’abbonato con la centrale telefonica è un canale di comunicazione analogico con una banda passante notevolmente più ampia di quanto basti per la sola fonia. Anche se la banda passante dipende fortemente dalla qualità dei cavi e dalla loro lunghezza (che dipende a sua volta dalla distanza geografica fra l’abitazione e la centrale), non sono infrequenti situazioni in cui è disponibile una banda di 1 MHz e oltre. Invece, nella centrale telefonica, l’elaborazione del segnale prendeva in considerazione esclusivamente i 4 KHz più bassi dello spettro, “sprecando” tutto il resto. Poiché le alte frequenze non vengono sfruttate dal servizio fonia, può servirsene l’ADSL per far passare anche i flussi dati sullo stesso mezzo fisico già installato (il ben noto “doppino” in rame), senza bisogno di installare nuovi cavi. Nell’ADSL, per ragioni pratiche e per consentire una efficace gestione del rumore escludendo le sole frequenze troppo disturbate, si divide lo spettro delle alte frequenze in un certo numero di sottobande. Dopo una valutazione (“probing” o “training”) delle varie sottobande per valutarne il livello di rumore, alcune saranno ignorate perché inutilizzabili, altre saranno allocate al flusso in trasmissione verso la centrale (upstream, o upload) e le restanti saranno usate per il flusso verso il PC (downstream, o download). Caratteristica tipica dell’ADSL è il fatto che in direzione downstream si utilizza 19 un numero di sottobande maggiore rispetto all’upstream, questo per offrire una buona velocità operativa nello scenario d’uso più frequente che è quello della ricezione IT administrator - Hardware 20 di dati (ricezione di pagine web, download di file, ricezione di email con attachment,…). È da questa tipica “asimmetria” dell’allocazione delle bande, sbilanciata a favore del download, che deriva la “A” dell’acronimo ADSL. Esistono comunque altre tecnologie della famiglia xDSL in cui l’allocazione è esattamente simmetrica, in considerazione di finalità d’impiego differenti. Anche se sui vari canali della linea viaggiano segnali modulati in modo analogico, la tecnologia usata nei circuiti di gestione del segnale e la logica di controllo della qualità dei canali si basano su sistemi digitali. In particolare la circuiteria che si occupa della precisa separazione dei canali, del filtraggio dei disturbi e della modulazione fa largo uso dei cosiddetti DSP (processori digitali di segnale: Digital Signal Processor), e questo avviene sia lato utenza (nei modem ADSL) sia in centrale, in cui appositi apparati detti DSLAM (DSL Access Multiplexer, multiplatori d’accesso DSL) si occupano di raccogliere i flussi dati generati dall’utenza ADSL e di avviarli alla rete dati dell’ISP separandoli concettualmente dal percorso dei circuiti usati dalla rete fonia. È questa applicazione di tecnologie digitali al trattamento di segnale ad aver reso possibile a costi ragionevoli la comunicazione dati ad alta velocità su un mezzo trasmissivo “di fortuna” come il doppino telefonico, donde la “D” nell’acronimo ADSL. Nei modem ADSL (figura 19) esistono significative differenze riguardanti lo standard implementato. Lo standard originario ITU G.992.1, noto anche come G.DMT (Discrete Multitone Modulation), supportava 1 Mbps in upstream e 8 Mbps in downstream sfruttando estensivamente la banda disponibile sul doppino. Purtroppo ciò portava a generare una certa quantità di disturbi nella banda fonia, per cui l’installazione di un filtro separatore (splitter) diventava praticamente obbligatoria per non interferire troppo con l’audio delle comunicazioni voce. L’installazione di un filtro (figura 20) rappresenta un costo aggiuntivo e soprattutto una complicazione, non richiesta per esempio per l’uso dei modem 56K, che costituiva un ostacolo a una diffusione di massa di questo tipo di servizio. Si è quindi cercato un compromesso che riducesse o eliminasse del tutto la necessità di uno splitter. Lo standard G.Lite, grazie a un utilizzo meno “invasivo” delle frequenze, riesce nell’intento, a costo però di un calo di prestazioni dovuto al minor numero di sottobande sfruttabili per la comunicazione DSL: il G.Lite infatti non supera i 512 Kbps in upload e gli 1.5 Mbps in download. Non a caso il G.Lite, destinato a un’utenza con esigenze di banda limitate e che non gradisce procedure d’installazione troppo complesse, è stato spesso proposto come versione “base” del servizio ADSL, proponendolo alla fascia bassa del mercato. Più di recente hanno fatto la loro comparsa due importanti evoluzioni della tecnologia ADSL che hanno aumentato notevolmente le prestazioni. Si tratta dell’ADSL2 e dell’ADSL2+. Il primo migliora il sistema di modulazione rendendolo più efficiente (tanto che a parità di condizioni la banda downstream può arrivare a 12 Mbps) e migliorando le prestazioni anche in caso di lunghe distanze fra abbonato e centrale telefonica, mentre il secondo raddoppia la porzione di spettro di frequenze utilizzata portandola da 1.1 MHz a 2.2 MHz. Grazie a queste innovazioni si può arrivare a ben 24 Mbps in download. Anche in questo caso PC Open 117 Novembre 2007 Fig. 20 - Un filtro ADSL per presa tripolare. Non sempre i filtri sono forniti in dotazione con il modem: in tal caso devono essere acquistati a parte. I modem ADSL G.Lite usano una porzione di spettro meno ampia ed in molti casi possono fare a meno del filtro, a differenza dei normali modem ADSL e soprattutto dei modelli ADSL2/2+ 1.12.5.3 Conoscere i modem ADSL Fig. 19 - Un modem ADSL dalla curiosa forma “a manta”. I modem ADSL più recenti supportano gli standard ADSL2 e ADSL2+, grazie ai quali la velocità può teoricamente superare i 20 Mbps in download. Il collegamento con il PC può essere via Ethernet o via USB. I modelli integrati in un access point possono essere raggiunti anche via WiFi IT administrator - Hardware i gestori ADSL hanno utilizzato denominazioni commerciali (“Super”, “Turbo” e così via) per identificare i servizi basati su queste tecnologie. I modem ADSL sono quasi sempre dotati di interfaccia USB o Ethernet; in qualche caso le due interfacce sono entrambe presenti. Spesso la funzionalità di modem ADSL è direttamente integrata nell’access point o nel router. Il principale svantaggio di questa soluzione sta nel fatto che qualora la tecnologia subisca una evoluzione che richieda necessariamente un aggiornamento hardware con sostituzione del modem (come è avvenuto con ADSL2/2+), l’investimento risulta piuttosto alto dato che l’unità da sostituire comprende anche le funzioni di access point, router e firewall. Meglio quindi preferire una soluzione a componenti separati, se possibile, o in alternativa avvalersi delle offerte di comodato d’uso gratuito per i modem. 1.12.5.4 Sapere dell'esistenza di modem/adattatori di rete locale che utilizzano le linee elettriche Fig. 21 - Speciali adattatori basati sulla tecnologia Powerline (oggi ribattezzata HomePlug) sono in grado di veicolare traffico di rete Ethernet sulla rete elettrica 220V, con una riedizione moderna della vecchia tecnologia a “onde convogliate”. Grazie al sofisticato trattamento del segnale operato dai circuiti DSP, nonostante i disturbi è possibile raggiungere velocità di tutto rispetto: 14, 85 o anche 200 Mbps, senza dover passare nuovi cavi. Le prestazioni effettive però variano sensibilmente a seconda delle caratteristiche della rete elettrica Modem/adattatori di rete locale che utilizzano le linee elettriche Così come l’ADSL, grazie alla tecnologia d’elaborazione digitale del segnale (DSP), ha inaspettatamente “spremuto” nuove prestazioni dal vecchio doppino telefonico già installato, un’altra notevole tecnologia è in grado di fare altrettanto con i cavi della rete elettrica 220V di un’abitazione o ufficio. Nonostante si tratti di cavi di qualità ancora più “vile” rispetto a quella del cablaggio telefonico (quest’ultimo, seppure non schermato, è un doppino accuratamente ritorto per ridurre gli effetti di autointerferenza), anch’essi presentano un interessante “potenziale nascosto” in termini di banda sfruttabile ai fini della trasmissione dati. Pertanto non si è perso tempo nello studiare dispositivi che, gestendo anche in questo caso con sofisticate tecniche DSP in tempo reale i forti disturbi di linea fino a neutralizzarli o almeno tenerli sotto controllo, consentissero di usare la rete elettrica di casa come una LAN. Questo tipo di tecnologia è genericamente chiamata Powerline Communication (PLC), ma la denominazione commerciale dello standard che la implementa in prodotti consumer è detta HomePlug (figura 21) . La prima generazione di dispositivi (HomePlug 1.0) raggiungeva velocità di 14 Mbps, in teoria competitiva con il WiFi 802.11b (11 Mbps); hanno fatto seguito una seconda generazione (1.0 Turbo) capace di 85 Mbps e, più recentemente, una nuova evoluzione (HomePlug AV) capace di 100-200 Mbps e quindi adatta anche alla distribuzione di segnali audio-video in streaming. Va tenuto conto che le prestazioni sono fortemente variabili in funzione della distanza fra le parti in comunicazione, della qualità del cablaggio della rete elettrica di casa, del tipo e numero di apparecchi collegati alla rete e delle interferenze da essi generate. 21 1.12.6.1 Sapere dell'esistenza di versioni interne (PCI, integrate) Lezione 8 Un altro problema in via di progressiva attenuazione è stato, soprattutto all’inizio, la scarsa compatibilità fra dispositivi Powerline di produttori diversi, o, più precisamente, basati su chipset differenti. Gli adattatori Powerline si presentano in genere come dei box simili ad alimentatori che si collegano alla presa di corrente e presentano una presa Ethernet. Non richiedono l’installazione di alcun driver e sono amministrabili da browser, con interfaccia tipo Web. Uno degli aspetti a cui prestare attenzione è, come nel caso delle reti WiFi, la protezione crittografica dei dati. Infatti chiunque si possa collegare a una presa di corrente servita dallo stesso contatore potrà captare i pacchetti che circolano su questa sorta di LAN. Per questo le comunicazioni devono essere cifrate con appositi algoritmi crittografici che richiedono l’impostazione di una password uguale su tutti i dispositivi della rete. Nei casi più semplici gli adattatori non richiedono alcuna configurazione in quanto sono già tutti impostati in fabbrica con una password di default, pertanto basta effettuare i collegamenti fisici (presa 220V e cavi Ethernet) per iniziare immediatamente a lavorare. Dal punto di vista della praticità e del basso costo d’installazione dell’infrastruttura, la tecnologia Powerline è quindi competitiva con quella WiFi: nessun nuovo cavo da passare. Inoltre, a differenza del WiFi, non esiste il concetto di access point e non servono nemmeno alimentatori, visto che l’energia necessaria al funzionamento degli adattatori PLC viene tratta direttamente dalla presa a cui sono collegati. Infine, il fatto che i dati possano viaggiare sullo stesso mezzo della corrente elettrica che alimenta i dispositivi di casa, fra cui impianto HiFi, elettrodomestici e così via, è molto interessante in quanto consente di integrare in una rete dati, senza nuovi cavi né antenne WiFi, qualsiasi dispositivo che sia connesso alla rete elettrica. Se questa impostazione dovesse prendere piede, in futuro gli elettrodomestici in vendita potrebbero integrare la economica circuiteria necessaria e diventare potenzialmente “intelligenti” e gestibili da remoto: l’home automation potrebbe consentire di azionare o controllare via Web, magari dall’ufficio, condizionatori, caldaie, frigoriferi, lavatrici e così via; oppure gli elettrodomestici stessi potrebbero collegarsi a Internet per rimpinguare automaticamente le scorte di vettovaglie (è il caso dei mitici “frigoriferi intelligenti”), ordinare materiali di consumo o richiedere interventi di manutenzione periodica. Porte di connessione Qualunque sia la tecnologia di comunicazione di rete adottata, essa comporta sempre la necessità di collegare fisicamente il PC alla rete, in modo diretto o con la mediazione di un apposito adattatore o modem. Poiché sono presenti varie opzioni alternative, si pone quasi sempre il problema di scegliere la forma di collegamento più vantaggiosa o più adatta alle proprie esigenze. Le implicazioni di questa scelta non sono banali, sia in termini di costo sia per quanto riguarda la praticità e la riusabilità, come vedremo, per cui è importante dedicarvi la dovuta attenzione. Versioni interne (PCI, integrate) In molti casi l’hardware necessario alla connessione del PC è installato direttamente al suo interno. Nel caso dei desktop, a seconda delle scelte tecniche del produttore, la circuiteria può essere addirittura integrata sulla motherboard oppure essere basata su PC Open 118 Novembre 2007 Lezione 8 una scheda di espansione preinstallata in uno slot PCI (per i desktop). Naturalmente è possibile aggiungere in un secondo tempo l’accessorio che occorre e in questo caso l’unica possibilità per un’installazione interna è quella della scheda su slot PCI. Modem 56K, terminal adapter ISDN, schede di rete Ethernet e WiFi sono tutti esempi di schede interne PCI, preinstallate o “after market”, che possono trovare posto nel nostro PC. In genere la presa Ethernet è sempre integrata su motherboard e in qualche modello recente ciò vale anche per il WiFi (che comunque richiede il collegamento di una antenna, meglio se esterna, con apposito cavetto). Nel caso dei modem è invece prevalente la soluzione su PCI, anche quando sono preinstallati in fabbrica. I vantaggi degli adattatori interni si possono così riassumere: • Non occupano preziose porte esterne USB • Non sporgono dal mobile del PC • Rispetto a dispositivi esterni USB, in genere sono meno soggetti a improvvisi bug del riconoscimento Plug and Play • Possono accedere al bus PCI, PCI-X o PCI Express, quindi hanno a disposizione una banda molto maggiore rispetto ai dispositivi USB esterni e possono quindi fornire prestazioni migliori • Non hanno problemi relativi ai limiti massimi di assorbimento elettrico che affliggono le porte USB (al massimo 500 mA per porta). Solo certe schede grafiche ad alte prestazioni hanno bisogno di più corrente di quanta ne possa essere fornita dal bus PCI e richiedono un collegamento supplementare interno diretto con l’alimentatore. • Le loro prestazioni non degradano a causa del collegamento di un gran numero di altre periferiche (come avviene invece collegando più dispositivi USB a uno stesso hub) Versioni esterne (seriali, USB, Bluetooth, PC-card) L’alternativa all’installazione interna è quella di acquistare adattatori che si collegano alle porte di comunicazione esterne, come porte seriali e porte USB, oppure via Bluetooth. Altri modelli, su misura per i portatili, trovano posto nello slot d’espansione PCMCIA (figura 22) o nel più moderno ExpressCard. Questo tipo di soluzione si presta particolarmente bene all’installazione di espansioni “after market”, aggiuntive rispetto alla dotazione di base della macchina. Fra i principali vantaggi dei dispositivi esterni ricordiamo i seguenti: • Sono generalmente più economici delle versioni su scheda PCI • La loro installazione non richiede di spegnere né aprire la macchina ed è alla portata anche di personale poco qualificato • Sono più facilmente reperibili sul mercato • Sono riutilizzabili su PC diversi e in qualche caso (per esempio nel caso Blue22 tooth, ma anche USB) anche su sistemi diversi dai PC (es. PDA, Mac) • Rispetto a schede interne è meno probabile che la loro installazione possa provocare conflitti di risorse di sistema con altre periferiche Telefonia mobile Una importante forma di accesso a Internet è quel- IT administrator - Hardware la che fa uso della 23 rete cellulare. Questa soluzione è insostituibile quando le altre opzioni non sono disponibili o non risultano convenienti: • ci si trova lontani da una presa Ethernet, o non si dispone dei necessari cavi, oppure il proprio indirizzo non è autorizzato a fare uso di questa LAN o a uscire su Internet • ci si trova fuori dalla copertura di un hot spot WiFi, oppure non si dispone dell’account per accedere all’hot spot pur captandone il segnale • ci si trova lontani da una presa telefonica analogica PSTN oppure non si dispone dei necessari cavi di collegamento La rete cellulare è disponibile praticamente ovunque sul territorio (anche all’estero, seppure sovente con restrizioni o complicazioni tariffarie), non richiede di portare con sé cavi (se non quello per collegarsi a un telefono cellulare, peraltro sostituibile con un link Bluetooth) e assicura in ogni caso prestazioni sufficienti almeno per un livello di operatività minimo. Purtroppo il costo del servizio non è sempre conveniente e soprattutto, in base alle politiche tariffarie dei gestori, vengono fortemente sfavoriti gli utenti “occasionali”, che si trovano a dover sostenere costi notevolmente maggiori di quelli che pagano i sottoscrittori di un “data plan” forfettario. Un altro svantaggio sta nel fatto che la configurazione di una connessione dial-up effettuata mediante rete cellulare è un poco complicata in quanto spesso alcune opzioni dipendono dalla marca e modello del telefono cellulare utilizzato come modem. Il collegamento a Internet via rete cellulare può avvenire • utilizzando un cellulare come modem. In questo caso il cellulare può essere collegato al PC o via cavo o via Bluetooth; esiste anche la possibilità di un collegamento a raggi infrarossi, ma si tratta di una soluzione scomoda, precaria e con basse prestazioni; inoltre non tutti i PC e non tutti i cellulari sono dotati di una porta IrDA, mentre quasi tutti i cellulari, e alcuni PC dalla configurazione particolarmente completa, sono provvisti di Bluetooth. • utilizzando una apposita scheda PCMCIA o ExpressCard. Si può pensare a questo scenario come a un “telefonino inserito nel PC” (figura 23). In questo caso occorre una SIM Card dedicata, con contratto dedicato, che dovrà essere inserita nella scheda. Ultimamente si sta diffondendo sul mercato la soluzione di uno “scatolotto” esterno con le stesse funzioni, che si collega al PC via USB. Spesso sono i gestori stessi a offrire questi dispositivi in comodato d’uso, di solito in abbinamento con “data plan” dedicato esclusivamente all’accesso dati e con una tariffazione ad hoc. Un aspetto importante dell’accesso a mezzo rete cellulare è la questione delle prestazioni raggiungibili con questa forma di accesso. Vi sono forti variazioni a seconda della rete a cui si intende collegarsi, del livello di servizio supportato nel luogo geografico in cui ci si trova, del tipo di contratto stipulato e delle capacità tecniche del terminale che si intende usare per collegarsi. In altre parole, per collegarsi ad alta velocità (UMTS, HSDPA) occorre che valgano contempo- PC Open 119 Novembre 2007 Fig. 23 - Una scheda PCMCIA per collegarsi a Internet via GPRS o UMTS. Dal punto di vista funzionale equivale a un telefono cellulare usato come modem per il traffico dati e stabilmente collegato al PC via cavo o Bluetooth. Il vantaggio della scheda interna consiste soprattutto nella maggiore praticità, senza cavi né batterie 1.12.6.2 Sapere dell'esistenza di versioni esterne (seriali, USB, Bluetooth, PC-card). Fig. 22 - Una scheda Ethernet implementata nel formato PCMCIA. A causa del ridotto spessore, il connettore RJ45 è montato su un cavetto. In altri modelli la scheda PCMCIA ha una protuberanza esterna che contiene le porte LAN IT administrator - Hardware Fig. 24 - La rete cellulare di terza generazione (3G) adotta la tecnologia UMTS per offrire connettività a larga banda in mobilità. I cellulari UMTS possono essere usati dai PC come modem per l’accesso alla rete. I modelli dotati di Bluetooth non richiedono neppure un cavo per la connessione al PC (purchè quest’ultimo sia anch’esso dotato di Bluetooth) 1.12.7.1 Sapere dell'esistenza del GSM/GPRS/EDGE/ UMTS raneamente le seguenti condizioni: • Ci si trova in un luogo servito dalla rete cellulare di un gestore che implementa la tecnologia 3G (UMTS) o 3.5G (HSDPA). • In quel luogo la rete supporta effettivamente la versione più recente della tecnologia cellulare (i gestori migrano la propria rete “per zone”, quindi è possibile che per un certo lasso di tempo anche un gestore impegnato a propagandare il servizio 3G abbia ancora ampie sezioni della propria rete che sono ancora basate sugli standard 2G o 2.5G) • Si è clienti di quel gestore, oppure si è clienti di un altro gestore che con esso ha sottoscritto un accordo di roaming che “copre” anche il servizio di accesso dati • Il cellulare, o comunque il terminale usato per connettersi, supporta la tecnologia 3G o 3.5G; • Il collegamento fra cellulare e PC è sufficientemente veloce da non comportarsi da “collo di bottiglia” vanificando le prestazioni possibili sulla tratta radio • L’intensità di segnale è sufficientemente alta perché la connessione rimanga stabile e il terminale non decida di procedere al fallback Come si vede, il successo in questo tipo di connessioni dipende da una moltitudine di fattori e in molte situazioni rappresenta ancor oggi qualcosa di fortunoso. Tuttavia è anche una preziosissima “ancora di salvezza” ed è quindi importante conoscerne le potenzialità. Vediamo quindi brevemente in rassegna le evoluzioni degli standard di telefonia mobile. GSM/GPRS/EDGE/UMTS Le tecnologie che si sono succedute nel campo della comunicazione dati via rete cellulare hanno fatto registrare un continuo aumento di prestazioni e spesso hanno costituito esse stesse la principale novità del nuovo step evolutivo della rete, dato che il servizio voce è stato garantito fin dai tempi della telefonia cellulare analogica E-TACS. Il primo tentativo di rendere disponibile un accesso dati alla rete cellulare si è avuto con l’avvento del GSM, la cosiddetta rete di seconda generazione (2G), che però consentiva connessioni alla misera velocità di 9.6 Kbps: troppo poco per qualunque utilizzo pratico, senza contare che la tariffazione avveniva a tempo, indipendentemente dal traffico, in quanto la connessione era realizzata su un normale circuito per fonia che veniva riservato per tutta la durata della comunicazione, occupando inutilmente risorse di rete anche nelle fasi in cui non vi era alcuno scambio di dati. Per questi svantaggi il GSM “puro” è stato accantonato come soluzione per la comunicazione dati mobile e fu affiancato dal più efficiente GPRS (General Packet Radio Service), il primo vero e proprio standard dati specifico per la comunicazione radiomobile, basato su una tecnica a pacchetto anziché a circuito: in sostanza, durante la comunicazione non viene tenuto costantemente impegnato un canale, ma lo si usa soltanto quando vi è effettiva necessità di scambiare dati. Il GPRS è stato spesso considerato una tecnologia di “seconda generazione.. e mezza”, ossia 2.5G, in attesa dell’avvento della telefonia cellulare di terza generazione. Il GPRS incrementa le prestazioni dati aggregando la banda di più canali elementari, detti “slot”, su ognuno dei quali possono generalmente viaggiare 9.6 Kbps (salvo perfezionamenti successivi della tecnologia radio sottostante). Maggiore il numero di slot aggregabili, maggiore la banda di picco raggiungibile. Molto fre- PC Open 120 Novembre 2007 Lezione 8 quente era la scelta di pun- 24 tare più sul download che sull’upload, in questo modo un dispositivo GPRS è in grado di aggregare un numero di slot downlink maggiore rispetto all’uplink. Una apposita classificazione fa rientrare i terminali in diverse multislot class a seconda del numero di canali gestibili e aggregabili nelle due direzioni. I più perfezionati dispositivi GPRS basati su tecnologia GSM pura potevano raggiungere al massimo velocità operative di circa 60-80 Kbps, competitive con quelle di un modem 56K ma non certo con quelle di una connessione ADSL. Per avere prestazioni migliori si dovette attendere l’arrivo della telefonia UMTS, detta “di terza generazione” (3G). (figura 24) In attesa del suo avvento, un primo significativo miglioramento di prestazioni è stato offerto dalla tecnologia EDGE (Enhanced Data rate for GSM Evolution), a volte scherzosamente considerata una tecnologia “2.75G”. Questa, senza costose modifiche all’infrastruttura di rete GSM esistente, anzi spesso con un semplice aggiornamento del software delle “base station”, aumenta le prestazioni GPRS, nel migliore dei casi, fino a circa 200 kbps (poco meno di 20 Kbyte/s), ossia più o meno il triplo di quanto possibile con il GPRS standard. Purtroppo, a differenza della rete che non ha generalmente richiesto grossi investimenti per l’upgrade, per fruire di queste prestazioni i terminali devono essere sostituiti con nuovi modelli capaci di supportare il nuovo standard. L’UMTS ha consentito un ulteriore salto qualitativo, rendendo teoricamente possibili, in condizioni radio ideali e con celle poco affollate, velocità in download di 2 Mbps (circa 200 kbyte/s). In che misura le prestazioni in condizioni reali si mantengano prossime a questi valori dipende in gran parte dalle politiche di progettazione della rete applicate dall’operatore (dimensione delle celle e distribuzione geografica delle “base station”), ma in presenza di forte segnale 3G è esperienza piuttosto comune riuscire a collegarsi a 300-400 Kbps. Si tratta di valori non dissimili da quelli offerti da una connessione ADSL “entry level”. Dal punto di vista degli utenti finali lo scenario dell’EDGE si è ripetuto: è stato necessario sostituire nuovamente i terminali con nuovi modelli. Le più recenti evoluzioni dell’UMTS si chiamano HSDPA e HSUPA (High Speed Download/Upload Packet Access) e hanno l’obiettivo di migliorare sensibilmente la velocità in download e quella in upload, rispettivamente fino a 14,4 Mbps e fino a 5,76 Mbps. I valori realmente raggiungibili dipenderanno, come sempre, dalle scelte tecniche e commerciali dei gestori; per esempio, nel caso dell’HSDPA, è comune la scelta di porre un limite di “soli” 3,6 Mbps. In ogni caso, terminali da sostituire anche questa volta. Concludiamo ricordando che la “famiglia” HSxPA è spesso considerata una tecnologia di “terza generazione... e mezza” (3.5G), una sorta di soluzione ponte fra gli attuali telefoni e reti UMTS di 3G e le future reti 4G che promettono ovviamente di essere ancora più veloci delle reti attuali, probabilmente sfruttando WiFi e WiMAX accanto alle altre tecnologie radio già installate in rete. Lezione 9 Materiale didattico progettato per EUCIP IT Administrator segnalato da AICA Modulo 1 - Hardware IT administrator - Hardware A scuola con PC Open Alimentatori e installazione nuovo hardware PDF DEL CORSO “AICA, Licenziataria esclusiva in Italia del programma EUCIP (European Certification of Informatics Professionals) riconosce che il materiale didattico segnalato è strutturato in modo coerente con l’organizzazione dei contenuti prevista dai documenti EUCIP di riferimento. Di conseguenza AICA autorizza sul presente materiale didattico l’uso dei marchi EUCIP (registrato dal CEPIS Concil of European Professional Informatics Societies) ed AICA protetti dalle leggi vigenti.” 1.13 Alimentatori 1.13.1 Tipi e funzionamento 1.13.1.1 Comprendere l’accezione dei termini: Volt, Ampere, Ohm, Watt, corrente alternata e corrente continua. Fig. 1 - L’alimentatore, o Power Supply Unit (PSU), si occupa di adattare la corrente elettrica di rete alle necessità delle varie componenti hardware del PC. Il suo formato dipende strettamente da quello del case: per un case ATX, per esempio, si usa una PSU ATX Fig. 2 - La misura delle grandezze fisiche che caratterizzano la corrente elettrica, come tensione e corrente, può essere effettuata utilizzando un economico multimetro digitale (o “tester”) NEL DVD Approfondimento sul componente spesso sottovalutato ma che riveste un ruolo chiave per la stabilità del computer. Nella seconda parte analizziamo gli elementi da tenere in considerazione nell’assemblaggio di Marco Mussini essun PC può funzionare senza che gli venga fornita la necessaria energia. Di questa incombenza solo apparentemente banale si occupa l’alimentatore, o Power Supply Unit (PSU) (figura 1). Si tratta di un componente troppo spesso trascurato da chi sceglie o assembla un PC, nell’errata quanto diffusa convinzione che gli alimentatori, purché siano adatti alla tensione di rete (220V), dispongano delle connessioni standard e abbiano ingombri e struttura compatibili con gli spazi disponibili nella sede di montaggio del case, in sostanza si equivalgano tutti. Sicuramente la tensione di lavoro, le connessioni, gli ingombri e la posizione dei punti di fissaggio sono aspetti cruciali ai fini dell’installazione, e tutto sommato sono anche aspetti facili da verificare, ma c’è dell’altro prima di poter concludere che un PSU è adatta a un PC. Come vedremo, questioni “secondarie” come i parametri elettrici di funzionamento non possono assolutamente essere trascurate e da esse possono dipendere il corretto funzionamento del sistema e la sua stessa longevità. Quest’ultima dipende anche dalle caratteristiche del sistema di raffreddamento, che determina anche la sua silenziosità, un aspetto quest’ultimo non trascurabile, sia pur per motivi diversi, tanto nei sistemi destinati all’uso come Media Center in salotto quanto nei desktop aziendali. Alcune PSU più sofisticate sono anche in grado di annullare brevi sbalzi di tensione per evitare danni alla macchina o addirittura possiedono la capacità di resistere a blackout più o meno lunghi, assicurando N Calendario delle lezioni Lez. 1: la scheda madre e il BIOS Lez. 2: i processori Lez. 3: la RAM Lez. 4: bus e risorse di sistema Lez. 5: interfacce (prima parte) Lez. 5: interfacce (seconda parte) Lez. 6: memorie di massa Lez. 7: i monitor, le schede grafiche e le stampanti Lez. 8: hardware di rete Lez. 9: alimentatori e installazione nuovo hardware Lez. 10: risoluzione dei problemi PC Open 109 Dicembre 2007 In collaborazione con: 1 la prosecuzione di un regolare funzionamento o per qualche minuto (giusto il tempo sufficiente a salvare i dati e spegnere ordinatamente la macchina), o addirittura per periodi più prolungati, fino al termine del blackout. Queste caratteristiche sono importanti non tanto per evitare guasti alla macchina, quanto per la protezione dei dati e per assicurare una adeguata disponibilità del servizio. Tipi e funzionamento Ogni tipo di alimentatore assolve al suo incarico di fornire energia al PC e ai suoi componenti hardware eseguendo un compito fondamentalmente semplice: trasformare la corrente elettrica di rete in forme più adatte alle esigenze di funzionamento di motherboard, CPU, RAM, dischi, schede video, periferiche e così via. Ciò che rende complessa questa attività sono i requisiti elettrici, in continua crescita, sempre più diversificati e soggetti a tolleranze strettissime, dovuti alle diverse necessità delle parti da alimentare. Volt, Ampere, Ohm, Watt, corrente alternata e corrente continua Ma quali grandezze caratterizzano e misurano la fornitura di energia elettrica alle varie parti del PC da parte dell’alimentatore? (figura 2) Due sono i parametri fondamentali che descrivono lo scam- 2 IT administrator - Hardware bio energetico fra PSU e ciascun utilizzatore sotto forma di circolazione di corrente in un circuito: si tratta della tensione, o “differenza di potenziale” (misurata in volt, V) e dell’intensità di corrente (misurata in Ampère). Per chiarire il senso di queste due grandezze, la fenomenologia della circolazione di corrente fra i due dispositivi può essere assimilata al flusso d’acqua in un fiume in corrispondenza di una cascata. Con riferimento a questa similitudine, • le molecole d’acqua corrispondono a elettroni; • la corrente dell’acqua, ossia la quantità d’acqua che transita in un secondo da una data sezione del fiume, corrisponde alla corrente elettrica; • Il salto della cascata corrisponde alla differenza di potenziale; • Il tratto di fiume a monte della cascata, da cui arriva il flusso d’acqua, corrisponde PSU, che eroga energia; • Il tratto a valle, che riceve l’acqua, corrisponde al dispositivo da alimentare, che riceve (e consuma) energia. • Il “ciclo dell’acqua”, che attraverso evaporazione marina e piogge “chiude il circuito”, sostenendo grazie all’energia solare il ripetersi del fenomeno per un tempo indefinito e sempre con la stessa acqua, corrisponde al “circuito chiuso” (elettrico) in cui idealmente circolano sempre le stesse cariche elettriche, messe in movimento dalla tensione imposta dall’alimentatore. È intuitivo riconoscere che al fenomeno del transito d’acqua dalla cascata, con caduta da una certa altezza, è associata una energia proporzionale sia all’altezza del salto della cascata sia alla quantità d’acqua interessata. Poiché il fenomeno avviene in modo continuo, più che l’energia associata al singolo atto di caduta interessa il “flusso di energia”, o l’energia che transita ad ogni secondo. L’energia rapportata al tempo impiegato per produrla, scambiarla o consumarla è detta Potenza. L’importanza del fattore tempo Fig. 3 - Un raddrizzatore è un circuito che trasforma corrente alternata bipolare in corrente unipolare, approssimativamente continua (ancora oscillante, ma che circola sempre nello stesso verso). Una tipica implementazione si basa sul cosiddetto “ponte a quattro diodi”: grazie alla proprietà dei diodi di condurre solo in un’unica direzione, disponendoli appositamente è possibile ottenere in uscita una corrente monodirezionale in cui le semionde negative vengono “ribaltate” e trasformate anch’esse in positive. L’oscillazione ancora presente si attenua poi, per esempio, con una rete basata su un condensatore e un induttore (rete LC) L’utilizzo del fattore tempo quale riferimento è di cruciale interesse per valutare i fenomeni: nel caso di un PC, per esempio, non interessa tanto sapere che il PC, pur di dargli un tempo sufficientemente lungo, sarebbe in grado di eseguire miliardi di istruzioni; quello che interessa, per conoscere la sua potenza di calcolo, è sapere quante istruzioni è in grado di eseguire entro un tempo di riferimento (di solito un secondo). Analogamente, per avere un’idea della “voracità” energetica della macchina, non interessa tanto sapere quanta energia il PC consumerà complessivamente – e quindi, quanta il PSU dovrà erogarne – in tutto l’arco della sua “carriera”, ma piuttosto quanta energia viene richiesta in ogni secondo di funzionamento: in altri termini, qual è la potenza assorbita. Ritornando al nostro parallelo osserviamo che se presso la cascata venisse installata una centrale idroelettrica, la quantità di energia che potrebbe essere recuperata ogni secondo risulterebbe proporzionale al prodotto fra salto e portata. Anche in ambito elettrico questa grandezza, detta Potenza, riveste particolare importanza, in quanto fornisce una misura dell’intensità dello scambio energetico in corso fra PSU e utlizzatore; la potenza si misura in Watt (W) e in base a quanto fin qui visto è data dal prodotto fra tensione (V) e intensità di corrente (A). Per esempio, se l’alimentatore eroga una corrente continua di 1 A in presenza di una differenza di potenziale costante di 5 V, la potenza erogata sarà pari a 1 x 5 = 5 W. Finora abbiamo supposto che la circolazione del- PC Open 110 Dicembre 2007 Lezione 9 l’acqua e quella della corrente avvengano in totale libertà, senza essere frenate da alcun fenomeno antagonista. In realtà questo è falso in entrambe le situazioni. L’acqua scorre più o meno liberamente a seconda di fattori quali l’ampiezza geometrica del canale, la ruvidezza delle superfici con le quali viene a contatto e la presenza di eventuali ostacoli incontrati lungo il cammino. Analogamente, la corrente elettrica scorre più o meno liberamente a seconda delle caratteristiche fisiche intrinseche del materiale conduttore, della sezione dei cavi e della lunghezza del circuito che essa deve percorrere. Nel caso limite, un interruttore aperto oppone resistenza infinita al passaggio di corrente e questa, di conseguenza, si arresta. Il grado di opposizione alla circolazione di corrente da parte di un cavo conduttore o, più in generale, di un tratto di circuito è detto Resistenza e si misura in Ohm (il cui simbolo è la lettera greca Omega maiuscola). Una relazione, detta Legge di Ohm, conferma il legame intuitivamente esistente fra i valori di corrente, tensione e resistenza: per indurre e sostenere una corrente di una determinata intensità, maggiore è la resistenza opposta dal circuito alla circolazione di corrente, maggiore dovrà essere la tensione. Vi sono quindi due cause possibili di salto di tensione: una effettivamente associata all’impiego dell’energia per compiere un qualche lavoro utile e l’altra legata alle perdite (dissipazioni) causate dalla resistenza dei cablaggi del circuito. L’energia elettrica persa viene dissipata sotto forma di calore che deve essere asportato con una velocità equivalente a quella con cui viene prodotto, altrimenti il suo accumulo nella sede in cui è generato (la CPU, i cavi, le memorie…) ne provocherà il progressivo riscaldamento, fino al punto di deteriorare in modo irreversibile i circuiti causando un vero e proprio guasto. Il concetto di potenza elettrica consumata dal dispositivo serve quindi per dimensionare il sistema di raffreddamento, che deve asportare una potenza termica equivalente. Lo stesso dato serve anche, all’estremo opposto, per dimensionare l’alimentatore, che deve poter erogare almeno una potenza pari a quella richiesta dal PC nel suo complesso in condizioni di carico massimo. Differenza tra corrente continua e alternata Da ultimo accenniamo alla differenza esistente fra corrente continua e corrente alternata. Negli esempi fin qui visti si è fatto riferimento a una circolazione di corrente in regime stazionario, sempre nello stesso verso e con intensità costante. Si tratta della cosiddetta corrente continua ed è la modalità di erogazione con cui l’alimentatore deve fornire la necessaria energia ai vari componenti del PC. Questa modalità operativa non è però quella adottata dalla rete elettrica domestica a 220V, in cui, allo scopo di ottenere determinati vantaggi tecnici, la tensione in realtà non è costantemente uguale a questo valore, ma oscilla gradualmente fra valori negativi e positivi, invertendosi regolarmente 50 volte al secondo con un andamento oscillatorio a onda sinusoidale (si parla di “frequenza di 50 Hertz”, o 50 Hz). Conseguentemente la corrente indotta nel circuito da questa tensione ondivaga risulta anch’essa avere un andamento oscillatorio, seguendo, eventualmente con un certo ritardo stabile detto 3 sfasamento, lo stimolo impresso dalla tensione: si parla quindi di corrente alternata. In queste condizioni, oltre alla resistenza dissipativa opposta alla circolazione di corrente qualunque sia la direzione, il circuito si caratteriz- Lezione 9 4 za anche per l’inerzia con cui riesce a reagire al richiamo di una tensione che cambia valore o addirittura si inverte, adeguando intensità e verso della corrente. La grandezza che descrive complessivamente la reazione della cor5 rente nel circuito a fronte di una tensione eventualmente variabile è detta Impedenza e si misura ancora in Ohm. Poiché la corrente in ingresso all’alimentatore è alternata, mentre all’interno del PC tutti i componenti richiedono di essere alimentati a corrente continua, un compito fondamentale dell’alimentatore è quello di “raddrizzare” la corrente in entrata (figura 3). Un secondo compito è quello di ridurre la tensione dai 220V medi in entrata ai valori richiesti, che sono dell’ordine dei 5-12V al massimo. Il tutto deve essere fatto in modo tale da assicurare la potenza necessaria per ciascun componente collegato. Poiché le tensioni in gioco sono basse, per fornire elevate potenze è necessario erogare alte correnti (una CPU può richiedere anche 100 W su tensioni dell’ordine di appena 1V, una scheda grafica di fascia alta può richiedere anche 150W o più). Con correnti così elevate, per evitare di opporre troppa resistenza e dissipare gran parte dell’energia i cavi fra alimentatore e componenti devono avere complessivamente una sezione abbondante; in alternativa, per non dover installare cavi di sezioni diverse a seconda della corrente assorbita, a volte una tratta particolarmente “esigente” è servita da due o più cavi di piccola sezione. Non a caso, sebbene le tensioni erogate siano tre (3.3, 5 e 12 V), come vedremo, dall’alimentatore esce sempre, fra gli altri, un nutrito fascio di 20 cavi che va a impegnarsi nel connettore di alimentazione principale della motherboard (figura 4). Qui un ulteriore circuito, detto VRM (Voltage Regulator Module) effettua la regolazione fine di tensione necessaria per soddisfare con elevata stabilità i rigidissimi parametri di funzionamento delle CPU (figura 5). Un Core 2 Duo, per esempio, va alimentato a tensioni comprese fra 0.850V e 1.3525V, e la variazione micrometrica fra questi due estremi va eseguita al suo comando, in brevissimo tempo e con assoluta precisione. 6 IT administrator - Hardware Tipologie di alimentatore e i principi di funzionamento per i diversi sistemi Dal punto di vista circuitale gli alimentatori possono essere basati su diverse possibili soluzioni. Gli alimentatori più semplici si basano sul seguente schema classico: • un trasformatore, usato per ridurre la tensione alternata in ingresso a valori compatibili con quelli richiesti dal carico; • un raddrizzatore, usato per convertire la bassa tensione alternata in bassa tensione continua; • un regolatore di tensione dissipativo. In questo schema, la possibilità di fornire in uscita tensioni regolabili è fornita dal fatto che il regolatore di tensione si comporta come una resistenza variabile; se a valle del raddrizzatore sono erogati 12 V ma all’alimentatore si richiede di fornirne 5, il regolatore dovrà occuparsi di opporre esattamente la resistenza necessaria per produrre una caduta di tensione di 12-5=7 V. A seconda della corrente erogata, questo si tradurrà nella dissipazione, da parte del regolatore, di una potenza elettrica più o meno grande, e quindi di una dissipazione termica di entità equivalente. In altre parole questo semplice schema produce internamente corrente continua alla massima tensione teoricamente erogabile, per poi “sprecarne” quanto basta per ridurre la tensione ai valori richiesti; a seconda delle situazioni, è del tutto normale che l’energia dissipata dal regolatore possa essere anche maggiore dell’energia utile effettivamente erogata verso il carico. Proprio a causa di questo “spreco” fisiologico per il funzionamento, un rendimento basso e una notevole dissipazione termica sono quindi caratteristiche intrinseche delle PSU di questo tipo. Una soluzione circuitale più complessa ma anche molto più efficiente è quella dei cosiddetti alimentatori switching. In questo caso si fa in modo di ricavare, dalla tensione alternata in ingresso, un treno di impulsi di tensione emessi con particolare precisione sia dal punto di vista della frequenza, sia da quello dell’ampiezza, sia da quello della durata. Per esempio: 100 impulsi al secondo (100 Hz), di durata 5 millisecondi ciascuno, durante i quali la tensione (tensione di picco) vale 10 V, intervallati da periodi anch’essi di 5 millisecondi con tensione pari a 0 V. Poiché a 100 Hz il periodo è di 10 millisecondi, una durata degli impulsi di 5 millisecondi implica che la tensione di picco è presente per il 50% del tempo: questa proporzione è detta duty cycle. Alimentando una semplice rete di stabilizzazione con questo treno d’impulsi, si può fare in modo che in uscita il treno d’impulsi risulti “spalmato” nel tempo e si presenti, in prima approssimazione, come una corrente continua di valore pari al prodotto fra la tensione di picco e la frazione dell’unità data dal duty cycle. Con riferimento all’esempio, i casi limite sono: 7 • 8 1.13.1.2 Conoscere le tipologie di alimentatore e i principi di funzionamento per i diversi sistemi, le diverse tensioni delle linee d'uscita sui relativi cavi di connessione Fig. 4 - Dall’alimentatore esce, fra gli altri, un fascio di cavi a 20 conduttori che si impegna in un apposito connettore situato sulla motherboard Fig. 5 - Il Voltage Regulator Module si occupa di effettuare una regolazione fine di tensioni e correnti per l’alimentazione della CPU, per la quale le normali tensioni di 3.3, 5 e 12V non sono idonee. È riconoscibile per il fatto di essere costituito principalmente da condensatori e induttori ed è generalmente situato nelle immediate vicinanze della CPU Fig. 6 - Un alimentatore ATX full size, senza connettore passante per l’alimentazione del monitor (è il caso più comune) Fig. 7 - Gli alimentatori mini-ATX hanno dimensioni leggermente inferiori, per l’uso in PC più piccoli, ma restano compatibili con i case ATX e i relativi attacchi Fig. 8 - Alcuni alimentatori hanno un cablaggio modulare PC Open 111 Dicembre 2007 IT administrator - Hardware duty cycle=100%: gli impulsi si susseguono senza interruzioni ed equivalgono di fatto a un unico impulso costante pari alla tensione di picco di 10 V; la tensione in uscita è quindi di 10 V costanti. • Duty cycle=0%: gli impulsi hanno durata nulla: la tensione in ingresso allo stabilizzatore è quindi costantemente di 0 V, e anche la tensione in uscita sarà ovviamente di 0 V. Variando opportunamente la frazione del duty cycle fra 0% e 100% (ossia, in ultima analisi, la durata di ciascun impulso) è possibile ottenere in uscita qualunque valore di tensione fra 0 V e 10 V. Per esempio, con una frazione del 50% la tensione media stabile in Lezione 9 uscita sarà pari (nell’esempio) a 5 V, ossia alla metà della tensione di picco degli impulsi. Il controllo fine della durata del duty cycle, anche in funzione della caduta di tensione osservata sul carico, è attuato da un circuito di controllo che comanda un interruttore in modo tale da ottenere un treno di impulsi con le caratteristiche necessarie per ottenere stabilmente in uscita la tensione voluta. Grazie alla sua superiore efficienza energetica, alle ridotte dimensioni e alla flessibilità che permette di ottenere le tensioni necessarie con grande precisione e stabilità, eliminando fra l’altro la necessità di surdimensionare eccessivamente il trasformatore e il siste- La gamma degli alimentatori Enermax La gamma degli alimentatori di Enermax, tra le società più conosciute nel campo degli alimentatori per PC, si divide in quattro famiglie: FMAII, Galaxy, Infiniti, Liberty. Tutti gli alimentatori con potenza superiore a 450 W, sono disponibili nel formato DXX, ciò significa che hanno un connettore PCI Express a 8 pin, indispensabile per alimentare le nuove schede video in formato PCI Express 2.0. Infiniti e Liberty sono le due famiglie a cablaggio modulare, questo significa che si possono collegare all’alimentatore solo i cavi necessari ai componenti interni, razionalizzando così gli ingombri interni e la pulizia del cablaggio. Galaxy è l’ammiraglia del gruppo con potenze fino a 1.000 Watt. Tabella alimentatori Famiglia Sigla identificativa Numero di modelli Potenza Efficienza MTBF Sistema di raffreddamento Cablaggio Protezioni Garanzia FMAII Liberty Infiniti Galaxy EG ELT EIN EGX 3 3 2 2 370, 475, 565 W 400, 500, 620 W 650, 720 W 850, 1.000 W 80% 80% 82-85% 85% Più di 100.000 Più di 100.000 Più di 100.000 ore al Più di 100.000 ore al ore al 70%; 25°C 70%; 25°C temperatura ore al 70%; 25°C 70%; temperatura ambiente temperatura ambiente ambiente 1 ventola da 8 cm; 1 1 ventola da 8 cm; 1 1 ventola 13,5 cm 1 ventola da 13,5 cm ventola da 13,5 cm ventola da 9 cm Nativi: 24pin scheda, CPU +12V 8 pin, CPU +12V 4+4 pin, FM Nativi: Mainboard Nativi: 24pin scheda, (monitoraggio ventola da Mainboard 20/24pin, 20/24 pin, 4+4 pin 6+2Pin Pci-Express, 80 cm), 2 Pci Express 8 CPU, FM Processor 4/8pin,1XPCI 4+4 CPU 12V, FM Pin (scomponibili in 6+2 Modulari: 2 x Pci EXPRESS 6+2Pin Modulari: 3xSATA, pin), 1 con 3 SATA, 1 con DXX*,1X PCI EXPRESS Express, 2 x 4pin 3 x Molex 4 pin. 3x4pin Molex, 2xPci6 Pin, 3X4pin MOLEX, Molex+2 x SATA, 2 Express, 4 pin MOLEX Modulari: 3 x SATA, 3XSATA, 2X4pin SATA x 4pin Molex + 2 x to 2FDD,ed opzionale 3 x 4Pin Molex , 2 x (Eternity Connector),FM SATA+FDD), 1 x da 4pin Molex + Fdd), 2 (RAM Power Cable) 2X6 a 1X8 pin) x Pci Express (6 Pin) , 1 modulare 2x2 +12V (RAM Power Cable) OPC,OLP, SCP, OPC,OLP, SCP, OPC,OLP, SCP, OPC,OLP, SCP, OVP, UVP, OTP OVP, UVP, OTP OVP, UVP, OTP OVP, UVP, OTP 36 mesi 36 mesi 36 mesi 36 mesi Il cablaggio modulare e la certificazione DXX sono due peculliarità di alcuni modelli presenti nella gamma di alimentatori Enermax PC Open 112 Dicembre 2007 Lezione 9 IT administrator - Hardware Dimensioni dei principali formati standard di alimentatore per PC Tipo Dimensioni (pollici) ATX 6 x 3.5 x 5.5 (circa 150x85x140 mm) MiniATX MicroATX Sistema Note di fissaggio Attualmente il tipo più diffuso, particolarmente facile da reperire 4 viti e offerto a prezzi più convenienti. Disponibile nella più ampia scelta di potenze 5 x 3.5 x 5 (circa 125x85x125 mm) 5x3x4 (circa 125x75x100 mm) 4 viti Utilizzabile anche in un case ATX 3 viti Incompatibile con sedi ATX e miniATX. Scarsa varietà di modelli ma di raffreddamento (con conseguente vantaggio di costo) lo schema switching è oggi universalmente adottato negli alimentatori per PC. Il principale svantaggio è la maggiore complessità circuitale. Dal punto di vista meccanico e geometrico la scelta dell’alimentatore è relativamente semplice. Nel mondo PC infatti gli alimentatori che trovano posto all’interno del case hanno dimensioni e attacchi standardizzati. I fattori di forma standard oggi dominanti sul mercato dei case sono l’ATX, il mini-ATX e il micro-ATX. Ad ognuno di questi corrisponde un formato della PSU alloggiabile nell’apposita sede (v. tabella qui sopra) (figure 6, 7). Resta ovviamente possibile che altri tipi di case, in particolare quelli a profilo ultrasottile o quelli delle più disparate forme per utilizzo come Media Center, impieghino alimentatori di formato non standard. 10 Fig. 11 - L’estensione a 24 pin può essere ottenuta o con un connettore monoblocco da 24 contatti o affiancando un elemento da 4 pin al connettore base 11 1.13.1.3 Sapere identificare i diversi cavi d’uscita alle rispettive periferiche, i nomi, la forma dei connettori 12 Fig. 12 - Il connettore usato per alimentare le unità di memoria di massa IDE P-ATA 3.5” e le unità ottiche IDE P-ATA 5.25” è il Molex a 4 pin lineari Cavi d’uscita e rispettive periferiche Come già accennato, dall’alimentatore esce un nutrito fascio di cavi destinati ai vari componenti interni del PC. Per evitare errori di identificazione, naturalmente, i connettori sono differenziati. Inoltre la loro forma è tale da scongiurare il rischio di inserirli rovesciati, con conseguenze potenzialmente catastrofiche per i circuiti alimentati e per lo stesso PSU. I cavi sempre presenti sono: • Connettore di alimentazione principale per la motherboard. Questo connettore (figura 9) è un Molex a 20 pin (disposti su due file da 10 pin) con gancio antisfilamento (figura 10). Il connettore porta le tensioni di 3.3 V (su tre cavi), 5V (su 5 cavi per il normale funzionamento più un cavo per l’alimentazione in condizione di standby) e 12 V (su 2 cavi); le tensioni di 5 e 12 V sono fornite con polarità sia positiva sia negativa. • Connettore ausiliario di alimentazione per la motherboard. Si tratta di un piccolo modulo supplementare Molex a 4 pin da collegare accanto a quello principale, nella presa a 24 pin di cui sono dotate le motherboard Pentium 4. Fornisce due ulteriori linee di alimentazione a 12 V e due linee di massa. Qualche volta questo connettore è combinato con quello da 20 pin in un unico Molex 24 pin (figura 11). Dal punto di vista della motherboard non cambia nulla: vi è comunque una sede da 24 pin in grado di ospitare indifferentemente la soluzione modulare (20+4) o quella unificata. • Connettori di alimentazione per memorie di massa IDE P-ATA da 3.5” e 5.25” (dischi fissi e masterizzatori interni): si tratta ancora una volta di un Molex, in questo caso da 4 pin disposti su una fila singola (figura 12); le tensioni portate sono 5 V e 12 V, più due linee di massa (figura 13). In considerazione del fatto che in passato una 9 tipica motherboard integrava un controller IDE a doppio ca- Fig. 10 - Il connettore Molex 20 pin è provvisto di gancio antisfilamento. Inoltre la sua forma asimmetrica impedisce una installazione rovesciata nale capace di pilotare quat- 13 tro unità, solitamente erano presenti quattro connettori di questo tipo. Oggi è però frequente la presenza di qualche connettore supplementare. Infatti, in modelli più recenti di motherboard si è passati a controller SATA, spesso con un maggior numero di unità supportate; inoltre alcune schede grafiche richiedono alimentazione supplementare e accettano lo stesso tipo di connettore delle unità disco, il che significa che quattro connettori in molte situazioni non basterebbero più. A proposito di S-ATA, le unità disco di questo tipo utilizzano per l'alimentazione un connettore miniaturizzato simile a quello della connessione dati (figura 14). • Connettori di alimentazione per dispositivi da 3.5” come gli ormai obsoleti floppy disk drive o, più PC Open 113 Dicembre 2007 Fig. 13 - Nel Molex 4 pin i contatti portano le tensioni di +5 e +12V più le rispettive masse (nero). La forma del connettore rende impossibile un inserimento nel verso sbagliato Fig. 9 - Il connettore principale per l’alimentazione della motherboard è un Molex a 20 pin su due file. In modelli recenti, con maggior assorbimento di corrente, può essere affiancato da una estensione a 4 pin o più IT administrator - Hardware 14 Lezione 9 19 20 Fig. 14 - Le unità S-ATA usano per l’alimentazione una connessione miniaturizzata completamente diversa dal Molex tipico dei dischi P-ATA 1.13.1.4 Sapere dell'esistenza di APM ed ACPI 1.13.2 ESD Fig. 15 - Altre unità da 3.5” a basso assorbimento elettrico, come floppy o frontalini multifunzione, utilizzano un connettore miniaturizzato, che porta però le stesse tensioni del Molex normale Fig. 16 - connettore lineare a 6 pin era usato in alcune motherboard per fornire alimentazione ausiliarie a 3.3 e 5V Fig. 17 - Alcune rare motherboard richiedevano un Molex supplementare a 8 pin che portava un insieme di quattro linee addizionali da 12V con relative masse Fig. 18 - L’alimentazione supplementare richiesta da alcune schede grafiche ad alte prestazioni può essere fornita, in certi casi, mediante questo speciale connettore spesso, i frontalini multifunzione con lettori di schede e repliche di porte USB e Firewire. Questi connettori Berg miniaturizzati a 4 pin (figura 15) hanno una piedinatura che riproduce, in piccolo, quella dei Molex per i dischi fissi; anche i cavi sono dello stesso colore (giallo per il 12 V, rosso per il 5 V, nero per le masse) ma, in considerazione dell’assorbimento di corrente inferiore, di solito hanno sezione più piccola. Alcune motherboard non recentissime richiedevano un ulteriore connettore ausiliario a 6 pin lineari per fornire altre due linee da 3.3 V e una da 5 V (più le tre masse corrispondenti). Questo connettore è praticamente caduto in disuso. (figura 16). Su alcune motherboard con chipset 945X e supporto a processori Dual Core era richiesto un connettore di alimentazione ausiliario a 8 pin simile a un raddoppio del Molex 4 pin ausiliario sopra descritto (figura 17). Il connettore portava un insieme di linee addizionali da 12 V. Infine, alcune schede grafiche ad alte prestazioni su bus PCI Express a cui non bastano i 75W erogabili dalle linee di alimentazione standard del bus richiedono una particolare connessione supplementare (figura 18) basata su un connettore a 6 pin (disposti su due file da 3 pin) simile a un Molex miniaturizzato: vi sono 3 linee a 12 V con le rispettive masse. Per il futuro è previsto l’arrivo di nuovi connettori di natura simile, ma da 8 pin. Ovviamente, per consentire l’impiego di simili schede anche su macchine che non dispongono delle connessioni all’ultimissimo grido esistono appositi adattatori (figure 19, 20, 21) che prelevano le necessarie tensioni da altri connettori più “abbondanti” all’interno del case, come il Molex 4 Pin lineare per le unità disco. APM ed ACPI, controllo avanzato del consumo Rispetto ai PC dell’epoca pre-ATX, in cui il controllo 15 16 17 Fig. 19 - Quando una periferica richiede connettori non disponibili nell’alimentatore è possibile rimediare con cavetti adattatori Fig. 20 - Come sopra, da Molex 4 pin per dischi IDE a Molex quadrato per alimentazione supplementare Fig. 21 - Come sopra, da due Molex 4 pin per dischi IDE a Molex 8 pin 12 V 21 dell’alimentazione era affidato a un normale interruttore meccanico, gli attuali computer rendono possibile un controllo più sofisticato, secondo lo standard APM (Advanced Power Management), una funzionalità presente nei BIOS per sistemi ATX e relative evoluzioni. In sostanza con APM è possibile supportare una modalità “suspend-resume” che rende possibile mandare il PC in uno stato di “letargo a basso consumo” da cui è possibile risvegliarlo in un tempo molto inferiore a quello richiesto da un vero e proprio avvio (bootstrap). Grazie ad APM ciò è controllabile in vari modi: • Attivazione automatica dopo un certo periodo di inattività; • Interruttore a impulso dal frontale del PC; • Dal menu Start del sistema operativo. Complementare ad APM è poi il controllo fine, da parte del sistema operativo, dello stato di alimentazione delle singole periferiche plug-and-play (inclusi certi tipi di schede PCI), dischi fissi e monitor; queste ed altre funzioni di risparmio energetico sono offerte dalla cosiddetta tecnologia ACPI (Advanced Configuration and Power Interface), con cui fra l’altro è possibile far risvegliare il PC dallo standby a seguito di un messaggio ricevuto via rete, oppure comandare direttamente dal sistema operativo il vero e proprio spegnimento del PC (in epoca Windows 3.1 e Windows 95, alla fine dello shutdown del sistema operativo si doveva spegnere il computer agendo manualmente sull’interruttore). ESD, il pericolo della scarica 18 PC Open 114 Dicembre 2007 Il nemico numero uno dei circuiti elettronici è l’elettricità statica: un fenomeno naturale che sotto certe condizioni ha l’effetto di produrre su un oggetto un accumulo di cariche elettriche che alla prima occasione hanno la possibilità di scaricarsi in brevissimo tempo a contatto con un altro oggetto, sotto forma di una corrente breve ma molto intensa che può essere sufficiente a danneggiare le delicatissime linee circuitali presenti nei chip. Fatte le dovute proporzioni, la Lezione 9 scarica di elettricità statica è paragonabile a un fulmine, localmente distruttivo a causa della notevole concentrazione di carica e dell’intensità dell’arco elettrico che ne costituisce l’esito. Il limitatore di sovratensioni e scariche elettrostatiche Le scariche elettrostatiche (ElectroStatic Discharge, o ESD) possono prodursi qualora si sia verificato un accumulo di carica. Questo può essere stato provocato da varie cause: dallo strofinio fra le superfici di particolari materiali (fra cui alcuni tessuti) ai fenomeni piezoelettrici. In certe situazioni è possibile che si producano localmente accumuli di carica statica senza che vi sia stato contatto fra oggetti, ma solamente a causa della vicinanza con un campo elettrico. L’accumulo di carica ha come effetto secondario un aumento del potenziale elettrico, a causa del quale può scatenarsi una corrente non appena se ne presenti l’occasione: un contatto con un corpo conduttore o anche solo l’avvicinamento a distanza abbastanza breve da consentire la formazione di un arco elettrico in aria. Esempi ben noti di scariche elettrostatiche (il cui verificarsi è sempre favorito dall’aria secca) possono essere la classica “scossa” che si prende per contatto con parti metalliche scendendo dall’auto, oppure i crepitii che emettono certi indumenti, specie se fabbricati in lana, nell’indossarli o nel maneggiarli. Le conseguenti scariche possono anche essere localmente dolorose a causa della già citata notevole intensità della corrente elettrica che si produce. La quantità di carica disponibile per questa sorta di “mini-fulmine” è però talmente piccola che la corrente si esaurisce in brevissimo tempo, cosicchè la quantità di calore sviluppato per effetti dissipativi è trascurabile e il fenomeno non può avere esito letale per le persone. I circuiti integrati, invece, sono molto più delicati e vulnerabili: le piste che conducono la corrente all’interno dei chip sono microscopiche tracce metalliche larghe pochi nanometri (milionesimi di millimetro), che una corrente breve ma intensa può facilmente portare a temperatura di fusione causando un danno irreparabile al chip. Per evitare che una scarica di elettricità statica possa abbattersi sui delicati circuiti elettronici del computer è necessario allestire una “barriera” che assorba il picco di corrente e non gli consenta di raggiungere i componenti da proteggere. Sempre in analogia con il modello idraulico, concettualmente il principio può essere quello di interporre una sorta di grosso “contenitore” vuoto (condensatore scarico) che, in caso di “ondata di piena” (picco di tensione con conseguente picco di corrente), possa riempirsi d’acqua (cariche elettriche) mantenendo in uscita un flusso quasi invariato ed evitando… l’inondazione vera e propria. È chiaro che un filtro di questo tipo sarà tanto più efficace nella neutralizzazione di picchi quanto più grande sarà la capacità del condensatore. Altre tecniche protettive, che possono essere combinate con quella descritta, si basano sull’uso di componenti di natura elettromagnetica che si oppongono al passaggio di improvvisi picchi di corrente (induttori), oppure componenti che, anche al di là del transitorio, possono sostenere intensità di corrente limitate e interrompono bruscamente il circuito in caso di eccesso (fusibili), oppure ancora componenti elettronici che, al presentarsi di un picco di tensione, o lo “dirottano” aprendosi totalmente verso massa, impedendone così il transito fino al carico da proteggere (varistor), IT administrator - Hardware oppure assor- 22 bono la quota eccedente il valore ammissibile, così da assicurare di erogare sempre una tensione nei limiti (diodi Zener). Una o più di queste e altre tecniche ancora possono essere impiegate in speciali dispositivi che si incaricano di bloccare le sovratensioni prima che raggiungano e danneggino in primo luogo l’alimentatore stesso e poi i componenti interni del PC. Si tratta dei cosiddetti “surge protector” e possono presentarsi come delle normali prese multiple (figura 22) al cui interno si trovano circuiti come quelli sopra descritti. Grazie ad essi è possibile proteggersi da picchi di tensione provenienti dalla rete elettrica come quelli che si verificano in occasione di fulmini, guasti o black-out. In alcuni casi il surge protector può anche essere incorporato nell’alimentatore, anche se per una efficace protezione (e una facile sostituzione) è preferibile la soluzione esterna. Protezione dell'hardware contro i danni da scariche elettrostatiche La prevenzione delle scariche elettrostatiche è quindi essenziale quando si maneggiano schede, componenti e circuiti per espandere, assemblare o riparare un PC. La strategia è ovviamente quella di rimuoverne la causa all’origine, evitando che si possa formare un accumulo di cariche. Per fare questo è essenziale che vi sia costantemente un collegamento elettrico fra il corpo dell’operatore e lo chassis metallico del PC. In questo modo le cariche si disperdono appena si formano e non hanno la possibilità di concentrarsi; di conseguenza non può aversi un potenziale elettrico con conseguente scarica. A questo scopo si utilizzano speciali braccialetti conduttivi (figura 23) da cui esce un cavetto da collegare al telaio, per esempio a una vite di fissaggio. Analogamente, schede di espansione, moduli DIMM e dischi fissi vengono solitamente immagazzinati e consegnati in buste di pla- 23 stica metallizzata (figura 24), così da distribuire eventuali accumuli di carica uniformemente sull’involucro (anziché su una regione circoscritta del contenuto della busta) e da cederli subito al primo contatto con le mani dell’operatore, risparmiando lo shock 24 elettrico al dispositivo. Altri accorgimenti utili consistono nel non fare uso di indumenti di lana, perché particolarmente propensi a favorire processi di elettrizzazione per strofinio, né di scarpe di gomma, perché essendo altamente isolanti non permetterebbero la dispersione a terra delle cariche. Meglio anche non usare un tappeto (specie se in lana!) per en- PC Open 115 Dicembre 2007 Fig. 22 - Una presa multipla filtrata dotata di circuito di soppressione degli sbalzi di tensione (surge protector). Spesso i fornitori di questo tipo di dispositivo offrono una garanzia gratuita contro danni da sovratensione subiti dalle apparecchiature collegate 1.13.2.1 Sapere cos'è e come funziona un limitatore di sovratensioni [surge protector]. Sapere in cosa consistono e quando capitano le scariche elettrostatiche (ESD). Conoscere inoltre quali danni hardware possono causare. 1.13.2.2 Conoscere le modalità di protezione dell'hardware contro i danni da scariche elettrostatiche. Essere informati sulle condizioni climatiche che possono influire. Fig. 23 - Un braccialetto antistatico, collegato alla massa del PC, impedisce l’accumulo di cariche elettrostatiche e di conseguenza la loro successiva scarica improvvisa con potenziali effetti distruttivi sui circuiti del computer. Naturalmente resta indispensabile che il PC, durante le operazioni, sia scollegato dalla rete elettrica! Fig. 24 - Buste antistatiche con l’interno ricoperto di una sottile pellicola conduttiva evitano l’accumulo localizzato di cariche e sono per questo usate per confezionare dischi e schede elettroniche IT administrator - Hardware trambi i motivi. Come già accennato, infine, è bene tenere conto che c’è sempre da aspettarsi una recrudescenza di tutti i fenomeni citati se l’aria è secca. Non soltanto l’accumulo di carica è facilitato perché l’elettrizzazione per strofinio avviene di preferenza in questo ambito, ma anche la scarica successiva è più violenta perché in aria secca è più difficile che si formi un arco elettrico: di conseguenza l’accumulo di carica prosegue, non essendovi possibilità di scarica tramite scintilla, e il potenziale cresce notevolmente. Quando però l’arco elettrico si forma, il potenziale è ormai talmente alto che la corrente risulta elevatissima. In aria secca, l’isolamento è talmente efficace che alla distanza di 1 cm può formarsi una differenza di potenziale anche di 20.000 V prima che scocchi una scintilla. Quando ciò accade, al circuito integrato (progettato per lavorare a 5 V o meno) viene applicata una tensione anche 4.000 volte maggiore del valore nominale: il danno circuitale in simili condizioni è praticamente certo. 1.13.3 UPS 1.13.3.1 Sapere cos'è e come funziona un gruppo di continuità (UPS). Inoltre conoscere le modalità d'interazione dei diversi modelli di UPS con le attività del PC Fig. 25 - Un piccolo UPS per uso residenziale o Small Office. A volte solo alcune delle uscite sono protette contro il black-out e le altre sono solo protette contro sovratensioni, come se fossero collegate a un surge protector. In questo caso si collegheranno il PC o i dischi esterni alle prime e i monitor o le stampanti alle seconde UPS, per evitare perdite Come abbiamo visto, l’alimentatore si incarica di adattare alle necessità interne la corrente in ingresso (alternata, 220 V) proveniente dalla rete elettrica, riducendo la tensione ai vari valori richiesti (3.3 V, 5 V, 12 V) ed assicurando una adeguata intensità di corrente per fornire una potenza in linea con le esigenze dei vari componenti. Tutto questo però è possibile soltanto se la fornitura di energia elettrica in ingresso è stabile: l’alimentatore trasforma e adatta la corrente ricevuta, ma non può generarla al suo interno. Qualora si verifichi un’interruzione sulla rete, questa si ripercuoterà a valle dell’alimentatore, facendo mancare ai componenti del PC l’energia necessaria per funzionare. È sufficiente che un’interruzione anche brevissima raggiunga la CPU per alterare in modo irrecuperabile la precisa successione cadenzata di eventi elettronici che attua l’esecuzione delle istruzioni dei programmi e del sistema operativo, al punto che la CPU perde anche “il filo” di quello che stava facendo, ossia viene persa la conoscenza di quale sia la prossima istruzione da eseguire, si cancellano le aree di memoria di lavoro (registri) e così via. Il risultato è che l’esecuzione si arresta oppure procede in modo scorretto. La CPU non è l’unico componente che non gradisce le interruzioni: tanto per fare un altro esempio, se durante il funzionamento viene a mancare l’alimentazione a un’unità disco, magari proprio mentre stava scrivendo dati, questi ultimi possono risultare alterati, oppure venire scritti in modo incompleto e inconsistente, oppure ancora può venire a mancare per qualche istante il controllo fine 25 del posizionamento della testina, col risultato che possono venire corrotti dati che erano stati correttamente scritti in precedenza su aree adiacenti del disco. In tutti i casi si registra perdita o alterazione di dati e, oltretutto, non PC Open 116 Dicembre 2007 Lezione 9 sempre il danno risulta immediatamente evidente: circostanza questa che aggrava la situazione in quanto impedisce anche di reagire subito per ripristinare i dati da un backup o intraprendere altre azioni correttive. La soluzione è quella di installare un gruppo di continuità, o Uninterruptible Power Supply (UPS, letteralmente “Alimentatore non interrompibile”) : un apparecchio che lavora a monte dell’alimentatore, esattamente come un surge protector, solo che lo protegge non da picchi di tensione/corrente, ma dalla temporanea mancanza degli stessi (figura 25). In sostanza, se per un tempo non troppo lungo la rete cessa di fornire energia, subentra istantaneamente l’UPS che fa le veci del fornitore primario e assicura all’alimentatore un ingresso stabile a 220 V per un certo periodo, di solito sufficiente o ad attendere il ripristino della normale fornitura dalla rete (nella maggior parte dei casi le interruzioni durano pochi istanti) o, per black-out più persistenti, a permettere di salvare i dati, chiudere le applicazioni e spegnere regolarmente il PC. L’UPS infatti ha un accumulatore interno che in assenza della fonte primaria provvede a erogare l’energia necessaria, ma questo accumulatore ha evidentemente una capacità limitata; erogando corrente si scarica progressivamente e nel giro di qualche minuto (a seconda dei modelli e dell’assorbimento da parte del carico) si esaurisce. Nella solita analogia idraulica possiamo paragonare l’UPS a un invaso artificiale utilizzato per assicurare un regolare flusso d’acqua all’acquedotto o a sistemi di irrigazione anche nei periodi di siccità: il suo livello (carica della batteria) viene mantenuto al massimo quando c’è abbondanza d’acqua, mentre nella stagione secca si attinge acqua fino a esaurimento della sua capacità. Alcuni alimentatori particolarmente curati possono incorporare al loro interno un UPS miniaturizzato che assicura una protezione da blackout per qualche secondo. Si tratta di una funzione utile in molte circostanze ma, date le ridotte dimensioni, non può certo ospitare un accumulatore di elevata capacità: per una protezione soddisfacente contro interruzioni più prolungate è quindi necessario dotarsi di un UPS esterno. Fortunatamente sul mercato sono facilmente reperibili modelli di buone prestazioni, non troppo ingombranti e a costi ragionevoli. Questo è particolarmente importante nei sistemi mission critical, la cui alimentazione, nelle organizzazioni medio-piccole, generalmente non può essere protetta da veri e propri impianti UPS come quelli che proteggono interi siti industriali: in quest’ultimo caso si tratta di macchine delle dimensioni di un container che contengono non un accumulatore elettrico, ma un generatore autonomo solitamente azionato da un motore diesel. Le principali caratteristiche da valutare nella scelta degli UPS 1) il carico massimo sopportabile, espresso in VA (Volt – Ampere). Naturalmente è sempre saggio sovradimensionare l’UPS rispetto all’assorbimento teorico dell’insieme dei sistemi da proteggere (non solo il PC ma anche il monitor, il modem-router, eventualmente la stampante, e così via). Sarà così possibile assorbire picchi inattesi di carico, senza contare che l’autonomia durante il black-out sarà maggiore. 2) il tempo di commutazione della fonte di alimentazione da rete elettrica a batteria interna. Tale tempo (che deve essere dell’ordine dei pochi millisecondi al massimo) va confrontato con il tempo massimo sopportabile, in condizioni di assenza di alimentazione, dalla più “esigente” tra le unità da proteggere. 3) la durata massima del periodo di autonomia in Lezione 9 assenza di alimenta- 26 zione in condizione di carico massimo. A seconda del dimensionamento, l’UPS può lasciare giusto il tempo per salvare i dati e chiudere le applicazioni (una decina di minuti) oppure permettere una vera “business continuity” per un tempo di diverse ore. Fra questi due scenari passa una differenza molto rilevante per quanto riguarda il dimensionamento e il costo dell’UPS (che sarà varie decine di volte maggiore nel secondo caso). 4) il tempo richiesto per una ricarica completa. Si tratta di un valore essenziale per sapere quali chance ha il sistema di resistere a due o più black-out in rapida successione. In molti casi il processo di carica è di gran lunga più lento di quello di scarica: un UPS che garantisce 10 minuti di autonomia a carico massimo può impiegare ore per ricaricarsi completamente. Questo evidentemente pone limiti precisi non solo alla durata degli incidenti di alimentazione, ma anche alla loro frequenza. La soluzione è ancora una volta quella di sovradimensionare l’UPS. 5) la capacità di smorzare sovratensioni, disturbi impulsivi e scariche conseguenti a fattori meteorologici o a disservizi della rete elettrica: come già accennato, questa prestazione può essere fornita da un surge protector separato, ma può anche essere intrinseca per il tipo di tecnologia dell’UPS (come spiegato più avanti) oppure essergli conferita da un modulo dedicato interno. 6) la capacità di interfacciarsi a livello logico-applicativo con i sistemi sotto protezione, in modo da forzare il salvataggio automatico dei dati e lo shutdown ordinato dei sistemi stessi. Di solito ciò avviene mediante collegamento seriale o USB (figura 26) ed è richiesta l’installazione di un apposito software di supervisione. Tale software raramente è disponibile su molti sistemi operativi diversi, pertanto è importante valutare con attenzione la qualità del supporto software offerto dal fornitore dell’UPS. 7) la disponibilità di un sistema di controllo remoto per il monitoraggio dello stato di carica della batteria e per la consultazione di un log degli eventi critici che si sono verificati. Se ne possono trarre utili informazioni per dimensionare meglio l’UPS e perfino per sporgere reclamo verso il fornitore di energia elettrica. 8) il tipo di tecnologia. In ordine crescente di protezione, di rapidità di commutazione e di immunità dai disturbi sull’alimentazione primaria, ma anche di costo, vanno ricordate tre tecnologie di UPS: • il tipo Passivo, che interviene solo in caso di mancanza di alimentazione, ma non filtra l’alimentazione proveniente dalla rete primaria; • il tipo On line interactive, che regola e filtra la tensione della rete primaria mantenendo contemporaneamente in carica la batteria: in caso di blackout un commutatore rapido la fa entrare immediatamente in servizio, con una interruzione quasi impercettibile; • il tipo Online a doppia conversione, che alimenta il carico permanentemente dalla batteria. Quest’ultimo tipo di unità trasforma costantemente in corrente continua la corrente alternata in ingresso me- IT administrator - Hardware diante un raddrizzatore; la corrente continua così ottenuta viene in parte usata per la carica di mantenimento della batteria, mentre il resto viene nuovamente convertito in corrente alternata per il carico, con parametri assolutamente stabili e totale disaccoppiamento da eventuali disturbi presenti sull’alimentazione primaria. Fig. 26- Alcuni UPS sono provvisti di una porta USB o seriale grazie alla quale, in caso di black out, possono comunicare al PC che l’alimentazione è entrata in regime di protezione Correnti di picco Esiste un legame importante fra il verificarsi di disturbi, sovratensioni e scariche sulla rete elettrica e la diffusione degli alimentatori switching nelle apparecchiature elettroniche e informatiche. Per le necessità del funzionamento del modulo switching, infatti, fra questo e la connessione alla rete elettrica vengono interposti un filtro antiinterferenze e una serie di condensatori ad alta capacità che nei primissimi istanti di funzionamento devono raggiungere una carica completa per stabilizzare il funzionamento dell’unità. L’elevata capacità di questi condensatori richiede una grande quantità di carica per raggiungere condizioni di regime. Questo dà luogo a correnti di elevata intensità (anche se di breve durata) che l’alimentatore assorbe nei suoi primi istanti di funzionamento. Senza una adeguata protezione, all’inizio il comportamento sarebbe paragonabile a quello di un corto circuito, con correnti che danneggerebbero la rete elettrica domestica se non scattasse l’interruttore di protezione del quadro elettrico. Come misura di protezione per la delicata fase di accensione, l’alimentatore switching contiene una resistenza variabile (varistor) con funzioni di limitatore di corrente. Resta il fatto che nonostante l’azione di questo componente la corrente inizialmente assorbita è notevolmente superiore a quella di regime, pertanto all’accensione è possibile che l’alimentatore switching, con il suo picco di assorbimento, provochi cali di tensione disturbi ad altre apparecchiature collegate alla rete. Per quanto riguarda le protezioni, ricordiamo inoltre che nell’alimentatore switching, lato rete, è sempre presente anche un fusibile. La funzione di questo fusibile non è tanto quella di proteggere l’alimentatore da sovracorrenti originate dalla rete, ma piuttosto, al contrario, quella di proteggere la rete da un eventuale corto circuito causato da un guasto ai condensatori, oltre naturalmente a impedire che un tale corto circuito possa durare per un tempo sufficiente a provocare surriscaldamento dei condensatori, che “esploderebbero” con conseguente rischio d’incendio. Normalmente il fusibile non è sostituibile, ma è addirittura saldato alla scheda del circuito interno dell’alimentatore: questo perché quando si arrivano a determinare condizioni tali da richiedere il suo intervento, è praticamente certo che gli altri i componenti del primo stadio dell’alimentatore (varistor, condensatori e transistor) sono stati già gravemente compromessi dalle forti correnti circolate (tanto forti da provocare, appunto, l’interruzione del fusibile). Sostituire il fusibile con uno nuovo e tentare di riaccendere l’alimentatore sarebbe quindi non solo inutile, ma addirittura pericoloso: si rimetterebbero sotto tensione componenti alterati e probabilmente già finiti in corto circuito. Installazione di nuovo hardware Effettuare interventi di piccola manutenzione al proprio PC, come espansioni di memoria, aggiunte di ulteriori unità disco, aggiornamenti dei componenti e così via, non è difficile e richiede breve tempo, a PC Open 117 Dicembre 2007 1.13.3.2 Conoscere il problema delle correnti di picco all'accensione degli alimentatori “switching” 1.14 Installazione di nuovo hardware 1.14.1 Installare e sostituire l'hardware IT administrator - Hardware condizione di conoscere l’ambiente in cui ci si trova a lavorare e di osservare le dovute precauzioni di sicurezza per sé stessi e per le apparecchiature elettroniche da maneggiare. Lo scopo di questa sezione del corso è quello di familiarizzare il lettore con le componenti da installare, i connettori e i cavi e le questioni meccaniche di montaggio, suggerendo inoltre prescrizioni elementari per ridurre il rischio di danneggiare i componenti trattati. Fornire una conoscenza completa delle norme di sicurezza esula invece dagli scopi del corso; per le prescrizioni di installazione/disinstallazione specifiche per ogni apparecchio, inoltre, rimandiamo alle istruzioni fornite dal fabbricante. Mai lavorare con il PC collegato alla rete elettrica Fig. 27 - Gli zoccoli per CPU ormai da anni sono del tipo Zero Insertion Force (ZIF): per il montaggio, il chip non va premuto ma semplicemente deposto in sede, dopo aver azionato la levetta di sblocco. In alcuni tipi di socket è la CPU a presentare i pin; in altri casi si trovano sul socket e la CPU è invece provvista di fori. 1.14.1.1 Essere in grado d'installare e sostituire i componenti di base, quali: CPU, memoria, alimentatore, scheda madre, disco rigido, adattatore grafico ecc. Una premessa che è indispensabile evidenziare da subito e tenere sempre presente è: MAI lavorare sul PC finché è collegato alla rete elettrica, anche se è spento. Spegnere il PC non costituisce ancora una precauzione sufficiente, in quanto l’alimentatore ATX è ancora sotto tensione e sta comunque funzionando (eroga infatti tensioni di standby da usare come innesco per l’accensione) e in caso di rete elettrica sprovvista di una adeguata messa a terra l’involucro di massa dell’alimentatore e quello del PC possono essere fonte di pericolo, specialmente in caso di guasto o deterioramento di alcuni componenti interni dell’alimentatore: a seconda dello schema circuitale di quest’ultimo, in assenza di messa a terra la massa del PC è di fatto collegata alla rete elettrica attraverso dei condensatori. In alcune installazioni, con alimentatori troppo economici o in procinto di guastarsi, e con una cattiva messa a terra, al contatto con il case metallico del PC è possibile avvertire una leggera scossa, perfino a PC spento. È il segnale che qualcosa non va nella messa a terra o nell’alimentatore: questo segnale non va assolutamente ignorato, per evitare rischi per sè e per il PC. Infine, si ricordi che nell’alimentatore power switching sono contenuti dei condensatori di alta capacità che accumulano una notevole quantità di carica: questa carica può essere mantenuta anche per lunghi periodi in assenza di collegamento alla rete elettrica. Poichè anche scollegando il PC dalla rete 220 V questi condensatori rimangono carichi, se si vengono a creare condizioni idonee essi possono scaricarsi erogando correnti impulsive anche di notevole intensità. Per evitare rischi di folgorazione, MAI aprire l’involucro dell’alimentatore né inserire oggetti (specie se metallici) nelle sue feritoie e MAI toccare o cortocircuitare i contatti dei cavi di alimentazione che ne escono. Per riassumere: prima di operare sul PC, non limitarsi a spegnerlo, ma scollegare il cavo di alimentazione dalla rete, e stare alla larga dall’alimentatore, perfino mentre il cavo 220 V è scollegato. Seconda premessa: per quanto riguarda le periferiche dotate di alimentazione da rete elettrica (tramite alimentatore incorporato o esterno) non effettuare MAI collegamenti o scollegamenti al PC finchè questo è acceso, specialmente se le periferiche e il PC sono collegate a prese elettriche diverse potenzialmente appartenenti a reti di alimentazione diverse. All’atto del collegamento del cavo potrebbero infatti registrarsi differenze di potenziale tali da danneggiare le due controparti. Questa precauzione non si applica a periferiche come USB o Firewire, di tipo “hot plug” e alimentate dalla porta del PC a cui si collegano. Installare e sostituire i componenti di base L’installazione o sostituzione della CPU è un’operazione alla portata di chiunque, soprattutto oggi che gli alloggiamenti in cui tale componente viene inserito (socket) sono del tipo ZIF (Zero Insertion Force): per PC Open 118 Dicembre 2007 Lezione 9 inserire o rimuovere il chip non occorre esercitare alcuna forza e di conseguenza il rischio di danneggiare o piegare alcuni pin è praticamente assente (figura 27). Vi sono comunque diverse accortezze da seguire. La procedura di rimozione/inserimento si può così riassumere: • Durante tutta la manovra, oltre a scollegare il PC dalla rete, osservare le classiche precauzioni per evitare l’accumulo di elettricità statica; se possibile lavorare con un braccialetto di dispersione collegato allo chassis. • Scollegare i cavetti di alimentazione dall’eventuale dissipatore attivo (ventola) montato sul corpo alettato sopra la CPU. • Seguendo le istruzioni del fabbricante del particolare tipo di dissipatore utilizzato, disimpegnare meccanicamente dalla motherboard l’armatura di fissaggio del dissipatore (a seconda dei casi l’operazione può richiedere di agire su mollette, clip, perni di plastica a espansione, viti). Nel farlo, specie se si fa uso di utensili a punta, prestare attenzione a non ledere accidentalmente le piste del circuito stampato della motherboard graffiandole. • Il corpo alettato del dissipatore è spesso fatto aderire alla faccia superiore della CPU mediante pasta termoconduttiva all’argento. Non si tratta di un vero e proprio incollaggio (lo scopo non è quello di fissare il dissipatore, ma solo quello di favorire la trasmissione del calore) tuttavia le due parti oppongono una certa forza alla separazione. Un modo per facilitare il distacco è quello di non esercitare una trazione, che potrebbe danneggiare CPU, socket e motherboard, ma una leggera torsione intorno all’asse perpendicolare alla CPU, alternativamente nei due sensi. È sconsigliabile fare leva con un cacciavite o altro oggetto piatto inserendolo fra CPU e dissipatore: si potrebbe danneggiare la CPU. • Una volta distaccato il dissipatore la CPU può essere sganciata dal socket. Per questo, sbloccare la levetta di disimpegno ZIF e sollevarla in posizione verticale. Le sedi dei pin lasciano la presa ed è possibile sollevare la CPU senza sforzo. Riporre la CPU in un supporto antistatico a “rotaia” per chip (Tray) oppure su un apposito blocco di gommapiuma antistatica. • La nuova CPU può essere inserita sul socket. Nel manovrarla evitare nel modo più assoluto di toccare con le dita i pin! Tenere il chip toccando solo il perimetro, se possibile utilizzare una pinza per circuiti integrati. Fare attenzione all’orientamento. Il socket può anche essere quadrato, ma vi è un verso d’inserimento ben preciso, che risulta evidente esaminando la posizione dei pin mancanti. Far coincidere le loro posizioni con i riferimenti sul socket, appoggiare in sede la CPU verificando che abbia trovato un appoggio perfettamente piano (se resta inclinata è segno che l’orientamento non è quello corretto: riposizionarla e provare), poi bloccarla in sede con la levetta ZIF. • Applicare una modesta quantità di pasta 27 termoconduttiva al centro della faccia superiore della CPU (attenzione! Una quantità eccessiva potrebbe debordare, finendo sui circuiti della motherboard col rischio di causare un corto circuito!). Lezione 9 • Applicare il dissipatore e reinstallare l’incastellatura di fissaggio meccanico. • Ricollegare il cavo di alimentazione della ventola (la forma del connettore assicura che la polarità venga rispettata: se l’orientamento è corretto l’inserimento non opporrà che una minima resistenza. Prestare quindi attenzione a non forzare i riscontri in rilievo durante la manovra). La sostituzione dell’alimentatore non è un’operazione complessa ed è l’unica cura valida in caso di malfunzionamento. In nessun caso si dovrà aprire l’involucro dell’unità, né tentare di riparlarla. Per la sostituzione, dopo aver naturalmente scollegato il cavo 220 V, osservare questa procedura di massima: • Scollegare tutti i cavi di alimentazione che collegano l’alimentatore ai componenti alimentati e alla motherboard. Può essere utile contrassegnare i cavi effettivamente utilizzati, per non confondersi, in fase di rimontaggio, con quelli in sovrannumero (che sono sempre presenti); è anche utile disegnare una mappa della motherboard con l’indicazione dei connettori ai quali erano collegati dei cavi prima di iniziare lo smontaggio. Non tutti i cavi, infatti, servono in ogni configurazione e viceversa non tutte le sedi su motherboard e altri componenti richiedono necessariamente di essere collegate a cavi: alcune sono destinate a collegamenti opzionali. • L’alimentatore è fissato allo chassis da 3-5 viti a seconda dei modelli. Tolte le viti, in molti cabinet non vi sono mensole metalliche o profili che lo mantengano in sede, per cui potrebbe cadere, col rischio di urtare con i propri spigoli qualche componente o pista circuitale della motherboard. Per evitare che questo succeda, prima di procedere con lo smontaggio, disporre un separatore morbido fra alimentatore e la sottostante elettronica o tenerlo ben fermo con una mano. • A smontaggio avvenuto, rimuovere l’alimentatore evitando strattoni a eventuali cavi non ancora scollegati e collocare al suo posto la nuova PSU. Fissare subito almeno parzialmente una vite per assicurare la stabilità meccanica ed evitare il rischio di cadute, poi completare l’operazione passando alle altre tre. Fermare le viti con forza uniforme. • Ripristinare le connessioni elettriche liberando le sole fascette effettivamente necessarie. Evitare che i cavi inutilizzati penzolino liberamente nel cabinet: rischierebbero di interferire con la rotazione delle ventole e questo potrebbe compromettere il raffreddamento della CPU o della scheda grafica, col rischio di portarli a surriscaldamento e guasto! • Prima di ricollegare l’alimentazione, fare estrema attenzione all’eventuale selettore della tensione. Se l’alimentatore è progettato esclusivamente per la tensione a 220-230 V, o è autoadattativo, questo non è necessario. In altri modelli vi è invece un selettore scorrevole che consente di adattare l’unità alla tensione di ingresso: 110 V o 220 V. In questo caso assicurarsi che sia selezionata la tensione 220 V! In caso contrario è praticamente certo che il nuovo PSU si guasterà alla prima accensione. IT administrator - Hardware rie. Qui interessa sottolineare i tre aspetti principali a cui prestare attenzione: i danni da elettricità statica, la manovra meccanica di fissaggio, le regole d’installazione e di compatibilità (per esempio per sistemi dual channel). • Per quanto riguarda la protezione dai danni da scariche elettrostatiche, avendo a che fare con le memorie si ricordi semplicemente di applicare con la massima diligenza le normali misure cautelative. La RAM, i cui chip immagazzinano ormai miliardi di bit su circuiti tracciati su un’area di pochi millimetri quadrati di silicio, utilizza componenti elettronici costruiti su scala talmente ridotta da risultare estremamente vulnerabili a sollecitazioni elettriche o termiche fuori dai limiti nominali, ancor più di quanto accade negli altri tipi di chip. • Pur con le inevitabili differenze dovute al tipo di zoccolo usato (per esempio, nei notebook il montaggio è parallelo alla motherboard, mentre nei desktop è sempre perpendicolare) il fissaggio in sede dei moduli si basa su una manovra standard. Durante tutta l’operazione è importante non toccare i contatti del modulo, né i chip di memoria o i contatti che li circondano. Il modulo deve essere maneggiato tenendolo dai bordi. Dopo aver identificato il giusto verso d’inserimento in base alla posizione della tacca di riscontro su modulo e socket, il modulo si appoggia delicatamente in sede tenendolo inclinato di 30 gradi circa rispetto alla posizione stabile. Dopo aver verificato che il connettore si sia effettivamente impegnato nel canale della contattiera sul fondo del socket, e che la tacca di riscontro combaci correttamente, si deve delicatamente portare il modulo nella posizione finale (perpendicolare o parallela al piano della motherboard a seconda del tipo di sistema) fino a far scattare entrambi i fermagli di ritegno a molla, che devono impegnarsi a fondo nella posizione di riposo. In caso contrario provare ad aiutarli forzandoli leggermente. Se uno o entrambi si ostinano a non allinearsi ai bordi del modulo è possibile che questo non sia stato deposto in sede correttamente. In tal caso, sganciarlo e ricominciare dall’inizio la procedura. Al contrario, la manovra di sgancio richiede di aprire gli stessi fermagli, cosa che può risultare difficile da compiere senza un cacciavite, a causa del ridotto spazio e della forza delle molle. Si inizierà a disimpegnare la molletta su un lato, inclinando delicatamente il modulo su quel lato quanto basta per impedire alla molletta di reimpegnarsi nella sede, e si passerà poi allo sgancio della molletta sull’altro lato. Dopodichè il modulo andrà inclinato e infine estratto sfilandolo in direzione del suo stesso piano. • Su recenti sistemi ad alte prestazioni, per aumen- 28 Un upgrade al sistema, una sostituzione con modelli di capacità maggiore o con prestazioni migliori, una sostituzione dopo un guasto: tutte situazioni in cui occorre familiarizzarsi con i moduli di memoria DIMM e con la loro modalità d’installazione sulla motherboard. Per quanto riguarda le differenze esistenti fra i numerosi formati di moduli DIMM, rimandiamo alla puntata del corso dedicata all’argomento delle memo- PC Open 119 Dicembre 2007 Fig 28 - Nelle motherboard che supportano schemi di memoria dual channel per l’incremento delle prestazioni, gli zoccoli sono colorati in modo differenziato per aiutare a posizionare correttamente i moduli “gemellati” IT administrator - Hardware 1.14.1.2 Essere in grado d'installare e configurare un secondo disco rigido o un drive CD ROM Lezione 9 tare la banda verso la memoria si usano schemi “dual channel” in cui i moduli vengono usati in coppia (figura 28). Le indicazioni pratiche al riguardo sono due: i moduli di ogni coppia devono essere assolutamente identici (non a caso sono in commercio kit di moduli accoppiati aventi le stesse caratteristiche di temporizzazione e stati d’attesa) e devono essere installati in sedi ben precise. La documentazione della motherboard indica sempre in quali posizioni devono essere installati. In genere i socket vengono colorati in modo appaiato per evidenziare tale regola, ma il significato del colore non è sempre quello intuitivo, per cui è meglio fare riferimento alle istruzioni (reperibili anche sul sito del produttore). Il montaggio di una scheda madre è l’operazione di manutenzione/assemblaggio più lunga e tediosa, ma non vi sono passi elementari insormontabili. Basta prendere le precauzioni dovute per portare a termine l’impresa senza problemi. • È importante anzitutto assicurarsi che il cabinet sia di tipo compatibile con il formato (“form factor”) della motherboard. In caso contrario è inutile proseguire: sarebbe tutto al posto sbagliato, dalle sedi delle viti ai percorsi dei cavi, al pannello posteriore. • Una volta verificata la conformità di cabinet e motherboard, effettuare su quest’ultima una ricognizione dei fori per le viti di fissaggio (figura 29), aiutandosi con la documentazione fornita dal produttore; effettuare una simulazione di installazione per controllare che il case disponga effettivamente dei fori richiesti nelle posizioni corrispondenti alle sedi sulla motherboard. • Assicurarsi anche che sia stata fornita tutta la minuteria di fissaggio necessaria, in quantità sufficiente per l’impiego su tutti i fori (fondamentalmente si tratta di viti, rondelle e, a volte, distanziali). • Verificare che il cabinet abbia un’apertura di dimensioni adeguate e nella posizione giusta per il pannello posteriore della motherboard, 29 da cui si affacceranno le varie connessioni previste (tastiera, mouse, USB, rete ed 30 Fig 29 - Il fissaggio della motherboard al case avviene per mezzo di un certo numero di viti (in genere fra 4 e 8 a seconda dei casi) che sulla motherboard sono caratterizzate da un apposito alone protettivo metallizzato. E’ necessaria una ricognizione per verificare che in corrispondenza dei fori sulla motherboard esistano le necessarie sedi sul fondo del case Fig. 30 - Il manuale della motherboard riporta sempre una vera e propria “mappa” grazie alla quale è facile localizzare rapidamente jumper e piccole connessioni ausiliarie, oltre a evitare errori nell’installazione di DIMM e schede di espansione • • • • • eventuali seriale e parallela, audio, video, Firewire ed e-SATA). Dopo aver appoggiato sul fianco il cabinet in modo tale da lavorare su una superficie orizzontale, appoggiare in sede la motherboard. Qualora occorra far uso di distanziali questi andranno collocati per primi in corrispondenza dei fori di fissaggio. Applicare le rondelle sulle apposite piazzole nella motherboard, quindi inserire le viti ed effettuare a mano le prime rotazioni per assicurarsi che l’allineamento alle sedi sia corretto. Effettuare una ricognizione per verificare che il pannello posteriore sia nella posizione corretta. Completare il fissaggio fermando le viti con forza uniforme. Effettuare i collegamenti elettrici verso l’alimentatore identificando i cavi effettivamente necessari. Aiutandosi con la mappa della motherboard riportata sul manuale (figura 30), identificare i jumper per le connessioni ausiliarie e collegare i relativi cavi. L’insieme di cavi da collegare può variare a seconda delle caratteristiche del cabinet. Fra le connessioni elettriche più comuni ricordiamo quelle dei cavi di: interruttore di alimentazione, LED di accensione/attività hard disk, altoparlante, USB frontali, prese audio frontali, presa Firewire frontale, lettore di schede, sensore di apertura coperchio, interruttore-chiave di sicurezza, ventole di raffreddamento (CPU, telaio, scheda grafica e così via). Installare la CPU, la memoria e le schede di espansione. Per quelle schede di espansione che richiedono una alimentazione supplementare (tipico esempio sono le schede grafiche ad alte prestazioni, che consumano molta corrente), provvedere al collegamento. Effettuare le connessioni dati: fra le più comuni ricordiamo quelle per floppy drive (a volte sostituito da un lettore di schede), hard disk, unità ottica. Queste ultime possono essere di tipo IDE, nelle varianti P-ATA o S-ATA. Il cavo P-ATA è piatto, bianco/ grigio, a 40-80 connettori, con una tacca asimmetrica poco evidente che dovrebbe ridurre il rischio di inserimento rovesciato e richiede attenzione nel caso debbano essere collegate due unità (master/ slave) allo stesso cavo: vedere la puntata sul sistema IDE per i dettagli. Il cavo S-ATA è piccolo, di colore rosso, e ha un connettore fortemente asimmetrico con cui tale rischio è praticamente azzerato. Installare un secondo disco rigido o un CD ROM La procedura per l’installazione fisica di una unità di memoria di massa, sia essa un hard disk o un’unità ottica (lettore o masterizzatore) è semplice. Gran parte dei passi elementari da seguire è comune ai due casi. • Nel caso di un’unità ottica è necessario che lo sportello possa affacciarsi sul frontale del PC. Per questo, se il vano prescelto per l’installazione non era già aperto ed esposto, occorrerà asportare il pannello che copre il frontale. In quasi tutti i cabinet lo smontaggio del pannello si effettua divaricando leggermente i ganci di fissaggio con un cacciavite, uno alla volta. • Nel caso di dispositivi IDE P-ATA, identificare il cavo piatto al quale si collegherà l’unità. Occorre che abbia un connettore libero posizionato in modo tale da poterlo collegare al drive nella posizione in cui sarà installato. Se il cavo è provvisto di due connettori per periferiche, e sull’altro connettore si attesta già un altro drive, occorre verificare se tale unità è impostata come master, slave o cable select. Spazio permettendo, questo si PC Open 120 Dicembre 2007 Lezione 9 31 IT administrator - Hardware purtroppo se l’audio è integrato su motherboard non sempre il cavetto è fornito. Fortunatamente i masterizzatori interni in confezione Retail hanno spesso in dotazione minuteria di fissaggio e cavetteria, incluso il cavo in oggetto. Una volta installata fisicamente l’unità occorre provvedere a informare il BIOS della sua presenza nel sistema. Nel caso in cui l’unità installata fosse un hard disk, l’operazione va poi completata provvedendo al partizionamento e alla formattazione: per queste operazioni fare riferimento alle procedure descritte nella VII puntata. Installare schede d'espansione supplementari • • • • • • può verificare esaminando il posizionamento dei jumper di configurazione sul retro dell’unità, dove dovrebbero essere anche presenti, stampigliate, le indicazioni per interpretarlo. In alternativa, per esaminare più comodamente i jumper, può essere preferibile allentare le viti di fissaggio dell’unità per farla scorrere fino a esporre in posizione più evidente i jumper e le istruzioni. Una terza possibilità è quella di avviare il PC, entrare nel BIOS ed esaminare le impostazioni delle unità IDE identificando, fra esse, quelle del drive in questione. Una volta chiarita l’impostazione dell’altra unità eventualmente presente sullo stesso cavo, impostare i jumper sul nuovo drive in modo complementare: slave se l’altra unità era master, master se era slave; in alternativa, entrambe le periferiche devono essere impostate come Cable Select (se il cavo supporta questa impostazione). Nel caso di dispositivi IDE con interfaccia S-ATA, ogni unità è collegata “in esclusiva” con un cavo punto-punto a una presa del controller su motherboard o su scheda PCI. Non si pone quindi la questione di dispositivi multipli sullo stesso cavo piatto e non esistono i ruoli Master, Slave e Cable Select. Se il vano è da 5.25” e vi si deve installare un hard disk da 3.5”, occorre munirsi di staffe di montaggio oppure di un cassetto 5.25” con vano interno da 3.5”: il drive andrà fissato alle staffe o all’interno del cassetto (figura 31) e il tutto andrà poi fissato nel vano da 5.25”. Inserire il drive nel vano e fissarlo con quattro viti. In alcuni cabinet è fornita una “provvista” di viti, avvitate in apposite sedi posizionate in vari punti dell’interno. Alcuni cabinet con sistema di sgancio rapido non usano viti per il fissaggio vero e proprio, ma solo come perni per le guide di scorrimento. In questo caso l’unità viene bloccata in sede agendo su una leva. Collegare un connettore di alimentazione Molex 4 poli (per dispositivi IDE P-ATA) o un connettore di alimentazione miniatura (per S-ATA). Se l’alimentatore non è provvisto di uscite S-ATA occorrerà un cavetto adattatore Molex-SATA. Collegare il cavo IDE (P-ATA o S-ATA) precedentemente identificato. Solo per masterizzatori, e solo se la scheda grafica supporta l’ingresso diretto ed è provvista dell’apposito connettore, collegare l’uscita audio interna dell’unità ottica alla presa AUX o CD della scheda grafica (se l’audio è integrato su motherboard il connettore si troverà su quest’ultima, in posizione indicata sul manuale). Questo collegamento permette di ascoltare un CD inviando l’uscita audio al sistema di diffusori usato normalmente per tutti i suoni del sistema. Il cavetto è normalmente fornito con le schede audio e non con i masterizzatori; L’installazione di schede di espansione sul bus di sistema è un’operazione semplice in sé, ma al pari di qualsiasi intervento da effettuare all’interno del sistema richiede maggiore attenzione rispetto al collegamento di una periferica esterna. Accanto alle istruzioni del produttore, che devono essere sempre seguite scrupolosamente, riportiamo una procedura di riferimento generale e alcune prescrizioni da tenere comunque presenti come misure prudenziali. • Spegnere il PC e scollegare il cavo di alimentazione prima di aprire il case. • Durante l’installazione, utilizzare un braccialetto antistatico o toccare frequentemente lo chassis metallico del PC per scaricare l’elettricità statica prima di un suo eccessivo accumulo • Tenere la scheda nella sua busta protettiva fino all’ultimo momento e nell’estrarla evitare di toccare i chip e le piste circuitali, ma tenerla per i bordi o per la staffa metallica del pannello posteriore. Per quanto riguarda l’installazione vera e propria, • Prima di iniziare consultare il manuale del produttore. Se è richiesto un driver ed è prescritto di installarlo prima di effettuare l’installazione fisica della scheda, provvedere. • Se la scheda è destinata a sostituirne un’altra già presente e già configurata per l’uso da parte di Windows, prima di procedere con la sostituzione e prima di rimuovere quest’ultima è consigliabile effettuarne la disinstallazione dal Pannello di Controllo, sempre che non si tratti di una scheda grafica. • Identificare il tipo di slot necessario (AGP e relativa velocità 1x/2x/4x/8x, PCI-X, PCIe e relativa larghezza di canale: x1 – x4 – x16) • Alcune schede occupano due slot adiacenti a causa del loro spessore elevato (per esempio in caso di sistemi di dissipazione particolarmente ingombranti). Tenerne conto nello scegliere lo slot. Potrebbe essere necessario spostare una scheda adiacente su uno slot diverso per creare lo spazio necessaro. • Nel caso di slot AGP verificare che la tensione di funzionamento (3.3 V, 1.5 V, 0.8 V) supportata dalla scheda sia compatibile con le tensioni di lavoro supportate dalla scheda madre per lo slot prescelto. Consultare a tale proposito il manuale della scheda madre oppure, se non più disponibile, identificare il modello di scheda madre e consultare le informazioni tecniche reperibili sul sito del produttore. • Se la scheda richiede una connessione diretta all’alimentatore per ricevere alimentazione supplementare (come avviene per alcune schede grafiche ad alte prestazioni) verificare che nel cabinet sia ancora disponibile un cavo di alimentazione sufficientemente lungo per raggiungere la zona dello PC Open 121 Dicembre 2007 1.14.1.3 Essere in grado d'installare schede d'espansione supplementari, quali: schede audio, schede d'interfaccia di rete e così via Fig. 31 - Per l’installazione di unità da 3.5” in sedi da 5.25” è necessario procurarsi un telaio meccanico come questo. Prima si fisserà il disco al telaio e poi questo al case IT administrator - Hardware slot in cui si installerà la scheda e che abbia il connettore di tipo adatto. Se ci sono cavi sufficienti, ma non con il connettore adatto, procurarsi un adattatore (a volte è fornito con la scheda stessa). Se non ci sono cavi sufficienti procurarsi un cavetto sdoppiatore per creare una derivazione da un altro cavo di alimentazione già collegato. • Asportare la vite che blocca in sede la staffa di copertura posteriore dello slot in cui si installerà la scheda. Evitare che la vite o la staffa metallica cadano sulla motherboard, potrebbe causare un cortocircuito fra piste tenute sotto tensione da condensatori ancora carichi con la possibilità di provocare danni. Se occorre rimuovere una scheda eventualmente presente in precedenza nello slot, evitare che cada accidentalmente sulla motherboard: l’urto di uno spigolo con una pista o la caduta su un componente non a montaggio superficiale potrebbero provocare danni. • Nell’inserimento della nuova scheda prestare attenzione al corretto allineamento anzitutto della staffa posteriore e poi a quello del connettore rispetto allo slot. Far scendere la scheda in sede esercitando alternativamente leggere pressioni sui due lati. Al termine verificare che la staffa posteriore si trovi alla stessa quota del profilo posteriore su cui si impegnano le viti di fissaggio. Se l’inserimento risulta contrastato, non esercitare mai un’eccessiva pressione sulla scheda: potrebbe danneggiarsi la motherboard. Controllare invece se l’allineamento del connettore non è perfetto o se lo slot è di tipo sbagliato. • Fissare la scheda con la vite precedentemente asportata dallo slot. Prestare attenzione per evitare l’eventuale caduta accidentale della vite sulla motherboard. • Se la scheda lo richiede, collegare il cavo di alimentazione supplementare. • Oltre alle prese montate sulla staffa posteriore, alcune schede dispongono di un pannello connessioni supplementare separato, collegato alla scheda da un apposito cavo. A seconda dei modelli, il pannello potrebbe essere montato come staffa posteriore su un altro slot, oppure in un vano frontale per unità disco. Provvedere al montaggio in sede e al collegamento alla scheda, da effettuarsi con i cavi forniti in dotazione. • Chiudere il cabinet, ricollegare il cavo 220 V e accendere il PC. • Windows dovrebbe rilevare automaticamente il nuovo hardware. Se non lo si è già fatto prima dell’installazione fisica, potrebbe essere richiesto inserire il disco driver fornito dal produttore. 1.14.1.4 Essere in grado d'installare un modem o altre apparecchiature di comunicazione 1.14.1.5 Essere in grado d'installare un dispositivo con connessione wireless Installare un modem o altre apparecchiature di comunicazione Il montaggio di un modem interno segue le procedure descritte nella sezione precedente. Modem esterni (sia di tipo V.90 per normale dialup telefonico 56K, sia di tipo ADSL) si collegano senza agire all’interno del PC. I modem 56K si collegano via porta seriale o, più raramente, via USB; quelli ADSL si collegano via USB o, più raramente, via Ethernet. Il collegamento fisico nel caso USB deve a volte essere preceduto, e non seguito, dall’installazione del driver sotto Windows: a tale riguardo consultare la documentazione. Non sottovalutare questo aspetto in quanto, in rari casi, l’aver collegato la periferica Plug and Play prima di aver installato il software può far entrare in una situazione difficilmente reversibile e impedire di completare con successo l’installazione della pe- PC Open 122 Dicembre 2007 Lezione 9 riferica. In questi casi si può tentare dal Pannello di controllo di rimuovere la periferica e ripetere la procedura, ma non sempre tale operazione di “bonifica” ha successo. In casi davvero estremi l’unica cura per poter ripetere con successo l’installazione secondo la procedura è reinstallare Windows, un’operazione che non richiede conoscenze particolari ma che comporta un enorme spreco di tempo, oltre a richiedere di effettuare il backup di tutti i dati. La situazione è complicata dal fatto che altri produttori prescrivono l’esatto contrario, ossia le istruzioni richiedono di installare la periferica e inserire il disco con i driver solo successivamente, quando Windows lo richiede. Fare quindi sempre riferimento alla procedura riportata sulla documentazione del produttore. Nel caso di installazione con collegamento Ethernet il “rischio plug and play” non esiste; è solo importante verificare che le impostazioni di rete siano effettuate come prescritto dalle istruzioni. Nella quasi totalità dei casi si devono abilitare le opzioni Ottieni automaticamente un indirizzo IP e Ottieni indirizzo server DNS automaticamente” nelle proprietà TCP/IP dell’adattatore di rete a cui si collega l’unità esterna. Occorre poi creare una connessione dial-up a larga banda che ne faccia uso, seguendo il wizard di Windows / Pannello di Controllo /Connessioni di rete, oppure usando il disco con procedura facilitata automatica che molti produttori forniscono in dotazione sia con prodotti Ethernet sia con prodotti USB. Nel caso specifico dei modem non ADSL, generalmente di tipo 56K v.90, nel Pannello di Controllo esiste una apposita sezione Opzioni modem e telefono con cui è possibile impostare prefissi telefonici, numeri di uscita dal centralino per la rete esterna e così via; ovviamente tali impostazioni non hanno senso nel caso dell’ADSL. L’installazione dei modem ADSL richiede quasi sempre di inserire un filtro fra la presa telefonica e il cavo di collegamento al modem: in caso contrario il traffico dati generato dal modem provocherebbe fastidiosi disturbi udibili durante la telefonata. In genere il filtro è fornito con il modem ma è possibile reperirlo nei negozi specializzati. I modem ADSL G.lite a basse prestazioni usano una porzione di banda più ristretta generando così una minor quantità di disturbi nello spettro udibile, tuttavia è comunque consigliabile usare un filtro. Per effettuare il test della connessione occorre tenere a portata di mano le informazioni di accesso fornite dall’Internet Provider: username, password e, nel caso di modem 56K, anche il numero di telefono da chiamare. Installare un dispositivo con connessione wireless Gli adattatori di rete wireless esistono in vari formati a seconda del tipo di PC (desktop o laptop) e del tipo di collegamento: USB, PCI, PCMCIA, ExpressCard. Per l’installazione fisica nel caso PCI fare riferimento alle procedure generali sopra descritte. Per USB, PCMCIA ed ExpressCard l’installazione fisica non pone problemi particolari, ma prestare attenzione alla sequenza corretta di installazione di software e hardware, secondo le prescrizioni del produttore. Tutte le schede wireless sono corredate di un disco con il driver, ma in alcuni casi il produttore va oltre e fornisce anche un programma di gestione e configurazione alternativo rispetto al supporto nativo presente in Windows a partire da XP Service Pack 2. Sconsigliamo, almeno in prima battuta, di utilizzare l’utility proposta dal produttore, a meno che deter- Lezione 9 minate funzioni speciali di cui si ha realmente necessità risultino accessibili soltanto attraverso essa. Se non è possibile scegliere se installarla o meno perché installata dalla stessa procedura che installa il driver, consigliamo di disattivarla alla prima occasione. Una volta installato l’adattatore con il relativo driver, se ci si trova in presenza di una o più reti wireless Windows le rileverà automaticamente. Se è attiva una utility di gestione proprietaria, ciò che accade e le segnalazioni che si ottengono a video possono variare caso per caso: fare riferimento alle istruzioni del produttore. Nel caso si usi la gestione standard di Windows sulla task bar compare un’indicazione che segnala la presenza di reti wireless. Facendo clic sul messaggio appare la videata di gestione delle reti wireless, in cui viene riportato un elenco delle reti identificate dal loro nome (più propriamente detto SSID). Le reti protette sono contrassegnate da un’icona a forma di lucchetto: per collegarvisi occorre conoscere la relativa password. Installare e configurare un adattatore bus host SCSI e relativi dispositivi SCSI L’installazione di un controller SCSI e il collegamento ad esso di dispositivi SCSI sono operazioni concettualmente non molto diverse dalle analoghe attività in campo IDE. I dettagli pratici differiscono per il cablaggio, le varianti di standard, il numero di periferiche collegabili, la terminologia. Per una introduzione completa alla tecnologia SCSI e alle sue prestazioni, alla terminologia ed all’identificazione dei vari attori (host adapter, SCSI ID, LUN, Terminatore), ai diversi standard esistenti, alle questioni concernenti cablaggi e dispositivi di terminazione e per informazioni riguardanti la numerazione delle periferiche e l’impostazione del loro identificativo, fare riferimento alla V puntata del corso. Ogni periferica SCSI dispone di una modalità fisica o logica per impostare lo SCSI ID (figura 32): a seconda dei modelli, della versione dello standard supportato e delle scelte del produttore ci si può trovare a dover agire su jumper (ponticelli), DIP Switch (file di microinterruttori) o commutatori rotanti, oppure via programma di gestione. Data la grande variabilità di soluzioni tecniche in questo campo rimandiamo alla documentazione del produttore per indicazioni pratiche sulla localizzazione del commutatore e sulla procedura da seguire per regolarlo. Due prescrizioni generali devono però essere tenute ben presenti: evitare assolutamente di impostare con lo stesso SCSI ID due dispositivi di una stessa catena SCSI, e nel caso di commutatori meccanici/elettronici evitare di variare lo SCSI ID a dispositivo e controller accesi. L’installazione del controller (“host adapter”, nella terminologia SCSI) sul bus di sistema richiede la procedura già descritta. Esistono anche host adapter con collegamento USB, piuttosto rari; la loro installazione è naturalmente molto più semplice e non richiede di spegnere né aprire il PC, ma è importante seguire scrupolosamente le indicazioni del produttore, in particolar modo per quanto riguarda l’esatta sequenza di installazione hardware/software/driver. Una volta installato il controller nel sistema si può procedere al collegamento delle periferiche; il giusto tipo di cablaggio da usare dipende da numerosi fattori, dalla versione di standard SCSI usato, all’eventuale necessità di terminatore (e relativo tipo), al fatto che l’unità da collegare sia interna o IT administrator - Hardware 32 Fig. 32 - L’impostazione dello SCSI ID sulle periferiche SCSI può avvenire in modo meccanico, per esempio azionando un permutatore rotante o spostando dei jumper secondo un certo schema come nel caso in figura. In dispositivi più moderni l’operazione si può effettuare mediante una interfaccia di configurazione esterna, fino ad eventuali varianti per quanto riguarda il connettore (normale o miniaturizzato). Perché l’insieme controller-cavo-periferica possa funzionare è certamente necessario che vi sia almeno una versione di protocollo in comune fra l’insieme di standard supportati dal controller e quello degli standard supportati dall’unità da collegare, ma assicurato questo è ancora necessario reperire il cavo adatto (e l’eventuale terminatore), rivolgendosi a negozi specializzati. Una volta effettuate l’installazione fisica di controller, cavo e periferica, e l’installazione dei driver e della utility di configurazione (se fornita, in caso di controller add-on), si può passare alla configurazione logica dei dispositivi sulla catena SCSI, analogamente a quanto si deve fare per configurare i dispositivi master e slave su una catena IDE P-ATA. Questa configurazione si effettua usando una utility di configurazione SCSI: se il controller SCSI è integrato su motherboard, la relativa utility sarà accessibile dal BIOS. Negli altri casi vi si accederà da Windows, usando un’applicazione fornita a corredo. La principale differenza fra la configurazione di una catena IDE P-ATA e quella di una catena SCSI sta nel fatto che P-ATA supporta al massimo due unità per catena, mentre SCSI, a seconda delle versioni dello standard, ne supporta molte di più: 7, 15 o anche valori più alti, con le ultime evoluzioni. L’impostazione dei jumper IDE Master/slave/cable select sul retro dei drive IDE (figura 33) corrisponde, da un punto di vista concettuale, all’impostazione dello SCSI ID sui dispositivi SCSI (che possono anche non essere delle unità disco, ma anche scanner, periferiche di backup e altro). Il riconoscimento delle periferiche collegate alla catena che si fa nell’utility IDE del BIOS è analogo all’operazione che si effettua nella utility per SCSI, con la differenza già citata che il numero di periferiche per catena è maggiore. L’aspetto a cui prestare attenzione, esaminando la tabella degli SCSI ID rilevati dalla utility, è l’eventuale presenza di conflitti dovuti a periferiche con lo stesso SCSI ID: ne apparirà una sola, oppure il controller potrebbe segnalare errori. 33 PC Open 123 Dicembre 2007 1.14.1.6 Essere in grado d'installare e configurare un adattatore bus host SCSI e relativi dispositivi SCSI. Essere inoltre in grado d'installare e configurare ulteriori periferiche, quali: scanner, stampanti, dispositivi esterni di backup ecc. Fig. 33 - Nel caso dei dispositivi IDE l’equivalente logico dello SCSI ID è rappresentato dall’impostazione del ruolo master o slave per i dispositivi che si attestano su uno stesso canale. E’ anche disponibile la modalità cable select in cui il ruolo è stabilito dalla posizione di collegamento sul cavo IT administrator - Hardware 1.14.1.7 Essere in grado d'installare e configurare schede controller addizionali, per dischi normali e dischi RAID. 1.14.1.8 Essere in grado d'installare un impianto di rete In questo caso, spegnere il PC, correggere lo SCSI ID di uno dei dispositivi in conflitto e riprovare. Installare e configurare schede controller addizionali, per dischi normali e dischi RAID Tutte le motherboard PC integrano uno o più controller IDE sufficienti a gestire un certo numero di canali P-ATA e/o S-ATA, a seconda delle configurazioni, e quindi sono in grado di collegare diverse unità disco. In passato lo standard era una dotazione di due canali P-ATA, per un totale di quattro unità IDE; tenendo conto del fatto che almeno un disco fisso e una unità ottica erano sempre presenti, la capacità disponibile per espansioni era limitata: si potevano aggiungere al massimo due unità. Con l’avvento delle motherboard dotate di controller S-ATA (spesso abbinati con almeno un canale P-ATA per motivi di retrocompatibilità con l’hardware precedente) le cose sono migliorate, ma non di molto: è vero che alcuni modelli sono provvisti di un buon numero di connettori S-ATA, in diversi casi anche 4 o 6, però per le caratteristiche della tecnologia S-ATA a ogni connettore si può attestare una sola unità, a differenza dello standard P-ATA in cui su ogni cavo se ne possono collegare due. Quindi una motherboard in cui anziché i due classici canali P-ATA troviamo 4 connettori S-ATA e un connettore P-ATA si possono gestire al massimo 6 unità IDE totali: un modesto passo avanti. Se il PC deve essere usato in applicazioni in cui serve una elevata capacità di memorizzazione, e magari una garanzia di elevata di disponibilità dei dati ottenibile solo con schemi RAID, ecco che il numero di unità disco da installare supera facilmente il numero di dischi gestibili direttamente dalla motherboard. La soluzione è installare uno o più controller addizionali su scheda PCI o PCIexpress. Un controller può aggiungere canali IDE P-ATA, canali S-ATA o una combinazione di entrambi. Inoltre molti modelli incorporano la capacità di supportare schemi RAID, grazie ai quali si possono ottenere maggior sicurezza, maggiori prestazioni o entrambe. Per una descrizione degli schemi RAID e delle loro indicazioni d’impiego si veda la VI puntata. L’installazione del controller addizionale richiede due passi: l’installazione fisica della scheda sul bus di sistema, che avviene secondo le modalità generali già descritte, e la configurazione logica delle unità disco collegate. Poiché il controller non è integrato su motherboard e il suo programma di controllo e configurazione non fa parte del BIOS, la configurazione non avviene all’accensione del PC ma il produttore fornisce i driver e una utility di gestione utilizzabili sotto Windows oppure Linux. Va detto che entrambi i sistemi operativi sono anche in grado di emulare in software almeno gli schemi RAID più semplici (per esempio RAID 0, 1 e 5), altrimenti ottenibili solo investendo in controller dedicati hardware. Apposite utility di configurazione, del tutto analoghe a quelle che gestiscono i controller hardware, consentono di creare gruppi RAID definendo il tipo di schema, la popolazione delle partizioni “partecipanti” e l’unità disco logica da creare, per poi formattarla. Nelle immagini vediamo, per esempio, la procedura da seguire sotto Linux per creare e gestire un gruppo RAID usando l’utility Disk Druid. Anche Windows supporta il software RAID con il concetto di “dischi dinamici”, configurabili dalla Gestione Disco. PC Open 124 Dicembre 2007 Lezione 9 Come installare un impianto di rete Nella IX puntata abbiamo fatto la conoscenza con gli attori che partecipano direttamente a una rete: schede di rete (nei vari formati disponibili: USB, PCI, PCMCIA, ExpressCard), cablaggi (in rame, in fibra ottica, su rete elettrica e.. wireless, via etere), apparati attivi (hub, switch, router, access points,..), i dispositivi NAS (Network Attached Storage) e naturalmente i PC. Abbiamo inoltre discusso le varie topologie di rete (a bus, ad anello, a stella), le peculiarità delle reti wireless e i dispositivi che collegano la rete locale a Internet: router e modem a larga banda per ADSL, fibra ottica o GPRS/EDGE/ UMTS. Mentre per l’installazione dei singoli apparati della rete si può fare riferimento alle istruzioni fornite dal produttore e alle nozioni di base descritte nelle varie puntate di questo corso, dal punto di vista della progettazione della rete nel suo complesso occorre prestare attenzione a vari aspetti se si vuole ottenere un buon risultato. Inoltre, un’attenzione non inferiore dovrebbe essere riservata all’evoluzione della rete. Infatti, dopo un primo passo che consiste nel creare l’infrastruttura minima – un modem broadband o router, uno switch eventualmente integrato con il modem, le schede di rete e i cablaggi per i primi PC collegati alla LAN – successivamente è tipico dover collegare altri PC, dischi di rete o stampanti su LAN, oppure aggiungere alla rete di base la capacità wireless. La fase di evoluzione della rete è più delicata di quella di installazione iniziale anche perché introducendo a più riprese nuovi dispositivi senza la dovuta attenzione e coordinazione, si rischia di creare squilibri di tecnologia o di topologia e di introdurre incompatibilità o inefficienze. Se la rete cresce inseguendo le nuove necessità in modo più o meno casuale, appoggiandosi a un’ossatura di base dimensionata per un traffico ridotto e organizzata per una distribuzione di traffico differente, il risultato potrà essere una LAN poco affidabile e con prestazioni scadenti, perfino a fronte di investimenti significativi. Discutere i criteri di dimensionamento e progettazione delle LAN richiederebbe troppo spazio, oltre a esulare dagli scopi di questo corso, ma è importante fornire alcune linee guida. Le aree a cui dedicare uno studio accurato sono quella della sicurezza della rete e quella della sua struttura e tecnologia, che insieme ne condizionano le prestazioni e l’affidabilità. Per quanto riguarda la sicurezza si deve tassativamente provvedere a proteggere la rete da attacchi dall’esterno. Se la rete è esclusivamente di tipo wired, questo si può ottenere installando un router con capacità di firewall, e per misura di rinforzo si possono installare dei firewall software anche sui vari PC della rete. Inoltre, pur in presenza di queste misure di sicurezza esterne e interne, è sempre assolutamente indispensabile antivirus e antimalware/antispyware su tutti i PC, per evitare che l’infiltrazione per altra via di minacce all’interno della “fortezza” aggiri le difese perimetrali vanificandone l’efficacia. Anche se la rete è protetta da firewall, infatti, uno spyware installato su uno dei PC della rete funziona come cavallo di Troia e, approfittando del pieno accesso alla rete locale di cui può disporre, e della possibilità di uscire verso Internet, può trasmettere all’esterno informazioni riservate, collegarsi a siti da cui ricevere ordini da eseguire sulla rete (dif- Lezione 9 fondere virus, cancellare file da server di rete,…) e così via. Se la rete comprende anche un access point wireless, è assolutamente indispensabile attivare la protezione crittografica al più alto livello compatibile con le capacità dei terminali usati (alcuni vecchi PDA non supportano altro che l’ormai obsoleto protocollo WEP, impedendo di fatto di utilizzare i più recenti e sicuri WPA e WPA2). Non farlo sarebbe come costruire un castello protetto da spesse e alte mura e lasciare poi spalancato il ponte levatoio. Dal punto di vista delle prestazioni si deve badare a due aspetti complementari: la tecnologia di rete usata e la struttura della rete. La prima determina solo il limite massimo teorico di prestazioni raggiungibile sulla LAN, nell’ipotesi che la topologia di rete sia stata progettata in modo ideale, senza congestioni né colli di bottiglia. La seconda determina l’affidabilità e disponibilità della rete (in funzione della sua vulnerabilità a guasti singoli) e il grado di sfruttamento delle prestazioni. Una rete realizzata anche con notevoli investimenti e che utilizza apparati attivi e cablaggi all’ultimissimo grido può funzionare male e sprecare gran parte del suo potenziale se strutturata in modo inopportuno. Occorre quindi prestare attenzione a non strutturare la rete in modo tale che gran parte delle stazioni si trovino a condividere un’unica connessione verso il resto della LAN: tale tratta diventerebbe immediatamente il collo di bottiglia. Soprattutto i file server e le stampanti, che “attirano” molto traffico sul proprio troncone di rete, dovrebbero essere collegate allo switch o router con un link dedicato. In generale è da preferire la topologia a stella e non si dovrebbe fare uso di economici hub in quanto, replicando inutilmente il traffico su tutte le linee collegate, non ottimizzano lo sfruttamento di banda. Per le tratte WiFi si deve tener conto del fatto che l’access point seleziona il modo di funzionamento in base alla velocità del terminale più lento. Da questo punto di vista ha un effetto simile a quello di un hub. Quindi è perfettamente inutile acquistare attrezzatura allo stato dell’arte per il wireless gateway se uno o più terminali sono degli antiquati 802.11b da 11 Mbps. Occorre armonizzare i dispositivi che partecipano alla rete. A titolo d’esempio vediamo infine, per sommi capi, la procedura da seguire per installare una LAN wired (con uscita su Internet via ADSL) composta da 2 postazioni PC A e B e una stampante USB condivisa via rete, collegata al PC A. • Individuare la posizione ideale per il modem/router ADSL vicino a una presa telefonica e a una presa 220V. Installare il filtro ADSL, alimentare il modem/router ed effettuare la connessione alla linea. • Collegare due cavi di rete UTP cat.5 a due porte Ethernet del modem/router ai due PC. • Verificare che i due PC siano impostati per ricevere automaticamente l’indirizzo e controllare che abbiano ottenuto indirizzi diversi usando il comando IPCONFIG. • Da uno dei due PC collegarsi al modem/router secondo le istruzioni fornite dal produttore e configurare la connessione ADSL secondo le informazioni fornite dall’ISP. • Sul PC A condividere via rete la stampante loca- IT administrator - Hardware 34 le utilizzando l’apposta funzione del Pannello di Controllo. • Configurare la stampante remota sul PC B ed effettuare una stampa di prova. Per il funzionamento dei vari PC sulla rete è necessario che a ognuno di essi sia attribuito un indirizzo univoco. Questo può essere fatto staticamente, con procedura manuale (figura 34), oppure dinamicamente, in modo automatico, grazie al protocollo DHCP. In quest’ultimo caso, sulla rete deve esistere un server DHCP attivo. In genere i modem ADSL e i router ne contengono uno che può essere attivato agendo sull’interfaccia di controllo del dispositivo. L’assegnazione manuale è un’operazione che può provocare errori se a due o più PC dovesse erroneamente venire attribuito lo stesso indirizzo. In questo caso si verificherebbero anomalie sulla rete, in quanto, innanzitutto, non sarebbe chiaro a quale sistema debbano essere recapitati i pacchetti: i sistemi Windows rilevano questa circostanza e la segnalano con appositi messaggi che non devono mai essere ignorati.Per condividere l’uscita su Internet fra tutti i PC della rete è necessario un router/gateway in grado di assegnare indirizzi individuali alle macchine all’interno della LAN, mentre all’esterno ne acquisirà uno singolo per sé; ogni connessione aperta da un PC verso Internet verrà “trasformata” in modo che all’esterno appaia come una connessione instaurata dal router stesso. Nella direzione contraria, i pacchetti di dati ricevuti in risposta saranno da questo ritrasformati e mandati ai PC di pertinenza. Questa funzione si chiama Network Address Translation (NAT). Oltre che da un router/gateway, il ruolo di macchina con funzioni NAT può essere svolto da un PC; allo scopo, sotto Windows è disponibile la funzione Condivisione accesso a Internet. PC Open 125 Dicembre 2007 Fig. 34 - L’indirizzo del PC può essere impostato manualmente, come in figura, oppure essere ricevuto da un server DHCP (si tratta di una funzione generalmente presente negli access point e nei router).