(Da una chiacchierata amichevole con i miei tre allievi speciali, Cecilia, Antonella, e Franco.)
Il computer è un dispositivo fisico capace, in base ad un programma, di elaborare dati e fornire risultati in modo sicuro, veloce ed affidabile.
A livello fisico (hardware), il computer, essenzialmente, è formato dalle seguenti parti:
1. Memoria Centrale.
2. Processore.
3. Memoria di massa (hard disk).
4. Bus di sistema.
5. Dispositivi di Input e di Output.
Ma non ha senso parlare di computer senza un programma (software).
Un computer nasce per eseguire programmi: un computer senza un programma da eseguire è inutile.
Esistono moltissime tipologie di programmi. Un insieme di programmi (pacchetto) importantissimo è il cosiddetto Sistema Operativo. Quando si accende il computer, il Sistema Operativo è il primo programma a salire in Memoria Centrale, pronto ad assecondare tutti i comandi di routine dell’utente (gestione dei file, stampa, ecc). Poi c’è la categoria delle Applicazioni (programmi applicativi), come Word, Excel, Access, programmi di grafica, di presentazione, ecc. Poi ci sono i programmi degli sviluppatori, specifici per determinati scopi, ecc.
Ma parleremo altrove del software.
Ora, occorre descrivere brevemente le suddette 5 parti del computer.
Memoria Centrale.
Un programma è formato da istruzioni.
Istruzioni e dati risiedono nella Memoria Centrale (RAM, Random Access Memory) del computer. Maggiore è la capacità della RAM, e maggiore è la potenza del computer.
Processore.
Il Processore (o CPU, Central Processing Unit) svolge la funzione di eseguire le istruzioni del programma che risiedono nella RAM, una per volta, dalla prima all’ultima.
Per fare ciò, il processore si avvale delle sue componenti interne, che sono:
1. L’ Unità di Controllo (CU, Control Unit), che, per ciascuna istruzione esegue un ciclo macchina delle seguenti tre operazioni: lettura dell’istruzione, sua decodifica, e successiva esecuzione
1.1. La decodifica avviene in linguaggio macchina (linguaggio Assembler), molto vicino al solo linguaggio che il computer conosce, formato da una successione di valori 1 e 0, detti bit, corrispondenti allo stato fisico di passaggio/non passaggio di corrente, e di cui parleremo in seguito.
2. Il clock (orologio interno del computer), per sincronizzare le varie operazioni.
2.1. La frequenza di clock è assicurata dal fatto che ad ogni impulso di clock l’unità di controllo esegue un ciclo macchina. Di conseguenza, maggiore è la frequenza di clock (oggi dell’ordine dei Ghz), e maggiore è la velocità e potenza del computer.
3. L’ ALU (Aritmetic-Logic Unit, Unità Aritmetica Logica). Si occupa di eseguire le operazioni di tipo aritmetico/logico:addizione, sottrazione, moltiplicazione, divisione; nonché confronti, ad esempio, maggiore di, minore di, ecc.
4. I Registri generali e speciali:
4.1. I Registri generali (8, o 16, o 14) sono unità di memoria piccole, ma velocissime, che funzionano da memorie temporanee per contenere gli operandi delle istruzioni e i risultati parziali durante l’esecuzione delle istruzioni.
4.2. I Registri speciali, come il Program Counter (PC) che, all’inizio dell’esecuzione di un programma viene caricato con l’indirizzo della prima istruzione di quel programma, e che poi, ad ogni istruzione eseguita, viene modificato per contenere l’indirizzo della istruzione successiva, e così di seguito fino all’ultima istruzione del programma. E ancora: a) l’Instruction Register (IR), che contiene l’istruzione correntemente in esecuzione; b) il Registro Indirizzi Memoria (MAR) che contiene l’indirizzo della cella da cui leggere o in cui scrivere un dato; il Registro dati Memoria (MDR), che contiene il dato letto dalla memoria o da scrivere in memoria, ecc.
In definitiva, questi registri (generali e speciali), lavorando assieme, facilitano il funzionamento del processore.
Memoria di massa (Hard Disk Drive, HDD).
L’hard disk, o memoria di massa, o disco rigido, è il dispositivo che utilizza uno o più dischi magnetici per l’archiviazione dei dati (per dati, ci si riferisce a tutto: sistema operativo, programmi, documenti, canzoni, immagini, ecc.)
L’hard disk è costituito fondamentalmente da più dischi sovrapposti (pila di dischi), rivestiti di materiale ferromagnetico, che ruotano velocemente (15.000 giri al minuto, e anche più), e da due testine per ogni disco (una per lato), le quali, durante il funzionamento “volano” sfiorando la superficie del disco (senza mai toccarla), leggendo e scrivendo i dati. La testina è tenuta sollevata dall’aria mossa dalla rotazione stessa dei dischi.
Le caratteristiche principali di un disco rigido sono:
- la capacità, espressa in gigabyte (1GB = 1 miliardo di byte; 1 byte può essere una lettera dell’alfabeto, o una cifra, o un segno speciale).
- il tempo di accesso (tempo medio necessario perché un dato, residente in un punto casuale del disco, possa essere reperito).
- la velocità di trasferimento (quantità di dati al secondo che il computer è teoricamente in grado di leggere o scrivere sul disco).
Bus di sistema.
Il bus è un canale (connessione) che permette a periferiche e componenti del sistema di dialogare tra loro.
Il bus di sistema si divide in tre bus minori:
· bus dati, utilizzato da tutte le componenti del sistema, e sul quale transitano le informazioni.
- bus indirizzi, attraverso il quale la CPU decide in quale indirizzo andare a scrivere o a leggere informazioni
- bus controlli, insieme di collegamenti il cui scopo è coordinare le attività del sistema; infatti, mediante il bus controlli, la CPU può decidere quale componente deve scrivere sul bus dati in un determinato momento, quale componente deve leggere l’indirizzo sul bus indirizzi, su quali celle di memoria si deve scrivere, e da quali invece si deve leggere.
Dispositivi di Input e di Output (Periferiche).
Se una informazione passa da un dispositivo esterno alla Memoria Centrale, tale dispositivo è di input.
Pertanto, sono classici dispositivi di input la tastiera ed il mouse.
Se una informazione (dato o istruzione o controllo) passa dalla Memoria Centrale ad un dispositivo esterno, tale dispositivo è di output.
Pertanto, sono classici dispositivi di ouput la stampante ed il monitor.
Sono dispositivi sia di input che di output il modem, il router, lo scanner di immagini.
Qualcuno considera l’hard disk una periferica, piuttosto che un componente del computer. Da questo punto di vista, anche l’hard disk deve essere considerato un dispositivo di input/output.
Struttura e funzionamento del processore

Di seguito viene fornita una breve descrizione del funzionamento del processore, ad uso e consumo dei principianti; di conseguenza, essa non è né rigorosa, né completa. (L’ immagine è tratta da una Lez. del Dipart. Univ. Cagliari; in calce, il link)
Quando il programma, caricato in memoria centrale, è mandato in esecuzione, il Program Counter (PC) dell’ unità di controllo viene caricato con l’indirizzo della prima istruzione del programma, e che poi, ad ogni istruzione eseguita, viene modificato per contenere l’indirizzo della istruzione successiva, e così di seguito fino all’ultima istruzione del programma.
A questo punto, conviene ricordare il significato ed il ruolo dei registri IR, MAR, e MDR, che consentono di prendere in esame l’istruzione corrente, che viene passata all’ ALU. Alla fine del ciclo macchina relativo all’istruzione corrente, questa è interpretata, decodificata ed eseguita.
Poi, il PC viene caricato con l’indirizzo dell’istruzione successiva, e vengono ripetuti i passi suddetti, e così di seguito, fino all’ultima istruzione.
Occhio a certi dettagli:
· la CU legge l’istruzione contenuta nell’ IR e la esegue, e tale esecuzione è sicura ed affidabile perché abbiamo il registro di stato PSW, che descrive lo stato corrente della esecuzione, segnalando eventuali errori.
· dalla descrizione di sopra, sappiamo che per ogni istruzione la CU esegue un ciclo macchina di tre step: lettura dell’istruzione (la CU legge l’istruzione nel PC e la trasferisce nell’ IR), dalla sua decodifica, e infine dalla sua esecuzione. Ora, il dettaglio è questo: essenzialmente, in questo secondo step, una istruzione formata di bit, incomprensibili all’uomo, viene decodificata in una istruzione equivalente formata da byte, stavolta intellegibili; in definitiva, la mente umana ha asservito il linguaggio rudimentale, ma velocissimo, del computer (in cui si ha una successione di bit, ciascuno dei quali assume uno solo dei due valori possibili, SI/NO, corrispondente ad uno dei possibili stati fisici del bit, corrente o magnetizzazione, SI/NO ), trasformandolo in una successione di byte, che formano ad esempio le stringhe di una pagina web su un server web o su un server di posta elettronica.
Ci sarebbe tanto da dire.
Ma ci limitiamo a chiudere questo semplice articolo introduttivo con qualche considerazione di carattere culturale (infatti, con i miei tre speciali allievi ho concordato una serie di chiacchierate, basate su un approccio operativo-culturale, piuttosto che tecnico, ed essi vorranno perdonarmi per essere venuto meno alla parola data, ma, d’altronde, l’argomento computer è troppo importante per sottacerne i fondamentali aspetti tecnici).
In sintesi, il computer è la prima ed unica macchina nella storia delle invenzioni dell’uomo ad avere in se, come sua parte costitutiva, una espressione intelligente della mente umana: il programma.
Qualcuno, erroneamente, ha pensato che in un futuro il computer potrebbe entrare in competizione con l’uomo, con la sua mente. Ebbene, allo stato attuale delle cose, ciò è falso. Infatti, qualsiasi programma fa solo ciò per cui è stato istruito a fare, e niente di più o di meno: il programma è perfettamente determinato nelle sue operazioni. Insomma, in breve, a qualsiasi programma esistente su computer manca il meccanismo della creatività, che è invece una prerogativa peculiare ed esclusiva della mente umana.
La mente umana è in assoluto la cosa più complessa esistente nell’universo conosciuto.
Qualsiasi molecola naturale dell’universo conosciuto è strutturalmente molto più semplice del neurone, il mattone del cervello umano.
Ma, mentre il neurone è abbastanza conosciuto, sappiamo ben poco del cervello umano, ed ancora meno della mente umana, e assolutamente nulla dei meccanismi che sono alla base della creatività del pensiero.
Tempo fa, su questo blog, ed anche sul mio sito, scrissi un articolo (peraltro, poco riuscito, data la complessità dell’argomento) su La mente umana.
Conoscere completamente la mente umana è la grande sfida dell’uomo, iniziata in modo consapevole fin da Socrate, e di cui tutti conosciamo il suo grande e profondo assunto: ‘Conosci te stesso’.
Al contrario, del computer si conosce tutto, fin nei minimi dettagli…