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)。受限于熵源、吞吐量、可靠性和系统集成等因素,现有TRNG设计难以部署在实际计算系统中以大幅加速目标应用。本研究提出一种基于自旋转移矩磁隧道结(STT-MTJ)的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倍。