Architetture degli elaboratori e delle reti

Documenti analoghi
Architetture degli elaboratori e delle reti

Architetture degli elaboratori e delle reti

Architetture degli elaboratori I / II

Architetture degli elaboratori I / II

Architetture degli elaboratori 1 / 2

Architetture degli elaboratori e delle reti

Architetture degli elaboratori 1 / 2

Architetture degli elaboratori e reti. Architetture I (12cfu)

Architetture degli elaboratori e reti Introduzione

Architetture degli elaboratori e reti

Architetture degli elaboratori e reti Introduzione

Architetture degli elaboratori e reti Introduzione

Architettura degli elaboratori

Informatica di Base. Introduzione

Architetture degli elaboratori e reti Introduzione Parte I

Architetture degli elaboratori I e II Introduzione

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

Architetture degli elaboratori Introduzione

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

Architettura degli elaboratori

RETI E SISTEMI INFORMATIVI

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

Corso di Informatica

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

Cenni storici. Abaco 3000 B.C. in Babilonia. Paolo Bison. Fondamenti di Informatica 1 A.A. 2004/05 Università di Padova

Fondamenti di Informatica B

CASO STUDIO: IL PERSONAL COMPUTER

Cenni storici sui sistemi di elaborazione

Architettura dei calcolatori

Corso di Laboratorio di Informatica

Architetture degli elaboratori Introduzione

Architetture degli elaboratori - I Introduzione

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

RETI E SISTEMI INFORMATIVI

Cenni storici sui sistemi di elaborazione

Evoluzione dei sistemi di elaborazione

Calcolatori Elettronici Esercitazione n 1

Dall Abaco ( 3000 ac) a Charles Babbage (1812)

Laboratorio di Informatica I

Breve storia dei sistemi di calcolo

Origini matematiche e tecnologiche dell informatica A. Ferrari

Introduzione. Corso di Fondamenti di Informatica

Fondamenti: Informatica, Computer, Hardware e Software

Informazioni. Organizzazione del corso. Materiale utile. Esame. Sommario degli argomenti di lezione

Esempio. Perché i computer? L era meccanica. Fondamenti di Informatica. Breve storia dei sistemi di calcolo

Storia dell Informatica. Prof.ssa Gentile

Parte I. Evoluzione dei Sistemi di Elaborazione

Sistemi a Microcontrollore. 0. Informazioni sul Corso

Estensioni all architettura di Von Neumann

L architettura del calcolatore

Architettura e organizzazione

Laboratorio di Informatica. Introduzione

SISTEMI INFORMATIVI AZIENDALI

Corso di Calcolatori Elettronici I

Parte I. Evoluzione dei Sistemi di Elaborazione

Corso di. Fondamenti di Informatica 2 e Architettura degli Elaboratori

Architettura degli Elaboratori

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

Sistemi a microprocessore

Organizzazione strutturata

CALCOLATORI ELETTRONICI M - Z

Informazioni. Organizzazione del corso. Materiale utile. Esame. Sommario degli argomenti di lezione

L evoluzione dei calcolatori (cap.2)

Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Sede di Reggio Emilia

Architettura degli Elaboratori

Architettura degli Elaboratori e delle Reti

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

Calcolatori Elettronici A a.a. 2008/2009

Architettura degli Elaboratori

Laboratorio di Informatica I

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

Dal sistema operativo all' hardware

Calcolo numerico e programmazione Introduzione all Informatica

CALCOLATORI ELETTRONICI

Fondamenti di Informatica

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

Programmazione per BioInformatica Introduzione. Docente. Programma del corso. Nicola Drago

Architettura degli elaboratori Intro

Architettura degli Elaboratori 01-Introduzione Introduzione

Ma il problema rimane

Concetti base sui calcolatori elettronici

INdICe. Prefazione XIII. 3 Capitolo 1 Classificazioni e concetti base

Evoluzione del calcolatore e fondamenti della programmazione

CALCOLATORI ELETTRONICI

L EVOLUZIONE DELLE ICT. Information and Communication Technology

Corso Integrato di Informatica e Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione

Corso di Calcolatori Elettronici I

Evoluzione* degli* Elaboratori* Ele1ronici*

