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.
翻译:高质量随机数对于密码学、金融和科学模拟等诸多领域至关重要,这要求设计可靠的真随机数生成器。受限于熵源、吞吐率、可靠性和系统集成度,现有的TRNG设计难以部署在实际计算系统中以大幅加速目标应用。本研究提出一种基于自旋转移矩磁隧道结的真随机数生成电路,命名为RHS-TRNG。该电路利用STT-MTJ的随机开关特性,生成具有弹性且高速的随机比特序列。通过电路/系统协同设计,我们将RHS-TRNG作为加速组件集成到RISC-V处理器中,并由定制的随机数生成指令驱动。实验结果表明,单个RHS-TRNG单元的随机比特生成速度高达303 Mb/s,这是现有基于MTJ的TRNG中最高的。通过利用单元级并行性,可以实现更高的吞吐率。得益于采用双向开关电流和双生成单元的设计,RHS-TRNG对PVT变化也表现出强鲁棒性。此外,基于gem5模拟器的系统评估结果表明,配备RHS-TRNG的系统在加速期权定价程序时,其性能可比软件实现的随机数生成方法提升3.4至12倍。