calcolatori elettronici e sistemi operativi -...

28
1 Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori Elettronici Prof.ssa Laura Tarantino Dipartimento di Ingegneria Elettrica e dell’Informazione Lezione 1 Introduzione al modulo L. Tarantino – a.a. 2008/2009 3 Organizzazione del modulo (1) LIBRO DI TESTO: Patterson, Hennessy Struttura, organizzazione e progetto dei calcolatori Seconda edizione Zanichelli Si possono usare anche l’edizione precedente italiana Jackson (ma non la 1ª edizione Zanichelli ): Patterson, Hennessy Struttura, organizzazione e progetto dei calcolatori Jackson libri (disponibile in biblioteca) o le edizioni originali: titolo originale Computer organization and design - 2nd o 3rd edition editore originale Morgan Kaufmann

Upload: vannhan

Post on 15-Feb-2019

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

1

Calcolatori Elettronici e Sistemi Operativi

modulo Calcolatori Elettronici

Prof.ssa Laura Tarantino

Dipartimento di Ingegneria Elettrica e dell’Informa zione

Lezione 1Introduzione al modulo

L. Tarantino – a.a. 2008/2009 3

Organizzazione del modulo (1)LIBRO DI TESTO:

Patterson, HennessyStruttura, organizzazione e progetto dei calcolatoriSeconda edizione Zanichelli

Si possono usare anche l’edizione precedente italiana Jackson (ma non la 1ª edizione Zanichelli):

Patterson, HennessyStruttura, organizzazione e progetto dei calcolatoriJackson libri (disponibile in biblioteca)

o le edizioni originali:

titolo originale Computer organization and design - 2nd o 3rd edition

editore originale Morgan Kaufmann

Page 2: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

2

L. Tarantino – a.a. 2008/2009 5

Organizzazione del modulo (2)

ALTRO MATERIALE DIDATTICO

lucidi in formato elettronico su www.didattica.univaq.it

esercizi svolti e raccolta di domande (verranno caricati)

L. Tarantino – a.a. 2008/2009 7

Informazioni sugli esami

� Modalità di esame

— L'esame prevede solo una prova scritta (comprende sia esercizi che domande teoriche)

Page 3: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

3

L. Tarantino – a.a. 2008/2009 8

Finalità del modulo Calcolatori Elettronici

� Il modulo si propone di fornire le nozioni necessarie alla comprensione del funzionamento dei calcolatori.

� A tale scopo vengono introdotti:

— l'aritmetica dell'elaboratore

— il linguaggio dell'elaboratore

— la CPU

— il sistema di memoria

— cenni su periferiche e interconnessioni

� Gli argomenti vengono trattati sia da un punto di vista metodologico generale, che con riferimento a processori reali diffusi sul mercato.

L. Tarantino – a.a. 2008/2009 9

Informatica

informazione automatica

rappresentazioneconservazioneelaborazione

relazionetra datideleghiamo uno strumento

Trattamento automatico dell’informazione

deve esistere un linguaggio comune tra delegante e delegato

Page 4: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

4

L. Tarantino – a.a. 2008/2009 10

� lo stesso concetto può essere rappresentato in modi diversi:

— se posso scrivere: cinque

5

— se ho dei sassolini

Rappresentazione dei dati (1)

La rappresentazione dipende dal supporto

L. Tarantino – a.a. 2008/2009 11

Rappresentazione dei dati (2)

Alfabeto + interpretazione+ regole di composizione

sintassi e semantica

� In ogni caso abbiamo bisogno di:

Page 5: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

5

L. Tarantino – a.a. 2008/2009 13

Requisiti del supporto

il supporto deve poter assumere

configurazioni differenti

L’informazione consiste indifferenze che fanno la differenza (Edward Tufte)

Il trattamento prevede la memorizzazione

il supporto deve poter conservare le

configurazioni nel tempo(es., la carta è

adeguata, l’aria no)

L. Tarantino – a.a. 2008/2009 14

Requisiti della codifica (1)

� La costruzione di una codifica richiede la definizione di una corrispondenza biunivoca tra:

— un insieme di partenza (gli oggetti da rappresentare) e

— un insieme di arrivo (le configurazioni del supporto)

per cui:

— ad oggetti distinti corrispondono configurazioni distinte,

— data una configurazione, si individua in modo univoco l’oggetto rappresentato

Page 6: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

6

L. Tarantino – a.a. 2008/2009 15

