Ausführungseinheiten sind oft Pipelined
Dieser Blogbeitrag untersucht das Pipelining von Ausführungseinheiten in außer-Ordnung-Mikroarchitekturen. Die Autorin ging zunächst davon aus, dass Ausführungseinheiten bis zum Abschluss der µop belegt bleiben, zeigt aber am Beispiel der Firestorm-Mikroarchitektur (A14 und M1), dass zwei ganzzahlige Ausführungseinheiten mehrere Multiplikationen gleichzeitig verarbeiten können, wobei jede drei Zyklen benötigt. Durch den Vergleich von abhängigen und unabhängigen Instruktionssequenzen zeigt die Autorin, dass viele Kombinationen aus Ausführungseinheit und µop stark gepipelined sind, sodass eine µop ausgegeben werden kann, während die Einheit andere verarbeitet. Dies reduziert die Ausführungszeit für unabhängige Instruktionen von vorhergesagten 6 Zyklen auf 4. Schließlich erklärt die Autorin, warum Tabellen für Instruktionslatenz und -bandbreite den reziproken Durchsatz angeben – er entspricht den Zyklen/Instruktion.