Teoria dell informazione 1



Documenti analoghi
Breve storia del calcolo automatico

Evoluzione del calcolatore e fondamenti della programmazione

Appunti di informatica - calcolatori elettromeccanici

Scuola Secondaria di Primo Grado Anna Frank Nome Cognome classe anno sc. 2008/09 INFORMATICA

Architettura hardware

Informatica - A.A. 2010/11

A parte alcuni dispositivi rudimentali dell'antichità classica, non vi furono progressi tecnologici rilevanti fino a circa il 1650 Per tre secoli,

Esame di INFORMATICA

Origini e caratteristiche dei calcolatori elettronici

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Laboratorio di Informatica

Memoria Secondaria o di Massa

CALCOLATORI ELETTRONICI A cura di Luca Orrù

23/02/2014. Dalla scorsa lezione. La Macchina di Von Neumann. Uomo come esecutore di algoritmi

Vari tipi di computer

Breve storia dei sistemi di calcolo

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

C. P. U. MEMORIA CENTRALE

Il Sistema Operativo (1)

Sistema di numerazione binario, operazioni relative e trasformazione da base due a base dieci e viceversa di Luciano Porta

I componenti di un Sistema di elaborazione. CPU (central process unit)

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Architettura del calcolatore

I L C O M P U T E R COM E FATTO DENTRO (Unità 2)

4 3 4 = 4 x x x 10 0 aaa

Informazione analogica e digitale

Dispensa di Informatica I.1

Cosa è un foglio elettronico

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Informatica di base. Hardware: CPU SCHEDA MADRE. Informatica Hardware di un PC Prof. Corrado Lai

Sistemi Operativi. Modulo 2. C. Marrocco. Università degli Studi di Cassino

Struttura del Calcolatore Corso di Abilità Informatiche Laurea in Fisica. prof. Corrado Santoro

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

INTRODUZIONE ALL INFORMATICA

SISTEMI DI NUMERAZIONE E CODICI

ORGANIZZAZIONE DEI CALCOLATORI INTRODUZIONE

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE

Informatica. Teoria. L architettura dei PC Storia dell informatica Periferiche Reti - Software. Marco Brama

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN

Hardware e Software. 09/10/01 Introduzione all'informatica 1. Il Computer. Il computer è un elaboratore elettronico digitale:

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Organizzazione della memoria

INTRODUZIONE ALL INFORMATICA

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Laboratorio di Informatica

Corso di Informatica

Laboratorio di Informatica di Base Archivi e Basi di Dati

Il microprocessore 8086

Convertitori numerici in Excel

Architettura dei computer

Scheda di approfondimento gioco I pixel

Storia dell informatica

Informatica 1 Lezione 1

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

SCHEDA PERFORATA SMARTPHONE. Dalla. allo. ( Una veloce sintesi di un secolo di INFORMATICA) Dalla Scheda Perforata allo Smartphone 2013

Fondamenti di informatica: un po di storia

LABORATORIO DI SISTEMI

Fondamenti di Informatica 2. Storia dei sistemi di calcolo

Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE. Lez2 Informatica Sc. Giuridiche Op. aritmetiche/logiche arch.

CONCETTI BASE dell'informatica Cose che non si possono non sapere!

CPU. Maurizio Palesi

CHE COS È L INFORMATICA

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi

Struttura del calcolatore

Materiali per il modulo 1 ECDL. Autore: M. Lanino

Introduzione al sistema operativo Il file system: file, directory,...


Appunti di Sistemi e Automazione

Concetti fondamentali della Tecnologia Dell informazione Parte prima

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre

Calcolo numerico e programmazione Architettura dei calcolatori

COME È FATTO IL COMPUTER

INFORMATICA DI BASE. Data Processing, elaborazione elettronica dei dati). In

Più processori uguale più velocità?

DIMENSIONI E PRESTAZIONI

Dispense di Informatica per l ITG Valadier

Corso di Informatica

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 25 febbraio Corso di laurea in Matematica

Il Software. Il software del PC. Il BIOS

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

Corso per i docenti neo assunti due incontri di formazione sulle tecnologie

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

MODULO 01. Come è fatto un computer

IL COMPUTER. Nel 1500 Leonardo Da Vinci progettò una macchina sui pignoni dentati in grado di svolgere semplici calcoli. Nel 1642 Blase Pascal

Lez. 5 Memorie Secondarie

Informatica per la comunicazione" - lezione 7 -

Il database management system Access

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

BIT? Cosa c è dietro a questo nome? Che cos è il bit? Perché si usa? Come si converte un numero binario?

Parte I. Evoluzione dei Sistemi di Elaborazione (a.a )

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO

L Unità Centrale di Elaborazione

I SISTEMI DI NUMERAZIONE

Introduzione all analisi dei segnali digitali.

Gerarchia delle memorie

Transcript:

Teoria dell informazione 1 Unità didattica 1 Un po di storia Nel 1943, Thomas Watson, un dirigente IBM affermava: Credo che il mercato mondiale possa aver bisogno al massimo di 5 computer. Nel 1977, Ken Olsen, presidente della DEC diceva: Non c è nessun motivo per cui una persona debba avere un computer a casa. Vediamo brevemente la storia che ha smentito in pieno le affermazione dei due personaggi citati, storia che inizia molti anni fa Secondo alcuni storici, l evoluzione delle macchine da calcolo ha avuto inizio quasi 4000 anni fa, in Cina, quando fu inventato l abaco. Altri ritengono invece che l abaco abbia avuto origine presso i babilonesi; in ogni caso sono pervenuti fino ai nostri giorni esemplari di questa macchina che risalgono a Egiziani, Romani, Maya Figura 1 - Abaco romano La posizione di alcune sferette su un insieme di barre dava origine alla rappresentazione di un numero. In realtà la necessità di rappresentare ed utilizzare informazioni numeriche ha origini ancora più antiche: i primi allevatori avevano la necessità di contare il numero dei capi di bestiame e per fare questo svilupparono primitivi sistemi di numerazione, inventando anche rappresentazioni grafiche ancora oggi visibili su graffiti. Successivamente nacque la necessità di misurare grandezze quali lunghezze o altezze di edifici (per esempio le piramidi), e questo spinse l uomo a migliorare quei sistemi di numerazione, imparando anche a fare operazioni Poi arrivò l abaco, primo vero strumento utilizzato, come detto, per rappresentare numeri. Il più antico calcolatore a ingranaggi a noi giunto è la Macchina di Anticitera dell 87 a.c. (dal nome di una isoletta nei pressi di Creta). Si tratta di un planetario, mosso da ingranaggi a ruote dentate, utilizzato per calcolare il sorgere del sole, le fasi lunari, i movimenti dei pianeti, gli equinozi, i mesi e i giorni della settimana. Con alcune variazioni avrebbe potuto funzionare anche come un calcolatore matematico. Infatti, la sua logica di funzionamento è la stessa dei calcolatori meccanici che le succedettero nei secoli a venire. Figura 2 - Macchina di Anticitera

