Hardware, la parte dura...

5.1 Premessa

Questo capitolo e' dedicato agli 'smanettoni', a tutti coloro che intendono upgradare (da upgrade, ossia migliorare la configurazione hardware del PC aggiungendo o sostituendo alcuni componenti presenti all'interno) il proprio PC, a tutti coloro che intendono assemblare il proprio PC partendo da zero, a tutti i curiosi e, perche' no, anche agli utenti comuni che intendono solamente utilizzare al meglio un PC con un sistema Linux installato. Le ultime distribuzioni Linux riconoscono automaticamente l'hardware installato, pertanto non e' indispensabile leggere questo capitolo, tuttavia si possono a volte riscontrare problemi con parti hardware non ancora supportate. Per questo motivo e' consigliabile leggere comunque questo capitolo. Chi volesse montare da se' il proprio PC deve sapere che non occorre avere conoscenze tecniche incredibili per farlo. Infatti pur non essendo un assemblatore di PC professionista, ho montato e smontato i miei PC infinite volte senza far mai danni. Questo perche' le varie schede ed i vari componenti sono costruiti in modo da evitare errori in fase di montaggio (ad esempio e' impossibile invertire la polarita' di alimentazione di un hard disk in quanto il verso di inserimento del connettore ha un unico senso possibile e non lo si puo' invertire erroneamente).

5.2 Perche' con Windows non devo sapere nulla di hardware?

Il monopolio del Sistema Operativo Windows non coinvolge unicamente gli utenti finali, ma riguarda tutto cio' che gravita intorno ad un Sistema Operativo. Coinvolge quindi tutti i produttori di software (cioe' le societa' che producono programmi di contabilita', giochi, programmi di grafica, programmi per ufficio etc..) e tutti i produttori di hardware (cioe' le societa' che producono stampanti, modem, scanner, mouse, tastiere etc..). Cosa significa tutto cio'? Per quanto riguarda l'hardware, occorre ricordare che qualsiasi Sistema Operativo necessita di driver specifici per un dato componente hardware (ad es. una stampante). Il driver come gia' detto e' un programma super specializzato che permette il dialogo tra un Sistema Operativo ed un dato componente hardware. I driver vengono creati dai produttori di hardware. Occorre creare un driver per ogni componente hardware ma, in particolar modo una versione diversa dello stesso driver per ogni Sistema Operativo. Questo significa che il produttore della stampante 'Stampabene modello xy laser' deve scrivere una versione del driver 'drivxy' per i sistemi Windows, una per i sistemi Macintosh, una per i sistemi Unix e cosi' via. Esistono moltissimi Sistemi Operativi, il che significa che occorrera' scrivere moltissime versioni differenti dello stesso driver. Tante versioni per quanti sono i Sistemi Operativi. Tutto questo e' un costo per i produttori di hardware, i quali si limitano spesso a produrre driver esclusivamente per i sistemi Windows, in quanto sono i sistemi piu' diffusi. Ecco perche' il supporto ai vari dispositivi hardware viene inglobato all'interno del kernel di linux. Il kernel viene aggiornato continuamente, percio' un particolare dispositivo hardware che oggi non viene supportato da linux, potrebbe esserlo domani con una nuova versione del kernel. Tutto questo sforzo nell'aggiornamento non e' richiesto nei sistemi Windows, in quanto il supporto (sotto forma di driver) viene fornito direttamente dai produttori di hardware. Linux e' nato nel 1991, ma sta diffondendosi in modo massiccio solo da poco tempo. Ecco perche' in passato e' stato ignorato dai costruttori di hardware i quali non hanno prodotto driver specifici anche per Linux. I driver su Linux quindi sono il frutto del lavoro svolto da programmatori volontari sparsi nel globo che hanno di volta in volta scritto questo o quel driver. Scrivere un driver non e' un'operazione semplice. Puo' essere necessario scriverne delle parti in linguaggio assembly (linguaggio di programmazione non proprio facile da apprendere), occorre conoscere l'hardware in modo molto approfondito, occorre avere conoscenze tecniche non indifferenti. Infine occorre avere una conoscenza dell'hardware da pilotare (la stampante 'Stampabene mod. xy laser' ad esempio) perfettamente nei minimi dettagli (cosa che solo il produttore di hardware puo' avere). Ecco perche' esistono dei driver 'universali' cioe' che si adattano ad un dato tipo di hardware e sono pertanto generici. Tutto queste circostanze spiegano perche' a volte si possono avere problemi utilizzando degli apparati hardware non pienamente supportati da Linux. Con Windows non dobbiamo preoccuparci della parte hardware per il semplice motivo che i driver necessari ad una specifica periferica ci vengono venduti insieme alla periferica stessa, all'interno di alcuni floppy disk o CD-ROM. Occorre solo installarli. Con linux purtroppo le cose non stanno cosi' in quanto i produttori di hardware come abbiamo visto non producono driver anche per linux. Dobbiamo affidarci alla versione di kernel corrente. Il kernel viene revisionato ed aggiornato frequentemente ed ininterrottamente e, ad ogni versione, viene inserito il supporto a nuovo hardware. Ad ogni modo questa situazione e' in continuo miglioramento, e con il passare dei mesi sono sempre di piu' gli apparati hardware supportati su Linux. Le cose quindi stanno cambiando molto velocemente per quanto riguarda l'hardware in ambito Linux. Gia' oggi, importanti produttori di hardware del calibro di IBM o Hewlett Packard stanno investendo molto su Linux. Quando si assembla un nuovo PC che dovra' installare Linux quindi, occorre scegliere i vari componenti hardware da acquistare in base alla loro compatibilita' con Linux. E' sconsigliabile quindi acquistare parti hardware appena uscite sul mercato che magari non sono completamente supportate. Per sapere quali componenti hardware sono supportati su Linux, e' possibile visitare i seguenti siti:

5.3 Il CASE

Il PC e' una macchina composta da varie parti. Quelle piu' evidenti sono il video, la tastiera, il mouse e, ovviamente la scatola di plastica che contiene il computer vero e proprio. Questa scatola si chiama case (dall'inglese cassa, scatola) e puo' essere di 2 forme: desktop o tower. Il formato desktop e' una scatola che si sviluppa in senso orizzontale e spesso viene posta sotto il monitor, mentre il formato tower e' una scatola che si sviluppa in senso verticale e di solito si trova sotto la scrivania. Il formato tower a sua volta puo' essere di 3 tipi: mini tower, midi tower o high tower. La differenza tra i tipi tower sta nelle dimensioni: il mini e' il case piu' piccolo, il midi e' intermedio ed il modello high e' quello piu' grande. Il modello piu' diffuso e' il midi tower. Per aprire un case solitamente basta svitare 4 o piu' viti a croce presenti sul retro del case (dove vengono collegati tutti i cavi). L'unico strumento che serve e' un normale cacciavite a croce di dimensione media. La scelta di un case di tipo desktop o di tipo tower dipende dallo spazio che si ha a disposizione (il tipo desktop puo' essere posizionato sotto il monitor ad esempio). I case di solito sono di colore avorio, ma in pratica ne esistono di tutti i colori, dal nero al metallizzato. I case piu' piccoli occupano meno spazio ma rendono difficili eventuali operazioni di upgrade, in quanto un case piccolo rende meno accessibili i vari componenti all'interno. I case grossi occupano piu' spazio ma permettono un upgrade piu' agevole. I maniaci dell'upgrade poi, a volte assemblano il proprio PC all'aperto, ossia senza case! ;o) In un case tipico comunque sono presenti: sulla parte frontale un interruttore per accendere il PC, un interruttore per il reset (riavvio hardware del PC senza scollegarlo dalla rete elettrica) dei led luminosi che indicano l'accensione del PC ed il funzionamento dell'hard disk e del floppy disk, uno o piu' drive per i floppy disk (sono quelle fessure dove vengono inseriti i dischetti) un drive per CD ROM (cassettino estraibile dove inserire i CD ROM); sulla parte posteriore le varie porte USB, seriali, parallele e le varie uscite dei vari slot di espansione. Attenzione a non confondere il termine drive con il termine driver perche' sono 2 cose completamente diverse (il primo e' un apparato hardware il secondo e' un programma).

5.4 La CPU

