Architettura dei computer
• In un computer possiamo distinguere quattro
unità funzionali:
– il processore (CPU)
– la memoria principale (RAM)
– la memoria secondaria
– i dispositivi di input/output
• Il processore e la memoria principale
costituiscono l’unità centrale
Componenti principali di un computer
Processore
Memoria
principale
(centrale)
Bus
Controller
Stampante
Video/display
Periferiche di input/output
Memorie di massa
(secondarie)
1
Organizzazione fisica attuale
Periferiche
per l’input
Unità centrale e
memorie
Periferiche
per l’output
Tastiera e mouse
Scanner
CPU + HD,
CD, Floppy
Hard Disk
Lettore CD
Floppy Disk
RAM
CPU
2
Architettura dei computer
• Le varie componenti comunicano attraverso uno o
più insiemi di collegamenti detti bus
• Nei computer moderni:
– c’e’ un collegamento dedicato detto bus di
sistema per la comunicazione tra cpu e memoria
principale
– ci sono collegamenti per le altre periferiche detti
bus locali con i loro adattatori (memorie
secondarie, dispositivi di I/O e di rete)
Le idee ed i pionieri
• Babbage
• Turing
• von Neuman
Il computer è un
calcolatore digitale
programmabile
dotato di memoria
dati e programmi
risiedono in
memoria
3
La memoria principale
• Fornisce la capacità di “memorizzare” le
informazioni (i dati e i programmi)
• Può essere vista come una lunga sequenza
di componenti elementari, ognuna delle quali
può contenere un’unità di informazione (un
bit)
• Le componenti elementari della memoria
sono aggregate tra di loro e formano strutture
complesse dette celle che possono
contenere otto bit (un byte)
• La memoria può essere vista come una
sequenza di celle
4
La memoria principale
0
1
2
3
4
• Ciascuna cella è caratterizzata da un
indirizzo
• Gli indirizzi corrispondono
all’ordinamento delle celle nella
sequenza
• Gli indirizzi sono numeri interi
(partono da 0)
• Gli indirizzi non sono scritti da
nessuna parte, sono determinati
dall’ordinamento consecutivo
N
• Un altro nome con cui viene indicata la
memoria principale è memoria RAM
(Random Access Memory)
• Questa definizione indica che il tempo di
accesso ad una cella è lo stesso
indipendentemente dalla posizione della cella
• Le operazioni che un Processore può
effettuare sulla memoria sono le operazioni di
lettura e scrittura di informazioni nelle celle
5
• L’ indirizzo di una cella è un numero intero e
quindi lo si può codificare in binario
• Il numero di celle di memoria determina il
numero di bit necessari a rappresentare
l’indirizzo
• Viceversa il numero di bit destinati all’indirizzo
determina il numero di celle indirizzabili
• questo numero viene chiamato
Spazio di indirizzamento
Dimensioni della Memoria
• Le dimensioni della memoria principale variano
a seconda del tipo di computer
• Nei computer attuali le dimensioni tipiche della
memoria principale vanno da 128MB a 2GB
(1MB = 220 byte ~ 1.000.000 byte, 1GB = 230
byte ~ 1.000.000.000 byte)
6
Spazio di indirizzamento
• Nei computer attuali lo spazio di indirizzamento è
di almeno 32 bit, con cui si possono indirizzare
232 byte = 4GB
• Lo spazio di indirizzamento è maggiore della
memoria esistente
Parola di memoria
• Una parola di memoria è, a seconda del tipo di
computer, un aggregato di (due) quattro o otto
byte, sul quale si può operare (leggere e scrivere)
come su un blocco unico
• Per eseguire le operazioni di lettura e scrittura sulla
memoria, si deve specificare l’indirizzo della parola
su cui si vuole operare
• Gli indirizzi delle parole devono essere multipli del
numero di celle (byte) che le compongono
7
Indirizzamento
• La cella è l’unità minima di memoria
indirizzabile, non sono indirizzabili i singoli
bit
• La parola è l’unità massima di memoria che
è possibile leggere e scrivere in un colpo
solo (mediante un’unica istruzione)
• La memoria è caratterizzata dal tempo di accesso (tempo
necessario per leggere o scrivere un’informazione in una
parola)
• Le memorie principali dei computer attuali sono molto veloci
e i loro tempi di accesso sono di pochi nanosecondi (1
nanosecondo= 10-9 sec, un miliardesimo di secondo)
• Le memorie principali sono relativamente costose, (128MB
costano qualche decina di euro)
8
• La memoria principale perde ogni suo
contenuto quando si interrompe
l’alimentazione elettrica. Questa caratteristica
viene chiamata volatilità
• È quindi necessario per conservare le
informazioni (programmi e dati) avere altri tipi
di memoria (memoria secondaria) che
conservano il contenuto anche senza
alimentazione elettrica
Memoria RAM-ROM
• Tutti i computer contengono un chip di
memoria elettronica permanente non
modificabile (ROM=Read Only Memory)
• Il più comune è chiamato EPROM
• Contiene un programma (detto Basic Input
Output System) per l’avviamento del
computer e per altre operazioni fondamentali
9
Riassunto caratteristiche Memoria RAM
La memoria RAM è:
– veloce (accesso nell’ordine dei
nanosecondi)
– relativamente costosa
– ha dimensioni limitate
– è volatile (non può mantenere dati
permanenti
– è ad accesso diretto (si può accedere a
qualsiasi cella senza accedere alle altre)
Il Processore
• Il processore è la componente dell’unità centrale che
elabora le informazioni contenute nella memoria
principale
• L’elaborazione avviene eseguedo sequenze di
istruzioni (istruzioni macchina)
• Il linguaggio in cui si scrivono queste istruzioni viene
chiamato linguaggio macchina
• Il ruolo del processore è quindi quello di eseguire
programmi in linguaggio macchina
10
Componenti di un processore
Bus
Interno
REGISTRI
Program Counter (PC)
Registro di Stato (PS)
Unità di
Controllo
Registro Istruzioni (RI)
Registri Generali (16 o 64)
Unità
AritmeticoLogica
Registro Indirizzi Memoria (RIM)
Registro Dati Memoria (RDM)
Registro di Controllo (RC)
L’unità di controllo
• L’Unità di Controllo (UC) si occupa di coordinare le
diverse attività che vengono svolte all’interno del
processore
• Il processore svolge la sua attività in modo ciclico: ad
ogni ciclo corrisponde generalmente l’esecuzione di
una istruzione macchina
• Ad ogni ciclo vengono svolte diverse attività
controllate e coordinate dalla UC
n si legge dalla memoria principale la
prossima istruzione da eseguire
o si decodifica l’istruzione letta
p si esegue l’istruzione
11
• La frequenza con cui vengono eseguiti i cicli
di esecuzione è scandita da una
componente detta clock
• Ad ogni impulso di clock la UC esegue una
istruzione macchina
• La velocità di elaborazione di un processore
dipende dalla frequenza del suo clock
• I processori attuali hanno frequenze di clock
dell’ordine di 1-3 GHerz (1-3 miliardi di
impulsi al secondo)
Il Processore: i registri
• Il processore contiene al suo interno un certo
numero di registri: unità di memoria
estremamente veloci per memorizzare i dati di
uso immediato
• Le dimensioni di un registro sono tipicamente
quelle di una parola di memoria (ad esempio
4 o 8 byte)
12
Esistono due tipi di registri:
– i registri speciali utilizzati dalla UC per
scopi particolari:
• controllo dell’esecuzione del programma
• scambio di dati con la memoria centrale
– i registri generali utilizzati per contenere
dati e risultati di operazioni aritmetiche o
logiche
L’Unità Aritmetico-Logica
• L'Unità Aritmetico-Logica (ALU) è costituita da un insieme di
circuiti in grado di svolgere le operazioni di tipo aritmetico e
logico
• La ALU legge i dati contenuti all'interno dei registri generali,
esegue le operazioni e memorizza il risultato in uno dei
registri generali
• Esempi di operazioni sono:
– Aritmetiche
– Logiche (AND, OR, NOT…)
– Confronti (=, <, >…)
13
1:ISA slot
2:PCI slot
3:AGP slot
4:ATX power connector
5:Chipset
6:CPU socket
7:RAM slot
8:IDE connector
9:Floppy disk connector
10:Batteria
11:BIOS chip
Esempio di Motherboard (Scheda Madre)
La memoria secondaria
(memoria di massa)
• La memoria principale non può essere molto grande per il suo
costo elevato. Inoltre non consente la memorizzazione
permanente dei dati Per questi motivi nell’architettura di un
calcolatore è presente un altro tipo di memoria:
Memoria periferica o secondaria, è
– molto più lenta
– più economica
– con capacità di memorizzazione maggiore
– in grado di memorizzare i dati in forma permanente
• La memoria secondaria viene utilizzata per mantenere tutti i
programmi e tutti i dati che possono essere utilizzati dal
computer
14
• Il processore non può utilizzare direttamente
la memoria di massa per l'elaborazione dei
dati
• Il programma in esecuzione deve essere in
memoria centrale e quindi le informazioni
devono essere trasferite dalla memoria
periferica a quella centrale ogni volta che
servono
• Quando si vuole eseguire un programma,
questo deve essere copiato dalla memoria
periferica a quella centrale (caricamento)
Esempio: programma di elaborazione testi
• lanciare (aprire) il programma vuol dire
copiarlo dalla memoria secondaria alla
memoria principale
• aprire un documento vuol dire copiarlo dalla
memoria secondaria alla memoria principale
• salvare un documento vuol dire copiarlo
dalla memoria principale alla memoria
secondaria
15
Caratteristiche generali della memoria periferica:
• I supporti di memoria di massa sono molto più lenti
rispetto alla memoria centrale, ciò è dovuto all’uso
di dispositivi meccanici
• Le memorie di massa hanno capacità di
memorizzazione (dimensioni) molto maggiori di
quelle delle tipiche memorie principali
• I dispositivi di memoria secondaria sono dotati di un
loro controller e comunicano con la memoria
principale e il processore mediante il bus
Accesso ai dati in memoria secondaria
• Nel caso della memoria centrale si ha sempre l'accesso
diretto ai dati, nel caso della memoria periferica solo alcuni
supporti consentono l'accesso diretto mentre altri supporti
permettono solo l'accesso sequenziale
• La memoria centrale consente di indirizzare il singolo byte di
informazione, nelle memorie di massa le informazioni sono
organizzate in blocchi di dimensioni più grandi
(in genere di dimensione compresa tra 512Byte e 4KB)
16
Il motivo è:
• per minimizzare le operazioni di lettura e
scrittura, visto che sono operazioni molto piu’
lente che nel caso della memoria principale
• per minimizzare lo spazio di indirizzamento;
con molti blocchi di dimensione ridotta si
dovrebbero utilizzare troppi indirizzi e quindi
indirizzi troppo lunghi
Il blocco è l’unità minima indirizzabile
I supporti fisici della memoria periferica:
• La memoria periferica deve avere capacità di
memorizzazione permanente
• Per la sua realizzazione si utilizzano
principalmente tecnologie:
– magnetiche (dischi e nastri magnetici)
– basate sul laser (dischi ottici, cioe’ CD e DVD)
• Si utilizzano anche marginalmente tecnologie
elettroniche (memorie flash, memory cards)
17
I dischi magnetici
• Tecnologia basata sulla magnetizzazione: la
magnetizzazione è permanente fino a quando non
viene modificata per effetto di un agente esterno
• I due diversi stati di polarizzazione di particelle di
una sostanza magnetizzabile corrispondono alle due
unità fondamentali di informazione (bit)
• I dischi magnetici sono i dispositivi di memoria
periferica più diffusi
• Sono costituiti da uno o più supporti di
plastica, vinile o metallo, su cui è depositato
del materiale magnetizzabile
• Nel corso delle operazioni i dischi vengono
mantenuti in rotazione a velocità costante e le
informazioni vengono lette e scritte da testine
(simili a quelle utilizzate nelle cassette
audio/video, ma molto piu’ piccole)
• Entrambi i lati di un disco possono essere
sfruttati per memorizzare le informazioni
18
i dischi magnetici
• I dischi sono suddivisi in tracce concentriche e settori, ogni
settore è una “fetta” di disco. I settori suddividono ogni traccia
in porzioni di circonferenza dette blocchi (o record fisici)
Traccia
Testina
Blocco
Settore
• La suddivisione della superficie di un disco in tracce e settori
viene detta formattazione
• Il blocco è la minima unità indirizzabile in un disco
magnetico e il suo indirizzo è dato da una coppia di numeri
(t, s) che rappresentano il numero della traccia (t) e il numero
del settore (s)
• I dischi magnetici consentono l'accesso diretto in quanto è
possibile posizionare direttamente la testina su un qualunque
blocco senza dover leggere quelli precedenti
19
• Per effettuare un'operazione di lettura (scrittura) su un blocco è
necessario che la testina raggiunga l'indirizzo desiderato
• Il tempo di accesso alle informazioni sul disco è dato dalla
somma di tre tempi dovuti a:
• spostamento della testina in senso radiale fino a
raggiungere la traccia desiderata (seek time ~5msec);
• attesa che il settore desiderato passi sotto la testina; tale
tempo dipende dalla velocità di rotazione del disco (latency
time);
• tempo di lettura/scrittura vero e proprio dell'informazione
Il tempo di accesso ad un disco è dell’ordine dei
millisecondi (10-3)
Dischi fissi (hard disk)
• Gli hard disk (dischi rigidi) sono i dischi magnetici che
vengono utilizzati come memoria di massa principale
all'interno del computer
• Sono generalmente racchiusi in contenitori sigillati in
modo da evitare qualunque contatto con la polvere
(la testina è a distanza minima dal disco e il disco può
girare fino a 10000 giri al minuto)
• I dischi rigidi hanno capacità di memorizzazione
elevata, oggi sono comuni hard disk con una
capienza di diverse decine di GByte
20
Sovente gli hard-disk sono formati da una pila di dischi
magnetici a due lati.
Cilindri
• Negli Hard Disk con più dischi l’insieme delle
tracce coallineate si chiama cilindro
• I cilindri sono indirizzati con un altro
parametro
• Il braccio con le testine è in grado di
accedere rapidamente a tutte le tracce
presenti nello stesso cilindro
• Un blocco sarà quindi indirizzato con una
terna di numeri (c,t,s)
21
I floppy disk
• I floppy disk (dischetti flessibili) sono supporti
rimovibili
• Ogni computer è dotato in genere di una unità di
lettura-scrittura detta drive, all'interno della quale si
inseriscono i dischetti
• I floppy disk sono fatti di materiale plastico e
ricoperti da un piccolo strato di sostanza
magnetizzabile
• I tempi di accesso sono molto più alti di quelli dei
dischi rigidi (c.a. 500 giri al minuto)
I floppy disk
• Oggi sono comuni floppy disk da 3.5" hanno
una capacità di memorizzazione dai 500
KByte ai due Mbyte, a seconda della densità
(standard è 1,44MB, 80 tracce e 18 settori)
• A differenza degli hard disk i floppy disk sono
mantenuti fermi fino a quando non si deve
accedere ad essi
22
La memoria periferica:i dischi ottici (CD)
• Le tecnologie dei dischi ottici sono completamente
differenti e sono basate sull'uso di raggi laser
• Il raggio laser è un particolare tipo di raggio luminoso
estremamente focalizzato che può essere emesso in
fasci di dimensioni molto ridotte
• Il raggio laser viene riflesso in modo diverso da
superfici diverse, e si può pensare di utilizzare delle
superfici con dei piccolissimi forellini per
immagazzinare informazione
Ogni unità di superficie può essere forata o non forata e
questo corrisponde ai due diversi tipi di informazione
elementare (bit)
L'informazione contenuta su un'unità di superficie può
essere letta guardando la riflessione del raggio laser
proiettato sulla superficie stessa
Aggregazioni di informazioni possono essere ottenute
dividendo una superficie di grandi dimensioni in molte
unità elementari, ognuna delle quali rappresenta un
singolo bit
23
FONTE LUMINOSA
0 1 1 1 0
La lettura è un’operazione facile e avviene mediante un
raggio laser
La scrittura è un'operazione complicata, che richiede una
modifica fisica del disco
Ci sono vari tipi di CD:
• I CD ROM ovvero Compact Disk Read Only Memory:
consentono solamente operazioni di lettura
• I CD R: possono essere anche scritti, ma una sola volta
perché le modifiche fisiche che avvengono durante la fase
di scrittura sono irreversibili. Si usa un masterizzatore.
•I CD RW possono essere riscritti
•I DVD: piu’ capienti dei CD
24
Uso e caratteristiche dei CD-DVD
• I dischi ottici vengono usati solitamente per
– la distribuzione di programmi e dati
– archiviazione di informazioni che non devono essere
modificate
• I dischi ottici hanno una capacità di memorizzazione inferiore
(anche se di poco) dei dischi magnetici e sono più lenti dei
dischi magnetici (velocita’ circa 500 giri al minuto)
• Le dimensioni tipiche per i dischi ottici utilizzati oggi vanno
dai 500 MByte in su, fino a uno o più GByte
• I dischi ottici hanno costo inferiore, sono molto più affidabili e
difficili da rovinare
Modalità di accesso ad un CD
• Nei CD di uso comune le informazioni sono
memorizzate lungo un’unica traccia a spirale che parte
dal centro del disco e viene segmentata in blocchi
separati da spazi vuoti (gap) quindi consentono solo un
accesso sequenziale
• E` facile pero’ realizzare delle tabelle di accesso con
chiave: ad ogni chiave è associato l’indirizzo del blocco
in cui si trova la chiave (perche’ l’informazione non
cambia)
• Ad esempio, nei CD musicali è possibile accedere
direttamente al brano a cui siamo interessati (senza
leggere il contenuto dei blocchi precedenti)
25
Velocita’ di lettura
•
•
•
•
•
La velocita’ di lettura dei dati per un lettore di CD si
misura in N X (es 48 X) dove: X e’ l’unita’ di misura
e indica la velocita’ per riprodurre un secondo di
suono in un CD musicale
In un masterizzatore si usa la tripla S*R*L dove
S = velocita’ di scrittura
R = velocita’ di scrittura su CD RW
L = velocita’ di lettura
I DVD
• DVD (Digital Versatile Disk) o (Digital Video
Disk)
– Capacità attuale fino a 9 GB
– Velocita di trasferimento molto superiore ai
CD
• DVD-R scrivibili solo una volta
• DVD-RAM leggibili e riscrivibili
26
Nastri magnetici
•
•
•
•
•
•
Simili ai nastri per le video/audiocassette
Consentono solo accesso sequenziale
estremamente economici
molto lenti
usati per back-up periodico o archiviazione
essendo tenuti off-line hanno una capacità di
memorizzazione molto grande
Prestazioni memoria
Tipo
Dimensioni T. accesso MB/sec
Registro
< 1KB
< 0,5ns
< 100 000
RAM
< 4GB
< 100ns
< 5000
HD
< 50GB
< 10ms
< 20
CD (DVD)
< 50GB
<100ms
<2
Nastri off-line ~ 100ms
<1
27
Le unità di ingresso/uscita
(Input/Output)
• Le unità di ingresso/uscita (anche dette
periferiche), permettono di realizzare
l'interazione tra l'uomo e la macchina
• La loro funzione primaria è quella di consentire
l'immissione dei dati all'interno dell'elaboratore
(ingresso), o l'uscita dei dati dall'elaboratore
(uscita)
• Solitamente hanno limitata autonomia rispetto
al processore centrale (sono completamente
gestiti, controllati e coordinati dal processore)
Unità di I/O
Unità di ingresso (input)
• tastiera
• mouse (dispositivi di puntamento)
• scanner (OCR riconoscitori di caratteri)
• altri (fotocamere, sensori, lettori di codice a barre,
microfono)
Unità di uscita (output)
• video
• stampante
• casse
• Schede audio (Sound blaster)
28
Meccanismo di Interrupt
(per periferiche di I/O)
Le unità che hanno terminato un'operazione inviano al
processore un segnale, detto interrupt, per richiedere
l'attenzione del processore stesso
Ad ogni ciclo di clock il processore controlla se prima di
iniziare l’esecuzione della prossima istruzione del
programma in corso è arrivato un segnale di interrupt da
qualche dispositivo
• in caso affermativo esegue un programma di risposta al
segnale arrivato e poi riprende quello sospeso
• altrimenti prosegue normalmente con l’esecuzione del
programma in corso
29