Figura 3 - Regolo di Nepero Arriviamo allo strumento ideato da Napier nei primi anni del 1600 per effettuare moltiplicazioni e divisioni e per calcolare e costruire le tavole dei logaritmi; questa macchina era costituita da bastoncini (o regoli) che permettevano di moltiplicare o dividere un numero qualunque per un numero di una sola cifra, senza ricorrere alla Tavola Pitagorica. I regoli erano 11, uno fisso e gli altri mobili. Nel 1650 il matematico inglese E. Gunter inventò il regolo calcolatore, per calcolare potenze, radici quadrate e cubiche, utilizzato fino a pochi decenni fa. Figura 4 - Regolo Fimo a questo punto però le nostre macchine non sono ancora in grado di effettuare operazioni, ma solo di rappresentarle in un certo modo. Nel XVII secolo arrivano invece i primi sistemi meccanici che consentono l esecuzione automatica delle operazioni. La prima macchina in grado di eseguire in modo automatico delle addizioni è stata la Pascalina, ideata dal filosofo e matematico francese Blaise Pascal nel 1642. Figura 5 - Blaise Pascal Figura 6 - La Pascalina Questa macchina era costituita da una serie di ruote dentate (rappresentanti unità, decine, centinaia ) collegate mediante opportuni ingranaggi meccanici; la rotazione di queste ruote consentiva di effettuare addizioni e sottrazioni, tenendo conto dei riporti e dei prestiti. Figura 7 - Leibniz

Teoria dell informazione 3 Alcuni anni più tardi, nel 1671, il matematico tedesco Gottfried Leibniz ideò una macchina in grado di effettuare in modo automatico le quattro operazioni, macchina che però difettava in precisione. Lo stesso Leibniz ideò il sistema binario, cioè un sistema per rappresentare i numeri utilizzando solo le cifre 0 e 1 e intuì che tale sistema poteva essere utilizzato dalle macchine di calcolo automatiche. Nel 1780 Benjamin Franklin scoprì l elettricità. All inizio del 1800 Joseph Marie Jacquard inventò e diffuse un telaio di tessitura automatizzato, in grado di leggere le istruzioni per la tessitura da opportune schede perforate, che inizialmente erano delle schede di cartone con dei fori. Figura 8 - Telaio di Jacquard La prima macchina di calcolo prodotta in serie (1500 esemplari) fu l aritmometro (siamo nel 1820). Nel 1822, il matematico inglese Charles Babbage (1792-1871) progettò la sua macchina differenziale, capace di effettuare le operazioni matematiche di base. Il suo prototipo doveva essere movimentato da un motore a vapore. Successivamente si applicò allo sviluppo della macchina analitica (1833), in grado di leggere le istruzioni da schede perforate e di propagare i riporti in modo automatico (in pratica i risultati delle operazioni potevano essere utilizzati come operandi per le istruzioni successive). Figura 9 - Babbage Figura 10 - Particolare di una ricostruzione della macchina di Babbage Figura 11 - La macchina di Babbage Nel 1823 Berzelius, chimico svedese, isolò il Silicio: vedremo a breve come questo elemento rivoluzionerà il mondo degli elaboratori. Nel 1847 Charles Boole elaborò i concetti di Leibniz sulla logica binaria; la sua teoria è ancora oggi alla base del funzionamento dei moderni calcolatori. Figura 12 - La tabulatrice di Hollerith

