Schnirzer, H. (2026). Extending a Fast Performance Estimation Approach for Out-of-order Processors [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2026.133299
Performance Estimation; Performance Simulators; Out-of-Order; List Scheduling; Speculative Estimation; Instruction Set Simulators; RISC-V; Verilator
en
Abstract:
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.
de
An impressive amount of knowledge and ingenuity enabled us to carry devices in our pockets that can perform millions of calculations per second. Research in science and industry over the last few decades has led to many improvements in processor architecture. One improvement to better use some of the building blocks in a processor is to relax the sequential execution of instructions and allow them overtake each other in the underlying hardware. This out-of-order execution allows better hardware utilization, lets independent instructions execute in parallel, and therefore reduces the number of clock cycles needed to execute a target program.By estimating the clock cycles using an abstract processor model, we can make a faster decision on whether the architecture is suitable for our purposes. This allows us to test different configurations with minimal configuration effort. Specially designed architecture description languages provide one way to describe these abstract processor models. Examples of these languages are CoreDSL and CorePerfDSL. Previous work on CorePerfDSL has resulted in a fast, configurable performance simulator that can quickly estimate the number of clock cycles for individual stages by evaluating simple algebraic functions. This performance simulator has been shown to accurately estimate results for in-order processors.While the existing performance estimator provides accurate results for in-order processors, obtaining out-of-order performance results may require extensions or different methods. One discussed extension in this thesis is speculative estimation, which ignores inaccuracies introduced by future instructions while maintaining high simulation speed. Alternatively, a new method based on an adapted list scheduling using a data-dependency graph across the individual components of a processor architecture is proposed. The performance estimate based on adjusted list scheduling was demonstrated by comparing it with previous in-order results and simulating a simple out-of-order architecture. A prototype implementation enables comparisons in terms of accuracy and simulation time. An average CPI difference of 14% compared to an in-order approximation of a similar processor layout indicates increased accuracy. Pipeline diagrams further illustrate that out-of-order behavior can now be simulated.
en
Additional information:
Arbeit an der Bibliothek noch nicht eingelangt - Daten nicht geprüft Abweichender Titel nach Übersetzung der Verfasserin/des Verfassers