Parte I Evoluzione dei Sistemi di Elaborazionesalza/Calcolatori-TLC/Teoria-I-CE.pdf · Evoluzione...
Transcript of Parte I Evoluzione dei Sistemi di Elaborazionesalza/Calcolatori-TLC/Teoria-I-CE.pdf · Evoluzione...
I.1Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
Parte I
Evoluzione dei Sistemidi Elaborazione
I.2Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
Contenuti del Corso
• L’architettura dell’elaboratore e lesue componenti
– Struttura a livelli– CPU, memoria, dispositivi di I/O– Sottosistemi di I/O– Periferiche
• Il livello della logica digitale– Circuiti logici di base– L’unità aritmetico logica– La memoria centrale– I bus e la gestione dell’I/O
• Il governo dell’unità centrale– Governo a microprogramma– Pipelining– Memorie cache
I.3Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
• L’architettura della macchina standard– Formato delle istruzioni– Modalità di indirizzamento– Istruzioni di I/O– Trap e interruzioni
• Il Sistema Operativo– Gestione della memoria– Gestione dei processi– Il File System
• Traduzione e collegamento– Linguaggi di programmazione– Assemblatori– Collegatori e caricatori
• Architetture parallele– Architetture SIMD– Architetture Shared-Memory– Massive Parallel Processors
I.4Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
Esercitazioni
• Programmazione in linguaggio C
• Enfasi sulle caratteristiche dellinguaggio e non sugli algoritmi
• Gestione dell’ I/O
• Manipolazione di stringhe
• Accesso al Laboratorio di Calcolodella Facoltà
• Distribuzione di Software:compilatori C ecc.
I.5Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
Riferimenti
• A.S. Tanenbaum: Architettura dei com-puter: un approccio strutturato, 4a ed.,UTET, 2000.
Edizione originale:
• A.S. Tanenbaum: Structured ComputerOrganization, 4th ed., Prentice-Hall, 1999
Per il linguaggio C:
• Darnell-Margolis, C Manuale di Pro-grammazione, Mc Graw-Hill (ristampa)
• Dispensa, Esercizi d’esame svolti diprogrammazione in C, a cura di S. Salza,G. Santucci, A. Scharef
I.6Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
Modalità di esame
• Prova scritta– Teoria: esercizi e domande 1.5 h– C: programmi e domande 1.5 h
• Orale– Discussione della prova di teoria– Discussione della prova di C e deiprogrammi svolti su calcolatore
• Colloquio: la prima volta in assolutoche ci si presenta all’esame (rispondereall’appello equivale a sostenere il col-loquio)
• Oltre il colloquio (uno nella vita) sipuò sostenere l’esame al massimo 2volte per anno accademico, e una persessione
I.7Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
Prenotazioni esami
• Le prenotazioni vanno effettuate viaInternet, all’indirizzo:
http://151.100.8.33:8080/index.html
• È possibile sia prenotarsi checancellarsi fino ad una settimana primadell’esame
• Si raccomanda di cancellarsi, quandosi decide di non venire
Prenotarsi per due volte all'esamesenza poi sostenerlo e senza averannullato la prenotazione verràconsiderato come aver sostenuto
una prova con esito negativo
I.8Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
Evoluzione degli Elaboratori
N.B. Quasi tutta l’evoluzione ha avutoluogo negli ultimi 50 anni
I.9Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
Generazione 0 (1600-1945)
• Pascal (1623-1662)– Pascaline: addizioni e sottrazioni
• Leibniz (1646-1716)– Anche moltoplicazioni 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
I.10Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
Generazione 0 (continua) (Macchine elettromeccaniche)
• Konrad Zuse (~1930 Germania)
–Macchina a relè
– Distrutte nella guerra
• John Atanasoff (~1940 USA)
– Aritmetica binaria
– Memoria a condensatori
• Howard Aiken (~1940 USA)
– MARK 1: versione a relè dellamacchina di Babbage
– Memoria: 72 x 23 cifre decimali
– tempo di ciclo: 6 sec.
– I/O su nastro perforato
I.11Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
I Generazione (1945-1955)(Tecnologia a tubi termoionici)
• COLOSSUS (~1940 GB)– Gruppo di Alan Turing– Decifrazione del codice Enigma– Progetto mantenuto segreto
• ENIAC (~1946 USA)– J. Mauchley, J. Eckert– 18.000 valvole– 30 tonnellate di peso– 140kw assorbimento– Programmabile tramite 6000interruttori e pannelli cablati
– 20 registri da 10 cifre• EDVAC (~1950 USA)
– Successore dell’ENIAC– Mai giunto a termine
I.12Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
La Macchina di Von Neumann
• IAS (~ 1950, Princeton USA)– Programma memorizzato– Aritmetica binaria– Memoria: 4096 x 40 bit– Formato istruzioni a 20 bit:
OPCODE INDIRIZZO
128
I.13Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
Sistemi Commerciali
• Inizialmente il mercato è dominatodalla UNIVAC
• L’IBM entra nel mercato nel 1953, eassume una posizione dominante chemanterrà fino agli anni ‘80:
– IBM 701 (1953):• 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
– IBM 709 (1958)• Praticamente un 704 potenziato• Ultima macchine IBM a valvole
I.14Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
II Generazione (1955-1965)(Tecnologia a transistor)
• TXO e TX2 macchine sperimentalicostruite allo MIT
• Uno dei progettisti del TX2 fondauna propria società la DigitalEquipment 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(primi videogiochi)
– Comincia la produzione di massa
I.15Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
Sistemi Commerciali
Mainframe : grossi calcolatori perapplicazioni 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 $
Piccoli sistemi: per medie aziende o diappoggio ai mainframe
• IBM 1401– Stessa capicità di I/O del 7090– Memoria 4k word 8bit (1byte)– Orientata a caratteri– Istruzioni per la manipolazione distringhe
I.16Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
Il Minicomputer
• DEC PDP-8 (1965)
• Successore diretto del PDP-1
• Interconnessione a bus, molto flessibile
• Architettura incentrata sull’I/O
• Possibilità di connettere qualsiasiperiferica
• Prodotto in oltre 50.000 esemplari
I.17Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
Supercomputer
• Macchine molto potenti dedicate alnumber 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 è SeymourCray, poi fondatore della CRAY
I.18Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
III Generazione (1965-1980)
(Tecnologia LSI e VLSI)
• Evoluzione dell’architettura HW:– Microprogrammazione
– Unità veloci floating-point
– Processori ausiliari dedicati allagestione dell’I/O
•Evoluzione dei Sistemi Operativi– Virtualizzazione delle risorse
– Multiprogrammazione: esecuzioneconcorrente di più programmi
– Memoria Virtuale: rimuove lelimitazioni dovute alle dimensionidella memoria fisica
I.19Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
Serie IBM System/360
• L’ IBM introduce una famiglia dielaboratori (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
I.20Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
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 enell’interfacciamento di periferiche estrumentazione al bus
• Domina il mercato fino alla fine deglianni ’70
• Prodotto in milioni di esemplari
• Diffusissimo nelle università
• Supporta il sistema operativo UNIX,indipendente dalla piattaforma
• Influenzerà un’intera generazione diprogettisti e di utenti
I.21Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
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 espansionedell’utenza
• Dai grandi Centri di Elaborazione aun contesto di Informatica Distribuita
• L’espansione del PC è trainata da trefattori:
– Aumento della capacità della CPU
– Discesa dei costi della memoria
– Discesa dei costi dei dischi
I.22Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
La legge di Moore (1965)
Il numero di transistor su di un chipraddoppia ogni 18 mesi
• Circa un aumento del 60% all’anno
• Conseguenze:
– Aumento della capacità dei chip dimemoria
– Aumento della capacità delle CPU
I.23Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
Legge di Moore per le CPU
• 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
I.24Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
Legge di Nathan
Il software è un gas: riempie semprecompletamente qualsiasi contenitorein cui lo si metta
(ma sicuramente non è un gas perfetto!)
• Al calare dei costi e all’aumentaredella memoria disponibile, le dimen-sioni del software sono sempre cre-sciute in proporzione
• Il Circolo Virtuoso
– Costi più bassi e prodotti migliori
– Aumento dei volumi di mercato
– Fattori di scala nella produzione
– Costi più bassi …...
I.25Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
Tip
olog
ie d
i Com
pute
r
I.26Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
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 adaccoppiamento lasco
– Hardware di tipo standard: costicontenuti
– Strutture di connessione veloci– Elevata capacità di elaborazionecomplessiva
I.27Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
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 appli-cazioni molto superiori a quellidell’HW
I.28Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
La fa
mig
lia In
tel
I.29Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
La Famiglia SPARC
• 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
I.30Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
Java e Java Virtual Machine
• Java: linguaggio di programmazioneorientato agli oggetti introdotto da Sun:
– In alternativa al C++
– Risolve i problemi di sicurezza
– Gestione della multimedialità
• JVM (Java Virtual Machine) :
– Macchina virtuale che esegue uncodice speciale (Java byte code)
– Il codice JVM può essere eseguitoda interpreti software su diversepiattaforme
• Obiettivo:
distribuire, eventualmente su rete,software indipendente dalla piatta-forma
I.31C
alco
lato
ri Ele
ttron
ici, Proff. S
. Salza e G
. Santucci a.a. 00-0
1
Portabilità delle applicazioni Java
JAVACompiler
Codice JAVA
Codice JVM
R E T E
JAVAMachine
(HW)
InterpreteJVM(SW)
CompilatoreJust In Time
(SW)
Codice piattaforma HW
I.32Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
Portabilità ed efficienza
• Vantaggi di Java:
– Indipendenza dalla piattaforma
– Totale portabilità delle applicazioni
• Svantaggi di Java:
– Inefficienza degli interpreti
– Inefficienza del linguaggio
• Tipico contesto applicativo: il Web
– Applets: piccoli programmi inseritinelle pagine html
– I browser hanno al loro internointerpreti JVM
– Semplice sviluppo di applicazioniclient-server su Internet
I.33Calcolatori Elettronici, Proff. S. Salza e G. Santucci a.a. 00-01
Java: Soluzioni HW e SW
• Soluzione SW (parziale):
– Compilatori JIT (Just In Time)
– Compilazione al volo subito primadell’esecuzione
– Ritardo di compilazione
• Soluzione HW:
– Java Machine: implementazioneHW della Java Virtual Machine
– PicoJava I e II :
• Architettura definita da Sun
• Diverse implementazionidisponibili