Che materia stai cercando?

Architettura di Von Neumann

Spiegazione dettagliata sul funzionamento dell'Architettura di Von Neumann, utilissima per il superamento di Fondamenti di Informatica 1. Vengono analizzati la struttura della CPU, il ciclo di esecuzione di un'istruzione, le operazioni per l'esecuzione di un'istruzione, etc.

Esame di Fondamenti di informatica 1 docente Prof. G. Danese

Anteprima

ESTRATTO DOCUMENTO

Ciclo di esecuzione di un'istruzione

Tipicamente la CPU è l'interprete del linguaggio macchina, e si basa sul seguente ciclo:

Acquisizione dell'istruzione (Instruction Fetch): il processore preleva l'istruzione

• dalla memoria centrale (RAM), presente nell'indirizzo (tipicamente logico) specificato da

un registro speciale, il Program Counter (PC).

Decodifica (Operand Assembly): word

una volta che la è stata prelevata, viene

• determinata quale operazione debba essere eseguita e come ottenere gli operandi, in

base ad una funzione il cui dominio è costituito dai codici operativi (tipicamente i bit alti

delle word) ed il codominio consiste nei brani di microprogramma da eseguire.

Esecuzione (Execute): viene eseguita la computazione desiderata. Nell'ultimo passo

• dell'esecuzione viene incrementato il PC: tipicamente di uno se l'istruzione non era un

salto condizionale, altrimenti l'incremento dipende dall'istruzione e dall'esito di questa.

Più dettagliatamente il ciclo di esecuzione di un'istruzione può essere così descritto:

1. La CPU invia sul bus indirizzi l'indirizzo della successiva istruzione da eseguire.

2. La CPU invia alla memoria un comando di richiesta di accesso in memoria.

3. La CPU attende l'arrivo sul bus dati del codice operativo dell'istruzione prelevata dalla

memoria.

4. La CPU decodifica l'istruzione.

5. La CPU esegue l'istruzione.

6. L'esecuzione continua al punto 1. prelievo

Le operazioni 1, 2 e 3 costituiscono la cosiddetta fase di (fetch) dell'istruzione, la fase 4 è

decodifica esecuzione

detta di e la fase 5 è detta di (execute). La fase di fetch viene ripetuta allo

stesso modo per tutte le istruzioni del programma, mentre ovviamentele fasi di esecuzione e di

decodifica variano da un'istruzione all'altra. Esaminiamo ora nel dettaglio.

Fase di fetch

• La fase di fetch (o di prelievo) è la prima parte di un ciclo di istruzione e, come suggerisce il

nome, effettua il prelievo di un'istruzione dalla memoria.

L'indirizzo dell'istruzione contenuto nel Program Counter (PC) viene copiato nel MAR e poi

inviato attraverso l'External Address Bus alla memoria. Contemporaneamente la CPU invia

READ

alla memoria un segnale di sull'External Control Bus, per indicare l'intenzione di

leggere il contenuto di una parola di memoria.

Dopo un tempo di ritardo (variabile da pochi ns a 1 µs), la memoria decodifica l'indirizzo

ricevuto e deposita sull'External Data Bus il contenuto della locazione di memoria

richiesta dalla CPU. A questo punto la CPU può leggere il contenuto del bus dati e copiarlo

nel MBR per poi trasferirlo nell'IR (Instruction Register), il proprio registro interno dove

viene memorizzato il codice operativo delle istruzioni da eseguire:

Si noti che, al termine della fase di fetch, il contenuto del Program Counter (PC) viene

automaticamente incrementato di 1, in modo da puntare al successivo indirizzo in

memoria.

Fase di decodifica e di esecuzione

• Dopo che il codice operativo è stato caricato nell'IR, l'unità di controllo (CU) interna alla

CPU lo decodifica e quindi invia i segnali di controllo (SIGNALS in figura) agli altri

componenti interni della CPU in modo da eseguire l'istruzione stessa. Per fare ciò l'unità di

codice operativo sorgente

controllo deve essere a conoscenza del (OP Code), del (i dati su

destinatario

cui operare), e del (ossia dove porre il risultato e la modalità di

indirizzamento). Questa fase, detta di decodifica e di esecuzione, varia grandemente da

un'istruzione all'altra (per esempio le operazioni da eseguire per effettuare una somma

saranno del tutto diverse da quelle necessarie per spostare un blocco di dati da un'area

all'altra della memoria).

A titolo di esempio consideriamo l'ipotetica istruzione R0 = R0 + R1, il cui significato è

aggiungere al contenuto del registro R0 il contenuto del registro R1. A tale scopo per prima

cosa il contenuto di R0 viene trasferito sull'Internal Data Bus della CPU fino

all'accumulatore (che è collegato con uno dei due ingressi della ALU):

Quindi il contenuto del registro R1 viene trasferito sull'Internal Data Bus fino al secondo

ingresso della ALU. Tale ingresso corrisponde a un buffer o registro temporaneo (TMP in


PAGINE

5

PESO

89.48 KB

AUTORE

UNSIGNED

PUBBLICATO

9 mesi fa


DETTAGLI
Corso di laurea: Corso di laurea in ingegneria informatica (MANTOVA - PAVIA)
SSD:
Università: Pavia - Unipv
A.A.: 2017-2018

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher UNSIGNED di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica 1 e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Pavia - Unipv o del prof Danese Giovanni.

Acquista con carta o conto PayPal

Scarica il file tutte le volte che vuoi

Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato

Recensioni
Ti è piaciuto questo appunto? Valutalo!

Altri appunti di Fondamenti di informatica 1

Domande e Risposte di Fondamenti di Informatica 1
Appunto
Conversioni Numeriche per Fondamenti di Informatica 1
Appunto
Appunti ed Esercizi Analisi 1
Appunto
Riassunto Analisi 2
Appunto