PARTE II
Architettura di un sistema informatico
Hardware
Informatica Generale
1
La gerarchia di computer

Mainframe (es. IBM 3090)
– Grandi sistemi informativi ( 100 terminali)

Supercomputer (es. CRAY T3E)
– Calcolo scientifico intensivo

Minicomputer (es. IBM AS/400)
– Sistemi informativi aziendali medio/piccoli ( 10
terminali)

Workstation (es. Sparcstation SUN)
– Applicazioni ingegneristiche, grafica

Personal computer
Informatica Generale
2
Funzioni e architettura

Funzioni generali di un elaboratore
– elaborazione dati
– memorizzazione dati
– trasferimento dei dati
– controllo

Architettura
– Componenti e interconnessioni
– Funzioni di ciascun componente
Informatica Generale
3
PC:
architettura
di
riferimento
Macchina di Von Neumann
Bus
CPU
Memoria
centrale
I/O int.
I/O int.
...
I/O int.
Elaborazione
e controllo
Memorizzazione
Informatica Generale
4
Un Personal Computer (PC)
Informatica Generale
5
PC: componenti interni e
periferiche

Scheda madre
–
–
–
–
–



CPU
RAM
Bus
Cache
ROM


Drive (Hard e floppy disk,
CD-ROM)
Schede di espansione
– Scheda grafica
– Scheda audio
– Modem interno





Tastiera
Mouse
Monitor
Stampanti
Scanner
Altoparlanti
Unità disco esterne
Modem esterno
Informatica Generale
6
Funzione di memorizzazione

Memoria della CPU
 Cache
 RAM
Velocità
CPU
 Memorie di massa (es.
dischi)
Costo/bit
Cache
RAM
Memorie di massa
Informatica Generale
7
Memoria centrale (RAM)

Sequenza di elementi binari (bistabili)
raggruppati in unità minime indirizzabili
(celle)
– Elemento binario  bit
– Cella  word (parola)

1W corrisponde a 8, 16, 32 oppure 64 bit
 Dim. tipiche su PC attuali 32÷256 Mbyte (NB: in
linguaggio informatico, 1K=1024, 1M=1024K,
1G=1024M)
Informatica Generale
8
32 bit
RAM (organizzazione logica)
Indirizzi
(k bit)
0
4
8
12
.
.
.
64M-4
2k  dimensione della memoria
Informatica Generale
9
Bus
Indirizzi
Decodificatore
RAM
0
0
(funzionamento)
0
.
.
.
1
0 0 1 1 0 1 0 1
.
.
.
0
Bus di controllo
R/W
0 0 1 1 0 1 0 1
Bus dati
Informatica Generale
10
Caratteristiche e prestazioni

Volatilità
 Staticità e dinamicità
– SRAM vs DRAM
– Attualmente RAM = DRAM

Tempo di accesso (770 ns)
 Temporizzazione del “sottosistema di memoria”
(15 cicli per accesso)
 Velocità di trasferimento (picco: 264 528
MB/sec)
Informatica Generale
11

Memoria
cache
Il cosiddetto
CPU/RAM
“bottleneck”

Principi di località
– spaziale
– temporale

Memorie cache di primo e secondo livello
– dimensioni (64KB1MB)
– prestazioni (tempo di accesso  4 ns)
Informatica Generale
12
Gerarchia a due livelli
Sistema di memoria
L2
CPU
RAM
Informatica Generale
13
CPU (esecutore del linguaggio
macchina)

Programmi e dati risiedono nella RAM
 La CPU esegue continuamente il seguente ciclo:
– Legge un’istruzione dalla memoria
– Decodifica l’istruzione
– Legge dalla memoria i dati utilizzati dall’istruzione
– Esegue l’istruzione
– Scrive in memoria i risultati calcolati
Informatica Generale
14
Componenti della CPU
Unità aritmetico logica (detta ALU)

operazioni aritmetiche e logiche
 Unità di controllo
 ordine di esecuzione, istruzioni di “salto”
 Registri generali (memoria della CPU)

dati delle istruzioni aritmetico/logiche
 Registri speciali (Program Counter, Instruction
Register, Process Status Word, Memory Address
Register, Memory Data Register)

Informatica Generale
15
Struttura della CPU
M
A
R
Unità di controllo
IR
PC
M
D
R
PSW
ALU
Informatica Generale
16
Linguaggio macchina

Istruzioni molto semplici, formate da un
codice operativo e (al più) 2 operandi
– Codice operativo  azione da eseguire
– Operandi  dati su cui agire
{<etichetta>}
<codice simbolico> <op1> {<op2>}
 Codice
assembly
Esempi: SUB R1,R2 LOAD R,M STORE R,M

