Program counter: differenze tra le versioni

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 5: Riga 5:
#caricamento dell'istruzione riferita dal program counter;
#caricamento dell'istruzione riferita dal program counter;
#aggiornamento (incremento) del program counter, in modo che contenga l'indirizzo dell'istruzione successiva;
#aggiornamento (incremento) del program counter, in modo che contenga l'indirizzo dell'istruzione successiva;
#esecuzione dell'istruzione caricata
#esecuzione dell'istruzione caricata.


Nel normale ciclo ''fetch-execute'', quindi, il ''program counter'' viene incrementato automaticamente. In aggiunta, tutti i linguaggi macchina forniscono una o più istruzioni che ''modificano'' esplicitamente il ''program counter'' se vale una certa condizione (per esempio se l'[[accumulatore (informatica)|accumulatore]] ha tutti i [[bit (informatica)|bit]] impostati a 0). Queste istruzioni consentono al programma di "saltare" a una istruzione di [[Programma (informatica)|programma]] che non sia quella immediatamente successiva a quella appena eseguita, e forniscono quindi lo strumento fondamentale sul quale sono realizzate le [[struttura di controllo|strutture di controllo]] dei [[linguaggio di programmazione|linguaggi di programmazione]].
Nel normale ciclo ''fetch-execute'', quindi, il ''program counter'' viene incrementato automaticamente. In aggiunta, tutti i linguaggi macchina forniscono una o più istruzioni che ''modificano'' esplicitamente il ''program counter'' se vale una certa condizione (per esempio se l'[[accumulatore (informatica)|accumulatore]] ha tutti i [[bit (informatica)|bit]] impostati a 0). Queste istruzioni consentono al programma di "saltare" a una istruzione di [[Programma (informatica)|programma]] che non sia quella immediatamente successiva a quella appena eseguita, e forniscono quindi lo strumento fondamentale sul quale sono realizzate le [[struttura di controllo|strutture di controllo]] dei [[linguaggio di programmazione|linguaggi di programmazione]].

Versione delle 17:10, 25 apr 2013

Nell'architettura dei calcolatori, il program counter (spesso abbreviato in PC e, nelle architetture prive di segmentazione, detto instruction pointer) è un registro della CPU la cui funzione è quella di conservare l'indirizzo di memoria della prossima istruzione (in linguaggio macchina) da eseguire. (Su alcune architetture il program counter conserva invece l'indirizzo dell'istruzione in via di esecuzione). Il program counter è utilizzato nel ciclo fetch-execute che costituisce la dinamica fondamentale nel funzionamento di un computer; tale ciclo è una ripetizione infinita dei seguenti passi:

  1. caricamento dell'istruzione riferita dal program counter;
  2. aggiornamento (incremento) del program counter, in modo che contenga l'indirizzo dell'istruzione successiva;
  3. esecuzione dell'istruzione caricata.

Nel normale ciclo fetch-execute, quindi, il program counter viene incrementato automaticamente. In aggiunta, tutti i linguaggi macchina forniscono una o più istruzioni che modificano esplicitamente il program counter se vale una certa condizione (per esempio se l'accumulatore ha tutti i bit impostati a 0). Queste istruzioni consentono al programma di "saltare" a una istruzione di programma che non sia quella immediatamente successiva a quella appena eseguita, e forniscono quindi lo strumento fondamentale sul quale sono realizzate le strutture di controllo dei linguaggi di programmazione.

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica