Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso:...

36
Calcolatori Elettronici (9 crediti)

Transcript of Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso:...

Page 1: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

Calcolatori Elettronici (9 crediti)

Page 2: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

Informazione generali sul corso

• Obiettivo del corso: – Conoscenza del funzionamento di un calcolatore

elettronico • Verifica

– 2 prove scritteprogettino, prova scritta (5-6 domande) + orale/discussione compito scritto

• Sito del corso– http://www.dis.uniroma1.it/~ciciani/teaching.shtml(in costruzione...)

• Testo e Materiale integrativo– Trasparenze del corso – Testo: XXXX– Dispense

Page 3: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

Programma del corso

• Introduzione• Rappresentazione numerica e codici• Il livello logico digitale• Struttura di un calcolatore• Programmazione di interfacce di

periferiche (driver)• .....• ....

Page 4: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

Gamma dei sistemi di calcolo

• Sistemi “ embedded ” : incorporati in altri sistemi– automobili, aerei, telefoni cellulari, PDA ...

• 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 90%; personal computer: 9-10%; server: 0.5%• Reti di Workstation : Aumento della potenza di calcolo

mediante il collegamento di PC o WS mediante rete ad alta velocità

Page 5: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

Introduzione Esempio d’impiego di calcolatori

• Posta elettronica

personal computerApplicazioneClient di posta

Client Server

Server

Page 6: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

Breve Storia dei Sistemi di Elaborazione

Page 7: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

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

Page 8: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

Generazione zeroMacchine 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

Page 9: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

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

• ENIAC (~1946 USA) J. Mauchley, J. Eckert 18.000 valvole 30 tonnellate 140kw assorbimento Programmabile tramite 6000 interruttori e pannelli cablati

20 registri da 10 cifre

Page 10: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

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 INDIRIZZO12

8

Page 11: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

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: 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 macchina IBM a valvole

Page 12: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

II Generazione (1955-1965)

Tecnologia a transistor

• 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 4sec– Prestazioni simili all’IBM 7090– Prezzo meno di un decimo– Schermo grafico 512 512 pixel (primi videogiochi)– Comincia la produzione di massa

Page 13: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

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

Page 14: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

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

Page 15: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

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

Page 16: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

III GenerazioneIBM: 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/360Digital PDP 11 • Architettura a bus (Unibus)• Prodotto in milioni di esemplari• Sistema operativo UNIX, indipendente dalla piattaforma

Page 17: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

…. 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 della minuscola Microsoft

• Informatica diffusa non solo per specialisti• Duopolio Intel/Microsoft

Page 18: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

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à dei chip di memoria• Aumento della capacità di calcolo delle CPU

Page 19: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

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

Page 20: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

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

Page 21: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

Calcolatore elettronico oggi…

Sistema elettronico digitale programmabileElettronico 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

Page 22: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

Intel Computer Family

Page 23: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

Grandezze elettriche (1)

• Analogiche– Il più possibile analoghe a ciò che

rappresentano (all’originale)• Ex: forma corrispondente alla voce

tempo

Pre

ssio

ne a

ria

Tensi

one e

lett

rica

tempo

Page 24: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

Grandezze elettriche (2)

• Digitali– Possono assumere solo valori finiti, che rappresentano

in modo approssimato una grandezza fisica.

• Binarie– Grandezze digitali che possono assumere due soli

valori, comunemente indicati con 0 ed 1• La grandezza fisica può essere una tensione, corrente,

ampiezza…

tempo

V2

V1

Andamento ideale0-> V1, 1-> V2

oppure0-> V2, 1-> V1 …

Page 25: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

Grandezze elettriche (3)

• Binarie– In realtà…

• i valori 0 ed 1 sono rappresentati mediante valori di un intervallo

• Il cambiamento da 0->1, 1->0 non è istantaneo

tempo

3.32.8

0.50.0

Andamento realerumore

Page 26: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

Technology State 0 State 1

Relay logic Circuit Open Circuit ClosedCMOS logic 0.0-1.0 volts 2.0-3.0 voltsTransistor transistor logic (TTL) 0.0-0.8 volts 2.0-5.0 voltsFiber Optics Light off Light onDynamic RAM Discharged capacitor Charged capacitorProgrammable ROM Fuse blown Fuse intactMagnetic disk No flux reversal Flux reversalCompact disc No pit Pit

Mapping from physical world to binary world

Page 27: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

Vantaggi dei sistemi digitali

• Riproducibilità del risultato – rumore

• Facilità di progetto• Flessibilità• Programmabilità• Velocità di funzionamento (ns, 10-9 s)• Economia

Page 28: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

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 alle risorse

Page 29: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

Architettura a livelli di un sistema di elaborazione

• 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)

Macchina fisica MF e linguaggio macchina LF

Macchina virtuale Mv1 e linguaggio macchina Lv1

Macchina virtuale Mvn e linguaggio macchina Lvn

Page 30: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

Livello applicativo

• E’ il livello usato da chi scrive applicazioni per uno specifico problema (es programmi in java)

Program in Java

Programma eseguibile

int i; i=i+2;… bytecode

Compilat.Compilat. JVMJVM

Macchina ISA

eseguita daISA: Instruction Set Architecture (Macchina di von Neumann)

Page 31: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

Macchina di von Neumann

Unità di Calcolo

Unità di Controllo

Memoria dilavoro

Unità di Ingresso

Unità di Uscita

Page 32: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

Macchina di von Neumann

Unità di Calcolo

Unità di Controllo

Memoria dilavoro

Unità di Ingresso

Unità di Uscita

CPU

Page 33: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

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)

Page 34: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

Livelli di astrazione

Hardware

Software

Livello fisico(transistor..)

Livello porte logiche

Livellofirmware

INSIEME DELLE ISTRUZIONI(linguaggio macchina)

Page 35: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

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)

Page 36: Calcolatori Elettronici (9 crediti). Informazione generali sul corso Obiettivo del corso: –Conoscenza del funzionamento di un calcolatore elettronico.

Implementazione

• A una istruzione macchina corrisponde una sequenza di comandi del livello 1 che la realizzano

Istruzionemacchina…

1 2 3 kISequenza

equivalente

Istruzione L2