Codice macchina (vero e proprio)
Informatica Generale
17
Linguaggio macchina (2)
8 bit
8 bit
Codice operativo Operando1
16bit
Operando2
- 256 possibili codici operativi
- Operando1 denota uno fra 256 possibili registri interni
alla CPU (R0  R255)
- Operando2 denota un indirizzo fra 0 e 216-1
Esempio:
00000101 00000001 0100111000100000
LOAD
R1
Informatica Generale
20000
18
Ciclo fondamentale della CPU
1) FETCH (lettura dell’istruzione all’indirizzo
(rivisto)
contenuto nel Program
Counter)
PC
MAR
RAM
RAM
MDR
IR
2) Incremento del PC (PC := PC+4)
3) DECODE (decodifica dell’istruzione nell’Instruction
Register)
4) EXECUTE (esecuzione dell’istruzione)
3a) Recupero operandi
3b) Esecuzione vera e propria
3c) Memorizzazione dei risultati
5) Torna al passo 1)
Informatica Generale
19
Traduzione
(o compilazione)
00000000000000000000000000000011
var x: array [1..7]
of integer;
var i,n,z: integer;



if x[1]<x[2] then z := x[1]
else z := x[2];
for i := 3 to n do
if x[i] < z then z := x[i];
00000000000000000000000000000010
00000000000000000000000000000101
11111111111111111111111111111101
00000000000000000000000000001100
00000000000000000000000000000011
00000000000000000000000000000111
00000000000000000000000000000110
00000000000000000000000000000111
11111111111111111111111111111101






00000101000000010100111000100000
00000101000000100100111000100100
00100111000000010000000000000010
Informatica Generale
20
Leggi x[1]
Leggi x[2]
Calcola x[1]-x[2]
if x[1]<x[2] then z:=x[1]
Se positivo scrivi x[2] in z
else z:=x[2];
Se negativo scrivi x[1] in z
for i := 3 to n do
Leggi n
if x[i]<z then z:=x[i];
Scrivi 3 in i
Calcola p=i-n
Se p>0 vai 7 istruzioni avanti
Commenti
- “Leggere” significa copiare un dato Leggi x[i],
dalla RAM in un registro della CPU Leggi z
- Il segno del risultato viene memoriz- Calcola p=x[i]-z
zato in un bit del registro PSW
Se p<0 scrivi x[i] in z
-“vai 7 istruzioni avanti” e “torna 7
Incrementa i di un’unità
istruzioni indietro” sono comandi che
Torna 7 istruzioni indietro
modificano l’ordine di esecuzione
……………………………..
Un primo passaggio
Informatica Generale
21
Un altro passo verso il codice
Copia in R1 il contenuto della cella di indirizzo x
Copia in R2 il macchina
contenuto della cella di indirizzo x+4
Sottrai (il contenuto di) R2 da R1 ( s := segno(R1-R2) )
Se s=1 salta 3 istruzioni avanti ( PC := PC+8)
Copia R2 nella cella (di indirizzo) x+36
Salta due istruzioni avanti ( PC := PC+4)
Copia in R1 il contenuto della cella di indirizzo x
Copia R1 nella cella x+36
Copia in R3 il contenuto della cella x+32
………………..
Informatica Generale
22
Codice assembly
Formato tipico di una istruzione:
{<etichetta>:} <codice simbolico><op1>{<op2>}
load R1,x
load R2,x+4
sub R1,R2
jmpneg avanti
store R2,x+36
jmp piùavanti
avanti: load R1,x
store R1,x+36
piùavanti: load R3,x+32
………………………….
Informatica Generale
23
Programma in linguaggio
00000000 00000000 0000000000000011
Indirizzo
macchina
00000000 00000000 0000000000000010
20000
(Inizio dati)
Indirizzo
21000
(Inizio programma)
Indirizzo
21024
Indirizzo
21032
00000000 00000000 0000000000000101
…………………………………….…….
00000101 00000001 0100111000100000
00000101 00000010 0100111000100100
00100111 00000001 0000000000000010
10100011 00000000 0101001000100000
00000110 00000010 0100111001000100
10100010 00000000 0101001000101000
00000101 00000001 0100111000100000
00000110 00000001 0100111001000100
00000101 00000011 0100111001000000
…………………………………….…….
Informatica Generale
24
Parametri di valutazione delle
CPU

Set di istruzioni (RISC vs CISC)

Frequenza dell’orologio interno di
sincronizzazione (clock) (233500 MHz)

Banda di elaborazione ( numero di istruzioni
eseguite al secondo)

Spazio di memoria indirizzabile

Presenza di coprocessore matematico, memoria
cache di primo livello, ecc.
Informatica Generale
25
Dispositivi
di
memorizzazione
 Dischi magnetici (hard disk)
 Memorizzazione
“permanente” di
di massa
programmi e dati
 Dischi magnetici (floppy disk)
 Trasferimento dati fra computer
 Nastri magnetici
 Backup dei dati
 Dischi ottici (CD ROM)
 Distribuzione di programmi, giochi,
archivi storici, ecc.
Informatica Generale
26
Dischi rigidi (hard disk)






Supporti circolari magnetizzati in continua
rotazione (5400  10000 giri/min)
Formato a tracce e settori (valori tipici: 400 tracce,
32 settori)
Testina di lettura a movimento radiale
Tempo di accesso (5  10 msec) vicino al limite
fisico
Capacità elevate (> 4 GB)
Costo contenuto (40  150 lire/MB)
Informatica Generale
27
Dischetti rimovibili (floppy
disk)