Requisiti della codifica (2)

� Una codifica che permette di riconoscere distinzioni èclassificatoria.

� Ai fini del calcolo occorre anche poter:

— stabilire relazioni d’ordine (“questo valore è maggiore di quello”)

— stabilire metriche (“questo dista TOT da quest’altro”)

L. Tarantino – a.a. 2008/2009 16

La rappresentazione nel sistema di calcolo (1)

� Il supporto è basato su circuiti elettronici

� Abbiamo a che fare con grandezze elettriche (tensione e corrente)

Se vogliamo rappresentare dati numerici possiamo decidere di associare le cifre con opportuni valori

delle grandezze elettriche

Page 7: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

7

L. Tarantino – a.a. 2008/2009 17

Osservazione

� si parte con lo studio della codifica di dati numerici

� per qualunque insieme di dati non numerici da rappresentare può essere individuata una codifica numerica

Esempi

� i giorni della settimana

(lun mar mer gio ven sab dom ) -> (1 2 3 4 5 6 7 )

� i mesi dell’anno

(gen feb mar … dic ) -> (1 2 3 … 12 )

L. Tarantino – a.a. 2008/2009 18

Rappresentazione nel sistema di calcolo (2)

01

23

45

67

89

Svantaggi

� nessun sistema fisico può essere isolato dall’ambiente

� sbalzi di tensione/corrente (rumore) possono alterare lo stato del sistema portandolo in una fascia diversa da quella corretta

� ammettere tutti i valori di V nel range previsto impedisce di identificare il rumore0

Vmax

Approccio banale

Page 8: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

8

L. Tarantino – a.a. 2008/2009 19

Rappresentazione nel sistema di calcolo (3)

Obiettivo

� minimizzare la probabilità di errore

In altre parole

� minimizzare il numero di fasce nel range prescelto

Prevedo DUE fasce perché deve esistere distinzione

L. Tarantino – a.a. 2008/2009 20

Rappresentazione nel sistema di calcolo (4)

0

Vmax

0

1

Componenti digitali Rappresentazione binaria≡

� a parità di range di tensione col caso precedente, si divide l’intervallo in due sole fasce

� si impone che i soli valori leciti siano quelli prossimi a 0 e a Vmax (componenti digitali)rumore

Vantaggio� si può identificare il rumore ed

eliminarlo con buona probabilità di correttezza

Page 9: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

9

L. Tarantino – a.a. 2008/2009 21

Rappresentazione binaria (1)

Alfabeto = { 0, 1 }

cifra binaria (Binary digIT = BIT)

BIT = unità di misura della quantità di informazione

Definizione: il bit è la quantità di informazione che si acquisisce quando si conosce quale tra due eventi equiprobabili e

indipendenti tra loro si è verificato o è stato scelto

in senso lato, un bit è una grandezza fisica che può assumere solo due valori quindi è la quantità elementare di informazione manipolabile da un calcolatore DIGITALE

L. Tarantino – a.a. 2008/2009 22

Rappresentazione binaria (2)

� con 1 bit posso distinguere tra 2 oggetti distinti:

0 1

� con 2 bit posso costruire 4 configurazioni distinte:

00 01 10 11

� con 3 bit posso costruire 8 configurazioni distinte:

000 001 010 011 100 101 110 111

Page 10: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

10

L. Tarantino – a.a. 2008/2009 23

Rappresentazione binaria (3)

n bit0 0 1 1 0 1.. .. .. ..

bit menosignificativo

bit piùsignificativo

con n bit posso costruire 2n configurazioni distinte

� generalizzando:

Viceversaservono log2 m bit per distinguere tra m oggetti distinti

L. Tarantino – a.a. 2008/2009 24

Codifica binaria dei primi 10 numeri interi

Osservazione

� per semplicità gli zeri in testa sono omessi

Page 11: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

11

L. Tarantino – a.a. 2008/2009 25

Flusso tradizionale dell’informazione

ambiente

ElaborazioneControllo

Trasferimento

Memorizzazione

L. Tarantino – a.a. 2008/2009 26

La macchina di Von Neumann (1)

Sistema di calcolo

Dispositivi

Input

Output

Memoria(passiva)

Processore(attivo)

Central Processing Unit (CPU)

Page 12: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

12

L. Tarantino – a.a. 2008/2009 27

La macchina di Von Neumann (2)

Sistema di calcolo

MemoriaDispositivi

Input

