Parte I. Evoluzione dei Sistemi di Elaborazione

Documenti analoghi
Parte I. Evoluzione dei Sistemi di Elaborazione

! addizioni e sottrazioni. ! anche moltiplicazioni e divisioni. ! A) Macchina Differenziale. ! Algoritmo fisso (differenze finite)

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

Calcolatori Elettronici Esercitazione n 1

Evoluzione dei sistemi di calcolo. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

Calcolatori Elettronici

Traduzione e interpretazione

a.a. 2017/2018 Classe 2: matricole congrue ad 1 Barbara Masucci

Organizzazione strutturata

Fondamenti: Informatica, Computer, Hardware e Software

Architettura dei sistemi di elaborazione: Modelli Architetturali La CPU: Generalità

Fondamenti di programmazione!! Parte 2!

Corso di Calcolatori Elettronici I

Dal sistema operativo all' hardware

Evoluzione degli Elaboratori (1) Parte I. Evoluzione dei Sistemi di Elaborazione. Evoluzione degli Elaboratori. I primordi ( )

Parte I. Evoluzione dei Sistemi di Elaborazione

Capitolo 1 Introduzione. Il problema. Una transizione

Parte I. Evoluzione dei Sistemi di Elaborazione

Architettura dei calcolatori

Calcolatori Elettronici Parte I: Evoluzione dei calcolatori e tipologie di Calcolatori. Prof. Riccardo Torlone Università di Roma Tre

CASO STUDIO: IL PERSONAL COMPUTER

L architettura del calcolatore

Parte I. Introduzione. 23/03/2007 Calcolatori Elettronici - Prof. Gregorio Cosentino 1

Introduzione. Informazione. Reti. Cosa caratterizza l informazione? Fondamenti di Informatica e della Telematica A.A

Piccoli Ingegneri Informatici

ORGANIZZAZIONE DEI CALCOLATORI INTRODUZIONE

Laboratorio di Informatica I

Architettura dei calcolatori e Software di sistema

Evoluzione del calcolatore e fondamenti della programmazione

Piccoli Ingegneri Informatici

Informatica A.A. 2006/2007. Università degli Studi di Catania. Giuseppe Nicosia

MIPS & SPIM. Modulo del Corso di Architettura degli Elaboratori. Nicola Paoletti. Università di Camerino Scuola di Scienze e Tecnologie

Macchina di von Neumann/Turing

FONDAMENTI DI INFORMATICA FONDAMENTI DI INFORMATICA UN POCO DI STORIA FONDAMENTI DI INFORMATICA. Lezione n. 1 UN POCO DI STORIA UN POCO DI STORIA

L elaboratore. Fondamenti di Informatica S.Badaloni Ing. Aerospaziale A.A. 2003/04

Informatica. 80 ore divise in 4 UFC. Docente: Michela Bacchin. Contatti: Tramite Ermes Studenti

FONDAMENTI DI INFORMATICA FONDAMENTI DI INFORMATICA UN POCO DI STORIA FONDAMENTI DI INFORMATICA. Lezione n. 1 UN POCO DI STORIA UN POCO DI STORIA

Che cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione

Macchine Astratte. Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari. Linguaggi di Programmazione feb, 2016

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

Storia dell Informatica. Prof.ssa Gentile

Introduzione. Corso di Fondamenti di Informatica

Sistemi Operativi. Il sistema operativo: generalità Storia ed evoluzione dei sistemi operativi

Cosa è un programma. Informatica di Base -- R.Gaeta 18

Storia dei calcolatori

L evoluzione dei calcolatori (cap.2)

(5 crediti) Materiale Trasparenze integrativo. corso, disponibili sul sito del corso

Architettura degli Elaboratori

Fondamenti di Informatica

Architettura degli Elaboratori

Calcolatori Elettronici A a.a. 2008/2009

Fondamenti di Informatica

Fondamenti di Informatica T. Il Software

Architettura e organizzazione

Architettura degli Elaboratori

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

Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

RETI E SISTEMI INFORMATIVI

L EVOLUZIONE DELLE ICT. Information and Communication Technology

Programma svolto di INFORMATICA. Classe 3M - indirizzo MERCURIO A.S. 2010/2011

Architettura degli Elaboratori

Strumento di calcolo formato da un telaietto su cui scorrono alcune file di palline che denotano le unità, le decine, le centinaia, le migliaia.

Introduzione: informatica. 18/2/2013 Informatica applicata alla comunicazione multimediale Cristina Bosco

Programma svolto di INFORMATICA. Classe 3 - indirizzo MERCURIO A.S. 2009/2010

Architettura degli elaboratori. Obiettivi del corso. Organizzazione: sdoppiamento. Conseguenze

Informatica e telecomunicazione

Architettura dei Calcolatori. Macchina di von Neumann /2. Macchina di von Neumann /1. Architettura dei Calcolatori

Fondamenti di Informatica

Architettura hardware

Il calcolatore. Architettura di un calcolatore (Hardware)

Laboratorio di Informatica I

Architettura degli Elaboratori. a.a. 2014/15 Classe 3: matricole congrue 2 modulo 3

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2

Fondamenti di Informatica B

Il computer. Architettura

Introduzione al funzionamento di un calcolatore elettronico

Elementi di Informatica Facoltà di Economia

Esame di INFORMATICA Lezione 4

Laboratorio di Informatica

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

L ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O

continua Informatica Hardware Software insieme dei programmi che consentono al calcolatore di operare e di elaborare dati

Corso di Architettura degli Elaboratori

Corso di Informatica. Corso di Informatica. Corso di Informatica. Introduzione al Calcolatore

