INFORMATICA
UMANISTICA B
ARCHITETTURA DEI
CALCOLATORI
[email protected]
Le due determinanti del
comportamento di un computer
Computer
Hardware
Software
Hardware
Struttura fisica (architettura) del calcolatore
formata da parti meccaniche, elettriche,
elettroniche
Software

Componente del calcolatore costituita dai:


Programmi di base per la gestione del sistema
Programmi applicativi per l’uso del sistema
(possono usare i programmi di base)
PRIMA PARTE: HARDWARE
Computer
Hardware
Software
Dalla macchina di Turing
alla macchina di von Neumann

Un passo ulteriore, volendoci avvicinare al
funzionamento di un vero computer, è
costituito dalla
MACCHINA DI VON NEUMANN
Le funzioni di un computer

elaborare l’informazione


usando il processore (Central Processing Unit CPU)
memorizzare l’informazione
usando la memoria principale (RAM)
 usando la memoria secondaria


fare l’input/output dell’informazione

usando i dispositivi di input/output
DI NUOVO LA MACCHINA DI
TURING
ARCHITETTURA DI VON
NEUMANN
CPU
Preleva istruzione
Esegue
Memorizza risultato
BUS
I/O Memoria
IL CICLO DI ESECUZIONE
ISTRUZIONI


Il ciclo di esecuzione istruzioni sta al cuore del
funzionamento di un computer
Ad ogni ‘ticchettio’ del clock, la CPU:






Preleva dalla memoria principale la “prossima” istruzione
da eseguire (specificata dal PROGRAM COUNTER, PC)
La mette nel REGISTRO ISTRUZIONI (IR)
La DECODIFICA
Preleva gli OPERANDI specificati nell’istruzione
ESEGUE l’istruzione
Ricomincia
UNITA’ CENTRALE E
PERIFERICHE
Processore
Memoria
principale
Unità centrale
Stampante
Periferiche
Tasteria e monitor
Periferiche di input/output
Memoria secondaria
Architettura dei computer

Un computer deve:

elaborare l’informazione


usando il processore (Central Processing Unit CPU)
memorizzare l’informazione
usando la memoria principale (RAM)
 usando la memoria secondaria


fare l’input/output dell’informazione

usando i dispositivi di input/output
IL PROCESSORE (CPU)
Processore
Memoria
principale
Stampante
Periferiche
del calcolatore
Tasteria e monitor
Periferiche di input/output
Unità centrale
Memoria secondaria
LA CPU IN DETTAGLIO
CODICE PER I PROGRAMMI:
Istruzioni macchina

I programmi: sequenze di istruzioni elementari (somma due
numeri, confronta due numeri, leggi/scrivi dalla memoria, ecc.)

Per ogni tipo di processore è definito un insieme di istruzioni,
chiamate istruzioni macchina
 Ognuna delle quali corrisponde ad un’operazione elementare
 Le operazione più complesse possono essere realizzate
mediante sequenze di operazioni elementari
Istruzioni macchina

Le istruzioni possono avere formati diversi - per
esempio:
Codice istruzione
oppure
cosa fare
Codice istruzione
Argomento 1 Argomento 2
su cosa operare
Argomento 1
Istruzioni macchina

Per esempio:
Codice istruzione

Argomento 1 Argomento 2
ADD R1 R2

Operazione aritmetica di somma: prevede la somma del
contenuto dei registri R1 e R2 e il caricamento del risultato
nel registro R1
(Perché R1 non R2? Non c’è una ragione: la decisione è arbitraria)
Istruzioni macchina

Per esempio:
01000110 1111000
cosa fare
11110101 01110110
01010111
00001111
su cosa operare
11001001
Linguaggio macchina

Il linguaggio in cui si scrivono queste
istruzioni prende il nome di linguaggio
macchina


Una sequenza di tali istruzioni prende il nome di
programma in linguaggio macchina
Il ruolo del processore:

