1
16
Introduzione al corso di Architettura
degli Elaboratori
A. Rodà
(adattamento da G. Chiola)
Architettura degli Elaboratori © 2013
Elaboratore elettronico 2
16
• Un elaboratore elettronico è una macchina
automatizzata per l’elaborazione di dati, numerici o
di altro tipo
• Macchina di tipo «universale», capace cioè di
eseguire diversi programmi per la risoluzione di
una grande varietà di problemi
Architettura degli Elaboratori © 2013
Un primo esempio di macchina... 3
• Si adatta a differenti tipi di 16
bucato.
programmata mediante un
• Viene
linguaggio fatto da singole parole
- "Cotone", "Colorati", "Sintetici", "Lana".
• Non esegue controlli
- è compito dell’utente impartire ordini
corretti leggendo prima il manuale d’uso.
• Anche impartendo ordini corretti
la macchina potrebbe non dare i
risultati aspettati -> guasto.
Architettura degli Elaboratori © 2013
Un primo esempio di macchina... 4
• Se la macchina si guasta, il tecnico della manutenzione userà
descrizioni dello stesso elettrodomestico diverse dal manuale 16
d'uso
- schemi elettrici, catalogo delle parti, ecc.
• Utilizzerà quindi un modo diverso di osservare e manipolare la
stessa macchina -> un diverso livello di astrazione.
Architettura degli Elaboratori © 2013
Preparare una pizza... 5
• Per cucinare una pizza occorre procurarsi gli 16
ingredienti, la ricetta, ed una serie di
attrezzi.
• La ricetta farà uso di un linguaggio che
dobbiamo essere in grado di comprendere e
dovrà descrivere il procedimento in termini di
passi elementari che dobbiamo essere in grado
di realizzare.
• In termini informatici, la realizzazione di una
pizza seguendo passo passo le indicazioni di
una ricetta costituisce una attività detta
interpretazione da parte di una macchina
virtuale (noi stessi nella fattispecie).
Architettura degli Elaboratori © 2013
Preparare una pizza... 6
• Talvolta potremmo aver bisogno di istruzioni più dettagliate 16
per portare a termine un’operazione (ad es. “scaldare il
forno”).
• L'eventuale interruzione della interpretazione della ricetta
per leggere su un altro manuale le istruzioni dettagliate di
accensione e regolazione della temperatura, in termini
estensione procedurale, per
informatici costituisce una
sopperire ad una mancanza di corrispondenza tra le
istruzioni contenute nella ricetta (programma da eseguire)
e l'insieme delle istruzioni che la macchina virtuale (noi
stessi) conosce ed é in grado di eseguire direttamente.
• Al termine dell'interpretazione della procedura "scaldare il
forno" la macchina virtuale può tornare all'interpretazione
del programma principale, dal punto in cui l'aveva
interrotto.
Architettura degli Elaboratori © 2013
In pizzeria... 7
• In pizzeria l'interazione avviene con un 16
cameriere, il quale assume agli occhi del
macchina virtuale
cliente il ruolo di
• Il linguaggio usato per la comunicazione
cliente-cameriere sarà quello dei nomi delle
linguaggio ad alto
pizze scritte sul menù ->
livello
• Ordinando al cameriere una “quattro
stagioni" comandiamo alla macchina virtuale
pizzeria l'esecuzione di una attività
complessa, il cui risultato é quello di far
arrivare al tavolo la pizza desiderata,
disinteressandosi dei dettagli
Architettura degli Elaboratori © 2013
In pizzeria... 8
16
• Il cameriere scriverà l'ordine su un pezzo di carta
codificare in forma
usando delle convenzioni per
abbreviata l'ordine.
• Il cameriere, passato l’ordine, può dedicarsi a
servire un altro tavolo, demandando quindi il
completamento dell'esecuzione dell'istruzione ad
un'altra macchina virtuale (il pizzaiolo) -> catena di
pipeline.
montaggio, che gli informatici chiamano
Architettura degli Elaboratori © 2013
In pizzeria... 9
• La macchina virtuale pizzaiolo interpreta gli ordini ricevuti dal cameriere 16
applicando una serie di passi elementari che ha imparato ad eseguire una
volta per tutte e che ricorda in permanenza (stendere la pasta, aggiungere
la passata di pomodoro, aggiungere la mozzarella, ecc.).
• In termini informatici, il pizzaiolo esegue una istruzione della sua macchina
micro istruzioni presenti in una sua
virtuale interpretando una sequenza di
memoria permanente (firmware) ed univocamente associate a ciascun codice
che il cameriere scrive sull'ordine.
• L'esecuzione delle micro istruzioni può essere interrotta solo nel caso si
manifestino delle eccezioni (o trap), ad esempio per esaurimento degli
ingredienti o per mancato riconoscimento del codice di un comando.
• Il trattamento di una eccezione può comportare un ritardo nel
completamento dell'esecuzione del comando (per esempio chiedendo a voce
al cameriere di chiarire cosa c’era scritto nella comanda) o l'aborto (col
cameriere che torna dal cliente e si scusa di non poter soddisfare l'ordine a
causa dell'esaurimento dei carciofini).
Architettura degli Elaboratori © 2013
Stratificazione a livelli 10
• Storicamente si é venuta consolidando una 16
stratificazione dei livelli di astrazione utilizzati
per progettare e per descrivere un sistema di
calcolo
- L 5 Linguaggi di alto livello
- L 4 Assembler
- L 3 Nucleo del Sistema Operativo
- L 2 Macchina convenzionale
- L 1 Micro Architettura o Trasferimento tra Registri
- L 0 Logica Circuitale
- L-1 Elettronica Circuitale e/o Fotonica
- L-2 Fisica dello stato solido
Architettura degli Elaboratori © 2013
Stratificazione a livelli 11
• L 5 Linguaggi di alto livello 16
- Il livello di macchina virtuale normalmente usato dal programmatore di
applicazioni eseguite dal sistema di calcolo;
• L 4 Assembler
- Il livello di macchina virtuale più basso utilizzabile dal programmatore
di applicazioni eseguite dal sistema di calcolo;
• L 3 Nucleo del Sistema Operativo
- Il livello di macchina virtuale che permette l'attivazione di programmi
indipendenti (processi) e l'uso delle risorse fisiche del sistema da
parte di questi programmi, senza interazioni logiche tra loro;
• L 2 Macchina convenzionale
- Il livello di definizione delle istruzioni base del computer e degli altri
dispositivi fisici che compongono il sistema;
Architettura degli Elaboratori © 2013
Stratificazione a livelli 12
• L 1 Micro Architettura o Trasferimento tra Registri 16
- Il livello di definizione del funzionamento dei singoli componenti
fisici del sistema in termini di interconnessione e spostamento di
informazioni tra circuiti logici elementari;
• L 0 Logica Circuitale
- Il livello di realizzazione dei circuiti logici elementari basato sulla
logica Booleana;
• L-1 Elettronica Circuitale e/o Fotonica
- Il livello di progettazione dei circuiti logici elementari in termini di
transistor o dispositivi optoelettronici;
• L-2 Fisica dello stato solido
- Il livello di progettazione dei dispositivi elettronici integrati sulla
base delle caratteristiche fisiche dei semiconduttori.
Architettura degli Elaboratori © 2013
Stratificazione a livelli 13
Fondamenti di informatica
L 5 Linguaggi di alto livello 16
L 4 Assembler Sistemi operativi
L 3 Nucleo del Sistema Operativo
L 2 Macchina convenzionale
L 1 Micro Architettura o Trasferimento tra Registri
L 0 Logica Circuitale
L-1 Elettronica Circuitale e/o Fotonica
L-2 Fisica dello stato solido Corsi di elettronica
Architettura degli Elaboratori © 2013
Corso di Architettura degli elaboratori 14
L 5 Linguaggi di alto livello 16
L 4 Assembler
L 3 Nucleo del Sistema Operativo
L 2 Macchina convenzionale
L 1 Micro Architettura o Trasferimento tra Registri
L 0 Logica Circuitale
L-1 Elettronica Circuitale e/o Fotonica
L-2 Fisica dello stato solido
Architettura degli Elaboratori © 2013
Programma del corso 15
• Reti logiche (combinatorie e sequenziali) -> L0 16
• Architettura ed organizzazione degli elaboratori -> L1
• Istruzioni di macchina -> L2
- PD32
• Introduzione al linguaggio assembly -> L4
- Il processore ARM:
- Samsung S3C2440
- Attività di laboratorio: uso del linguaggio assembly
Architettura degli Elaboratori © 2013
16
16
Fine
Introduzione al corso di
Architettura degli Elaboratori
Architettura degli Elaboratori © 2013
Testo di rif.to:
[Congiu] - 1.1 (pg. 1–17)
Rappresentazione delle informazioni
-1.g Informazioni numeriche
Rappresentazione delle informazioni 1
Stringa di 32 bit nella memoria di un elaboratore:
11100000100000010010000000000000
Cosa rappresenta? Dipende ... 40
32
certamente una di 2 =4294967296 (4G) possibili cose diverse:
un’istruzione ARM:
• add r2, r1, r0
un numero naturale (in base 2):
• 4034994176
10
un numero intero (complemento a 2):
• -259973120
10
un numero razionale (floating point):
• 66
-74435494641179600000 (-1,0087890625 )
×2
10 10
una stringa di 4 caratteri (ASCII):
• ‘<SOH> <NUL>
una stringa di 4 caratteri (ASCII estesa):
• ü <NUL>
a
uno di 4G possibili colori diversi di un pixel
• . . .
• © 2017
Architettura degli Elaboratori
Cosa vedremo 2
1. I sistemi di numerazione
• Decimale, binario, esadecimale… 40
• Conversioni di base
2. Le informazioni numeriche
• Numeri naturali (senza segno o “unsigned”)
• Numeri interi (con segno o “signed”)
• Numeri non interi (Þ fixed-/floating-point)
3. Le informazioni non numeriche
• Testi, immagini, suoni, video… © 2017
Architettura degli Elaboratori
Il sistema posizionale 3
(… .a =
a a a a …) b
2 1 0 -1 -2 40
2 1 0 -1 -2
= + + + + +…
…+ a ·b a ·b a ·b a ·b a ·b
2 1 0 -1 -2
i
= a ·b
S i i
• è la base del sistema di numerazione
b
• Gli sono le cifre del numero
a i
• Il valore di una cifra dipende
dalla sua posizione © 2017
Architettura degli Elaboratori
Sistema decimale 4
• b=10 40
• Possibili cifre: {0;1;2;3;4;5;6;7;8;9}
3
2095.42 = 2 · 10 +
10 2 +
0 · 10
9 · 10 +
5 +
4 / 10 +
2
2 / 10 © 2017
Architettura degli Elaboratori
Sistema binario 5
• b=2 40
• Possibili cifre: {0;1} 4
= 1 · 2 +
11011.101
2 3
1 · 2 +
2
0 · 2 +
1 · 2 +
1 +
1 / 2 +
2 +
0 / 2 3 = 27.625
1 / 2 10 © 2017
Architettura degli Elaboratori
Sistema ottale 6
• b=8
• Possibili cifre: {0;1;2;3;4;5;6;7} 40
2
= · 8 +
3
375.1
8 · 8 +
7 +
5 / 8 =
1 253.125
10
Una cifra ottale può rappresentare 3 cifre binarie:
110 011 101 001 110011101001 = 6351
2 8
6 3 5 1 © 2017
Architettura degli Elaboratori
Sistema esadecimale 7
• b=16
• Possibili cifre: {0;1;2;3;4;5;6;7;8;9;A;B;C;D;E;F} 40
2
= · 16 +
7B9.1 7
16 · 16 +
11
+
9 / 16 =
1 1977.0625
10
Una cifra esadecimale può rappresentare 4 cifre binarie:
1100 1110 1001 110011101001 = CE9
2 16
C E 9 © 2017
Architettura degli Elaboratori
Conversioni di base (1 di 4) 8
• Da ottale/esadecimale a binario: 40
espansione di ogni cifra in una terna/quaterna di
cifre binarie.
• Da binario a ottale/esadecimale:
raggruppamento in terne/quaterne di cifre e
sostituzione di ciascuna terna/quaterna con
l’opportuna cifra ottale/esadecimale.
• Da qualsiasi base a decimale:
applicando la definizione di notazione posizionale.
© 2017
Architettura degli Elaboratori
Conversioni di base (2 di 4) 9
Da decimale a qualsiasi altra base b
si prendono i resti
Parte intera: 40
delle divisioni successive per b
Esempio: 2009 = 7D9
10 16
2009/16 = 125 resto: 9
125/16 = 7 resto: 13=D L’ultima cifra
16 è la più
7/16 = 0 resto: 7 significativa
Il procedimento si arresta © 2017
Architettura degli Elaboratori
Conversioni di base (3 di 4) 10
Da decimale a qualsiasi altra base b
si prendono le parti intere
Parte frazionaria: 40
delle moltiplicazioni successive per b
Esempio: 0.6875 = 0.1011
10 2
0.6875·2 = 1.375 parte intera: 1 La prima cifra
0.375·2 = 0.75 parte intera: 0 è la più
significativa
0.75·2 = 1.5 parte intera: 1
0.5·2 = 1 parte intera: 1
Il procedimento si arresta © 2017
Architettura degli Elaboratori
Conversioni di base (4 di 4) 11
Da decimale a qualsiasi altra base b
Parte frazionaria 40
Il procedimento può anche essere infinito!
= 0. …
Esempio: 0.3 01001
10 2
0.3·2 = 0.6 parte intera: 0
0.6·2 = 1.2 parte intera: 1
0.2·2 = 0.4 parte intera: 0
0.4·2 = 0.8 parte intera: 0
0.8·2 = 1.6 parte intera: 1
0.6·2 = 1.2 parte intera: 1
… … … © 2017
Architettura degli Elaboratori
Rappresentazione negli elaboratori 12
Negli elaboratori, l’elemento base
per la rappresentazione delle 40
informazioni è il BInary digiT o più
semplicemente BIT (Tukey, 1947).
Può essere realizzato in molti modi
diversi (carica elettrica, campo
magnetico, ecc.), ma in tutti i casi può
assumere esattamente 2 valori e
corrisponde quindi a una cifra binaria.
Qualsiasi informazione in un
elaboratore è rappresentata tramite un
numero finito di bit. © 2017
Architettura degli Elaboratori
Rappresentazione finita: osservazione 13
Utilizzando un numero di cifre finito si può
rappresentare solo una quantità finita di numeri. 40
Esempio per i numeri naturali:
base n. di cifre quantità min max
M M
10 M 10 0 10 -1
4
10 4 10 0 9999
M M
0 2 -1
2 M 2 4
2 4 2 0 15
10
2 10 2 0 1023
20
2 20 2 0 1048575
30
2 30 2 0 1073741823 © 2017
Architettura degli Elaboratori
Potenze di 2 14
Quando il numero di bit è elevato, si usano delle
abbreviazioni analoghe a quelle delle unità di misura 40
Prefisso Nome Pot. di 2 Valore
10
1Ki
1K kibi-
kilo- 2 1.024
20
1Mi
1M mega-
mebi- 2 1.048.576
30 1.073.741.824
1Gi gibi-
1G giga- 2 40 12
1T tera- 2 ~1.1 x 10
1Ti tebi-
IEC
60027 50 15
1P peta- 2 ~1.1 x 10
1Pi pebi- 60 18
1Ei
1E exbi-
exa- 2 ~1.2 x 10
70 21
1Z zeta- 2 ~1.2 x 10
1Zi zebi- 80 24
1Y yotta- 2 ~1.2 x 10
1Yi yobi- © 2017
Architettura degli Elaboratori
Numeri naturali 15
Esempio di rappresentazione con M=4 cifre (bit): 40
0000 = 0
2 10
0001 = 1
2 10
0010 = 2
2 10
0011 = 3
2 10
0100 = 4
2 10
…
1110 = 14
2 10
1111 = 15
2 10
I numeri maggiori di 15 non sono rappresentabili. © 2017
Architettura degli Elaboratori
Numeri interi: ampiezza e segno 16
Il primo bit (quello più significativo) viene utilizzato
per indicare il segno: 40
1111 -7
«
2 10
1110 -6
«
2 10
1101 -5
«
2 10
…
1001 -1
«
2 10
1000 -0
«
2 rappresentazioni 2 10
dello 0 0000 = +0
10
2
0001 = +1
2 10 Si riduce il numero
… di interi positivi
rappresentabili
0110 = +6
2 10
0111 = +7
2 10 © 2017
Architettura degli Elaboratori
Numeri interi: eccesso P 17
Il valore rappresentato si ottiene sottraendo P
al valore calcolato secondo la notazione posizionale. 40
M-1
Esempio con M=4 e P=8 (di solito P=2 ):
0000 -8 = 0 -8
«
2 10 10 10
0001 -7 = 1 -8
«
Dissimmetria 2 10 10 10
0010 -6 = 2 -8
«
2 10 10 10
… -1
0111 «
2 10 Una sola
1000 0 rappresentazione
«
2 10 dello 0
1001 1
«
2 10
…
1110 6
«
2 10
1111 7
«
2 10 © 2017
Architettura degli Elaboratori
Numeri interi: complemento a 1 18
La rappresentazione di un intero positivo coincide con
quella del corrispondente numero naturale. 40
La rappresentazione di un intero negativo si ottiene
complementando bit a bit quella del suo opposto.
1000 -7
«
2 10
1001 -6
«
2 10
…
1110 -1
«
2 10
1111 -0
«
2 rappresentazioni 2 10
dello 0 0000 = +0
2 10
0001 = +1
2 10
…
0110 = +6
2 10
0111 = +7
2 10 © 2017
Architettura degli Elaboratori
Numeri interi: complemento a 2 19
La rappresentazione di un intero positivo coincide con
quella del corrispondente numero naturale. 40
La rappresentazione di un intero negativo si ottiene
aggiungendo una unità al complemento a 1.
1000 -8
«
2 10
1001 -7
«
2 10
…
1111 -1
«
2 10
0000 = 0
2 10
0001 = +1
2 10
…
= +6
0110
2 10
<Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Appunti esame Architettura degli elaboratori (1 anno)
-
Appunti Architettura degli elaboratori
-
Architettura degli elaboratori - Appunti
-
Architettura degli elaboratori - Appunti