Les unités d'exécution sont souvent pipelinées
Cet article de blog explore le pipeline des unités d'exécution dans les microarchitectures hors d'ordre. L'auteure a initialement supposé que les unités d'exécution restent occupées jusqu'à la fin de la µop, mais en utilisant la microarchitecture Firestorm (A14 et M1) comme exemple, elle démontre que deux unités d'exécution entières peuvent gérer plusieurs multiplications simultanément, chacune prenant trois cycles. En comparant des séquences d'instructions dépendantes et indépendantes, l'auteure révèle que de nombreuses combinações unité d'exécution/µop sont fortement pipelinées, permettant à une µop d'être émise tandis que l'unité traite d'autres. Cela réduit le temps d'exécution pour les instructions indépendantes de 6 cycles prévus à 4. Enfin, l'auteure explique pourquoi les tableaux de latence et de bande passante des instructions spécifient le débit réciproque : il est équivalent aux cycles/instruction.
Lire plus