Цифровой журнал «Компьютерра» № 84 (Журнал «Компьютерра») - страница 13

Принимая во внимание все эти проблемы, в 2008 году конструкторы Intel всерьёз озаботились задачей по созданию такого генератора случайных чисел, который использовал бы в своей работе исключительно цифровые элементы схемы. Поначалу задачей полного избавления генератора случайных битов от аналоговых схем занимались исследователи Circuit Research Lab в Хиллсбро, а затем к ним подключились индийские коллеги из исследовательского центра Bangalore Design Lab.

Остроумное решение, которое в итоге было найдено, с полным правом можно называть парадоксальным. С формальной точки зрения, данная конструкция нарушает важнейшее правило в конструировании цифровых схем, согласно которому схема должна находиться в хорошо определённом состоянии, давая на выходе только логические 0 и 1.

Элемент цифровой схемы может, конечно, пребывать краткие периоды времени в промежуточном состоянии переключения между двумя этими базовыми возможностями. Однако он никогда не должен оставаться балансирующим и неопределённым в том, каким путём следует двигаться дальше. Такого рода неопределённостей всегда стараются избегать, поскольку они вносят задержки в работу схемы и даже способны порождать сбои в работе системы.

Однако в конструкции нового генератора случайных чисел такое тяготение к балансированию стало не дефектом, а особенностью схемы. Можно сказать, что данная схема делает своей главной фишкой так называемый феномен «метастабильности» – обычно крайне нежелательный эффект при конструировании логических схем, использующих более одной тактовой частоты. Цифровой же генератор, созданный командой Intel, устроен таким образом, что здесь результатом метастабильности является в буквальном смысле каждый бит на выходе схемы.

Обычно выход с цифрового устройства принято брать в тот момент, когда он устоялся на определённом значении, будь это ноль или единица. А метастабильность – это то, что происходит, когда показание напряжения берётся во время перехода, так что бит пойман где-то в промежутке между нулём и единицей. В конечном счёте такой бит непременно перейдёт в одно из этих двух базовых состояний, однако нет способа предсказать, в каком именно он окажется.

Исследователи Intel умышленно стали снимать сигнал во время именно таких переходов, а кроме того, они усиливают эту случайность ещё больше, с помощью петли обратной связи настраивая метастабильность таким образом, чтобы бит падал в состояние 1 или 0 с примерно равной вероятностью. Превращая, по сути дела, данный процесс в электронный эквивалент подбрасывания монеты.