Compilateurs
Quelle définition du pipeline logiciel (software pipelining) est correcte ?
- AUne technique augmentant par logiciel le nombre d'étages du pipeline du CPU
- BUne technique répartissant la boucle en fonctions exécutées en parallèle par plusieurs threads
- CUne technique superposant les traitements d'itérations différentes pour masquer les temps d'attente
Afficher la réponse et l'explication
Réponse : C. Une technique superposant les traitements d'itérations différentes pour masquer les temps d'attente
Le pipeline logiciel découpe le traitement d'une itération en étapes comme « chargement, calcul, écriture » et dispose les instructions de sorte qu'une même itération du code effectue par exemple l'écriture de l'itération i, le calcul de l'itération i+1 et le chargement de l'itération i+2. Les calculs d'autres itérations progressent pendant les latences de chargement, et les unités de calcul ne restent pas inactives. Un prologue et un épilogue sont nécessaires avant et après la boucle. Ce n'est ni une modification du nombre d'étages du CPU ni une parallélisation par threads.