Evoluzione degli Elaboratori Generazione 0 (1600-1945) Pascal (1623-1662) ! addizioni e sottrazioni Leibniz (1646-1716) ! anche moltiplicazioni e divisioni Charles Babbage (1792-1871) ! A) Macchina Differenziale ! Algoritmo fisso (differenze finite) ! Output su piastra di rame ! B) Macchina Analitica ! Prima macchina programmabile ! Primo programmatore: Ada Lovelace (figlia di Lord Byron) ! Memoria: 1000 x 50 cifre decimali ! Mulino (CPU) ! I/O su schede perforate ! Limite: tecnologia meccanica N.B. Quasi tutta l’evoluzione ha avuto luogo negli ultimi 50 anni Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) 9 Generazione 0 (continua) 10 I Generazione (1945-1955) (Macchine elettromeccaniche) (Tecnologia a tubi termoionici) COLOSSUS (~1940 GB) ! Gruppo di Alan Turing ! Decifrazione del codice Enigma ! Progetto mantenuto segreto ! Konrad Zuse (~1930 Germania) ! Macchina a relè ! Distrutte nella guerra John Atanasoff (~1940 USA) ! Aritmetica binaria ! Memoria a condensatori ENIAC (~1946 USA) ! J. Mauchley, J. Eckert ! 18.000 valvole ! 30 tonnellate di peso ! 140kw assorbimento ! Programmabile tramite 6000 interruttori e pannelli cablati ! 20 registri da 10 cifre Howard Aiken (~1940 USA) ! MARK 1: versione a relè della macchina di Babbage ! Memoria: 72 x 23 cifre decimali ! tempo di ciclo: 6 sec. ! I/O su nastro perforato Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) EDVAC (~1950 USA) ! Successore dell’ENIAC ! Mai giunto a termine 11 Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) 12 Il Boom del Mercato La Macchina di Von Neumann Finora gli elaboratori sono limitati all’ambito scientifico, a quello militare e istituzionale (censimento) Diventa ormai chiara l’occasione di mercato Nel 1950 Mauchley e Eckert escono dal progetto EDVAC e fondano la UNIVAC, la prima grossa società del settore IAS (~ 1950, Princeton USA) ! Programma memorizzato ! Aritmetica binaria ! Memoria: 4096 x 40 bit ! Formato istruzioni a 20 bit: Fine dell’era romantica: da Lady Ada Lovelace, figlia di Byron e prima programmatrice, a Bill Gates... OPCODE 8 Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) 13 14 (Tecnologia a transistor) Inizialmente il mercato è dominato dalla UNIVAC L’IBM entra nel mercato nel 1953, e assume una posizione dominante che manterrà fino agli anni ‘80: ! IBM 701 (1953): TXO e TX2 macchine sperimentali costruite al MIT Uno dei progettisti del TX2 fonda una propria società la Digital Equipment Corporation (DEC) La DEC produce il PDP-1 (1951): ! Memoria: 4k parole di 18 bit ! Tempo di ciclo di 4µsec ! Prestazioni simili all’IBM 7090 ! Prezzo meno di un decimo ! Schermo grafico 512 × 512 pixel ! Comincia la produzione di massa Memoria: 2k word di 36 bit ! 2 istruzioni per word ! IBM 704 (1956): Memoria: 4k word di 36 bit ! Istruzioni a 36 bit ! Floating-point hardware ! ! Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) II Generazione (1955-1965) Sistemi Commerciali ! INDIRIZZO 12 IBM 709 (1958) (primi videogiochi) Praticamente un 704 potenziato ! Ultima macchine IBM a valvole ! Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) 15 Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) 16 Sistemi Commerciali Il Minicomputer Mainframe : grossi calcolatori per applicazioni scientifiche, militari e PA IBM 7090 ! Versione transistorizzata del 709 ! Memoria 32k word a 36 bit ! Tempo di ciclo 2 µsec ! Domina il mercato fino agli anni ‘70 ! Pochi esemplari, costano milioni di dollari ! DEC PDP-8 (1965) Piccoli sistemi: per medie aziende o di appoggio ai mainframe ! Successore diretto del PDP-1 ! Interconnessione a bus, molto flessibile ! Architettura incentrata sull’I/O ! Possibilità di connettere qualsiasi periferica ! Prodotto in oltre 50.000 esemplari IBM 1401 ! Stessa capacità di I/O del 7090 ! Memoria 4k word 8bit (1byte) ! Orientata a caratteri ! Istruzioni per la manipolazione di stringhe Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) 17 Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) Supercomputer 18 III Generazione (1965-1980) (Tecnologia LSI e VLSI) ! ! ! ! ! ! ! Macchine molto potenti dedicate al number crunching 10 volte più veloci del 7090 Architettura molto sofisticata Parallelismo all’interno della CPU Nicchia di mercato molto specifica (resta vero anche oggi) CDC 6600 (1964) Progettista del CDC 6600 è Seymour Cray, poi fondatore della CRAY Evoluzione dell’architettura HW ! ! ! Evoluzione dei Sistemi Operativi ! ! ! Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) Microprogrammazione Unità veloci floating-point Processori ausiliari dedicati alla gestione dell’I/O 19 Virtualizzazione delle risorse Multiprogrammazione: esecuzione concorrente di più programmi Memoria Virtuale: rimuove le limitazioni dovute alle dimensioni della memoria fisica Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) 20 Serie IBM System/360 Serie DEC PDP-11 e UNIX Evoluzione diretta del PDP-8 ! Parole di memoria e istruzioni a 16 bit ! Architettura a bus (Unibus) ! Grande flessibilità nella gestione e nell’interfacciamento di periferiche e strumentazione al bus ! Domina il mercato fino alla fine degli anni ’70 ! Prodotto in milioni di esemplari ! Diffusissimo nelle università ! Supporta il sistema operativo UNIX, indipendente dalla piattaforma ! Influenzerà un’intera generazione di progettisti e di utenti ! ! ! ! ! ! ! ! L’IBM introduce una famiglia di elaboratori (passo decisivo) Serie IBM System/360 Macchine con lo stesso linguaggio Range di prestazioni (e prezzo) 1-20 Completa compatibilità Portabilità totale delle applicazioni Sistema Operativo comune OS/360 Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) 21 22 La legge di Moore (1965) IV Generazione: il PC Diretto discendente del minicomputer: ! Architettura a bus ! Parole e istruzioni a 16 bit Nasce nel 1980 all’ IBM (che dà così avvio alla propria decadenza) Esplosione del mercato dei “cloni” Crollo dei costi ed enorme espansione dell’utenza Dai grandi Centri di Elaborazione a un contesto di Informatica Distribuita L’espansione del PC è trainata da tre fattori: ! Aumento della capacità della CPU ! Discesa dei costi della memoria ! Discesa dei costi dei dischi Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) Il numero di transistor su di un chip raddoppia ogni 18 mesi Circa un aumento del 60% all’anno Conseguenze: ! Aumento della capacità dei chip di memoria ! Aumento della capacità delle CPU 23 Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) 24 Legge di Moore per le CPU Legge di Nathan Il software è un gas: riempie sempre completamente qualsiasi contenitore in cui lo si metta Al calare dei costi e all’aumentare della memoria disponibile, le dimensioni del software sono sempre cresciute in proporzione Il Circolo Virtuoso ! Spinta tecnologica (Moore law) ! Costi più bassi e prodotti migliori ! Nuove applicazioni e mercati ! Nuove compagnie e maggiore competizione ! Spinta tecnologica …... Più transistor in una CPU significano: ! Eseguire direttamente istruzioni più complesse ! Maggiore memoria sul chip (cache) ! Maggiore parallelismo interno N.B. Altro fattore tecnologico decisivo è la frequenza di funzionamento Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) 25 Tipologie di Computer Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) 26 Tipologie di computer (2) Personal Computer ! Sappiamo chi è Server ! Su rete locale o Web server ! Memorie fino a qualche Gbyte ! Molti Gbyte di disco ! Gestione di rete efficiente COW (Cluster of workstations) ! Sistema multiprocessore ad accoppiamento lasco ! Hardware di tipo standard: costi contenuti ! Strutture di connessione veloci ! Elevata capacità di elaborazione complessiva Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) 27 Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) 28 La famiglia Intel Tipologie di Computer (3) Mainframe ! Diretti discendenti della serie 360 ! Gestione efficiente dell’I/O ! Periferie a dischi di molti Tbyte ! Centinaia di terminali connessi ! Costi di parecchi miliardi Perché sopravvivono? ! Gestiscono applicazioni legacy ! Costi di migrazione delle applicazioni molto superiori a quelli dell’HW Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) 29 Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) Pentium III ! ! ! ! ! ! ! ! Pentium IV Disponibilità: febbraio 1999 450Mhz – 1Ghz di frequenza di clock Pipeline a 10 stadi Circa 9 milioni di transistor in un chip 4 GB di memoria indirizzabile Nuove istruzioni SIMD (SSME2) per applicazioni multimediali (estensione del set MMX) Potenziamento delle memorie cache Introduzione di un numero di serie al processore (abilitazione via software) Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) 30 ! ! ! ! ! ! ! ! 31 Disponibilità: dicembre 2000 1.3–2 Ghz di frequenza di clock Pipeline a 20 stadi Circa 30 milioni di transistor in un chip Bus di sistema a 400 Mhz 144 nuove istruzione SIMD per applicazioni multimediali Tecnologia di integrazione a 0.18-micron Potenziamento delle memorie cache Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) 32 La Famiglia SPARC Java e Java Virtual Machine Java: linguaggio di programmazione orientato agli oggetti introdotto da Sun: ! In alternativa al C++ ! Risolve i problemi di sicurezza ! Gestione della multimedialità Scalable Processor ARChitecture Proposta da Sun Microsystems nel ’87 Dedicata a workstation Unix Non prodotta direttamente da Sun Caratteristiche principali ! Insieme ridotto di istruzioni (55) ! Esecuzione non interpretata ! Architettura a 32 bit ! Unità FP addizionale (14 istr.) UltraSPARC I (1995) ! Registri e indirizzi a 64 bit ! VIS (Visual Instruction Set) ! Dedicata a sistemi high-end : dozzine di CPU, memorie di Tbyte Ultra SPARC II e III Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) 33 Portabilità delle applicazioni Java Codice JVM Obiettivo: ! distribuire, eventualmente su rete, software indipendente dalla piatta-forma Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) 34 Portabilità ed efficienza Vantaggi di Java: ! Indipendenza dalla piattaforma ! Totale portabilità delle applicazioni Codice JAVA JAVA Compiler JVM (Java Virtual Machine): ! Macchina virtuale che esegue un codice speciale (Java byte code) ! Il codice JVM può essere eseguito da interpreti software su diverse piattaforme Codice piattaforma HW JAVA Machine (HW) Interprete JVM (SW) Compilatore Just In Time (SW) Tipico contesto applicativo: il Web ! Applets: piccoli programmi inseriti nelle pagine HTML ! I browser hanno al loro interno interpreti JVM ! Semplice sviluppo di applicazioni client-server su Internet RETE Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) Svantaggi di Java: ! Inefficienza degli interpreti ! Potenziale inefficienza del codice 35 Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) 36 Java: Soluzioni HW e SW Soluzione SW (parziale): ! Compilatori JIT (Just In Time) ! Compilazione al volo subito prima dell’esecuzione ! Ritardo di compilazione Soluzione HW: ! Java Machine: implementazione HW della Java Virtual Machine ! PicoJava I e II: ! Architettura definita da Sun ! Diverse implementazioni disponibili Riccardo Torlone - Corso di Calcolatori Elettronici (a.a. 2001/2002) 37