Intel在IVB架构的第三代CPU酷睿处理器(2012年开始生产)内置了一个利用电阻热噪声取得硬件真随机数的功能。
如果打算用来作为其它伪随机数生成器的种子的时候那么就可以考虑RDSEED,不然就使用RNRAND。
简单来说:
RDRAND适用三代以后的Intel处理器及2015年以后的AMD处理器
RDSEED适用五代以后Intel处理器及AMD Zen架构以后的处理器
判断方法
CPUID.01H:ECX.RDRAND[bit 30] = 1
CPUID.(EAX=07H, ECX=0H):EBX.RDSEED[bit 18] = 1
我重新整理并把RdSeed指令和CPU是否支持RdRand/RdSeed指令的判断程序写全了
可以说比较完善,大家来进行测试
新: 我对判断程序重新写了,目前可以正常判断CPU是否支持RdRand/RdSeed这两个指令了??
可以测试下判断得是否正确,欢迎大家提问题???,回复时请说明CPU型号
RDRAND+指令