Fondamenti di programmazione!! Parte 2!

INFORMATICA DI BASE LINGUE E LETTERATURE STRANIERE

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

Laboratorio di Informatica I

Architettura degli Elaboratori Lez. 1 Introduzione al corso. Prof. Andrea Sterbini

Architettura degli Elaboratori A.A. 2008/2009. Docenti: Francesca Rossi, Alessandro Sperduti

Transcript:

Architetture degli elaboratori e reti Architetture degli elaboratori e delle reti Docenti: Alberto Borghese, Federico Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano Turno 2 (H Z) Prof. Federico PEDERSINI pedersini@dsi.unimi.it L 1 1/35 Architetture Elaboratori e Reti (12cfu)! Lezioni: " Prof. Federico Pedersini (pedersini@dsi.unimi.it)! Esercitazioni: " Dott. Massimo Marchi (marchi@dsi.unimi.it)! Orario e Aule:! Lunedì Ore 15.30-17.30 Aula V3 Lezione! Martedì Ore 15.30-17.30 Aula V3 Lezione! Giovedì Ore 10.30-12.30 Aula V1 Esercitazione! Giovedì Ore 15.30-17.30 Aula V3 Lezione! Orario di ricevimento: dopo le lezioni L 1 2/35

Materiale didattico! Testo di base: " D.A. Patterson, J.L. Hennessy, Computer Organization & Design: The Hardware/Software Interface, Morgan Kaufmann, 3 rd Edition, 2005.! Edizione italiana: " D.A. Patterson, J.L. Hennessy, Struttura e Progetto dei Calcolatori, Zanichelli, 2006.! Testi integrativi: " W. Stallings, "Computer Organization & Architecture", Prentice Hall, 2003. " Approfondimento sulla progettazione: " F. Fummi, M.G. Sami, C. Silvano, Progettazione digitale, McGrawHill.! Dispense " Lucidi delle lezioni: homes.dsi.unimi.it/~pedersin/aer.html " Non bastano da sole!!! " Sito esercitazioni: marchi.usr.dsi.unimi.it/teaching/architetture08/index.php L 1 3/35 Esame! ESAME: Prova scritta + orale " Sintesi circuiti logici (combinatori, sequenziali) " Programmazione Assembly / Linguaggio macchina " Esercizi su CPU, memorie cache " Domande / esercizi su concetti presentati nel corso! 2 prove in itinere durante l anno: " Sostituisce lo SCRITTO 1. Circuiti digitali, programmazione Assembly, linguaggio macchina 2. CPU, memorie, periferiche, valutaz. prestazioni " Per chi segue le lezioni L 1 4/35

Obiettivo del corso OGGETTO: Struttura e funzionamento di un calcolatore 1. Introduzione 2. Fondamenti di elettronica digitale " Logica combinatoria " Macchine sequenziali 3. Il linguaggio del calcolatore " Programmazione Assembly " Linguaggio macchina (ISA Instruction Set Architecture) 4. Come funziona un calcolatore moderno " CPU " memorie (cache) " Input/Output (bus, interrupt e DMA, reti di TLC) 5. Valutazione prestazioni di calcolo L 1 5/35 Architettura di un elaboratore! Algoritmo: procedura di soluzione di un problema logico-matematico.! Elaboratore: macchina che esegue algoritmi " Esecuzione di una sequenza di istruzioni (programma)! calcoli! operazioni logiche! gestione automatica di informazioni " Struttura di un elaboratore:! Macchina " hardware! Sequenza di istruzioni " software! PROGRAMMA: (Ada Lovelace, 1830) L 1 6/35

Architettura di un elaboratore Calcolatore Architettura Struttura Sequenza di operazioni elementari Programmazione Collezione di oggetti Collegamenti L 1 7/35 Algebra binaria ( di Boole)! Tutto è codificato utilizzando l algebra binaria (algebra di Boole) " 2 simboli: ( 0, 1 ) utilizzati per rappresentare: " Variabili " Operazioni " Controllo! Numeri binari: rappresentati in base 2! Variabili logiche mappate sui 2 simboli: 0=Falso ; 1=Vero! Motivo: comodità di implementazione con circuiti elettronici " Elettronica Digitale: 2 livelli di tensione stabili: Low (V ), High (V+) 0 Falso LOW, 1 Vero HIGH L 1 8/35

