Beschreibung
Simulationen sind ein adäquates Mittel zur Entwicklung von Software und der Vorhersage der zu erwartenden Laufzeit. Für diesen Zweck gibt es eine Vielzahl unterschiedlicher Verfahren. Jedoch ist bislang nicht geklärt, inwieweit sich die Ansätze für unterschiedliche Arten von Prozessorarchitekturen im Hinblick auf die vorhergesagte Laufzeit und erreichbare Simulationsgeschwindigkeit eignen. Ein einfacher Prozessor mit einem kurzen Befehlsfließband ist womöglich leichter vorhersagbar als eine komplexe Prozessorarchitektur, die eine Instruktionsverarbeitung außer Reihenfolge ermöglicht. Diese Dissertation untersucht diesen Sachverhalt durch die Betrachtung dreier ausgewählter Simulationsarten unterschiedlicher Abstraktionsebenen, wobei diese mit steigendem Modellierungsaufwand einen geringeren Vorhersagefehler aufweisen, dafür aber langsamer werden. Dabei wurde ein Ansatz auf Basis von Instruktionslatenzen, einer auf Basis eines instruktionsgetriebenen Architekturmodells und einer auf Grundlage eines taktgetriebenen Architekturmodells gewählt. Mit diesen werden drei Prozessorarchitekturen verschiedener Komplexität vorhergesagt und die erzielte Genauigkeit in Verbindung mit der erreichten Simulationsgeschwindigkeit verglichen. Zum Anlernen der Simulatoren an die Referenzprozessoren wird zudem auf eine algorithmische Konfiguration zurückgegriffen, die auch kurz ausgewertet wird. Es konnte schließlich, auch unter Verwendung extra eingeführter Metriken, festgestellt werden, dass der Geschwindigkeitsvorteil des schnellsten, aber ungenauesten Simulationsverfahrens, den etwas erhöhten Fehler gegenüber der anderen Simulationsarten für die Vorhersage jedes betrachteten Prozessors übertrifft. Aus diesem Grund kann als Ergebnis der Untersuchung die Empfehlung für die Verwendung von Instruktionsgewichten genannt werden, bei der für die vorhergesagte Gesamtlaufzeit die Einzellaufzeiten der einzelnen ausgeführten Befehle aufsummiert werden.
Bewertungen
Es gibt noch keine Bewertungen.