Skip to main navigation Skip to search Skip to main content

Fast Interpreter-Based Instruction Set Simulation for Virtual Prototypes

Research output: Chapter in Book/Report/Conference proceedingConference proceedingspeer-review

Abstract

The Instruction Set Simulators (ISSs) used in Virtual Prototypes (VPs) are typically implemented as interpreters with the goal to be easy to understand, and fast to adapt and extend. However, the performance of instruction interpretation is very limited and the ever-increasing complexity of Hardware (HW) poses an increasing challenge to this approach. In this paper, we present optimization techniques for interpreter-based ISSs that significantly boost performance while preserving comprehensibility and adaptability. We consider the RISC-V ISS of an existing, SystemC-based open-source VP with extensive capabilities such as running Linux and interactive graphical applications. The optimization techniques feature a Dynamic Basic Block Cache (DBBCache) to accelerate ISS instruction processing and a Load/Store Cache (LSCache) to speed up ISS load and store operations to and from memory. In our evaluation, we consider 12 Linux-based benchmark workloads and compare our optimizations to the original VP as well as to the very efficient official RISC-V reference simulator Spike maintained by RISC-V International. Overall, we achieve up to 406.97 Million Instructions per Second (MIPS) and a significant average performance increase, by a factor of 8.98 over the original VP and 1.65 over the Spike simulator. To showcase the retention of both comprehensibility and adaptability, we implement support for RISC-V half-precision floating-point extension (Zfh) in both the original and the optimized VP. A comparison of these implementations reveals no significant differences, ensuring that the stated qualities remain unaffected. The optimized VP including Zfh is available as open-source on GitHub.
Original languageEnglish
Title of host publicationDesign, Automation and Test in Europe (DATE) 2025
PublisherIEEE Xplore
Number of pages7
Edition1
ISBN (Electronic)9783982674100
DOIs
Publication statusPublished - 2025

Publication series

NameProceedings -Design, Automation and Test in Europe, DATE
ISSN (Print)1530-1591

Fields of science

  • 102 Computer Sciences
  • 202028 Microelectronics
  • 102011 Formal languages
  • 202017 Embedded systems
  • 102005 Computer aided design (CAD)
  • 202041 Computer engineering
  • 202005 Computer architecture

JKU Focus areas

  • Digital Transformation

Cite this