Storia del Calcolatore • A parte alcuni dispositivi rudimentali dell'antichità classica, non vi furono progressi tecnologici rilevanti fino a circa il 1650 • Per tre secoli, vennero ideati dispositivi meccanici di complessità crescente con elementi di base quali: • ingranaggi, leva, puleggia,… • Verso gli inizi del 1900 si cominciarono ad aggiungere dispositivi elettrici, ottenendo calcolatori elettromeccanici •Motore elettrico, relais,… • Potenza di calcolo ≤ decina di operazioni al secondo • La memoria era interamente meccanica • molto costoso, ingombrante, rumoroso e poco affidabile Storia del Calcolatore: Generazione 0 • Possiamo includere in questa generazione ogni dispositivo meccanico atto ad automatizzare processi di calcolo o movimenti meccanici •Abaco Romano •Abaco Giapponese Storia del Calcolatore: Generazione 0 • Pascalina, B. Pascal (1623-1662) calcolatrice meccanica per addizioni e sottrazioni • perfezionata da G. Leibnitz per il calcolo di moltiplicazioni e divisioni •Regolo, E. Gunter. Calcola potenze, radici quadrate e cubiche Storia del Calcolatore: Generazione 0 J.M. Jacquard (1752-1834), costruisce la prima macchina automatica (1805). E’ un telaio da tessitura comandato da schede perforate che schematizzavano il disegno finale. Macchina flessibile (schede sostituibili), grande diffusione (rivoluzione nella produzione di tessuti). Storia del Calcolatore: I Generazione • La I generazione di calcolatori elettronici appare durante la II guerra mondiale •Valvola ad effetto termoionico o tubo a vuoto • Creazione del primo calcolatore monoprocessore, volgarmente noto come macchina di von Neumann • linguaggio di programmazione era costituito da un linguaggio macchina simbolico che veniva poi tradotto tramite l'assemblatore (un altro programma) in linguaggio binario • il numero di operazioni al secondo crebbe fino a 1000 • anche la memoria era costituita dalle valvole • il sistema di I/O si basava sulla "tecnologia" delle schede o nastri perforati • Si iniziarono a vedere le prime memorie centrali a nuclei magnetici e memorie di massa a tamburo magnetico Macchina di von Neumann Si basa sulle seguenti osservazioni fondamentali: • il calcolatore dovrà eseguire con maggiore frequenza operazioni aritmetiche, per cui e’ ragionevole che abbia uno o più dispositivi specializzati per tali operazioni (ALU) • il controllo logico del dispositivo, ossia la corretta sequenza con cui effettuare tali operazioni, può essere effettuato in modo più efficiente da un controllore centrale flessibile, che distingua tra ordine di esecuzione delle istruzioni (dipendono dal problema da risolvere, per cui devono essere memorizzate) e modalità di esecuzione delle singole istruzioni (dipendono dal calcolatore, per cui gestite dal dispositivo stesso) (CU) • la sequenza di istruzioni e i dati su cui opera devono essere immagazzinati in memoria • I dati e risultati devono poter essere scambiati con l’esterno attraverso unità di ingresso/uscita (I/O) • tutti i dispositivi citati devono poter colloquiare tra loro attraverso oppurtuni collegamenti (BUS) Macchina di von Neumann ENIAC: Il primo calcolatore elettronico ENIAC (Electronic Numerical Integrator And Calculator) • Sviluppato presso l’Università della Pennsylvania • Finanziato dal Ministero della Difesa USA • Costruito e utilizzato tra il 1943 e il 1946 •Una “U” di 30 metri alta 3m e di 1m di spessore • 30 tonnellate • 18.000 tubi a vuoto (valvole) • 20 registri di 10 cifre (ogni registro lungo oltre mezzo metro) • 200 microsec per un’addizione • 150 KW di consumo. • Programmazione manuale attraverso fili e interruttori • Dati introdotti attraverso schede perforate • Output su telescriventi ENIAC: Il primo calcolatore elettronico Storia del Calcolatore: II Generazione • verso la fine del 1940 venne scoperto il ruolo fondamentale che potevano avere i semioconduttori e furono creati i primi transistor. • Il transistor soppiantò in 15 anni l'utilizzo delle valvole • La seconda generazione si puo' collocare tra gli anni 1955-1965 • anche lo sviluppo delle tecnologie relative alla memoria si affinò e le rese sempre più affidabili ed economiche • Furono ideati i primi linguaggi ad alto livello, come il Fortran • comparvero di conseguenza i primi compilatori •Utilizzo di processori di I / O separati, che funzionavano in parallelo con il processore principale Storia del Calcolatore: III Generazione • primi anni '60 • viene sviluppato il transistore laterale, ovvero un transistore realizzato su una superficie 2D anziché in un blocco 3D • comparvero quindi i primi circuiti integrati •Numerosi transistori vengono integrai su una stessa piastrina di silicio • La memoria centrale elettronica soppianta i nuclei magnetici • concetto di microprogrammazione • primi passi su • parallelismo • pipelining • memoria cache e memoria virtuale • principali calcolatori su mercato: IBM System 360, Digital Equipment Corporation (DEC) PDP Microcomputer IBM System 360 Storia del Calcolatore: IV Generazione • a partire dai primi anni '70 • avanzamento della tecnologia che portò ad integrare su un solo circuito l'intero processore e parte della memoria • decine di migliaia di transistori erano integrati in un solo chip •Very large scale integration, VLSI •Nascita del microprocessore • Principali case produttrici: •Intel, Motorola, Texas Instruments, AMD (USA) • ST Microelectronics (IT + FR) •Altre generazioni (o meglio tipologie): per intelligenza artificiale, a parallelismo massivo, dei sistemi distribuiti Minicomputer PDP 11 VAX 780 Personal computer APPLE II Legge di Moore La capacità elaborativa raddoppia ogni 18 mesi Enunciata nel 1965. Modificata varie volte • inizi ‘70: 2x ogni 12 mesi (per gli anni ‘70) • 1975: 2x ogni 2 anni (per gli anni ‘70) • metà ‘80: 2x ogni 18 mesi (da allora in avanti) Si riferiva in realtà al numero di transistor per unità di superficie ma l'aumento del numero di transistor di una CPU si traduce in: • Eseguire istruzioni piu' complesse • maggiore memoria (cache) • maggiore parallelismo interno Legge di Moore Legge di Moore Legge di Moore Legge di Nathan Il software è come un gas: si espande fino a riempire completamente il contenitore in cui lo si mette Al calare dei costi e all’aumentare della memoria disponibile le dimensioni del software sono sempre cresciute in proporzione La continua aggiunta di funzionalità al software implica una costante richiesta di microprocessori più veloci, memorie più grandi, I/O più prestanti (circolo virtuoso) Trend degli ultimi Anni • Migliorie architetturali, es. Pentium 4 Hyper -Thread • parallelismo tra microistruzioni all'interno del processore • 64 bit • Diminuzione del consumo energetico mantenendo o continuando a migliorare i valori prestazionali, es. Core 2 Duo