Output Unità dicalcolo

Processore

Unità dicontrollo

L. Tarantino – a.a. 2008/2009 28

La memoria - generalità

� Funzioni:— Supporto alla CPU: deve fornire dati ed istruzioni il più

rapidamente possibile— Archiviazione: deve consentire di archiviare dati e

programmi, garantendone la conservazione e la reperibilità anche dopo elevati periodi di tempo

� Esigenze diverse:— velocità per il supporto alla CPU— non volatilità e capacità per l’archiviazione

� Tecnologie diverse:— elettronica: veloce, ma costosa e volatile— magnetica e ottica: non volatile ed economica, ma

molto lenta

Page 13: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

13

L. Tarantino – a.a. 2008/2009 29

La macchina di Von Neumann (3)

Sistema di calcolo

MemoriaprincipaleDispositivi

Input

Output Unità dicalcolo

Processore

Unità dicontrollo

Memoriasecondaria

L. Tarantino – a.a. 2008/2009 30

Conservare in memoria - i componenti

� la memoria principale è una successione ordinata di componenti digitali che possono assumere uno tra due valori e conservarlo stabile nel tempo finché c’èalimentazione

� ogni componente elementare della memoria può rappresentare e conservare un bit

Page 14: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

14

L. Tarantino – a.a. 2008/2009 31

Conservare in memoria - le celle

� i bit nella memoria sono raggruppati in celle— tutte le celle della memoria sono composte dallo

stesso numero di bit— se una cella è composta da k bit può assumere 2k

configurazioni distinte8 bit

Esempio

� se una cella è composta da 8 bit (che costituiscono un byte) può assumere 28 = 256 configurazioni distinte

� possiamo ad esempio rappresentare i numeri assoluti nell’intervallo [0, 255]

L. Tarantino – a.a. 2008/2009 32

Conservare in memoria - gli indirizzi (1)

� bisogna poter accedere a celle selezionate, e non casualmente

— ogni cella della memoria viene associata ad un identificatore univoco detto indirizzo della cella

— se la memoria contiene N celle gli indirizzi vanno da 0 a N-1

Esempio

� se abbiamo una memoria con 8 parole gli indirizzi vanno da 0 a 7

0

1

2

3

4

5

6

7

8 bit

Page 15: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

15

L. Tarantino – a.a. 2008/2009 33

Conservare in memoria - gli indirizzi (2)

� la cella è la più piccola unità di memoria indirizzabile

� nella maggior parte dei calcolatori una cella è composta da un byte (8 bit)

� si parla quindi di memoria indirizzabile al byte

L. Tarantino – a.a. 2008/2009 34

Conservare in memoria - le parole

� per la maggior parte delle elaborazioni reali il potere rappresentazionale del byte (255 configurazioni) èinsufficiente

� i byte vengono quindi raggruppati per formare stringhe di bit più lunghe, dette parole

— tutte le parole della memoria sono composte dallo stesso numero di byte

— nei calcolatori attuali le parole sono composte da 32 bit (4 byte)

32 bit

Page 16: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

16

L. Tarantino – a.a. 2008/2009 35

Terminologia - unità di misura (1)

� bit (quantità minima di informazione)

� 8 bit = 1 byte

� 16 bit = 2 byte = mezza parola

� 32 bit = 4 byte = 1 parola

� 64 bit = 8 byte = parola doppia

L. Tarantino – a.a. 2008/2009 36

Terminologia - unità di misura (2)

� 1 kilobyte = 210 byte = 1024 byte

� 1 megabyte = 220 byte = circa un milione di byte

� 1 gigabyte = 230 byte = circa un miliardo di byte

� 1 terabyte = 240 byte = circa mille miliardi di byte

Page 17: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

17

L. Tarantino – a.a. 2008/2009 37

Conservare in memoria - indirizzi (3)

� l’indirizzo della parola è l’indirizzo di uno dei suoi byte

0

4

8

12

...

32 bit

L. Tarantino – a.a. 2008/2009 38

Conservare in memoria - indirizzi (4)

MSB(most significant byte)

LSB(least significant byte)

little endian

big endian

3 2 1 0

0 1 2 3

Little Endian: la parola ha l’indirizzo del byte meno significativo(Intel 80x86)

Come vengono numerati i byte di una parola?

Big Endian : la parola ha l’indirizzo del byte più significativo(IBM/Motorola PowerPC, Sparc)

Page 18: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

18

