Infrastrutture HardWare - Dipartimento di Informatica

Le infrastrutture
Hardware:
architettura
Corso di Informatica
CdL: Chimica
Claudia d'Amato
[email protected]
Il calcolatore:
modello concettuale
1.
Elaborazione
2.
Memorizzazione
Interconnessione
3.
Comunicazione
(interfaccia)
Informatica – Claudia d'Amato
2
Il calcolatore:
modello architetturale
1.
Elaborazione
Unità Centrale di
Elaborazione
Collegamenti
(BUS/Cavi)
2.
Memoria
Memorizzazione
Memoria
Elettronica
Magnetica
Interconnessione
3.
Comunicazione
(interfaccia)
Periferiche
Informatica – Claudia d'Amato
3
Lo schema di riferimento
Memoria di
massa
PC
ALU
Video/tastiera
(terminale)
Registri
CPU
Memoria
Interfaccia di I/O
Interfaccia di I/O
dati
BUS
indirizzi
controllo
Informatica – Claudia d'Amato
4
Lo schema di riferimento
RAM
CPU
Scheda madre
(motherboard)
Bus dati
Bus indirizzi
Bus di controllo
Interfacce
di I/O
Interfaccia di I/
O
Tastiera e mouse
Schermo
Informatica – Claudia d'Amato
Altoparlanti
Interfacce
di I/O
Memoria di massa
5
Connettori per
schede di I/O
aggiuntive
Scheda madre
Zoccolo per
la CPU
Connettori
per la
memoria
Connettori per
dischi fissi
Informatica – Claudia d'Amato
6
CPU – Central Processing Unit
Unità Centrale di Elaborazione
Informatica – Claudia d'Amato
7
Collegamento a BUS

Semplicità
•

Estendibilità
•

utilizzo in mutua esclusione del bus
Limitatà capacità
•

regole per la comunicazione da parte di dispositivi diversi
Lentezza
•

aggiunta di nuovi dispositivi molto semplice
Standardizzabilità
•

un’unica linea di connessione  costi ridotti di produzione
al crescere del numero di dispositivi collegati
Sovraccarico del processore (CPU)
•
perchè funge da master sul controllo del bus
Informatica – Claudia d'Amato
8
Organizzazione tipica di un
calcolatore “bus oriented”
CPU
Dispositivi di I/O
Unità di
controllo
Unità
aritmetico
logica (ALU)
Terminale
Stampante
Registri
CPU
Memoria
centrale
Unità
disco
Bus
Informatica – Claudia d'Amato
9
L’ “esecutore”

Un calcolatore basato sull’architettura di Von Neumann esegue
un programma sulla base dei seguenti principi:
• dati e istruzioni memorizzati in una memoria unica che permette sia la
scrittura che la lettura;
• i contenuti della memoria sono indirizzati in base alla loro posizione,
indipendentemente dal tipo di dato o istruzione contenuto;
• le istruzioni sono eseguite in modo sequenziale.

Il linguaggio per cui la CPU si comporta da esecutore è detto
linguaggio macchina. Le istruzioni scritte in linguaggio macchina
sono piuttosto rudimentali:
• il concetto di tipo di dato è quasi assente,
• il numero di operandi è limitato (in genere non più di due),
• il numero di operazioni previste è ridotto.
Struttura istruzione
codice operativo
dest
src1
src2
Linguaggio assemblatore
add
R01
R02
R03
Linguaggio macchina
Informatica – Claudia d'Amato
000000 00000 100000 00001 00010 00011
10
L'esecuzione dei Programmi
Quando istruzioni e dati di un programma da
elaborare sono in memoria, la CPU esegue, fino
alla terminazione del programma, le fasi:
 Fetch: estrazione di una istruzione dalla
memoria
 Decode: identificazione dell'istruzione da
eseguire
 Execute: esecuzione dell'istruzione (incluso
recupero dalla memoria degli operandi o
modifica della successione delle istruzioni)
Informatica – Claudia d'Amato
11
Ciclo Fetch–Decode–Execute
Fetch
Decode
Execute
Informatica – Claudia d'Amato
12
Le parti di una CPU

Data path (o percorso dei dati): si occupa dell’effettiva

