Mihaylov, H. (2023). Optimised processor simulation with VADL [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2023.102629
E194 - Institut für Information Systems Engineering
-
Date (published):
2023
-
Number of Pages:
59
-
Keywords:
Processor Description Language; Instruction Set Simulation
en
Abstract:
Simulatoren sind digitale Werkzeuge, die häufig bei der Entwicklung und Erprobung neuer Computer Architekturen und Plattformen eingesetzt werden. Das Erstellen und Testen neuer Designs in Software ist viel schneller als die Herstellung physischer Chips. Dafür gibt es allerdings Leistungseinbußen, die durch die Ausführung in Software entstehen. Daher ist die Leistung der Simulatoren äußerst wichtig für die Ingenieure, die dann mit den neuen Computersystemen arbeiten. Weiters verringert die Senkung der Iterationskosten die Gesamtkosten und die Zeit bis zur Marktreife für neue Entwürfe.Die Vienna Architecture Description Language (VADL) ist eine Prozessorbeschreibungssprache (PDL). Sie ermöglicht es Ingenieuren einen abstrakten Prozessor mit den folgenden Komponenten zu beschreiben: Anwendungsbinäre Schnittstelle (ABI), Mikroarchitektur (MiA), Mikroprocessor (MP), Instruction Set (IS) und Assembly Description (AD). Die VADL-Implementierung verwendet diese Beschreibungen zur Generierung von retargier- baren C++-Simulatoren, Compilern, Assemblierern und Linkern.Diese Arbeit verbessert die folgenden Eigenschaften der VADL-Implementierung:1. Unterstützung für Instruction Set Simulation (ISS)2. Unterstützung für MP-Verhaltensbeschreibung3. Unterstützung für User Mode Emulation (UME) Beschreibung4. Leistungsoptimierungen, von denen die wichtigste Direct Threaded Code (DTC) ist5. Co-Simulationsverifizierung von VADL-Simulatoren mit nativer Hardware und Goldstandard-Simulatoren.Schließlich wird Benchmarking zwischen den Basissimulatoren, den optimierten Simulatoren und Industriestandard-Simulatoren durchgeführt.
de
Simulators are tools commonly used in the design and testing of new computer architectures and platforms. Creating and trying out new designs in software is much quicker than making physical chips. The downside is the performance penalty due to the execution happening in software. Therefore, the performance of simulators is of crucial importance to the engineers working on new computer systems. Decreasing the cost of iteration decreases overall costs and time-to-market for new designs.The Vienna Architecture Description Language (VADL) is a Processor Description Language (PDL). It allows engineers to describe an abstract processor with the following components: Application Binary Interface (ABI), Micro Architecture (MiA), Micro Processor (MP), Instruction Set (IS), and Assembly Description (AD). The VADL implementation uses these descriptions to generate retargetable C++ simulators, compiler, assembler, and linker.This work improves the following features of the VADL implementation:1. Support for Instruction Set Simulation (ISS)2. Support for MP behavior description3. Support for User Mode Emulation (UME) description4. Performance optimizations, the most prominent of which is Direct Threaded Code (DTC)5. Co-simulation verification of VADL simulators with native hardware and gold standard simulators. Finally, benchmarks are performed between the baseline simulators, optimized simulators, and industry-standard simulators.