Struttura di un computer

Un computer è un dispositivo elettronico in grado di eseguire calcoli matematici e di prendere decisioni (attraverso determinate condizioni definite dal programmatore) a velocità di milioni di volte al secondo. In questo articolo cercherò di descriverti al meglio la struttura di un computer.

La parola PC sta per personal computer. I primi personal computer sono stati immessi sul mercato dalla Apple (1977). All’epoca erano computer economici molto user-friendly per lo standard di allora. In poche parole non richiedevano molte righe di codice. Oggi i personal computer hanno invaso tutte le nostre case.

Questi computer ormai sono diventati velocissimi, facili da utilizzare e sono predisposti anche per la programmazione.

Struttura di un computer

La struttura dei computer moderni può essere suddivisa in cinque componenti principali.

Unità centrale di elaborazione (CPU)

La CPU, chiamata anche unità di elaborazione o processore, è “il cervello” del computer. Si occupa di fare i calcoli e di controllare tutti gli altri componenti. Decide quando svolgere i calcoli matematici che vengono eseguiti dall’ALU. Oppure quando i dati devono essere inviati all’unità di output. Oggi nei computer contemporanei posseggono più di una CPU, per questo vengono detti sistemi multi-processore.

Il processore è composto da ALU, CU e registri:

  • L’ALU (arithmetic logic unit) o unità aritmetica e logica è l’unità che svolge tutti i calcoli. Quindi addizioni, sottrazioni, divisioni. Inoltre è in grado di svolgere anche decisioni. Cioè è in grado di svolgere confronti tra due dati. Ad esempio di decidere se un dato è maggiore rispetto a un altro.
  • La CU (control unit) o unità di controllo coordina le varie unità nell’esecuzione dei programmi, comandando i segnali di controllo dei registri, dell’ALU e dei bus che si interfacciano con la memoria.
  • I registri sono piccole celle di memoria interne al processore su cui vengono memorizzate le informazioni necessarie per l’esecuzione delle istruzioni.

Con il termine microprocessore si intende un processore realizzato interamente su un unico circuito integrato, chiamato anche chip. Un chip è composta da una piastrina di silicio al cui interno sono presenti milioni di transistor collegati  tra di loro da sottilissimi fili di alluminio. Un transistor è un dispositivo elettronico a due stati: acceso e spento.

Tutte le operazioni di un processore sono sincronizzate tramite un clock, che fornisce una cadenza temporale a cui sono sincronizzate tutte le attività elementari. La velocità di elaborazione della CPU è data dalla frequenza di clock, misurata in hertz (Hz). Ovviamente, maggiore è la frequenza di clock, maggiore sarà la velocità di elaborazione della CPU.

La potenza di un computer dipende anche dalla larghezza del bus della propria CPU, ovvero dal numero di bit che il processore è in grado di ricevere e di elaborare simultaneamente. Oggi tutti i processori sono in grado di elaborare dati rappresentati con 64 bit.

Oggi, all’interno di tutti i processore moderni troviamo anche una piccola memoria RAM molto veloce: la memoria cache. Questa memoria si interpone tra CPU e memoria primaria e permette di migliorare notevolmente le prestazioni del sistema. La memoria cache viene collegata direttamente alla CPU, senza che i dati debbano passare attraverso il bus.

Memoria primaria (RAM)

La memoria primaria (o memoria centrale) ha un accesso molto veloce e una capacità relativamente bassa. Il nome random access (accesso casuale) deriva dal fatto che in una memoria RAM si può accedere ai dati in qualunque posizione si desideri, specificandone l’indirizzo. Viene cancellata ogni volta che si spegne il computer. È, quindi, un deposito temporaneo delle informazioni. La RAM supporta la CPU fornendo dati ed istruzioni rapidamente. La sua peculiarità, infatti, è proprio  la velocità per il supporto alla CPU.

Si tratta di memorie elettroniche relativamente piccole e veloci, volatili, a costo medio alto. La memoria RAM permette la lettura e scrittura ad una velocità nell’ordine delle decine di nanosecondi per parola.

Contiene i programmi durante la loro esecuzione ed i dati relativi. Altrimenti il processore sarebbe per la maggior parte del tempo fermo in attesa di dati dalla memoria e viceversa. La memoria RAM di un computer domestico può contenere fino a qualche decina di GigaByte. Il tempo di accesso alla memoria RAM è dell’ordine di pochi miliardesimi di secondo.

Memoria secondaria

La memoria secondaria (o memoria di massa) è l’opposto della RAM. Infatti ha elevate capacità ma ha un accesso molto più lento rispetto a quello della memoria primaria. Le memorie di massa consentono di archiviare dati e programmi garantendone la reperibilità anche dopo molto tempo di inattività. Le sue peculiarità sono la non volatilità e le elevate dimensioni di archiviazione.

Nello specifico, si tratta di memorie magnetiche e ottiche, molto capienti, persistenti ed abbastanza lente. Le principali memorie di massa sono: disco rigido (HD), SSD, flash memory, CD ROM, DVD e Blu-Ray.

Queste memorie mantengono tutti i dati ed i programmi in attesa di essere eseguiti in modo persistente, anche dopo lo spegnimento del computer.

Bus di sistema

Il bus sistema collega tra di loro tutti gli altri componenti del computer. È una linea a cui sono contemporaneamente connesse tutte le unità del calcolatore e che consente il trasferimento di dati tra tali unità. Tramite il bus la CPU legge (e scrive) dati e istruzioni in memoria, trasferisce dati dalla memoria ai dispositivi di I/O (Input / Output) e viceversa.

Periferiche (o dispositivi di I/O)

Le unità di ingresso/uscita, dette periferiche di input/output permettono di realizzare l’interazione tra l’uomo e la macchina. La loro funzione primaria è quella di consentire l’immissione dei dati all’interno dell’elaboratore (Input), o l’uscita dei dati dall’elaboratore (Output).

  • Le unità di input sono quei dispositivi in grado di trasmettere dei dati ai computer. Generalmente sono mouse, tastiera, microfoni e scanner.
  • Le unità di output sono quelle unità in grado di trasmettere all’utente i dati elaborati, generalmente sono il monitor e gli altoparlanti. Ma si può considerare unità di output anche la stampante. Ricordiamo che i computer sono in grado di trasmettere dati anche nella rete che quindi diventa l’output.

La notazione binaria

Tutte le informazioni scambiate all’interno di un computer vengono rappresentate mediante sequenze di 0 e di 1. L’unità elementare dell’informazione trattata da un elaboratore è chiamata bit (binary digit). La sua rappresentazione logica è rappresentata dai soli valori 0 ed 1.

Per esigenze logiche e costruttive, i bit tra RAM e CPU fluiscono a gruppi di 8. Una sequenza di otto bit è chiamata byte. Il byte (chiamato anche ottetto) è la più piccola unità accessibile singolarmente.

Poi ci sono i multipli dei byte indicati come di seguito:

  • kilobyte (KB) = 1.000 byte
  • megabyte (MB) = 1.000.000 byte
  • gigabyte (GB) = 1.000.000.000 byte
  • terabyte (TB) = 1.000.000.000.000 byte
  • petabyte (PT) = 1.000.000.000.000.000 byte
  • exabyte (EB) = 1.000.000.000.000.000.000 byte
  • zettabyte (ZB) = 1.000.000.000.000.000.000.000 byte
  • yottabyte (YB) = 1.000.000.000.000.000.000.000.000 byte