Calcolatori Elettronici 9 crediti Informazione generali sul corso

  • Slides: 39
Download presentation
Calcolatori Elettronici (9 crediti)

Calcolatori Elettronici (9 crediti)

Informazione generali sul corso • Obiettivo del corso: – Conoscenza del funzionamento di un

Informazione generali sul corso • Obiettivo del corso: – Conoscenza del funzionamento di un calcolatore elettronico • Verifica – 2 prove scritte: • Progetto di interfaccia processore-periferica e sua programmazione • 5 -6 domande sul programma – Orale • discussione compito scritto • Sito del corso – http: //www. dis. uniroma 1. it/~ciciani/teaching. shtml • Testo e Materiale integrativo che si trovano sul sito – Trasparenze del corso – Riferimenti ai testi consigliati – Dispense

Obiettivo del corso

Obiettivo del corso

Architettura pipeline del processore MIPS

Architettura pipeline del processore MIPS

Architettura di un DMAC (Direct Memory Access Controller) a 4 vie DB PD 32

Architettura di un DMAC (Direct Memory Access Controller) a 4 vie DB PD 32 CB 32 MEMORIA 30 AB CB 8 IACK AB 8 DB 32 32 6 MWR MRD Mbi i=1. . 4 8 CLEAR IRQ IACKout IVN 1 IVN 2 IVN 3 IVN 4 30 SELECT Interrupt lsb 4 START 1 START 2 START 3 START 4 WC 1 WC 2 WC 3 WC 4 2 Dev Sel 4 lsb I/O WR I/O FF 2 I/O FF 3 I/O FF 4 Reg In Reg Out NEXT DATO BURST 2 BURST 3 BURST 4 2 DATO SCRITTO MBG 2 DATO PRONTO MBR BURST 1 SCO DEV 3 2 2 I/O FF 1 I/O WR 4 SCO DEV 2 Reg In Reg Out DECR 32 4 lsb 2 2 4 4 Reg In Reg Out 30 CAR 1 CAR 2 CAR 3 CAR 4 SCO DEV 1 2 Bcar START I/O WR 2 4 Dev Sel 2 I/O WR 4 Reg In Reg Out s r Q SCO DMAC 4 DATO LETTO 2 DEV SEL SCO DEV 4

Gamma dei sistemi di calcolo • Sistemi “ embedded ” : incorporati in altri

Gamma dei sistemi di calcolo • Sistemi “ embedded ” : incorporati in altri sistemi – automobili, aerei, telefoni cellulari, PDA, frigoriferi. . . • Personal Computer, PC: diverse potenze di calcolo • Server e Mainframe: caratteristiche molto diverse – Applicazioni usate da molti utenti, – webserver, sistemi per la gestione del sistema informativo di una organizzazione (es: banca) – Supercalcolatore ( es. Previsione del tempo) • embedded 97%; personal computer: 2 -3%; server: < 0. 1% • Reti di Workstation : Aumento della potenza di calcolo mediante il collegamento di PC o WS mediante rete ad alta velocità

Introduzione Esempio d’impiego di calcolatori • Posta elettronica Server personal computer Applicazione Client di

Introduzione Esempio d’impiego di calcolatori • Posta elettronica Server personal computer Applicazione Client di posta Server Client

Breve Storia dei Sistemi di Elaborazione

Breve Storia dei Sistemi di Elaborazione

Preistoria (1600 -1900) • Pascal (1623 -1662) – Pascaline: addizioni e sottrazioni • Leibniz

Preistoria (1600 -1900) • Pascal (1623 -1662) – Pascaline: addizioni e sottrazioni • Leibniz (1646 -1716) – Anche moltiplicazioni e divisioni • Charles Babbage (1792 -1871) A) Macchina Differenziale • Algoritmo fisso • Output su piastra di rame B) Macchina Analitica • Prima macchina programmabile • Memoria: 1000 x 50 cifre decimali • I/O su schede perforate • Limite: tecnologia meccanica

Generazione zero Macchine elettromeccaniche • Konrad Zuse (~1930 Germania) – Macchina a relè –

Generazione zero Macchine elettromeccaniche • Konrad Zuse (~1930 Germania) – Macchina a relè – Distrutta nella guerra • John Atanasoff (~1940 USA) – Aritmetica binaria – Memoria a condensatori • Howard Aiken (~1940 USA) – MARK 1: versione a relè della macchina di Babbage (~100 anni dopo!) – Memoria: 72 x 23 cifre decimali – tempo di ciclo: 6 sec. – I/O su nastro perforato

Generazione zero Tubi termoionici • COLOSSUS (~1940 GB) Gruppo di Alan Turing, Progetto segreto

Generazione zero Tubi termoionici • COLOSSUS (~1940 GB) Gruppo di Alan Turing, Progetto segreto • ENIAC (~1946 USA) J. Mauchley, J. Eckert 18. 000 valvole 30 tonnellate 140 kw assorbimento Programmabile tramite 6000 interruttori e pannelli cablati 20 registri da 10 cifre

La Macchina di Von Neumann • IAS (~ 1950, Princeton USA) – Programma in

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