Eseguire programmi in linguaggio macchina
I programmi e i processori

Ogni tipo di processore è in grado di eseguire un
numero limitato di istruzioni

Combinando in modo diverso sequenze anche
molto lunghe di istruzioni si possono far svolgere al
computer molti compiti diversi
I programmi e i processori



Famiglie di processori: Intel, Motorola, Sun
Processori della stessa famiglia possono eseguire
gli stessi programmi scritti in linguaggio macchina
(ma non sempre)
Processi di famiglie diverse non possono eseguire
gli stessi programmi scritti in linguaggio macchina


Le istruzioni che “capiscono” sono diverse
Attenzione! Stiamo considerando il livello delle
istruzioni macchina
COMPONENTI DELLA CPU

La CPU non è un unico componente ma è costituita da
componenti diversi che svolgono compiti diversi
Bus Interno
REGISTRI
Program Counter
Registro di Stato
Unità di
controllo
Registro Istruzioni
…
Unità
aritmetico
logica
Registri Generali 8 o 16
Registro Indirizzi Memoria
Registro Dati Memoria
Registro di Controllo
REGISTRI
Bus Interno
REGISTRI
Program Counter
Registro di Stato
Unità di
controllo
Registro Istruzioni
…
Unità
aritmetico
logica
Registri Generali 8 o 16
Registro Indirizzi Memoria
Registro Dati Memoria
Registro di Controllo
Componenti del processore
(CPU)
Bus Interno
REGISTRI
Program Counter
Registro di Stato
Unità di
controllo
Registro Istruzioni
…
Unità
aritmetico
logica
Registri Generali 8 o 16
Registro Indirizzi Memoria
Registro Dati Memoria
Registro di Controllo
Unità di controllo

L’unità di controllo è la parte più importante
del processore



Esegue le istruzioni dei programmi
Coordina le attività del processore
Controlla il flusso delle istruzioni tra il processore
e la memoria
Unità di controllo

Svolge la sua attività in modo ciclico




Preleva dalla memoria principale la “prossima”
istruzione da eseguire
Preleva gli operandi specificati nell’istruzione
Decodifica ed esegue l’istruzione
Ricomincia
Unità di controllo

L’esecuzione comporta l’invio di comandi
opportuni all’unità relativa



Calcoli  Unità aritmetico logica
Lettura/scrittura dati  memoria
Acquisizione/stampa  dispositivi di I/O
COMPONENTI DELLA CPU:
UNITA’ ARITMETICO-LOGICA
Bus Interno
REGISTRI
Program Counter
Registro di Stato
Unità di
controllo
Registro Istruzioni
…
Unità
aritmetico
logica
Registri Generali 8 o 16
Registro Indirizzi Memoria
Registro Dati Memoria
Registro di Controllo
Unità aritmetico logica

L’Unità aritmetico logica si occupa di eseguire le
operazioni di tipo aritmetico/logico




Somme, sottrazioni, …, confronti, …
Preleva gli operandi delle operazioni dai Registri
Generali
Deposita il risultato delle operazioni nei Registri
Generali
Insieme all’unità di controllo collabora al
completamento di un ciclo della macchina
MACCHINA DI VON NEUMANN:
I BUS
Bus

Permette la comunicazione tra i vari componenti
dell’elaboratore
CPU
RAM
Interfaccia
dati
indirizzi
controllo
IL CICLO DI ESECUZIONE
(SEMPLIFICATO!)
Clock

Abbiamo visto che il processore svolga la sua
attività in modo ciclico



Ad ogni ciclo corrisponde l’esecuzione di un’operazione
elementare (un’istruzione macchina)
Il clock fornisce una cadenza temporale per
l’esecuzione delle operazioni elementari
La frequenza del clock indica il numero di operazioni
elementari che vengono eseguite nell’unità di tempo
Clock

Consideriamo una ipotesi semplificata in cui ogni
battito di clock corrisponde esattamente
l’esecuzione di una sola istruzione macchina