Lez. 4 L hardware. Prof. Pasquale De Michele Gruppo 2

UD2. L insostenibile leggerezza dei circuiti integrati

Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari. Copyright 2005 The McGraw-Hill Companies srl

Concetti Introduttivi

Obiettivi del corso. Architettura degli elaboratori. Conseguenze. Organizzazione: sdoppiamento. Organizzazione

Fondamenti di Informatica. per la Sicurezza. a.a. 2003/04. Lezione 2. Stefano Ferrari

Fondamenti di informatica: un po di storia

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Sistemi Operativi. A.M. Fanelli Architettura dei Sistemi a. a Livello di Sistema Operativo. Livello di Linguaggi Applicativi

Lezione 2 Chiamate di procedura e risposta alle interruzioni

Fondamenti di Informatica. per la Sicurezza. a.a. 2003/04. Calcolatori. Stefano Ferrari

Architettura degli elaboratori

Informatica A. Allievi Gestionali A.A Nozioni di Base

Breve storia dei calcolatori

Fondamenti di Informatica

Lezione 15 Il Set di Istruzioni (1)

Transcript:

Parte I Evoluzione dei Sistemi di Elaborazione I.1

Contenuti del Corso L architettura dell elaboratore e le sue 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.2

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.3

Esercitazioni Programmazione in linguaggio C Enfasi sulle caratteristiche del linguaggio e non sugli algoritmi Gestione dell I/O Manipolazione di stringhe Accesso al Laboratorio di Calcolo della Facoltà Distribuzione di Software: compilatori C ecc. I.4

Riferimenti A.S. Tanenbaum: Architettura dei computer: un approccio strutturato, 4a ed., UTET, 2000. Edizione originale: A.S. Tanenbaum: Structured Computer Organization, 4th ed., Prentice-Hall, 1999 Per il linguaggio C: Darnell-Margolis, C Manuale di Programmazione, Mc Graw-Hill (ristampa) Dispensa, Esercizi d esame svolti di programmazione in C, a cura di S. Salza, G. Santucci, A. Scharef I.5

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 dei programmi svolti su calcolatore Colloquio: la prima volta in assoluto che ci si presenta all esame (rispondere all appello equivale a sostenere il colloquio) Oltre il colloquio (uno nella vita) si può sostenere l esame al massimo 2 volte per anno accademico, e una per sessione I.6

Prenotazioni esami Le prenotazioni vanno effettuate via Internet, all indirizzo: http://151.100.8.33:8080/index.html È possibile sia prenotarsi che cancellarsi fino ad una settimana prima dell esame Si raccomanda di cancellarsi, quando si decide di non venire Prenotarsi per due volte all'esame senza poi sostenerlo e senza aver annullato la prenotazione verrà considerato come aver sostenuto una prova con esito negativo I.7

Evoluzione degli Elaboratori N.B. Quasi tutta l evoluzione ha avuto luogo negli ultimi 50 anni I.8

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.9

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è della macchina di Babbage Memoria: 72 x 23 cifre decimali tempo di ciclo: 6 sec. I/O su nastro perforato I.10

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 6000 interruttori e pannelli cablati 20 registri da 10 cifre EDVAC (~1950 USA) Successore dell ENIAC Mai giunto a termine I.11

La Macchina di Von Neumann IAS (~ 1950, Princeton USA) Programma memorizzato Aritmetica binaria Memoria: 4096 x 40 bit Formato istruzioni a 20 bit: OPCODE 8 INDIRIZZO 12 I.12

Sistemi Commerciali 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): 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.13

II Generazione (1955-1965) (Tecnologia a transistor) TXO e TX2 macchine sperimentali costruite allo 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 (primi videogiochi) Comincia la produzione di massa I.14

Sistemi Commerciali 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 $ Piccoli sistemi: per medie aziende o di appoggio ai mainframe IBM 1401 Stessa capicità di I/O del 7090 Memoria 4k word 8bit (1byte) Orientata a caratteri Istruzioni per la manipolazione di stringhe I.15

Il Minicomputer DEC PDP-8 (1965) 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 I.16

Supercomputer 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 I.17

III Generazione (1965-1980) (Tecnologia LSI e VLSI) Evoluzione dell architettura HW: Microprogrammazione Unità veloci floating-point Processori ausiliari dedicati alla gestione dell I/O Evoluzione dei Sistemi Operativi Virtualizzazione delle risorse Multiprogrammazione: esecuzione concorrente di più programmi Memoria Virtuale: rimuove le limitazioni dovute alle dimensioni della memoria fisica I.18

Serie IBM System/360 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 I.19

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 I.20

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 I.21

La legge di Moore (1965) 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 I.22

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.23

Legge di Nathan Il software è un gas: riempie sempre completamente qualsiasi contenitore in cui lo si metta (ma sicuramente non è un gas perfetto!) Al calare dei costi e all aumentare della memoria disponibile, le dimensioni del software sono sempre cresciute 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.24

Tipologie di Computer I.25

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 I.26

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 I.27

La famiglia Intel I.28

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.29

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à 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 Obiettivo: distribuire, eventualmente su rete, software indipendente dalla piattaforma I.30

Codice JAVA JAVA Compiler Codice JVM Portabilità delle applicazioni Java JAVA Machine (HW) R E T E Interprete JVM (SW) Codice piattaforma HW Compilatore Just In Time (SW) I.31

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 inseriti nelle pagine html I browser hanno al loro interno interpreti JVM Semplice sviluppo di applicazioni client-server su Internet I.32

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 I.33