I Generazione: Sistemi Commerciali • Inizialmente il mercato è dominato dalla UNIVAC • L’IBM

I Generazione: 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: 2 k word di 36 bit • 2 istruzioni per word – IBM 704 (1956): • Memoria: 4 k word di 36 bit • Istruzioni a 36 bit • Floating-point hardware – IBM 709 (1958) • Praticamente un 704 potenziato • Ultima macchina IBM a valvole

II Generazione (1955 -1965) Tecnologia a transistor • TXO e TX 2 macchine sperimentali

II Generazione (1955 -1965) Tecnologia a transistor • TXO e TX 2 macchine sperimentali costruite al MIT • Uno dei progettisti del TX 2 fonda una propria società la Digital Equipment Corporation (DEC) • La DEC produce il PDP-1 (1961): – – – Memoria: 4 k parole di 18 bit Tempo di ciclo di 4 sec Prestazioni simili all’IBM 7090 Prezzo meno di un decimo Schermo grafico 512 pixel Comincia la produzione di massa (primi videogiochi)

II Generazione: Minicomputer • • • DEC PDP-8 (1965) Successore diretto del PDP-1 Interconnessione

II Generazione: 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

II Generazione: Supercomputer • Macchine molto potenti dedicate al number crunching • 10 volte

II Generazione: 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

III Generazione (1965 -1980) Tecnologia LSI e VLSI • Evoluzione dell’architettura HW – Microprogrammazione

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

III Generazione IBM: Serie IBM System/360 (famiglia elab. ) • Macchine con lo stesso

III Generazione IBM: Serie IBM System/360 (famiglia elab. ) • Macchine con lo stesso linguaggio • Range di prestazioni (e prezzo) 1 -20 • Completa compatibilità • Portabilità totale delle applicazioni • OS comune OS/360 Digital PDP 11 • Architettura a bus (Unibus) • Prodotto in milioni di esemplari • Sistema operativo UNIX, indipendente dalla piattaforma

…. nacque il Personal Computer • fine anni 70: Apple I, progettato in un

…. nacque il Personal Computer • fine anni 70: Apple I, progettato in un garage nel tempo libero, venduto in scatola di montaggio • 1981 PC IBM con Intel 8088 e MS DOS (Disk Operating System) della minuscola Microsoft • 1981 PC M-20, della Olivetti processore Z 8001 a 16 bit, OS proprietario, PCOS • 1983 PC M-24, della Olivetti processore 8086, MS DOS • Informatica diffusa non solo per specialisti (importanza dei videogames) • Duopolio Intel/Microsoft • Apple: “prestazioni migliori” , “costi elevati”, come vedremo dovuta a migliore organizzazione dei bus

La legge di Moore (1965) La capacità delle memorie DRAM quadruplica ogni tre anni

La legge di Moore (1965) La capacità delle memorie DRAM quadruplica ogni tre anni (60% anno) • Analogo aumento del numero di transistor sul chip • Aumento della capacità di memorizzazione dei chip di memoria statica (SRAM) • Aumento della capacità di calcolo delle CPU

Legge di Moore per le CPU • Più transistor: – parallelismo interno • Maggiore

Legge di Moore per le CPU • Più transistor: – parallelismo interno • Maggiore frequenza di funzionamento • Rapp. prestazioni/costo – 1951 valvola 1 – 1965 transistor 36 – 1975 circuito integrato 900 – 1995 circuito VLSI 2. 400. 000 – 2005 circuito ULSI 6. 200. 000

Legge di Nathan Il software è come un gas: riempie sempre completamente qualsiasi contenitore

Legge di Nathan Il software è come 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 – – Costi più bassi e prodotti migliori Aumento dei volumi di mercato Fattori di scala nella produzione Costi più bassi …. . .

Calcolatore elettronico oggi… Sistema elettronico digitale programmabile Elettronico digitale • Sfrutta componenti elettronici digitali

Calcolatore elettronico oggi… Sistema elettronico digitale programmabile Elettronico digitale • Sfrutta componenti elettronici digitali (porte logiche) che operano su grandezze binarie (bit) che possono assumere due soli valori (0 e 1) Sistema: Parti (o componenti) che interagiscono in modo organico fra loro (architettura di von Neumann) Programmabile • Il comportamento del sistema è flessibile e specificato mediante un programma, ossia un insieme di ordini

Intel Computer Family

Intel Computer Family

Grandezze elettriche (1) • Analogiche – Il più possibile analoghe a ciò che rappresentano

Grandezze elettriche (1) • Analogiche – Il più possibile analoghe a ciò che rappresentano (all’originale) Tensione elettrica Pressione aria • Ex: forma corrispondente alla voce tempo

Grandezze elettriche (2) • Rappresentazioni digitali Valori digitalizzati della Tensione elettrica • Le grandezze

Grandezze elettriche (2) • Rappresentazioni digitali Valori digitalizzati della Tensione elettrica • Le grandezze analogiche vengono approssimate con valori discreti (di numero finito) tempo

Grandezze elettriche (3) • Binarie – Grandezze digitali che possono assumere due soli valori,