Unità di controllo
elaborazione dei dati; comprende
• una o più unità aritmetico-logiche (ALU - Arithmetic Logic Unit);
• i registri, memoria ad alta velocità usate per risultati
temporanei e informazioni di controllo
• coordina le operazioni del processore (compreso data path!);
• regola il flusso dei dati e indica quali registri debbano essere
collegati agli ingressi e all’uscita dell’ALU;
• invia all’ALU il codice dell’operazione da eseguire;
• riceve indicazioni sull’esito dell’operazione appena eseguita
dall’ALU e gestisce opportunamente queste informazioni;
• comprende alcuni registri di uso specifico
• Program Counter (PC) – qual è l’istruzione successiva;
• Instruction Register (IR) – istruzione in corso d’esecuzione;
•…
Informatica – Claudia d'Amato
13
CPU

In grado di eseguire solo istruzioni
codificate in linguaggio macchina

Ciclo Fetch – Decode - Execute
1. Prendi l’istruzione corrente dalla memoria (quella individuata dal
contenuto del PC) e mettila nell’IR (Instruction Register),
contemporaneamente incrementa il Program Counter (PC) in modo che
contenga l’indirizzo dell’istruzione successiva (fetch)
2. Determina il tipo di istruzione da eseguire (decode)
3. Se l’istruzione usa dei dati presenti in memoria, determinane la
posizione;
4. Carica la parola, se necessario, in un registro della CPU;
5. Esegui l’istruzione (execute)
6. Torna al punto 1 e inizia a eseguire l’istruzione successiva.
Informatica – Claudia d'Amato
16
Tre tipologie di istruzioni

Istruzioni aritmetico-logiche (Elaborazione dati)
• Somma, Sottrazione, Divisione, …
• And, Or, Xor, …
• Maggiore, Minore, Uguale, Minore o uguale, …

Controllo del flusso delle istruzioni
• Sequenza
• Salto condizionato o non condizionato (per realizzare
selezioni e cicli)

Trasferimento di informazione
• Trasferimento dati e istruzioni tra CPU e memoria
• Trasferimento dati e istruzioni tra CPU e dispositivi di
ingresso/uscita (attraverso le relative interfacce)
Informatica – Claudia d'Amato
17
Miglioramento Prestazioni CPU
Per migliorare le prestazioni di una CPU si può:
1. Ridurre il tempo necessario per l'esecuzione
delle singole istruzione
1. Aumento delle frequenze dei processori →
riduzione del tempo di ciclo di istruzione
2. Introduzione della memoria cache
2. Aumentare il numero di istruzioni da
eseguire contemporaneamente (in parallelo)
1. Pipeline
Informatica – Claudia d'Amato
23
CPU Pipeline
La fase execute della 1a istruzione è eseguita
parallelamente alla fase decode della 2a istruzione
 La fase decode delle seconda istruzione è eseguita
parallelamente alla fase fetch della terza istruzione
 Numero di istruzioni eseguite durante il tempo di
esecuzione di un singolo ciclo di istruzione è <= 3
 In generale, l'incremento della velocità di
esecuzione dovuta al pipelining è <= numero di fasi
della pipeline

• è uguale al numero di fasi della pipeline se la durata
degli stadi è perfettamente bilanciata)
Informatica – Claudia d'Amato
24
CPU Pipeline: Esempio...
5
Istr.1
Istr.2
Istr.1
Istr.2
Istr.3
Istr.1
Istr.2
Istr.3
Istr.4
Istr.1
Istr.2
Istr.3
Istr.4
Istr.5
Istr.1
Istr.2
Istr.3
Istr.4
Istr.5
Istr.6
10 ns
20 ns
30 ns
40 ns
50 ns
60 ns
Stadio
4
3
2
1
0
Informatica – Claudia d'Amato
25
...CPU Pipeline: Esempio
5
Istr.i-4
Istr.i-3
Istr.i-2
Istr.i-1
Istr.i
Istr.i+1
Istr.i-3
Istr.i-2
Istr.i-1
Istr.i
Istr.i+1
Istr.i+2
Istr.i-2
Istr.i-1
Istr.i
Istr.i+1
Istr.i+2
Istr.i+3
Istr.i-1
Istr. i
Istr.i+1
Istr.i+2
Istr.i+3
Istr.i+4
Istr.i
Istr.i+1
Istr.i+2
Istr.i+3
Istr.i+4
Istr.i+5
20 ns
30 ns
40 ns
50 ns
Stadio
4
3
2
1
0
10 ns
Informatica – Claudia d'Amato
60 ns
26
La memoria
Informatica – Claudia d'Amato
27
La memoria: Funzioni
Supporto alla CPU: deve fornire alla CPU dati e
istruzioni il più rapidamente possibile
 Archivio: deve consentire di archiviare dati e
