Hardware

Materie:Appunti
Categoria:Informatica

Voto:

2 (2)
Download:206
Data:22.02.2001
Numero di pagine:51
Formato di file:.doc (Microsoft Word)
Download   Anteprima
hardware_1.zip (Dimensione: 373.99 Kb)
trucheck.it_hardware.doc     645 Kb
readme.txt     59 Bytes


Testo

LICEO SCIENTIFICO “ANTONIO ROITI”
Sezione staccata di Bondeno
CLASSE 2°Y A.S.1999/2000
LABORATORIO DI INFORMATICA
L’HARDWARE : { CPU; RAM; ROM; TASTIERE }

ALUNNI: INSEGNANTE:
Benea Dario prof. Zannarini Sandro
Bolognesi Marcello
Malagò Gian Luca
La memoria
In ogni personal computer vi sono due tipi di memoria:
• una memoria di archiviazione, che serve a registrare il sistema operativo, i programmi ed i documenti. Questo tipo di memoria conserva permanentemente le informazioni registrate. Sono memorie di archiviazione il disco rigido, i dischetti, i CD-ROM... (vedi capitolo “Le unità di memoria di massa”);
• una memoria di lavoro, che serve per accendere il computer, per caricare il sistema operativo e per lavorare con i programmi ed i documenti. La memoria di lavoro è costituita da chip montati sulla scheda madre o su moduli aggiuntivi.
La memoria di lavoro si divide in due parti:
• memoria ROM, che serve ad accendere il personal;
• memoria RAM, che serve a lavorare.
Quando si accende un personal, si attiva la memoria ROM, che da vita al computer e che provvede a caricare il sistema operativo dal disco rigido (memoria di archiviazione) alla memoria RAM. Qui il sistema operativo si installa e “prende possesso” del computer.
Quando vogliamo lavorare con un programma, cioè quando lo mandiamo in “esecuzione”, oppure quando “apriamo” un documento per modificarlo, il sistema operativo legge dal disco rigido il programma e/o il documento e li carica nella memoria RAM. Qui possiamo lavorare con il programma, modificare un documento, crearne uno nuovo.
Tutto il lavoro sui documenti si svolge nella memoria RAM e deve essere considerato provvisorio finché non venga “salvato”, cioè non si chieda al sistema operativo di registrare il lavoro effettuato su un disco rigido o su un’altra memoria di archiviazione.
La memoria RAM, infatti, deve essere continuamente tenuta in vita da impulsi elettrici ed in mancanza di questi, quando il computer viene spento, perde tutti i dati caricati. Per questo la memoria RAM viene chiamata “volatile”: basta poco, una mancanza di elettricità, qualcuno che inciampa nel filo della corrente, perché tutto il lavoro svolto fino a quel momento scompaia come una scritta sulla sabbia per un colpo di vento.
La memoria ROM, invece, servendo proprio ad accendere il personal, rimane sempre inalterata.
Memoria ROM
La memoria ROM, dall’inglese Read Only Memory, è un tipo di memoria permanente, non “volatile”, e che non può essere modificata dall’utente del computer.
Quando il computer ci viene venduto possiede già una piccola dotazione di software installato nella memoria ROM. Software, ripetiamo, che è registrato permanentemente e non può essere né cancellato, né modificato.
Firmware e BIOS
Questo software viene chiamato firmware, cioè saldo, fisso, e comprende anche tutte le basilari istruzioni utilizzate dai programmi per avere accesso ai diversi componenti hardware come il video, il mouse, le porte di comunicazione ed i dischi floppy o rigidi.
Fa parte del firmware, ad esempio, il BIOS, cioè quel gruppo di istruzioni che consente ai diversi processori di attivarsi al momento dell’accensione del computer, di rispondere agli impulsi del clock e di effettuare un piccolo autotest di funzionamento. Infine viene letto il sistema operativo presente sul disco rigido e, dopo essere stato caricato nella memoria RAM, gli viene ceduto il controllo del sistema.
La ROM è definita nella configurazione base di ciascun computer e la sua grandezza non ha molto a che vedere con le prestazioni del personal, con la sua velocità di elaborazione o la sua potenza. Per quanto riguarda il firmware, esso viene installato dalla ditta costruttrice della macchina e non è modificabile.
Anche se spesso la presenza e la quantità della memoria ROM sulla scheda madre o sulle schede accessorie viene evidenziata nei manuali o nei depliant dei computer, l’utente non ha alcun beneficio nel conoscerne le dimensioni o le caratteristiche. L’attività del firmware presente nella memoria ROM è del tutto invisibile.
Nei personal più vecchi era necessario sostituire la ROM, per sostituire il firmaware contenuto, quando si voleva aggiungere un dispositivo hardware che non era previsto quando era stato costruito il computer ed installato il firmware. E’ un’operazione, ad esempio, che deve fare chi voglia collegare un disco da 3,5 pollici ad un vecchio computer con 8086, nato quando questi non esistevano ancora e si usavano i dischi da 5 e 1/4.
Con i sistemi attuali, invece, tale funzione di compatibilità con periferiche nuove viene svolto da porzioni del sistema operativo chiamati “driver”. Ogni periferica nuova che si collega al computer (stampanti, unità di memoria di massa, schede...) richiede che venga installato il proprio driver nel sistema operativo e non necessita più modifiche alla ROM.
Oltre alla memoria ROM presente sulla scheda madre, un computer può avere anche altra memoria ROM inclusa in schede specializzate inserite nei connettori. Questo tipo di schede hanno spesso bisogno di un programma apposito per svolgere le proprie funzioni. Niente di più naturale, ed economico, che includere questo programma in una ROM che, saldata alla scheda stessa, non corre il pericolo di danneggiarsi o di essere persa come potrebbe accadere ad un dischetto.
Flash-ROM e Boot-ROM
In alcuni personal, da scrivania o portatili, vengono inserite memorie ROM speciali, contenenti parti del sistema operativo come firmware. Queste ROM vengono chiamate Flash-ROM o Boot-ROM, perché consentono di avviare il computer e di trovarsi pronti al lavoro in pochi secondi.
Essendo, però, a sola lettura, queste memorie non consentono di aggiornare il sistema operativo, se non con la sostituzione delle ROM stesse, sempre che il produttore abbia mantenuto quel particolare modello di personal ancora in produzione.
In altri computer, ad esempio i notebook, nelle ROM non solo è stato inserito il sistema operativo, ma anche alcuni programmi applicativi: un word processor, un foglio di calcolo, un programma di agenda e appuntamenti ed uno per la gestione di una base di dati. Ciò consente di eliminare il lettore dei floppy, il lettore di CD-ROM e parte del disco rigido, alleggerendolo in peso ed in costi, ma vincola per sempre a non cambiare programma ed a non poter fare aggiornamenti.
Il lato positivo dell’avere i programmi permanenti in ROM è di poterli richiamare in una frazione di secondo e nel poter saltare dall’uno all’altro con un semplice tasto. In alcuni notebook è possibile spengere il computer avendo sullo schermo un lavoro e, nel riaccenderlo, trovare lo stesso lavoro allo stesso punto in cui l’avevamo lasciato. Inoltre, eseguire un programma prelevandolo dalla memoria ROM comporta per il computer un dispendio di energia molto inferiore di quello che sopporterebbe se dovesse eseguirlo da un disco rigido.
Memoria RAM
Oltre ai chip della memoria ROM, che è di sola lettura, esistono altri chip di memoria. Questa volta si tratta di memoria vuota, a disposizione dell’utente. Anzi: a disposizione del computer, il quale ha necessità, per poter eseguire un programma ed elaborare dei documenti, di caricare in memoria sia il programma che i documenti.
Questa memoria viene chiamata RAM, dall’inglese Random Access Memory, cioè “memoria ad accesso casuale”. Il che non vuol dire che il computer carica programmi e dati “dove capita, capita”, ma sottintende una procedura molto più complessa di quella che il nome lascia intendere.
Se diamo ad un computer il comando di eseguire un determinato programma, questo viene letto dal disco e caricato nella memoria RAM. La proprietà “casuale” della memoria RAM viene fuori quando inizia l’esecuzione del programma.
Tutti i programmi sono composti da vari spezzoni, ognuno dedicato ad un’attività diversa. Ci sarà uno spezzone per la visualizzazione su schermo, un altro per l’elaborazione del testo, altri ancora per l’effettuazione di calcoli o la creazione di grafici. Ogni spezzone è stato caricato in memoria l’uno dopo l’altro senza suddivisione, ma in una parte apposita del programma sono “dichiarate” le lunghezze dei vari spezzoni.
Quando si verifica il bisogno di uno spezzone, il computer non è costretto a leggersi tutto il programma dall’inizio alla fine. Sapendo dove inizia il programma e la lunghezza dei vari spezzoni, è semplice andare direttamente a leggere nel punto giusto. Né conta se quel programma è stato registrato in una parte od in un’altra della memoria. “Casuale”, in questo caso, è contrapposto a “sequenziale” e vuol dire semplicemente che si può andare a leggere una qualsiasi posizione di memoria.
Volatilità della RAM
Non soltanto la memoria RAM è vuota quando acquistiamo il computer, ma anche tutte le volte che lo accendiamo. In essa, infatti, non è possibile conservare permanentemente un programma. La RAM è “volatile”: ha bisogno continuamente della corrente elettrica che alimenta il computer, altrimenti perde il suo contenuto.
Del resto i programmi che utilizziamo sul nostro computer sono molti: se ognuno di essi venisse tenuto per sempre in memoria, ben presto dovremo iniziare ad aumentare incessantemente i chip di memoria per poter ancora lavorare. Quindi, molto semplicemente, quando spengiamo il nostro computer, tutto quello che è stato caricato nella memoria RAM viene cancellato.
Riguardo ai programmi, nessun problema. Essi sono registrati sul disco rigido e, volendo di nuovo lavorare con quel programma, basta chiederne l’esecuzione ed il sistema operativo provvede a caricarlo in memoria RAM. Il problema sorge per i documenti. Se abbiamo creato un documento nuovo, o modificato uno già esistente, il documento si trova ancora in memoria RAM. Spengere il computer in questo momento provoca la cancellazione della memoria RAM e quindi la perdita di tutto il lavoro che non abbiamo provveduto a registrare sul disco rigido.
Lo spegnimento del computer potrebbe anche non essere volontario: il contatore che salta, un blackout della corrente, un collega che inciampa nel cavo e stacca la spina, sono incidenti probabilissimi che causerebbero la perdita di tutto il lavoro in corso e non ancora registrato. E’ buona regola registrare frequentemente su disco rigido il lavoro che si sta facendo, oppure subito dopo operazioni importanti di modifica.
Dimensione della RAM
La dimensione della memoria RAM è un elemento molto importante nella configurazione di un computer, seconda solo alle caratteristiche del microprocessore. Più RAM abbiamo nel computer, più questo potrà lavorare con programmi complessi ed elaborare un maggior numero di dati.
Se la memoria RAM non basta a contenere un programma, questo non può essere eseguito. Se il programma entra nella memoria, ma il documento sul quale vogliamo lavorare non può essere caricato nella parte libera rimasta, il sistema operativo è costretto ad effettuare continue operazioni di registrazione e di lettura del documento.
Il sistema operativo carica in memoria solo una parte di documento e, quando chiediamo di andare avanti nel lavoro, la registra sul disco per poter leggere e caricare in memoria la porzione successiva. Uguale impegno viene richiesto da programmi particolarmente complessi che sono stati frazionati in un certo numero di file. Il sistema operativo, di volta in volta, carica dal disco quello richiesto. Questo tipo di frazionamento è molto diffuso, perché facilità la compatibilità verso macchine con memoria inferiore a quella teoricamente necessaria.
La quantità minima di memoria RAM per un computer era unanimemente riconosciuta in 512Kb fino a quando esistevano i sistemi operativi di tipo testo (DOS). Al di sotto di quella dimensione era difficile che qualche programma riuscisse a funzionare.
Oggi, che si lavora con applicazioni molto più complesse, con un numero di dati consistente, con sistemi operativi che fanno uso della grafica e del colore, la memoria RAM richiesta inizia a salire da un minimo di 4Mb, fino a 8Mb ed a 16Mb per lavoro ordinario, spingendosi a 32Mb, 64Mb e molto oltre per programmi che elaborino immagini o suoni.
Espansione della RAM
Queste cifre (4, 8, 16, 32 e 64) fanno subito capire come la memoria RAM spesso si aumenti raddoppiando. La RAM di un computer, infatti, la si può aumentare ogni qual volta se ne abbia bisogno.
La quantità di memoria RAM presente nella configurazione base di un computer viene sempre indicata dal produttore. Se non è adeguata per l’utilizzo che se ne vuole fare, è bene chiedere l’aumento alla quantità necessaria sin dal momento dell’acquisto della macchina.
E’ comunque possibile incrementare la quantità di memoria RAM anche in seguito. La scheda madre possiede appositi connettori nei quali è possibile inserire i chip aggiuntivi. La memoria RAM viene venduta in piccoli moduli, grandi quanto una barretta di cioccolato. Si chiamano SIMM, dall’inglese Single Inline Memory Module.
Esistono SIMM da 4, 8, 16Mb e così via. I costi di questi moduli di espansione della RAM, grazie anche all’aumento della richiesta e della produzione, sono calati enormemente nel corso degli ultimi anni.
Poiché i connettori presenti nella scheda madre per inserire le SIMM sono pochi, spesso quattro, conviene affrontare la spesa una volte per tutte e comprare più memoria di quella strettamente indispensabile, perché futuri incrementi di RAM saranno impossibili senza dover togliere le SIMM presenti.
Se abbiamo quattro connettori occupati da quattro SIMM da 4Mb ciascuna, per un totale di 16Mb, e vogliamo aumentare la RAM di altri 16Mb, non sarà possibile acquistare solamente i 16Mb in più. Dovremo togliere le quattro SIMM e buttarle in un cassetto ed acquistare quattro SIMM nuove da 8Mb ciascuna per metterle al loro posto.
Saremmo stati più previdenti se avessimo fatto l’incremento precedente direttamente a 32Mb, oppure se avessimo acquistato due SIMM da 8Mb.
Non tutte le memorie RAM vanno bene per tutti i computer. Chiedendo la memoria RAM aggiuntiva al momento dell’acquisto, il venditore stesso provvederà ad installarla e collaudarla. Effettuando l’acquisto delle SIMM in seguito, è invece indispensabile rispettare le caratteristiche richieste esposte nel manuale della macchina. Esistono tipi diversi di moduli di memoria RAM e la corrispondenza con il modello richiesto deve essere perfetta.
Esistono differenze fisiche fra le varie SIMM, come la lunghezza, la larghezza, lo spessore e il numero dei “piedini”. Esistono differenze elettroniche, per la presenza di chip con determinate caratteristiche.
I moduli si distinguono, oltre che per la capacità, anche per la velocità. Il manuale indicherà, ad esempio, di usare esclusivamente moduli con velocità minima di 60 nanosecondi. La velocità è il tempo che occorre allo scambio dei dati con il computer: più la cifra è bassa, più il traffico può essere veloce.
Si parla di velocità minima perché una memoria RAM più veloce è installabile al posto di una più lenta, ma non viceversa. Si può installare un modulo di chip a 60 nanosecondi al posto di uno a 80 nanosecondi, ma non il contrario.
Espandere la memoria di un computer portatile è ancora più complicato. Lo spazio all’interno è limitato e quindi le schede devono essere piccole e sottili, mentre la costante necessità di risparmiare il consumo di energia costringe all’uso di componenti particolari.
Il numero di connettori interni per contenere le SIMM è ridotto, spesso uno solo, mentre il costo delle SIMM per portatili è di sicuro maggiore rispetto alle SIMM normali. Ed inoltre bisogna fare ancor più attenzione alla corrispondenza delle caratteristiche.
Non è facile valutare la necessità di memoria. Di certo la quantità di RAM va collegata da un lato al microprocessore utilizzato e dall’altro al sistema operativo ed al tipo di programmi con i quali vogliamo lavorare.
Un personal con 80486 e Windows 3.11 funziona perfettamente con 2Mb di memoria RAM, quando ha in esecuzione semplici programmi di videoscrittura. La quantità minima necessaria passa a 4Mb se si vuole utilizzare un foglio di calcolo ed a 8Mb se si tratta di realizzare il bollettino aziendale od un volantino pubblicitario.
Un personal con processore Pentium e Windows 95, con il quale vogliamo lavorare in videoscrittura richiede almeno 8Mb, per passare a 16Mb per utilizzare anche un foglio di calcolo.
In un computer la RAM non è mai abbastanza e, situazione finanziaria permettendo, è sempre meglio abbondare che mancare. E’ opportuno consultare prima il manuale e le caratteristiche tecniche del software che dovremo utilizzare e considerare che spesso ci troveremo nella situazione di lavorare contemporaneamente con più programmi.
Le prestazioni: capacità e velocità
Non bisogna confondere la “capacità” di un computer con la sua “velocità”. La quantità di memoria RAM presente determina la sua capacità, cioè la quantità di dati che può elaborare, e non la sua velocità.
Un’espansione della RAM ci può consentire, ad esempio, di lavorare con più software contemporaneamente (un foglio di calcolo ed un word processor) perché espande la capacità del computer. La velocità ne è influenzata solo indirettamente: avendo i due software già caricati è possibile passare dall’uno all’altro in un istante senza dover attendere la chiusura del primo ed il caricamento del secondo. La velocità di lavoro nel singolo software, invece, non è minimamente incrementata.
Avendo una RAM già abbastanza capace di contenere più software con i relativi documenti, espandere ulteriormente la RAM non aumenta la velocità del computer in nessun modo.
La velocità di un computer è determinata dal clock, cioè dalla frequenza del processore. Nelle ultime generazioni di computer è possibile sostituire il processore con uno delle stesso tipo (Pentium con Pentium) ma più veloce (da 133 MHz a 200 MHz, ad esempio).
Memoria virtuale
Dovendo utilizzare più di un programma contemporaneamente, può darsi che la somma della memoria RAM richiesta dai programmi superi la capacità della memoria RAM installata. In questo caso è possibile simulare la presenza di una quantità superiore, anche doppia o tripla, di RAM. Questa memoria “inesistente” viene chiamata “memoria virtuale”.
Per la creazione della memoria virtuale ci si può servire del sistema operativo (Windows ‘9x e Macintosh 7.x) o di appositi programmi d’utilità. Il metodo di creazione della memoria virtuale è, nei due casi, diverso.
Il sistema operativo utilizza principalmente il disco rigido. Quando abbiamo uno o più programmi in memoria RAM e ne vogliamo caricare un altro, e la somma della memoria richiesta dai programmi supererebbe la RAM fisicamente disponibile, il sistema operativo registra su disco rigido i programmi non attivi (compresi gli eventuali documenti aperti con quei programmi) e quant’altro sia possibile scaricare temporaneamente dalla RAM, per lasciare posto al nuovo programma. Quando chiederemo di tornare a lavorare con uno dei programmi precedenti, il sistema operativo scaricherà su disco il programma diventato inattivo (compresi i documenti aperti) e caricherà nella RAM il programma richiesto.
Con questo metodo possiamo utilizzare più RAM di quella fisicamente presente nel personal. Dovremo però pagare due pedaggi: meno spazio disponibile su disco e velocità ridotta di lavoro.
Sul disco rigido, infatti, viene creato un file invisibile di sistema pari alla dimensione complessiva della memoria virtuale. Se abbiamo installato RAM per 8Mb e, grazie alla memoria virtuale, vogliamo fingere di averne 16Mb, il sistema operativo deve creare un file di 16Mb su disco, riducendo lo spazio a disposizione per registrare documenti e software. D’altra parte, tutte le volte che passeremo da un programma all’altro fra quelli mandati in esecuzione, dovremo aspettare che il sistema operativo scarichi dalla RAM il programma non più attivo e carichi il programma al quale abbiamo chiesto di passare.
Il metodo utilizzato dai programmi di utilità per la creazione della memoria virtuale è diverso. Invece di ricorrere subito alla registrazione su disco rigido, il programma di utilità compatta i programmi non attivi e li comprime nella stessa RAM. Questa operazione crea già abbastanza spazio libero senza grosse perdite di tempo, non essendoci operazioni di scrittura/lettura su disco.
I programmi, inoltre, occupano sempre meno spazio di quello che richiedono. Un programma che chiede 4Mb di RAM, ad esempio, ne occupa anche la sola metà, in situazione di inattività. L’utilità, da una parte comprimendo il programma, dall’altra recuperando lo spazio non utilizzato, riesce a “ricavare” abbastanza memoria da ospitare altri programmi.
Solamente a questo punto, se lo spazio ancora non basta, ricorre alla registrazione su disco. Si tratta, però, della registrazione di dati compattati, e quindi le operazioni di scrittura/lettura sono molto più veloci di quelle richieste dal sistema operativo.
Il file creato dal programma di utilità è a grandezza dinamica, cioè non occupa uno spazio su disco pari al totale della memoria virtuale, bensì occupa uno spazio variabile a seconda della necessità.
Con la memoria virtuale, quindi, possiamo caricare in memoria molti più programmi e documenti di quanti la RAM fisica permetterebbe. L’unico requisito è che ciascun singolo programma non superi, da solo, la capacità della memoria fisica. Se abbiamo 8Mb di RAM espansa a 16Mb virtuali, non possiamo caricare nessun programma che, da solo, richieda più di 8Mb. Possiamo caricarne tre da 4Mb ciascuno, ma non uno da 9Mb.
Memoria cache
Alcuni computer sono dotati di una scheda di memoria cache. Si tratta di uno speciale modulo di memoria RAM, quindi che si cancella ad ogni spegnimento, ma che non è direttamente utilizzabile per caricare programmi da eseguire come la normale RAM.
Abbiamo visto come il sistema operativo si incarichi di leggere dal disco i vari file in cui è frazionato un programma o, ad esempio, le varie parti di un grosso database. Se è presente una scheda di memoria cache, il sistema operativo carica i file letti dal disco sia nella memoria RAM che nella memoria cache.
Ad una nuova richiesta di caricamento di un file, il sistema operativo esamina il contenuto della scheda cache e solo se non vi trova il file richiesto ne effettua la lettura da disco. Se quella frazione di programma o documento era stata recentemente utilizzata, è già presente nella cache e quindi il sistema operativo ne effettua il caricamento senza alcuna lettura da disco. Essendo il caricamento da memoria cache di gran lunga più veloce di quello da disco, ne deriva la conseguenza che la presenza di una scheda di memoria cache velocizza le operazioni.
In alternativa, è possibile creare una memoria cache virtuale tramite appositi programmi di utilità. In questo caso la memoria cache virtuale usa parte della normale RAM.
Le unità di memoria di massa
Durante l’esecuzione di un programma, il programma stesso e tutti i documenti elaborati risiedono nella memoria RAM. Ma la memoria RAM è temporanea: al cessare dell’alimentazione elettrica non è in grado di conservare la magnetizzazione. Per poter conservare i programmi ed i documenti è necessario ricorre ad un tipo di registrazione magnetica permanente ed in grado di incamerare una grossa quantità di dati.
Le unità di memoria di massa assolvono a questo scopo. Più o meno capaci, più o meno veloci, più o meno pratiche, hanno tutte la caratteristica di immagazzinare una quantità di dati, a volte enorme, per un tempo indefinito, e di consentirne in qualsiasi momento la rilettura da parte del computer con il successivo caricamento nella memoria RAM. Gli stessi programmi non potrebbero essere commercializzati senza la possibilità di venderli materialmente registrati su un dischetto.
Esistono unità di memoria di massa di ogni dimensione, capacità e per ogni scopo. Dal disco sul quale sono registrati i giochi che si acquistiamo in edicola, al dischetto che utilizziamo per trasferire il lavoro dal computer in ufficio a quello a casa, ai grossi dischi rigidi che servono da archivio per le reti, ai leggeri dischi ottici o magneto-ottici capaci di conservare intere enciclopedie in pochi grammi.
La conservazione dei dati è possibile grazie alla loro struttura binaria. Le serie di zero e di uno che compongono i bit, che a loro volta compongono i byte, trasformati in impulsi elettrici nel loro viaggio all’interno del computer e dei suoi componenti, vengono conservato in forma binaria. Disponendo di una superficie formata da una sostanza facilmente magnetizzabile, un ossido metallico, è sufficiente creare un microscopico campo magnetico che alteri la polarizzazione delle particelle. Andando a rileggere la polarizzazione, è possibile ricavarne gli stessi impulsi elettrici che li hanno originati.
Un impulso elettrico positivo ha polarizzato in senso positivo una zona di ossido metallico. Questa zona darà origine, tutte le volte che viene letta, ad un impulso elettrico positivo.
Caratteristiche tecniche
Le tecnologie principali di registrazione sono:
- magnetica;
- ottica;
- magneto ottica.
All'interno di questi tipi troviamo diverse categorie di unità di memoria di massa:
- dischi flessibili rimovibili;
- dischi rigidi fissi interni od esterni;
- dischi rigidi rimovibili;
- cartucce a nastro;
- compact disk;
- dischi ottici scrivibili.
Dischi flessibili rimovibili
Di vari formati e capacità, sono formati da un sottile disco di plastica sul quale, da entrambi i lati, si trova una sostanza magnetizzabile formata da particelle di un ossido metallico. Poiché il supporto di plastica è molto leggero e flessibile, questo tipo di dischi vengono anche chiamati floppy disk. I formati utilizzati nei personal sono:
- 5,25 pollici;
- 3,5 pollici.
Per formato si intende il diametro del disco di plastica.
I dischi da 5,25 pollici hanno una custodia in plastica flessibile e la superficie magnetizzabile è esposta attraverso una fessura su entrambi i lati del disco. Quelli da 3,5 pollici, di dimensioni inferiori ma di capacità maggiore, hanno una custodia in plastica rigida e la superficie magnetizzabile è esposta attraverso una fessura su entrambi i lati ricoperta da un pannello scorrevole tenuto chiuso da una molla.
Entrambi i formati possiedono un metodo per venire protetti dalla scrittura. I dischi da 5,25 pollici hanno una tacca su un lato: per proteggere il disco è necessario ricoprire questa tacca con una piccola etichetta autoadesiva. I dischi da 3,5 pollici hanno una finestrella che, dal lato inferiore, è possibile aprire tramite un piccolo pannello in plastica per proteggerli.
Quando è stata attivata la protezione di un disco è possibile inserirlo nel drive per leggerne i dati contenuti, ma non è possibile registrarne di nuovi né modificare quelli esistenti. Per farlo è necessario estrarre il disco dal drive e togliere materialmente la protezione.
I dischi sono rimovibili, cioè il supporto di registrazione magnetica è separato dalla unità di lettura e registrazione. Questa è formata da un motore, che fa girare ad alta velocità il dischetto, e due testine che, da sopra e da sotto, sfiorano la superficie del dischetto in movimento. Le testine, attraverso impulsi elettromagnetici, sono in grado di modificare la polarizzazione delle particelle magnetizzabili, oppure di percepirne lo stato.
In fase di scrittura, l'impulso elettrico che viene inviato alla testina crea un campo magnetico che altera la polarizzazione delle particelle di ossido ottenendo la registrazione dei dati. In fase di lettura, è la testina che viene influenzata dal campo magnetico esistente nelle particelle, trasformando i dati in forma di impulsi elettrici.
Le particelle dei dischetti sono stabili: una volta polarizzate non sono soggette ad una smagnetizzazione spontanea. I dati, così registrati, possono essere letti molteplici volte senza nessuna influenza sulla loro consistenza. Viceversa, la stessa particella può essere polarizzata più volte dalla testina, per immagazzinare dati diversi. Pur essendo a polarizzazione permanente, essa non conserva memoria delle magnetizzazioni precedenti e ritorna come nuova ad ogni riscrittura di dati.
Le unità di lettura e registrazione, chiamati disk drive, hanno anch'essi due formati, corrispondenti a quelli dei dischi che possono ospitare, da 5,25 e da 3,5 pollici. I disk drive hanno anche diversa capacità.
Ecco un elenco dei tipi e delle capacità dei disk drive:
capacità
dimensioni
testine
ambiente
143Kb
5,25 pollici
una
ProDOS
160Kb
5,25 pollici
una
DOS
180Kb
5,25 pollici
una
DOS
320Kb
5,25 pollici
due
DOS
360Kb
5,25 pollici
due
DOS
400Kb
3,5 pollici
una
Macintosh, ProDOS
720Kb
3,5 pollici
due
DOS, Windows
800Kb
3,5 pollici
due
Macintosh, ProDOS
1200Kb
5,25 pollici
due
DOS, Windows
1440Kb
3,5 pollici
due
DOS, Windows, Macintosh
La crescita di capacità di dischetti e di disk drive è dovuta ai progressi tecnologici. Le aziende produttrici sono riuscite a mettere a punto sostanze sempre più fitte di particelle magnetizzabili, testine sempre più piccole ed accurate nella lettura e nella scrittura, motori e meccanismi di movimento dei dischi e della testina sempre più precisi.
I primi dischi erano magnetizzabili da un solo lato e il disk drive aveva una sola testina. La capacità di registrazione era limitata anche nei tipi ricoperti con un ossido metallico a doppia densità di particelle.
Più sono numerose le particelle di ossido metallico e più è piccola la testina, più è possibile immagazzinare dati. Come si vede dalla tabella, oggi è possibile registrare una quantità venti volte maggiore di dati su dischetti con una superficie quasi dimezzata.
formato
lati
densità
capacità
5,25 pollici
singolo
singola
143Kb
5,25 pollici
singolo
doppia
160Kb
5,25 pollici
singolo
doppia
180Kb
5,25 pollici
doppio
doppia
320Kb
5,25 pollici
doppio
doppia
360Kb
5,25 pollici
doppio
alta
1200Kb
3,5 pollici
singolo
doppia
400Kb
3,5 pollici
doppio
doppia
720Kb
3,5 pollici
doppio
doppia
800Kb
3,5 pollici
doppio
alta
1440Kb
Nella terminologia tecnica i dischi con un solo lato magnetizzabile vengono etichettati Single Sided, o SS. Quelli magnetizzabili su entrambi i lati Double Sided, o DD. La densità più bassa viene definita Single Density o SD, quella doppia Double Density o DD, quella alta High Density o HD. E' quindi molto comune leggere sulle confezioni dei dischetti l'indicazione SS/SD, oppure DD/DD, od anche DD/HD.
Fra capacità del dischetto e capacità del drive esiste una relazione molto stretta. Ad ogni diversa capacità di archiviazione corrisponde un diverso meccanismo di lettura e registrazione Sempre più accurato. Un drive può leggere o scrivere su un dischetto che abbia una capacità pari o inferiore, ma non su quelli che abbiano capacità superiore: la testina, proprio per limiti costruttivi, non ne è capace. I dati, su dischi di diversa capacità, sono registrati in un modo fisicamente diverso.
Anche nel caso che il dischetto abbia capacità minore, non sempre il drive a maggiore capacità può essere in grado di lavorarvi correttamente. Fra i meccanismi di registrazione di un drive a 1200Kb e quelli necessari per un dischetto da 360Kb c'è molta differenza e molto spesso questo tipo di drive può lavorare solamente in lettura .
Esistono disk drive interni ed esterni. Nel primo caso sono compresi nell'unità centrale, nel secondo sono indipendenti e devono essere collegati tramite un apposito connettore ed una scheda di interfaccia supplementare.
L'inserimento del dischetto nel drive, purché del giusto formato, è semplice. Basta far entrare il dischetto nella fessura del drive, con la zona nella quale è esposta la superficie magnetizzabile. I dischetti da 3,5 pollici possono essere inseriti solo nel verso giusto, mentre per i dischetti da 5,25 è necessario porre maggiore attenzione. I dischi da 3,5 pollici vengono agganciati automaticamente dal meccanismo del disk drive, per quelli da 5,25 si deve abbassare una levetta che chiude di traverso la fessura del drive.
Su tutti i drive disk è presente un meccanismo per l'estrazione del dischetto. Nei drive da 5,25 è sufficiente rialzare la levetta che chiude di traverso la fessura del drive, perché il disco fuoriesca; nei drive da 3,5 è presente un pulsante che lo fa espellere dal meccanismo interno.
E' indispensabile effettuare questa operazione solamente a drive fermo: se si effettua l'estrazione del disco mentre è in corso un’operazione di lettura o di registrazione, si corre il rischio di danneggiare i dati, il dischetto o il drive stesso.
Dischi rigidi
Il principio di funzionamento è identico a quello dei floppy disk e la tecnologia è magnetica.
Il disco rigido comprende in un unico dispositivo sia il supporto di registrazione magnetica che la parte meccanica di motore e testine. Nella maggior parte dei computer è presente un disco rigido nella configurazione di base, nel qual caso è compreso nella stessa unità centrale e viene chiamo disco interno. Se il computer ne è sprovvisto, o se ne occorre un altro per necessità di archiviazione, si tratta di un’apparecchiatura autonoma, chiamata disco esterno.
Il supporto di registrazione è formato da un disco di acciaio sul quale è presente la sostanza di ossido metallico. Il disco di acciaio può essere singolo o multiplo, rendendo così maggiore la capacità di archiviazione del drive.
La capacità di un disco rigido è nettamente superiore a quella di un dischetto su supporto flessibile. I primi dischi rigidi avevano una capacità di 2Mb o di 5Mb. Con il diffondersi dei personal e con il progresso tecnologico, i dischi rigidi sono saliti a 10Mb, 20Mb, 40Mb, 80Mb, 180Mb e così via. Oggi è comune trovare dischi di 250Mb, 360Mb o 650Mb soprattutto per applicazioni grafiche o come unità di memoria di massa per server di rete.
Un tipo di dischi rigidi, rispondenti allo standard SCSI, possono essere collegati ad uno stesso computer utilizzano una sola scheda di interfaccia. Il primo disco è connesso al computer, mentre i successivi sono collegati l'uno all'altro a catena, fino ad otto unità.
Dischi rigidi rimovibili
Si tratta di dischi in acciaio, esattamente uguali a quelli che si trovano all'interno dei dischi rigidi interni od esterni. La loro importante caratteristiche è quella di trovarsi all'interno di una cartuccia in plastica, che ne permette l'estrazione e l'interscambio.
I dischi rimovibili, come tutti i dischi rigidi, hanno capacità di archiviazione nettamente superiori a quella dei dischetti flessibili. La cartucce più comunemente in circolazione hanno una capacità di 45Mb, mentre altre hanno capacità di 88Mb.
Tranne rare eccezioni, i disk drive per dischi rigidi rimovibili sono tutti di tipo esterno, come dispositivi autonomi, rispondenti allo standard SCSI.
I disk drive da 88Mb possono leggere i dischi da 45Mb, ma non possono registrarvi. I drive da 45Mb non possono né leggere né registrare sui dischi da 88Mb.
Dischi ottici scrivibili
Queste unità di memoria di massa utilizzano, in fase di lettura, la stessa procedura dei compact disk: un raggio laser colpisce il disco e la sua rifrazione nelle scanalature viene trasformata in impulsi elettrici e, quindi, in dati.
La differenza con il compact disk consiste nel fatto che il disco non è costituito solo da plastica stampata, ma anche da una sostanza fotomagnetizzabile che rende possibile la registrazione di dati.
In fase di registrazione il raggio laser diventa molto più forte e, colpendo una zona del disco, magnetizza la sostanza. Questa, cambiando la polarizzazione, cambia il suo fattore di rifrazione. Ecco quindi che il raggio laser, più debole, potrà poi leggere questa stessa zona ed interpretarne la risposta luminosa come un dato da inviare al computer.
Esistono due tipi di dischi ottici scrivibili, ciascuno caratterizzato da una diversa sostanza fotomagnetizzabile: quelli che possono essere magnetizzati una volta sola e quelli che possono essere magnetizzati e smagnetizzati più volte.
Con i primi, chiamati WORM, da Write Once Read Many, quando il raggio laser è passato in scrittura sopra una zona del disco, non è più possibile modificarne la polarizzazione per cancellare i dati e scriverne di diversi. Una volta che il disco è stato riempito può essere utilizzato solo in lettura come un CD-ROM.
Con i secondi, il raggio laser può cambiare più volte la polarizzazione di ciascuna zona del disco ed una volta riempito è possibile cancellare i dati vecchi per scriverne dei nuovi.
La capacità di archiviazione dei dischi ottici e considerevole, dell'ordine delle centinaia di megabyte, ed hanno una ottima velocità di accesso alle informazioni.

