Corso Informatica 201’ www.corsoinfo.medicina.unimib.it Ing. Fabrizio Cattadori Fabrizio.cattadori@unimib.it
Storia La prima macchina per addizioni, lontano precursore del computer digitale, fu inventata nel 1642 dal filosofo e scienziato francese Blaise Pascal. Era costituita da una serie di ruote a dieci denti, ciascuno associato a una cifra compresa tra 0 e 9. Le ruote erano collegate in modo che i numeri potessero essere sommati facendo avanzare le ruote del giusto numero di denti. Intorno al 1670, il filosofo e matematico tedesco Gottfried Wilhelm Leibniz perfezionò la macchina di Pascal, realizzandone una capace di eseguire anche le moltiplicazioni. Anche l'inventore francese Joseph-Marie Jacquard contribuì inconsapevolmente alla nascita dell'elaboratore: progettando un telaio automatico usò sottili tavolette di legno perforate per controllare la tessitura di motivi complicati. Negli anni Ottanta dell'Ottocento, l'ingegnere statunitense Herman Hollerith sviluppò l'idea di elaborare dati usando schede perforate simili alle tavolette di Jacquard. Con un sistema che faceva passare schede perforate sopra opportuni contatti elettrici, egli riuscì a compilare elaborazioni statistiche per il censimento degli Stati Uniti del 1890.
La macchina analitica Sempre nel XIX secolo, il matematico e inventore britannico Charles Babbage progettò una serie di macchine, tra cui la macchina delle differenze e la macchina analitica, capaci di trattare problemi matematici complessi secondo un principio di funzionamento assai vicino a quello dei moderni computer digitali. Molti storici considerano Babbage e la sua collega, la matematica Augusta Ada Byron (1815-1852), sorella del poeta George Gordon Byron, gli inventori del moderno computer digitale. La macchina analitica possedeva infatti molte delle prestazioni di un moderno calcolatore: aveva un flusso di dati in ingresso costituito da una pila di schede perforate, un "magazzino" (store) per conservare i dati, una "fabbrica" (mill) per svolgere le operazioni aritmetiche, e una stampante che produceva una registrazione permanente. La tecnologia del tempo non fu in grado, tuttavia, di tradurre i progetti di Babbage in dispositivi d'uso pratico.
Gli elaboratori elettronici Durante la seconda guerra mondiale, una squadra di scienziati e matematici che operava a Bletchley Park, a nord di Londra, creò una macchina chiamata Colossus, contenente 1500 tubi a vuoto, considerata il primo computer digitale interamente elettronico. Nel mese di dicembre del 1943 Colossus era operativo; esso fu usato dal gruppo guidato dal matematico britannico Alan Turing per interpretare i messaggi radio cifrati dei tedeschi. Indipendentemente da Colossus, un prototipo di macchina elettronica era stato realizzato negli Stati Uniti fin dal 1939, da John Atanasoff e Clifford Berry presso l'Iowa State College.
L’ENIAC Le successive ricerche portarono nel 1945 allo sviluppo del computer ENIAC (Electronic Numerical Integrator and Computer). Esso conteneva 18.000 tubi a vuoto e vantava una velocità operativa di molte centinaia di moltiplicazioni al minuto, ma il suo programma era cablato negli stessi circuiti del processore, il che imponeva che la programmazione venisse effettuata mediante aggiustamenti manuali della circuiteria. Il modello successivo di elaboratore elettronico, realizzato in base agli studi del matematico ungaro-statunitense John Neumann, fu dotato di un "magazzino" a parte per i programmi. Il fatto che le istruzioni venissero registrate in un'apposita memoria liberava il computer dalle limitazioni di velocità dovute alla lettura del nastro perforato durante l'esecuzione dei programmi e permetteva di ottenere l'esecuzione di compiti diversi senza alcun intervento sui collegamenti.
I computer elettronici L'uso dei transistor al silicio nei computer, negli ultimi anni Cinquanta, segnò l'avvento di elementi logici più piccoli, veloci e versatili di quelli realizzabili con i tubi a vuoto. I transistor, più durevoli e meno costosi in termini di potenza, permisero la messa a punto di elaboratori più evoluti, compatti, veloci ed economici: i "computer di seconda generazione".
I circuiti integrati I primi circuiti integrati (IC) comparvero verso la fine degli anni Sessanta. Permisero di realizzare numerosi transistor e relativi collegamenti su un unico substrato di silicio. Il loro impiego nei computer produsse ulteriori riduzioni del prezzo e delle dimensioni delle macchine e un significativo incremento della loro funzionalità. Il microprocessore fece la sua comparsa alla metà degli anni Settanta, quando furono prodotti circuiti a grande scala di integrazione (Large Scale Integration, LSI) e poi a grandissima scala di integrazione (Very Large Scale integration, VLSI), contenenti milioni di transistor interconnessi, realizzati su un'unica piastrina di silicio.
Le macchine degli anni Settanta Le macchine degli anni Settanta, in genere, potevano riconoscere gruppi di otto stati; in altre parole, potevano trattare otto cifre binarie (binary digits, o bit) a ogni ciclo. Un gruppo di otto bit costituisce un byte; un byte può assumere 28=256 possibili configurazioni di stati ON e OFF (1 o 0). Ognuna di queste configurazioni può rappresentare un'istruzione, una sua parte o un dato, come un numero, un carattere o un simbolo grafico. La combinazione 11010010, ad esempio, può rappresentare un dato numerico binario o un'istruzione, come "confronta il contenuto di un registro con quello di una data cella di memoria".
La “parola” dei microprocessori Un computer che elabora le informazioni a gruppi contemporanei di 8 bit viene detto computer a 8 bit. Tale designazione può far riferimento sia alla lunghezza di parola (unità base di informazione elaborata) del microprocessore sia, più comunemente, al numero di bit trasferiti in una singola operazione lungo il bus dei dati, che è la via di collegamento lungo la quale le informazioni viaggiano da o verso il microprocessore. Lo sviluppo di computer capaci di trattare in blocco combinazioni di 16, 32 o 64 bit aumentò la velocità di elaborazione. L'insieme di tutte le combinazioni di bit che un computer è in grado di riconoscere come comandi, cioè l'elenco completo delle sue istruzioni, è detto set di istruzioni. Entrambe queste caratteristiche (bit trattati in un passo e dimensioni del set di istruzioni) sono in continuo miglioramento nei moderni elaboratori.