La CPU o microprocessore o Central Processing Unit (Unita' Centrale di Elaborazione) e' il cuore del PC, il computer vero e proprio. E' un oggetto delle dimensioni inferiori a quelle di un francobollo che esegue calcoli ed istruzioni ad una velocita' impressionante. E' un circuito elettronico che contiene migliaia di componenti miniaturizzati all'interno di un involucro o CHIP (viene definito Chip qualsiasi circuito elettronico integrato in un supporto removibile). Ogni secondo puo' eseguire milioni di istruzioni. Esistono varie societa' che producono microprocessori, come l' AMD, la Motorola, l' IBM, la SUN, la DEC, la Intel ed altre ancora, ma, se parliamo nell'ambito ristretto dei PC, sono principalmente due o tre le case che si danno battaglia, l'AMD, l'Intel e la Motorola (in ambito macintosh). Cosi' come si puo' parlare di monopolio in ambito software per quanto riguarda la Microsoft, discorso analogo si puo' fare in ambito CPU per quanto riguarda la Intel Corporation, la nota azienda di Santa Clara, California. I microprocessori Intel infatti, sono di gran lunga le CPU piu' utilizzate nel mondo in ambito PC (80% della quota di mercato posseduta a fine 2000). Il monopolio Windows-Intel viene chiamato scherzosamente Wintel. Una curiosista': forse non tutti sanno pero' che il primo microprocessore Intel (il modello 4004) venne ideato da un ingegnere italiano, Federico Faggin nel 1971 (che successivamente fondo' la Zilog, la societa' del famoso microprocessore Z80, la CPU dei vecchi Spectrum ZX81 della Sinclair). I primi microprocessori dei PC IBM furono i microprocessori Intel 8086 e 8088. Successivamente vennero prodotti gli 80186, gli 80286 (detti comunemente 286), gli 80386 (detti 386), gli 80486 (detti 486) e gli 80586, che vennero chiamati Pentium in virtu' della comparsa della cifra 5 nella serie 80x86. Le successive serie di microprocessori 586 o Pentium, successivamente divennero Pentium II, Pentium III ed infine Pentium IV, che e' la serie di Pentium al momento in circolazione. Un concetto molto importante da conoscere riguardo le CPU e' la frequenza di clock. Il clock e', come dice il nome, un orologio che scandisce il tempo. Un orologio al quarzo per la precisione, in quanto nel PC e' contenuto un cristallo di quarzo la cui oscillazione garantisce la precisione nei cicli di clock. Questo orologio serve per scandire il tempo (una specie di metronomo per chi conosce la musica) che la CPU deve seguire. In altre parole il generatore di clock e' un orologio che serve per sincronizzare tutte le operazioni interne del computer. In fisica la frequenza viene misurata in Hertz (abbreviato Hz). Eseguire 1 ciclo in 1 secondo significa andare ad una frequenza di 1 Hertz. Prendiamo il gioco del salto della corda ad esempio: eseguire un salto al secondo significa saltare alla frequenza di 1 Hertz. Mille cicli in un secondo sono 1.000 Hertz. Vale a dire: 1000 salti della corda in un solo secondo! 1.000 Hz corrispondono ad 1 KHz (Kilohertz, dove K sta per Kilo e significa 1.000). Un milione di cicli in un secondo sono 1 MHz (Megahertz, dove M sta per Mega e significa appunto 1.000.000). Un miliardo di cicli al secondo sono 1 GHz (Gigahertz, dove G sta per Giga e significa appunto 1.000.000.000). Bene, la frequenza di clock di una CPU viene misurata attualmente in GHz (Gigahertz). Una CPU che viaggia ad una frequenza di 1 GHz ad esempio, significa che e' in grado di sopportare 1 miliardo di cicli in un secondo. Ipotizzando che in ogni ciclo venga eseuita una istruzione, potremmo dire che la nostra CPU e' in grado di eseguire 1 miliardo di istruzioni al secondo. In realta' non e' esattamente cosi' perche' molte istruzioni richiedono piu' di un ciclo di CPU per essere eseguite completamente. Spiegare questo discorso richiederebbe la conoscenza approfondita della architettura interna di una CPU e del linguaggio assembly, ma non e' certo questa la sede per approfondire questi argomenti. I primi modelli di Pentium viaggiavano piu' o meno a 60 MHz. Le CPU sono arrivate a livelli di velocita' e di potenza spaventose: mentre scrivo l'Intel produce ad esempio microprocessori a circa 3 GHz. Stiamo parlando di 3 miliardi di salti della corda in un secondo! ;o) Una CPU che viaggia a queste velocita' produce molto calore (esattamente come il motore di un automobile) e necessita quindi di una ventola di raffreddamento e di un radiatore per dissipare il calore creato. Attenzione: una CPU fatta funzionare senza adeguato radiatore e ventola di raffreddamento puo' venire distrutta irrimediabilmente. Ma quale CPU scegliere? Le CPU della AMD costano meno di quelle Intel ma si scaldano molto di piu' e richiedono un sistema di raffreddamento adeguato. Quelle Intel al contrario non si scaldano molto (ma superate certe frequenze la ventola di raffreddamento e' un obbligo comunque). Ma la frequenza di clock di un microprocessore non e' il solo parametro da tenere in considerazione. Per ogni CPU infatti occorre considerare la dimensione della memoria cache, il set di istruzioni usato, la frequenza di bus, la potenza dissipata e tutta una serie di caratteristiche che la rendono unica (dimensioni dei registri, coda di prefetch, pipeline etc). Occorre pero' tener conto del fatto che difficilmente si avra' un reale bisogno di tale potenza e velocita' con un uso medio di un PC. Se si escludono i videogiochi (che sono i programmi piu' affamati di memoria e di potenza di calcolo), in genere non vale la pena spendere ingenti somme nell'acquisto della CPU piu' veloce esistente sul mercato. Molto meglio far defluire i soldi risparmiati acquistando una CPU con frequenze relativamente modeste nell'acquisto di una scheda grafica o di un hard disk migliori. Cosa si intende con espressioni tipo: cache di secondo livello, frequenza di bus, chipset? Vediamo: La CPU e' collegata al 'resto del mondo' mediante dei canali chiamati BUS. In altre parole, tutto cio' che e' esterno alla CPU (RAM, Disco, Scheda grafica, Scheda audio, porte seriali etc) comunica con essa mediante questi BUS, che possiamo immaginare come dei fasci di cavi elettrici ad alta velocita' che collegano la CPU ai vari dispositivi. All'interno di un PC esistono vari BUS: il loro numero e la loro interconnessione con il resto del mondo variano in base al disegno che e' stato pensato dal costruttore della SCHEDA MADRE. Esistono infatti vari costruttori e varie SCHEDE MADRE ognuna con le sue precise caratteristiche. Nella SCHEDA MADRE sono presenti alcuni dispositivi che fanno parte del resto del mondo che pero' sono saldati direttamente sulla scheda e non collegati mediante cavi, come ad esempio la CACHE. Il traffico tra i vari BUS, i componenti saldati e la CPU e' gestito dal CHIPSET che e' a sua volta un componente saldato sulla SCHEDA MADRE. Il CHIPSET e' il vigile addetto al traffico di dati tra CPU, BUS vari ed altri componenti. Il traffico dei dati tra i vari componenti e' scandito dal clock, una sorta di orologio al quarzo molto preciso che puo' essere assimilato ad un semaforo che ciclicamente permette al traffico di defluire. Il CHIPSET e' il vigile, il direttore d'orchestra ed il clock e' il semaforo. Le automobili sono i dati che viaggiano ininterrottamente tra i vari dispositivi. Le strade percorse dalle automobili sono i BUS. Cosi' come esistono dei limiti di velocita' nelle strade, cosi' esistono dei limiti di velocita' nei BUS. Mentre i primi sono imposti dalla legislazione vigente, gli ultimi sono imposti dalla fisica. I costruttori di hardware tentano di superare i limiti fisici dei BUS adottando tecnologie sempre piu' avanzate. Il limite di velocita' nelle strade e' espresso in Km/h mentre il limite di velocita' nei BUS e' espresso in Mhz, cioe' milioni di cicli al secondo. E' evidente che un BUS che permette un traffico di dati di 100 Mhz diventa un collo di bottiglia per CPU da 3 Ghz e memorie RAM da 200 Mhz. E' un po' come possedere un'automobile che raggiunge i 300 Km/h ed essere costretti a viaggiare a 40 Km/h in un viottolo di campagna: in questo caso il BUS rappresenta il viottolo di campagna. ;o) La CPU e' il cuore del PC: esegue calcoli ed operazioni a velocita' incredibili, ma per eseguire questi calcoli ha bisogno di un blocco note dove poter scrivere e da cui poter leggere. A cosa serve questo blocco note? Vediamo un esempio: e' facile eseguire una somma come 2 2 a mente, ma per poter effettuare calcoli piu' complessi come 274563 : 253 ci occorre un blocco note ed una penna! Lo stesso discorso si puo' dire per la CPU: per effettuare i vari calcoli e le varie operazioni ha bisogno di una grossa lavagna dove poter scrivere e leggere i dati: la memoria RAM. La CPU esegue i calcoli a velocita' incredibili, ma poiche' per poter leggere o scrivere dei dati sulla memoria RAM occorre del tempo, e' stata creata un tipo di memoria particolare alla quale e' possibile accedere in modo molto piu' rapido rispetto alla RAM. Questa memoria si chiama CACHE. La CACHE e' molto costosa percio' ne viene utilizzata solo una piccolissima quantita' per memorizzare i dati strettamente necessari. E' un po' come se per eseguire un calcolo dovessimo continuamente alzarci dal banco e raggiungere la lavagna (la RAM): un inutile spreco di tempo. Molto meglio un piccolo blocco note disponibile sul banco e percio' raggiungibile in tempi brevissimi (la CACHE appunto). La CACHE puo' essere di primo livello se si trova all'interno della CPU o di secondo livello se si trova all'esterno della CPU e saldata sulla scheda madre. La CPU e' collegata alla CACHE e alla memoria RAM mediante un BUS. Esistono 2 tipi di BUS, il BUS HOST (o di sistema) ed il BUS I/O (o di Input-Output). Il BUS HOST collega la CPU con la RAM e le altre memorie (CACHE). Il BUS I/O collega la CPU alle altre periferiche. Il disegno e la tipologia della scheda madre viene definito architettura. Una architettura tipica presente in molte schede madri e' l'architettura a bridge. In questa architettura esistono 2 unita' (controller) che collegano CPU, BUS HOST e BUS di I/O. Questo perche' i 2 BUS sono di diversa natura. Questi 2 controller fungono da ponte ed infatti si chiamano BRIDGE (ponte). Piu' esattamente esiste il NORTHBRIDGE ed il SOUTHBRIDGE. Il NORTHBRIDGE collega il BUS HOST, le CACHE, la memoria RAM ed il BUS PCI. Il BUS PCI e' collegato al NORTHBRIDGE e al SOUTHBRIDGE. Il SOUTHBRIDGE comunica con il sistema USB, il sistema IDE (cioe' dischi/floppy/CDROM) ed il BUS ISA. Connessi al BUS ISA troviamo la tastiera, il BIOS, la scheda audio, la stampante. In questa architettura la scheda video ha un collegamento privilegiato con la CPU. Infatti non comunica mediante un BUS ma attraverso una porta della CPU: la porta AGP. AGP sta per Accellerated Graphic Port ed e' una porta presente sulla CPU che comunica direttamente con il sistema video. Per semplificare esistono due tipi di chipset: con alloggiamento a slot e con alloggiamento a socket. Cioe' la CPU puo' essere alloggiata sulla scheda madre mediante una connessione a slot o a socket. Un'altra caratteristica delle CPU e' la dimensione in bit dei registri. I primi processori erano dotati di registri a 4 bit, ne seguirono altri a 8 bit, poi vennero quelli a 16 bit, a 32 bit, a 64 bit e via dicendo. Le CPU di oggi sono tutte almeno a 32 bit. L'ampiezza dei registri e' importante per vari motivi. Ad esempio, maggiore e' l'ampiezza in bit dei registri, piu dati vi possono essere contenuti e maggiori sono le dimensioni della RAM indirizzabili. 32 bit corrispondono a 4 byte, ossia 4 caratteri. Ad ogni modo questi dettagli sono fondamentali se si sviluppa software a basso livello e cio' esula dal contesto di questa guida.

