Schloms, D. (2025). Fast simulation and performance estimation for vector co-processors [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2025.131180
Instruction Set Simulators; RISC-V; Performance Estimation; Vector Co-Processors; Vector Processing Units
en
Abstract:
Applikationsspezifische Prozessoren haben verschiedenste Anforderungen an Größe, Effizienz, Geschwindigkeit, Features, etc. Um Hardware für einen speziellen Bereich zu entwickeln, wird der Prozess der Design Space Exploration (DSE) verwendet, um schnell verschiedene Entwicklungsentscheidungen auszutesten und gewünschte Eigenschaften zu erfüllen. RISC-V ist eine Befehlssatzarchitektur, dessen modularer Aufbau mit verschiedenen Erweiterungen und Konfigurationen für diesen Zweck gut geeignet ist, es existiert jedoch Verbesserungspotential im Bereich der Software für die Entwicklung. Es fehlen Tools zwischen funktionalen Befehlssatzsimulatoren (in Folge Instruction Set Simulator (ISS)), welche zwar schnell sind, jedoch keine Auskunft über die Performanz der Hardware geben, und Hardwaresimulatoren, die sowohl Verhalten, als auch notwendige Taktzyklen wiedergeben, aber dafür langsam simulieren und eine detaillierte Hardwarebeschreibung benötigen. Für funktionale ISSs gibt es Methoden, die eine Abschätzung von Taktzyklen ermöglichen, und in dieser Arbeit wird der Ansatz untersucht, Instruktionen mit zusätzlichen Informationen zu versehen, um gleichzeitig die Funktionalität, sowie das zeitliche Verhalten mithilfe eines vereinfachten Prozessormodells zu simulieren. ETISS ist ein ISS, für welchen dieser Ansatz bereits erfolgreich für skalare Prozessorkerne eingesetzt wurde. Dabei wurde CorePerfDSL verwendet, eine Sprache, die dazu dient, das zeitliche Verhalten eines Prozessorskerns zu modellieren. Nun gibt es jedoch viele Programme, welche von Single Instruction, Multiple Data (SIMD) Instruktionen profitieren können, z.B. im Bereich des maschinellen Lernens, somit wäre die Abschätzung der Performanz von Vektor Co-Prozessoren ein logischer nächster Schritt. Daher wurde für diese Arbeit ein CorePerfDSL Modell eines skalaren RISC-V CV32E40P Kerns mit einer Vektoreinheit implementiert. Anschließend wurden sowohl Simulationsgeschwindigkeiten, als auch die Güte der Schätzung der Taktzyklen untersucht, indem resultierenden Werte mit einem anderen gängigen funktionalen ISS, sowie einer vollen Hardwaresimulation verglichen wurden. Es wurde gezeigt, dass es mithilfe von ETISS und CorePerfDSL (mit Änderungen) möglich ist, SIMD Instruktionen schnell zu simulieren und deren zeitliches Verhalten mit geringem Fehler zu schätzen.
de
Application-specific processors have vastly different requirements regarding area, efficiency, speed, and features, among other properties. To develop hardware that is tailored for specific purposes, a process called Design Space Exploration (DSE) is used to examine different design decisions and satisfy those particular demands. RISC-V is an instruction set architecture whose modular concept with different extensions and architectural configurations lends itself well for that purpose, however, there are still potential improvements to be made for tools used in the development process. A gap has been identified between behavioral-only Instruction Set Simulator (ISS), which are fast, but do not consider any hardware timing information, and full Register-Transfer Level (RTL) simulators, which require a detailed hardware implementation and are quite slow. There are some techniques for behavioral ISS that enable cycle-approximate timing estimations, with this thesis focussing on annotating instructions with additional information to simulate both behavior and a simplified timing model of a processor core in parallel. ETISS is an ISS for which this approach has been successfully used for single scalar cores by using CorePerfDSL, a language designed to model the timing behavior of a core. However, as many applications can greatly benefit from Single Instruction, Multiple Data (SIMD) instructions, such as machine learning tasks, estimating performance of vector co-processors would be a logical next step. Hence, for this thesis, a CorePerfDSL model for a scalar RISC-V CV32E40P scalar core with a Vector Processing Unit (VPU) has been implemented, and simulation results with regard to speed and accuracy were compared with a popular behavioral-only ISS and an RTL simulator. It was shown that, with some adaptations, performance estimation for SIMD instructions can be done in a fast and accurate manner using ETISS and CorePerfDSL.
en
Additional information:
Abweichender Titel nach Übersetzung der Verfasserin/des Verfassers