View
219
Download
0
Category
Preview:
Citation preview
istruzioni
istruzioni
Memoria centrale
datidati
dati
Unità centrale di processo
comandi
Dati
indirizzi
Registro dati
Registro indirizzi
Program counter
Bus
dati
Bus
indirizzi
Registro di stato
Registro istruzioni
u. di controllo
rete di decodifica
ALU
accumulatore
clock
Modello di Von Newmann
• Viene eseguita una istruzione una di seguito all’altra in modo sequenziale
• Formato– Sottosistema memorie– Sottosistema calcolo– Sottosistema input/output
– Interagiscono tra loro attraverso i Bus
Il clock
• Funzione in modo sincrono (tutto assieme)• Clock
– Frequenza MHz milioni di impulsi al secondo– GHz miliardi di impulsi al secondo
• Diversi tipi di clock– Del processore interno alla CPU– Dei bus di sistema per sincronizzare con il mondo
esterno– Ogni dispositivo ha il proprio
La memoria
• Esistono diversi tipi di memoria– Registri (CPU)– Cache– Ram– Memorie di massa (dispositivi di i/o)
– Rom
La memoria centrale Ram
• Dispositivo elettronico in grado di contenere tutte le informazioni necessarie per l’elaborazione dei dati
• Dati , informazioni, risultati intermedi
• È più veloce della memoria di massa
Deve
• permettere– Di Scrivere– Di Leggere– Di Conservare– Non tutte le cose contemporaneamente
• Soddisfare le seguenti esigenze– Alta velocità – Elevata capacità– Bassi costi
Tipi di memoria• Ram (random access memory)
– Casuale (accesso celle non dipende dal contenuto)– Cella individuata dall’indirizzo– Volatile (perde il contenuto una volta manca l’alimentazione
elettrica)– Più grande più veloce computer– Statica e dinamica
istruzioni
istruzioni
Memoria centrale
datidati
dati
indirizzo1
Indirizzo n
indirizzo2
Indirizzo n+1
Indirizzo n+m
selettore
Registro dati
Registro indirizzi
temporizzazione
Scrittura/Lettura
Unità di governo
I Registri
•Componenti circuitati (fatti in elettronica)
•Accesso casuale o a scorrimento
•Consentono accesso molto rapido
•Possono memorizzare solo un numero limitato di byte
•Memoria di tipo volatile
Bit 1 bit 2 bit 3 bit 4 bit n
I RegistriRegisti in parallelo
•Tutti i bit che formano il dato vengono memorizzati contemporaneamente
•Prima fase vengono azzerati tutti i bit di registro
•Seconda fase vengono commutati tutti i bit che formano il dato che devono assumere il valore 1
dato
clock
1 0 0110 0 0000 1 001
Bit 1 bit 2 bit 3 bit 4 bit n
I RegistriRegisti a scorrimento
•Tutti i bit che formano il dato vengono memorizzati in modo sequenziale (ad ogni impulso di clock)
•Il contenuto dell’i-esimo bit stabile viene trasferito in quello di posto i+1
•Nel bit stabile di posto 1 viene registrato il valore del nuovo bit da memorizzare
dato
clock
1 10 101
I registri•Registri di uso generale in cui vengono depositati operandi e risultati intermedi dell’elaborazione (dimensione in bit indica l’ampiezza della parola)
•Es. registro accumulatore, esso (in una addizione) contiene uno degli operandi e il risultato della operazione
Unità aritmetica logica
AccumulatorePrimo operando
secondo operando
I registri•Registro istruzioni contiene l’istruzione di un programma dopo che è stata letta dalla memoria per il tempo necessario alla sua esecuzione
• una parte contiene il codice operativo istruzione collegata al decodificatore e direttamente unità di controllo
•Indirizzo(indirizzi) dell’ operando (degli operandi)
Codice operativo
Codice operandi
Bus interno dati Bus interno degli indirizzi
decodificatore
Unità di controllo
I registri•Registro contatore di programma vengono generati gli indirizzi delle istruzioni da eseguire (serve per sapere dove risiede in memoria l’istruzione da prelevare)
•Registro dati, registro indirizzi collegano la Cpu con i bus esterni.
•Pila di sistema è un registro dove viene conservato lo stato del processore e dei registri in alcuni casi come ad esempio la chiamata ad un sottoprogramma.
•Stack pointer registro che tiene conto della posizione del primo elemento della pila.
Ind X
Stack Pointer
Pila di sistema
I registri•Registri di stato sono dei registri dove ogni bit rappresenta logicamente un indicatore (flag) che consente particolari informazioni relative alla condizioni verificatesi nel corso dell’ultima operazione
•Flag di carry viene posto ad 1 quando un operazione aritmetica produce un riporto (positivo o negativo) mentre assume il valore 0 negli altri casi
•Flag di overflow, che viene posto ad 1 se il risultato di un operazione aritmetica tra due numeri relativi oltrepassa la capacità di elaborazione della ALU (quando il bit più significativo trabocca sul bit di segno )
•Flag di zero 1 se il risultato dell’ultima operazione fatta è zero 0 negli ltri casi
•Flag di negatività che riproduce il bit di segno del risultato
I bus
•Bus dati
•Linee bidirezionali
•Bus indirizzi
•Line unidirezionali
•Tramite i quali il processore seleziona l’unità con la quale deve essere stabilite le comunicazioni
•Bus di controllo
• bidirezionali
•Segnali di controllo
La ALU
•Unità aritmetico logica
•Rete combinatoria che realizza la principali funzione logiche
•Esegue operazioni aritmetiche
•Esegue operazioni di confronto
• scorrimento a sinistra e a destra dell’operando coinvolto
La ALU
Unità
Aritmetico
logica
Bus interno dati
Registro dati
Bus esterno dei dati
accumulatore Registro Dati
Unità di controlloControlla il funzionamento di tutti gli altri elementi che compongono il sistema di elaborazione
•Codificare
•Interpretare
•Elaborare
istruzioni
Generando segnali di attivazione di tutti gli organi esecutivi del computer
Al ritmo degli impulsi forniti dal temporizzatore (clock)
Codice operativo Indirizzo opernadi Bus indirizzi
Rete di decodifica Unità di controllo
comandi
Tipo di microprocessore
•Logica cablata
•L’unità di controllo e conglobata con la ALU
•È un insieme di circuiti logici sequenziali
•Definiti una volta per tutte dal costruttore
•La scomposizione in istruzioni elementari non può essere modificata dall’utente
•Non si può essere esteso il repertorio delle istruzioni proposte
Tipi di microprocessore•Logica microprogramma
•Logiche di controllo basate sulla microprogrammazione
•Le istruzioni macchina (microistruizioni) vengono eseguite come un insieme di “azioni elementari” di complessità inferiore
• l’Unità di controllo deve assumere la struttura di un calcolatore a cui viene demandata l’esecuzione di un microprogramma associato all’istruzione da eseguire
Unità di controllo
Memoria di controllo
(prom rom, contiene tutti micro programmi)
Decodificatore istruzioni
Emette l’indirizzo del microprogramma associato al codice operativo
Contatore di Microprogramma(program counter)
Indirizzi delle microistruzioni
Registro micro istruzioni corrente
Decodificatore microistruzioni
Circuiti di temporizzazione
Unità di controllo
1. Il codice operativo contenuto nel registro istruzioni viene inviato al decodificatore che genera un indirizzo di microprogramma
2. Questo indirizzo viene caricato nel contatore di microprogramma e punta,nella memoria di controllo, alla prima microistruzione del microprogramma associato all’istruzione da eseguire
3. Le microistruzioni di questo microprogramma vengono eseguite in sequenza a, ogni passo, i segnali corrispondenti vanno ad abilitare le rispettive unità funzionali, mentre l’indirizzo della microistruzione successiva viene portata nel contatore di microprogramma.
istruzioni
istruzioni
Memoria centrale
datidati
dati
Unità centrale di processo
comandi
Dati
indirizzi
Registro dati
Registro indirizzi
Program counter
Bus
dati
Bus
indirizzi
Registro di stato
Registro istruzioni
u. di controllo
rete di decodifica
ALU
accumulatore
clock
Recommended