La macchina di Von Neumann! Componenti: " CPU! Unità aritmetico/logica, Registro/i, Unità di controllo " Memoria " Dispositivi di Input/Output L 1 9/35 Architettura MIPS! MIPS: Architettura di riferimento per il corso " Struttura CPU concettualmente semplice # architettura didattica " Appartiene alla famiglia delle architetture RISC (Reduced Instruction Set Computer) " Sviluppate dal 1980 in poi:! SGI MIPS, Sun SPARC, HP PA-RISC, IBM Power PC, DEC Alpha.! Esempio recente: Sony AIBO " Vantaggi RISC:! Semplificare la progettazione dell hardware e del compilatore! Ottimizza costo/prestazioni! Assembly MIPS Simulatore SPIM:! A MIPS R2000/R3000 Simulator http://www.cs.wisc.edu/~larus/spim.html! Multi-piattaforma: (UNIX / Linux, Mac OS/X, Windows, DOS) L 1 10/35

Storia dell elaboratore Filo conduttore: aumento prestazioni! Velocità di elaborazione! Capacità e velocità dell I/O.! Progressiva miniaturizzazione dei dispositivi elettronici. L 1 11/35 Storia dell elaboratore (i primi passi)! Unica applicazione: Calcolo automatico! Babilonesi, X secolo a.c. " Abaco " Evoluzioni fino a 1000 d.c.! B. Pascal, 1642 " Pascalina " (somma e sottrazione)! G. von Leibnitz, 1673 " Macchina calcolatrice " Moltiplicazione, divisione L 1 12/35

Storia dell elaboratore (il 1800)! Applicazione: CAM " Computer-Aided Manufacturing! Telaio Jaquard (1801) " Macchina programmabile " Programma di lavoro su schede " Macchina dedicata L 1 13/35 Charles Babbage (1840)! Charles Babbage: padre del calcolatore moderno. Inventa: Analytical Engine (1840) " Azionata a vapore! " Programmabile: programmi su schede! Ada Lovelace (1830): " Formalizzazione del concetto di programma L 1 14/35

Storia dell elaboratore (1900 1940)! Sviluppo prestazioni:! 1890: H. Hollerith Schede perforate a lettura elettromeccanica (relais). " Meccanismo più semplice di gestione del controllo! 1932: T.J. Watson rileva il brevetto e fonda la International Business Machines (IBM).! 1939: ABC Atanasoff Berry Computer (University of Iowa) " Elettromeccanico: ampio utilizzo di elettrovalvole e relé. " Memoria rigenerativa (cancellabile e riscrivibile)! Miniaturizzazione: " Sviluppo di calcolatrici da tavolo meccaniche (diffusione nel commercio) L 1 15/35 La prima generazione (ENIAC: 1946-1955) Avvento dell elettronica (valvole: diodo, triodo). " Aumento di prestazioni di 1,000 volte! ENIAC (Electronic Numerical Integrator And Calculator) (University of Pennsylvania, 1946) " 20 registri da 10 cifre " 18,000 valvole " 70,000 resistenze " 10,000 condensatori " 6,000 interruttori " Dimensioni: 30 x 2.5 x 3 metri " Peso: 30 tonnellate " Consumo: 140 kw " 100 operazioni/s " Programmazione manuale L 1 16/35

La prima generazione (1945-1951)! Programma memorizzato " su supporto intercambiabile " (John Von Neumann, 1945)! Eckbert, Mauchly " EDVAC (V. Neumann), " Mark I, 1948 " EDSAC (Cambridge, 1949)! UNIVAC I (Universal Automatic Computer), " Eckbert, Mauchly, 1951. " Primo calcolatore commercializzato (1 M$) L 1 17/35 Applicazioni scientifiche / gestionali! UNIVAC: calcolo scientifico. " Calcoli lunghi e complessi! IBM: mod. 701 (1953) e 702 (1955): applicazioni gestionali " Calcoli semplici e ripetitivi " Grandi quantità di dati! IBM 704 - Memoria con nuclei di ferrite " 32,000 parole " Velocità di commutaz. di pochi!sec (I/O rate: 1 10 khz)! IBM 709 (1958) Introduzione del canale di I/O. L 1 18/35

