Unità centrale di processo dati comandi Bus dati Registro di stato Dati Registro dati indirizzi istruzioni Registro indirizzi ALU accumulatore Memoria centrale Bus indirizzi Registro istruzioni Program counter rete di decodifica clock u. di controllo Unità centrale di processo
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 Soddisfare le seguenti esigenze 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
indirizzo1 selettore dati Registro indirizzi Indirizzo n indirizzo2 Indirizzo n+1 Indirizzo n+m temporizzazione Scrittura/Lettura istruzioni Unità di governo Registro dati Memoria centrale
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
I Registri Registi 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 Bit 1 bit 2 bit 3 bit 4 bit n 1 1 clock dato
I Registri Registi 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 Bit 1 bit 2 bit 3 bit 4 bit n 1 1 1 1 clock dato
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 Primo operando Accumulatore Unità aritmetica logica secondo operando
Bus interno degli indirizzi 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) Bus interno dati Bus interno degli indirizzi Codice operativo operandi Unità di controllo decodificatore
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. Pila di sistema Stack Pointer Ind X
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 Bus esterno dei dati Registro dati Bus interno dati accumulatore Registro Dati Unità Aritmetico logica
Unità di controllo Controlla 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 Unità di controllo Rete di decodifica 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 Decodificatore istruzioni Decodificatore microistruzioni Emette l’indirizzo del microprogramma associato al codice operativo Registro micro istruzioni corrente Contatore di Microprogramma (program counter) Memoria di controllo (prom rom, contiene tutti micro programmi) Indirizzi delle microistruzioni Circuiti di temporizzazione
Unità di controllo Il codice operativo contenuto nel registro istruzioni viene inviato al decodificatore che genera un indirizzo di microprogramma Questo indirizzo viene caricato nel contatore di microprogramma e punta,nella memoria di controllo, alla prima microistruzione del microprogramma associato all’istruzione da eseguire 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.
Unità centrale di processo dati comandi Bus dati Registro di stato Dati Registro dati indirizzi istruzioni Registro indirizzi ALU accumulatore Memoria centrale Bus indirizzi Registro istruzioni Program counter rete di decodifica clock u. di controllo Unità centrale di processo