Architettura di un Sistema di Elaborazione
Hardware e Software:
Prima scomposizione di un "sistema informatico":
•
Hardware: componenti fisici del sistema
•
Software: i programmi che vengono eseguiti dal sistema
Il confine tra hardware e software in realta‘ non e‘ sempre
ben definito (v. firmware).
UTENTE
Software
Firmware
Hardware
FONDAMENTI DI INFORMATICA
STRUTTURA DEI CALCOLATORI 1
Modello di Von Neumann Architettura di un
elaboratore
Organizzata secondo il modelIo della macchina di von
Neumann definita nei tardi anni ’40 all’Institute for Advanced
Study di Princeton.
E` costituita da quattro elementi funzionali fondamentali:
•
•
•
•
Unità centrale di elaborazione (CPU);
Memoria Centrale;
Periferiche;
Bus di sistema.
Bus di sistema
Unita’ di
elaborazione
Memoria
centrale
Interfacce
verso periferiche
Architettura di un elaboratore
FONDAMENTI DI INFORMATICA
STRUTTURA DEI CALCOLATORI 2
•
La CPU contiene i dispositivi elettronici in grado di acquisire,
interpretare ed eseguire le istruzioni di ogni programma,
trasformando i dati. Le istruzioni vengono eseguite in sequenza.
Dati ed istruzioni vengono trasferiti da (e verso) la memoria
centrale.
•
La memoria centrale contiene sia le istruzioni che i dati
(informazioni necessarie per eseguire un programma). Ha
dimensioni limitate ed e` volatile (cioe` le informazioni
memorizzate vengono perse allo spegnimento del computer).
•
Le periferiche consentono uno scambio di informazioni fra
l'elaboratore e l'esterno (ingresso/uscita, memoria secondaria). In
particolare, la memoria secondaria (o memoria di massa) viene
utilizzata per memorizzare grandi quantita' di informazioni in
modo persistente. Ha dimensioni elevate, ma l’accesso e' meno
rapido, rispetto alla memoria centrale.
•
Il bus di sistema collega questi elementi funzionali.
Fornisce il supporto fisico per la trasmissione dei dati tra i vari
elementi.
FONDAMENTI DI INFORMATICA
STRUTTURA DEI CALCOLATORI 3
Introduzione


Che cos’è un calcolatore?
Come funziona un calcolatore?
➔
➔
è possibile rispondere a queste domande in molti
modi, ciascuno relativo a un diverso punto di vista
in questo corso, il punto di vista prevalente è quello
del calcolatore come macchina programmabile,
ovvero in grado di eseguire programmi
Fondamenti di Informatica – Architettura Calcolatori
2
Hardware e software

La prima decomposizione di un calcolatore
è relativa alle seguenti macrocomponenti:
hardware
➔
la struttura fisica del calcolatore, costituita da
componenti elettronici ed elettromeccanici
software
➔
➔
l’insieme dei programmi che consentono all’hardware
di svolgere dei compiti utili
il software comprende il software di base (tra cui il
sistema operativo) e il software applicativo
Fondamenti di Informatica – Architettura Calcolatori
4
Organizzazione a livelli





Hardware e software sono organizzati a
livelli (o strati).
Ogni livello usa i servizi offerti dal livello
sottostante.
Un utente agisce usando i servizi del
livello software applicativo (web,
videogames, programmi di grafica etc)
Le applicazioni a loro volta usano i
servizi del software di base (es. sistema
operativo)
Il livello software di base, utilizza il
livello hardware.
Fondamenti di Informatica – Architettura Calcolatori
Utente
Software applicativo
Software di base
Hardware
5
Macchina di Von Neumann
L’architettura dell’hardware di un calcolatore reale è molto
complessa
n viene introdotta la macchina di Von Neumann , che è un
modello semplificato dei calcolatori moderni
l Von Neumann è stato il progettista (intorno al 1950) del
primo calcolatore in cui i programmi potevano essere
memorizzati anziché codificati mediante cavi e interruttori
8
Architettura dei calcolatori
ENIAC girls
US-Army photo
Elementi della macchina di Von Neumann
La macchina di Von Neumann è composta da quattro tipologie di
componenti funzionali fondamentali
n unità centrale di elaborazione (CPU)
l componente in grado di eseguire istruzioni per
l’elaborazione dei dati
l svolge anche funzioni di controllo (ovvero, di
coordinamento) delle altre componenti funzionali
n memoria centrale
l memorizza e fornisce l’accesso a dati e programmi
n interfacce di ingresso e uscita
l componenti di collegamento con le periferiche del
calcolatore (considerate esterne al calcolatore), che
consentono lo scambio di dati tra calcolatore e utente
n bus
l svolge la funzionalità di trasferimento di dati e di
informazioni di controllo tra le varie componenti funzionali
9
Architettura dei calcolatori
Vista funzionale di un Calcolatore
Ambiente
Trasferimento
Controllo
Elaborazione
Fondamenti di Informatica – Architettura Calcolatori
Memorizzazione
6
Componenti di un Calcolatore
Fondamenti di Informatica – Architettura Calcolatori
7
Rappresentazione delle Informazioni e
Memorizzazione: Unita‘ di misura
I sistemi di elaborazione sono realizzati con tecnologia digitale: le
informazioni sono rappresentate mediante segnali elettrici a 2
valori di tensione {Vlow, Vhigh} (oppure {0,1}).
•
Per questo motivo, l’unita` logica di memorizzazione (e, in
generale, di rappresentazione delle informazioni) e` il bit (binary
digit):
+un bit e` una grandezza il cui dominio di variazione e`
composto dai due valori {0,1}.
•
il byte equivale ad 8 bit
Unita` successive:
•
potenze in base 2 del byte (con esponente multiplo intero di 10):
Kilobyte 210 byte
Megabyte 220 byte
Gigabyte 230 byte
Terabyte 240 byte
FONDAMENTI DI INFORMATICA
1024 byte
1048576 byte
~109 byte
~1012 byte
KB
MB
GB
TB
STRUTTURA DEI CALCOLATORI 4
Rappresentazione delle informazioni e dati
Lo scopo fondamentale di un calcolatore è di permettere
l’elaborazione di informazioni
n le informazioni sono rappresentate sotto forma di dati
n un dato è una informazione elementare
I dati che un calcolatore sa rappresentare ed elaborare
direttamente sono molto semplici
n i dati vengono rappresentati nel calcolatore mediante delle
codifiche binarie
n i tipi di dato in un calcolatore
l numeri interi
l numeri razionali
l caratteri
l valori di verità (vero/falso)
n per essere manipolate da un calcolatore, le informazioni di
interesse devono essere organizzate in termini di questi tipi
di dato
12
Architettura dei calcolatori
Elaborazione
Le istruzioni del linguaggio macchina di un calcolatore
corrispondono ad operazioni elementari di manipolazione dei dati
n operazioni aritmetiche
l somma, prodotto, ...
n operazioni relazionali
l confronto tra dati
n operazioni su caratteri e valori di verità
n altre operazioni numeriche
l calcolo di logaritmi e funzioni trigonometriche
Un calcolatore sa dunque svolgere poche tipologie di operazioni
n ma le sa eseguire in modo molto efficiente
n un calcolatore può eseguire circa 50-100 milioni di istruzioni
del linguaggio macchina al secondo
L’elaborazione dei dati viene svolta dall’unità aritmetico -logica
(ALU), che è un componente dell’unità centrale di elaborazione
13
Architettura dei calcolatori
Memorizzazione
Un calcolatore ha la necessità di memorizzare, in modo
temporaneo o permanente, i dati per la rappresentazione delle
informazioni di interesse
La memoria è l’unità responsabile della memorizzazione dei dati
n una unità di memoria è organizzata in celle
l a ciascuna cella è associato un indirizzo, che la identifica
l ciascuna cella è in grado di memorizzare un singolo dato
Una unità di memoria fornisce due operazioni
n memorizzazione di un dato in una cella (scrittura)
l dato il valore da memorizzare e l’indirizzo della cella,
modifica lo stato della memoria
n accesso al dato memorizzato in una cella (lettura)
l dato l’indirizzo della cella, restituisce il valore
Nella memoria vengono memorizzati anche i programmi
n viene utilizzata una opportuna codifica delle istruzioni
14
Architettura dei calcolatori
Trasferimento
Il bus è il componente del calcolatore dedicato al trasferimento
dei dati e di informazioni di controllo tra le varie parti del
calcolatore
n il bus è l’insieme dei collegamenti su cui vengono trasferiti i
dati e i segnali di controllo in un calcolatore
L’idea alla base del bus
n ci sono due modalità per collegare tutte i componenti di un
calcolatore (per permettere lo scambio di dati tra i
componenti)
l collegare ciascun componente con ogni altro componente
l collegare tutti i componenti a un unico insieme di linee (il
bus, appunto)
n l’uso del bus favorisce la modularità e l’espandibilità del
calcolatore
15
Architettura dei calcolatori
Controllo
Il coordinamento tra le varie parti del calcolatore è svolto
dall’unità di controllo
n l’unità di controllo è un altro componente dell’unità centrale
di elaborazione
n ogni componente dal calcolatore esegue solo le azioni che gli
vengono richieste dall’unità di controllo
L’attività di controllo svolta dall’unità di controllo
n avviene in modo sincrono rispetto alla scansione temporale
imposta dall’orologio di sistema (clock)
n è un coordinamento dell’esecuzione temporale delle funzioni
che devono essere svolte sia internamente all’unità di
elaborazione che negli altri elementi funzionali
16
Architettura dei calcolatori
Frequenza di clock
La frequenza con cui si eseguono i cicli di
esecuzione è scandita dal clock (orologio
interno)
n ad ogni impulso di clock l’unità di controllo
esegue un ciclo di esecuzione
n la velocità di elaborazione di un
microprocessore dipende dalla frequenza del
suo clock (300, 400,... MHz) (es.: 300
milioni di cicli al secondo). Attualmente si
parla di GHz.
PDF created with pdfFactory trial version www.pdffactory.com
Unità centrale di elaborazione
L’unità centrale di elaborazione (o processore ) è composta
dall’unità di controllo e dall’unità aritmetico-logica
n l’unità centrale di elaborazione controlla l’esecuzione di un
programma (memorizzato in memoria centrale sotto forma di
una sequenza di istruzioni del linguaggio macchina)
eseguendo ordinatamente le istruzioni del programma
L’esecuzione di ciascuna istruzione avviene mediante lo
svolgimento delle seguenti tre operazioni di base
n (lettura) fetch
l legge dalla memoria la prossima istruzione da eseguire
n (decodifica) decode
l determina il tipo di istruzione che deve essere eseguito
n (esecuzione) execute
l richiede lo svolgimento di tutte le azioni necessarie per
l’esecuzione dell’istruzione — ciascuna azione viene
richiesta al componente opportuno
17
Architettura dei calcolatori
Periferiche e interfacce di ingresso-uscita
Un calcolatore può essere collegato a diversi dispositivi di
ingresso e/o uscita (chiamati periferiche )
n ad esempio, la tastiera, il mouse, lo schermo, le stampanti, il
modem
n anche le memorie di massa (ad esempio, le unità disco e il
lettore di CD-ROM) sono considerati periferiche
Nella macchina di Von Neumann, le periferiche non fanno parte
del calcolatore
n ogni periferica viene controllata mediante un’opportuna
interfaccia
n una interfaccia ha il compito di tradurre i segnali interni del
calcolatore in un formato comprensibile alla periferica stessa,
e viceversa
18
Architettura dei calcolatori
2 A rchitettura del calcolatore
Il Bus di Sistema
Bus di Sistema: collega tra loro le varie unità Bus di Sistema
funzionali (la CPU, la memoria e le varie interfacce di I/O).
In ogni istante, il bus collega 2 unità funzionali, (es. CPU e memoria oppure CPU e l’interfaccia di una specifica periferica).
Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni Ing. Giancarlo Iannizzotto
19
2 – Architettura del calcolatore
Il Bus di Sistema
• Il bus è sempre sotto il controllo della CPU che:
– seleziona l'interconnessione da attivare
– indica l'operazione da compiere
• Le altre unità funzionali (slave) si attivano solo dopo essere state selezionate dalla CPU (master)
Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni Ing. Giancarlo Iannizzotto
20
2 – Architettura del calcolatore
Il Bus di Sistema
• La durata di un'interconnessione dipende sia dalla velocità di trasmissione del bus, sia dalla velocità dei dispositivi ad esso connessi.
• Le linee del bus vengono suddivise in tre categorie in base al tipo di informazione trasportata:
Il bus di sistema consiste di un bus dati, un bus dati
bus indirizzi e un bus controllo.
bus indirizzi
bus controllo
Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni Ing. Giancarlo Iannizzotto
21
Tipi di Bus
 Bus dati: utilizzato per trasferire dati (es. fra
memoria e CPU, fra CPU e interfacce di I/O)
 Bus indirizzi: che identifica la posizione delle
celle di memoria un cui la CPU va a scrivere o
leggere
 Bus di controllo: in cui transitano i segnali di
controllo che consentono di selezionare le unità
coinvolte in un trasferimento dati (sorgente e
destinazione), di definire la direzione dello
scambio (scrittura o lettura)
Fondamenti di Informatica – Architettura Calcolatori
8
Architettura di Von Neumann
 Burks, Goldstein e Von Neumann sono stati i primi a proporre che il codice
del programma potesse essere memorizzato nella stessa memoria dei dati
Indirizzi
CPU
Dati
Memoria
Controllo
 Memoria indifferenziata per dati o istruzioni
 Solo l'interpretazione da parte di CPU stabilisce se una data configurazione di
bit è da riguardarsi come un dato o come un'istruzione
Fondamenti di Informatica – Architettura Calcolatori
9
John Von Neumann (1903-1957)
Calcolatori elettronici – Architettura e organizzazione
Giacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
Organizzazione
Bus indirizzi: origina dalla CPU e contiene gli indirizzi della cella di memoria da
leggere/scrivere
Bus controlli: comandi della CPU, risposte, indicatori di stato
Bus Dati
Calcolatori elettronici – Architettura e organizzazione
Giacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
Memoria centrale
PDF created with pdfFactory trial version www.pdffactory.com
Memorie RAM e memorie ROM
o Le memorie RAM (random access
memory)
n possono essere accedute sia in lettura
che in scrittura
n sono volatili (i dati memorizzati
vengono persi allo spegnimento del
calcolatore)
n sono usate per memorizzare dati e
programmi
PDF created with pdfFactory trial version www.pdffactory.com
Memoria centrale
La memoria è la componente del calcolatore in cui vengono
immagazzinati e da cui vengono acceduti i dati e i programmi
n la memoria centrale (o principale ) è la memoria che può
essere acceduta direttamente dal processore
Una memoria
n si compone di celle (o locazioni )
n ogni cella di memoria è in grado di memorizzare una parola
di memoria (ovvero, un sequenza di bit di lunghezza fissata)
n ogni cella è caratterizzata da
l un indirizzo , che è un numero che identifica la cella e ne
consente l’accesso
l un valore , che è la sequenza di bit memorizzata dalla cella
n fornisce le operazioni di lettura e scrittura
27
Architettura dei calcolatori
Struttura di una memoria centrale
La struttura semplificata di una memoria centrale
128 celle di memoria
di 16 bit ciascuna
bus
indirizzi
0 1 1 1 1 0 1 0
1 0 1 0 1 0 0 1 1 1 1 1 0 0 0 0
cella selezionata
leggi/scrivi
bus di
controllo
28
1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
bus dati
Architettura dei calcolatori
indirizzo
della cella
00000000
00000001
00000010
00000011
00000100
00000101
00000110
00000111
........
........
........
........
01111000
01111001
01111010
01111011
01111100
01111101
01111110
01111111
parola letta
o da scrivere
2 – Architettura del calcolatore
La Memoria Centrale
• E’ volatile; esistono però anche memorie ROM, PROM, EPROM...
• E’ indirizzabile direttamente tramite il registro indirizzi di memoria (MAR), che si trova nella CPU
• E’ estendibile in relazione al numero di bit dedicati all’indirizzamento • è copiabile tramite il registro dati di memoria (MDR) Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni Ing. Giancarlo Iannizzotto
17
2 – Architettura del calcolatore
Parametri caratteristici della memoria
• Capacità: quantità di informazione che può Capacità
essere immagazzinata. Si esprime in numero di byte.
• Tempo di accesso: tempo necessario all' Tempo di accesso
accesso in lettura o in scrittura, misurato dall'istante in cui si richiede di accedere all'unità di informazione all'istante in cui questa è disponibile (centinaia o decine di nanosecondi, 1ns=10E­9s)
Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni Ing. Giancarlo Iannizzotto
18
Caratteristiche delle memorie centrali
Le caratteristiche principali di una memoria centrale
n la capacità
l il numero di bit che possono essere memorizzati, misurati
in byte (e multipli del byte)
10 byte = 1024 byte
l 1Kbyte indica 2
20 byte = 1024 Kbyte = 1 048 576 byte
l 1Mbyte indica 2
30 byte = 1024 Mbyte = 1 073 741 824
l 1Gbyte indica 2
byte
n la velocità di accesso
l misura la velocità di esecuzione delle operazioni di
lettura/scrittura
n la volatilità
l le memorie RAM (random access memory) possono essere
sia lette che scritte, ma i dati memorizzati vengono persi
allo spegnimento del calcolatore
l le memorie ROM (read only memory) possono essere solo
lette, in cui i dati sono memorizzati in modo permanente
29
Architettura dei calcolatori
Dispositivi fisici utilizzati per la memoria
centrale
•
RAM: Random Access Memory (ad accesso casuale): su di essa
si possono svolgere operazioni sia di lettura che di scrittura.
•
ROM: Read Only Memory (a sola lettura): non volatili e non
scrivibili; in esse vengono contenuti i dati e programmi per
inizializzare il sistema.
•
PROM: Programmable ROM. Si possono scrivere soltanto una
volta, mediante particolari apparecchi (detti programmatori di
ROM).
•
EPROM = Erasable-programmable ROM (si cancellano
sottoponendole a raggi ultravioletti).
+ Firmware : e‘ costituito dal software memorizzato nelle ROM
(codice microprogrammato).
FONDAMENTI DI INFORMATICA
STRUTTURA DEI CALCOLATORI 7
L’Unità Centrale di Elaborazione
(CPU)
Fondamenti di Informatica – Architettura Calcolatori
10
Caratteristiche dei microprocessori
Le caratteristiche principali di un microprocessore
n repertorio di istruzioni
l le istruzioni del linguaggio macchina del processore
n velocità (misurata come frequenza del clock)
l la frequenza del clock misura la durata del ciclo macchina,
che è l’unità di tempo all’interno del processore
l va osservato che l’esecuzione di ciascuna istruzione
richiede solitamente più cicli macchina
n ampiezza del bus
l numero di bit nel bus interno del processore
n co-processore
l i moderni processori sono integrati a co-processori
specializzati (ad esempio, il co-processore matematico)
n cache
l una memoria veloce locale al processore, che consente
un’accelerazione nell’esecuzione dei programmi
26
Architettura dei calcolatori
Elementi di una CPU
 Unità di controllo
 Legge le istruzioni dalla memoria e ne determina il tipo
 Unità aritmetico-logica
 Esegue le operazioni necessarie per eseguire le istruzioni
 Registri
 Memoria ad alta velocità usata per risultati temporanei
 Determina il parallelismo della CPU
 Esistono registri generici e registri specifici
 Program Counter (PC)
 Instruction Register (IR)
…
Fondamenti di Informatica – Architettura Calcolatori
11
Struttura di una unità centrale di elaborazione
La struttura semplificata di una unità centrale di elaborazione e
dei suoi collegamenti con le altre unità funzionali
leggi
scrivi
PC
bus
controllo
IR
memoria
centrale
o
bus
indirizzi
registro
registro
...
MDR
24
PSW
MAR
periferiche
bus
dati
unità di controllo
registro
stato
ALU
esegui
operazione
unità centrale di elaborazione
Architettura dei calcolatori
Registri
L’unità centrale di elaborazione contiene un numero limitato di
celle di memoria (chiamate registri ) con scopi specifici
n registro contatore delle istruzioni (PC, program counter)
l indirizzo della prossima istruzione da eseguire
n registro delle istruzioni (IR, instruction register)
l l’istruzione che deve essere eseguita (codificata)
n registro di indirizzamento della memoria (MAR)
l indirizzo della cella di memoria che deve essere acceduta o
memorizzata
n registro dati di memoria (MDR)
l dato che è stato acceduto o che deve essere memorizzato
n parola di stato del processore (PSW)
l contiene informazioni, opportunamente codificate, circa
l’esito dell’ultima istruzione che è stata eseguita
n altri registri, utilizzati ad esempio per la memorizzazione
degli operandi e del risultato di una operazione
25
Architettura dei calcolatori
Tre Tipologie di Istruzioni
 Istruzioni Aritmetico Logiche (Elaborazione dati)
 Somma, sottrazione, divisione, …
 And, Or, Xor, …
 Maggiore, minore, uguale, maggiore uguale, …
 Controllo del flusso delle istruzioni
 Sequenza
 Selezione
 Ciclo a condizione iniziale, a condizione finale, …
 Trasferimento di informazione
 Trasferimento dati e istruzioni tra CPU e memoria
 Trasferimento dati e istruzioni tra CPU e dispositivi di I/O
Fondamenti di Informatica – Architettura Calcolatori
12
Struttura del “data path”
Registri
Registri di ingresso
all’ALU
Registro di
uscita
dell’ALU
B
A
+
B
A
ALU
B
A
+
B
A
Bus di ingresso
all’ALU
Fondamenti di Informatica – Architettura Calcolatori
13
Esecuzione delle Istruzioni
 Ciclo Fetch-Decode-Execute
 Prendi l’istruzione corrente dalla memoria e mettila
nel registro istruzioni (IR) [Fetch]
 Incrementa il program counter (PC) in modo che
contenga l’indirizzo dell’istruzione successiva
 Determina il tipo dell’istruzione corrente [Decodifica]
 Se l’istruzione usa una parola in memoria determina
dove si trova
 Carica la parola, se necessario, in un registro della
CPU
 Esegui l’istruzione [Execute]
 Torna al punto 1.
Fondamenti di Informatica – Architettura Calcolatori
14
Esempio: Somma di due registri
 Fase di Fetch (1 di 2)
Bus Controllo
Leggi
Scrivi
Unità di controllo
PC
Bus Indirizzi
Dato
Bus Dati
M
A
R
M
D
R
Registro
Registro
...
Registro
Operazione
Indirizzo
PSW
Esegui
IR
stato
Memoria
centrale
o
periferiche
ALU
Unità centrale
Fondamenti di Informatica – Architettura Calcolatori
16
Esempio: Somma di due registri
 Fase di Fetch (2 di 2)
Bus Controllo
Leggi
Scrivi
Unità di controllo
PC
Bus Indirizzi
Dato
Bus Dati
M
A
R
M
D
R
Registro
Registro
...
Registro
Operazione
Indirizzo
PSW
Esegui
IR
stato
Memoria
centrale
o
periferiche
ALU
Unità centrale
Fondamenti di Informatica – Architettura Calcolatori
17
Esempio: Somma tra due registri
 Decodifica
Bus Controllo
Leggi
Scrivi
Unità di controllo
PC
Bus Indirizzi
Dato
Bus Dati
M
A
R
M
D
R
Registro
Registro
...
Registro
Operazione
Indirizzo
PSW
Esegui
IR
stato
Memoria
centrale
o
periferiche
ALU
Unità centrale
Fondamenti di Informatica – Architettura Calcolatori
18
Esempio: Somma tra due registri
 Esecuzione
Bus Controllo
Leggi
Scrivi
Unità di controllo
PC
Bus Indirizzi
Dato
Bus Dati
M
A
R
M
D
R
Registro
Registro
...
Registro
Operazione
Indirizzo
PSW
Esegui
IR
stato
Memoria
centrale
o
periferiche
ALU
Unità centrale
Fondamenti di Informatica – Architettura Calcolatori
19
La codifica delle istruzioni
(Linguaggio assemblativo) LD R1, Var
; (forma compatta) R1 M[Var]
ADD Rd, Rs1, Rs2 ;
Calcolatori elettronici – Architettura e organizzazione
Giacomo Bucci
Rd Rs1 + Rs2
Copyright © 2009 – The McGraw-Hill Companies srl
La codifica delle istruzioni
Rappresentazione binaria
Codice operativo su 6 bit: LD -> 100011
Id. Registro su 5 bit: R1 -> 00001
Indirizzo di memoria su 21 bit -> 0 0000 0000 0011 1111 1100
LD R1, Var -> 10 0011 0 0001 0 0000 0000 0011 1111 1100
Calcolatori elettronici – Architettura e organizzazione
Giacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
La codifica delle istruzioni
Rappresentazione binaria di ADD R7, R10, R3
Codice operativo su 6 bit: ADD -> 000101
Id. Registro su 5 bit: R7 -> 00111, R10 -> 01010, R3 -> 00011
I restanti 11 bit sono inutilizzati
ADD R7, R10, R3 -> 00 0101 0 1010 0 0011 0 0111 xxxxxxxxxxx
Calcolatori elettronici – Architettura e organizzazione
Giacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
Sequenze di istruzioni in memoria
Lo statement a = b + c si traduce come:
LD R2, B
;B indirizzo a cui è allocata la parola b
LD R3, C
;C indirizzo a cui è allocata la parola c
ADD R1, R2, R3
ST A, R1
;A indirizzo a cui è allocata la parola a
Calcolatori elettronici – Architettura e organizzazione
Giacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
La CPU
UC: responsabile dell’esecuzione delle istruzioni:
- Legge le istruzioni dalla memoria
- interpreta il OP e lo trasforma in sequenze temporizzate di comandi alla OU e/o
alla memoria / dispositivi di I/O
Calcolatori elettronici – Architettura e organizzazione
Giacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
La CPU
OU: esegue le manipolazioni dell’informazione:
- Legge i dati dalla memoria usando registri locali
- esegue i comandi della UC sui dati acquisiti attraverso la ALU (rete che esegue
operazioni logiche e aritmetiche)
- fornisce alla UC informazioni intermedie della elaborazione (condizioni)
- produce dati in uscita (memoria – I/O)
Calcolatori elettronici – Architettura e organizzazione
Giacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
La CPU
Il funzionamento
della CPU è
scandito dal clock.
Calcolatori elettronici – Architettura e organizzazione
Giacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
La CPU
Macrofasi del processo di elaborazione di una istruzione
Fetch:
-viene letta l’istruzione contenuta nella cella indirizzata dal PC (registro
Program Counter)
-Viene decodificata l’istruzione per pilotare la sua esecuzione
Execute:
- Viene eseguita l’istruzione
Calcolatori elettronici – Architettura e organizzazione
Giacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
La CPU
Macrofasi del processo di elaborazione di una istruzione
Es. I (LD, R2, B)
a)La UC comanda la lettura della istruzione (parola) presente nell’indirizzo di
Memoria contenuto nel PC (registro della CPU che contiene l’indirizzo (puntatore)
dell’istruzione successiva da eseguire).
a)In base al OP (LD) la UC pilota la OU alla lettura della parola nell’indirizzo B
in memoria; la OU riceve il dato e lo memorizza nel suo registro R2
b)Il PC viene incrementato di 4 per puntare alla instruzione successiva.
Calcolatori elettronici – Architettura e organizzazione
Giacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
Parti componenti la
CPU
PC (Program Counter)
ALU (Arithmetic and Logic Unit): rete
combinatoria
IR (Instruction Register) usato per
contenere l’istruzione in corso di esecuzione
viene caricato nella fase di fetch e
rappresenta l’ingresso che detrmina la azioni
svolte nella fase di esecuzione.
General Purpose Registers R1, R2, .. , Rn impiegati per contenere i dati su cui
l’ALU esegue le proprie operazioni
MAR (Memory Address Register) deputato a contenere l’indirizzo della locazione
di memoria da leggere o scrivere. La sua uscita è sul bus indirizzi e viene abilitata durante le
operazioni di lettura/scrittura
DTR (Data Transfer Register) registro attraverso il quale viene scambiata
l’informazione fra la memoria e la CPU
Calcolatori elettronici – Architettura e organizzazione
Giacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
Frequenza di clock
La frequenza con cui si eseguono i cicli di
esecuzione è scandita dal clock (orologio
interno)
n ad ogni impulso di clock l’unità di controllo
esegue un ciclo di esecuzione
n la velocità di elaborazione di un
microprocessore dipende dalla frequenza del
suo clock (300, 400,... MHz) (es.: 300
milioni di cicli al secondo). Attualmente si
parla di GHz.
PDF created with pdfFactory trial version www.pdffactory.com
Periferiche e interfacce di ingresso-uscita
Un calcolatore può essere collegato a diversi dispositivi di
ingresso e/o uscita (chiamati periferiche )
n ad esempio, la tastiera, il mouse, lo schermo, le stampanti, il
modem
n anche le memorie di massa (ad esempio, le unità disco e il
lettore di CD- ROM) sono considerati periferiche
Nella macchina di Von Neumann, le periferiche non fanno parte
del calcolatore
n ogni periferica viene controllata mediante un’opportuna
interfaccia
n una interfaccia ha il compito di tradurre i segnali interni del
calcolatore in un formato comprensibile alla periferica stessa,
e viceversa
18
Architettura dei calcolatori
Memorie secondarie
Una memoria secondaria ha le seguenti caratteristiche
fondamentali, che la differenziano dalla memoria centrale
n non volatilità
l i dati memorizzati non vengono persi allo spegnimento del
calcolatore (perché memorizzati in forma magnetica o
ottica e non elettronica)
n grande capacità
l una unità di memoria secondaria ha capacità maggiore
(anche di diversi ordini di grandezza) rispetto alla memoria
centrale
n bassi costi
l il costo per bit di una memoria secondaria è minore (di
diversi ordini di grandezza) rispetto alla memoria centrale
30
Architettura dei calcolatori
Memorie secondarie
Altre caratteristiche delle memorie secondarie rispetto alle
memorie centrali
n minore velocità di accesso
l i tempi di accesso a una memoria secondaria sono
maggiori (di qualche ordine di grandezza) rispetto alla
memoria principale
n i dati di una memoria secondaria per essere acceduti dal
processore devono comunque transitare nella memoria
centrale
In pratica
n la memoria secondaria memorizza tutti i programmi e di dati
del calcolatore
n la memoria centrale memorizza i programmi in esecuzione e i
dati necessari per la loro esecuzione
31
Architettura dei calcolatori
Dischi magnetici
Un disco magnetico (disco fisso) è composto da uno o più piatti di
alluminio rotanti ricoperti di materiale magnetico e da testine
n una testina permette la scrittura e lettura di bit su un disco,
memorizzati sotto forma di stati di polarizzazione (positiva e
negativa)
In un disco magnetico
n ciascun piatto è composto da due superfici (facce)
n ciascuna faccia è suddivisa in tracce (circolari) e settori (a
spicchio)
l un cilindro è l’insieme delle tracce in una data posizione
radiale
n i settori sono le unità logiche di memorizzazione
l la capacità di un settore è tipicamente di 512 byte
n l’indirizzo di un settore è dato dalle seguenti informazioni
l cilindro, superficie, settore
32
Architettura dei calcolatori
Dischi magnetici
Esempio di organizzazione fisica di un disco magnetico
33
Architettura dei calcolatori
Memoria secondaria (o di massa)
La memoria secondaria si basa su dispositivi per la
memorizzazione di grandi masse di dati.
I dati memorizzati in questo tipo di memoria sopravvivono
all’esecuzione dei programmi (persistenti ).
La capacità (dimensione della memoria) varia molto da
dispositivo a dispositivo: dalle decine di mega-byte (106 byte) ai
giga-byte (109 byte) o tera-byte (1012 byte).
Anche la velocità di accesso/trasferimento varia da dispositivo a
dispositivo (comunque molto superiore a quella della memoria
centrale).
Taccesso(memoria centrale)
≅
Taccesso(dischi magnetici) ≅
10-20 msec
Taccesso (dischetti)
≅
100 nsec
100 msec
(1 msec = 10-3 sec; 1 nsec = 10-9 sec)
FONDAMENTI DI INFORMATICA
STRUTTURA DEI CALCOLATORI 8
Dispositivi di memoria di massa
Due classi fondamentali in base al metodo di accesso consentito:
1. ad accesso sequenziale (ad esempio, nastri): per cercare un
dato è necessario accedere a tutti quelli che lo precedono sul
dispositivo;
2. ad accesso diretto ai dati (ad esempio, dischi). E` possibile
accedere direttamente a qualunque dato memorizzato, grazie
all’indirizzamento di porzioni (blocchi) del dispositivo.
Nel caso di dispositivi magnetici (nastri o dischi) l’informazione è
presente in memoria come stato di polarizzazione magnetica,
che può essere positivo o negativo (codifica binaria).
FONDAMENTI DI INFORMATICA
STRUTTURA DEI CALCOLATORI 9
Dischi magnetici
traccia 0
traccia 100
traccia 200
Settore
Un disco e‘ costituito da un certo numero di piatti di materiale
magnetizzabile con due superfici che ruotano attorno ad un perno
centrale.
Ciascuna superficie ha una serie di cerchi concentrici o tracce e
viene suddivisa in spicchi di ugual grandezza chiamati settori. Tutte
le tracce equidistanti dal centro formano un cilindro.
La testina si sposta longitudinalmente lungo le tracce. I dati sono
scritti occupando posizioni successive lungo le tracce.
Corrispondono ad uno stato di polarizzazione (positiva o negativa)
del materiale magnetizzabile che costituisce i dischi.
Ogni blocco di ingresso/uscita è selezionabile mediante la terna
<superficie, traccia, settore> (indirizzo).
FONDAMENTI DI INFORMATICA
STRUTTURA DEI CALCOLATORI 10
Funzionamento
copia il programma in RAM
programma
programma
CPU
RAM
HARD DISK
PDF created with pdfFactory trial version www.pdffactory.com
esegui le istruzioni del programma
Dispositivi di input/output
(I/O, PERIFERICHE)
o Terminali. Tastiera + Video:
n risoluzione, dimensione in pollici,…
o Stampanti:
n ad aghi, a getto, d’inchiostro, laser,…
o Modem: per collegarsi in rete
o Scanner: per digitalizzare le immagini
PDF created with pdfFactory trial version www.pdffactory.com
Dispositivi di Input
Tastiera
Mouse
trackball
Tavoletta grafica
Microfono
Touch pad
Webcam
Penna ottica
Scanner
Fotocam. Dig.
Schermi touch screen
PDF created with pdfFactory trial version www.pdffactory.com
Joystick
Dispositivi di Output
Plotter
Monitor
Stampante
Videoproiettore
Casse acustiche
Cuffie
PDF created with pdfFactory trial version www.pdffactory.com
Personal Computer
•
Memoria di massa generalmente composta da disco rigido (hard
disk) fisso e dischetti (floppy disk) estraibili.
•
L'informazione nella memoria di massa e' organizzata in archivi
(o file) caratterizzati da un nome.
•
Varie classi di PC in base al tipo di processore (Intel, Macintosh,
etc.)
FONDAMENTI DI INFORMATICA
STRUTTURA DEI CALCOLATORI 14
Personal Computer
“IBM-compatibili”:
hanno processori della famiglia Intel 80x86 :
8086
80286
80386
80486
80586 (pentium)
...
prestazioni
•
•
le prestazioni sono influenzate anche da altri parametri :
- frequenza del clock
- dimensione RAM
- velocita` del BUS
- ...
unita` di misura delle prestazioni:
MIPS
(migliaia di istruzioni per secondo)
Mflops (migliaia di operazioni floating point per
secondo)
FONDAMENTI DI INFORMATICA
STRUTTURA DEI CALCOLATORI 15
Altri sistemi di calcolo
Workstation:
sistemi generalmente dedicati ad un utente, ma con capacita‘ di
supportare piu‘ attivita‘ contemporanee. Prestazioni piu‘ elevate
dei PC.
Mini-calcolatori:
Macchine
capaci
di
servire
decine
contemporaneamente, collegati tramite terminali.
di
utenti
Super-calcolatori:
Hanno molti processori e grandi memorie di massa (centinaia o
migliaia di terminali)
+ Possibilita‘ di connettere vari calcolatori di tipo anche diverso
mediante una rete di interconnessione (Sistemi Distribuiti).
FONDAMENTI DI INFORMATICA
STRUTTURA DEI CALCOLATORI 16
Reti locali:
collegano elaboratori fisicamente vicini (nello stesso ufficio o
stabilimento). L’obiettivo e` la condivisione di risorse:
Stampante
di qualita‘
Stampante
ad aghi
Disk server
Bus di rete
Workstation
Workstation
Workstation
Workstation
Workstation
Reti geografiche:
collegano elaboratori distribuiti su un’area geografica di
dimensioni estese (anche intercontinentali).
Rete geografica
printer
Host
Host
terminali
remoti
PC
mini
Host
Rete locale
Linea telefonica
Evoluzione e complessità' sia dell'hardware che del software
(protocolli di collegamento).
FONDAMENTI DI INFORMATICA
STRUTTURA DEI CALCOLATORI 17