Slipstream (microprocessore): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m migrazione automatica di 1 collegamenti interwiki a Wikidata, d:q3962809 |
m Corretto wikilink |
||
(3 versioni intermedie di 3 utenti non mostrate) | |||
Riga 1:
Nell'[[Architettura (computer)|architettura dei processori]] lo '''slipstream''' è una tecnica di progettazione volta a velocizzare l'esecuzione dei programmi eliminando le [[istruzione (informatica)|istruzioni]] non essenziali. È una forma di [[esecuzione speculativa]].
Le istruzioni non essenziali sono quelle istruzioni che non modificano il flusso del programma, che non modificano dati in memoria o che tornano sempre vero. Inoltre nel caso di istruzioni di salto quasi sempre uno dei due rami viene seguito in modo preponderante e quindi si può staticamente assegnare sempre vera la condizione e verificare in seguito la correttezza della condizione.
Riga 5:
Dato che la speculazione coinvolge lo splistream generalmente il processore viene visto come due componenti che valutano due flussi di istruzioni in parallelo. Uno è il flusso A, un flusso ottimizzato tramite l'eliminazione delle istruzioni inutili mentre il secondo flusso che chiameremo R è il codice completo delle istruzioni. Il flusso A sarà più rapido del flusso R e quindi incontrerà prima le situazioni di stallo, tipo gli accessi alla memoria non coperti dalla cache. Il flusso A richiederà le istruzioni o i dati mancanti e quando il flusso R arriverà allo stesso punto le istruzioni saranno già in [[CPU cache|cache]] e quindi il flusso R non sarà rallentato. In sostanza il flusso A effettuerà un'azione di [[prefetch]] nascondendo tutti i ritardi d'accesso alla memoria. Studi evidenziano un aumento delle prestazioni del 20%.
Il problema principale di questo approccio è realizzare un flusso A più veloce del flusso R ma sufficientemente accurato da accedere alle locazioni che effettivamente il flusso R utilizzerà. Inoltre il processore dovrà controllare il flusso A in modo da impedire al flusso di precedere eccessivamente il flusso R altrimenti la dimensione della cache non sarebbe sufficiente a contenere i due flussi di istruzioni.
== Bibliografia ==
* {{en}} Z. Purser, K. Sundaramoorthy and E. Rotenberg, "[http://iacoma.cs.uiuc.edu/CS497/SP4.pdf A Study of Slipstream Processors]", Proc. 33rd Ann. Int'l Symp. Microarchitecture, Monterey, CA, Dec. 2000.
{{Portale|informatica}}
[[Categoria:Microprocessore]]
[[Categoria:Instruction
|