Académique Documents
Professionnel Documents
Culture Documents
Memoria
centrale
BUS di sistema
tastiera
mouse
memoria di
massa
Periferiche
monitor
La memoria centrale
La memoria centrale
La memoria centrale destinata ad accogliere il materiale di
lavoro su cui lelaboratore opera:
Dati ed istruzioni
La memoria centrale
La memoria centrale in genere di dimensioni ridotte a causa
del maggiore costo rispetto alla memoria di massa:
Pi veloce
maggiore costo
La memoria centrale
Concettualmente una sequenza di celle di memoria:
ogni cella contiene una word
Lettura e scrittura
Lindirizzamento avviene tramite un opportuno registro detto
registro degli indirizzi che si trova nella CPU:
In generale un registro un chip capace di memorizzare una sequenza di bit
Scrittura in memoria:
La CPU memorizza nella cella indirizzata dal registro indirizzi il contenuto del
registro dati (STORE)
Lettura e scrittura
La cella di memoria ed il registro dati devono avere la stessa
dimensione
0
h=16 bit
STORE
Cella di memoria indirizzata
LOAD
k=10
Registro dati
Registro indirizzi
1023
h=16 bit
ROM e BIOS
Come gi accennato, normalmente la memoria centrale una
memoria volatile
Molte volte per necessario mantenere in memoria dati che non
possono essere letti dalle memorie di massa:
Il BIOS il primo software caricato allavvio del PC, quando ancora il S.O. non
stato caricato; in quel momento ancora impossibile leggere dati dalla
memoria di massa e quindi necessario che il programma che realizza il
BIOS risieda in una memoria centrale ma permanente
Solitamente accanto alla normale RAM (Random Acces Memory) vengono
utilizzate piccole memorie permanenti (ROM - Read Only Memory) che
memorizzano il BIOS
Il BUS
Il bus
Il bus di sistema costituito da un insieme di connessioni
elementari, o linee, lungo le quali viene trasferita informazione
Collega fra loro la CPU, la memoria e le varie periferiche di
ingresso/uscita:
topologicamente il BUS un collegamento aperto, cio non limitato
ad un estremo
ad esso si collegano le varie unit funzionali
Il bus
Il bus sempre sotto il controllo della CPU che seleziona
linterconnessione da attivare ed indica loperazione da compiere:
Le varie unit entrano in azione solo se selezionate dalla CPU
Comunque ultimamente sono state introdotte periferiche intelligenti che
riescono ad utilizzare il BUS senza richiedere lintervento della CPU (maggiore
velocit)
Il bus
Il bus dati:
Traferisce dati dallunit master allunit slave o viceversa
Nelloperazione STORE di memorizzazione dati nella memoria centrale, per
esempio,
il
dati
transita
nel
bus
dati
in
direzione
CPU
Memoria
Il bus indirizzi:
Su questo bus le informazioni sono gli indirizzi di memoria
Per esmepio, trasferisce lindirizzo contenuto nel registro indirizzi alla
memoria centrale in una operazione di STORE
Il bus controllo:
Trasferisce il codice delloperazione da eseguire alle unit slave
In una operazione di STORE, la memoria deve essere avvertita di
memorizzare il dato nella locazione corretta
Il bus
Esempio:
Esempio il bus utilizzato per trasferire dati fra le unit funzionali
Lunit che inizia il trasferimento (in genere la CPU) fornisce lindirizzo, che individua
univocamente il dato, sulle linee del bus indirizzi,
indirizzi e configura le linee del bus controllo,
controllo
inviando un comando al dispositivo che contiene il dato (es. READ)
Il dato da trasferire reso disponibile sul bus dati e viene ricopiato nel dispositivo
destinatario
Indirizzo a
32 bit (32 fili)
CPU
0008AB38
Memoria
principale
0008AB38
CPU
5F66B102
Memoria
principale
5F66B102
0008AB38
0008AB38
5F66B102
READ=1 MEM=1
READ=1 MEM=1
5F66B102
Dato a 32 bit (32 fili)
trasferito dalla memoria principale alla CPU
La CPU
La CPU
La CPU,
CPU Central Processing Unit,
Unit
lunit di elaborazione centrale
Le funzioni della CPU vengono
integrate in un componente
chiamato microprocessore
La CPU
La funzione della CPU eseguire i programmi contenuti nella
memoria centrale:
Prelievo dellistruzione
Decodifica dellistruzione
Esecuzione dellistruzione
registri
PC
Program Counter
BUS
ALU
CU
IR
Instruction Register
Registri
La CPU necessita di oggetti in cui immagazzinare
temporaneamente i dati/istruzioni su cui sta lavorando: i registri
I registri possono essere immaginati come celle di memoria
separate a lettura e scrittura molto rapida
Ogni registro ha una sua funzione propria
Registro dati (DR, h bit) e registro indirizzi (AR, k bit), contengono il dato e
lindirizzo di memoria su cui effettuare loperazione corrente
Registro istruzione corrente (CIR, h bit), contiene istante per istante
lOPCODE dellistruzione in esecuzione in quel momento
Contatore di programma (PC, k bit), contiene lindirizzo in memoria della
prossima istruzione del programma in esecuzione
Registro interruzioni (INTR), contiene informazioni relative allo stato di
funzionamento delle periferiche. Se una periferica deve contattare la CPU,
segnala questo fatto nel registro INTR. Es. fine di una stampa
Registri
Registri per la ALU (normalmente indicati con A e B), contengono gli operandi
ed il risultato delle elaborazioni svolte dalla ALU
Un numero elevato di registri di lavoro, molto simili ad una memoria in
miniatura in cui la CPU memorizza le istruzioni ed i dati utilizzati pi di recente
per un accesso pi rapido in futuro (CACHE)
Registro di stato (SR), un particolare registro in cui ogni bit assume un
significato diverso, relativo al risultato delle operazione svolte dalla ALU:
Bit di carry,
carry indica il riporto in una operazione aritmetica
Bit zero,
zero indica la presenza di un valore nullo nel registro A
Bit di segno,
segno riporta il segno del risultato di unoperazione aritmetica
Bit di overflow,
overflow rileva la condizione di overflow che si verifica quando il
risultato dellultima operazione della ALU supera il valore rappresentabile
nel registro A (2h)
Registri
A
ALU
INTR
Registro istruzione corrente (CIR)
B
Other 1
.
Other N
CU
Clock
Instruction Set
Il calcolatore utilizza la rappresentazione binaria per le istruzioni
ed i dati
La CPU ha un set di istruzioni predefinito in fase di progetto:
Ogni istruzione individuata da un codice operazione OP_CODE
Alcune operazioni richiedono dati su cui operare e quindi hanno bisogno di
operandi
NB:
con 8 bits (1 byte) si hanno al massimo 28 (255) istruzioni diverse
con 16 bits (2 byte) si hanno al massimo 216 (65536) istruzioni diverse
Ecc
Le periferiche
Le periferiche
Quando utilizziamo un PC necessario poter interagire con esso:
Digitare testo, visualizzare loutput, stampare, ascoltare suoni.
Le interfacce I/O
Per poter colloquiare con una periferica, la CPU deve conoscere
le specifiche della periferica:
In questo modo, per, ogni tipo di periferica ed eventualmente ogni modello
potrebbero avere modi di comunicazione differenti, e la CPU dovrebbe
conoscerli tutti
Interfaccia standard
Una interfaccia I/O standard composta in genere dai seguenti
elementi:
Un registro dati della periferica (PDR), utilizzato per scambiare dati con la
periferica. Se la comunicazione con la periferica full-duplex, molte volte
vengono impiegati due registri dati, uno per la ricezione ed uno per linvio
Un esempio di comunicazione half-duplex il video, in cui i dati vengono inviati alla
periferica per essere visualizzati, mentre un esempio di periferica
full- duplex il modem
Interfaccia standard
Il registro dati collegato al BUS dati, mentre il registro di
comando collegato al BUS di controllo
Il registro PSR, non sempre viene utilizzato, poich molte volte lo
stato segnalato dalla interfaccia stessa alla CPU tramite gli
interrupt ed il registro INTR nella CPU stessa
Registro dati Rx
Registro dati Tx
Registro Comandi
I/O Interface
Periferica
Esecuzioni di programmi
Esecuzioni di programmi
Per iniziare lesecuzione di un programma, lelaboratore deve
dapprima caricare in memoria la forma binaria del programma:
Una sequenza di parole binarie corrispondenti agli OP_CODE delle
istruzioni macchina da effettuare e ai dati su cui operare
Esecuzioni di programmi
Lesecuzione di una istruzione si compone di tre fasi distinte:
Lacquisizione dalla memoria centrale della istruzione (FETCH)
Linterpretazione (DECODIFICA)
Lesecuzione
Esecuzioni di programmi
1.
FETCH (continua):
d)
2.
Linterpretazione (o decodifica):
Questa fase comporta lanalisi della istruzione corrente (CIR) per scoprire
quale operazione deve essere eseguita
Viene analizzato solamente il contenuto del registro CIR
Esecuzioni di programmi
3.
Fase di esecuzione:
Questa fase ovviamente differente per ogni operazione e dipende
dalloperazione stessa che deve essere effettuata
Le operazioni possibili sono molteplici e con il passare del tempo
linstruction set stato molto ampliato inserendo anche operazioni
complesse (Es. radici quadrate, istruzioni grafiche).
Esecuzioni di programmi
0100000000010000
0100000000010001
0100000000010010
0100000000010011
0000000000010000
0001000000010001
0110000000000000
0010000000010100
0000000000010010
0001000000010011
0110000000000000
0001000000010100
1000000000000000
0010000000010100
0101000000010100
1101000000000000