La frequenza del clock indica il numero di operazioni
elementari che vengono eseguite nell’unità di tempo
Per esempio: il clock che ha circa 66 milione battiti per
secondo  il computer può eseguire circa 66 milione
operazioni per secondo
Clock

La frequenza del clock si misura in:



MHz (1 MHz corrisponde circa a un milione di istruzioni
elementari/battiti al secondo)
GHz (1 GHz corrisponde circa a un miliardo di istruzioni
elementari/battiti al secondo)
Per esempio: se acquistate un calcolatore e vi
dicono che ha un processore a 3 GHz

Vuol dire che il processore è in grado di eseguire (circa) 3
miliardi di istruzioni al secondo
Architettura dei computer

Un computer deve:

elaborare l’informazione


usando il processore (Central Processing Unit CPU)
memorizzare l’informazione
usando la memoria principale (RAM)
 usando la memoria secondaria


fare l’input/output dell’informazione

usando i dispositivi di input/output
Architettura dei computer

Un computer deve:

elaborare l’informazione


usando il processore (Central Processing Unit CPU)
memorizzare l’informazione
usando la memoria principale (RAM)
 usando la memoria secondaria


fare l’input/output dell’informazione

usando i dispositivi di input/output
Componenti principali di un
computer
Processore
Memoria
principale
Stampante
Periferiche
del calcolatore
Tasteria e monitor
Periferiche di input/output
Unità centrale
Memoria secondaria
UNITA’ CENTRALE: LA
MEMORIA PRINCIPALE
Componenti principali di un
computer
Processore
Insieme al processore
forma l’Unità Centrale
di un elaboratore
0
1
2
3
4
5
Memoria
principale
Unità centrale
Sequenza di celle
– Ad ogni cella è
associato un indirizzo
(un numero progressivo
a partire da 0)
Conserva i
programmi e i dati
usati dal processore
N
Memoria principale (RAM)

Perchè si chiama RAM (Random Access Memory)?
–
–
–
Si può accedere direttamente alle varie celle, una volta
noto il loro indirizzo
Il tempo necessario per accedere ad una cella è lo stesso,
indipendentemente dalla posizione della cella nella
sequenza
Il termine “random” (casuale) indica proprio il fatto che non
vi sono differenze nell’accesso alle varie celle della
memoria
Memoria principale (RAM)

Alcune proprietà della memoria principale



Veloce: per leggere/scrivere una cella ci vuole un
tempo di accesso dell’ordine di poche decine di
nanosecondi (millesimi di milionesimi di secondo
= 10-9 sec.)
Volatile: è fatta di componenti elettronici,
togliendo l’alimentazione si perde tutto
(Relativamente) costosa
Memoria principale (RAM)
Indirizzi



Tutte le celle hanno la stessa
dimensione: 8, 16, 32, o 64
bit
Le operazioni che si
eseguono sulla memoria
sono operazioni di lettura e
scrittura
Una cella può contenere un
dato o un’istruzione
0
1
2
3
4
5
N
Contenuto
345
13.200.985
3.890
LOAD 3568 R1
LOAD 56 R1
ADD R1 R2
Un po’ di terminologia ...
bit
1 cifra binaria
memorizza 0 oppure 1
byte
8 bit
memorizza un carattere
parola
da 16 a 64 bit
numeri e indirizzi di memoria
Kilobyte (KB)
1024 byte
circa mezza pagina di testo
Megabyte (MB)
1024 KB
un libro di 200 pagine
Gigabyte (GB)
1024 MB
alcuni volumi
Terabyte (TB)
1024 GB
una biblioteca
Petabyte (PB)
1024 TB
molte biblioteche
Memoria principale (RAM)


Se acquistate un computer e vi dicono che ha
una RAM di 128 MB, vi stanno specificando
le dimensioni della memoria principale
All’aumentare delle dimensioni della memoria
principale aumenta il numero di programmi
che possono essere “contemporaneamente”
attivi
ALTRI TIPI DI MEMORIA
NELL’UNITA CENTRALE



