  High-quality random numbers are very critical to many fields such as
cryptography, finance, and scientific simulation, which calls for the design of
reliable true random number generators (TRNGs). Limited by entropy source,
throughput, reliability, and system integration, existing TRNG designs are
difficult to be deployed in real computing systems to greatly accelerate target
applications. This study proposes a TRNG circuit named RHS-TRNG based on
spin-transfer torque magnetic tunnel junction (STT-MTJ). RHS-TRNG generates
resilient and high-speed random bit sequences exploiting the stochastic
switching characteristics of STT-MTJ. By circuit/system co-design, we integrate
RHS-TRNG into a RISC-V processor as an acceleration component, which is driven
by customized random number generation instructions. Our experimental results
show that a single cell of RHS-TRNG has a random bit generation speed of up to
303 Mb/s, which is the highest among existing MTJ-based TRNGs. Higher
throughput can be achieved by exploiting cell-level parallelism. RHS-TRNG also
shows strong resilience against PVT variations thanks to our designs using
bidirectional switching currents and dual generator units. In addition, our
system evaluation results using gem5 simulator suggest that the system equipped
with RHS-TRNG can achieve 3.4-12x higher performance in speeding up option
pricing programs than software implementations of random number generation.