5.5 La scheda madre

La scheda madre e' la piastra principale dove viene inserita la CPU e alla quale vengono collegati tutti i componenti del PC. Attualmente non viene piu' chiamata motherboard (scheda madre) ma mainboard (cioe' scheda principale) o piu' familiarmente mobo (MOther BOard). E' in sostanza un circuito stampato, ossia una piastra di materiale plastico contenente componenti elettronici collegati tra loro da piste di rame. E' fissata al case tramite appositi distanziatori di plastica, per evitare che i circuiti elettrici vengano a contatto direttamente con il telaio metallico. Sulla piastra madre oltre alla CPU e' presente un chipset, ossia un circuito che gestisce i vari componenti e sono presenti gli slot di espansione o slot bus. Attualmente esistono 2 tipologie di schede madri a seconda del tipo di alloggiamento della CPU che devono ospitare: socket, e slot. Il socket o lo slot e' in sostanza il connettore dove viene alloggiata la CPU. Ecco perche' occorre abbinare ad una CPU specifica il tipo di scheda madre specifico. Gli slot di espansione saldati sulla scheda madre sono altri connettori ai quali vengono collegate la scheda audio, la scheda video, la memoria RAM, le periferiche come tastiera, stampante e via dicendo. Nella scheda madre e' presente anche il generatore di clock, cioe' quell'orologio che per cosi' dire batte il tempo, ossia scandisce il tempo al quale devono adeguarsi tutti i componenti del PC. Quando la CPU esegue un'istruzione vengono coinvolti vari componenti del PC: la memoria RAM l'hard disk, la CPU stessa, la tastiera, il video etc. Ne segue percio' che tutti i componenti debbano interagire tra loro in maniera sincronizzata. E' un po' come un'orchestra diretta dal suo direttore: i vari componenti si possono paragonare ai vari musicisti che eseguono un pezzo musicale seguendo le direttive del direttore d'orchestra che li coordina. Ogni musicista deve andare a tempo, deve cioe' essere sincronizzato con il tempo battuto dal direttore con le bacchette. Bene, il generatore di clock e' il direttore d'orchestra del PC. In realta' sarebbe piu' corretto dire che il clock e' lo strumento che scandisce il tempo, mentre il chipset e' il direttore d'orchestra che gestisce gli orchestrali (i componenti del PC). Chi si diverte ad aumentare (senza esagerare) la frequenza di clock, compie un'operazione di overclocking, con il risultato di spingere la CPU ad una velocita' superiore a quella per la quale ne e' stato garantito il funzionamento. Occorre comunque considerare che le prestazioni del nostro PC non dipendono esclusivamente dalla velocita' della CPU. Infatti occorre considerare la velocita' del BUS e della memoria RAM ad esempio. Per accedere ai dati presenti sulla memoria RAM infatti, occorre del tempo (misurato in nanosecondi - µs - ossia miliardesimi di secondo). Bene, se la CPU e' piu' veloce della memoria RAM, dovra' rimanere in attivita' durante i tempi morti necessari per leggere o scrivere i dati da e verso la memoria RAM (ecco il perche' della cache). Lo stesso discorso vale per gli accessi ai tutti gli altri dispositivi esterni alla CPU, come ad esempio i dischi, decisamente piu' lenti della CPU. Ecco il diagramma di una scheda madre:

Nell'immagine sopra e' rappresentata una scheda madre di tipo slot 1. Sono raffigurati 2 slot ISA (ISA1 e ISA2), 5 slot PCI (PCI1, PCI2, PCI3, PCI4 e PCI5), la batteria (BAT1), uno slot AGP (AGP1), 2 connettori EIDE (IDE1 e IDE2) un connettore per floppy disk (FDC1), 3 slot per i banchi di memoria RAM (DIMM1, DIMM2 e DIMM3), 2 porte seriali (COM1 e COM2), una porta parallela (LPT1) 2 porte USB (USB1), 2 porte PS/2 per mouse e tastiera (KM1) un' uscita MIDI o per JOYSTICK (MDI/GAME port) un chipset VIA ed infine uno slot 1 per connettere la CPU.

Alcuni di produttori di schede madri:

Ecco la foto di una scheda madre vista dall'alto:

Sono assenti i 2 slot ISA ISA1 e ISA2 (ormai non piu' usati) presenti nel diagramma precedente. Rimangono i 5 slot PCI bianchi, lo slot AGP nero, i 3 slot per la RAM neri e gli slot IDE (rosso e bianco).

Le mainboard, come abbiamo detto, variano da costruttore a costruttore ed ognuna ha delle caratteristiche particolari o delle innovazioni specifiche. Nonostante cio' e' possibile classificare le mainboard a seconda del loro formato. Esistono vari formati standard: AT, ATX, LPX, Blackplane Passivo e altri formati proprietari. I formati differiscono non solo per le dimensioni ma anche per le caratteristiche tecniche ed il disegno. In genere esiste una certa corrispondenza tra i formati delle mainboard e i vari tipi di case.

  • Formati proprietari: sono disegnati dal costruttore. Adottano schemi particolari e soluzioni diverse in genere non molto compatibili con gli altri standard.

  • Formato LPX: le schede di espansione non sono verticali alla mainboard ma parallele. Questo permette l'adozione di case di tipo desktop slim (desktop molto sottili). In queste mainboard la scheda video e' solitamente integrata e le possibilita' di upgrade generale sono limitate.

  • Formati a Backplane Passivo: una mainboard che rappresenta solamente un supporto con i vari connettori di espansione (backplane passivo). Tutta la parte attiva (CPU, memoria, etc) sono installate su schede separate che vengono connesse ai vari connettori presenti sulla mainboard. Questa soluzione permette un upgrade facilitato dei vari componenti e, in pratica, e' possibile cambiare qualsiasi componente della mainboard. L'unico problema e' il costo elevato di questo tipo di formato.

  • Formato AT: e' il formato classico, e puo' essere full, baby, reduced o half a seconda delle dimensioni. Il formato full e' quello piu' grande e puo' contenere fino a 12 slot di espansione mentre il formato half e' il piu' piccolo e puo' contenere fino a 7 slot di espansione. Il formato AT non full puo' essere installato in qualsiasi tipo di case, anche in quelli mini, tranne che per i case dei desktop cosidetti slim. Prevede un connettore DIN a 5 poli per la tastiera, saldato sulla scheda; i connettori delle porte seriali e parallela sono saldati sulla scheda; la CPU e' collocata in una posizione fissa ed alla sua destra troviamo gli slot per la memoria. Per le altre componenti non esiste uno standard ben definito.

  • Formato ATX: piu' recente rispetto al formato AT, presenta varie innovazioni rispetto al formato AT. I connettori PS2 del mouse e USB sono normalmente integrati nella mainboard. La posizione di altri connettori come IDE/FDD e' generalmente standard. Il sistema di alimentazione prevede un connettore che impedisce cablaggi errati (e conseguenti inversioni di polarita'). In questo formato, a differenza del formato AT non sono previsti piu' di 7 slot di espansione. Infine i formati AT ridotti sono di dimensioni inferiori rispetto ai formati ATX piu' piccoli.

Caratteristiche dei vari formati:

FormatoDimensioni (Larg. x Prof. x Alt., mm)CaseConnettori Compatibilita' con i CaseCompatibilita' con la Mainboard
PC/XT222 x 142 x 120DesktopATPC/XTPC/XT
AT213 x 150 x 150Desktop o TowerATATAT, Baby AT
Baby AT165 x 150 x 150Desktop o TowerATBaby AT, AT, AT/ATX ComboAT, Baby AT, AT/ATX Combo
LPX150 x 140 x 86DesktopATLPX, some Baby AT, AT/ATX ComboLPX, AT, Baby AT, AT/ATX Combo
ATX/NLX150 x 140 x 86Desktop o TowerATXATX, Mini-ATX, Extended ATX, NLX, microATX, AT/ATXCombo ATX, Mini-ATX, Extended ATX, NLX, microATX, FlexATX
SFX100 x 125 x 63.5Desktop o TowerATXmicroATX, FlexATX, ATX, Mini-ATX, NLX microATX, FlexATX, ATX, Mini-ATX, NLX
WTX150 x 230 x 86 (singola ventola)
224 x 230 x 86 (doppia ventola)
TowerWTXWTXWTX

5.6 Gli SLOT

Gli slot non sono altro che delle 'prese' nelle quali vanno inserite delle schede aggiuntive (come le schede dei banchi di memoria RAM o altre schede come le schede sonore, le schede video, le schede di rete etc.).

5.7 La memoria RAM

La memoria RAM (Random Access Memory) puo' essere assimilata ad una lavagna o ad un quaderno. Quando noi eseguiamo una somma tra due numeri, diciamo 3 e 4, la seguiamo a mente ricavando immediatamete il risultato, che in questo caso e' 7. Le cose vanno diversamente quando dobbiamo sommare 2 numeri grandi, come ad esempio 32747 e 12394. Sommarli a mente diventa piu' difficile: ci occorre una penna ed un foglio di carta! In questo modo iniziamo ad incolonnare i 2 numeri e li sommiamo una coppia di cifre per volta. Inoltre teniamo a mente il 'riporto'. In questo esempio sommiamo 7 e 4 e ricavando 11 scriviamo 1 e riportiamo 1. Poi sommiamo 4 e 9 e ricaviamo 13. Dovremmo scrivere 3, ma a questo dobbiamo aggiungere il riporto di 1 e scriviamo percio' 4 e riportiamo 1 nuovamente. E cosi' via. Bene, la CPU per eseguire calcoli ed istruzioni ha bisogno anche lei di una penna e di un foglio di carta. La penna ed il foglio di carta della CPU si chiamano: memoria RAM. La memoria RAM quindi e' la lavagna dove la CPU annota migliaia di volte al secondo i dati che elabora o i risultati dei calcoli, i riporti etc. RAM sta per Random Access Memory, cioe' memoria ad accesso casuale. Il significato di questa sigla e': la CPU puo' accedere a qualsiasi punto della memoria RAM in modo casuale. La RAM puo' essere immaginata come un quaderno a quadretti, dove ogni quadretto rappresenta una locazione di memoria (o cella) che puo' contenere un dato elementare. Ogni quadretto e' numerato progressivamente, pertanto dopo il quadretto numero 1 viene il quadretto numero 2, poi quello numero 3, il numero 4 e cosi' via. Questo numero progressivo e' l'indirizzo della locazione di memoria. Pertanto la locazione di memoria 327 avra' indirizzo 327. In realta' le cose non sono cosi' semplici, in quanto l'indirizzamento della memoria e' abbastanza piu' complesso ed inoltre sono possibili vari tipi di indirizzamento. Ma questo e' argomento di un corso sul linguaggio assembly pertanto non ha motivo di essere trattato in questa sede. La RAM e' sostanzialmente un circuito elettronico composto da tanti blocchetti saldati parallelamente su una piastra di materiale plastico. Tale circuito e' chiamato banco di memoria. Un PC puo' contenere piu' banchi di memoria a seconda di quanti slot di espansione possiede. Uno slot di espansione e' l'alloggiamento predisposto per un banco di memoria. Nell'immagine seguente e' raffigurato un banco di memoria:

La quantita' di memoria RAM presente all'interno di un PC e' misurata in Megabyte (Mb). Un megabyte rappresenta circa un milione di caratteri (esattamente sono 1.048.576). Esistono banchi di memoria RAM da 2/4/8/16/32/64/128/256/512 Mb. Piu' e' capiente il banco di memoria e maggiore e' il suo prezzo. La velocita' di accesso in lettura e scrittura di un banco di memoria RAM e' misurata in ns (nanosecondi) ossia miliardesimi di secondo. Esistono vari tipi di memoria RAM: DRAM, SDRAM, FP DRAM, EDO DRAM, DR DRAM, DDR SDRAM etc. ed esistono vari tipi di supporto per memorie RAM: SIMM, DIMM, RIMM, SODIMM. Ma vediamo di fare ordine. In base al tipo di supporto le memorie RAM si suddividono principalmente in SIMM, DIMM e RIMM. Il tipo di supporto corrisponde alla modalita' secondo la quale i singoli blocchetti di memoria sono saldati nella piastra di materiale plastico. Nelle le memorie SIMM i blocchetti sono saldati su un lato solo della piastra (Single In-line Memory Module), mentre nelle DIMM sono saldati in entrambi i lati (Double In-line Memory Module). Esistono poi le memorie SODIMM (Small Outline Dual In-line Memory Module) che possiedono una linea doppia di contatti e sono di dimensioni ridotte, vengono percio' usate nei PC portatili. Infine le RIMM (Rambus In-line Memory Module) dotate di un supporto proprietario con struttura a BUS. In genere le memorie RIMM sono piu' veloci delle DIMM e le DIMM sono piu' veloci delle memorie SIMM. Attenzione pero': il tipo di supporto non identifica un tipo preciso di tecnologia di memoria RAM, ma e' solamente una denominazione generica per indicare la modalita' con la quale vengono effettuati i contatti tra il modulo di memoria (o banco di memoria) e la scheda madre. Invece, in base al tipo di memorizzazione dei dati, le memorie RAM si suddividono in SRAM e DRAM. Le memorie RAM contengono un circuito elettronico che memorizza i dati. Tale circuito elettronico, per poter funzionare necessita di un flusso continuo di corrente elettrica. Bene, nelle memorie SRAM (Static RAM) i dati vengono memorizzati in modo statico fino a quando non viene interrotto il flusso di corrente elettrica o i dati vengono cambiati dai programmi in esecuzione, mentre nelle memorie DRAM (Dynamic RAM) i dati vengono memorizzati in modo dinamico cioe' continuamente rinnovati da cicli di refresh, cioe' da continui passaggi di corrente elettrica al loro interno. Per capire il concetto si puo' pensare ai disegni effettuabili con una torcia elettrica su una parete di un muro all'interno di una stanza buia: muovendo la torcia e' possibile ad esempio disegnare un cerchio, ma occorre muovere continuamente la torcia in senso circolare per mantenere 'vivo' il cerchio'. Questo flusso continuo di luce e' assimilabile al ciclo di refresh che la corrente effettua nella RAM per mantenere 'vivi' i dati. Tra un accesso e l'altro in memoria, occorre effettuare un ciclo di refresh per mantenere vivi i dati. Durante il ciclo di refresh la memoria non e' accessibile. Pertanto si tratta di un ciclo morto. La memoria SRAM al contrario, e' piu' rapida della memoria DRAM, non necessita di cicli di refresh e consuma percio' meno corrente: sembrerebbe quindi migliore della memoria DRAM. In effetti e' cosi', ma possiede alcune controindicazioni: e' piu' difficile da costruire ed e' piu' costosa. Per questo motivo questo tipo di memoria viene impiegata nella costruzione della memoria cache (ne occorre una quantita' decisamente minore rispetto alla memoria RAM classica) e non nella costruzione della memoria RAM principale. La memoria RAM vera e propria e' quindi una memoria di tipo dinamico (DRAM). A questo punto si inizia a sciogliere il bandolo della matassa delle varie sigle di memoria RAM. Infatti gli altri tipi di memoria corrispondono a diverse tecnologie di costruzione delle memorie di tipo dinamico (DRAM). Le tipologie di memorie DRAM presenti attualmente sono: FP-DRAM, EDO-DRAM, BEDO-DRAM, S-DRAM, S-DRAM II, DDR-S-DRAM, QDR-S-DRAM, ES-DRAM, SL-DRAM, R-DRAM (o Rambus DRAM).

  • La memoria FP-DRAM (Fast Page DRAM) organizza i dati in pagine composte da righe e colonne: i dati vengono individuati dalle coordinate riga/colonna. Questo tipo di memoria e' stata rimpiazzata dalla tecnologia EDO.

  • Le memorie EDO-DRAM (Extended Data Out DRAM) riduce ulteriormente i tempi di accesso. E' simile alla FP, ma possiede alcune celle di memoria ausiliarie che immagazzinano temporaneamente i dati in transito (buffer). E' un tipo di memoria molto diffuso.

  • Le memorie BEDO-DRAM (Burst EDO DRAM) rappresentano un ulteriore miglioramento rispetto alle EDO: i dati vengono organizzati in pacchetti indirizzati non solo ad un unica pagina ma anche alle successive. Questo tipo di memoria non e' molto diffuso.

  • Le memorie S-DRAM (Synchronous DRAM) sono una tecnologia completamente diversa dalle FP/EDO/BEDO. Non operano a pagine infatti ma gli accessi avvengono in modo sincronizzato con un clock esterno alla memoria. Sono memorie piu' veloci delle precedenti ed i tempi di accesso non si misurano piu' in nanosecondi ma in megahertz (fino a 100/133 Mhz).

  • Le memorie S-DRAM II sono un miglioramento delle precedenti che utilizzano sia il fronte ascendente che quello discendente del clock (Il segnale di clock e' un'onda quadra, dove in un ciclo sono compresi il lato ascendente del quadrato ed il lato discendente), pertanto operano ad una frequenza doppia delle S-DRAM (200/266 Mhz).

  • Le memorie ES-DRAM (Enhanced Synchronous DRAM) e SL-DRAM (Sync-Link DRAM) lavorano fino a 400 Mhz di frequenza e permettono di trasferire 400 Mbit al secondo (circa 40.000.000 di caratteri al secondo).

  • Le memorie DDR-S-DRAM (Double Data Rate Synchronous DRAM) similmente alle S-DRAM II operano sui fronti ascendente e discentente del clock e permettono quindi un accesso doppio alla memoria.

  • Le memorie QDR-S-DRAM (Quad Data Rate Synchronous DRAM) sono un miglioramento delle DDR e permettono un accesso quadruplo.

  • Le R-DRAM o Rambus DRAM, possono raggiungere frequenze di 800 Mhz.

Ecco una tabella comparativa delle varie memorie DRAM:

LabelNameEffective Clock RateData BusBandwidth
PC66SDRAM66 MHz64 Bit0,5 GB/s
PC100SDRAM100 MHz64 Bit0,8 GB/s
PC133SDRAM133 MHz64 Bit1,06 GB/s
PC1600DDR200100 MHz64 Bit1,6 GB/s
PC1600DDR200 Dual100 MHz2 x 64 Bit3,2 GB/s
PC2100DDR266133 MHz64 Bit2,1 GB/s
PC2100DDR266 Dual133 MHz2 x 64 Bit4,2 GB/s
PC2700DDR333166 MHz64 Bit2,7 GB/s
PC2700DDR333 Dual166 MHz2 x 64 Bit5,4 GB/s
PC3200DDR400200 MHz64 Bit3,2 GB/s
PC3200 DDR400 Dual200 MHz2 x 64 Bit6,4 GB/s
PC4200DDR533266 MHz64 Bit4,2 GB/s
PC4200 DDR533 Dual266 MHz2 x 64 Bit8,4 GB/s
PC800RDRAM Dual400 MHz2 x 16 Bit3,2 GB/s
PC1066 RDRAM Dual533 MHz2 x 16 Bit4,2 GB/s
PC1200RDRAM Dual600 MHz2 x 16 Bit4,8 GB/s
PC800 RDRAM Dual400 MHz2 x 32 Bit6,4 GB/s
PC1066RDRAM Dual533 MHz2 x 32 Bit8,4 GB/s
PC1200RDRAM Dual600 MHz2 x 32 Bit9,6 GB/s

Infine esistono alcuni tipi di memoria RAM specifiche per schede video come le VRAM (Video RAM), WRAM (Windows RAM), SGRAM (Synchronous Graphic RAM) e MDRAM (Magnetic DRAM)che non vengono utilizzate nella memoria RAM principale. Maggiori informazioni sulla memoria RAM sono reperibili agli indirizzi:

5. 8 Il disco rigido

Il disco rigido (hard disk) o disco fisso e' un componente hardware che viene utilizzato per immagazzinare dati. A differenza della memoria RAM i dati che sono registrati al suo interno non vengono cancellati quando si spegne il PC. Inoltre ha una capienza notevolmente superiore a quella della memoria RAM. Attualmente gli hard disk hanno superato di molto il muro dei 100 Gb di capacita'. 1 Gb (gigabyte) corrisponde circa ad 1 miliardo di caratteri. La velocita' di accesso ai dati di un hard disk si misura in millisecondi (millesimi di secondo). I tempi di accesso ai dati presenti su un hard disk quindi sono circa 1.000.000 di volte piu' lenti di quelli richiesti per accedere ai dati presenti nella memoria RAM. Gli hard disk sono delle lumache rispetto alla memoria RAM. In realta' le proporzioni per quanto riguarda i tempi di accesso tra memoria RAM e hard disk non sono esattamente queste, ma questo poco importa, perche' rimane il fatto che gli hard disk dal punto di vista della CPU sono enormemente piu' lenti rispetto alla memoria RAM. Un hard disk si presenta come uno scatolotto metallico dal quale fuoriescono una coppia di cavi per l'alimentazione ed una piattina di cavi per il trasferimento dei dati vero e proprio. All'interno di questo scatolotto sono presenti dei dischi metallici impilati uno sull'altro che effettuano migliaia di giri al secondo. La velocita' di questi dischi varia da modello a modello e viene espressa in RPM (Round Per Minute, ossia giri al minuto). I modelli attuali variano da 5400, 7200 a 10000 RPM. Ogni disco ha 2 facce, una superiore ed una inferiore. Ogni faccia e' divisa in cerchi concentrici, che vengono definiti tracce. Ogni traccia a sua volta e' divisa in piu' porzioni, che vengono definite settori. Ogni settore contiene 512 byte, ossia 512 caratteri. Poiche i dischi sono sovrapposti, i cerchi che stanno uno sopra l'altro formano un cilindro. Ogni cerchio percio' fa parte di un determinato cilindro. Una serie di dischi impilati che contengono diciamo 100 cerchi ciascuno, crea quindi 100 cilindri. Esiste poi un braccetto alla fine del quale e' presente una testina di lettura/scrittura. Possiamo immaginarlo piu' o meno come un giradischi con il braccio e la puntina. In realta' ci sono piu' braccetti, e piu' esattamente una coppia di braccetti per ogni disco. Uno per la faccia superiore ed uno per la faccia inferiore. In un hard disk che contiene diciamo 10 dischi impilati, sono percio' presenti 20 braccetti e 20 testine. Il braccetto si muove dal centro all'esterno dei dischi e va a leggere/scrivere le informazioni in un determinato settore. Per indirizzare i dati sul disco viene usato il sistema CHS ossia Cylinder, Head e Sector. Cylinder e' un numero che specifica il numero del cilindro, Head e' il numero della testina che indica la testina della faccia inferiore o della faccia superiore, Sector e' il numero del settore all'interno del cilindro che si sta considerando. Viene sempre letto un settore di 512 byte (che e' l'unita' piu' piccola) anche se occorre leggere un solo bit contenuto all'interno del settore. Questi tre parametri (cilindo, testina, settore) definiscono la geometria del disco. I dati sul disco vengono puntati usando questi 3 parametri. In realta' cio' era vero in passato e questo comportava un grosso limite: quello dei 1024 cilindri, con una conseguente capacita' massima di 528 Mb. Nei vecchi HOWTO viene evidenziato il famoso limite del cilindro 1024. Oggi non esiste piu' questo problema grazie alla tecnica LBA (Large Block Address) mediante la quale non si parla piu' di indirizzi fisici ma di indirizzi logici. Questa tecnica elimina il vecchio problema dei 1024 cilindri e dei 528 Mb. Per raggiungere un dato sul disco, la testina effettua un movimento ad arco. La velocita' con la quale la testina effettua questo movimento viene definito tempo di ricerca (Seek Time). Inoltre il disco effettua una mezza rotazione per portare il dato sotto la testina: il tempo richiesto da questa operazione viene detto tempo di latenza. Il tempo di latenza piu' il tempo di ricerca determinano il tempo medio di accesso (Average Access Time) e viene misurato in millisecondi. Gli hard disk piu' veloci raggiungono tempi di accesso di 8,5 millisecondi, mentre le piu' veloci unita' SCSI raggiungo i 5 millisecondi. La velocita' di rotazione dei dischi si misura in rpm (Routes Per Minutes, cioe' giri al minuto). La velocita' dei dischi piu' vecchi si aggira intorno ai 5400 rpm mentre quelli piu' nuovi arrivano a 7200 rpm. Le unita' SCSI raggiungono i 10.000/15.000 rpm. Maggiore e' la velocita' di rotazione del disco minore e' il tempo di latenza, cio' si traduce in un minore tempo di accesso ai dati. La velocita' di trasferimento dei dati (Transfer Rate) e' direttamente proporzionale alla velocita' di rotazione del disco ed alla densita' di memorizzazione. Un disco da 20 Gb ha una velocita' di trasferimento di dati minore rispetto allo stesso disco con una densita' di 40 Gb. Per ricavare la densita' di memorizzazione di un hard disk occorre dividere la capacita' per il numero di piatti del disco. Un hard disk da 40 Gb con 2 piatti ha una densita' doppia rispetto ad un disco da 40 Gb con 4 piatti. Nel disco e' presente un buffer (piccola memoria) che varia dai 512 ai 1024 Kb. Il disco effettua una lettura anticipata (Read Ahead) e memorizza i dati letti in questo buffer. Quando viene richiesta una lettura dei dati dal disco, se tali dati sono gia' presenti nel buffer vengono prelevati da quest'ultimo ed il disco non si muove affatto. I dati presenti nel buffer vengono percio' prelevati molto piu' velocemente e si riduce il tempo di accesso al disco. E' un concetto simile alla CACHE della CPU. La velocita' di trasferimento dei dati dal buffer alla RAM viene definita velocita' di picco (Burst Speed), mentre la velocita' di trasferimento dei dati dal disco alla RAM viene definita velocita' di trasferimento sequenziale. In altre parole la prima velocita' rappresenta l'efficienza della circuteria elettronica, mentre la seconda rappresenta l'efficienza della parte meccanica. Una media di tutte queste velocita' rappresenta la velocita' di trasferimento media (Average Transfer Rate) del disco. Durante l'accesso al disco e' richiesto normalmente l'intervento della CPU tranne in quei casi dove viene utilizzata la modalita' DMA (Direct Memory Access, cioe' Accesso Diretto alla Memoria). In questa modalita' i dati vengono inviati dal disco alla memoria RAM senza richiedere l'intervento della CPU. Cosi' come per la memoria RAM anche per i dischi esistono varie sigle che spesso confondono: IDE, EIDE, ATA, ATAPI, PIO, DMA, UDMA, Fast ATA, Ultra ATA. Vediamo di cosa si tratta. IDE sta per Integrated Drive Electronics, cioe' Elettronica del Drive Integrata. Cio' significa che la circuiteria elettronica del controller del disco e' integrata, cioe' contenuta all'interno del disco stesso. In pratica con i dischi IDE non e' piu' necessario disporre di un controller del disco separato e posizionato sulla scheda madre. Questi tipi di dischi soffrono della limitazione dei 1024 cilindri. Tale limitazione viene superata dai dischi EIDE (Enhanced IDE), cioe' IDE migliorato. L'interfaccia EIDE permette l'utilizzo di 4 unita' (contro le 2 dell'interfaccia IDE) 2 per canale. Se sono presenti 2 disci in un canale, la velocita' di trasferimento dei dati dipende dall'unita' piu' lenta. Ecco perche' conviene sistemare un disco in un canale ed il CD-ROM (unita' piu' lenta) nell'altro canale. In un PC sono presenti normalmente 2 canali dove e' possibile connettere fino a 4 dischi, 2 per canale. Su ogni canale il primo disco viene definito MASTER ed il secondo SLAVE. Nei primi PC IBM AT, la configurazione del sistema prevedeva un unico BUS per collegare CPU, memoria e periferiche (il BUS ISA). Questa architettura era definita AT (da cui il nome di PC IBM AT). I dischi erano collegati a questo BUS mediante un'interfaccia passiva, una sorta di connettore al BUS del sistema AT. Questo connettore venne definito ATA (AT Attachment) cioe' Attacco AT. L'interfaccia era passiva in quanto sottomessa ai dettami ed ai limiti del vecchio BUS ISA. In pratica si trattava di una piattina di 40 cavi che collegavano il disco al sistema. Con l'evolversi dei dischi l'elettronica che controlla il trasferimento dei dati venne trasferita dal BUS ISA al disco stesso (dischi IDE). Seguirono una serie di protocolli molti dei quali sono sinonimi: IDE/ATA-1 prima EIDE/ATA-2/Fast-ATA poi.

  • I protocolli IDE (o ATA) supportano sino a 4 dischi (2 per canale), le modalita' PIO (0, 1 e 2) e le modalita' DMA.
  • I protocolli EIDE ( o ATA-2 o Fast ATA) supportano le modalita' PIO (0, 1, 2, 3 e 4), le modalita' DMA (1 e 2), l'indirizzamento LBA.
  • I protocolli ATA-3 supportano le modalita' PIO (0, 1, 2, 3, 4 e 5), l'indirizzamento LBA ed il controllo degli errori CRC (Cyclic Redoundance Check).
  • I protocolli ATA-4 (o Ultra-ATA/33) supportano le modalita' PIO (0, 1, 2, 3 e 4), le modalita' DMA (1 e 2), le modalita Ultra DMA (0, 1 e 2), l'indirizzamento LBA ed il controllo degli errori CRC (Cyclic Redoundance Check).
  • I protocolli ATA-5 (o Ultra-ATA/66) supportano le modalita' PIO (0, 1, 2, 3 e 4), le modalita' DMA (1 e 2), le modalita Ultra DMA (0, 1 , 2 , 3 e 4), l'indirizzamento LBA ed il controllo degli errori CRC (Cyclic Redoundance Check).
  • I protocolli ATA-6 (o Ultra-ATA/100) supportano le modalita' PIO (0, 1, 2, 3 e 4), le modalita' DMA (1 e 2), le modalita Ultra DMA (0, 1 , 2 , 3 , 4 e 5), l'indirizzamento LBA ed il controllo degli errori CRC (Cyclic Redoundance Check).
  • I protocolli ATA-7 (o Ultra-ATA/133) supportano le modalita' PIO (0, 1, 2, 3 e 4), le modalita' DMA (1 e 2), le modalita Ultra DMA (0, 1 , 2 , 3 , 4 , 5 e 6), l'indirizzamento LBA ed il controllo degli errori CRC (Cyclic Redoundance Check).