Grandezze elettriche (3) • Binarie – Grandezze digitali che possono assumere due soli valori, comunemente indicati con 0 ed 1 • La grandezza fisica può essere una tensione (alta, bassa), una corrente (presente, non presente), suono (alto, basso), luce (presente, non presente), etc. . V 2 V 1 Andamento ideale 0 -> V 1, 1 -> V 2 oppure 0 -> V 2, 1 -> V 1 … tempo

Grandezze elettriche (4) • Binarie – In realtà… • i valori 0 ed 1

Grandezze elettriche (4) • Binarie – In realtà… • i valori 0 ed 1 sono rappresentati mediante valori di un intervallo • Il cambiamento da 0 ->1, 1 ->0 non è istantaneo 3. 3 2. 8 0. 5 0. 0 rumore Andamento reale tempo

Mapping from physical world to binary world Technology State 0 State 1 Relay logic

Mapping from physical world to binary world Technology State 0 State 1 Relay logic Circuit Open Circuit Closed CMOS logic 0. 0 -1. 0 volts 2. 0 -3. 0 volts Transistor transistor logic (TTL) 0. 0 -0. 8 volts 2. 0 -5. 0 volts Fiber Optics Light off Light on Dynamic RAM Discharged capacitor Charged capacitor Programmable ROM Fuse blown Fuse intact Magnetic disk No flux reversal Flux reversal Compact disc No pit Pit

Vantaggi dei sistemi digitali • Riproducibilità del segnale analogico – a meno dell’errore di

Vantaggi dei sistemi digitali • Riproducibilità del segnale analogico – a meno dell’errore di rappresentazione • • • Facilità di progetto Flessibilità Programmabilità Velocità di funzionamento (ns, 10 -9 s) Economia

La nozione di macchina … Per studiare l’architettura di un calcolatore è conveniente introdurre

La nozione di macchina … Per studiare l’architettura di un calcolatore è conveniente introdurre la nozione di macchina • Macchina: entità in grado di eseguire istruzioni appartenenti ad un linguaggio – una macchina può essere fisica o virtuale • Una macchina è composta da un insieme di risorse che sono controllare e gestite dalle istruzioni – Il significato di ogni istruzione è dato facendo riferimento all’utilizzo delle risorse

Architettura a livelli di un sistema di elaborazione Macchina virtuale Mvn e linguaggio macchina

Architettura a livelli di un sistema di elaborazione Macchina virtuale Mvn e linguaggio macchina Lvn Macchina virtuale Mv 1 e linguaggio macchina Lv 1 Macchina fisica MF e linguaggio macchina LF • Un sistema di elaborazione è costituito da varie macchine virtuali • L’architettura di un sistema di elaborazione è la descrizione delle caratteristiche delle varie macchine virtuali (livelli)

Livello applicativo • E’ il livello usato da chi scrive applicazioni per uno specifico

Livello applicativo • E’ il livello usato da chi scrive applicazioni per uno specifico problema (es programmi in java) int i; i=i+2; bytecode … Program in Java Compilat. Programma eseguibile ISA: Instruction Set Architecture (Macchina di von Neumann) JVM eseguita da Macchina ISA

Macchina di von Neumann Unità di Ingresso Memoria di lavoro Unità di Calcolo Unità

Macchina di von Neumann Unità di Ingresso Memoria di lavoro Unità di Calcolo Unità di Controllo Unità di Uscita

Macchina di von Neumann Unità di Ingresso Memoria di lavoro Unità di Calcolo Unità

Macchina di von Neumann Unità di Ingresso Memoria di lavoro Unità di Calcolo Unità di Controllo CPU Unità di Uscita

Caratteristiche distintive. . • Singola memoria “monodimensionale” acceduta sequenzialmente • Memorizzazione sia di dati

Caratteristiche distintive. . • Singola memoria “monodimensionale” acceduta sequenzialmente • Memorizzazione sia di dati che del programma • Il tipo di dato non è memorizzato • La macchina di von Neumann esegue le istruzioni del programma (nel linguaggio macchina)

Livelli di astrazione Software INSIEME DELLE ISTRUZIONI (linguaggio macchina) Livello firmware Livello porte logiche

Livelli di astrazione Software INSIEME DELLE ISTRUZIONI (linguaggio macchina) Livello firmware Livello porte logiche Livello fisico (transistor. . ) Hardware

Il livello firmware (microarchitettura) Interpreta le istruzioni del linguaggio macchina Le componenti principali di

Il livello firmware (microarchitettura) Interpreta le istruzioni del linguaggio macchina Le componenti principali di tale livello sono • Registri (in grado di memorizzare gruppi di bit, ex: 16 -32 bit) • ALU (Unità Aritmetica Logica) • Data-path (connessioni per il trasferimento dei dati) Utilizza le porte logiche (livello 1)

Implementazione • A una istruzione macchina corrisponde una sequenza di comandi del livello 1

Implementazione • A una istruzione macchina corrisponde una sequenza di comandi del livello 1 che la realizzano Istruzione macchina… 1 2 3 Istruzione L 2 k. I Sequenza equivalente s