istruzioni memoria centrale dati unità centrale di processo comandi dati indirizzi registro dati...

26
istruz ioni istruz ioni Memoria centrale dati dati dati Unità centrale di processo comandi Dati indirizzi Registro dati Registro indirizzi Progra m counte r B u s d a t i B u s i n d i r i z z i Regist ro di stato Regist ro istruz ioni u. di controllo rete di decodif ica ALU accumulat ore cloc k

Upload: filumena-trevisan

Post on 02-May-2015

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Istruzioni Memoria centrale dati Unità centrale di processo comandi Dati indirizzi Registro dati Registro indirizzi Program counter Bus datiBus dati Bus

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

Page 2: Istruzioni Memoria centrale dati Unità centrale di processo comandi Dati indirizzi Registro dati Registro indirizzi Program counter Bus datiBus dati Bus

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

Page 3: Istruzioni Memoria centrale dati Unità centrale di processo comandi Dati indirizzi Registro dati Registro indirizzi Program counter Bus datiBus dati Bus
Page 4: Istruzioni Memoria centrale dati Unità centrale di processo comandi Dati indirizzi Registro dati Registro indirizzi Program counter Bus datiBus dati 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

Page 5: Istruzioni Memoria centrale dati Unità centrale di processo comandi Dati indirizzi Registro dati Registro indirizzi Program counter Bus datiBus dati Bus

La memoria

• Esistono diversi tipi di memoria– Registri (CPU)– Cache– Ram– Memorie di massa (dispositivi di i/o)

– Rom

Page 6: Istruzioni Memoria centrale dati Unità centrale di processo comandi Dati indirizzi Registro dati Registro indirizzi Program counter Bus datiBus dati Bus

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

Page 7: Istruzioni Memoria centrale dati Unità centrale di processo comandi Dati indirizzi Registro dati Registro indirizzi Program counter Bus datiBus dati Bus

Deve

• permettere– Di Scrivere– Di Leggere– Di Conservare– Non tutte le cose contemporaneamente

• Soddisfare le seguenti esigenze– Alta velocità – Elevata capacità– Bassi costi

Page 8: Istruzioni Memoria centrale dati Unità centrale di processo comandi Dati indirizzi Registro dati Registro indirizzi Program counter Bus datiBus dati Bus

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

Page 9: Istruzioni Memoria centrale dati Unità centrale di processo comandi Dati indirizzi Registro dati Registro indirizzi Program counter Bus datiBus dati Bus

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

Page 10: Istruzioni Memoria centrale dati Unità centrale di processo comandi Dati indirizzi Registro dati Registro indirizzi Program counter Bus datiBus dati Bus

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

Page 11: Istruzioni Memoria centrale dati Unità centrale di processo comandi Dati indirizzi Registro dati Registro indirizzi Program counter Bus datiBus dati Bus

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

Page 12: Istruzioni Memoria centrale dati Unità centrale di processo comandi Dati indirizzi Registro dati Registro indirizzi Program counter Bus datiBus dati Bus

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

Page 13: Istruzioni Memoria centrale dati Unità centrale di processo comandi Dati indirizzi Registro dati Registro indirizzi Program counter Bus datiBus dati Bus

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

Page 14: Istruzioni Memoria centrale dati Unità centrale di processo comandi Dati indirizzi Registro dati Registro indirizzi Program counter Bus datiBus dati Bus

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

Page 15: Istruzioni Memoria centrale dati Unità centrale di processo comandi Dati indirizzi Registro dati Registro indirizzi Program counter Bus datiBus dati Bus

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

Page 16: Istruzioni Memoria centrale dati Unità centrale di processo comandi Dati indirizzi Registro dati Registro indirizzi Program counter Bus datiBus dati Bus

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

Page 17: Istruzioni Memoria centrale dati Unità centrale di processo comandi Dati indirizzi Registro dati Registro indirizzi Program counter Bus datiBus dati Bus

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

Page 18: Istruzioni Memoria centrale dati Unità centrale di processo comandi Dati indirizzi Registro dati Registro indirizzi Program counter Bus datiBus dati Bus

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

Page 19: Istruzioni Memoria centrale dati Unità centrale di processo comandi Dati indirizzi Registro dati Registro indirizzi Program counter Bus datiBus dati Bus

La ALU

Unità

Aritmetico

logica

Bus interno dati

Registro dati

Bus esterno dei dati

accumulatore Registro Dati

Page 20: Istruzioni Memoria centrale dati Unità centrale di processo comandi Dati indirizzi Registro dati Registro indirizzi Program counter Bus datiBus dati Bus

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)

Page 21: Istruzioni Memoria centrale dati Unità centrale di processo comandi Dati indirizzi Registro dati Registro indirizzi Program counter Bus datiBus dati Bus

Codice operativo Indirizzo opernadi Bus indirizzi

Rete di decodifica Unità di controllo

comandi

Page 22: Istruzioni Memoria centrale dati Unità centrale di processo comandi Dati indirizzi Registro dati Registro indirizzi Program counter Bus datiBus dati Bus

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

Page 23: Istruzioni Memoria centrale dati Unità centrale di processo comandi Dati indirizzi Registro dati Registro indirizzi Program counter Bus datiBus dati Bus

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

Page 24: Istruzioni Memoria centrale dati Unità centrale di processo comandi Dati indirizzi Registro dati Registro indirizzi Program counter Bus datiBus dati Bus

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

Page 25: Istruzioni Memoria centrale dati Unità centrale di processo comandi Dati indirizzi Registro dati Registro indirizzi Program counter Bus datiBus dati Bus

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.

Page 26: Istruzioni Memoria centrale dati Unità centrale di processo comandi Dati indirizzi Registro dati Registro indirizzi Program counter Bus datiBus dati Bus

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