Выбрать главу

«А вот и петля – „п“ превратилась в „п“»! (П-о-о-д-д-п… кстати, «о» в четвёртой позиции слова «погода» цикла не даёт).

– Ну и что это нам даёт?

– Даёт… – воображаемый Тьюринг принимается задумчиво обкусывать траурную кайму ногтя большого пальца («хотя нет, ему ещё до этого открытия три года»). – Если представить эти три перехода, как три «Энигмы» с одинаковыми установками (лишь вторая машинка, со сдвинутым относительно первой, на одну позицию, а третья – на пять позиций), в которых в один и тот же момент должно произойти превращение: на первой «Энигме» – «п» в «о», на второй – «о» в «д», на третьей – «д» в «п».

– Да, это уже кое-что… а какой длины может быть такая петля?

– Обычно три-четыре перехода, длиннее десяти почти не встречается.

– Это означает, что неплохо бы иметь десять ядер. Многовато, конечно, но реально. Однако это никак не решает проблемы с быстродействием: все эти ядра будут работать одинаково медленно, на сложение одна секунда, на умножения – пять.

– Никаких сложений и умножений, все ядра будут выполнять только одну команду: получают символ на входе, выдают на выход тоже символ, но зашифрованный по правилам «Энигмы». Устройство управления получает от работающих ядер результат и сравнивает с искомым. При совпадении печатающее устройство выдаёт текущее положение роторов.

– И всё-таки, что там со скоростью?

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

– Тридцать часов…

– Если поставить тридцать таких кластеров, то время сократится до одного часа.

– Давайте сравним железо одной такой десятиядерной установки и стандартной РВМ.

«Сам посчитаю. И вообще, откуда взялись эти голоса»?

Тыльной стороной ладони стираю крупные капли пота, стекающие по лбу и вискам.

«Похоже на жар… как не вовремя, настали такие горячие денёчки. Плохо. А почему, собственно, плохо? Я что старик? Мне что уже сорок лет? Ведь не старый ещё. Организм борется с хворью, надо просто ему помочь».

В два прыжка оказываюсь у двери лаборатории, минуя вешалку с шинелью, распахиваю её… свежий ветерок приятно холодит разгорячённое тело. Быстрым шагом иду по утоптанной, плохо освещённой двумя фонарями, дорожке, ведущей к столовой: туда и обратно – двести метров.

«Надо будет заасфальтировать тропинки и найти место для гимнастических снарядов.

Стоп, вернёмся к нашим баранам, так во что выливается один такой десятиядерный процессор»?

Прежде всего, длина слова моего «сипию» всего лишь пять бит (а не двадцать два, как в РВМ-1), так как работать он будет с двадцатью шестью буквами латинского алфавита (двойка в степени пять даст тридцать два возможных символа). Кроме того, нет необходимости хранить в оперативной памяти прошивку всех пяти роторов, она неизменна, поэтому поместим её в небольшое постоянное запоминающее устройство (5 роторов х 26 букв на каждом роторе х 5 бит = 650 бит + 26 х 5 бит для рефлектора, итого меньше килобайта – сущие пустяки из кусочков проводов).

«А что у нас будет сидеть в ОЗУ»?

Три пятибитных указателя (по числу активных роторов), показывающие их смещение относительно исходного положения (провернулся ротор на одну позицию – плюс единица к указателю, если позиция последняя, то указатель обнуляется), пятнадцатибитный счётчик циклов (по нему определяем ключевые установки роторов), и регистр для хранения промежуточного символа (в нём же останется и конечный символ). Получается тридцать пять реле, добавляем ещё пятнадцать на управление, синхронизацию и организацию шины данных, получим – пятьдесят реле на ядро, пятьсот реле – на «бомбу», пять тысяч – на кластер из десяти «бомб». На устройство управления «бомбой» пойдёт немного, до сотни реле, а в кластере «бомбы» электрически не связаны.

«По божески получилось, такой кластер максимум за три часа сможет взломать любой шифр „Энигмы“, а по количеству реле в нём соизмерим с РВМ (в РВМ-1 четыре тысячи реле)! Как тебе такое, Илон Маск»?