programmi garantendone la conservazione e la
reperibilità anche dopo elevati periodi di tempo
 Diverse esigenze:

• velocità per il supporto alla CPU
• non volatilità ed elevate dimensioni per l’archivio

Diverse tecnologie
• elettronica: veloce, ma costosa e volatile
• magnetica e ottica: non volatile ed economica, ma molto
lenta
Informatica – Claudia d'Amato
28
La memoria centrale
Informatica – Claudia d'Amato
29
La memoria centrale (RAM)
 Mantiene
al proprio interno i dati e
le istruzioni dei programmi in esecuzione
 Memoria ad accesso “casuale”
 Tecnologia elettronica
• veloce ma volatile e costosa
 Due
“eccezioni”
• ROM: elettronica ma permanente e di sola lettura
• Flash: elettronica ma non volatile e riscrivibile
Informatica – Claudia d'Amato
30
Indirizzi di memoria

I bit nelle memorie sono raggruppati in celle:
• tutte le celle sono formate dallo stesso numero di bit;
• una cella composta da k bit, è in grado di contenere una
qualunque tra 2k combinazioni diverse di bit.

Ogni cella ha un indirizzo:
• serve come accesso all’informazione;
• in una memoria con N celle gli indirizzi vanno da 0 a N–1.

La cella è l’unità indirizzabile più piccola.
Informatica – Claudia d'Amato
31
Organizzazione della memoria

Anche gli indirizzi della memoria sono
rappresentati come numeri binari:
• un indirizzo di M bit consente di indirizzare 2M celle;
• il numero di bit nell’indirizzo determina il numero
massimo di celle indirizzabili nella memoria ed è
indipendente dal numero di bit per cella (una memoria con
212 celle richiede sempre 12 bit di indirizzo, quale che sia
la dimensione di una cella).

Una memoria può essere organizzata in diversi
modi:
• con 96 bit possiamo avere 6 celle di 16 bit (6*16=96), o 8
celle di 12 bit (8*12=96) o 12 celle di 8 bit (12*8=96).
Informatica – Claudia d'Amato
33
Organizzazione della memoria
0
1
2
0
1
2
0
1
2
3
4
5
3
4
5
3
4
5
6
7
6
7
8
6 parole da 16 bit
8 parole da 12 bit
12 parole da 8 bit
Informatica – Claudia d'Amato
9
10
11
34
Memoria vs. CPU

Le CPU sono sempre state più veloci delle memorie
• nelle memorie è aumentata la capacità più che la velocità.

L’accesso alla memoria passa attraverso il bus
• la frequenza di funzionamento del bus è molto più bassa
di quella della CPU;

È possibile fare memorie molto veloci se stanno nel
chip della CPU, ma sono piccole e costose == I
REGISTRI.
Informatica – Claudia d'Amato
35
Memoria centrale – Chip

Single Inline Memory Module (SIMM)
• 30/72 pin sullo stesso lato della scheda;
• trasferimento dati a 8/32 bit per volta;
• utilizzabili “a coppie”.

Dual In-line Memory Module (DIMM)
• 168 pin su due lati;
• 64 bit alla volta;
• utilizzabili anche singolarmente