A partire dall'ATA-5 occorre il cavo a 80 poli (quello da 40 e' inutilizzabile). ATAPI (ATA Packet Interface) e' un protocollo creato per permettere ai CD-ROM l'utilizzo del protocollo ATA. Le modalita' PIO (Programmed I/O, cioe' Input/Output Programmato) sono le modalita' piu' vecchie. In queste modalita' la CPU controlla il flusso dei dati dal disco al sistema. Viceversa le modalita' DMA (Direct Memory Access, cioe' Accesso Diretto alla Memoria) permettono al disco di trasferire i dati direttamente in memoria RAM senza richiedere l'intervento della CPU che percio' e' libera di effettuare altri lavori. Caratteristiche delle modalita' PIO:

Modalita' PIODurata di un ciclo (nanosecondi)Velocia' di trasferimento massima(MB/s)Standard
Modalita' 06003.3ATA
Modalita' 13835.2ATA
Modalita' 22408.3ATA
Modalita' 318011.1ATA-2
Modalita' 412016.7ATA-2

Caratteristiche delle modalita' DMA (parola singola):

Modalita' DMADurata di un ciclo (nanosecondi)Velocia' di trasferimento massima(MB/s)Standard
Modalita' 09602.1ATA
Modalita' 14804.2ATA
Modalita' 22408.3ATA

Caratteristiche delle modalita' DMA (parola multipla):

Modalita' DMADurata di un ciclo (nanosecondi)Velocia' di trasferimento massima(MB/s)Standard
Modalita' 04804.2ATA
Modalita' 115013.3ATA-2
Modalita' 212016.7ATA-2

Caratteristiche delle modalita' Ultra DMA:

Modalita' Ultra DMA (Ultra ATA)Durata di un ciclo (nanosecondi)Velocia' di trasferimento massima(MB/s)Standard
Modalita' 024016.7ATA/ATAPI4
Modalita' 116025.0ATA/ATAPI4
Modalita' 2 (UDMA-33)12033.3ATA/ATAPI4
Modalita' 39044.4ATA/ATAPI5
Modalita' 4 (UDMA-66)6066.7ATA/ATAPI5
Modalita' 5 (UDMA-100)40100.0ATA/ATAPI6
Modalita' 6 (UDMA-133)??133---

I file sono memorizzati sul disco dal sistema operativo DOS secondo un certo criterio. Questo criterio rappresenta il filesystem. Il DOS utilizza il filesysten FAT (File Allocation Table). Secondo questo sistema il DOS memorizza i file non all'interno di settori, ma all'interno di gruppi di settori. Ogni gruppo di settori viene chiamato cluster. Percio' ogni cluster e' suddiviso in 2, 4, 8 o piu' settori. Anche il filesystem di Windows e' di tipo FAT (Windows lo ha copiato dal DOS) ma con l'evoluzione delle versioni (Windows3.1/95/98...) il filesystem di Windows e' passato da FAT16 a FAT32 (indirizzamento a 16 e a 32 bit) dove il sistema FAT32 permette di vedere dischi molto piu' grandi. Altre versioni di Windows usano diversi filesystem, come ad esempio Windows/NT che usa il sistema NTFS (molto piu' evoluto). OS2 usa il filesystem HPFS, MacOs HFS, Linux ext2 etc. Ogni sistema operativo ha uno specifico filesystem. In un PC un hard disk viene collegato alla scheda principale tramite un canale. Il canale puo essere master o slave. Un disco collegato ad un canale master puo' trasmettere dati quando vuole, mentre un eventuale secondo disco collegato al canale slave, deve aspettare che il disco presente sul canale master abbia finito di trasmettere per poter a sua volta inviare dati. Maggiori informazioni sono reperibili a questi indirizzi:

5.9 I connettori EIDE

I connettori EIDE non sono altro che delle 'prese' alle quali vanno collegati tramite piattine gli hard disk ed i CD-Rom oppure i masterizzatori. I connettori EIDE hanno 2 canali uno denominato master ed l'altro slave.

5.10 Le porte seriali, parallele, PS/2 e USB

Le porte seriali sono le 2 prese esterne che si trovano sul retro del PC e si chiamano COM1 e COM2. Si chiamano COM in quanto si tratta di porte di comunicazione, ossia di porte tramite le quali il PC puo' comunicare all'eserno. A queste porte si collegano dispositivi come mouse o modem. Ma e' possibile collegare qualsiasi dispositivo in grado di ricevere ed inviare dati tramite queste porte di comunicazione. Le porte parallele o LPT sono porte di comunicazione alle quali solitamente vengono collegate le stampanti (LPT infatti sta per Line PrinTer ossia stampante di linea). Le porte parallele sono piu' veloci di quelle seriali in quanto piu' bit viaggiano in parallelo contemporaneamente mentre in quelle seriali i bit viaggiano in serie uno dopo l'altro. E' un po' come paragonare una stradina di campagna (la porta seriale) ed una grossa autostrada a 8 corsie (la porta parallela). Oltre a comunicare con la stampante, queste porte possono venir usate anche per altri scopi. Ad esempio con la porta parallela e' possibile collegare 2 PC e trasferire dati da uno all'altro (collegandoli con un cavo ed un dispositivo null-modem). Le porte USB (Universal Serial Bus) sono porte di comunicazione che utilizzano una nuova tecnologia che permette di collegare fino a 127 dispositivi in cascata. Inoltre tramite queste porte si possono collegare dei dispositivi al PC che vengono rilevati subito dal sistema operativo senza dover riavviare il PC. La tecnologia USB inoltre permette di trasferire dati ad una velocita' decisamente superiore a quella ottenibile con le altre porte. La tecnologia USB 2.0 permette di trasferire dati fino a 480 Mbit al secondo. Una bella velocita' se paragonata alle poche centinaia di Kbit al secondo raggiungibili dalle porte seriali. Le porte PS/2 infine sono l'equivalente delle porte COM e si usano per collegare mouse (che ora non usa piu' la porta COM) e tastiera. Ecco le varie porte che si trovano sul retro del PC:

