Code di istruzioni: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
FixBot (discussione | contributi)
m Bot: sistemo la sintassi del template U: aggiungo categoria e data
mNessun oggetto della modifica
Riga 1:
In [[informatica]] le '''code di istruzioni''' sono dei sistemi che aumentano le prestazioni della [[CPU]] o processore riducendo i tempi di estrazione delle istruzioni dalla [[Memoria (informatica)|memoria]].<br />
{{U|Pipeline dati|informatica|maggio 2008}}
 
Normalmente, le code di istruzioni sono interposte tra [[memoria]] e [[processore]]. Quest'ultimo, può effettuare delle operazioni di inserimento, di estrazione e di svuotamento della coda a seconda delle circostanze (in genere lo svuotamento avviene in occasione di un branch).<br />
 
In [[informatica]] le '''code di istruzioni''' sono dei sistemi che aumentano le prestazioni della [[CPU]] o processore riducendo i tempi di estrazione delle istruzioni dalla [[Memoria (informatica)|memoria]].<br />
Normalmente, le code di istruzioni sono interposte tra memoria e processore. Quest'ultimo, può effettuare delle operazioni di inserimento, di estrazione e di svuotamento della coda a seconda delle circostanze (in genere lo svuotamento avviene in occasione di un branch).<br />
Ovviamente è importante sottolineare che l'inserimento di un dato all'interno della coda è effettuabile a patto che questa non sia piena e, di conseguenza anche l'estrazione può essere effettuata a patto che la coda non sia vuota.
 
Vediamo nel seguito alcuni esempi di ''tipo'' di coda.
Esistono diversi tipi di coda:
* [[FIFO]]
* Circolari
* Parallel-in Serial-out
 
== FIFO ==
{{vedi anche|FIFO}}
Una coda di istruzione di tipo [[FIFO]] permette di prelevare, seguendo lo schema First In First Out (Primo ad entrare, primo ad uscire) i dati nell'ordine in cui sono stati inseriti. Dopo ogni prelievo dell'istruzione dalla coda, le precedenti istruzioni, vengono shiftate verso destra.
Questo tipo di coda è utilizzata dal processore [[Intel 80386]].
== Circolari ==
Le code circolari sono caratterizzate dalla presenza di due puntatori che puntano, rispettivamente all'ultimo elemento inserito nella coda e al primo che eventualmente è possibile estrarre. Ogni volta che viene inserito un elemento all'interno della coda si utilizza il puntatore all'ultimo elemento della coda e il tutto viene gestito ulizzando degli appositi algoritmi di gestione delle code circolari. Questo tipo di coda permette di risparmiare sulle operazioni di shift verso che destra che sono obbligatorie nel modello precente di coda
 
== Parallel-in Serial-out ==
Questo tipo di coda è molto utile quando è a disposizione una memoria che fornisce in una sola lettura più istruzioni che vengono memorizzate direttamente all'interno di una coda di questo tipo. In uscita vi è solo un puntatore che permette di prelevare le istruzioni in uscita.