La standard SCSI
Molte unità di memoria di massa, o meglio i loro disk drive, appartengono allo standard industriale SCSI, da Small Computer System Interface, che consente il collegamento di più dispositivi, fino a sette, utilizzando una sola scheda di interfaccia. Le unità che non corrispondono a questo standard richiedono una scheda ciascuna.
La praticità è evidente, così anche il risparmio. A ciò si deve aggiungere la portabilità: le unità di memoria di massa SCSI sono trasferibili da computer a computer, sia nello stesso ambiente operativo che in altri, senza alcuna modifica.

ARCHITETTURA DI UN PERSONAL COMPUTER

Un personal computer è composto da 2 PARTI FONDAMENTALI:
A. - L' HARDWARE: parte fisica del computer che si suddivide in ulteriori 3 sotto elementi
B. - IL SOFTWARE: parte logica del computer che si suddivide in ulteriori 2 sotto elementi


Parte prima; l’Hardware: è composto da:

1. Il CASE: cassa metallica a parallelepipedo (vedi figura) contiene l'alimentatore, l'elettronica, il processore, la memoria e i dischi.
2. Le UNITA' DI INPUT: tastiera e mouse
3. Le UNITA' DI OUTPUT: monitor e stampante
Il CASE contiene un alimentatore dotato di ventola di raffreddamento che alimenta i componenti interni del PC, questi sono:
• La PIASTRA MADRE (motherboard) che contiene l'elettronica fondamentale, il chip della memoria ROM che contiene il BIOS (Basic Input Output System) e ospita nei suoi SLOT (alloggiamenti) di espansione tutti gli altri componenti ed in particolare:
o Il MICROPROCESSORE, detto anche CPU (Central Processing Unit), il cervello del computer, esegue i calcoli in numeri binari. Ogni cosa che vi appare sullo schermo è frutto di un calcolo più o meno complesso del vostro processore; (per approfondimenti consultare l'apposita sezione).
o La MEMORIA RAM: (Random Access Memory) memoria composta di moduli di 4, 8, 16, 32, 64 e più Megabyte ove il processore opera i suoi calcoli leggendo e scrivendo dati. Detta anche memoria volatile in quanto quando spegnendo il computer i dati presenti in essa sono cancellati.
o La SCHEDA VIDEO: Essa si occupa di inviare il segnale video al Monitor per la visualizzazione di testo e grafica, dispone di un proprio processore che nei vecchi modelli svolgeva la sola funzione di trasmettitore di segnale e veniva definito Frame-Buffer. Questo processore gestiva anche una memoria propria installata sulla scheda video definita appunto Memoria Video o VRAM in genere da 0.5 a 2 Megabyte. Dall'avvento dei sistemi operativi grafici (Windows 3.0, 3.1 e 95) però le case costruttrici hanno fatto si che il chip video elaborasse informazioni alla stregua di un coprocessore, si parla da qui in poi di Accelleratore Grafico. Gli attuali Accelleratori Grafici gestiscono una memoria video di grandi dimensioni (da 2 a 32 megabyte) ed hanno raggiunto prestazioni tali che una scheda video attuale può essere considerata un computer nel computer e pertanto le prestazioni della stessa sono molto importanti affinche il computer globalmente sia veloce. Voi potete acquistare un costoso computer con un processore velocissimo, con molta memoria RAM e un disco fisso altrettanto capiente e veloce ma se la scheda video è lenta qualsiasi applicativo farete funzionare sarà rallentato da essa, questo in termine tecnico si chiama Collo di Bottiglia.
o I DISCHI: detti anche memoria di massa, sono il DISCO RIGIDO (Hard Disk) il disco Floppy ed eventualmente i dischi Rimovibili (ZIP), hanno il compito di stoccare i dati su un supporto fisso in modo che spegnendo il computer essi non vadano persi. Hanno una velocità di accesso notevolmente più bassa rispetto alla memoria RAM (millisecondi contro nanosecondi) ma hanno una capacità di contenere dati in relazione molto superiore. (Gigabyte contro Megabyte) con un costo quindi molto più favorevole.

Le UNITA' DI INPUT: ossia unità di ingresso per i dati, per comunicare dati al computer, digitando numeri e caratteri.
• La tastiera: dispositivo che simula una macchina da scrivere per inviare dati al computer.
• Il mouse: dispositivo optomeccanico che serve per spostare il puntatore (freccietta) animato sullo schermo. Altre unità meno diffuse sono come il trackball, la penna ottica e la tavoletta grafica.
• Lo SCANNER: dispositivo che serve per trasmettere al computer in formato digitale immagini e testi, funziona con lo stesso principio di una fotocopiatrice.

Le UNITA' DI OUTPUT: unità per i dati in uscita, servono affinché il computer possa trasmetterci il risultato delle sue elaborazioni:
• Il MONITOR: visualizza in formato testo o grafico l'elaborazione del processore sui dati da noi inseriti
• La STAMPANTE: riporta su carta la visualizzazione
Gli attuali calcolatori digitali, benché siano tutti concettualmente simili, possono essere classificati in diverse categorie in base al costo e alle prestazioni: i personal computer o microcomputer sono macchine di costo relativamente ridotto e di dimensioni adatte, di norma, a una scrivania (ma ve ne sono ormai delle dimensioni di un libro); le workstation (stazioni di lavoro) sono computer con prestazioni grafiche e di comunicazione avanzate, particolarmente utili nel lavoro d'ufficio e spesso collegati in rete locale o estesa; i minicomputer sono macchine di dimensioni maggiori, in genere troppo costose per l'uso personale, con potenzialità sufficienti per un'azienda, una scuola o un laboratorio; infine i mainframe computer sono macchine assai costose, in grado di soddisfare le esigenze di una grande impresa commerciale, di un ministero, di un centro di ricerca scientifica, o di altre strutture simili (i più grandi e veloci tra questi sono detti supercomputer).
In un computer digitale possono essere distinti cinque elementi:
1. una unità centrale di elaborazione (CPU, Central Processing Unit);
2. i dispositivi di ingresso
3. i dispositivi di memoria
4. i dispositivi di uscita
una rete di comunicazione, detta bus, che collega tutti gli elementi del sistema e permette a questo di comunicare con l'esterno.
------------------------------------------------------------------

Parte seconda; il Software: è composto da:


1. SISTEMA OPERATIVO: è il programma principale, occorre come base per far funzionare tutti gli altri programmi. Quando un computer viene acceso come prima cosa carica in memoria il sistema operativo che è stoccato sul disco fisso. Esso governa la gestione della memoria e le periferiche (tastiera, monitor, stampanti ...), la temporizzazione del microprocessore e la destinazione dello spazio sui dischi. Esempi di sistemi operativi sono:
o il DOS (Disk Operativing System), sistema operativo a linea di comando, si digita un comando (come ad esempio DIR) o il nome di un programma ed il computer lo esegue.
o Il WINDOWS (sistema operativo grafico a finestre ed icone) nelle sue varie versioni Windows 3.1, Windows 95, Windows 98, Windows NT. In questo S.O. si opera con un puntatore animato che va ad azionare programmi rappresentati da icone. Ingloba anche una emulazione del DOS. Prodotto da Microsoft.
o Unix, sistema operativo linea di comando ora aggiornato alla grafica con le nuove versioni (X-Windows), fu il primo sistema operativo a consentire il funzionamento di più programmi contemporaneamente ma è attualmente afflitto da una differenziazione di versioni (dialetti Unix) tutte incompatibili tra di loro prodotte dalle varie case produttrici di software (Novell, IBM ecc.) che ne hanno seriamente minato la esistenza e la utilizzabilità. E' comunque tuttora usato nelle Workstation.
o OS2, sistema operativo grafico a finestre ed icone, simile a Windows, prodotto da IBM che con questo prodotto intendeva dominare il mercato del Software: si è rivelato uno dei fallimenti più grandi della pur prestigiosa casa di Redmond a causa della sua incompatibilità con diverse schede video, audio ed altri dispositivi ma soprattutto perché le case produttrici di programmi software si rifiutarono di sviluppare applicativi per questo prodotto. La stessa IBM ha abbandonato questo sistema operativo.
o Sistemi operativi proprietari come OS400, VM, ed altri sono usati tipicamente nei Minicomputer e nei Mainframe ossia elaboratori di grandi dimensioni incaricati solitamente di gestire ambienti di tipo dipartimentale o militare con una sicurezza nella gestione e riservatezza dei dati superiore.

2. PROGRAMMI APPLICATIVI: Il programma applicativo è quel qualcosa che permette all'utente di interagire con il computer passando tramite il sistema operativo. Un programma di videoscrittura come il Word o un foglio di calcolo come Excel sono programmi applicativi. Nel vostro uso quotidiano del PC voi userete solo programmi applicativi. Anche un videogioco è un programma applicativo. Un programma applicativo realizzato per un sistema operativo (a parte rari casi) non funziona su di un altro di cui non rappresenti una estensione o aggiornamento.


In dettaglio:
Unità centrale (CPU)
L'unità centrale di elaborazione può essere realizzata con un solo integrato o con più integrati collegati, e svolge operazioni aritmetiche e logiche, oltre a temporizzare e comandare le operazioni di tutti gli altri elementi del sistema. Le tecniche di miniaturizzazione e integrazione hanno reso possibile lo sviluppo della CPU su un chip singolo, o in altre parole del microprocessore, che contiene anche circuiti ausiliari e memoria. Ne sono derivati computer più piccoli e una riduzione della circuiteria di supporto. I microprocessori sono presenti nella maggior parte degli attuali personal.
La maggior parte delle CPU e dei microprocessori è composta da quattro sezioni: 1) un'unità aritmetico/logica (ALU, Arithmetic/Logic Unit); 2) alcuni registri; 3) una sezione di controllo; 4) un bus interno. L'ALU è la sede delle capacità di calcolo, e svolge operazioni aritmetiche e logiche. I registri sono spazi di memoria temporanei che conservano i dati e gli indirizzi delle istruzioni, i risultati delle operazioni e le locazioni in cui queste informazioni vanno archiviate. La sezione di controllo svolge tre funzioni principali: temporizza e regola le operazioni dell'intero sistema; per mezzo di un decodificatore di istruzioni, legge le relative combinazioni in un apposito registro, le riconosce e produce le azioni necessarie per la loro esecuzione; infine, mediante l'unità di interrupt (interruzione) stabilisce l'ordine in cui i diversi dispositivi del sistema possono utilizzare le risorse della CPU e regola gli intervalli di tempo di lavoro che la CPU stessa deve destinare a ciascuna operazione.
L'ultimo elemento strutturale di una CPU o di un microprocessore è il bus interno, una rete di linee di comunicazione che collegano le varie parti del processore tra loro e ai terminali esterni. Una CPU ha tre diversi tipi di bus: 1) un bus di controllo, costituito da linee che ricevono segnali dall'esterno e da altre che trasportano all'esterno i segnali di controllo prodotti dalla CPU; 2) il bus degli indirizzi, unidirezionale, che trasporta i segnali per la selezione delle locazioni di memoria; 3) il bus dei dati, bidirezionale, per portare alla CPU i dati letti in memoria e per portare alla memoria nuovi dati.
Dispositivi di ingresso
Questi dispositivi permettono all'utente di inviare alla CPU dati, comandi e programmi. Il più comune tra essi è la tastiera, simile a quella di una macchina da scrivere, che trasforma ciascun carattere battuto in una combinazione di bit riconoscibile dal computer. Altri dispositivi di ingresso sono le penne ottiche, che trasferiscono al computer informazioni tramite tavolette grafiche; i joystick e i mouse, che comandano il movimento di un cursore sullo schermo mediante un analogo effettivo movimento del dispositivo; gli scanner ottici, che "leggono" parole e simboli su una pagina stampata e li "traducono" in sequenze di bit elaborabili o memorizzabili da un computer; infine, i riconoscitori vocali, che traducono in segnali digitali le parole pronunciate dall'operatore. Anche i dispositivi di memoria possono essere usati per trasferire dati verso l'unità di elaborazione.
Dispositivi di memoria
I sistemi di calcolo possono immagazzinare dati sia internamente (nella memoria di lavoro), sia esternamente (nelle memorie di massa). Le memorie di lavoro contengono dati temporanei e sono costituite da RAM (Random Access Memory, memoria ad accesso casuale) integrate, montate direttamente sulla scheda principale del computer oppure su schede aggiuntive (espansioni) inserite nella principale mediante appositi connettori. Una RAM integrata contiene anche più di un milione di circuiti elementari a transistor il cui stato (binario) può essere imposto mediante comandi elettrici. In assenza di comandi, le RAM chiamate "statiche" mantengono i loro dati inalterati finché l'integrato viene alimentato (cioè finché gli viene fornita energia elettrica tramite un generatore); nelle RAM dette "dinamiche", invece, i dati devono essere periodicamente letti e riscritti per non essere persi (questa operazione, detta "rinfresco", deve essere eseguita a intervalli che non superano i due millisecondi circa).
Le memorie ROM (Read-Only Memory, memoria di sola lettura) contengono circuiti elementari il cui stato non può essere variato con comandi esterni e viene fissato in fase di costruzione; su queste memorie, non cancellabili, sono raccolti comandi, dati e programmi necessari al corretto funzionamento del computer. Le RAM, dunque, possono essere scritte, cancellate e riscritte senza limitazioni (e si cancellano spegnendo il computer), mentre il contenuto delle ROM è permanente e può solo essere letto. Entrambe le memorie sono collegate alla CPU.
Le memorie di massa possono far parte del computer come unità fisica, ma non risiedono sulla sua scheda principale. Questi dispositivi immagazzinano i dati in forma di alterazioni dello stato magnetico di un supporto sensibile, come il nastro di un registratore o, più comunemente, un disco rivestito da un sottile strato di materiale magnetico. I tipi più comuni di dispositivi esterni di memoria sono i floppy disk e gli hard disk, mentre la maggior parte dei grandi sistemi di calcolo usa unità di memoria con banchi di nastri magnetici. I floppy disk possono contenere da qualche centinaio di migliaia a oltre un milione di byte, secondo il sistema che li impiega. Gli hard disk (dischi "rigidi" o "fissi") non possono essere estratti dal loro alloggiamento nel circuito che li pilota e che contiene i dispositivi di lettura e scrittura dei dati sulle superfici magnetizzate. Essi possono contenere da parecchi milioni a oltre un miliardo di byte. I CD-ROM, che impiegano tecnologie simili a quelle dei compact disc (CD) per riproduzioni audio, permettono di raggiungere capacità di memoria di diversi miliardi di byte.
Hardware:
In generale un elaboratore può essere schematizzato come segue:
L’Unità di elaborazione, detta Unità Centrale, è l’elemento fondamentale del calcolatore, la parte più complessa dove avvengono le elaborazioni.
Essa è costituita da:
un processore o CPU (Central Processing Unit), è la componente che svolge tutti i calcoli e decide la sequenza delle operazioni da eseguire, è composta da una:
Unità Logico-Aritmetica, Arithmetic and Logic Unit, (ALU); questa esegue le operazioni aritmetiche e logiche sui dati;
Unità di Controllo o governo, Control Unit, (CU), predispone e controlla la registrazione dei dati in ingresso, decodifica le istruzioni memorizzate per attivare i corrispondenti circuiti dell’unità di esecuzione (ALU), gestisce la memorizzazione dei dati elaborati e l’uscita dei risultati delle operazioni.
Nota: comanda l’esecuzione di una particolare operazione tra tutte quelle a disposizione nella ALU, attivando di volta in volta quella richiesta dalle istruzioni del programma. Questa unità esegue iterativamente il seguente processo composto dalle seguenti tre fasi:
Fase di fetch: prelevamento di una istruzione dalla memoria centrale, con una lettura non distruttiva.
Fase di decodifica: individuazione delle operazioni richieste dall’istruzione prelevata.
Fase di esecuzione: a seconda dell’istruzione, generazione di segnali alla ALU per attivare l’opportuna operazione ed eventuale lettura di altri dati dalla memoria centrale.
una Memoria Centrale, in cui risiedono le sequenze di istruzioni da eseguire e i dati da elaborare o ricavate dal processore per essere stampate, visualizzate, ecc.
i controller, ai quali è demandato il controllo dei dispositivi esterni;
i bus di comunicazione, che interconnettono le componenti dell’unità centrale.
memorie di massa: costituiscono la memoria "ausiliaria" dell’elaboratore ed è un’estensione della memoria centrale;
dispositivi di Input/Output, sono dei dispositivi che consentono all’unità centrale di comunicare con l’esterno;
dispositivi di comunicazione, consentono ai calcolatori lo scambio di informazioni con altri computer.

