I have seen that Intel seems to have included a new assembly function to get real random numbers obtained from hardware. The name of the instruction is RdRand, but only a small amount of details seem accessible on it on Internet: http://en.wikipedia.org/wiki/RdRand
My questions concerning this new instruction and its use in C++11 are the following:
Are the random numbers generated with
RdRandreally random? (each bit generated from uncorrelated white noise or quantum processes? )Is it a special feature of Ivy Bridge processors and will Intel continue to implement this function in the next generation of cpu?
How to use it through C++11? Maybe with
std::random_devicebut do compilers already callRdRandif the instruction is available?How to check whether
RdRandis really called when I compile a program?