Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> sistemi >> Unix >> .

Come viene eseguita un'istruzione in SAP-1?

Il SAP-1 (semplice computer del programma di assemblaggio, un ipotetico computer spesso utilizzato nei corsi di architettura del computer introduttivo) esegue le istruzioni in un ciclo di esecuto-decodi di recupero. Ecco una rottura:

1. Fetch: L'indirizzo dell'istruzione (contenuto nel contatore del programma, PC) viene inviato alla memoria. La memoria prende le istruzioni da quell'indirizzo e le inserisce nel registro delle istruzioni (IR). Il PC viene quindi incrementato per indicare l'istruzione successiva.

2. Decodifica: L'unità di controllo decodifica le istruzioni nell'IR. Ciò implica l'identificazione del codice op (parte dell'istruzione che specifica l'operazione da eseguire) e gli operandi (i dati su cui l'operazione agirà). Gli operandi potrebbero essere valori immediati (incorporati nell'istruzione stessa), indirizzi delle posizioni della memoria o numeri di registro.

3. Esegui: Sulla base del codice operativo decodificato, l'unità di controllo dirige le azioni appropriate:

* Operazioni aritmetiche/logiche: Se l'istruzione è un'operazione aritmetica (aggiunta, sub, ecc.) O un'operazione logica (e, o, ecc.), Gli operandi (recuperati dalla memoria o dai registri come specificato) vengono inviati all'unità logica aritmetica (ALU). L'ALU esegue l'operazione e memorizza il risultato in un registro o in una posizione di memoria specificata.

* Operazioni di trasferimento dei dati: Istruzioni come caricamento e archivio spostano i dati tra memoria e registri. Load sposta i dati da una posizione di memoria in un registro; Store sposta i dati da un registro in una posizione di memoria.

* Istruzioni per il flusso di controllo: Queste istruzioni cambiano l'ordine dell'esecuzione delle istruzioni.

* Jump: Il PC viene caricato con un nuovo indirizzo specificato nell'istruzione, causando il salto del programma in una posizione diversa.

* Branch (salto condizionale): Il PC viene caricato con un nuovo indirizzo solo se viene soddisfatta una condizione specificata (ad esempio, il valore di un registro è zero). Altrimenti, l'esecuzione continua con la prossima istruzione.

* Halt: Il processore interrompe l'esecuzione.

Esempio:

Diciamo che abbiamo un'istruzione `Aggiungi R1, R2` (aggiungi il contenuto del registro R1 per registrare R2 e memorizzare il risultato in R2).

1. Fetch: Il PC punta alla posizione della memoria contenente `Aggiungi R1, R2`. Questa istruzione viene recuperata e caricata nell'IR. Il PC è incrementato.

2. Decodifica: L'unità di controllo riconosce "Aggiungi" come Opcode e identifica R1 e R2 come operandi (registri).

3. Esegui: L'unità di controllo dirige le seguenti azioni:

* I contenuti di R1 sono recuperati.

* I contenuti di R2 sono recuperati.

* L'Alu aggiunge i due valori.

* Il risultato è memorizzato in R2.

Il ciclo si ripete quindi con l'istruzione successiva indicata dal PC. I dettagli specifici dell'utilizzo del registro, delle modalità di indirizzamento della memoria e dei formati di istruzioni variano leggermente a seconda della particolare implementazione SAP-1 descritta in un libro di testo o in un corso. Tuttavia, il ciclo di esecuto-decine-decode fondamentale rimane costante.

 

sistemi © www.354353.com