Я видел, что Intel, похоже, включила новую функцию сборки для получения реальных случайных чисел, полученных с аппаратного обеспечения. Имя инструкции RdRand
, но в Интернете доступно только небольшое количество деталей: http://en.wikipedia.org/wiki/RdRand
Мои вопросы относительно этой новой инструкции и ее использования в С++ 11 следующие:
-
Являются ли случайные числа с
RdRand
действительно случайными? (каждый бит генерируется из некоррелированного белого шума или квантовых процессов?) -
Является ли это особенностью процессоров Ivy Bridge и Intel продолжит реализацию этой функции в следующем поколении процессора?
-
Как использовать его через С++ 11? Может быть, с
std::random_device
, но компиляторы уже звонятRdRand
, если инструкция доступна? -
Как проверить, действительно ли
RdRand
вызывается при компиляции программы?