La seconda generazione (1952 1963) Introduzione elettronica allo stato solido (1947) e memorie a nuclei ferromagnetici.! IBM 7000 Transistors anziché valvole! Introduzione del FORTRAN (Formula Translator). " Primo linguaggio ad alto livello! IBM 7094 (1962) evoluzione del 709, a stato solido.! CDC 6600 - Primo supercalcolatore. 1962.! CDC 3600 - Multi-programmazione. 1963.! Digital PDP-1 (1957) L 1 19/35 La terza generazione (1964 1971) Avvento dei circuiti integrati (LSI)! IBM 360 (1964) - Prima famiglia di calcolatori " Costo: 360,000 $ " Registri a 32 bit. " Clock 1 4 Mhz.! Digital PDP-8 (1965) " Primo minicalcolatore " Costo: 20,000 $! PDP-11 (1970) L 1 20/35

La comunicazione tra i componenti Switch centralizzato: MULTIPLEXER (IBM 7094) Architettura a nodo comune: BUS (PDP-8) L 1 21/35 La quarta generazione (1971-1977)! Prestazioni: Super-computers! Cray I (1976) " Primo supercalcolatore Vettoriale L 1 22/35

La quarta generazione (1971-1977)! Miniaturizzazione, diminuzione costi: Introduzione del microprocessore (VLSI), Memorie a semiconduttore! Intel 4004 (1971) 4 bit " 2300 transistor! Intel 8080 (1974) 8 bit! Motorola 6502! Xerox Research Labs & Steve Jobs:! Primo Personal Computer: APPLE II (1977) " Processore Motorola (6502) " Costo medio 2,000$ L 1 23/35 Quarta/quinta generazione! IBM: il primo PC (1981) " Sistema operativo MS-DOS (Microsoft di Bill Gates) " Processore Intel 8086. " Coprocessore Matematico Intel 8087.! La quinta generazione (1977-.) PC come Workstation " Potenziamento della grafica. Coprocessore grafico. " Multi-processori. " Introduzione di gerarchie di calcolo. " Processori RISC (Reduced Instruction Set Code). L 1 24/35

Sesta generazione (futuro)! Tecnologie " Calcolatori ottici. " Calcolatori chimici.! Applicazioni! PC + telefono! Wearable PC! Co-processori on-board, specializzati per: " ricerca in data-base. " trattamento grafica. " trattamento video.! Macchine parallele! Macchine intelligenti e sensibili.! Sistemi multimediali. L 1 25/35 Classificazione dei computer! Mainframe. " Grandi dimensioni e potenza. " Multi-utenti. " Servers di grandi dimensioni.! Supercomputer " Mainframe specializzati nel calcolo (vettoriale o parallelo).! Minicomputer ( " server) " Piccoli mainframe.! Microcomputer " PC - elaborazione personale. L 1 26/35

Legge di MOORE In circa 18 mesi raddoppiano le prestazioni, il numero di transistor e le capacità delle memorie. Anno Nome Dimensoni (m 3 ) Potenza (Watt) Prestazioni (somme/sec) Memoria (kbyte) Prezzo riv alutato (US$ 1996) Prezzo / prestazioni (v s. UNIVAC) 1951 UNIVAC I 28 124 500 1 900 48 4 996 749 1 1964 IBM 360 modello 50 1.68 10 000 500 000 64 4 140 257 318 1965 PDP-8 0.23 500 330 000 4 66 071 13 135 1976 Cray-1 1.62 60 000 166 000 000 32 8 459 712 51 604 1981 IBM-PC 0.03 150 240 000 256 4 081 154 673 1991 HP900 modello 750 0.06 500 50 000 000 16 384 8 156 16 122 356 1996 Pentium Pro 200 Mhz 0.06 500 400 000 000 16 384 4 400 239 078 908 2003 Pentium 4 3.0 GHz 0.06 500 6 000 000 000 262 144 1 000 11 452 000 000 L 1 27/35 Legge di Moore: alcuni problemi! La velocità delle memorie non cresce con la velocità del processore. " Memorie gerarchiche cache. " Aumento della parola di memoria. " high-speed bus (gerarchie di bus)! Tecniche di velocizzazione dell elaborazione. " Predizione dei salti. " Scheduling ottimale delle istruzioni (analisi dei segmenti di codice). " Esecuzione speculativa.! Velocità di I/O. " Trasferimento in streaming (DMA) " Velocizzazione e specializzazione dei bus L 1 28/35

