Fast Simulation and Performance Estimation for Vector Co-Processors

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.

Authors

Institutions

Publication Details

Journal
reposiTUm (TU Wien)
Published
2025-12-01
DOI
https://doi.org/10.34726/hss.2025.131180
Primary Topic
Embedded Systems Design Techniques
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Fast Simulation and Performance Estimation for Vector Co-Processors

Daniel Schloms
reposiTUm (TU Wien)
Embedded Systems Design Techniques
article

Fast Simulation and Performance Estimation for Vector Co-Processors

Daniel Schloms
article 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.

reposiTUm (TU Wien)
TU Wien (AT)
Openalex Percentile: Top 27%
Embedded Systems Design Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.