Supporti circolari (diametro 3.5 o 5.25 pollici)
magnetizzati, in rotazione solo al momento
dell’accesso
Velocità di rotazione bassa (300  360 giri/min
Tempo di accesso elevato (decimi di sec.)
Capacità limitata (1.44 MB)
Costo unità contenuto (poche decine di migliaia di
lire)
Informatica Generale
28
Nastri magnetici

Organizzazione sequenziale con blocchi (detti
record fisici) multitraccia

Accesso sequenziale
 Densità di registrazione 800  6250 Byte per
pollice (bpi)
 Tempo di accesso molto elevato (può essere
dell’ordine dei minuti)

Uso per copie di sicurezza (backup)
 Costo elevato ( 2 Mlire per unità DAT)
Informatica Generale
29
Lettori ottici (CD ROM)

Supporti circolari non riscrivibili
 Formato a spirale
 Lettura mediante raggio laser
 Tempo di accesso (70  100 msec)
 Capacità elevate in rapporto ai floppy disk
( 650 MB)
 Costo unità contenuto (100  500 Mlire)
Informatica Generale
30
Principali unità periferiche

Dispositivi di ingresso (input)
– Tastiera
– Mouse e altri disp. di puntamento
– Scanner

Dispositivi di uscita (output)
– Video
– Stampante

Modem
Informatica Generale
31
Tastiera

Tasti alfanumerici (lettere e cifre,
punteggiatura, parentesi)
 Tasti speciali: return o enter (invio), ctrl
(control), esc (escape), ...
 Tasti direzionali: , , , , ...
 Tasti funzionali: F1,F2,...
Informatica Generale
32
Mouse

Il movimento del mouse si ripercuote nel
movimento di un cursore sul video
 La pressione di un tasto comporta l’esecuzione di
una qualche azione
 Mouse + interfacce grafiche sostituiscono in molti
casi la tastiera
Informatica Generale
33
Scanner

Dispositivo per l’acquisizione di immagini
(sotto forma di mappe di bit, bitmap)
Informatica Generale
34
Alfanumerici:
25 righe  80 caratteri
Videoes.(display)
 Grafici: risoluzione misurata in numero di
pixel (picture element) nelle due
dimensioni: es. 1024  768, 4096  4096
 Pixel: bianco e nero (1 bit) o colore (es. 8
bit)

Griglia di 4  4 pixel

Memoria RAM associata
 Tecnologia (raggi catodici o cristalli liquidi)
Informatica Generale
35

Stampanti Stampante
ad aghi
– 9  24 aghi
– Tecnica ad impatto  copie multiple
– Fogli singoli o modulo continuo

Stampanti a getto di inchiostro
– Ottima qualità anche in grafica
– Colore a basso prezzo

Stampanti laser
– Ottima qualità, costo elevato del colore
Informatica Generale
36
Stampanti
(prestazioni)
Risoluzione Velocità Uso tipico
100200 dpi 200400 Modulo
continuo,
car/sec
copie cc
Personal
Ink jet 300720 dpi 16
pag/min Computing
Professional
Laser Da 600 dpi 420
jet
pag/min Computing
Aghi
Informatica Generale
Colore
Bassa
qualità
Buona
qualità
Costo
elevato
37

Modulatore/demodulatore
Modem
 Effettua conversioni digitale/analogico e
viceversa per trasmissioni su linea telefonica
 Velocità tipica attuale 56Kbit/sec
Informatica Generale
38
Interfaccia di I/O


Scheda di interfaccia (fra bus e periferica)
Modalità di trasferimento
– seriale: mouse, tastiera (standard RS-232C)
– parallelo: stampante (standard centronics)

Gestione dell’I/O
– a controllo di programma
– mediante interruzione
– con accesso diretto alla memoria (Direct
Memory Address, o DMA)
Informatica Generale
39
Esempio di gestione della
stampa
di una riga
 A controllo
di programma

Il processore invia un carattere alla scheda di
interfaccia, attende che questa segnali l’avvenuta stampa,
quindi invia il carattere successivo.

Mediante interruzione

Il processore invia un carattere alla scheda,
quindi si “occupa d’altro”. Quando la stampa termina,
l’interfaccia manda un segnale di interruzione al
processore per segnalare la nuova disponibilità dell’unità
periferica.

Con accesso diretto alla memoria
 Il processore invia ad una opportuna unità DMA
l’indirizzo di memoria e la lunghezza del blocco dati da
stampare. L’unità DMA gestisce quindi l’I/O.
Informatica Generale
40
Bus di sistema

Ogni informazione fra dispositivi differenti
passa attraverso il bus
 È la risorsa critica per eccellenza
 Ha una sua temporizzazione fissa
(attualmente 66 o 100 MHz)
Informatica Generale
41
Scarica

Informatica Generale Anno Accademico 1998-99