RIMM
• 184 pin
• Moduli di RDRAM;
• interfaccia DIMM 100MHz.
Informatica – Claudia d'Amato
38
La memoria di massa
(magnetica)
Informatica – Claudia d'Amato
39
Una gerarchia di memoria
Ottenuta per “generalizzazione” dell’applicazione
del principio di località e tipicamente costituita da
1.
2.
3.
4.
5.
registri contenuti nella CPU (qualche KB)
cache (da circa 32KB a circa 1024KB)
memoria principale (da circa 64MB a qualche GB)
dischi fissi (da qualche GB a qualche TB)
nastri magnetici e dischi ottici (da qualche GB a qualche
TB per ogni supporto)
Man mano che ci si sposta verso il basso nella
gerarchia aumenta il valore dei parametri
fondamentali:
•
•
•
aumenta il tempo di accesso;
aumenta la capacità di memorizzazione;
ma diminuisce il costo per bit.
Informatica – Claudia d'Amato
40
RAM
Supporti esterni
tecnologia
magnetica
(HD esterni)
Informatica – Claudia d'Amato
tecnologia
ottica
(CD, DVD)
tecnologia
elettronica
(flash disk)
Involucro esterno del calcolatore (case)
Cache II liv
Scheda madre (motherboard)
Cache I liv
Circuito Integrato (chip)
Registri
CPU
Una gerarchia di memoria
Disco fisso (hard disk)
tecnologia magnetica
41
Dischi magnetici
Sono piatti d’alluminio (o di altro materiale)
ricoperti di materiale ferromagnetico.
 Fattore di forma (diametro)

• sempre più piccolo (consente velocità di rotazione
maggiori);
• 3.5 pollici per i sistemi desktop e fino a 1 pollice per i
mobili.

Testina di un disco (strumento di lettura/scrittura)
• è sospesa appena sopra la superficie magnetica
• scrittura: il passaggio di corrente positiva o negativa
attraverso la testina magnetizza la superficie
• lettura: il passaggio sopra un’area magnetizzata induce
una corrente positiva o negativa nella testina.
Informatica – Claudia d'Amato
42
Tracce e settori

Traccia (track): sequenza circolare di bit scritta mentre il
disco compie una rotazione completa

Settore (sector): parte di una traccia corrispondente a un
settore circolare del disco

Formattazione: operazione che predispone tracce e settori
per la lettura/scrittura
Informatica – Claudia d'Amato
43
Spazi tra
tracce
Settore
Tracce
e
settori
Tracce
Spazi tra
record
Informatica – Claudia d'Amato
44
Schema di un Hard Disk
Superficie 7
Testina di
lettura/scrittura
(una per superficie)
Superficie 6
Superficie 5
Superficie 4
Superficie 3
Superficie 2
Superficie 1
Superficie 0
Direzione del
movimento
Le tracce in grigio formano un “cilindro”
Informatica – Claudia d'Amato
45
Memorie Flash

Funzioni:
• trasferimento dati (la
capacità dei floppy è limitata);
• archiviazione dati “sensibili”.

Tecnologia elettronica non
volatile
• bassi consumi
• piccole dimensioni
• capacità dai 256MB ai 4GB

File system come per i
dischi
• Il sistema operativo gestisce
l’accesso come se fossero
dischi;
Informatica – Claudia d'Amato
47
La memoria di massa
(ottica)
Informatica – Claudia d'Amato
48
Dischi ottici




Lettura ottica basata sulla riflessione (o sulla mancata
riflessione) di un raggio laser.
Densità di registrazione più alte dei dischi magnetici.
Creati in origine per registrare i programmi televisivi, poi
usati come dispositivi di memoria nei calcolatori.
Diversi tipi/caratteristiche
•
•
•
•
•
•
CD-ROM
CD-R
CD-RW
DVD
DVD-RAM
…
Informatica – Claudia d'Amato
49
Digital Versatile Disk (DVD)

Evoluzione tecnologica 
densità dei dati:
maggior
• pit più piccoli (0.4 vs. 0.8 µm);
• spirale più serrata (0.74 vs. 1.6 µm);
• laser rosso (0.65 vs. 0.78 µm).

Caratteristiche dei DVD
• capacità di 4.7 GB
• 133 minuti di video fullscreen MPEG-2 ad
alta risoluzione (720 x 480) con colonna
sonora in 8 lingue e sottotitoli in altre 32;
• 1x indica 1.4 MB/sec (vs. 150 KB/sec).
Informatica – Claudia d'Amato
55