Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> hardware >> Dispositivi di Input & Output >> .

Da dove vengono le istruzioni di controllo?

Le istruzioni di controllo, che determinano le operazioni che una CPU esegue, provengono da alcuni luoghi diversi, a seconda dell'architettura e del momento specifico:

1. Memoria principale (RAM):

* Codice programma: La fonte primaria delle istruzioni di controllo è il codice del programma memorizzato nella memoria principale (memoria di accesso casuale o RAM). Quando si esegue un programma, le sue istruzioni vengono caricate da archiviazione (come un disco rigido o SSD) in RAM. La CPU recupera quindi queste istruzioni una per una (o in batch), le decodifica ed le esegue. Questa è la fonte più comune e fondamentale.

2. Cache delle istruzioni (L1, L2, L3 Caches):

* Istruzioni usate frequentemente: Per accelerare l'esecuzione, le CPU usano cache, che sono ricordi più piccoli e più veloci. La cache delle istruzioni contiene copie di istruzioni usate frequentemente recuperate dalla RAM. Quando la CPU necessita di un'istruzione, controlla prima la cache. Se l'istruzione è lì (un "cache hit"), viene recuperato molto più velocemente che andare alla memoria principale.

3. Microcodice (in istruzioni complesse architetture - CISC):

* Operazioni complesse: Nelle architetture più antiche o più complesse (come Intel X86), alcune istruzioni sono effettivamente implementate come sequenze di microinstruzioni più semplici. Questo * microcodice * è memorizzato in una ROM speciale (memoria di sola lettura) o archiviazione simile all'interno della CPU stessa. Quando la CPU incontra un'istruzione complessa, esegue la corrispondente sequenza di microcodie, che suddivide l'istruzione complessa in passaggi più semplici e gestibili. Ciò è meno comune nelle moderne architetture RISC (ridotto set di istruzioni), che generalmente preferiscono istruzioni più semplici che possono essere eseguite direttamente.

4. Interruzioni:

* Eventi esterni: Gli interrupt sono segnali che possono interrompere il normale flusso di esecuzione del programma. Possono provenire da hardware (ad es. Una pressa per tastiera, un'unità disco che termina un'operazione) o software. Quando si verifica un interrupt, la CPU salva lo stato del programma attuale e salta su una routine speciale chiamata *gestore di interrupt *o *routine di servizio di interruzione (ISR) *. L'ISR contiene istruzioni per gestire l'interrupt (ad esempio, leggere i dati dalla tastiera). Dopo che l'ISR è terminato, la CPU ripristina lo stato del programma salvato e riprende l'esecuzione da dove ha interrotto.

* Pertanto, un interrupt può causare l'esecuzione di un set di istruzioni di controllo * diverso * rispetto a quello che intendeva il programma originale.

5. Ripristina il vettore:

* Avvio: Quando il computer è acceso o ripristinato, la CPU inizia l'esecuzione delle istruzioni da un indirizzo di memoria predefinito chiamato *Resect Vector *. Questo vettore contiene l'indirizzo della prima istruzione da eseguire, in genere l'inizio del caricatore di avvio del sistema operativo.

In sintesi:

Il flusso in genere assomiglia a questo:

1. Accensione/Ripristino: La CPU inizia dal vettore di ripristino.

2. Processo di avvio: Avvio del caricatore in RAM carica il sistema operativo.

3. Esecuzione del programma: Il codice del programma e i dati vengono caricati in RAM.

4. Ciclo di esecuto-decodi-decodi: La CPU recupera le istruzioni dalla RAM (o la cache delle istruzioni), le decodifica nei segnali di controllo ed esegue tali segnali.

5. Interrupt: Gli eventi esterni possono innescare interruzioni, deviazione dell'esecuzione per interrompere i gestori.

La CPU stessa è l'agente che recupera ed esegue queste istruzioni, seguendo ripetutamente il ciclo di esecuzione del decennale di recupero. La * sorgente * delle istruzioni, tuttavia, varia come descritto sopra.

 

hardware © www.354353.com