Un computer digitale è progettato per elaborare dati in forma numerica (vedi circuito digitale); i suoi circuiti eseguono direttamente le operazioni matematiche di addizione, sottrazione, moltiplicazione e divisione. I numeri gestiti da un computer digitale sono espressi nel sistema binario; le cifre binarie, o bit, sono 0 e 1, così che 0, 1, 10, 11, 100, 101, ecc. corrispondono a 0, 1, 2, 3, 4, 5, ecc. Le cifre binarie sono facilmente espresse nel circuito del computer dalla presenza (1) o dall’assenza (0) di una corrente o di una tensione. Una serie di otto bit consecutivi è chiamata byte; il byte di otto bit permette 256 diverse combinazioni on-off. Ogni byte può quindi rappresentare uno dei 256 caratteri alfanumerici, e tale disposizione è chiamata set di caratteri a singolo byte (SBCS); lo standard de facto per questa rappresentazione è il set di caratteri ASCII esteso. Alcune lingue, come il giapponese, il cinese e il coreano, richiedono più di 256 simboli unici. L’uso di due byte, o 16 bit, per ogni simbolo, tuttavia, permette di rappresentare fino a 65.536 caratteri o ideogrammi. Tale disposizione è chiamata set di caratteri a doppio byte (DBCS); Unicode è lo standard internazionale per tale set di caratteri. Uno o più byte, a seconda dell’architettura del computer, è talvolta chiamato parola digitale; può specificare non solo la grandezza del numero in questione, ma anche il suo segno (positivo o negativo), e può anche contenere bit ridondanti che permettono il rilevamento automatico, e in alcuni casi la correzione, di alcuni errori (vedi codice; teoria dell’informazione). Un computer digitale può memorizzare i risultati dei suoi calcoli per un uso successivo, può confrontare i risultati con altri dati, e sulla base di tali confronti può cambiare la serie di operazioni che esegue. I computer digitali sono ora usati per una vasta gamma di scopi personali, commerciali, scientifici e governativi, dai giochi elettronici, e-mail, social network e applicazioni di elaborazione dati e testi al desktop publishing, video conferenze, previsioni del tempo, test simulati di armi nucleari, crittografia e molti altri scopi.
Le operazioni di un computer digitale sono eseguite da circuiti logici, che sono circuiti digitali la cui singola uscita è determinata dalle condizioni degli ingressi, solitamente due o più. I vari circuiti che elaborano i dati all’interno del computer devono operare in modo altamente sincronizzato; ciò si ottiene controllandoli con un oscillatore molto stabile, che funge da orologio del computer. Le velocità tipiche dell’orologio dei personal computer vanno ora da diverse centinaia di milioni di cicli al secondo a diversi miliardi. Operando a queste velocità, i circuiti di computer digitali sono in grado di eseguire centinaia di miliardi di operazioni aritmetiche o logiche al secondo, ma i supercomputer sono in grado di eseguire più di 1 milione di volte più velocemente; tali velocità permettono la rapida soluzione di problemi che sarebbe impossibile per un uomo risolvere a mano. Oltre ai circuiti aritmetici e logici e un certo numero di registri (posizioni di memorizzazione a cui si può accedere più velocemente della memoria principale, o memoria, e sono utilizzati per contenere i risultati intermedi dei calcoli), il cuore del computer, chiamato unità di elaborazione centrale, o CPU?
Associato alla CPU c’è la memoria principale, o memoria, dove i risultati o altri dati sono conservati per periodi di tempo che vanno da una piccola frazione di secondo a giorni o settimane prima di essere recuperati per ulteriori elaborazioni. Una volta composta da tubi a vuoto e più tardi da piccoli nuclei ferromagnetici a forma di ciambella infilati su una matrice di fili, la memoria principale consiste ora in circuiti integrati, ognuno dei quali può contenere miliardi di dispositivi semiconduttori. Dove ogni tubo a vuoto o nucleo rappresentava un bit e la memoria totale del computer era misurata in migliaia di byte (o kilobyte, KB), i moderni chip di memoria del computer rappresentano centinaia di milioni di byte (o megabyte, MB) e la memoria totale dei computer personali e mainframe si misura in miliardi di byte (gigabyte, GB) o più. La memoria di sola lettura (ROM), che non può essere scritta, mantiene il suo contenuto in ogni momento e viene utilizzata per memorizzare le informazioni di controllo del computer. La memoria ad accesso casuale (RAM), che può essere letta e scritta, viene persa ogni volta che il computer viene spento. I computer moderni ora includono la memoria cache, alla quale la CPU può accedere più velocemente della RAM ma più lentamente dei registri; anche i dati nella memoria cache vengono persi quando il computer viene spento.
I programmi e i dati che non sono attualmente utilizzati nella memoria principale possono essere salvati su una memoria ausiliaria o secondaria. Sebbene il nastro di carta perforato e le schede perforate una volta servivano a questo scopo, i materiali principali usati oggi sono il nastro e i dischi magnetici e i dispositivi di memoria flash, da cui si può leggere e su cui si può scrivere, e due tipi di dischi ottici, il compact disc (CD) e il suo successore, il digital versatile disc (DVD). Rispetto alla RAM, questi sono meno costosi (anche se la memoria flash è più costosa degli altri due), non sono volatili (cioè, i dati non vengono persi quando si spegne il computer), e possono fornire un modo conveniente per trasferire dati da un computer all’altro. Così le istruzioni operative o i dati in uscita da un computer possono essere immagazzinati ed essere usati in seguito dallo stesso computer o da un altro.
In un sistema che usa il nastro magnetico le informazioni sono immagazzinate da un registratore a nastro appositamente progettato, un po’ simile a quello usato per registrare il suono. Il nastro magnetico è ora largamente usato per l’immagazzinamento fuori sede di grandi volumi di dati o per il backup di sistemi importanti. Nei sistemi a disco magnetico e ottico il principio è lo stesso; il mezzo magnetico o ottico si trova in un percorso, o traccia, sulla superficie di un disco. L’unità disco contiene anche un motore per far girare il disco e una o più testine magnetiche o ottiche per leggere e scrivere i dati sul disco. Le unità hanno diverse forme, la differenza più significativa è se il disco può essere rimosso dal gruppo dell’unità. I dispositivi di memoria flash, come le unità flash USB, le schede di memoria flash e le unità a stato solido, usano una memoria non volatile che può essere cancellata e riprogrammata in blocchi.
I dischi magnetici rimovibili fatti di mylar racchiusi in un supporto di plastica (le versioni precedenti avevano supporti di carta) sono ormai ampiamente superati. Questi floppy disk hanno capacità variabili, con dischi ad altissima densità che contengono 250 MB, più che sufficienti per contenere una dozzina di libri delle dimensioni di Anna Karenina di Tolstoj. I dischi rigidi magnetici interni ed esterni, o hard disk, sono fatti di metallo e disposti in strati distanziati. Possono contenere molti più dati dei floppy o dei dischi ottici, e possono leggere e scrivere dati molto più velocemente dei floppy. Quando i dischi rigidi sono scesi di prezzo, sono diventati sempre più inclusi come componente dei personal computer e hanno sostituito i floppy disk come supporto standard per la memorizzazione di sistemi operativi, programmi e dati.
I dischi compatti possono contenere centinaia di megabyte e sono stati usati, per esempio, per memorizzare le informazioni contenute in un’intera enciclopedia multivolume o in una serie di opere di riferimento. Il DVD è una tecnologia di memorizzazione ottica migliorata in grado di immagazzinare fino a dieci volte i dati che la tecnologia CD può memorizzare. I dischi CD (Read-Only Memory – CD-ROM) e DVD (Read-Only Memory – DVD-ROM) possono essere solo letti: i dischi vengono impressi con i dati in fabbrica, ma una volta scritti non possono essere cancellati e riscritti con nuovi dati. L’ultima parte degli anni ’90 ha visto l’introduzione di nuove tecnologie di archiviazione ottica: CD-Recordable (CD-R) e DVD-Recordable (DVD-R, DVD+R), dischi ottici che possono essere scritti dal computer per creare un CD-ROM o DVD-ROM, ma possono essere scritti solo una volta; e CD-ReWritable (CD-RW), DVD-ReWritable (DVD-RW e DVD+RW), e DVD?Random Access Memory (DVD-RAM), dischi che possono essere scritti più volte.
I dispositivi di memoria flash, uno sviluppo ancora più recente, sono un’evoluzione della memoria programmabile di sola lettura cancellabile elettricamente. Sebbene sia più costosa delle tecnologie di memorizzazione magnetica e ottica, la memoria flash può essere letta e scritta molto più velocemente, permettendo tempi di avvio più brevi e un accesso e una memorizzazione dei dati più rapidi. Poiché la memoria flash è anche resistente agli urti meccanici ed è diventata sempre più compatta, una chiavetta USB permette l’archiviazione esterna facile e portatile di grandi quantità di dati. Le unità a stato solido sono più facilmente accessibili e scrivibili dei dischi rigidi magnetici e utilizzano meno energia, e sono diventate comuni nei computer portatili di fascia alta e leggeri e nei computer ad alte prestazioni. La memoria flash è usata anche nei tablet e negli smartphone. Le unità ibride, che combinano una minore quantità di memoria flash con un grande disco rigido magnetico, permettono l’archiviazione economica di grandi quantità di dati, beneficiando allo stesso tempo di un accesso più reattivo ai file del sistema operativo e dei programmi usati frequentemente ma modificati solo occasionalmente.
I dati vengono inseriti nel computer e i dati elaborati resi disponibili tramite dispositivi di input/output, chiamati anche periferiche. Tutti i dispositivi di memorizzazione ausiliari sono usati come dispositivi di input/output. Per molti anni, il mezzo di input/output più popolare era la scheda perforata. I dispositivi di input più diffusi sono il terminale del computer e i dischi rigidi magnetici interni, e i dispositivi di output più diffusi sono lo schermo del computer associato a un terminale (tipicamente visualizzando l’output che è stato elaborato da un’unità di elaborazione grafica) e la stampante. Gli esseri umani possono comunicare direttamente con il computer attraverso terminali informatici, inserendo istruzioni e dati per mezzo di tastiere simili a quelle delle macchine da scrivere, utilizzando un dispositivo di puntamento come un mouse, una trackball o un touchpad, o parlando in un microfono collegato a un computer che esegue un software di riconoscimento vocale. Il risultato dell’input può essere visualizzato su uno schermo a cristalli liquidi, a diodi emettitori di luce o a tubo catodico, oppure su una stampante. Un altro importante dispositivo di input/output nei computer moderni è la scheda di rete, che permette al computer di connettersi a una rete di computer e a Internet utilizzando una connessione cablata o radio (wireless). La CPU, la memoria principale, la memoria ausiliaria e i dispositivi di input/output costituiscono collettivamente un sistema cumputer.
Generalmente, le operazioni più lente che un computer deve eseguire sono quelle di trasferimento dei dati, in particolare quando i dati vengono ricevuti da o consegnati a un essere umano. Il processore centrale del computer è inattivo per gran parte di questo periodo, e quindi si usano due tecniche simili per utilizzare meglio la sua potenza.
Il time sharing, usato sui grandi computer, permette a più utenti su terminali diversi di usare un unico computer allo stesso tempo. Il computer esegue parte di un compito per un utente, poi sospende quel compito per fare parte di un altro per un altro utente, e così via. Ogni utente ha l’uso del computer solo per una frazione di tempo, ma il cambio di attività è così rapido che la maggior parte degli utenti non se ne rende conto. La maggior parte delle decine di milioni di computer nel mondo sono dispositivi autonomi, a singolo utente, conosciuti variamente come personal computer o workstation. Per loro, il multitasking comporta lo stesso tipo di commutazione, ma per un singolo utente. Questo permette a un utente, per esempio, di avere un file stampato e un altro caricato su un sito Internet mentre ne modifica un terzo in una sessione di elaborazione testi e ascolta una registrazione in streaming su Internet. I personal computer possono anche essere collegati tra loro in una rete, dove ogni computer è collegato agli altri, di solito tramite un cavo di rete, coassiale o in fibra ottica o tramite segnali radio (wireless), permettendo a tutti di condividere risorse come stampanti, dispositivi di archiviazione su disco rigido e una connessione Internet. Il cloud computing è un’altra forma di condivisione delle risorse. Fornendo l’accesso sia all’hardware che al software attraverso una rete, il più delle volte Internet, il cloud computing è progettato per consentire a molti individui e organizzazioni che utilizzano una vasta gamma di dispositivi sia la facilità di accesso alle risorse informatiche che la flessibilità nel cambiare il tipo e il volume delle risorse a cui hanno accesso.
Prima che un computer possa essere usato per un determinato scopo, deve prima essere programmato, cioè preparato per l’uso caricando un insieme di istruzioni, o programma. I vari programmi con cui un computer controlla alcuni aspetti delle sue operazioni, come quelli per tradurre i dati da una forma all’altra, sono noti come software, in contrasto con l’hardware, che è l’attrezzatura fisica che comprende l’installazione. Nella maggior parte dei computer il controllo momento per momento della macchina risiede in uno speciale programma software chiamato sistema operativo, o supervisore. Altre forme di software includono assemblatori e compilatori per linguaggi di programmazione e applicazioni per uso aziendale e domestico (vedi programma per computer). Il software è di grande importanza; l’utilità di una serie di hardware altamente sofisticati può essere limitata dalla mancanza di un software adeguato.
Ogni istruzione nel programma può essere un semplice, singolo passo, che dice al computer di eseguire qualche operazione aritmetica, di leggere i dati da qualche data posizione nella memoria, di confrontare due numeri, o di compiere qualche altra azione. Il programma viene inserito nella memoria del computer esattamente come se fosse un dato, e all’attivazione, la macchina viene indirizzata a trattare questo materiale nella memoria come istruzioni. Altri dati possono quindi essere letti e il computer può eseguire il programma per completare il particolare compito.
Siccome i computer sono progettati per operare con numeri binari, tutti i dati e le istruzioni devono essere rappresentati in questa forma; il linguaggio macchina, in cui il computer opera internamente, consiste nei vari codici binari che definiscono le istruzioni insieme ai formati in cui le istruzioni sono scritte. Dato che per un programmatore è lungo e noioso lavorare nel linguaggio macchina vero e proprio, per la scrittura della maggior parte dei programmi si usa un linguaggio di programmazione, o linguaggio di alto livello, progettato per la comodità del programmatore. Il computer è programmato per tradurre questo linguaggio di alto livello in linguaggio macchina e quindi risolvere il problema originale per cui il programma è stato scritto. Molti linguaggi di programmazione ad alto livello sono ora universali, variando poco da macchina a macchina.
- Introduzione
- Computer analogici
- Computer digitali
- Sviluppo dei computer
- Bibliografia