Calcolatori Elettronici - dis.uniroma1.italberto/didattica/Calcolatori/CE-intro-06-07.pdf ·...

Post on 15-Feb-2019

216 views 0 download

transcript

Calcolatori Elettronici(5 crediti)

A.Marchetti Spaccamela

a.a. 2006/2007

Informazione generali sul corso

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

elettronico

• Verifica– Prova scritta (5-6 domande) + orale/discussione

compito scritto

• Sito del corso– http://www.dis.uniroma1.it/~alberto/didattica.html(in costruzione...)

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

Programma del corso

• Introduzione• Struttura di un calcolatore• Rappresentazione numerica e codici• Il livello logico digitale• L’architettura di un sistema informatico

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 dicalcolo mediante il collegamento di PC o WSmediante rete ad alta velocità

IntroduzioneEsempio d’impiego di calcolatori

• Posta elettronica

personal computeApplicazioneClient di posta

Client Server

Server

Breve Storia dei Sistemidi Elaborazione

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

Generazione zeroTubi termoionici

• COLOSSUS (~1940GB) Gruppo di AlanTuring, Progettosegreto

• ENIAC (~1946 USA) J. Mauchley, J. Eckert 18.000 valvole 30 tonnellate 140kw assorbimento Programmabile tramite6000 interruttori epannelli cablati

20 registri da 10 cifre

La Macchina di Von Neumann

• IAS (~ 1950, Princeton USA)– Programma in memoria, Aritmetica binaria, Memoria: 4096 x 40bit

– Formato istruzioni a 20 bit:

OPCODE INDIRIZZO128

I Generazione: Sistemi Commerciali

• Inizialmente il mercato è dominato dallaUNIVAC

• L’IBM entra nel mercato nel 1953, e assumeuna posizione dominante che manterrà fino aglianni ‘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

II Generazione (1955-1965)

Tecnologia a transistor

• TXO e TX2 macchine sperimentali costruite alloMIT

• Uno dei progettisti del TX2 fonda una propriasocietà la Digital Equipment Corporation (DEC)

• La DEC produce il PDP-1 (1951):– Memoria: 4k parole di 18 bit– Tempo di ciclo di 4msec

– Prestazioni simili all’IBM 7090– Prezzo meno di un decimo– Schermo grafico 512 ¥ 512 pixel (primi videogiochi)– Comincia la produzione di massa

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 numbercrunching

• 10 volte più veloci del 7090

• Architettura molto sofisticata

• Parallelismo all’interno della CPU

• Nicchia di mercato molto specifica (resta vero ancheoggi)

• CDC 6600 (1964)

• Progettista del CDC 6600 è Seymour Cray, poifondatore della CRAY

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

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

La legge di Moore (1965)

La capacità delle memorie DRAM quadruplica ogni treanni (60% anno)

• Analogo aumento del numero di transistor sul chip• Aumento della capacità dei chip di memoria• Aumento della capacità di calcolo delle CPU

Legge di Moore per le CPU

• Più transistor:– parallelismo interno

• Maggiore frequenza difunzionamento

• Rapp.prestazioni/costo– 1951 valvola 1– 1965 transistor 36– 1975 circuito integrato

900– 1995 circuito VLSI

2400000– 2005 circuito ULSI

6200000000

Legge di Nathan

Il software è come un gas: riempie semprecompletamente qualsiasi contenitore in cui losi metta

Al calare dei costi e all’aumentare della memoriadisponibile, le dimensioni del software sono semprecresciute 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 programmabileElettronico digitale

• Sfrutta componenti elettronici digitali (portelogiche) che operano su grandezze binarie (bit)che possono assumere due soli valori (0 e 1)

Sistema: Parti (o componenti) cheinteragiscono in modo organico fra loro(architettura di von Neumann)

Programmabile• Il comportamento del sistema è flessibile e

specificato mediante un programma, ossia uninsieme di ordini

Intel Computer Family

Grandezze elettriche (1)

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

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

tempo

Pres

sion

e ar

ia

Tens

ione

ele

ttri

ca

tempo

Grandezze elettriche (2)

• Digitali– 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 …

Grandezze elettriche (3)

• Digitali– In realtà…

• i valori 0 ed 1 sono rappresentati mediante valori di unintervallo

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

tempo

3.32.8

0.50.0

Andamento realerumore

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 capacitorCharged capacitorProgrammable ROM Fuse blown Fuse intactMagnetic disk No flux reversal Flux reversalCompact disc No pit Pit

Mapping from physical world to binary world

Vantaggi dei sistemi digitali

• Riproducibilità del risultato– rumore

• 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

• Macchina: entità in grado di eseguire istruzioniappartenenti ad un linguaggio– Una macchina può essere fisica o virtuale

• Una macchina è composta da un insieme di risorseche sono controllare e gestite dalle istruzioni– Il significato di ogni istruzione è dato facendo riferimento

alle risorse

Architettura a livelli di un calcolatore

• Un calcolatore ècostituito da variemacchine virtuali

• Architettura di uncalcolatore è ladescrizione dellecaratteristiche dellevarie macchinevirtuali (livelli)

Macchina fisica MO e linguaggio macchina L0

Macchina virtuale M1 e linguaggio macchina L1

Macchina virtuale Mn e linguaggio macchina Ln

Livello applicativo

• E’ il livello usato da chi scrive applicazioni peruno 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 SetArchitecture (Macchina di vonNeumann)

Macchina di von Neumann

Unità di Calcolo

Unità di Controllo

Memoria dilavoro

Unità di Ingresso

Unità di Uscita

Macchina di von Neumann

Unità di Calcolo

Unità di Controllo

Memoria dilavoro

Unità di Ingresso

Unità di Uscita

CPU

Caratteristiche distintive..

• Singola memoria “monodimensionale”acceduta sequenzialmente

• Memorizzazione sia di dati che delprogramma

• Il tipo di dato non è memorizzato

• La macchina di von Neumann esegue leistruzioni del programma (nel linguaggiomacchina)

Livelli di astrazione

Hardware

Software

Livello fisico(transistor..)

Livello porte logiche

Livellofirmware

INSIEME DELLE ISTRUZIONI(linguaggio macchina)

Il livello firmware (microarchitettura)

Realizza 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 unasequenza di istruzioni del livello 1 che larealizzano

Istruzionemacchina…

m1 m2 m3 mkI Sequenza equivalente s

Istruzione L2