5.11 La scheda video

Affinche' sia possibile la visualizzazione dei segnali del computer sullo schermo del monitor, occorre che tali segnali vengano elaborati e vengano trasformati in segnali video. A tale scopo esiste una CPU specializzata in questo tipo di lavoro che e' contenuta nella scheda video. Questa CPU riceve i dati elaborati dal computer li elabora e li invia al monitor. La CPU della scheda video ha bisogno di una certa quantita' di memoria RAM per le sue elaborazioni. Per non utilizzare e sovraccaricare la memoria RAM del PC le schede video hanno ormai una loro memoria RAM, utilizzata esclusivamente per le elaborazioni grafiche. In questa memoria sono memorizzate le informazioni relative a ciascun puntino del video (pixel). La quantita' di memoria necessaria dipende da vari fattori: risoluzione del video, quantita' di colori usati etc. Per maggiori informazioni consultare i siti:

5.12 La scheda audio

Discorsi simili alla scheda video si possono fare per la scheda audio. La scheda audio infatti contiene una CPU specializzata per trasformare i dati elaborati dal PC in segnali audio udibili dagli altoparlanti ad esso collegati. I dati in formato binario elaborati dalla CPU vengono convertiti in impulsi di corrente elettrica attraverso i cosiddetti DAC (Digital-Analogic Converter, cioe' convertitori digitale/analogico). I segnali convertiti dai DAC vengono poi opportunamente amplificati e inviati alle casse acustiche. E' anche possibile l'inverso utilizzando un microfono. E' possibile cioe' convertire i suoni in dati in formato binario utilizzando i convertitori ADC (Analogic - Digital Converter). Per maggiori informazioni consultare i siti:

5.13 I PIN ed i JUMPER

Sulla scheda madre di trovano dei piccoli elementi di metallo circondati da piccoli anelli di plastica colorati che li collegano tra loro. Si tratta dei PIN. Inoltre sono presenti dei microscopici interruttori, i JUMPER. In base a come vengono posizionati tali elementi, la scheda madre esegue delle semplici istruzioni. Nel manuale di ogni scheda madre vi sono elencate le varie combinazioni di posizioni possibili. Se questi piccoli ponticelli vengono posizionati in un certo modo si può richiedere che venga cancellata la CMOS o che venga cancellata la password impostata da BIOS ad esempio, oppure si puo' modificare la frequenza della CPU (overclocking). E' consigliabile lasciare questi interruttori cosi' come si trovano se non si è perfettamente a conoscenza del loro funzionamento e non si desidera effettuare modifiche particolari come l'accellerazione della velocita' della CPU (overclocking).

5.14 Il BIOS

Il BIOS in realta' non fa parte dell'hardware ma del software, poiche' si tratta di un programma. Ma dal momento che tale programma e' memorizzato in un chip particolare che spesso impropriamente viene chiamato BIOS, vediamo di cosa si tratta. Il BIOS (Basic Input Output System, ossia sistema basilare di input/output) e' un programma (o meglio una serie di programmi) che si occupa di interfacciare la CPU ed i vari componenti hardware. Il BIOS originariamente era contenuto nella memoria ROM (Read Only Memory) ossia in un tipo di memoria accessibile unicamente in lettura e non in scrittura. Pertanto era impossibile da modificare o da sovrascrivere. Era quindi impossibile cancellare il BIOS per errore. Oggi non e' piu' cosi', in quanto il BIOS e' aggiornabile con le nuove versioni che vengono prodotte, pertanto non e' piu' contenuto nella memoria ROM ma in una particolare memoria, la EPROM. EPROM (Erasable PROgrammable Memory) e' un tipo di memoria che puo' essere acceduto anche in scrittura con delle tecniche particolari. In realta' oggi non si usano piu' nemmeno le memorie EPROM e si preferiscono le memorie di tipo FLASH che permettono di aggiornare il BIOS via software, utilizzando cioe' uno specifico programma di aggiornamento del BIOS. I dati di configurazione usati dal BIOS sono modificabili dall'utente usando l'apposito menu di configurazione, raggiungibile premendo un tasto o una sequenza di tasti particolari all' accensione della macchina. Tali dati vengono memorizzati in un particolare tipo di memoria, la memoria CMOS. Per maggiorni informazione consultare i siti:

5.15 La batteria

I dati di configurazione del BIOS sono registrati sulla memoria CMOS (un tipo di memoria RAM molto piccola di solito di 64 o 128 byte) che ha bisogno di corrente elettrica per conservare i dati memorizzati. La batteria viene utilizzata proprio per questo scopo. Si tratta di una batteria al Litio di tipo CR-2032 simile a quelle a 'pasticca' degli orologi al quarzo e facilmente reperibile. Dovrebbe essere cambiata ogni 5 anni o giu' di li', ma personalmente ho visto PC che hanno vissuto per molto piu' tempo con la batteria originale che avevano quando sono stati acquistati.

5.16 L'alimentatore

L'alimentatore non e' altro che uno scatolotto che contiene un trasformatore, cioe' un apparato elettrico che trasforma la corrente elettrica da 220 volt a 3/5/12 volt. E' questo infatti il voltaggio usato dai dispositivi presenti all'interno del PC. La stessa cosa non si puo' dire per quanto riguarda il monitor, che, al contrario lavora ad alte tensioni (cosi' come un qualsiasi televisore). Attenzione percio' a non aprire mai il PC quando e' inserita la spina nella presa di corrente se non si vuole rischiare di arrostirsi le dita. ;o)

5.17 Il CD-ROM

I CD-Rom (Compact Disk Read Only Memory, chiamati comunemente CD) sono dei supporti di memorizzazione dati che che possono contenere dai 650 agli 800 Mb.Si tratta di supporti di ottici di memorizzazione. Cio' significa che a differenza dei floppy disk o degli hard disk (supporti magnetici) dove i dati vengono memorizzati magneticamente, qui i dati vengono memorizzati otticamente attraverso un fascio di luce laser. La parte di CD argentata viene colpita dal fascio laser ottenendo così degli avvallamenti microscopici sui quali in lettura lo stesso raggio laser a seconda della presenza o meno della riflessione, riconosce i fori e determina il valore di 1 o 0 del bit. Sui CD possono essere incisi miliardi di fori, ciascuno dei quali corrisponde a un bit. Originariamente i CD non erano riscrivibili (infatti si chiamavano CD-ROM (dove Read Only Memory significa memoria in sola lettura) ma oggi non e' piu' cosi', in quanto attualmente e' possibile scrivere piu' volte su un CD. Oggi esistono infatti i CD-R (CD Recordable, cioe' registrabile) su cui si possono memorizzare dati una sola volta. Esistona anche i CD-RW (CD ReWriteable, cioe' riscrivibile) sui quali e' possibile scrivere e cancellare dati centinaia di volte. Esiste infine un' altra categoria di supporti ottici, i DVD (Digital Video Disc). I DVD sono simili ai CD ma sono enormemente piu' capaci di questi ultimi (circa 4 o 5 Gb di capacita') e veloci (circa 4,6 Mbps contro 0,15 Mbps dei CD normali).

5.18 Il monitor

Il monitor e' il video del PC. Puo' avere varie dimensioni che si misurano in pollici (inches), un po' come si misurano i televisori. Tali dimensioni rappresentano la lunghezza espressa in pollici della diagonale dello schermo del monitor (un pollice equivale a 2,54 cm). Attualmente esistono monitor da 14'' ('' sta per pollici), da 15'', da 17'', da 21'' e da 24''. Le dimensioni del monitor influiscono anche sulla risoluzione video supportata. La risoluzion video corrisponde alla quantita' di puntini (pixel) che il monitor puo' mostrare. Piu' pixel vengono usati, maggiore e' la definizione delle immagini visualizzate. Alcune possibili risoluzioni sono 640x480 pixel, 800x600 pixel, 1024x768 pixel etc. Fino a pochissimo tempo fa lo standard di risoluzione del monitor era 800x600, rendendo di fatto la dimensione 15'' uno standard per i monitor. Attualmente si sta passando alla risoluzione 1024x768 e ai monitor a 17''. I monitor di dimensioni superiori sono ancora abbastanza costosi ed ingombranti e non e' giustificato il loro acquisto per usi normali. A meno che non stiamo parlando di schermi piatti che ovviamente sono meno ingombranti ma assai piu' costosi. Oltre alle dimensione ed alla risoluzione, di un monitor e' importante conoscere altri parametri, come ad esempio la frequenza orizzontale e la frequenza verticale (detta anche refresh). La frequenza orizzontale corrisponde al numero di linee che il penello elettronico disegna in un secondo. All'interno del video e' presente un fascio di luce (pennello elettronico) che disegna le immagini sul video tracciando una linea alla volta, da sinistra verso destra. Il numero di linee che il pennello riesce a tracciare in un secondo e' detto appunto frequenza orizzontale e viene misurato in Khz. La frequenza orizzontale invece, indica quante volte l'intero quadro viene rigenerato in un secondo. Questa frequenza viene misurata in Hz. Maggiore e' la frequenza minore e' l'effetto di sfarfallio percepito dall'occhio. Un altro parametro importante e' la larghezza di banda. La larghezza di banda corrisponde alla quantita' massima di informazioni che la scheda video puo' inviare al monitor e viene misurata in Mhz. La frequenza di scansione verticale (refresh) varia con il variare della risoluzione video. Cio' perche' varia il numero di righe da disegnare. Per calcolare la frequenza orizzontale si puo' moltiplicare il numero di righe per la frequenza verticale. Ad esempio, con una risoluzione video di 1024x768, il pennello elettronico dovra' disegnare 768 righe. Supponendo una frequenza verticale di 82 Hz avremo:

768 x 82 = 62976 Hz, cioe' 63 Khz circa

In realta' occorre tener conto del tempo morto impiegato dal pennell per fare il ritorno di riga (in questo intervallo di tempo il pennello viene spento). Per tenere conto di questi tempi morti occorre moltiplicare il tutto per un fattore di correzione di 1.05:

768 x 82 x 1.05 = 66125 Hz, cioe' 66 Khz circa

Per determinare la larghezza di banda invece, occorre moltiplicare il numero di pixel presenti sullo schermo per il numero di volte che l'immagine viene generata sullo schermo in un secondo (freq. orizzontale o refresh). Cosi':

1024 x 768 x 82 x 1.32 = 85.12 MHz

1.32 e' un altro fattore di correzione che tiene conto non solo dei ritorni di riga ma anche dei ritorni di quadro (il tempo impiegato dal pennello per riposizionarti in alto a sinistra dopo aver disegnato un quadro). Un altro parametro da tenere in considerazione e' il dot pitch. Il dot pitch rappresenta la distanza minima tra fosfori dello stesso colore. Piu' il dot pitch e' basso piu' i pixel sono piccoli e vicini tra loro e maggiore risultera' la definizione delle immagini. Il dot pitch e' misurato in mm (millimetri). Un dot pitch medio e' di circa 0,27 mm, mentre 0,20 e' un dot pitch molto alto. Supponendo una risoluzione video di 1600x1200 ed un dot pitch di 0,25 mm si avra':

1600 x 0,25 = 400 mm (cioe' 40 cm).

Questo significa che per visualizzare immagini ad una risoluzione di 1600x1200 con un dot pitch di 0.25 mm occorrera' un monitor con video di 40 cm di larghezza. Tenendo conto che normalmente un monitor da 17 pollici ha una larghezza video di circa 33 cm, si evince che con tali caratteristiche non e' possibile applicare una risoluzione video di 1600x1200. Infatti di solito la risoluzione ottimale per un video a 17 pollici e' di 1024x768. Per maggiori informazioni consultare i siti:

5.19 La tastiera ed il mouse

La tastiera e' lo strumento che all'uomo per dialogare con il PC. Serve per inserire dati od impartire comandi. Ci sono diversi tipi di tastiera che variano nella forma, nelle dimensioni e nel tipo. Per quanto riguarda il tipo, le tastiere variano a seconda della lingua, ma quelle che piu' ci riguardano sono quelle americane (la maggior parte delle tastiere viene prodotta per il mercato americano) ed italiane. Puo' variare anche il numero dei tasti presenti. Una tastiera puo' avere 83 tasti o 105 tasti, dipende dal modello. Le tastiere italiane standard sono normalmente di 101/102 tasti.

5.20 Storia dei microprocessori dal 1944 ad oggi

  • 1944: nasce Mark 1 della IBM, programmi su nastro perforato, quasi 5 tonnellate di peso, piu' di 3000 rele'. Capacita' di calcolo: somma 2 numeri da 23 cifre in meno di mezzo secondo! Viene coniato il termine BUG (errore): a seguito di alcuni calcoli errati infatti, dopo lunga ricerca gli scienziati scoprono un insetto (bug, cimice) schiacciato all'interno del rele' 70 del pannello F... ;o)
  • 1945: nasce ENIAC, Electronic Numeric Integrator and Calculator. 30 metri di lunghezza 2 di altezza e 1 di spessore. 18.000 valvole per 30 tonnellate di peso. Usava schede perforate, nastri magnetici e RAM su nuclei di ferrite.
  • 1950: Univac - 5 tonnellate CPU lunga piu' di 5 metri alta 2 metri e mezzo. Calcolava il prodotto di 2 numeri in 2,5 millisecondi.
  • 1956: nasce il primo hard disk. 1 metro e mezzo di altezza, composto da 50 dischi metallici. Capacita' di memorizzazione: 5Mb ;o)
  • 1957: nasce il primo calcolatore a transistor della Siemens modello 2002.
  • 1957: Nasce la societa' DEC (Digital Equipment Corporation) e produce il suo primo calcolatore PDP-I
  • 1958: nasce primo chip o circuito integrato ad opera della Texas Instruments
  • 1959: nasce ELEA 9003, il primo calcolatore italiano ad opera della Olivetti
  • 1963: un gruppo di ricercatori americani inventa il mouse
  • 1963: viene commercializzato il PDP-8 della DEC
  • 1964: primo linguaggio di programmazione semplificato, il BASIC
  • 1964: IBM crea S360, primo mainframe a circuiti integrati
  • 1970: nasce ARPANET (la madre di Internet) e la DEC commercializza il suo PDP-11
  • 1971: alla Intel 3 ingegneri tra cui l'italiano Federico Faggin creano il primo microprocessore, l'Intel 4004 a 4 bit
  • 1972: viene prodotto il primo floppy da 8 pollici 120 Kbyte
  • 1972: nasce il processore Intel 8008 a 8 bit
  • 1973: viene prodotto il primo PC. 1 hard disk da 1 Mb e processore Intel 8008
  • 1974: La rivista Popular Electronics propone un computer in kit, l' Altair 8800, dotato di processore Intel 8080, basic modificato da William Henry Gates III
  • 1974: nasce il processore Intel 8080
  • 1974: processore Motorola 6800
  • 1975: nasce la Microsoft
  • 1976: nasce la Apple
  • 1976: processore Zilog Z80 (Zilog e' una societa' fondata da Faggin)
  • 1976: processore Intel 8085
  • 1977: viene prodotto Apple II
  • 1978: processore Intel 8086/88 16 bit 5 Mhz di clock 1 Mb di RAM
  • 1979: processore Zilog Z8000
  • 1979: processore Motorola 68000
  • 1980: viene prodotto lo ZX-80 Sinclair
  • 1981: il primo PC IBM per il pubblico. Dotato di 2 FLOPPY da 5 pollici e 1/4, MSDOS 1.0 senza hard disk
  • 1982: processore Intel 80286 - 16 bit 6 Mhz 4 Mb di RAM memoria virtuale segmentata, modalita' protetta
  • 1982: nasce il Commodore 64
  • 1983: nasce LISA della Apple, uno dei primi PC dotato di interfaccia grafica
  • 1984: primo Macintosh (Mac) floppy da 400K e interfaccia grafica
  • 1985: processore Intel 80386 - 32 bit 16 Mhz cache esterna sulla scheda madre
  • 1989: processore Intel 80486 - 32 bit 25 Mhz cache integrata da 8 K coprocessore matematico 80387 integrato
  • 1993: Intel Pentium (80586) 64 bit 60 Mhz doppia pipeline 100 MIPS (esegue piu' istruz. quasi in parallelo), tecnologia Branch Prediction Unit
  • 1995: Intel Pentium Pro 64 bit 150 Mhz doppia pipeline cache di secondo livello
  • 1997: Intel Pentium II
  • 1999: Intel Pentium III 500 Mhz 256K cache secondo livello
  • 1999: Athlon (K7)
  • 2000: Intel Pentium IV oltre 1 Ghz superpipelined
  • 2003: Intel Pentium IV 3 Ghz
  • 2003: AMD Athlon 3 Ghz
  • Futuro: processori quantici, DNA, nanotecnologie...
Generazioni di microprocessori:
  • 1950-59: valvole
  • 1960-68: transistor
  • 1969-77: circuiti integrati
  • 1978- : LSI-VLSI-ULSI (Large Scale Integration - Very Large Scale Integration- Ultra Large Scale Integration)

Inizio della guida  La comunicazione uomo/macchina  Indice  Le distribuzioni

Copyright (c) 2002-2003 Maurizio Silvestri