Для ускорения расшифровки сообщений Томми Флауэрс совместно с отделением Макса Ньюмана в 1943 году спроектировали принципиально новую дешифровальную машину, которая получила название «Colossus», и уже в начале 1944 года сравнительно быстрая автоматизированная расшифровка перехваченных сообщений велась полным ходом.
На момент начала проектирования «Colossus» в архиве команды Макса Ньюмана уже имелась автоматизированная оптомеханическая система «Heath Robinson», которая позволяла частично вычислять ключ шифрования системы «Lorenz SZ». Однако, использовать имеющиеся наработки полноценно оказалось невозможным из-за ряда недостатков. Одна из серьезных проблем «Heath Robinson» была сложность синхронизации двух перфолент входных данных, из-за которой машина часто давала сбои в процессе работы и имела низкую скорость считывания (до 1000 знаков в секунду).
Томми Флауэрс начал проектировать «Colossus» с «чистого листа». Несмотря на распространенное среди его коллег негативное отношение к электронным лампам, он решил перенести весь процесс моделирования работы шифра на ламповые схемы. Подверглись значительным изменениям, по сравнению с «Heath Robinson», элементарные ламповые комбинации, такие как сложение по модулю 2, запоминающие регистры и пр.
Благодаря этому количество входных лент сократилось до одной, проблема синхронизации исчезла, а скорость считывания повысилась до 5000 знаков в секунду. К тому же, по сравнению с «Heath Robinson», новая машина работала намного стабильнее. Полученная схема состояла из 1500 электронных ламп и позволяла расшифровывать сообщения за 2–3 часа.
Вскоре к команде Ньюмана и Флауэрса присоединился Аллен Кумбс (позже возглавивший проект после ухода Флауэрса), и уже летом 1944 года была представлена новая версия «Colossus II», состоящая уже из 2500 электронных ламп, и работающая в 5 раз быстрее своего предшественника. Отличительной ее особенностью являлась возможность программирования.
Это была уже программируемая машина, которая выполняла арифметические и логические операции над двоичными числами. Она была оборудована считывателем с перфоленты и электрической печатной машинкой. С помощью этих ЭВМ удалось резко ускорить математические операции по дешифровке немецких радиограмм высшего немецкого руководства, переданных шифромашинами «Энигма».
Также в рассекреченном документе содержалось описание и машины «Colossus II», существенно модифицированной версии ЭВМ, которая начала работу в первых числах июня 1944 года. Характеристики именно этой модели позволили некоторым экспертам утверждать, что общепринятая история компьютеров нуждалась в серьезной коррекции. Эти ЭВМ ежемесячно обеспечивали дешифровку около 300 шифротелеграмм командования вермахта. Именно с их помощью удалось «взломать» шифр даже таких сложных немецких шифровальных машин, как «Geheimschreiber» и «Schlusselzusatz».
«Colossus II» «обладал функциональностью, достигнутой в значительно более поздней машине «ENIAC», и имел несравнимо более значительную производительность в обработке данных». Так сказал 76-летний профессор Эдинбургского университета Дональд Мичи, ветеран-криптолог и один из авторов рассекреченного отчёта ШКПС, подготовленного в 1945 году сразу после победы над Германией.
По словам Мичи, которому наконец было разрешено поделиться воспоминаниями о своей сверхсекретной работе в годы войны, «возможно, кто-то будет поражён, узнав, что ко дню победы Британия уже имела машинный парк с 10 высокоскоростными электронными компьютерами, которые работали круглосуточно в трёхсменном режиме».
Правда, в британской истории был другой чрезвычайно поражающий компьютерный предок — разработанная около 150 лет тому назад вычислительная машина Чарльза Бэбиджа (Charles Babbage). Одно время недостроенная, она была восстановена лондонским Музеем науки в соответствии с чертежами конструктора. Вычислительная машина Бэбиджа, которая была названа «Разностная машина № 2» (англ. Difference Engine) и весила три тонны, продемонстрировала публике безукоризненную работу. Таким образом, если бы финансовые дела Бэбиджа «пошли вверх», человечество могло вступить в компьютерную эру на 100 лет раньше.
13.2. Немецкий «Z»
Интересно, что в Германии к созданию ЭВМ приступили задолго до Второй Мировой войны, но это было связано с инициативой энтузиаста-одиночки. Ещё в 1934 году 23-летний студент Высшей технической школы Конрад Цузе (Konrad Zuse) (1910-95) придумал новое устройство, архитектура и принципы работы которого в целом совпадали с современными цифровыми компьютерами. Это устройство имело (тогда ещё теоретически) управляющий блок, вычислитель (объединяющий арифметические и логические операции, то есть процессор) и память.
Именно Конрад Цузе первым понял, что основой компьютерной обработки данных должен быть двоичный знак «бит» (он назвал его «да/нет статус»). Это значило, что любые вычисления можно делать, основываясь на элементах, имевших два физических состояния (замкнутый и разомкнутый). Цузе также ввёл понятие условных суждений для формул двоичной алгебры и придумал «машинное слово».
В 1935 году Цузе получил диплом и начал трудиться в авиастроительной фирме «Heinkel Flugzeugwerke», где занимался аэродинамическими расчётами. Они требовали большого объёма вычислений, тогда как помочь в этом могли только механические арифмометры, выполняющие лишь арифметические операции. Всё это стимулировало продолжение «компьютерного проекта» вчерашнего студента. Он решил самостоятельно изготовить программируемое устройство, которое работало с двоичными числами и в котором блок управления и процессор были отделены от блока памяти.
Цузе ушёл с «Хенкеля» и полностью посвятил себя созданию нового вычислительного прибора. В 1936 году им было сделано и запатентовано механическое запоминающее устройство, основанное на двоичных элементах (подвижных металлических планках). В том же году в небольшой комнате квартиры своих родителей Цузе начал строить свой первый компьютер «V-1» (нем. Versuchsmodell — опытная модель), позже названный «Z1» — в честь конструктора.
В 1938 году «Z1» был готов. Но этот экспериментальный или демонстрационный образец не был способен решать серьезные практические задачи из-за небольшого объёма памяти и ненадёжного механического процессора. Несмотря на всё свое несовершенство, «Z1» позволил Цузе получить должность и поддержку в Германском авиационно-исследовательском институте. Используя ту же память, Конрад к апрелю 1939 года построил следующую модель компьютера «Z2», имевшую процессор на электромеханических телефонных реле (пришлось купить у телефонных компаний 600 списанных реле)
После этого успеха конструктора на год призвали в армию. Отслужив, он вернулся в институт. В то время реле были доступны Цузе в большом количестве, и он решил собрать из них серьёзную машину, с той же архитектурой, что и «Z1». Эта машина — «Z3» — была официально «сдана» 5 декабря 1941 года, и автор получил на неё патент.
«Z3» был первым универсальным свободно программируемым цифровым компьютером с идеологией, используемой и поныне. Тактовая частота составляла приблизительно 5,3 Гц. Программа набивалась на перфоленте, представлявшей собой киноплёнку, с использованием девяти 8-битных команд (введение, выведение, чтение из памяти, запись в память, квадратный корень и четыре арифметических операции).
На изготовление «Z3» пошло около 2600 реле, в том числе 1800 на память и 600 на процессор. Она выполняла 3–4 операции добавления в секунду и множила два числа за 4–5 секунд, потребляя при этом мощность приблизительно 4 кВт. По тем временам она (как и все машины Цузе) могла считаться портативной: весила около тонны, её размеры были в десятки раз меньше английских и американских аналогов. Следует отметить, что Цузе не применял в своих машинах вакуумные лампы лишь из-за недостатка свободного места и недостаточного финансирования.
Из-за небольшого объёма памяти на «Z3» однако нельзя было решать, в частности, системы линейных уравнений, а институту это было нужно (ведь шла война и объём работ существенно вырос, а сроки их выполнения, напротив, уменьшились), и Цузе решил создать более мощный компьютер. Прекрасно понимая, что главное — это большой объём оперативной памяти, он решил, что она должна иметь ёмкость хотя бы 1024 бита. Предусматривалось, что новый компьютер будет оснащён двумя перфораторами и шестью счётчиками перфоленты (в том числе для подпрограмм), а также автоматическим печатающим устройством.
К сожалению, руководство нацистской Германии не финансировало долгосрочные научные разработки. Вот почему «Z4» удалось запустить лишь под самый конец войны (на то время при бомбардировке был разрушен «Z3»). К тому же Цузе сумел построить несколько меньших специализированных компьютеров, применявшихся для расчётов разных параметров реактивных самолетов и ракет (для определения траекторий полёта ракет, для математического моделирования их систем управления и т. п.)
Из-за сложной военной обстановки «Z4» приходилось перевозить с места на место. 28 апреля 1945 года в подземном сооружении в горах Гарца Цузе продемонстрировал его ведущим немецким аэродинамикам. В конечном итоге «Z4» удалось спасти только благодаря сотрудникам Вернера фон Брауна, спрятавшим его в сарае в одном из альпийских сёл так, что американцы его не нашли.
«Z4» имел процессор из 2200 реле, механическую память из 64 32-разрядных слов (планировалась память на 500 слов), два устройства для перфорации/считывания перфоленты, десятичную клавиатуру, устройство выведения в виде электрической печатной машинки «Mercedes». Он работал на частоте 30 Гц, а весил и потреблял энергии приблизительно как «Z3». Фактически это был персональный компьютер, потому что его обслуживание было простым и, главное, он легко программировался одним человеком. Для программирования «Z4» на решение типичной задачи требовалось около трёх часов.
«Z4» намного пережил страну, для которой был создан, — претерпев после войны несколько незначительных модификаций, в 1950 году он был установлен в Высшей технической школе в Цюрихе, где проработал почти без перерывов в течение 5 лет над полностью реальными проектами (это был один из двух компьютеров, которые работали тогда в Европе, второй была советская «МЭСМ» Сергея Лебедева). Потом он был перевезён во Францию, где работал ещё приблизительно столько же. В настоящее время «Z4» можно увидеть в Мюнхенском музее «Deutsche Museum».