FloppyFloat: An Open Source Floating Point Library for Instruction Set Simulators
Abstract
Instruction Set Simulators (ISSs) are important software tools that facilitate the simulation of arbitrary compute systems. One of the most challenging aspects of ISS development is the modeling of Floating Point (FP) arithmetic. Despite an industry standard specifically created to avoid fragmentation, every Instruction Set Architecture (ISA) comes with an individual definition of FP arithmetic. Hence, many simulators, such as gem5 or Spike, do not use the Floating Point Unit (FPU) of the host system, but resort to soft float libraries. These libraries offer great flexibility and portability by calculating FP instructions by means of integer arithmetic. However, using tens or hundreds of integer instructions to model a single FP instruction is detrimental to the simulator's performance. Tackling the poor performance of soft float libraries, we present FloppyFloat- an open-source FP library for ISSs. FloppyFloat leverages the host FPU for basic calculations and rectifies corner cases in software. In comparison to the popular Berkeley SoftFloat, FloppyFloat achieves speedups of up to 5.5× for individual instructions. As a replacement for SoftFloat in the RISC-V golden reference simulator Spike, FloppyFloat accelerates common FP benchmarks by up to 1.41×.
Authors 3
-
Affiliation as printed
RWTH Aachen University, Institute for Communication Technologies and Embedded Systems
-
Affiliation as printed
RWTH Aachen University, Institute for Communication Technologies and Embedded Systems
-
Affiliation as printed
RWTH Aachen University, Institute for Communication Technologies and Embedded Systems
Cited by 1 stored of 1
1 result
No patents citing this paper on Lens.org (checked 2026-10-06).
References 17
-
W2147657366details pending0citations
-
W4233996382details pending0citations
-
W6631155369details pending0citations
-
W3013297713details pending0citations
-
W2105860728details pending0citations
-
W1974287813details pending0citations
-
W1997965419details pending0citations
-
W2012407419details pending0citations
-
W2204310803details pending0citations
-
W2298470160details pending0citations
-
W2931274440details pending0citations
-
W2963356946details pending0citations
-
W2989610989details pending0citations
-
W4232751114details pending0citations
-
W6644817222details pending0citations
-
W6685634674details pending0citations
17 results