1.3 Dentro la scatola
Le componenti chiave dei calcolatori sono i dispositivi di ingresso
(come tastiera e mouse) e i dispositivi di uscita (come schermo e stampanti).
Il flusso di ingresso fornisce dati al calcolatore, mentre quello di uscita corrisponde al risultato
dell'elaborazione inviato all'utente. Alcuni dispositivi, come reti e dischi, gestiscono sia un
flusso di ingresso che uno di uscita.
 |
 |
Anatomia di un mouse
La versione meccanica di un mouse consiste di una grossa sfera montata in maniera tale da
fare contatto con un paio di rotelle, una posizionata lungo l'asse X e l'altra lungo l'asse Y.
Queste rotelle sono connesse a contatori meccanici, oppure fanno muovere una ruota
dotata di fessure attraverso la quale un diodo a emissione di luce (LED, Light Emitting Diode)
invia un raggio ad un sensore luminoso. In entrambe le soluzioni i movimenti del mouse
fanno ruotare la grossa sfera, che fa muovere la rotella sull'asse X o quella sull'asse Y, o
ambedue, a seconda che il mouse sia spostato in direzione verticale, orizzontale o
diagonale. Benchè ci siano molte modalità di gestione per questi dispositivi
di puntamento, nella sostanza gli spostamenti di ciascuna rotella incrementano o decrementano
alcuni contatori posti da qualche parte nel sistema. I contatori servono a registrare di quanto il
mouse sia stato spostato ed in quale direzione.
Attraverso il vetro
Sfruttando la stessa tecnologia del televisore, un video a scansione basato su un
tubo a raggi catodici (CRT, Cathode Ray Tube) scandisce un'immagine una linea
alla volta, da 30 a 75 volte al secondo. A questa frequenza di rinfresco
(Refresh Rate) non si percepisce alcuno sfarfallio sullo schermo.
L'immagine è composta da una matrice di elementi, o pixel, che
può essere rappresentata come una matrice di bit, chiamata bitmap.
A seconda della dimensione dello schermo e della risoluzione, la matrice del video varia in
dimensione da 512x340 a 1560x1280 pixel. Il video più semplice ha un bit per pixel,
consentendo così che questo sia bianco o nero; nei video che supportano 256
sfumature di bianco e nero, vi sono 8 bit per pixel. Un video a colori può usare
8 bit per ciascuno dei tre colori fondamentali (rosso, verde e blu: RGB), per una equivalente
di 24 bit per pixel, permettendo la visualizzazione di milioni di colori diversi.
I calcolatori portatili usano spesso video a cristalli liquidi (LCD, Liquid Crystal Display) al posto dei CRT. In questo
modo si ottiene un video sottile ed a basso consumo. La principale differenza sta nel fatto
che il pixel di un LCD non è una sorgente di luce. Un tipico LCD è formato
da molecole a forma di bastoncino immerse in un liquido, le quali formano un'elica intrecciata
che devia la luce che colpisce lo schermo. Tipicamente, la luce proviene da una sorgente
posta dietro lo schermo. Quando viene applicata una corrente, i bastoncini si allineano e non
deviano più la luce. L'LCD a matrice attiva possiede un piccolo interruttore in
corrispondenza di ogni pixel per controllare con accuratezza la corrente e produrre così
immagini più nitide. Il supporto hardware per la grafica in un calcolatore consiste
principalmente in un buffer di aggiornamento della scansione (frame buffer), che
memorizza la bitmap.
L'immagine che dev'essere rappresentata sullo schermo è memorizzata nel frame buffer
e, per ciascun pixel, il corrispondente vettore di bit è inviato all'elettronica di controllo
del video grafico alla frequenza di aggiornamento.
Lo scopo della bitmap è quello di rappresentare fedelmente ciò che compare
sullo schermo.
Aprendo la scatola
Innanzitutto è possibile vedere una scheda di sottile plastica verde coperta da dozzine
di piccoli rettangoli grigi o neri. La scheda madre compare verticalmente
sul fondo, con un'unità per la gestione del floppy disk e l'alimentatore sulla sinistra.
I piccoli rettangoli sulla scheda madre contengono dei dispositivi denominati
circuiti integrati o chip. La scheda è composta da tre parti: la parte
di connessione con i dispositivi di I/O, la memoria ed il processore. I dispositivi di I/O sono
collegati attraverso le due ampie schede attaccate perpendicolarmente alla scheda madre.
La memoria è il luogo nel quale i programmi sono memorizzati
durante la loro esecuzione. Ciascuna scheda di memoria contiene 8 circuiti integrati. Per
quanto concerne la memoria DRAM (Dynamic Random Access Memory) oggi ne vengono
usate varie per contenere insieme le istruzioni e i dati di un programma. La parte RAM di
suddetto termine indica che, contrariamente a quanto succede nelle memorie ad accesso
sequenziale, come i nastri magnetici, in una DRAM gli accessi alla memoria richiedono
lo stesso tempo indipendentemente dalla porzione di memoria che viene letta.
Per quanto riguarda invece la memoria cache questa consiste in una
memoria piccola, ma veloce, che funge da buffer verso la memoria DRAM.
Il processore è la parte attiva della scheda, quella che esegue
le istruzioni di un programma. Il processore comprende due componenti principali: l'unità
di elaborazione dei dati e l'unità di controllo. L'unità di elaborazione dei dati
esegue le operazioni aritmetiche, mentre l'unità di controllo indica all'unità di
elaborazione, alla memoria e ai dispositivi di I/O che cosa fare a seconda delle istruzioni del
programma.
Si sarà osservato un tema comune nella descrizione del software e dell'hardware: man mano
che si scava in profondità nell'hardware e nel software si scoprono sempre maggiori informazioni
e, viceversa, dettagli di livello inferiore sono nascosti al fine di offrire un modello più
semplice ai livelli superiori. L'uso di tali livelli, o astrazioni, è la
principale tecnica utilizzata nel progetto di sistemi di calcolo estremamente sofisticati.
Uno dei livelli di astrazione più importanti è quello corrispondente all'interfaccia
tra l'hardware ed il software di più basso livello. Data la sua importanza, ad essa è
stato associato il nome di architettura dell'insieme di istruzioni o architettura del
set di istruzioni o architettura dell'elaboratore. L'architettura del set
di istruzioni include tutto ciò che i programmatori hanno bisogno di sapere per creare un
programma in linguaggio macchina correttamente funzionante.
Questa interfaccia standard permette ai progettisti di calcolatori di parlare di funzioni
indipendentemente dall'hardware che le realizza. I progettisti di calcolatori distinguono l'architettura
dall'implementazione dell'architettura utilizzando lo stesso approccio:
un'implementazione è una struttura fisica, un'organizzazione hardware che realizza l'astrazione
prevista dall'architettura.
Molto evidente è nei sistemi Macintosh l'impatto di un cambiamento nell'architettura del
set di istruzioni: i programmi progettati per l'architettura PowerPC non sono eseguibili sulle
macchine basate su 68000 ed i programmi basati su 68000 non sono completamente eseguibili dal
PowerPC. Al contrario la famiglia 80x86 della Intel offre varie implementazioni della stessa
architettura: i programmi scritti per l'8086 nel 1978 possono essere eseguiti sul più recente
PentiumPro.
Un posto sicuro per i dati
Se si fosse sul punto di perdere l'alimentazione del calcolatore, tutto sarebbe perso, dal
momento che la memoria interna al calcolatore è volatile;
quindi quando cessa l'alimentazione essa dimentica tutto.
Al fine di distinguere la memoria usata per immagazzinare i programmi mentre questi vengono
eseguiti e la memoria non volatile usata per memorizzare i programmi tra un'esecuzione e
l'altra, si usa il termine memoria principale per la prima e
memoria secondaria per la seconda. Le DRAM hanno dominato il settore
delle memorie principali, mentre i dischi magnetici hanno dominato quello delle memorie
secondarie.
Esistono due tipi principali di dischi magnetici: i floppy disk e gli hard disk.
Il principio fondamentale alla base del loro funzionamento è lo stesso: un piatto
rotante ricoperto da materiale magnetico in grado di registrare informazioni. La differenza
principale sta nel fatto che il floppy disk è fatto di un materiale flessibile, il mylar, mentre
gli hard disk sono metallici.
Un altro supporto rimovibile è il compact disk ottico, o CD,
che è meno costoso ma più lento di un hard disk. All'estremità
inferiore della scala delle prestazioni stanno i nastri magnetici.
Un'hard disk magnetico consiste di un insieme di piatti, che ruotano attorno ad un'asse ad una
velocità compresa tra i 3600 ed i 7200 giri al minuto; i piatti in metallo sono coperti su
ambedue le facce da materiale magnetico in grado di memorizzare informazioni. Per leggere
e scrivere le informazioni, poco al di sopra di ciascuna superficie è posizionato un
braccio mobile contenente una piccola bobina elettromagnetica chiamata
testina di lettura/scrittura.
L'uso di componenti meccaniche fa sì che i tempi di accesso per i dischi magnetici siano molto
più alti che per le DRAM. Tuttavia, a parità di capacità di immagazzinamento,
i dischi hanno costi molto più bassi di quelle delle DRAM.
Comunicare con altri calcolatori
Attraverso le reti è possibile collegare tra loro i calcolatori, consentendo agli utenti
di estendere le possibilità di calcolo attraverso le comunicazioni. I calcolatori connessi
in rete presentano diversi significativi vantaggi:
- Comunicazioni: i calcolatori scambiano informazioni ad alta velocità.
- Condivisione di risorse: invece di avere macchine con propri dispositivi di I/O,
questi possono essere condivisi in rete.
- Accesso remoto: essendo possibile connettere i calcolatori a grande distanza,
gli utenti non hanno la necessità di essere vicini al calcolatore che stanno usando.
Le reti variano in lunghezza e prestazioni ed il costo della comunicazione aumenta
proporzionalmente sia alla velocità di comunicazione sia alla distanza coperta dalle
informazioni. La rete forse più diffusa è Ethernet; le sue caratteristiche la rendono
adatta alla connessione di calcolatori posti sullo stesso piano di un edificio; di conseguenza
essa è un esempio di quella che è chiamata una rete locale.
Le reti geografiche che attraversano i continenti sono l'ossatura di Internet; esse sono
tipicamente realizzate con fibre ottiche e sono noleggiate dalle società di telecomunicazione.
|