Eine beeindruckende Menge an Erkenntnissen und Einfallsreichtum hat dazu beigetragen, dass Geräte in unseren Hostentaschen möglich wurden, die Millionen von Berechnungen pro Sekunde durchführen können. Forschung in Wissenschaft und Industrie in den letzten Jahrzehnten hat zu zahlreichen Verbesserungen der Prozessorarchitektur geführt. Eine dieser Verbesserungen ist die out-of-order-Ausführung von Befehlen. Diese kann zur besseren Auslastung der verfügbaren Hardware führen, die parallele Ausführung von Befehlen ermöglichen und damit zur Reduzierung der benötigten Taktzyklen eines ausführenden Programms beitragen.Durch die Abschätzung von Clock-Zyklen auf einem abstrakten Prozessormodell können wir schneller beurteilen, ob die gewählte Architektur unseren Zwecken entspricht. Wir können dabei mit reduziertem Aufwand unterschiedliche Konfigurationen evaluieren. Eine Möglichkeit zur Beschreibung dieser abstrakten Prozessormodelle bieten dabei eigens dafür vorgesehene Architekturbeschreibungssprachen. Beispiele für diese Sprachen sind CoreDSL und CorePerfDSL. Vorhergehende Arbeit an CorePerfDSL hat zu einem konfigurierbaren Performance-Simulator geführt, der durch die Berechnung einfacher mathematischer Funktionen schnell Abschätzungen der Taktzyklen einzelner Pipelinestages liefert. Für diesen Performance-Simulator wurde bereits gezeigt, dass Performance-Abschätzungen für In-Order-Prozessoren mit hoher Genauigkeit durchgeführt werden können.Obwohl bereits gezeigt wurde, dass der bestehende Performance-Simulator für In-Order-Prozessoren genaue Ergebnisse liefern kann, sind für die Ermittlung von Ergebnissen bei Out-of-Order-Prozessoren Erweiterungen oder ein neuer Ansatz notwendig. Eine in dieser Arbeit behandelte Erweiterung ist die spekulative Abschätzung. Bei dieser werden die durch zukünftige Befehle verursachten Ungenauigkeiten ignoriert und die hohe Geschwindigkeit der bestehenden Performanzabschätzung beibehalten. Alternativ wird eine neue Methode vorgeschlagen, die auf einem angepassten List-Scheduling basiert. Dieses angepasste List-Scheduling wurde durch einen Vergleich mit den bisherigen In-Order-Ergebnissen sowie mithilfe einer einfachen Out-of-Order-Architektur demonstriert. Eine Prototyp-Implementierung ermöglicht einen Vergleich hinsichtlich der Genauigkeit und der Simulationszeit. Eine durchschnittliche CPI-Differenz von 14% im Vergleich zu Ergebnissen des gleichen Prozessorslayouts mit In-Order-Verhalten zeigt eine bessere Genauigkeit. Zusätzlich veranschaulichen Pipeline-Diagramme, dass das Out-of-Order-Verhalten nun simuliert werden kann.
Harald Schnirzer (Sun,) studied this question.