Un viaggio all'interno del computer
Definizioni generali
· Hardware: (hard = duro). Comprende tutto ciò che fa parte della circuiteria.
· Software: (soft = molle). Comprende tutto ciò che fa parte di programmi e dati. La traduzione letterale è “molle”, ma qui assume il significato di “astratto”.
Periferica: comprende qualsiasi apparecchiatura interfacciata (collegata) all’unità centrale. Le caratteristiche generali di una periferica descrivono se essa può solo inviare i dati, solo riceverli o inviarli e riceverli. In caso di sola ricezione o invio si dice che la periferica è unidirezionale di sola lettura o di sola scrittura, altrimenti si dice bidirezionale.
Le strade dell'informazione (BUS)
Per inviare e
ricevere i dati dall’unità centrale (il processore) alle periferiche
viene utilizzato un canale detto BUS DATI.
Il bus dati risiede sulla scheda madre (mainborad) ed è costituito da una
serie di collegamenti elettrici che rappresentano ognuna un’informazione
diversa. Sentir dire che il proprio computer ha un bus a 8, 16, 32 o 64
bit
vuol dire che per ogni istruzione inviata o ricevuta all'unità centrale
viaggiano 8,16, 32 o 64 descrittori dell’informazione. Quindi la “potenza” o in
termine tecnico banda passante di un computer può essere dedotta anche
dalla capacità del bus dati. Attraverso i suoi canali e per mezzo del clock
(una specie di orologio interno che sincronizza gli eventi), il bus dati
permette il passaggio delle informazioni tra le varie periferiche.
Esistono altri bus, come quello delle istruzioni e quello interno al processore,
ma il bus dati è il più importante, perché vanta il pregio di essere
interfacciabile con le schede aggiuntive. Per interfaccia s’intende la modalità
di collegamento, che è stata resa standard dai vari costruttori di hardware.
Schema bus
Le parti più importanti di un computer
Il Processore
La scheda madre
La memoria
Supporti magnetici (dischi)
Altri tipi di supporto per le informazioni
Dispositivi di input
Dispositivi di output
Il modem
Schede audio e acquisizione video
Schede Aggiuntive
Gli slot di
espansione rimasti liberi sulla scheda madre possono ospitare alcune schede
particolari adatte per scopi specifici e dette “dedicate”. Per esempio si può
collegare al computer un registratore di cassa, un lettore di schede magnetiche
(come accade per il bancomat), un macchinario come il tornio o strumenti di misura
come gli oscilloscopi. Queste schede, per funzionare (e far funzionare le
apparecchiature ad esse collegate) sono corredate di appositi programmi di
gestione che s’incaricano di elaborare i dati inviati o ricevuti dalle
apparecchiature.
Altre schede non “dedicate”,
ma non presenti su tutti i computer sono le schede di rete. Esse permettono di
collegare più computer tramite un cavo coassiale (come il cavo per l’antenna TV)
ed attraverso questo cavo le informazioni transitano in modo simile a quanto
accade sulla linea telefonica. La scheda di rete è per molti versi simile al
modem, ma più veloce, sicura ed economica. Fino a dieci anni fa circa non
esistevano le schede di rete e per creare una Workstation (stazione di lavoro)
bisognava munirsi di un Mainframe (computer principale), funzionante come
server
e dei terminali (schermi a cui è collegata direttamente la tastiera) funzionanti
da client. Il computer vero e proprio era uno solo ed i dati venivano condivisi
tra tutti gli operatori. Un primo passo per migliorare la situazione fu
introdotto con le schede di rete, ma la tecnologia dell’epoca permetteva di
collegare un solo computer (server) ad altri computer (client). Le
informazioni venivano elaborate più in fretta, ma i dati erano comunque in comune. Oggi le schede di rete
permettono di collegare più computer in cascata ed ognuno di essi può funzionare
come server o client a seconda che stia inviando o richiedendo i dati, che sono
locali e possono essere resi pubblici solo se l’administrator (operatore)
configura il computer in modo che gli altri li possano manipolare (in lettura
e/o in scrittura). In oltre essendo elaborati in loco, la trasmissione risulta
ancora più veloce.
DMA e IRQ
La gestione del
bus dati è un compito che spetta alla CPU, ma quando la quantità di dati è
elevata succede che tutte le altre operazioni svolte dalla CPU vengono rallentate
in modo molto evidente ed il funzionamento di tutto il sistema ne risente in termini di prestazioni
generali e velocità. A questo proposito sono stati studiati due meccanismi per
la gestione delle informazioni: il DMA (Direct Memory Access) e l’IRQ (Interrupt
ReQuest). I canali DMA sono gestiti da un controller (processore) dedicato,
montato sulla scheda madre ed interfacciano direttamente la memoria RAM con la
scheda o il dispositivo. Le informazioni non vengono gestite dalla CPU, che
può così continuare ad eseguire il normale flusso del programma. Un tipico
utilizzo dei canali DMA riguarda la scheda audio, tramite i quali essa può riprodurre suoni
registrati leggendoli dal CD o dall’Hard disk mentre per esempio vi è in
funzione il gioco di cui fanno parte. Senza il DMA non sarebbe possibile
visualizzare scorrevolmente il gioco e contemporaneamente controllare le mosse
del giocatore, perché la CPU sarebbe impegnata a suonare.
In alcuni casi, però, è necessario che la CPU si occupi delle informazioni per
la periferica. Questo accade per esempio quando viene premuto un tasto del mouse
o della tastiera o quando la scheda audio deve ricevere il comando di inizio
riproduzione. Se la CPU è impegnata ad eseguire il programma, raccoglierà il
verificarsi di questi eventi solo nei buchi provocati dalle istruzioni che la
mettono in attesa di dati. A questo proposito è stato introdotto l’IRQ
(richiesta d’interruzione). Quando viene emesso un segnale di IRQ la CPU
abbandona il programma in esecuzione e salva il contenuto dei registri in una
memoria temporanea, esegue l’istruzione richiesta e ripristinando i valori nei
registri, torna successivamente al normale flusso del programma. Ogni IRQ ha una
priorità stabilita dal valore del proprio livello, espresso con un numero
intero.
Per esempio, per utilizzare il mouse, il sistema si comporta nel seguente
modo:
1. inizialmente viene lanciato un segnale di
IRQ (livello 33) alla CPU, che recupera i dati necessari dal BIOS ed inizializza
il mouse creando ad esempio la freccetta per il puntatore;
2. a questo punto, dello spostamento del
puntatore se ne occupa il canale DMA. Il programma può scorrere senza
interruzioni;
3. quando viene premuto un tasto viene lanciato
di nuovo il segnale IRQ e la CPU stabilisce quale pulsante è stato premuto o
rilasciato e per quanto tempo;
4. il controllo torna nuovamente al DMA ed il
programma prosegue come al punto 2.
Torna alla Home page Torna a Nozioni di base