Memoria di sola lettura (ROM)
Memoria cache
Buffer
Memoria di sola lettura (ROM)




Non può essere modificata
A differenza della RAM non è volatile
Veloce quasi come la RAM
Contiene le informazioni di inizializzazione
usate ogni volta che si accende l’elaboratore
(bootstrap)
LA MEMORIA SECONDARIA
Processore
Memoria
principale
Stampante
Periferiche
del calcolatore
Tasteria e monitor
Periferiche di input/output
Unità centrale
Memoria secondaria
Architettura dei computer

Un computer deve:

elaborare l’informazione


usando il processore (Central Processing Unit CPU)
memorizzare l’informazione
usando la memoria principale (RAM)
 usando la memoria secondaria


fare l’input/output dell’informazione

usando i dispositivi di input/output
Memoria secondaria





La memoria principale non basta (è volatile, costosa)
In grado di memorizzare i programmi e i dati in modo
permanente
È meno costosa che la memoria principale: le dimensioni
della memoria secondaria sono di solito molto maggiori di
quelle della memoria principale
I supporti di memoria secondaria sono più lenti rispetto alla
memoria principale (presenza di dispositivi meccanici)
Non tutti i supporti di memoria secondaria permettono
l’accesso diretto ai dati
 Alcuni permettono solo un accesso sequenziale (per
esempio, nastri magnetici)
LA DIVISIONE DEI RUOLI TRA
MEMORIA PRINCIPALE E MEMORIA
SECONDARIA

I programmi e i dati risiedono nella memoria secondaria
Processore
Stampante
Memoria
principale
Memoria
secondaria
LA DIVISIONE DEI RUOLI TRA
MEMORIA PRINCIPALE E MEMORIA
SECONDARIA


I programmi e i dati risiedono nella memoria secondaria
Per essere eseguiti (i programmi) e usati (i dati) vengono
copiati nella memoria principale
Processore
Stampante
Memoria
principale
Memoria
secondaria
LA DIVISIONE DEI RUOLI TRA
MEMORIA PRINCIPALE E MEMORIA
SECONDARIA



I programmi e i dati risiedono nella memoria secondaria
Per essere eseguiti (i programmi) e usati (i dati) vengono
copiati nella memoria principale
Il processore è in grado di eseguire le istruzioni di cui sono
composti i programmi
Processore
Stampante
Memoria
principale
Memoria
secondaria
Memoria secondaria

La memoria secondaria deve avere capacità
di memorizzazione permanente e quindi per
la sua si utilizzano tecnologie basate:

sul magnetismo (tecnologia magnetica)
dischi magnetici (hard disk e floppy disk)
 nastri magnetici


sull’uso dei raggi laser (tecnologia ottica)

dischi ottici (CD-ROM, DVD)
I dischi
magnetici

Hard disk: sono dei dischi
che vengono utilizzati come
supporto di memoria
secondaria fisso all’interno
del computer


vari GB di memoria
Floppy disk: sono supporti
rimovibili

Oggi sono comuni floppy
disk da 3,5 pollici di
diametro, capacità 1,44 MB
La memoria magnetica




Sfrutta il fenomeno fisico della polarizzazione
Sul supporto ci sono delle particelle magnetiche
I due diversi tipi di magnetizzazione (positiva e
negativa) corrispondono alle unità elementari di
informazione (0 e 1)
La testina di lettura/scrittura cambia la
polarizzazione
I dischi magnetici


I dischi magnetici: sono i supporti di memoria più
diffusi
Nel corso delle operazioni i dischi vengono
mantenuti in rotazione a velocità costante e le
informazioni vengono lette e scritte da testine del
tutto simili a quelle utilizzate nelle cassette
audio/video
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 dette blocchi
Traccia
Testina
Blocco
Settore
I dischi magnetici

