Quote:
Originariamente inviato da Pihippo
Allora te lo dico come riesco a spiegarlo io, se non č esatto al 100%, anzi se fosse esatto al 50 % sarebbe un buon risultato, non te la prendere a male.
1)Ci sono delle unitā funzionali che non so come si chiamano. 
2) In generale queste unitā funzionali decodificano le istruzioni e pongono le istruzioni che non hanno vincoli (o che hanno vincoli che sono stati risolti)(questo perchč il risultato di una operazione č vincolata a quella che si č fatta prima opd un'altra che si deve fare) entro buffer (reservation station) che alimenta le pipeline(quindi svolgono le operazoni riservate in quel buffer tanto bellino). Dopo le pipeline vi č un'unita che utilizzando delle etichette collegate alle istruzioni ricostruisce l'ordine cronologico delle istruzioni facendo uscire dal processore i risultati delle istruzioni con l'ordine cronologico impostato dal programma. Almeno si spera che l'unitā che fa i salti (branch prediction) sia giusta, senno tutto quello che abbiamo detto non vale e viene cancellato tutto.
Ecco beno male č un qualcosa del genere. 
|
Purtroppo se una istruzione dipende da una precedente non puoi farla in parallelo...

Ormai le code sono ottimizzate da anni... Quello che puoi ottimizzare č il branch prediction...