Stats Tweet

Calcolatore.

Nome generico col quale si indica un dispositivo (meccanico, elettro-meccanico, elettronico, ecc.), costruito con lo scopo di eseguire calcoli e algoritmi più o meno complessi. Rientrano quindi in questo campo tutti i dispositivi creati dall'uomo a tal fine, a partire dall'abaco fino ai moderni c. elettronici. L'abaco fu senz'altro il primo strumento usato per eseguire i calcoli; esso è noto da moltissimi secoli e, a quanto sembra, fu introdotto presso diversi popoli (Egiziani, Cinesi, Aztechi, Greci, ecc.) nel primo millennio a.C. Il suo uso - in forma più o meno modificata - è tuttora molto diffuso soprattutto nell'Estremo Oriente. I primi tentativi di costruire una vera e propria macchina per eseguire le operazioni aritmetiche risalgono però al 1600 e al 1700. Del 1620 è l'invenzione del regolo c. che è divenuto, così, comune soprattutto nel campo dell'ingegneria. La prima macchina in grado di eseguire l'operazione di addizione è la cosiddetta Pascaline, progettata dal filosofo Pascal e completata nel 1642. Essa era composta da una serie di ruote, una per ogni cifra (unità, decine, centinaia, ecc.), componenti i numeri interi. Per eseguire l'addizione si impostava su tali ruote un addendo, indi si ruotavano le varie ruote in modo da impostare di nuovo il secondo addendo. La novità che rivela il genio di Pascal consiste nell'introduzione del riporto automatico, cioè di un dispositivo che fa avanzare di una unità una ruota, quando quella di ordine immediatamente inferiore ha compiuto un giro completo. Il riporto è ancora oggi effettuato nello stesso modo in quasi tutti i c. da tavolo. La sottrazione era possibile sulla Pascaline sotto forma di addizione dei complementi; la moltiplicazione doveva invece venire eseguita come addizione ripetuta. Non era possibile la divisione. Il successivo tentativo valido è dovuto al filosofo e matematico Leibniz che tentò di meccanizzare la moltiplicazione. Un esemplare della sua macchina fu costruito nel 1671, ma non funzionò benché fosse teoricamente corretto; in effetti la tecnologia del tempo non era in grado di costruire pezzi aventi la precisione richiesta. L'idea di Leibniz fu ripresa alcuni decenni dopo dall'alsaziano Charles Thomas, che nel 1810 realizzò una macchina calcolatrice che non presentava sostanziali novità, ma che aveva il merito di essere la prima ad avere una applicazione commerciale. Ne furono infatti costruiti circa 1.500 esemplari che durarono in uso fino ad una sessantina d'anni. Anche l'Italia diede un contributo a questo campo con lo scienziato Giovanni Poleni, inventore di una macchina aritmetica. Questa era in grado di eseguire - sia pure dopo una macchinosa predisposizione - tutte e quattro le operazioni elementari. È interessante notare che Poleni nella sua macchina (ricostruita su una sua descrizione del 1709) tentò di rendere meccanico il funzionamento della macchina stessa, che prima di allora avveniva ruotando una manovella. Il lavoro necessario al movimento delle varie parti era fornito dall'abbassamento di un peso collegato a una fune che si avvolgeva su un tamburo. Il vero e proprio pioniere delle macchine calcolatrici è il matematico inglese Charles Babbage, vissuto dal 1792 al 1871. Studioso di grande valore in molti campi, nel 1812 iniziò la costruzione di una Difference Engine (Macchina delle differenze) con l'intento di creare uno strumento per il calcolo delle tavole delle funzioni matematiche e in particolare dei polinomi. La sua intenzione era la realizzazione di una macchina in grado di calcolare le tavole di polinomi sino al sesto grado con risultati fino a 20 cifre decimali. A tal fine ottenne un finanziamento del governo; l'impresa non fu però portata a termine. Alcuni anni dopo lo svedese G. Scheutz, sulla scorta delle pubblicazioni di Babbage, realizzò effettivamente una macchina delle differenze per la tabulazione dei valori dei polinomi fino al quarto grado con risultati precisi fino alla quattordicesima cifra significativa. Babbage invece si dedicò a partire dal 1832 a una Analytical Engine (macchina analitica) in grado di risolvere almeno in linea di principio ogni problema traducibile in una sequenza di operazioni matematiche. Questa macchina è oggi considerata il precursore dei moderni c. elettronici, la cui organizzazione rispecchia molto da vicino quella della macchina analitica. Essa si divideva infatti in cinque parti principali: 1) organi di entrata, per fornire alla macchina le istruzioni e i dati; 2) organi di uscita, coi quali la macchina comunicava all'operatore i risultati del calcolo; 3) un magazzino (o memoria), nel quale la macchina conservava i dati e le istruzioni; 4) un'unità aritmetica (o mulino) che eseguiva le operazioni aritmetiche; 5) un'unità di controllo, che imponeva alla macchina l'esecuzione successiva delle operazioni nella corretta sequenza. La memoria prevista da Babbage era composta da colonne di ruote, ognuna delle quali poteva restare bloccata su una delle dieci posizioni che rappresentavano le cifre dei numeri del sistema decimale (cioè da 0 a 9). Era prevista la possibilità di memorizzare ben 1.000 numeri di 50 cifre decimali ciascuno. I dati erano forniti alla macchina per mezzo di schede perforate, analoghe a quelle introdotte alcuni anni prima dal francese J.M. Jacquard per il controllo degli aghi nella tessitura. Era previsto l'uso di due pacchi di schede, uno per le istruzioni e uno per i dati. L'uso delle schede perforate fu poi ripreso da Hollerith nelle macchine di elaborazione meccanica dei dati e nei moderni c. elettronici. La macchina analitica possedeva anche un dispositivo per effettuare il riporto anticipato (oggi divenuto comune) in modo da risparmiare tempo. Alla macchina si potevano poi collegare altri organi con funzioni di memorie esterne. I risultati erano forniti su schede perforate o stampati oppure potevano venir letti direttamente. La macchina analitica era in grado di eseguire un'addizione in un secondo o una moltiplicazione (o una divisione) in un minuto; era mossa da un motore a vapore. L'idea di Babbage fu senz'altro grandiosa, tanto che lo stesso autore morì senza averla potuta realizzare in quanto la tecnologia di quei tempi non era in grado di fabbricare le varie parti. Ne rimane un prototipo incompleto e una descrizione abbastanza dettagliata dovuta all'italiano Menabrea che ebbe occasione di ascoltare Babbage durante alcune conferenze tenute da questi a Torino nel 1840. Per quanto riguarda la programmazione e le possibilità della macchina analitica si hanno delle preziose note dovute alla contessa Augusta Ada di Lovelace, che fu fervida ammiratrice e sostenitrice di Babbage. Le schede perforate si affermarono verso la fine del secolo scorso con l'introduzione delle macchine di elaborazione automatica dei dati ad opera di Hollerith, uno statistico americano. La macchina prototipo di tutte quelle in uso fino a oggi, nacque dalla necessità di elaborare in un tempo ragionevolmente breve i dati relativi al censimento condotto nel 1890 negli Stati Uniti. Mentre nel censimento del 1880 occorsero quasi sette anni di lavoro per ottenere i risultati, con la macchina di Hollerith i risultati furono ottenuti in due anni e mezzo, nonostante la massa di dati da elaborare fosse sensibilmente maggiore. La scheda perforata usata nei c. fu introdotta dall'IBM nel 1928, e venne utilizzata fino agli anni '60. Le schede venivano preparate con la perforatrice di schede e fornite al c. dal lettore di schede. Le schede di controllo indicavano quali programmi eseguire ed in quale sequenza, senza intervento dell'operatore. I primi veri e propri c. nacquero all'inizio e durante la seconda guerra mondiale. Presso il Massachusetts Institute of Technology (MIT) negli Stati Uniti, nel 1925 fu realizzata una calcolatrice meccanica in grado di eseguire calcoli anche di una certa complessità; essa fu perfezionata per vari anni fino al 1942. Era così realizzato il sogno di Babbage, ma si era solo all'inizio. Nel 1934 l'ingegnere tedesco K. Zuse iniziò lo studio di una macchina calcolatrice meccanica; quattro anni dopo egli completò lo Z1, in cui l'aritmetica era espressa non più secondo il sistema decimale, ma secondo il sistema binario (oggi di uso pressoché universale nei c. elettronici). Successivamente Zuse sostituì molte parti meccaniche del suo c. con dei relais, in modo da avere una maggiore velocità di calcolo. Lo Z3 portato a termine nel 1941 era molto perfezionato; le istruzioni erano riportate su nastro perforato e quindi il programma era memorizzato. Era in grado di eseguire le quattro operazioni elementari e di estrarre la radice quadrata; si può considerare il primo c. elettromeccanico. Nel 1944 nacque dagli studi di H. H. Aiken, finanziato dalla IBM, il secondo c. elettromeccanico, il cosiddetto ASCC (Automatic Sequence Controlled Calculator) che era una vera e propria traduzione in realtà del sogno di Babbage. Lo ASCC, detto anche Mark 1, operava in codice binario conducendo le tre operazioni e calcolando alcune funzioni quali quelle trigonometriche, il logaritmo decimale e l'esponenziale. Lo Z3 e il Mark 1, benché fossero macchine prestigiose per il loro tempo, erano già in un certo senso sorpassati fin dalla nascita: stava infatti per nascere l'era dei c. elettronici, cioè dei c. nei quali l'apertura e la chiusura di circuiti non è più fatta mediante relais, ma con tubi a vuoto o dispositivi equivalenti (transistors, circuiti miniaturizzati, circuiti integrati). L'assenza di parti in movimento consente una velocità di calcolo molto maggiore; infatti mentre un relais può passare dallo stato di chiusura a quello di apertura in un tempo che non è mai minore di un centesimo di secondo, un tubo a vuoto può passare dallo stato di conduzione a quello di non conduzione in un milionesimo di secondo circa. Il primo c. impiegante tubi a vuoto, e quindi elettronico, fu il famoso ENIAC (Electronic Numerical Integrator and Calculator) costruito presso la Moore School of Electrical Engineering dell'università della Pennsylvania su progetto di J.P. Eckert e J.V. Mauchly. Esso fu completato nel 1946 ma cominciò a lavorare nel 1945. L'impulso alla sua costruzione fu dato da una necessità eminentemente pratica nata dagli eventi bellici: il calcolo delle traiettorie delle bombe e dei proiettili, che era pressoché impossibile da svolgere manualmente. L'ENIAC, consisteva di un grande numero di circuiti elettronici, comprendenti almeno 18.000 tubi a vuoto. Occupava una superficie di ben 180 mq, e il mantenerlo in funzione era un lavoro non da poco. Anche il consumo di energia non era indifferente: circa 150.000 Watts. Per contro le prestazioni erano relativamente modeste: la memoria non poteva ospitare più di 20 numeri di 10 cifre ognuno. Il passaggio di un numero da una parte all'altra del c. era ottenuto come una modulazione su un treno continuo di impulsi ad alta frequenza (100.000 Hz). Il tempo necessario per sommare o sottrarre due numeri si aggirava sui 200 µ sec (microsecondi, cioè milionesimi di secondo). Una moltiplicazione richiedeva circa 15 volte questo tempo e una divisione ne richiedeva uno superiore di trenta volte. La velocità di calcolo era quindi notevole: 5.000 addizioni o sottrazioni al secondo. Era però molto difficile passare dall'esecuzione di un problema a un altro (cioè programmare il c. per un nuovo lavoro); anche l'esecuzione delle istruzioni avveniva in sequenza rigida, senza possibilità di omettere alcune istruzioni od operazioni quando queste non erano necessarie all'esecuzione di un singolo problema. Un notevole chiarimento sull'organizzazione che avrebbe dovuto avere un c. elettronico è dovuta al matematico ungherese (che lavorava negli Stati Uniti) John Von Neumann con una serie di conferenze sulla teoria e tecnica dei c. elettronici digitali, tenute nel 1946 presso l'università di Filadelfia. Successivamente questi concetti furono tradotti in pratica dallo stesso Von Neumann in collaborazione con l'università di Princeton nella fabbricazione di un c. denominato IAS o Macchina di Von Neumann. Anche altri ricercatori fecero tesoro delle sue idee e di quelle proposte vari anni prima dal matematico inglese Alan Turing. In Inghilterra fu infatti progettato e costruito il primo c. a programma modificabile memorizzato: l'EDSAC che entrò in funzione nel 1949. Questo c. è pressoché contemporaneo al Manchester Electronic Computer, costruito dalla società inglese Ferranti, che utilizzava per la prima volta memorie a tamburo magnetico. In quegli anni si affermarono negli Stati Uniti due società: la IBM (International Business Machines Corporation) e la Rand Corporation; entrambe queste case avevano già un'esperienza nella costruzione di macchine per la elaborazione meccanografica dei dati. Nel 1951 inizia il passaggio dei c. dagli istituti universitari e dalle applicazioni militari all'industria e all'amministrazione. In quest'anno fu installato negli Stati Uniti un c. UNIVAC 1 per elaborare i dati del censimento del 1950, mentre in Inghilterra il c. LEO 1 (costruito dalla casa inglese Leo) fu adottato per l'analisi dei costi presso una società privata. Negli anni dal 1951 al 1955 si assiste al passaggio dei c. dalla fase sperimentale a quella dell'applicazione industriale; molte case entrano in lizza sia in Inghilterra che negli Stati Uniti che in altri Paesi. Oltre a quelle citate ricordiamo negli Stati Uniti la RCA, la General Precision e la Bendix. In Inghilterra si affermarono anche la English Electric, la ICT e la Elliott Automation. In Francia si impose la Bull e in Germania la Siemens. Nel 1958 si considera generalmente chiusa la prima fase delle ricerche in questo campo; questa data segna la fine di quella che fu detta la prima generazione dei c. elettronici. Dal 1958 al 1964 circa si colloca la seconda generazione, caratterizzata dall'impiego diffuso di circuiti e di memorie allo stato solido. I tubi a vuoto vennero sostituiti dai transistors, molto più piccoli e di durata molto maggiore; le memorie non impiegarono più tubi a vuoto, ma anellini di materiale ferromagnetico. Questo permise una riduzione notevolissima delle dimensioni (o un grande aumento delle capacità di memoria e di calcolo a pari dimensioni), un aumento della durata di funzionamento del c., una riduzione delle possibilità di errore entro limiti trascurabili e infine una grandissima riduzione del costo di fabbricazione e manutenzione. Tutto questo si traduceva in pratica in una maggiore competitività del c., e quindi in una sempre maggiore diffusione dello stesso. Il best-seller di questa generazione è l'IBM 1401, molto versatile e di media grandezza oltre che veloce e facile da programmare. Ne furono installati, dal 1950 al 1964 circa, 10.000 esemplari, pari a oltre il 30% dei c. della seconda generazione. Anche altri c. ebbero successo notevole; fra questi ricordiamo l'UNIVAC 1004 e gli IBM 1440 e 1460, usciti alla fine di questo periodo. Un diverso tipo di c. fu la serie CDC 6000, prodotta dalla Control Data Corporation per le installazioni della Commissione per l'Energia Atomica, ed avente un'architettura multiprocessore, rivoluzionaria per quei tempi, che gli permise di essere il più veloce c. per applicazioni scientifiche di allora. In Italia negli anni Sessanta la Olivetti tentò di inserirsi nel mercato dei c.: l'Elea nelle sue varie versioni fu prodotto in poco più di un centinaio di esemplari, installati quasi esclusivamente in Italia. Nel 1964 la Olivetti abbandonò il mercato dei c. elettronici cedendo questo settore alla General Electric americana, mediante la costituzione di una società denominata OGE. La terza generazione dei c. elettronici si colloca negli anni dal 1964 al 1970 circa. Essa è caratterizzata dal passaggio ai cosiddetti circuiti miniaturizzati o microminiaturizzati, costituiti da una sottile lamina di piccole dimensioni sulla quale sono realizzate diverse funzioni (resistenza, capacità, transistors, diodi) in numero di decine o centinaia con le relative connessioni. Si costruiscono così dei minuscoli elementi contenenti un numero molto grande di circuiti logici, i quali vengono assemblati a dare le varie parti del c. La quarta generazione dei c. elettronici è associata alla nascita del circuito integrato (IC), una piastrina di silicio su cui viene inciso un intero processore, in precedenza sparso su vari circuiti miniaturizzati. Anche le memorie di anellini ferromagnetici vengono sostituite da IC, più veloci e meno costosi, sebbene non persistenti - i dati vengono persi se manca l'alimentazione - gli anellini (con un diametro ridotto da 70 mm a 14 mm) verranno ancora usati in applicazioni militari, proprio perché non volatili. Nel 1971 la Intel introduce il 4004, il primo microprocessore a 4 bit (il bit è la cifra binaria, che assume valore 0 o 1, come una cifra decimale ha valori da 0 a 9), seguito nel 1972 dall'8008 e nel 1973 dal famoso 8080, entrambi a 8 bit. Nel 1975 la MOS Technology realizza il 6502, la Zilog annuncia lo Z80 (un miglioramento dell'8080) e la Motorola il 6800, tutti a 8 bit. La tecnica degli IC permette ora di assemblare un c. con relativamente pochi componenti e spesa, anche a livello hobbystico. Si noti che già allora i c. delle grandi compagnie come IBM e Digital Equipment Corporation (DEC) avevano un'architettura a 32 bit, più veloce ma anche molto più costosa, che ne limitava la diffusione ai grandi utenti (industrie e università); sarà utile menzionare inoltre i supercalcolatori della società Cray, discendenti dai CDC 6000 degli anni '60, e realizzati con un'architettura parallela a 64 bit, specificamente progettata per operazioni vettoriali. L'avvento dei microprocessori dà luogo a dozzine di società con prodotti basati su 8080, Z80, 6502 e 6800: si va dalle schede spartane con un tastierino ed un visore LED alle tastiere con monitor incluso e registratore a cassette. La popolarità di questi prodotti è testimoniata dai numerosi club di utenti, vale a dire programmatori, siccome non esiste ancora un mercato di software per microcalcolatori. Si può certamente affermare che solo da allora il c. è entrato a far parte della cultura comune, mentre prima era privilegio di un'élite in camice bianco. Nel 1977 una piccola società, la Apple, mette in vendita il famoso AppleII, una macchina dotata di 6502, 16KBytes di RAM (memoria a lettura e scrittura), 16KBytes di ROM (memoria a sola lettura), tastiera, registratore a cassette e monitor a colori; i modelli della serie AppleII verranno prodotti fino a metà degli anni '80 e contribuiranno a fare della Apple un produttore di prima grandezza. Un'altra società che ha giocato un ruolo importante è la Commodore, che sempre nel 1977 presenta il PET (Personal Electronic Transactor), un c. con caratteristiche simili all'AppleII. Altre società con prodotti allora diffusi sono la Atari, coi suoi modelli 400 e 800 (basati su 6502), e la Tandy Radio Shack, col TRS 80 (basato su Z80). La tendenza nel campo dei microcalcolatori è differente da quella dei grandi c., in quanto questi ultimi sono completamente costruiti dal produttore, che ne decide l'evoluzione hardware; i microcalcolatori dipendono invece dall'evoluzione dei microprocessori, sviluppati indipendentemente da varie compagnie come Intel, Motorola e Zilog. La storia dei c. si biforca così fra minicalcolatori e supercalcolatori, prodotti da compagnie come IBM, DEC, Data General, Hewlett-Packard, Cray, e microcalcolatori, suddivisibili in famiglie a seconda del microprocessore utilizzato; la storia dei microprocessori va dunque di pari passo con quella dei microcalcolatori. Nel 1978-9 la Intel introduce l'8086 e l'8088, a 16 bit, che saranno il cuore del futuro PC IBM del 1981; sempre in quel periodo, la Motorola annuncia il 68000, un 16 bit con istruzioni a 32 bit, usato nelle prime workstation della Sun - una società fondata nel 1982 - nell'Apple Macintosh del 1984, nel Commodore Amiga e nell'Atari ST del 1985. I microprocessori diventano più veloci passando da 8 a 16 a 32 bit; il loro set di istruzioni si arricchisce in modo da facilitarne la programmazione, e per questo vengono anche definiti CISC (Complex Instruction Set Computer). Nel frattempo, un altro tipo di processore, definito RISC (Reduced Instruction Set Computer), si propone come antagonista al CISC: i costruttori di processori RISC affermano infatti che istruzioni più semplici, come quelle del set ridotto, sono talmente più veloci che un RISC, pur dovendo eseguire più istruzioni semplici di un CISC, è comunque avvantaggiato. Inoltre i RISC nascono dopo i CISC, e possono far tesoro dell'esperienza acquisita (per esempio, sono già progettati a 32 bit). La Sun è una delle prime società a far uso di processori RISC nelle sue workstation, passando dalla serie Motorola 68000 allo SPARC (Scalable Processor Architecture), un RISC basato su un progetto sviluppato all'Università della California a Berkeley - il Berkeley RISC, per l'appunto. La Silicon Graphics è un'altra compagnia - contemporanea della Sun - a far uso di processori RISC nelle sue workstation grafiche: questo campo richiede infatti una grande potenza di elaborazione. Anche IBM, impegnata sia sul fronte dei grandi c. che su quello dei PC con processore Intel, gioca la carta del RISC in una corsa al miglioramento di tecniche e prestazioni che ha coinvolto tutto il mondo dell'informatica e che ha portato, negli anni Ottanta e Novanta, a una nuova concezione del mezzo e alla sua ampissima diffusione in ambito lavorativo (grazie anche al successo delle unità portatili) e, soprattutto, in ambiente famigliare, favorito anche dall'uso sempre più capillare e profondo di Internet. ║ Il c., nel senso tradizionale della parola, viene oggi chiamato calcolatrice (V.) e non possiede di solito programma memorizzato, per cui richiede un continuo intervento dell'utente (ma esistono anche calcolatrici programmabili, che non hanno però grande velocità e capacità di memoria). Il c. elettronico possiede invece un codice di istruzioni (programma) - memorizzato in ROM o caricato in RAM dalla memoria di massa (dischetto, disco rigido, CD-ROM) o tramite tastiera - sul modo di eseguire l'algoritmo di risoluzione del problema; l'utente deve solo lanciare il programma e fornire i dati su richiesta. I c. elettronici sono oggi di tre tipi: digitali o numerici, analogici e ibridi. Data la differenza che intercorre fra di essi, saranno trattati singolarmente (V. CALCOLATORE ANALOGICO, CALCOLATORE DIGITALE, CALCOLATORE IBRIDO). Anche la programmazione dei c. sarà discussa a parte (V. CALCOLATORE, LINGUAGGIO DEL). ║ Usi: la diffusione e l'accessibilità dei microcalcolatori da un lato, e la disponibilità dei supercalcolatori dall'altro, hanno fatto sì che ogni attività che comporti il trattamento di informazioni, di qualunque tipo e dimensione, abbia adottato il c. Le prime applicazioni hanno riguardato la risoluzione di equazioni di vario tipo (soprattutto differenziali e integrali) che non era possibile coi metodi manuali, in un tempo umanamente accettabile (ciò è comprensibile se si pensa che un c. non è altro che una macchina addizionatrice). Tali equazioni o sistemi di equazioni si presentano molto spesso in vari campi: in astronomia, nel calcolo della traiettoria di un missile, nel controllo di una centrale o di un reattore nucleare e così via. Nello stesso tempo il c. permette la costruzione di un modello matematico in grado di rappresentare il comportamento di un qualsiasi sistema o fenomeno fisico descrivibile in termini matematici. Così si sono fatti modelli del nucleo dell'atomo, degli ammassi stellari, del cervello umano, della coclea dell'orecchio, dell'evoluzione naturale secondo la legge di Mendel, di un reattore chimico, e così via quasi all'infinito. Nell'industria i c. vengono impiegati sia nelle mansioni di contabilità, controllo delle scorte, programmazione della produzione, computo delle paghe, ecc., che nel controllo del ciclo produttivo vero e proprio. In quest'ultimo caso si parla di applicazioni in tempo reale: il c. è provvisto di organi periferici (sensori) che gli portano delle informazioni che esso elabora, ottenendo dei risultati in base ai quali esso comanda dei servo meccanismi controllati dai parametri che agiscono direttamente sul processo, modificandolo nel modo voluto. Un esempio di applicazione in tempo reale è il controllo dei meccanismi robotici utilizzato nelle linee di montaggio degli autoveicoli. Un altro esempio di brillante applicazione in tempo reale è dato dal controllo dei missili telecomandati o a puntamento automatico: opportuni organi sensori (radar, raggi infrarossi, satelliti) rilevano con continuità la posizione del bersaglio in relazione a quella del missile; il c. elabora queste informazioni e corregge la traiettoria del missile in modo da provocarne infallibilmente la collisione col bersaglio. Altra applicazione in tempo reale è il controllo del traffico cittadino, attuato già in alcune città. Un c. è collegato a opportuni organi che rilevano lo stato del traffico sulle arterie (numero e velocità dei veicoli); esso elabora queste informazioni e comanda l'alternarsi delle posizioni di rosso e verde sui vari semafori, in modo da rendere il più veloce possibile tutto il traffico. Sempre nell'industria il c. è usato anche in fase di progettazione meccanica in modo da controllare od ottimizzare o progettare di punto in bianco certi pezzi: si parla di Computer Aided Design (CAD) - Progettazione Assistita da Calcolatore. Esistono addirittura programmi (Silicon Compilers) di progettazione di IC, che aiutano nel rispettare le leggi dell'elettronica durante la stesura dei circuiti. Una volta preparato un progetto, si può effettuarne la stampa tramite il plotter, un dispositivo adatto al disegno grafico, che consta di un tamburo che può ruotare sul suo asse nelle due direzioni; sul tamburo è fissato un foglio di carta. La scrittura è eseguita con una penna che si muove parallelamente all'asse del tamburo, comandata da un braccio. La velocità con cui è tracciato il disegno è relativamente molto alta: circa 3 cm per secondo. Esistono anche plotters più piccoli, a piano elettrostatico, su cui viene fissato il foglio da disegno; la tracciatura può anche essere a colori. Nelle officine meccaniche sono utilizzate le macchine utensili a controllo numerico (o APT) che eseguono su un pezzo una successione generalmente molto complessa di operazioni su comando di un nastro di carta perforata che è a sua volta fornito da un c. La grafica al c., oltre al CAD, permette l'esecuzione di disegni a mano libera, con trasformazioni varie applicate dal programma, e la libertà di correggere qualunque particolare fino a ritornare allo schizzo di partenza (undo). Altresì è possibile porre in sequenza diversi disegni e farli visualizzare in modo da produrre un'animazione; il cosiddetto genlock permette di sovraimporre immagini televisive alla grafica da c. così da ottenere effetti speciali: basti ricordare il film Terminator II. Un'ulteriore applicazione della grafica è la realtà virtuale, con la quale un c. simula un ambiente immaginario (virtuale) che l'uomo può esplorare con l'ausilio di strumenti sensori e visualizzatori. Un campo molto vasto aperto al c. è il trattamento delle informazioni, di qualsiasi tipo esse siano, con metodi matematici o statistici; in molti casi la massa delle informazioni è talmente grande che non sarebbe elaborabile in altro modo. Più dettagliatamente, si è visto, ad esempio in medicina, che un trattamento statistico degli elettrocardiogrammi e degli encefalogrammi può portare a un chiarimento tale che lo stesso c. è in grado di produrre una diagnosi: si tratta del sistema esperto, in parole povere un programma addestrato a riconoscere certi dati confrontandoli con altri memorizzati nella sua base di conoscenza e formulando un giudizio o una diagnosi motivati. La difficoltà nella realizzazione dei sistemi esperti sta nella costruzione della base di conoscenza, che è ciò che dà al programma la sua "intelligenza"; usualmente, un esperto umano della materia deve collaborare col programmatore, e verificare che il sistema dia le risposte corrette e possa motivarle spiegando quali passi ha fatto. Pure la traduzione di brani da una lingua ad un'altra si presta all'uso del sistema esperto, che deve tener conto della vastità del vocabolario e dei significati, con le sfumature e le ambiguità dovute al contesto. In effetti, il problema è ben più ampio e coinvolge le annose discussioni sull'intelligenza artificiale in atto fin dagli anni '50, da quando Alan Turing pubblicò (1950) il suo articolo Macchine calcolatrici e intelligenza, in cui proponeva il test di Turing come procedura di decisione sull'intelligenza o meno di un c. Un buon successo hanno avuto invece le analisi filologiche di vari autori. Sempre in questo campo è da ricordare che il c. può servire per le sue grandi capacità di memoria anche come una vera e propria biblioteca caratterizzata da una grandissima velocità di consultazione: basterebbe richiedere al c. tutte le informazioni che ha registrato su un certo argomento per ottenerle in breve tempo. Anche nell'insegnamento attivo e nella correzione di elaborati il c. si è dimostrato uno strumento prezioso. In altri campi esso ha portato uno sveltimento enorme del lavoro. Ad esempio la prenotazione dei posti sugli aerei di linea era un tempo un'operazione relativamente complessa per le società, che dovevano organizzare le varie prenotazioni fatte in luoghi diversi. Un c. è invece in grado di seguire istante per istante la situazione delle prenotazioni onde la società può sapere istantaneamente la disponibilità dei posti. Un grande impulso allo scambio di informazioni viene dalle reti globali di comunicazione (wide-area networks), tramite cui è possibile collegarsi con c. di tutto il mondo, senza riguardo per la distanza, ed ottenere gli stessi servizi su scala maggiore: consultazione di biblioteche, uso di programmi particolari, invio di posta elettronica, notiziari ed avvenimenti, gruppi di interesse, partecipazione a progetti. Nelle banche un c. è uno strumento preziosissimo per lo svolgimento di calcoli e operazioni anche molto complesse. Ad esempio esso può servire per conoscere istantaneamente la situazione di un certo deposito e informare nel giro di una frazione di secondo il cassiere che vuole sapere se un certo assegno dispone della copertura o manca di fondi. Altri esempi molto conosciuti sono il Bancomat, per i prelevamenti e le informazioni sui conti correnti, e il terminale Point of Sale (POS) degli esercizi commerciali, che grazie a un collegamento telefonico col c. della banca permette l'accredito immediato del corrispettivo della merce o servizio venduti. Nel campo militare infine i c. sono usati per il controllo dei missili, delle catene di avvistamento radar e così via. In generale si può dire che il c. elettronico è in grado di svolgere con grande velocità e precisione grandi quantità di operazioni, purché queste siano di tipo matematico o logico, cioè non richiedano al c., di fare alcunché al di fuori di quello che gli è stato ordinato in sede di programmazione. Un c. può anche essere posto di fronte ad alternative, ma queste devono essere ben precise e devono ammettere due sole vie di uscita (sì / no: si parla di logica di Boole). Si è quindi ben lontani dall'avere costruito una macchina pensante nel senso inteso da una certa letteratura fantascientifica; il c. elettronico è semplicemente una macchina logica, che esegue coscienziosamente e velocemente i calcoli che le sono richiesti. ║ Futuro del c.: la tendenza attuale è verso la miniaturizzazione sempre più alta dei circuiti, fino al limite fisico di circa 1/10 di micron, oltre il quale si avvertono gli effetti quantistici e vale il principio di indeterminazione di Heisenberg, per cui si dovranno impiegare nuove tecniche costruttive. Uno sviluppo promettente sono i circuiti optoelettronici, che combinano tecniche di calcolo ottico (inerentemente parallele, data la natura della luce) e connessioni elettroniche di tipo tradizionale: la difficoltà sta nel far coesistere i due tipi di circuito, che hanno caratteristiche materiali e di velocità ben diverse - ad esempio, gli elettroni hanno massa e carica, mentre i fotoni no. Pure le memorie, dopo l'evoluzione dei nastri magnetici, dei dischi rigidi, dei dischetti e dei dischi ottici - WORM, CD-ROM - usufruiranno dell'optoelettronica, che ci promette delle memorie olografiche, in grado di memorizzare, in un cristallo di 1 cm cubo, circa 1 Terabyte - 1.000 miliardi di bytes - con tempi di accesso nell'ordine dei microsecondi. La riduzione delle dimensioni ha permesso - fin dagli anni '80 - la costruzione di c. portatili, da quelli a valigetta fino al palmtop, letteralmente che sta in palmo di mano, con tastiera ridotta o altri metodi di immissione dei dati (penna o microfono); grazie alla diffusione dei networks non è più necessario portare con sé tutti i dati, poiché è sempre possibile collegarsi via telefono col c. a casa o in ufficio e chiedere al volo le informazioni; man mano che i mezzi di trasmissione si faranno più veloci e meno costosi, il c. diventerà una presenza abituale, e potremo sia portare con noi il nostro che trovarne nell'ambiente, come già è per il telefono. La programmazione, grazie all'accresciuta potenza del c., è e sarà sempre più espressiva, poiché programmi in linguaggi complessi potranno essere analizzati ed eseguiti alla stessa o maggior velocità dei programmi nei vecchi linguaggi meno espressivi: un esempio ci viene dai linguaggi object-oriented, specificamente usati per la costruzione di modelli del mondo reale o immaginario, e che necessitano di parecchie risorse - memoria e velocità - per produrre una simulazione accurata. Ricordiamo comunque che il linguaggio dipende dall'architettura del c. - sequenziale o parallela - e dal modello intrinseco, che è quello di Von Neumann e della logica a 2 stati di Boole; solo come esempio, sono state definite anche una logica ternaria, che ammette un valore di dubbio, ed una logica fuzzy, letteralmente confusa, vaga, che ammette infiniti valori di verità: un c. che implementasse efficientemente la logica vaga richiederebbe un'architettura ben diversa. Anche la creazione di una vera e propria macchina pensante o - in termini più tecnici - di un c. in grado di autoprogrammarsi, cioè di trarre profitto da quanto imparato nello svolgimento di un problema, per risolvere i successivi, è una questione di architettura e linguaggio; in effetti i tentativi in questo campo fanno uso di reti neurali e linguaggi logici. Un c. di questo tipo è già stato costruito ad esempio per giocare a scacchi: esso si comporta come un buon giocatore ma viene battuto da un giocatore molto in gamba. Non può mai essere battuto due volte con la stessa mossa in quanto esso impara continuamente a giocare meglio. Va notato che il ragionamento di un giocatore di scacchi non è affatto del tipo matematico deduttivo ma è completamente euristico: un giocatore esamina infatti successivamente tutte le varie possibilità di muovere i suoi pezzi e sceglie quella che gli procura il maggior vantaggio. Una macchina veramente in grado di autoprogrammarsi, cioè dotata di quella facoltà, che è detta apprendimento, di sfruttare l'esperienza acquisita nei vari problemi, potrebbe dirsi veramente una macchina pensante, ma non sarà mai una macchina intelligente. L'intelligenza è una facoltà che non richiede solo una concezione deterministica delle cose, bensì una concezione probabilistica, cosa molto difficile da realizzare su un piano matematico. D'altronde i vari tentativi di far comporre musica o versi da un c. opportunamente programmato hanno portato alla creazione di qualcosa di formalmente corretto ma certamente non molto poetico.