I dischi magnetici consentono l’accesso diretto
 È possibile posizionare direttamente la testina su un qualunque
blocco (noto il numero della traccia e il numero del settore)
 Per effettuare un’operazione di lettura/scrittura la testina deve
“raggiungere” il blocco desiderato

Il disco gira; la testina sposta solo in senso radiale
I dischi magnetici


Se acquistate un computer e vi dicono che ha
un hard disk di 20 GB vi stanno specificando
le dimensioni della sua memoria di massa
All’aumentare della capacità di memoria di
massa, aumenterà il numero di programmi e
documenti che potete conservare nel vostro
computer
La memoria ottica

Usa il raggio laser e sfrutta la riflessione
della luce

Il raggio laser viene riflesso in modo diverso da
superfici diverse, e si può pensare di utilizzare
delle superfici con dei piccolissimi forellini
Ogni unità di superficie può essere forata o non
forata
 L’informazione viene letta guardando la riflessione
del raggio laser

La memoria ottica
1
0
1
0
0
1
0
0
1
La memoria ottica
1
0
0 1
I dischi ottici

CD-ROM (CD-ROM ovvero Compact Disk Read
Only Memory): consentono solamente operazioni di
lettura




Poiché la scrittura è un’operazione che richiede delle
modifiche fisiche del disco
Vengono usati solitamente per la distribuzione dei
programmi e come archivi di informazioni che non devono
essere modificate
CD-R: possono essere scrivibile una sola volta
CD-RW: riscrivibili; basati su più strati di materiale
I dischi ottici

Hanno un capacità di memorizzazione
superiore rispetto ai dischi magnetici
estraibile


Normalmente 650 MB - 700 MB
Hanno costo inferiore rispetto ai dischi
magnetici, sono più affidabili e difficili da
rovinare
Memory card/USB flash drive





Diffusi in vari formati e con vari nomi
(memory card, compact flash, memory
pen, memory stick, USB flash drive,
USB stick, …)
Nati del mondo delle immagini digitali
(per fotocamere e telecamere) come
supporto interno estraibile
Medie dimensioni: normalmente 64 MB
– 1 GB
USB flash drive, USB stick: utilizzabile
sulle porte USB di un personal
computer
Più veloce dei floppy disk, e facilmente
trasportabili
Aumenta la capacità memorizzazione
byte
Registri
KB
Mem. cache
MB
Mem. centrale
GB
Dischi magnetici
e/o ottici
>10 GB
Nastri magnetici
100*picosecondi
nanosecondi
10*nanosecondi
microsecondo/
millisecondi
10*millisecondi
Aumenta la velocità di accesso
Architettura dei computer

Un computer deve:

elaborare l’informazione


usando il processore (Central Processing Unit CPU)
memorizzare l’informazione
usando la memoria principale (RAM)
 usando la memoria secondaria


fare l’input/output dell’informazione

usando i dispositivi di input/output
Componenti principali di un
computer
Processore
Memoria
principale
Stampante
Periferiche
del calcolatore
Tasteria e monitor
Periferiche di input/output
Unità centrale
Memoria secondaria
I dispositivi di input/output


Per realizzare l’interazione
uomo-macchina, sono
necessari i dispositivi di
input/output
La loro funzione primaria è
quella di consentire …


l’immissione dei dati all’interno
del computer (input) o
l’uscita dei dati dal computer
(output)
I dispositivi di input/output

Input:







Tastiera
Mouse (e altri strumenti di
puntamento)
Scanner
Microfono
Macchine fotografia e
telecamera digitale
Lettori di codici a barre

Output:



Input/output:


Touchscreen
Modem
Videoterminale
Stampante
Casse acustiche
I dispositivi di input/output


Solitamente hanno limitato autonomia
rispetto al processore centrale
Si collegano alle porte (o interfacce) del
computer