Nel 1880, l americano Herman Hollerith ideò la macchina tabulatrice, utilizzata dal governo americano per leggere da schede perforate i dati del censimento: visto il successo ottenuto (diminuzione drastica dei tempi di acquisizione ed elaborazione dei dati, maggiore precisione ) questa macchina sancì l inizio della produzione industriale e della diffusione delle macchine di calcolo automatiche. Le schede perforate di Hollerith avevano le dimensioni delle banconote da un dollaro, formato che consentiva di utilizzare 80 colonne di fori e che vene utilizzato fino a pochi decenni fa. Figura 13 - Scheda perforata Nei primi anni del 1900 si passò da macchine puramente meccaniche a macchine elettromeccaniche: queste utilizzavano come elemento base il relè. APPROFONDIMENTO: il relè. Il relè, inventato da Joseph Henry nel 1835, è essenzialmente costituito da una bobina e da una barra metallica. Quando la bobina viene percorsa da corrente elettrica, il campo magnetico che si viene a creare, attrae la barretta; quando non scorre corrente ola barretta viene rilasciata. Il movimento della barretta si ripercuote sugli elementi meccanici ad essa connessi. I tempi medi di attrazionerilascio della barretta sono dell ordine di qualche centesimo di secondo; si parla inoltre di relè aperto o chiuso Delle schede perforate aprono o chiudono i relè (un foro mette in contatto tra di loro uno spazzolino di lettura con il relativo tamburo: il contatto elettrico che ne deriva fa scattare il relè, mettendo in movimento l elemento meccanico ad esso connesso. Figura 14 - Relè Queste nuove macchine, dette elettro-meccaniche o meccano-grafiche permettevano l esecuzione delle operazioni fondamentali e anche una rappresentazione dei risultati non solo in forma numerica, ma anche alfanumerica. Nel 1924 nasce la International Business Machines (IBM), sulla scia della Hollerith s Tabulating Machines Company. Figura 15 - Primo Logo IBM Figura 16 - Logo IBM

Teoria dell informazione 5 Negli anni successivi si assiste alla vera e propria commercializzazione delle macchine a schede perforate e ad un enorme sforzo da parte degli scienziati per aumentarne l efficienza, soprattutto in termini di velocità di calcolo. I calcolatori elettromeccanici Siamo ormai vicini ad uno dei periodi più bui del secolo passato (la Seconda Guerra Mondiale) e proprio grazie a necessità belliche il settore delle macchine da calcolo subisce repentini ed incisivi cambiamenti. Nel 1938 un ingegnere tedesco, Konrad Zuse, realizza il primo calcolatore elettromeccanico, lo Z1, seguito subito dallo Z2 (2600 relè) e dallo Z3 (che era in grado di eseguire le 4 operazioni e le radici quadrate), utilizzato dai Nazisti fino al termine del conflitto. Figura 17 - Zuse Figura 18 - Z1 Figura 19 - Mark I Parallelamente a queste invenzioni europee, negli Stati Uniti viene realizzato, nel 1944, MARK I, il primo calcolatore elettromeccanico americano; il suo ideatore fu un ricercatore dell Università di Harvard, Howard Aiken. Mark I, oltre alle funzionalità di Z3, era in grado di eseguire calcoli trigonometrici, esponenziali e logaritmici. Mark I poteva leggere i dati e le istruzioni per manipolarli sia da schede perforate che da serie di interruttori e forniva i risultati ancora sotto forma di fori su schede o di tabulati stampati da dispositivi simili a macchine da scrivere. Mark I era costituito da più di 3000 relè collegati da 800 Km di fili elettrici; le sue dimensioni sono quelle di una grande stanza, il suo peso è di 5 tonnellate ed era in grado di sommare due numeri di 23 cifre in 3 decimi di secondo e moltiplicarli in 6 secondi; il suo costo è pari a circa 400000 dollari La prima generazione degli elaboratori elettronici Due anni più tardi, nel 1946, presso l Università della Pensylvania, viene realizzato l ENIAC (Electric Numerical Integrator And Computer), il primo calcolatore a valvole, che segna l inizio di una nuova era per il calcolo automatico. John P. Eckert e John Mauchly, i realizzatori di ENIAC, utilizzarono, per memorizzare le informazioni, al posto dei relè, dei tubi a vuoto o valvole elettroniche.

Approfondimento: la valvola La valvola elettronica venne inventata da Ambrose Flemming nel 1905 e perfezionata da Lee De Forest (ideatore del Triodo, valvola amplificatrice) è essenzialmente costituita da un bulbo di vetro al cui interno viene creato il vuoto, contenente particolari circuiti elettrici; a seconda della tensione applicata, la valvola permette o non permette il passaggio degli impulsi elettrici, con conseguente corrispondenza con i due valori binari 0 e 1 (valvola spenta o accesa). Figura 20 - Valvole Con l utilizzo delle valvole elettroniche vengono eliminati tutti gli organi meccanici, consentendo così velocità superiori: ENIAC è in grado di effettuare 300 moltiplicazioni al secondo. Le dimensioni di ENIAC sono titaniche: occupa una superficie di 180 metri quadri, pesa 13 tonnellate, utilizza 18000 valvole e gli impulsi elettrici che aprono e chiudono i suoi tubi hanno una frequenza di 100000 Hz (vengono cioè generati 100000 impulsi al secondo). Un grosso limite di ENIAC è costituito dai tempi di preparazione : prima di poter eseguire un determinato programma, una squadra di tecnici doveva collegare manualmente i suoi circuiti elettrici, lavoro che poteva durare anche alcuni giorni. Figura 21 - Eniac ENIAC funzionò fino al 1955; ora è esposto a Washington, allo Smithsonian Institute. Negli stessi anni Antanassoff e Berry realizzano l ABC (Antanassoff Berry Computer), che contende ad ENIAC il primato di primo calcolatore. Figura 22 - Eniac

Teoria dell informazione 7 Altre tappe fondamentali della storia del calcolo automatico sono stati l EDSAC e l EDVAC; l EDSAC (Electronic Delay Storage Automatic Calculator) fu realizzato nel 1949 a Cambridge, in Inghilterra, l EDVAC (Electronic Discrete Variable Automatic Computer) venne realizzato nel 1950 a Princeton (USA) e viene considerato come il vero e proprio predecessore dei moderni computer. Uno scienziato matematico ungherese, John Von Neumann, elaborò nell immediato dopoguerra la teoria che ancora oggi è alla base dei moderni calcolatori. Con Von Neumann, il calcolatore diventa Figura 23 - EDVAC elaboratore, cioè sulla base dei risultati delle operazioni intermedie può saltare direttamente ad una determinata istruzione: in questo modo l elaboratore con il suo programma sono in grado di risolvere diversi problemi, cioè l elaboratore non esegue solamente operazioni aritmetiche, ma anche logiche, sulla base delle quali prende decisioni (basandosi comunque su un programma scritto dall uomo). In altre parole, se oprima era richiesto l intervento uman per collegare in modo particolare i circuiti dei calcolatori, tali da risolvere determinati problemi, ora tutto ciò viene eseguito automaticamente Figura 24 Von Neumann dalla macchina, sulla base di confronti tra dati: grazie a questa fondamentale innovazione, la velocità degli elaboratori ha subito un eccezionale incremento. Dopo questa lunga fase teorica, culminata con la realizzazione di diversi prototipi di elaboratori elettronici (oltre a quelli già visti EDSAC ed EDVAC aggiungiamo MADM Manchester Automatic Digital Machine e UNIVAC UNIversal Automatic Computer), si passa alla fase di Figura 25 - Von Neumann produzione su scala industriale e alla loro diffusione. In America, IBM inizia a produrre e distribuire diversi elaboratori: nel 1952 nasce SISTEMA 701, nel 1953 il 650, nel 1954 il 704 (capace di eseguire circa 50000 addizioni al secondo). In Europa abbiamo in quegli anni la Siemens (Germania) che produce il 2002 e la Bull in Francia che produce il Gamma ET. Gli elaboratori della prima generazione (ma anche quelli dei giorni nostri), in definitiva, sono in grado di ricevere delle informazioni, di elaborarle e di produrre dei risultati. I dati e le istruzioni che operano su di essi, sono letti da schede perforate e trasferiti nella memoria centrale dell elaboratore. I dati vengono poi processati dall Unità Aritmetico Logica (ALU), che

esegue le operazioni indicate dalle istruzioni (dal programma quindi); i risultati sono restituiti mediante stampati o schede perforate. Tutte queste operazioni sono guidate dall Unità di Controllo che legge le istruzioni, le interpreta, coordina la loro esecuzione e il flusso dei dati in modo automatico (precedentemente, negli elaboratori meccanici, queste fasi eseguite manualmente dagli operatori). Come già detto, le informazioni elaborate e memorizzate da queste macchine, venivano (e vengono) rappresentate mediante il sistema di numerazione binario, sistema che utilizza due sole cifre (lo zero e l uno) per codificare le informazioni. I componenti fondamentali degli elaboratori vengono fatti lavorare in due loro stati, cui vengono associate le 2 cifre del sistema binario; le informazioni manipolate dagli elaboratori sono perciò segnali elettrici, con due soli valori, cui corrispondono i due stati dei dispositivi elettrici (acceso e spento). I vantaggi dell utilizzare segnali binari sono tutti nella semplicità con cui i componenti distinguono i due livelli (anziché 10 se utilizzassimo il sistema decimale) ed eseguono le operazioni elementari (anche se oggi si utilizza la logica fuzzy, dove i livelli non sono più solo 2, ma questa è un altra storia ). Le cifre del sistema binario vengono dette BIT (da Binary digit, cifra binaria in inglese). Le regole con le quali i Bit vengono elaborati sono essenzialmente le leggi dell algebra di Boole, elaborate dal matematico Inglese Boole nel 1800; le operazioni elementari (somma, sottrazione, moltiplicazione e divisione) alla fine vengono tutte ricondotte a particolari operazioni di somma, per cui ai componenti che costituiscono i circuiti di calcolo di un elaboratore viene richiesto di effettuare nient altro che somme tra bit. Gli elaboratori della prima generazione memorizzarono le informazioni su particolari dispositivi magnetici tamburi rotanti ad alta velocità; diverse testine magnetiche scrivono e leggono dati e istruzioni sulla superficie dei tamburi, suddivisa in tanti punti magnetizzati, impiegando per queste operazioni alcuni millisecondi. Verso la metà degli anni 50 si iniziano ad utilizzare le memorie a nuclei di ferrite, di dimensioni e tempi di lettura/scrittura inferiori rispetto ai tamburi magnetici. I nuclei di ferrite sono anelli di materiale magnetico, di pochi decimi di millimetro di diametro, attraversati da due conduttori elettrici disposti perpendicolarmente tra di loro. In base ai segnali elettrici fatti passare nei conduttori, ogni anello può venire magnetizzato in due modi differenti e memorizzare così un uno oppure uno zero. La presenza di un terzo conduttore che attraversa gli anelli permette la lettura dei dati memorizzati, con tempi di accesso di pochi millisecondi. Come già visto il componente fondamentale dei circuiti preposti all elaborazione delle informazioni (l Unità centrale) è il tubo a vuoto o valvola elettronica. I dispositivi di output sono ancora costituiti da perforatori di schede o da dispositivi di stampa, che convertono i bit in forma intelligibile facilmente dagli operatori umani. Figura 26 - Anelli di ferrite Sempre in questi anni fanno la loro comparsa dispositivi ausiliari di memoria, cioè dispositivi esterni all elaboratore, in grado di memorizzare grandi quantità di dati. Questi dispositivi sono nastri e dischi magnetici. I primi sono dispositivi ad accesso Figura 27 - Nastri magnetici

Teoria dell informazione 9 sequenziale: per reperire una particolare informazione è necessario scorrere tutto il nastro fino al punto cercato; i dischi invece sono dispositivi ad accesso diretto, che consentono di reperire istantaneamente le informazioni cercate. I dischi magnetici vennero introdotti nel 1956 nel Sistema 305 Ramac (Random Access Memory Accounting Computer), la cui memoria è costituita da una pila di dischi rotanti, sui quali vengono memorizzate, su piste concentriche, le informazioni. Nei primi anni 50 si assiste ad una crescita esponenziale della richiesta e della produzione di elaboratori elettronici; vediamo alcune cifre: o nel 1953 si hanno circa 100 elaboratori in funzione nel mondo o nel 1958 il numero di calcolatori negli Stati Uniti è di 2500 In Italia le cose procedono più lentamente: o nel 1954 viene installato presso il Politecnico di Milano il primo elaboratore in Italia o nel 1957 in Italia si ha il primo utilizzo di una elaboratore in azienda o nel 1958 abbiamo circa 10 elaboratori in Italia Nati come strumenti puramente scientifici, gli elaboratori elettronici negli anni 50 si sono via via diffusi anche nelle aziende e sono ormai diventati un insostituibile strumento per l elaborazione delle informazioni. La seconda generazione degli elaboratori elettronici Verso la fine degli anni 50 le valvole vengono sostituite dal transistor, e gli elaboratori vengono detti della seconda generazione. Grazie all introduzione del transistor, gli elaboratori diventano più veloci, più piccoli e si diffondono rapidamente in tutto il mondo, estendendo i loro campi di impiego in tutti i settori aziendali e non solo. Approfondimento: il transistor Il transistor venne inventato nel 1946 dagli americani J. Bardeen, W. M. Brattain e W. Shockley, che vennero insigniti, grazie a questa loro scoperta, del premio Nobel (nel 1956). Il transistor è un dispositivo costituito da un cristallo di semiconduttore (Silicio, Germanio o Arseniuro di Gallio), con zone drogate con impurità di materiali differenti (Boro, Alluminio ). A seconda della tensione applicata ai suoi terminali, il transistor è in grado di permettere oppure no il passaggio di corrente elettrica. Anche in questo caso, ai due stati del transistor (conduzione o interdizione) vengono associati i due valori logici delle variabili booleane utilizzate dagli elaboratori (0 e 1). Figura 28 - Il primo transistor Figura 29 - Valvola, transistor e chip Il transistor ha dimensioni inferiori rispetto alla valvola elettronica (pochi millimetri), consumi ridotti, velocità molto superiori (passaggio da 0 a 1 o viceversa in pochi nanosecondi), costi di produzione molto bassi. E evidente quindi come esso abbia permesso la rapida diffusione ed affermazione degli elaboratori in tutti i settori.

Nel 1955 la Bell realizzò il primo elaboratore a transistor, il TRADIC. Nel 1957 la Siemens commercializzò il modello 2002. Tra il 1960 e il 1964, l IBM costruì il modello 1401 (più di centomila esemplari) e Olivetti sviluppò ELEA (poco più di 100 esemplari) che rappresentò il primo tentativo italiano di affacciarsi al mercato degli elaboratori elettronici. Figura 30 - Logo Olivetti L introduzione del transistor ha evidentemente migliorato le prestazioni della CPU. Parallelamente a questi progressi anche le memorie di massa e i dispositivi di input e di output hanno subito forti innovazioni. Le memorie di massa a dischi sono ormai largamente diffuse e consentono velocità di lettura/scrittura elevate e capacità di memorizzazione di qualche milione di caratteri; inoltre è possibile collegare assieme più unità a disco in modo da arrivare a capacità di memorizzazione ancora superiori. Oltre alle unità di memoria di massa fisse, cioè interne agli elaboratori, si diffondono memorie mobili a dischi, che possono essere sostituite con altre in breve tempo, consentendo così di elaborare enormi quantità di dati. Gli elaboratori della seconda generazione sono inoltre in grado di svolgere operazioni aritmetiche e operazioni logiche contemporaneamente, di leggere e scrivere schede perforate e leggere e scrivere dati su supporti magnetici nello stesso tempo. In questi anni, inoltre, si assiste alla nascita e diffusione delle unità terminali (o semplicemente terminali ), connessi al calcolatore centrale: i terminali hanno solo il compito di trasmettere dati all elaboratore centrale, che invece li manipoli e li memorizza. Con la diffusione degli elaboratori, nasce anche la necessità di scrivere programmi adatti a svolgere determinati compiti. Nascono e si sviluppano allora i primi linguaggi di programmazione. La terza generazione dei calcolatori elettronici Alla metà degli anni 60 venne sviluppato un nuovo componente, destinato a rivoluzionare ancora una volta il mondo degli elaboratori elettronici: si tratta del circuito integrato, che grazie allo sforzo congiunto di tecnici elettronici, di fisici e di chimici, consente elevatissime velocità, ingombri ridottissimi ed ottima affidabilità. I primi elaboratori ad adottare circuiti integrati sono state le macchine della serie 360 IBM (oltre 30000 esemplari nel mondo), il G115 della Honeywell (1000 esemplari) e la serie 9000 della Univac (2500 esemplari). Queste macchine sono in grado di eseguire un operazione in pochi nanosecondi (miliardesimi di secondo), mille volte più velocemente degli elaboratori a transistor. Le memorie di massa, ancora costituite da nuclei di ferrite, erano però dispositivi troppo lenti per affiancare l elevata velocità di elaborazione delle nuove CPU: per questo motivo vennero introdotti nuovi tipi di memorie, più veloci, da inserire tra memorie di massa e unità centrale; in queste memorie, dette di transito, i dati potevano essere letti/scritti velocemente dall UC e successivamente trasmessi alle memorie di massa. Le nuove macchine possono essere aggiornate nel tempo, utilizzando appositi moduli che ne sostituiscono altri diventati obsoleti (lenti, di capacità insufficiente ); inoltre i programmi sviluppati possono funzionare su macchine differenti (si parla di compatibilità del software), e questo ha porta ad un incremento del mercato mondiale del software. In altre parole gli elaboratori non sono più progettati e costruiti per svolgere un determinato compito, ma si adattano a svolgere diversi programmi, nei settori più disparati.

Teoria dell informazione 11 Approfondimento: il circuito integrato Il circuito integrato venne ideato nel 1958 da Kilby (della Texas Instrument). Una barra di silicio monocristallino, viene suddivisa in tante fette sottilissime, dette Wafer, a loro volta incise con tecniche fotolitografiche; il processo di incisione va a creare regioni drogate e non di dimensioni infinitesime, consentendo la creazione di complessi circuiti, costituiti da innumerevoli componenti (tra cui i transistor, diodi e resistenze) tra di loro interconnessi, di dimensioni dell ordine di pochi millimetri. Figura 31 Circuiti integrati Questa miniaturizzazione spinta, consente di ottenere circuiti molto piccoli, velocissimi e dai consumi ridotti; inoltre si ha una crescita dell affidabilità e una notevole riduzione dei costi di produzione. Negli ani 60 i circuiti integrati contenevano alcune decine di componenti elettronici (Small Scale of Integration, SSI); negli anni 70 si è passati alla Large Scale of Integration, LSI e negli 80 alla Very Large Scale of Integration, VLSI, con un numero di componenti sempre maggiore (si arriva a oltre 100000 componenti su un singolo chip). Il primo elaboratore a circuiti integrati è stato l IBM 360. Nel 1970 abbiamo poi il PDP-11 della DEC e l IBM 370. In questi anni nasce un programma particolare, il sistema operativo il cui compito è quello di porsi come interfaccia tra l hardware e l utente, coordinando le operazioni svolte dalla macchina e facilitandone l utilizzo anche da parte di utenti poco esperti. Gli elaboratori non sono più quindi un prodotto riservato a pochi (scienziati, tecnici ) ma si stanno diffondendo anche tra i non addetti al settore. In questi anni, grazie alla velocità di elaborazione, i calcolatori possono eseguire contemporaneamente più compiti: si parla allora di multi-programmazione e di time-sharing. Più utenti possono far eseguire i loro programmi da un unico calcolatore, che riserva ad ogni processo una frazione del suo tempo. Si afferma sempre più allora le tecnica di utilizzare un elaboratore centrale cui sono collegati diversi terminali dai quali gli utenti possono eseguire programmi anche diversi. Infine, parallelamente all evoluzione della CPU anche i dispositivi di input e output diventano sempre più veloci e il modo con cui gli utilizzatori inseriscono dati o leggono risultati è sempre più user friendly, cioè vicino all uomo Si riescono ormai a leggere mille e più schede perforate al minuto e le stampanti riescono a produrre oltre 2000 righe di output al minuto; la capacità dei dischi arriva ora a molti miliardi di caratteri (forse è più facile dire molti GByte - GIGA Byte). Facendo un confronto tra le tre generazioni di calcolatori, si osserva un miglioramento delle prestazioni incredibile:

o o o elaboratore a valvole (prima generazione) circa 2000 moltiplicazioni al secondo elaboratore a transistor (seconda generazione) circa 35000 moltiplicazioni al secondo elaboratore a circuiti integrati (terza generazione) circa 2 milioni di moltiplicazioni al secondo Come detto precedentemente, le memorie a ferrite sono troppo lente per i nuovi circuiti di elaborazione: nascono allora le memorie a circuiti integrati, che utilizzano la stessa tecnologia delle CPU e garantiscono tempi di lettura e scrittura rapidissimi. Rimane ancora un limite per quanto riguarda la capacità di queste memorie, ridotta rispetto alla capacità delle memorie di massa su disco e spesso insufficiente a contenere l intero programma che si deve eseguire. Per ovviare a questo inconveniente, viene utilizzata una parte di memoria di massa come se fosse una grande memoria principale (viene chiamata memoria virtuale ) e i programmi vengono suddivisi in pagine ; solo una parte del programma si trova in memoria principale, la rimanente parte rimane nella memoria virtuale e la CPU deciderà di caricarne in memoria un altra parte quando le servirà. Il primo elaboratore ad utilizzare la tecnica della memoria virtuale fu l IBM Sistema 370, che aveva una memoria centrale di oltre 3Mbyte (3 milioni di caratteri). Inizia anche a modificarsi il modo con cui le informazioni vengono inserite negli elaboratori: dalle schede perforate si passa a dispositivi a tastiera e soprattutto a dei supporti magnetici (dischi) sui quali le informazioni possono essere facilmente registrate (memorizzate) e lette. Figura 33 - Dischi da 5 ¼ Figura 34 Disco da 3 ½ Figura 32 - Disco da 8 I microprocessori e la quarta generazione dei calcolatori elettronici Il microprocessore è un particolare circuito integrato che racchiude al suo interno tutte le funzionalità dell Unità di Controllo e dell Unità aritmetico Logica, oltre a particolari circuiti (registri) per memorizzare dati e istruzioni. La potenzialità di un microprocessore viene data dalla velocità con cui vengono eseguite le operazioni e dal numero di bit che possono essere elaborati contemporaneamente: si parla allora di clock e di bus dati. Il clock indica il numero di operazioni al secondo che possono essere eseguite, il bus dati indica invece il numero di bit che costituiscono i dati elaborati (il bus è un insieme di collegamenti tra i diversi dispositivi del microprocessore). Il microprocessore ha un bus interno (che collega cioè i circuiti interni al dispositivo) e un bus esterno che collega il microprocessore agli altri componenti dell elaboratore (memorie, dispositivi di input e output ). La nascita dei microprocessori avvenne intorno alla metà degli anni 60, ancora una volta in America. Una delle società cardine per lo studio e la realizzazione del microprocessore è stata la Bell Telephone di Boston, sede di prestigiosi laboratori. Alcuni tecnici e scienziati formatosi alla Bell, fondarono nel 1965 la Fairchild (in California, nella zona che a breve diventerà la Silicon Valley), azienda ancora Figura 35 - Intel 4004 Figura 36 Intel 8085

Teoria dell informazione 13 oggi all avanguardia nella realizzazione di circuiti integrati. Altri tecnici e scienziati (Robert Noyce e Gordon Moore) sempre provenienti dai Bell Labs, fondarono nel 1968 la Integrated Electronics (INTEL). Nel 1971 l ingegnere italiano F. Faggin e gli americani T. Hoff e S. Mazer producono il primo microprocessore della INTEL, il 4004, microprocessore a 4 bit (cioè capace di elaborare informazioni a gruppi di 4 bit), utilizzato in una calcolatrice da tavolo; le potenzialità del 4004 erano molto ridotte, tanto da spingere la INTEL stessa a realizzare a breve il 8008, microprocessore a 8 bit. Sempre nel 1971 fecero la loro comparsa i floppy disk da 8. Vista la continua richiesta di elaborazioni sempre più complesse, venne messo sul mercato il microprocessore 8080, sempre a 8 bit. Parallelamente altre aziende stavano progettando circuiti dello stesso tipo: ricordiamo il Motorola 6800 a cui succedette il 68000. Dopo altri microprocessori a 8 bit (l 8085 e l 8048), INTEL passò alla tecnologia a 16 bit, producendo l 8088 e l 8086: questi hanno inizialmente un clock di 4.77 MHz e passano successivamente a 10 MHZ. Figura 37 - Federico Faggin Nel 1972 nasce in California l era dei Videogiochi, con "Pong" (di Atari): una pallina che rimbalza sullo schermo e viene rilanciata da due sbarrette che si muovono con due potenziometri. Con Space Invaders (1978) e Pacman (1980) i progressi diventano strabilianti. Sempre nel 1972 IBM commercializzò i primi floppy disk, DEC lanciò il PDP 16 a cui succedette il VAX e B. Gates e S. Allen fondarono la Trof-O-Data, società che si occupava della registrazione dei dati del traffico autostradale. Nel 1973 IBM lancia il primo Hard Disk e successivamente il Winchester, Hard Disk da 70MB. Nel 1976, Steve Jobs e Stephan Wozniak realizzarono in modo Figura 38 - Pong pionieristico il primo Personal Computer: Apple I; visto l inaspettato successo, dopo la vendita di alcuni esemplari di Apple I (in scatola di montaggio), fondarono la Apple Computer Company. Figura 39 - Logo Apple Sempre in quegli anni abbiamo ALTAIR 8800, altro precursore dei Personal Computer prodotto da Mits: 256 KB di memoria, input garantito da alcuni interruttori manuali e output da una serie di led. Altair veniva programmato con il primo Basic, sviluppato da Gates e Allen della neo-nata MicroSoft. A Jobs e Wozniak si unì Mike Markkula (proveniente da Fairchild e Intel) e nel 1977 venne rilasciato Apple II, il vero primo Personal Computer. Apple II aveva dimensioni e costi ridotte rispetto ai precedenti elaboratori, era dotato di una tastiera per Figura 40 - Apple I Figura 41 - Apple II

l immissione dei dati e utilizzava come dispositivo di output un normale televisore: si tratta quindi di tecnologia alla portata di tutti e proprio questo sancisce la rapida diffusione del personal computer in tutto il mondo. Apple II poteva essere programmato utilizzando il linguaggio BASIC e utilizzava una memoria di massa costituita da un disco (floppy disk) da 5 ¼ pollici, e anche questo rappresenta una causa del suo successo. Nel giro di pochi anni la Apple divenne una ditta affermatissima, con migliaia di addetti e fatturato da capogiro. Nello 1976 nasce il primo supercomputer CRAY 1, in grado di eseguire 180 milioni di operazioni al secondo, utilizzando 200 mila circuiti integrati montati su 3400 schede e collegati con 100 km di cavi; il suo costo è di 17 milioni di dollari. Sempre nel 1976 la Zilog rilascia lo Z80 a 8 bit. Nel 1978 la HAYES lancia sul mercato il primo modem (modulatore-demodulatore), che trasforma i segnali digitali dei computer in segnali analogici, trasmessi e ricevuti attraverso il telefono. L utente si può così collegare con qualsiasi altro computer al mondo. Nel 1979 IBM produce la prima stampante laser. Nel 1980 anche l IBM entra nel mercato del personal computer (altre ditte, come Tandy, si erano già aggiunte precedentemente); il primo PC IBM venne presentato nel 1981, utilizzava un microprocessore 8088 con bus interno a 16 bit e soprattutto era molto più potente di tutti i suoi predecessori. Parallelamente si svilupparono aziende per la produzione di dispositivi ausiliari compatibili con la tecnologia IBM. Altre ditte puntarono ad abbassare i costi dei loro prodotti: ecco allora la Sinclair con lo Spectrum, la Commodore con il VIC20 e il Commodore 64 e la Texas Instrument. Figura 42 - Logo Sinclair Figura 43 - Commodore 64 Figura 44 Logo Texas Instrument Figura 45 Logo Commodore Figura 46 ZX Spectrum Figura 47 - TexasTI994 Nel 1982 il chip Intel 80286 possiede 134 mila transistor.

Teoria dell informazione 15 Nel 1983 lo studente americano F. Cohen realizza il primo virus per computer, che consisteva in un insieme di istruzioni capaci di penetrare in un computer via modem o floppy disk, provocando la distruzione di files e cancellando il contenuto della memoria. Nel 1984 IBM supera Apple come numero di PC venduti e diviene lo standard di fatto per i Personal Computer. Il sistema operativo con cui operavano le macchine IBM era il CP/M ideato nel 1974 da G. Kindall, a cui presto succedette l MS DOS (MicroSoft Disk Operating System), sviluppato per microprocessori a 16 bit dalla Microsoft di Paul Allen, Steve Ballmer e Bill Gates, fondata sempre in USA nel 1977. Nel 1985 il chip 80386 possiede 275 mila transistor. Nel 1989 il chip 80486 possiede 1,2 milioni di transistor. Figura 48 - Pentium Nel 1993 nasce il PENTIUM: contiene 3,2 milioni di transistor, 15.000 per millimetro quadrato (i transistor utilizzati sono cento milioni di volte più piccoli del loro primo predecessore). I laboratori INTEL dove vengono sviluppati questi processori hanno una purezza dell'aria un milione di volte maggiore di quella che respiriamo nelle nostre città. L aria viene filtrata sette volte al minuto e la temperatura è mantenuta a 21 ; l umidità è continuamene monitorata e il personale è fornito di cuffia, camice e mascherina. Nel 1991 fanno la loro comparsa i primi microprocessori AMD; nel 1992 nascono i Cyrix. Nel 1994 abbiamo AMD 486DX2 a 80 MHz e Pentium a 100 MHz; negli anni successivi arrivano Pentium Pro, Pentium II, Pentium MMX, Pentium III (siamo nel 1999) e Pentium IV e AMD Duron e Athlon (solo per citarne alcuni). In questi ultimi anni (scriviamo agli inizi del 2002), si assiste ad un vertiginoso incremento della velocità a cui operano i microprocessori siamo ormai oltre i 2 GHz e si parla ormai di tecnologia a 64 bit Breve storia dei linguaggi di programmazione, dei sistemi operativi e del software applicativo. Poiché la CPU lavora con 0 e 1, un programma sarà costituito da lunghe sequenze di 0 e 1 che istruiscono la macchina sulle operazioni da svolgere. Appare evidente che scrivere programmi le cui istruzioni sono costituite da lunghe sequenze di bit (linguaggio macchina) è un compito assolutamente non banale. Un programma quindi è la sequenza delle istruzioni che la macchina deve eseguire; il programma viene caricato nella memoria dell elaboratore e da lì eseguito, istruzione per istruzione, dalla CPU. In una fase preliminare, il problema che la macchina deve svolgere, viene rappresentato sotto forma di diagramma di flusso o flow chart e successivamente tradotto in linguaggio macchina. Vista la necessità di scrivere direttamente in linguaggio macchina, nasce nel 1957 un linguaggio simbolico, il FORTRAN (da traduttore di formule ), sviluppato da John Backus, IBM. Il linguaggio simbolico sostituisce le sequenze di 0 e 1 con delle sequenze più brevi di lettere e numeri, con significati ben precisi e facilmente intelligibili dall uomo. Il programmatore scriverà il programma

utilizzando questi simboli (con un minor rischio di commettere errori) e la macchina dovrà tradurre il programma scritto con il linguaggio simbolico in linguaggio macchina. Nel 1958 il LISP venne sviluppato da John McCarthy al MIT. Nei primi anni 60 vedono la luce altri linguaggi di programmazione simbolici: abbiamo già parlato del FORTRAN (FORmula TRANslator), principalmente utilizzato per problemi scientifici e tecnici, abbiamo il COBOL (COmmon Business Oriented Language), principalmente utilizzato per problemi di tipo economico e finanziario in cui si manipolano molte informazioni con operazioni poco complesse (i simboli che costituiscono questo linguaggio sono parole normalmente utilizzate nel mondo del commercio), l ALGOL (ALGOrithmic Language), che ha contribuito allo lo sviluppo del FORTRAN e del PASCAL, nato nel 1968 grazie a Niklaus Wirth e Kathleen Jensen. Nascono in questi anni anche i programmi applicativi, cioè programmi scritti e messi in commercio da software house adatti a svolgere un ben determinato compito, eventualmente grazie a piccole modifiche o personalizzazioni; nasce quindi un nuovo settore, che si sviluppa in modo parallelo al settore hardware, che è appunto il settore software. Nascono altri linguaggi di programmazione: l APL (A Programming Language), di Ken Iverson dell'università di Harvard (1962), il PL/1 (Programming Language 1), adatto a problemi scientifici e commerciali, il BASIC (Beginners All-purpouse Symbolic Instruction Code), di facile utilizzo anche da utenti non esperti (Tom Kurtz e John Kemeny, Dartmouth College). Nel 1963 abbiamo la nascita del primo software Computer-Aided Design (CAD). Nel 1969 Ken Thompson elaborò la prima versione del Sistema operativo Unix (all'at&t's Bell Laboratories. Nel 1970 venne sviluppato da Charles Moore il linguaggio FORTH. Nel 1974 Brian Kernighan e Dennis Ritchie svilupparono il linguaggio di programmazione C. Nel 1975 Bill Gates e Paul Allen svilupparono un nuovo BASIC, l MSBASIC, utilizzato da Altari. Nel 1979 uscirono i primi word processor (Apple Writer e Wordstar), il primo foglio elettronico (VisiCalc per Apple II), Vulcan database program (dbase II), il linguaggio ADA, il Modula I (di Wirth); Apple Computer rilasciò il DOS 3.2 (Disk Operating System), sviluppato dall'applesoft. Nel 1980 abbiamo il sistema operativo Unix BSD 4.1. Logo Computer Systems (Canada) commercializzò il suo linguaggio: il LOGO. Nel 1981 Microsoft rilasciò MS-DOS 1.0, (su un prototipo IBM 5150, noto come IBM PC). Nel 1982 abbiamo il Fortran per sistemi MS-DOS, MBA (pacchetto con word processor, foglio elettronico, grafica...), il foglio elettronico Lotus 123, il GW Basic e l'ms Cobol di MicroSoft. L'anno successivo vedono la luce i word processor MicroSoft Word e WordPerfect (della Satellite Software), il C++ (evoluzione del C), il Turbo Pascal della Borland, un prototipo di Windows, OS/2 e Netware di Novell (per quanto riguarda i sistemi operativi). Il 1985 diede i natali a MSDOS 3.0 e X Windows per sistemi Unix e il 1986 a MS Windows 1.0 e a QBasic 1.0 (sempre Microsoft); nel 1987 abbiamo Windows 2.0, nel 1988 MS Office 1.0 (suite di programmi per l'ufficio), nel 1990 Windows 3.0, nel 1991 MS Word ed Excel 3.0, Linux, Windows NT. Nel 1992 arrivano Windows 3.2, IBM OS/2 2.0, MS DOS 6.0, MS Access 1.0; nel 1993 Mosaic (il primo browser), nel 1994 Apple Quick Time 2.0, Netscape Navigator, le Norton Utilities 3.0, MS Word 6 per Mac; nel 1995 Borland Delphi, Windows 95, MS Internet Explorer; nel 1996 Windows NT 4, nel 1998 Windows 98, nel 2000 Windows 2000 e ME... Bibliografia essenziale P. Bishop, L'informatica, Jackson. AA.VV., La scienza dei calcolatori e La cultura del calcolatore, I quaderni de Le Scienze, n. 56 e 75. M. Bozzo, La grande storia del computer, Dedalo. G. Ifrah, Storia universale dei numeri, Mondadori