L. Tarantino – a.a. 2008/2009 39

Conservare in memoria - indirizzi (5)

� Gli indirizzi in memoria sono codificati in binario

� Con k bit si possono costruire 2k configurazioni diverse, quindi con un indirizzo da k bit si possono indirizzare:— 2k byte, ossia— 2k/4 = 2k-2 parole (ricorda: 1 parola = 4 byte)

Esempio

� con 8 bit si possono indirizzare— 28 = 256 byte, ossia— 28/4 = 26 = 64 parole

L. Tarantino – a.a. 2008/2009 40

Organizzazione della memoria

0 1 2 3

Allineata

NonAllineata

Allineata se tutte le parole iniziano ad indirizzi che sonomultipli di 4

Page 19: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

19

L. Tarantino – a.a. 2008/2009 41

Elaborare

� attuare una procedura che genera nuovi dati sulla base di dati di partenza, passo dopo passo

Tipiche attività elementari di un passo della procedura

� alcuni dati di partenza vengono:— letti in memoria— portati all’interno della CPU— usati come operandi da parte dell’unità di calcolo

� il risultato prodotto viene scritto in memoria

L. Tarantino – a.a. 2008/2009 42

Linguaggio macchina

� Linguaggio direttamente comprensibile ed eseguibile dall’elaboratore, senza nessuna traduzione:

— istruzioni ed operandi presenti in memoria— tutto è espresso in forma binaria

difficile da usare

Page 20: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

20

L. Tarantino – a.a. 2008/2009 43

Linguaggio macchina (esempio “giocattolo”)

00

01

10

11

8 bit

+ 00- 01* 10/ 11

Op Codice

a = b + c

00 10 01

Cod Ris 1° op 2° op

2 2 2 2

0 0 0 0 1 0 0 1

0 0 0 0 1 0 0 1

L. Tarantino – a.a. 2008/2009 44

Nelle macchine reali

� Memoria più capacees., 256 MB = 256 220 B = 256 220 B / 4B par. = 64 220 par.

� Istruzioni più complesserappresentazione delle “funzioni”e degli operandi

� Formato istruzione:— a lunghezza fissa (es., una parola)— a lunghezza variabile (da 1 a n byte, a seconda della

natura dell’istruzione)

� Programmi lunghi— occupano una sequenza di locazioni consecutive della

memoria— il processore esegue una istruzione alla volta

Page 21: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

21

L. Tarantino – a.a. 2008/2009 45

Programmain memoria

Esecuzione di un’istruzione - Ipotesi

.

.

.

i

1. formato istruzione a lunghezza fissa

2. lunghezza dell’istruzione pari ad una parola

l’esecuzione dell’istruzione all’indirizzo i sarà seguita dall’esecuzione dell’istruzione

all’indirizzo i+4

n istruzioni =

n parole consecutive

1 parola = 4 byte

L. Tarantino – a.a. 2008/2009 46

Esecuzione di un’istruzione - fasi

� In tutte le macchine l’esecuzione di una singola istruzione si basa sulla ripetizione di 3 fasi:

— Prelievo (FETCH)acquisizione dell’istruzione dalla memoria

— Decodifica del “codice operativo” (DECODE)identificazione dell’istruzione tra quelle che compongono il linguaggio

— Esecuzione (EXECUTE)effettuazione delle operazioni corrispondenti all’istruzione, incluso l’eventuale recupero dalla memora degli operandi

Page 22: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

22

L. Tarantino – a.a. 2008/2009 47

Programmain memoria

Fetch - decode - execute (1)

.

.

.

i

1. prelievo ( fetch ) dell’istruzione di indirizzo i

2. decodifica ( decode ) dell’istruzione

3. esecuzione ( execute ) dell’istruzione

4. predisponi per il prelievo della prossima istruzione e torna al passo 1

unità di controllo

unità di calcolo

unità di controllo memoria+

unità di controllo

L. Tarantino – a.a. 2008/2009 48

Fetch - decode - execute (2)

Programmain memoria

.

.

.

i

1. prelievo ( fetch ) dell’istruzione di indirizzo i

4. predisponi per il prelievo della prossima istruzione e torna al passo 1

i Program Counter (PC) come un puntatore!

Instruction Register (IR)

nel processore

IR ←←←← Mem [PC]

PC ←←←← PC + 4 “quasi sempre”

Page 23: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

23

L. Tarantino – a.a. 2008/2009 49