Ad alto livello le porte sono le “prese” cui si
connettono i dispositivi
Ne esistono di tipi diversi a seconda del tipo di
collegamento e della velocità di trasmissione
(esempio: porta USB)
I dispositivi di input/output

Operano in modo asincrono rispetto al processore
(ne sono “schiavi”)



Si parla di gestione master-slave: è il processore che deve
coordinare le attività di tutti i dispositivi
(Input) Il processore non è in grado di prevedere e di
controllare il momento in cui un dato di input sarà a
disposizione
(Output) Il processore non può prevedere il momento in
cui un dispositivo in output avrà terminato di produrre i dati
in uscita
I dispositivi di input/output



Un dispositivo di input deve avvertire il processore
quando un dato di input è disponibile
Un dispositivo di output deve avvertire il processore
quando ha terminato di produrre dati in uscita
Al termine di ogni operazione i dispositivi inviano al
processore un segnale, detto interrupt, che indica
che il dispositivo ha bisogno di attenzione
REALIZZAZIONE FISICA
DELL’ARCHITETTURA DI VON NEUMANN


Nei computer odierni, le funzioni logiche
dell’unita’ centrale sono svolte da un
MICROPROCESSORE
Il microprocessore è il vero cuore del
computer
MICROPROCESSORI
MODERNI
MICROPROCESSORE E
PIASTRA MADRE

Il microprocessore è incastonato
nella piastra madre

La piastra madre raccoglie in
maniera efficiente e compatta altre
componenti fondamentali di ogni
computer, come la memoria, le
porte di comunicazione, ecc.
La struttura interna della
piastra madre
Microprocessore e
piastra madre



La memoria RAM è una memoria di lavoro, volatile:
il suo contenuto sparisce quando si spegne il
computer
La memoria ROM è una memoria non volatile, che
di norma non viene modificata dall’utente
La memoria ROM contiene di norma il BIOS (Basic
Input Output System): una serie di informazioni di
base delle quali il sistema ha bisogno per funzionare
Attorno alla piastra madre


Come abbiamo detto, la RAM è una memoria
volatile, che non è in grado di conservare in maniera
permanente dati e programmi
Per quest’ultimo scopo, è bene disporre di depositi
di memoria ancor più grandi; vogliamo infatti
conservarvi tutti i programmi e tutti i dati che
desideriamo avere a nostra disposizione, e non solo
quelli che utilizziamo in un dato momento
Attorno alla piastra madre

È questo lo scopo dei DISPOSITIVI DI
MEMORIA DI MASSA
Fra i dispositivi di memoria di massa,
ricordiamo disco rigido (hard disk), dischetti
(floppy), nastri e cartucce magnetiche,
magneto-ottiche e ottiche, CD-ROM, DVD
Attorno alla piastra madre

Attraverso appositi alloggiamenti o slot, alla piastra
madre possono essere collegate anche schede di
espansione
Le schede di espansione permettono in genere di
potenziare le capacità del computer in settori specifici (ad
es. la grafica), o di collegarvi dispositivi esterni

Al corpo centrale (cabinet) del computer sono di
norma connessi diversi dispositivi esterni, utilizzati in
genere per l’input e l’output dei dati
RIASSUNTO DELLE IDEE
PRINCIPALI

Architettura di von Neumann:





Divisione in componenti collegate da bus
Ciclo di esecuzione istruzioni
Divisione della memoria in diversi livelli
Funzionamento asincrono dell’input/output
Realizzazione fisica dell’architettura di von
Neumann:


Piastra madre
Memorie volatili e non volatili
LETTURE

Ciotti e Roncaglia, Capitolo 2
RINGRAZIAMENTI

Parte del materiale proviene da:



Corso di Informatica Umanistica 2004/05 (Cuel /
Ferrario)
Corso di IU di Fabio Ciotti (Roma)
Corso di Informatica di Jeremy Sproston (Torino)
Scarica

Architettura dei calcolatori