Legge di Moore! Dopo il 2003, evoluzione in altre direzioni:! Efficienza (MIPS/Watt) # INTEL Pentium M # INTEL Centrino! Ottimizzazione rapporto uomo/macchina # INTEL Core DUO!Evoluzione della potenza di calcolo (1987 2003) "Patterson-Hennessy 2006 L 1 29/35 Esempio: INTEL Core Duo! Intel Core Duo (product code: 80539 - Yonah ) " 2 cores identici (Pentium III) sullo stesso die " 2 Mbytes di cache L2 condivisi " bus di arbitraggio per l!accesso alla L2 cache e al FSB. " Hardware di controllo CPU per la riduzione del consumo energetico L 1 30/35

Evoluzione INTEL: 1971-1979 4004 8008 8080 8086 8088 Introduced 15 nov 71 1 Apr 72 1 Apr 74 8 Jun 76 6 Jan 79 Clock speed 108KHz 108KHz 2Mhz 5-10Mhz 5,8Mhz Bus width 4 bit 8 bit 8 bit 16 bit 8 bit Number of Transistors 2,300 3,500 6,000 29,000 29,000 Addressable 640byte 16KByte 64 KByte 1MByte 1MByte Virtual - - - - - Observations - - Ordini massicci - Primo Personal Computer (Intel) L 1 31/35 Evoluzione Intel: 1980-1989 80286 80386 DX 80386 SX 80486 DX Introduced 1 feb 82 17 Oct 85 16 Jun 88 10 Apr 89 Clock speed 6-12.5MHz 16-33MHz 16-33Mhz 25-50Mhz Bus width 16 bit 32 bit 16 bit 32 bit Number of Transistors 134,000 275,000 275,000 1,200,000 Addressable 16Mbyte 4GByte 4GByte 4GByte Virtual 1 GByte Observations 15 milioni di PC in 6 anni Multi-tasking Co-processore nella CPU L 1 32/35

Evoluzione Intel 1990-1999 80486 SX Pentium Pentium Pro Pentium II Introduced 22 Apr 91 22 Mar 93 1 Nov 95 7 May 97 Clock speed 6-133MHz 60-166MHz 150-200Mhz 200-300Mhz Bus width 32 bit 32 bit 32/64 bit 32/64 bit Number of Transistors 1,185,000 3,100,000 5,500,000 7,500,000 Addressable 4 Gbyte 4 GByte 64 GByte 64 GByte Virtual Observations Pipeline spinto Cache 2 livelli MMX: memorie ad alta velocità L 1 33/35 Evoluzione Intel 2000-2001 Pentium III Pentium 4 Pentium III Xeon Introduced 26 Feb 99 Nov 2000 2001 Clock speed 450-660MHz 3 GHz 2-3.2Ghz Bus width 32/64 bit 32/64 bit 32/64 bit Number of Transistors 9,500,000 42,000,000 Na Addressable 64 Gbyte 64 GByte 64 GByte Virtual Observations SIMD 2 livelli di cache Architettura di bus: NetBurst L 1 34/35

Evoluzione INTEL 2002- ITANIUM ITANIUM 2 Pentium M Core DUO Introduced 2002 2002 2003 Clock speed 800MHz 1.3-1.5GHz 1.3-1.7Ghz 2.5 GHz Bus width 64 bit 64 bit 64 bit 64 bit Number of Transistors na na 42,000,000 151,000,000 Addressable 16 Gbyte 16 Gbyte 64 GByte 64 GByte Virtual Observations EPIC 64 bit 6.4 GByte/s su Bus di sistema Centrino Architecture Very-low power 2 cores x86-64, Cache in comune L 1 35/35