Terminologia - tipi di linguaggi di programm.

Linguaggio a basso livello

� linguaggio legato ai dettagli dell’architettura hw

Linguaggio ad alto livello

� linguaggio orientato all’utente informatico: il programmatore può astrarre dai dettagli dell’architettura e esprimere gli algoritmi in modo simbolico

L. Tarantino – a.a. 2008/2009 50

Nella comunicazione reale ..

� se due soggetti parlano due linguaggi diversi è necessario che un interprete che conosce entrambi i linguaggi funga da intermediario

Soggetto1Soggetto2

da Soggetto1a Intermediario

da Intermediarioa Soggetto2

Page 24: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

24

L. Tarantino – a.a. 2008/2009 51

Il traduttore nella comunicazione col sistema

� le istruzioni hanno una forma numerica

� un programma in linguaggio macchina è composto da una sequenza di stringhe di bit posta in memoria

� si può immaginare di avere un programma (traduttore) che generi questa sequenza a partire da un testo scritto in un linguaggio diverso (posto che siano note sintassi e semantica dell’altro linguaggio)

L. Tarantino – a.a. 2008/2009 52

Traduttori

Traduttore EsecutoreP(LM)P(L)dati output

datiinput

Elaboratore

P(L) dati output

datiinput

Page 25: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

25

L. Tarantino – a.a. 2008/2009 53

Terminologia - Due tipi di traduttori

Compilatori

� accettano in ingresso l’intero programma e producono in uscita la rappresentazione dell’intero programma in linguaggio macchina

Interpreti

� traducono ed eseguono direttamente ciascuna istruzione del programma sorgente, una dopo l’altra

L. Tarantino – a.a. 2008/2009 54

Gerarchia di livelli (1)

� se i due linguaggi sono troppo diversi è complicato costruire il traduttore

� si preferisce allora progettare linguaggi “intermedi” e prevedere una successione di traduzioni da un linguaggio ad un altro non troppo lontano da quello di partenza

Page 26: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

26

L. Tarantino – a.a. 2008/2009 55

Gerarchia di livelli (2)

LM

T(LM)

L1

T(L1)

L2

.

.

Macchina M con linguaggio macchina LM

Macchina M1 conlinguaggio L1

Macchina M2 conlinguaggio L2

Macchina Mn conlinguaggio Ln

Livello 0

Livello 1

Livello 2

Livello n

L. Tarantino – a.a. 2008/2009 56

Livelli di astrazione (1)temp = v[k];

v[k] = v[k+1];

v[k+1] = temp;

lw $t0, 0($2)lw $t1, 4($2)sw $t1, 0($2)sw $t0, 4($2)

0000 1001 1100 0110 1010 1111 0101 10001010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111

Linguaggio adalto livello (es., C)

Linguaggio assemblativo

Linguaggio macchina

Segnali di controllo

Compilatore

Assemblatore

Interpretazionedella macchina

software

HW

Page 27: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

27

L. Tarantino – a.a. 2008/2009 57

Livelli di astrazione (2)

Linguaggio ad alto livello

� il programmatore può astrarre dai dettagli dell’architettura e esprimere gli algoritmi in modo simbolico

Linguaggio assemblativo

� è una forma simbolica del linguaggio macchina

Linguaggio macchina

� è fortemente legato ai dettagli dell’architettura hw

L. Tarantino – a.a. 2008/2009 58

Livelli di astrazione (3)

CompilatoriSistema

operativo(es., Windows)

Software applicativo

Hardware

Software Assemblatore

Page 28: Calcolatori Elettronici e Sistemi Operativi - ing.univaq.iting.univaq.it/laura/didattica/CE/file_per_moodle/01-intro.pdf · Calcolatori Elettronici e Sistemi Operativi modulo Calcolatori

28

L. Tarantino – a.a. 2008/2009 59

Terminologia -Tassonomia dei sist. informatici

Classe Applicazione Utenti Software

PC Elaborazioni Piccole imprese Preconfezionatopersonali Privati

Workstation Elaborazioni Piccole imprese Preconfezionato ografiche - CAD Ambienti di ricerca Sviluppato ad hoc

Minicalcolatore Elaborazioni Medie e grandi Preconfezionatolocali imprese

Mainframe Elaborazioni Grandi imprese Sviluppatodi massa internamente

Supercalcolatore Elaborazioni di Gruppi di ricerca Sviluppato ad hocelevata complessità