Unità Centrale
Dispositivi di Input
(Unità periferiche)
CPU
Memoria centrale
Dispositivi di Output
(Unità periferiche)
Tastiera
Mouse
Scanner
Penna ottica
Tavoletta grafica
Speach card
CU
ALU
RAM
ROM
Video
Stampante
Plotter
Memorie di Massa
Floppy disk
Hard disk
Nastro magnetico
CD Rom
CD RW
DVD
Zip / Jazz



Componenti hardware.
CPU
RAM
ROM
ULA
UC
Controller
BUS
Bus di dati
Bus indirizzi
Bus controllo
Memorie di massa:
Hard Disk
Floppy disk
CD Rom
DVD
Videodisco
ZIP / Jazz
Dispositivo di Interazione (Input/Output):
Tastiera
Mouse
Penna ottica
Scanner
Speach card (scheda vocale)
Monitor
Stampante
Plotter
ROM Shadowing:
Tecnica consistente nel copiare il contenuto di una ROM in RAM, allo scopo di aumentarne la velocita' di lettura.
Per accedere ai dispositivi fisici, e' necessario utilizzare routine a basso livello, in grado di comandare direttamente l'hardware (BIOS). Queste routine possono essere integrate nel Sistema Operativo (come avviene per molti dei più recenti S.O.), ma, per "alleggerire" il sistema operativo stesso e renderlo meno dipendente dell'hardware, la maggior parte di esse vengono anche fornite su ROM.
C'e' quindi una ROM contenente le routine principali di sistema (Main System ROM BIOS), che permette il controllo dei dispositivi di Input/Output quali dischi, porte seriali e parallele, funzionalita' base del video, più dispositivi a basso livello quali il timer ecc., una ROM conenente le routine per la tastiera (a volte integrate nel Main System BIOS), e le ROM aggiuntive poste a bordo delle schede, contenenti le routine per l'accesso a quella particolare periferica (es: Video BIOS).
Purtroppo, la ROM e' caratterizzata da un tempo di accesso piuttosto elevato (da due a tre volte superiore a quello di una RAM), e cio' può penalizzare le prestazioni del sistema, quando questo debba accedere frequentemente alle routine dei BIOS. Viene allora adottata le tecnica del ROM-Shadowing, che consiste nel copiare nella RAM di sistema il contenuto di una o più ROM, rimappando opportunamente gli indirizzi. In questo modo, ogni volta che il sistema operativo richiede una routine contenuta in quella ROM, l'accesso avviene invece dalla più veloce RAM. Questo procedimento comporta una diminuzione della quantita' di RAM disponibile (parte verra' appunto occupata dal contenuto delle ROM), percio' occorre valutare bene quali ROM convenga sottoporre a shadowing.
La piastra madre e la CPU
All’interno del cabinet, la prima componente che dovrebbe attirare la nostra attenzione è una vasta piastra piena di componenti elettroniche di tutti i tipi. Si tratta della cosiddetta piastra madre, la scheda che raccoglie in maniera efficiente e compatta la maggior parte delle componenti fondamentali di ogni computer: il microprocessore, che costituisce il vero ‘cervello’ del computer, e poi la memoria, le porte di comunicazione, e così via. Per capire come è fatta una piastra madre, possiamo aiutarci con le figure seguenti (che rappresentano una tipica piastra madre del 1999).
Figura 1 - una piastra madre

Figura 2 - la struttura interna di una piastra madre
La prima e più importante componente della piastra madre è il microprocessore, ovvero la cosiddetta CPU (Central Processing Unit). Per essere esatti, microprocessore e CPU non sono proprio la stessa cosa: parliamo di microprocessore quando ci riferiamo all’oggetto fisico che si trova nel nostro computer (e ormai anche in moltissimi altri dispositivi, dalle automobili ai televisori, dalle macchine fotografiche agli impianti HI-FI…), mentre quello di CPU, ovvero di unità di elaborazione centrale, è soprattutto un concetto logico-funzionale. Concretamente, comunque, la CPU è per così dire ‘incarnata’ dentro un microprocessore (magari insieme ad alcune componenti aggiuntive), e nella maggior parte dei contesti i due termini possono essere usati in maniera quasi intercambiabile.
Ma cosa fa la CPU? La CPU corrisponde un po’ alla ‘fabbrica’ che lavora sulle informazioni, o meglio, alla catena di montaggio di questa fabbrica. Essa infatti lavora per lo più trasferendo (copiando) informazioni in formato digitale dalla memoria del computer a dei piccoli ‘scaffali di lavoro’ disponibili al suo interno, i cosiddetti registri; leggendo quindi i valori che trova nei registri, modificandoli se necessario in base alle regole previste dal programma che sta eseguendo, e quindi trasferendo nuovamente nella memoria i valori eventualmente modificati. Fra i registri dei quali dispone la CPU, ve ne saranno alcuni destinati a contenere i dati sui quali il processore sta lavorando, altri che conterranno - sempre in forma codificata - le istruzioni che il processore deve eseguire, mentre un registro ‘contatore’ si occuperà di controllare l’ordine con il quale vengono eseguite le istruzioni del programma, tenendo nota di quale istruzione il processore sta eseguendo in quel determinato momento.
Molte istruzioni di programma richiedono l’intervento di una componente particolarmente importante della CPU, l’Unità Aritmetico-Logica o ALU: come dice il suo nome, la ALU compie le principali operazioni aritmetiche e logiche (ad esempio, somma numeri binari, confronta due valori, o controlla se alcune condizioni previste dal programma siano o no soddisfatte).
Abbiamo accennato alla necessità di disporre di registri per i dati, e di registri per le istruzioni e per il contatore (questi ultimi faranno parte della cosiddetta unità di controllo, il sottosistema della CPU che deve identificare e controllare l’esecuzione di un’istruzione). Abbiamo parlato anche della unità aritmetico-logica, la ALU. Resta da ricordare che i bit che vanno avanti e indietro dai registri e sui quali lavorano l’unità di controllo e la ALU hanno naturalmente bisogno di canali attraverso cui viaggiare: si tratta dei cosiddetti bus; l’architettura di un computer dovrà naturalmente prevedere diversi tipi di bus per lo scambio di dati: alcuni interni alla CPU, altri fra la CPU e le altre componenti del computer. I bus di dati sono strade di comunicazione assai trafficate, e l’efficienza e la velocità di un computer dipenderanno anche dalla loro ‘portata’: un numero maggiore di ‘corsie’ permetterà di far viaggiare contemporaneamente più bit, e migliorerà la velocità del sistema.
Quanto abbiamo detto finora non basta certo a dare una rappresentazione completa e rigorosa del lavoro interno alla CPU, ma speriamo possa fornirne almeno un’idea: nel cuore del nostro computer lavora un’attivissima fabbrica impegnata nella continua elaborazione di dati in formato binario (rappresentati cioè da lunghe catene di ‘0’ e ‘1’); attraverso le vie di comunicazione costituite dai bus, la materia prima arriva dall’esterno sotto forma di dati binari in entrata; viene poi ‘lavorata’ in accordo con le istruzioni del programma, e viene infine nuovamente ‘spedita’ verso l’esterno. Resta da dire che i ritmi di lavoro della fabbrica sono scanditi dall’orologio della CPU (più ‘veloce’ è questo orologio, più rapidamente vengono eseguiti i compiti richiesti), e che le capacità di elaborazione della fabbrica dipendono direttamente dall’insieme di istruzioni che il processore può riconoscere ed eseguire: ogni programma costruito per essere eseguito da un particolare processore deve essere basato su comandi tratti dal relativo ‘set di istruzioni’.
Figura 3 - Una CPU, inserita all'interno dello slot verticale che la ospita nella piastra madre.
Anche chi non utilizza normalmente un computer sa probabilmente che per identificare le caratteristiche di questa o di quella macchina si utilizzano spesso e volentieri sigle piuttosto arcane: Pentium III 500, Celeron 233, PowerPC G3, e chi più ne ha più ne metta. Ebbene, non di rado le sigle che trovate associate ai diversi computer indicano, oltre al nome del processore, la sua ‘frequenza di clock’, ovvero la sua ‘velocità’, espressa in megahertz. Il processore al momento più diffuso è il Pentium della Intel. E un Pentium II 200 avrà un orologio interno che cammina alla velocità di 200 megahertz, e sarà un po' più lento di un Pentium II 300, e parecchio più lento di un Pentium II 400.
Nel corso del tempo, la frequenza di clock dei processori è andata continuamente aumentando: pensate che i processori dei primi personal computer IBM avevano una frequenza di clock di poco superiore a 4 megahertz, mentre oggi non è infrequente trovare processori con frequenza di clock pari a 500 megahertz o superiore.
Naturalmente, il fatto che la CPU lavori così velocemente porta anche dei problemi: ad esempio, le CPU di oggi, lavorando a una frequenza molto alta (‘molto velocemente’), sviluppano anche molto calore. Ed ecco che diventa essenziale ‘raffreddare’ le CPU; un sistema spesso usato è quello della sovrapposizione alla CPU stessa di una piccola ventola a motore. Altrimenti? Altrimenti, surriscaldata, la CPU potrebbe lavorare male, o guastarsi del tutto.
Abbiamo parlato della ‘frequenza di clock’ come di uno degli indici della velocità di un processore. Ma ricordiamo che la potenza effettiva di un processore non dipende solo dalla sua frequenza di clock. Dipende anche dal numero e dal tipo di istruzioni che il processore è in grado di eseguire.
Abbiamo detto che la CPU è la più importante fra le componenti che troviamo sulla piastra madre. Ma dove si trova la CPU? Nella piastra madre rappresentata dalla Figura 2, essa viene inserita nella fessura (slot) situata in alto a destra e marcata come slot one. In altre piastre madri, la CPU può essere invece inserita in un apposito alloggiamento (socket) orizzontale, in genere di forma quadrata. Alcune piastre madri permettono di alloggiare due CPU, che si divideranno il lavoro migliorando le prestazioni del computer. Il fatto che la CPU non sia saldata alla piastra madre, ma inserita in un apposito slot permette all’occorrenza di sostituirla, magari con un modello più recente (che in questo caso dovrà però essere progettato in modo da adattarsi allo slot già esistente).
Le ‘porte’ della piastra madre
Sopra lo slot nel quale alloggia la CPU, troviamo le porte di comunicazione verso l’esterno; attraverso di esse, i dati possono raggiungere periferiche come stampante, tastiera, mouse, schermo, modem (e magari per questa via altri computer collegati alla rete Internet) e così via.
Le porte che vedete indicate sono la porta parallela (utilizzata in genere per il collegamento di una stampante, e per i modelli più economici di scanner) e quella seriale (alla quale possono essere collegati modem, mouse e altri dispositivi), la porta USB (Universal Serial Bus) che costituisce un’alternativa recente e più veloce alla porta seriale, e permette di collegare ‘a cascata’ molteplici periferiche (fra l’altro schermo, telecamere, scanner, mouse, tastiere…), e la porta PS/2, usata spesso per il collegamento del mouse. Naturalmente, queste porte sono collegate alla CPU attraverso bus di dati che ‘corrono’ lungo la piastra madre; per evitare una eccessiva confusione dello schema, nell’immagine i bus di dati non sono evidenziati, ma dovete pensare a tutta la piastra madre come percorsa da una fitta ragnatela di strade di comunicazione che ne collegano le diverse componenti.
Sotto lo slot del processore troviamo il chip di controllo della AGP (Accelerated Graphic Port); la AGP è un canale dedicato a far circolare in maniera veloce unicamente i dati grafici. Le applicazioni multimediali più recenti - e soprattutto i giochi, particolarmente ‘affamati’ di grafica ricca e dettagliata - richiedono infatti la generazione e l’aggiornamento continuo delle immagini inviate allo schermo. Ecco allora che un canale dedicato esclusivamente al passaggio dei dati grafici può rivelarsi prezioso, specialmente se affiancato da una buona scheda grafica in grado di aiutare la CPU nella loro gestione.
A fianco della AGP, nella parte superiore sinistra della piastra madre rappresentata nella Figura 2 troviamo degli altri slot, marcati come ISA e PCI: si tratta di alloggiamenti nei quali possono essere inserite schede di espansione (ad esempio schede sonore, grafiche, video, ecc.). Le sigle ISA e PCI identificano due standard diversi: lo standard PCI (Peripheral Component Interconnect) è più recente, e permette una comunicazione più veloce fra la scheda e la piastra madre; lo standard ISA (Industry Standard Architecture) è più antico, era già presente sui primi personal computer IBM, e pur se meno efficiente, proprio per la sua natura di standard diffuso ha continuato ad essere utilizzato negli anni successivi (spesso nella versione ‘estesa’ rappresentata dall’Extended ISA o EISA).
Figura 4 - Una scheda di espansione
Memoria
Un’altra componente fondamentale della piastra madre sulla quale vale la pena di soffermarsi è la memoria. La CPU ha bisogno di memoria esterna, di molta memoria esterna sulla quale conservare (nel solito formato digitale!) i dati di lavoro, le istruzioni dei programmi che sta eseguendo, e così via. La memoria utilizzata dalla CPU può essere di vari tipi: memoria ‘a portata di mano’, disponibile sulla piastra madre, e alla quale è dunque possibile accedere, in lettura e scrittura, in maniera molto veloce, e memoria esterna alla piastra madre, sotto forma di dispositivi di memoria di massa come i floppy disk, i dischi rigidi, i CD-ROM, i DVD ecc.
Ci soffermeremo più avanti sulla memoria ‘esterna’; per ora concentriamoci su quella direttamente innestata nella piastra madre. A sua volta, essa può essere di vari tipi; il deposito più capiente è quello rappresentato dalla cosiddetta RAM (Random Access Memory), dove mentre usiamo il computer viene conservata, momento per momento, la gran parte dei dati sui quali stiamo lavorando e delle istruzioni relative ai programmi che stiamo usando. Se ad esempio stiamo utilizzando un programma di videoscrittura, la RAM conterrà il testo che stiamo scrivendo (o una larga parte di esso) e i moduli fondamentali del programma che stiamo usando per scriverlo.
La RAM è una memoria volatile: i dati vengono conservati sotto forma di potenziali elettrici, e se spegniamo la spina (o se va via la corrente) vanno persi. Nello schema della Figura 2, la RAM viene inserita negli alloggiamenti (sockets) in basso a destra, subito sopra i connettori per disco rigido e lettore di floppy disk.
Figura 5 - una scheda di memoria RAM, pronta ad essere inserita nell'apposito alloggiamento all'interno della piastra madre
E’ necessario però che sulla piastra madre sia presente, a disposizione della CPU, anche una parte di memoria non volatile, contenente una serie di informazioni fondamentali per il funzionamento del computer. Ad esempio, le informazioni su quali siano i dispositivi presenti sulla piastra madre, e su come comunicare con essi. Queste informazioni non possono essere date ‘dall’esterno’, perché senza di esse la stessa comunicazione con l’esterno è impossibile. Non possono nemmeno essere volatili, perché se lo fossero scomparirebbero al momento di spegnere il computer, e alla successiva riaccensione non sapremmo più come reinserirle, dato che il computer stesso non ‘ricorderebbe’ più come fare per comunicare con l’esterno.
Devono dunque essere a portata di mano, sulla piastra madre, e conservate da una memoria non volatile. Si tratta del cosiddetto BIOS, Basic Input-Output System. La memoria non volatile che conserva questi dati è in genere considerata memoria a sola lettura, o memoria ROM (Read Only Memory), anche se ormai questa denominazione è inesatta: si usano infatti sempre più spesso a questo scopo moduli di memoria non volatile 'aggiornabili' in caso di necessità (flash memory).
Nello schema della Figura 2, la memoria che contiene il BIOS si trova sulla sinistra, subito sotto gli slot ISA.
Talvolta, oltre al BIOS, nella memoria non volatile trovano posto anche veri e propri programmi; è il caso ad esempio di molti computer palmari della nuova generazione (si tratta dell’evoluzione delle cosiddette agendine elettroniche: pesanti qualche centinaio di grammi e in grado di essere portati in una tasca, i computer palmari di oggi sono molto più potenti dei personal computer di sei o sette anni fa). In questo caso, l’installazione in ROM del sistema operativo e dei principali programmi usati consente non solo di averli immediatamente a disposizione, senza aspettare i tempi necessari al loro caricamento da una memoria esterna, ma anche di ridurre il peso della macchina, dato che non servono dispositivi di memoria di massa come dischi rigidi o floppy disk dai quali altrimenti questi programmi dovrebbero essere caricati.
Figura 6 - un computer palmare
Dal momento che stiamo parlando di memoria, conviene aggiungere una annotazione: abbiamo visto come nella piastra madre trovino posto la RAM e la ROM del computer. Negli ultimi anni, tuttavia, si è diffusa l’abitudine a inserire una memoria autonoma di una certa ampiezza anche all’interno del microprocessore; questa memoria, detta memoria cache, trovandosi a portata diretta della CPU è ancor più veloce della RAM installata sulla piastra madre, ed è quindi in grado di migliorare ulteriormente le prestazioni del sistema.
Ma torniamo alle principali componenti che trovano posto nella piastra madre, per concludere il nostro rapido viaggio al suo interno. Non ci manca molto: resta da ricordare che sarà naturalmente necessario un collegamento che porti l’energia elettrica (power connector), e che sarà di norma presente anche una batteria tampone in grado di mantenere aggiornati alcuni dati essenziali (ad esempio la data e l’ora) anche a computer spento.
Misurare la memoria
Abbiamo parlato di memoria. Ma come si misura, la memoria di un computer? L’unità di misura fondamentale dell’informazione è il bit, che corrisponde alla quantità di informazione convogliata dalla scelta fra due sole alternative. Con un solo bit di memoria possiamo rappresentare, ad esempio, lo stato di un singolo interruttore (acceso o spento), o un carattere di un linguaggio composto da due soli simboli. Per fare cose un po’ più interessanti serve molta più memoria! Il passo successivo è il byte, che corrisponde a una ‘parola’ composta da otto bit. Un byte può ‘informarci’ sulla scelta fra 28 = 256 diverse alternative. Può quindi rappresentare ad esempio un carattere scelto da un alfabeto di 256 simboli, un numero intero compreso fra 0 e 255, un colore scelto da una ‘tavolozza’ di 256 colori diversi, e così via.
Le tabelle più diffuse di codifica dei caratteri, come la tabella Iso Latin 1, utilizzano proprio un byte per codificare un carattere. Un carattere di testo, dunque, ‘pesa’ normalmente un byte.
Quanto peserà, allora, una cartella di testo? Se supponiamo che la cartella comprenda circa 2000 battute, essa peserà circa 2000 byte.
Bit e byte sono unità di misura della quantità di informazione, e dato che la capacità di una memoria corrisponde appunto alla quantità di informazione che in essa può essere immagazzinata, bit e byte sono anche le unità di misura di base per esprimere la capacità di immagazzinamento (la ‘dimensione’) di una memoria. Man mano che le dimensioni delle memorie (e della quantità di informazione che vogliamo immagazzinarvi) crescono, tuttavia, diventa scomodo continuare a parlare utilizzando solo unità di misura ‘piccole’ come il bit e il byte.
Ecco allora che, proprio come accade per altre familiari unità di misura, anche in questo caso si fa ricorso a nomi specifici per indicare i principali multipli delle nostre familiari unità di base. A differenza di quanto accade ad esempio nel caso della lunghezza o del peso, tuttavia, nel caso della quantità di informazione non si usa, per la costruzione di queste unità di misura di livello superiore, il sistema decimale. Abbiamo visto infatti che nel campo del digitale è la numerazione binaria, non quella decimale, a fare da padrona. Ecco allora che il Kilobyte (abbreviato come Kb) non corrisponde a 1000 byte ma a 210 = 1024 byte. 2 Kb di testo corrispondono dunque non a 2000, ma a 2048 caratteri (siamo comunque sempre vicini alle dimensioni di una cartella standard). Proseguendo nella scala, troviamo il Megabyte (Mb), che corrisponde a 1024 Kilobyte), e il Gigabyte (Gb), che corrisponde a 1024 Megabyte.
Dispositivi di memoria di massa
La memoria RAM interna al computer diventa sempre più ampia (sono ormai frequenti personal computer equipaggiati con 64 o 128 Mb di RAM), ma come abbiamo accennato si tratta di una memoria volatile, che non è dunque in grado di conservare in maniera permanente dati e programmi. Per quest’ultimo scopo, è bene disporre di depositi di memoria ancor più grandi, dato che vogliamo conservarvi tutti i programmi e tutti i dati che desideriamo avere a nostra disposizione, e non solo quelli che utilizziamo in un dato momento.
Memorie: considerazioni su funzionamento e prestazioni
Prima parte: funzionamento della memoria cache
La memoria centrale e i "colli di bottiglia" - Cache memory: come e perché
Nuove soluzioni tecniche come cache sincrona o pipelined burst, EDO RAM, SDRAM, WRAM, integrazione on-chip della cache di secondo livello e così via riportano alla ribalta un argomento, quello dei timing delle memorie, che su BETA non ha ancora trovato una trattazione organica.
Converrà introdurre l'argomento ricordando il ruolo delle memorie in un moderno PC.
Il compito della CPU consiste nell'eseguire continuamente, alla massima velocità possibile, istruzioni che manipolano dati.
Sia le istruzioni, sia i dati su cui queste operano, sono contenuti nella memoria centrale del computer e vengono prelevati dalla CPU man mano che l'elaborazione va avanti. E' opportuno sottolineare che la CPU non è in grado di eseguire istruzioni o manipolare dati che non siano presenti nella memoria centrale: non può , ad esempio, prelevarli direttamente da memorie di massa o da ROM.
Una CPU moderna viaggia a frequenze molto elevate, tipicamente tra i 100 e i 200 Mhz (= milioni di cicli di clock al secondo); inoltre, è in grado di eseguire le istruzioni più comuni in pochi cicli di clock, spesso addirittura in un solo ciclo.
Risulta evidente, allora, come lo scambio di dati con la memoria centrale assumerà un ruolo fondamentale nelle prestazioni di un sistema: se non si ha una buona efficienza nei trasferimenti di dati ed istruzioni da e verso la CPU, anche la più veloce di esse non potrà che fornire prestazioni insoddisfacenti, dovendo continuamente attendere che i dati giungano a destinazione.
Le CPU per PC usate oggi hanno un'architettura interna a 32 bit e un bus dati di 64 bit, quindi di per sè potrebbero tranquillamente sostenere throughput di dati molto elevati (nonostante un accesso alla memoria richieda comunque un minimo di 2 cicli di clock); ma costruire memorie centrali in grado di "star dietro" ad un simile traffico costerebbe moltissimo, risultando per di più incompatibile con le concorrenti esigenze di compattezza e dissipazione del calore (ricordiamo che sul mercato sono disponibili da tempo schedine SIMM in grado di contenere 32 MB di memoria, il tutto su un'area di pochi centimetri quadrati).
L'esigenze di mediare tra costi e prestazioni ha portato, dalla seconda metà degli anni '80 (in coincidenza con la comparsa dei processori Intel 80386), ad adottare architetture di sistema con impiego di cache memory.
Il principio è quello di interporre, tra la CPU e la memoria centrale, una piccola quantità di memoria ad alta velocità , in grado di "reggere il passo" della CPU e quindi agire da tampone, o se preferite da serbatoio di transito, nei confronti della lenta memoria centrale.
Il concetto di cache non è stato certo inventato allora, dal momento che già alla fine degli anni '70 veniva sfruttato nei sistemi di memoria virtuale dei grossi elaboratori (v. il sistema di paginazione della memoria in MULTICS); tuttavia per la prima volta veniva applicato su larga scala al problema specifico del collo di bottiglia tra CPU e RAM, e con ottimi risultati, al punto che oggi una certa quantità di cache memory viene direttamente integrata in tutte le CPU.
Il principio su cui si basa il successo della cache è noto come principio di localizzazione: la CPU tende, in media, a prelevare istruzioni e dati da locazioni di memoria abbastanza vicine tra loro, a causa della struttura stessi dei programmi e dei metodi di allocazione della memoria usati dai compilatori: questo principio fa sì che, per un certo periodo di tempo, la zona di memoria interessata dal lavoro della CPU (working set) sia abbastanza limitata, al punto da poter essere "copiata" in una piccola quantità di memoria molto veloce, appunto la cache memory (sullo stesso principio si basano i sistemi di caching delle memorie di massa, che siano software come SMARTDRIVE o hardware come le memorie installate a bordo delle unità stesse e dei "controller intelligenti").
Per un certo periodo di tempo, dunque, la CPU potrà prelevare i dati di cui ha bisogno direttamente dalla cache memory, senza chiamare in causa la memoria centrale e quindi senza lunghe attese. Un principio analogo (anche se con maggiore approssimazione) vale per le scritture (movimento di dati dalla CPU alla memoria).
Esistono diversi metodi di caching, e quindi diverse architetture di cache memory: le distinzioni principali si fanno per metodo di mappatura della memoria (tramite il quale vengono individuate le categorie: cache a mappa diretta, cache associative e cache associative ad insiemi) e strategia di scrittura (abbiamo dunque le cache write-through e write-back). Le considerazioni che faremo valgono, comunque, in generale.
Per poter funzionare, una cache memory ha la necessità di essere riempita. Il procedimento adottato è il seguente: ogni volta che la CPU ha bisogno di un dato, se esso non è presente nella cache (cache miss) ci viene inserito, leggendolo dalla memoria centrale: la prossima volta che la CPU chiederà quel dato, potrà leggerlo direttamente dalla cache memory.
Per una serie di motivi architetturali (vedi i rimandi sui vari tipi di cache), non è però pratico inserire nella cache un dato (double word, ovvero 32 bit) alla volta: si sceglie allora di aggiornare un'intera linea.
Le dimensioni di una linea (o slot) dipendono da fattori quali le dimensioni della cache; comunque in generale si usa, per gli attuali PC 386/486, una linea da 16 byte (4 double word), che salgono a 32 (4 quad word, da 64 bit) per Pentium e Pentium Pro.
Ricapitolando, dunque, ogni volta che avviene un cache miss occorre leggere dalla memoria centrale un'intera linea (line fill).
In linea di massima, ciò suona poco efficiente: considerando che una lettura da memoria centrale può richiedere diversi cicli di clock, 4 letture per cache miss potrebbero costituire un pedaggio un po' troppo alto, nonostante l'elevata percentuale di successo (hit rate) assicurata generalmente dai sistemi di cache.
Per ridurre questo problema prestazionale, viene utilizzata una tecnica denominata burst read.
Considerando la struttura in cui è organizzata la memoria cache (mappatura), e il principio di localizzazione prima ricordato, appare chiaro come ogni cache line sia costituita da 4 "parole" consecutive, ovvero occupanti, nella memoria centrale, posizioni adiacenti.
Ciò significa che, una volta conosciuta la posizione di una parola della linea, quella delle altre 3 è facilmente ricavibile: non c'è alcun bisogno di richiedere esplicitamente tutti e 4 gli indirizzi!
Questo permette di risparmiare tempo: una volta richiesto il primo indirizzo, il chip che sovrintende al funzionamento della cache (la stessa Memory Unit della CPU se la cache è integrata, uno degli integrati che costituiscono il chipset della mother board se parliamo di cache esterna) preleva automaticamente dalla memoria le altre 3 parole e l'intera operazione impiega un minor numero di cicli di clock.
Più in dettaglio: la prima delle 4 parole viene letta in modo convenzionale, per cui richiederà un certo numero M di cicli di clock; le 3 letture successive non richiederanno la generazione ex-novo dell'indirizzo, per cui richiederanno ciascuna un numero N di cicli di clock, con N
o anche nella forma
C>
Oltre alla forma, anche la lettera può variare. Se invece di caricare il sistema presente sul disco rigido, avessimo acceso il computer con un floppy da 5,25 pollici o un dischetto da 3,5, avremmo una “A” oppure una “B” a seconda della configurazione del computer.
Questo simbolo si chiama prompt, e viene visualizzato sul monitor dal DOS per segnalare di essere in attesa di un comando. Come abbiamo appena visto, non solo il DOS ci dice di essere in attesa di un comando, ma anche su quale disco stiamo lavorando.
Nel corso di questo libro dimostreremo i comandi del DOS utilizzando entrambi i tipi di dischetti. Immaginiamo quindi di avere un computer che abbia come drive “A” quello da 5,25 e come drive “B” quello da 3,5 pollici. Nel vostro personal potreste anche avere un solo drive e l’identificazione potrebbe non coincidere. I comandi del DOS, comunque, avranno le stesse regole e lo stesso funzionamento.
Avendo
C>
sul monitor, immettiamo un dischetto da 3,5 nell’apposito drive. Digitiamo
C> B:
e premiamo il tasto “Invio”, chiamato anche “Return” o contrassegnato da una freccia che torna indietro. Il DOS comprende che vogliamo spostarci sul dischetto da 3,5 e ci risponde
B>
restando sempre in attesa di un comando. Inseriamo un floppy da 5,25 pollici nel suo drive e digitiamo
C> A:
ed il DOS risponde con
A>
Qualunque sia la lettera presente, il prompt indica sempre che il DOS sta aspettando l’immissione di un comando.
Questo se nel drive esiste veramente un dischetto, se è stato preparato per essere utilizzato, se non è difettoso ed infine se il drive funziona. Altrimenti otterremo un avviso di errore.
Abbiamo così indirizzato il DOS verso il dischetto nel drive A o verso il dischetto nel drive B. Qualunque altro comando noi andremo a digitare, il drive che figura nel prompt è quello sul quale il DOS opererà, sul quale il comando agirà, a meno di non specificare un drive diverso nell’ambito della sintassi prevista.
La sintassi
I comandi del DOS si dividono, come abbiamo visto, in
- interni, se contenuti nel file COMMAND.COM, e risiedono sempre in memoria;
- esterni, se rappresentati da piccoli file registrati su disco nella subdirectory \DOS, e vengono caricati in memoria solo quando devono essere eseguiti.
Entrambi hanno la stessa sintassi:
COMANDO [drive:] [path] [nomefile] [opzioni]
COMANDO è il nome specifico del comando
[ ] le parentesi quadre significano che la parte di comando compresa fra le parentesi non è obbligatoria
drive: è uno dei drive presenti, sul quale si deve svolgere l’azione del comando. Se si omette, il DOS opera sul drive che appare nel prompt. I due punti fanno parte integrante della sintassi
path è l’indirizzamento attraverso le subdirectory. Le “\”, barre inclinate a sinistra, fanno parte integrante della sintassi
nomefile è il nome del file oggetto del comando
opzioni parametri che modificano l’effetto del comando
Regole generali:
dopo il nome del comando, e fra ogni elemento del comando, deve essere dato uno spazio vuoto, premendo la barra spaziatrice;
drive:, path e nomefile possono essere accorpati in un solo elemento, all’interno del quale non bisogna usare lo spazio vuoto;
la successione dei diversi elementi del comando non può essere modificata;
alla fine del comando deve essere sempre premuto il tasto “Invio”, contrassegnato anche come “Return” o con il disegno di una freccia che torna indietro;
i comandi devono essere dati uno per volta, non si possono sommare più comandi sulla stessa riga;
i comandi devono essere digitati prestando attenzione ai caratteri speciali come “\” (barra inclinata a sinistra), “/” (barra inclinata a destra), “|” (barra verticale), “>” (maggiore), “+” (più), “-” (meno), “:” (due punti), “;” (punto e virgola), “,” (virgola), “?” (punto interrogativo), “*” (asterisco) e “=” (uguale);
le indicazioni di drive:, path e nomefile possono essere ripetute, in alcuni comandi, più volte;
si possono indicare più opzioni per lo stesso comando, ma se rappresentano parametri che si annullano, l’ultima è quella che prevale;
nomi dei comandi, drive:, path ed opzioni possono essere digitati sia con lettere maiuscole che minuscole;
se, digitando un comando, si compie un errore di battitura, si può tornare indietro sulle lettere appena scritte con il tasto “Backspace”, chiamato anche “Ritorno unitario”, che si trova sulla tastiera in alto a sinistra e che è contrassegnato da una freccia verso sinistra. Ogni volta che si preme questo tasto, si cancella una lettera verso sinistra e, appena cancellata la parte errata, si può riprendere a scrivere il comando;
se si vuole bloccare l’esecuzione di un comando, è necessario premere il tasto “CTRL” e la lettera “C” contemporaneamente. Il comando non può riprendere l’esecuzione;
se si vuole solo sospendere l’esecuzione di un comando, è necessario premere il tasto “CTRL” e la lettera “S” contemporaneamente. Premendo un qualsiasi altro tasto, il comando riprende l’esecuzione.
Ora un minimo di convenzioni per poter rendere più leggibile questo libro.
Quando indichiamo un comando:
C> COPY C:\LETTERE\NOMEFILE B:\COPIE\LETTERE
deve essere digitata solo la parte in neretto, seguita da “Invio”. La prima parte della riga rappresenta il prompt del DOS, che potrebbe essere leggermente diverso sul vostro computer.
Come già detto, i comandi possono essere digitati sia in lettere maiuscole che minuscole.
Quando indichiamo la sintassi di un comando:
COMANDO [drive:] [path] [nomefile] [opzioni]
non devono essere digitate le parentesi quadre.
Un comando subito utile
Uno dei comandi introdotti con il DOS 5 è il seguente.
HELP
Mostra sul monitor una spiegazione di ciascun comando DOS, la sua sintassi ed il significato delle opzioni utilizzabili.
sintassi: HELP comando
il comando è uno qualsiasi dei comandi DOS.
Esempio:
C> HELP DIR
mostra il significato del comando “DIR”, la sua sintassi e le opzioni a disposizione.
Un’opzione sempre presente
Parlando della sintassi dei comandi DOS, abbiamo visto che sono presenti delle opzioni, cioè dei parametri che modificano l’effetto del comando al seguito del quale sono stati digitati.
Il DOS 5 ha introdotto un’opzione valida per tutti i comandi.
Digitiamo
C> DIR /?
otteniamo lo stesso effetto del comando “HELP”: appare sul monitor una spiegazione del comando, la sua sintassi, ed il significato delle opzioni utilizzabili.
Questo parametro è a disposizione di qualunque comando DOS e deve essere usato da solo, senza alcuna indicazione di drive:, path, nomefile od altre opzioni.
Quando, nel corso di questo libro, indichiamo i parametri a disposizione di ciascun comando, non indicheremo mai l’opzione “/?”, ma è utile tenere presente che in caso di dubbio sulla esatta sintassi di un comando è sempre possibile utilizzarla.
Problemi di vocabolario
La presenza di un aiuto sempre disponibile su schermo (con il comando “HELP” o con l’opzione “/?”) è molto importante, e costituisce uno dei punti di forza del DOS 5.
Come avete già potuto constatare, tutti i comandi e le parole chiave del DOS sono in inglese. Non è possibile una traduzione nelle varie lingue, a meno di apportare un consistente mutamento al COMMAND.COM, con il rischio di creare tanti piccoli sistemi operativi, uno per ogni lingua, incompatibili fra loro. Il costo di poter avere a disposizione migliaia di programmi, a basso costo proprio perché venduti in migliaia di copie in tutto il mondo, è di dover convivere costantemente con un sistema operativo che parla una lingua straniera.
Con questa innovazione, i comandi restano sempre in inglese anche nella edizione italiana del DOS, ma almeno le schermate di spiegazione sono nella nostra lingua
1

Esempio