Z3 — первая полнофункциональная программно управляемая и свободно программируемая в двоичном коде с плавающей точкой рабочая вычислительная машина[1], обладающая всеми свойствами современного компьютера. Создана немецким инженером Конрадом Цузе и представлена вниманию научной общественности 12 мая1941 года. Сегодня многие считают его первым реально действовавшим программируемым компьютером, хотя главным отличием от первой машины Цузе Z1 (1938) была возможность вычисления квадратного корня.[2]
Машина представляла собой двоичный вычислитель с ограниченной программируемостью, выполненный на основе телефонныхреле. На таких же реле было реализовано и устройство хранения данных. Их общее количество составляло около 2200. Порядок вычислений можно было выбрать заранее, однако условные переходы и циклы отсутствовали. Тактовая частота Z3 составляла 5,33 Гц.[1]
Z3 была создана Цузе на основе его первых вычислителей Z1 и Z2. В свою очередь, она послужила основой создания более совершенного компьютера Z4.
В 1942 году вместе с австрийским инженером-электриком Хельмутом Шрайером Цузе предложил создать на базе Z3 компьютер нового типа, заменив телефонные реле вакуумными электронными лампами, что должно было сильно повысить надёжность и быстродействие машины. Предполагалось, что новый компьютер можно будет использовать для криптографии и расшифровки закодированных сообщений. Однако в связи с запретом на долговременные научные разработки в годы войны предложение инженеров отклонили.[3]
Через некоторое время в других странах также появились первые вычислительные машины. Это были компьютеры «Марк I», «Колосс» и «ЭНИАК». В то же время оригинальная машина Конрада Цузе занимала значительно меньше места и стоила гораздо дешевле, чем созданный двумя годами позже американский компьютер «Марк I».
Первый проект программируемой вычислительной машины был создан в середине 1800-х годовЧарльзом Бэббиджем. В то время он не мог быть реализован, одной из причин чего была десятичность машины и гораздо более высокая сложность, чем у двоичного Z3. Хотя когда в 1991 году на основе оригинальных работ Бэббиджа была создана реконструкция его Разностной машины, она оказалась вполне работоспособной. Знакомая Бэббиджа Ада Лавлейс была первым теоретическим программистом, пишущей программы для несуществующей машины. Конрад Цузе стал первым программистом-практиком.
Американский компьютер «ЭНИАК» был создан на 4 года позже Z3. Схема «Эниак» была основана на вакуумных электронных лампах, в то время как Z3 использовал электромеханические реле. Тем не менее «Эниак» был десятичной машиной, а Z3 — уже двоичной.[4] До 1948 года для перепрограммирования «ЭНИАК» фактически нужно было перекоммутировать заново, в то время как Z3 умел считывать программы с перфорированной ленты. В основе современных компьютеров лежат транзисторные схемы, а не релейные или ламповые переключатели, как на Z3 и «ЭНИАК», однако их базовая архитектура гораздо больше походит на архитектуру первого.
Для хранения программ для Z3 использовалась внешняя перфорированная лента. «Манчестерское дитя» (англ.The Manchester Baby) 1948 года и EDSAC1949 года были первыми компьютерами с внутренним хранением программ, реализующими концепцию, часто приписываемую Джону фон Нейману и его коллегам, изложившим её в документе 1945 года. Патентная заявка Конрада Цузе, несмотря на то, что сам патент был отклонён, упоминала о похожей концепции почти на 10 лет раньше, в 1936 году.
Z3 и универсальная машина Тьюринга
Реализация циклов на Z3 была возможна, однако возможности создания условных переходов не существовало. Тем не менее, в 1998 году было показано, что этот компьютер всё-таки может воспроизвести поведение универсальной машины Тьюринга (правда, при допущении неограниченного объёма хранящихся данных и нулевой вероятности ошибок). Это непрактично, но и сама машина Тьюринга является весьма непрактичным устройством, придуманным только для демонстрации теоретических идей простоты и универсальности, а не эффективности.
С прагматической точки зрения гораздо более важно то, что Z3 имел довольно практичный набор инструкций, удобных для типичных технических приложений 1940-х годов. Конрад Цузе прежде всего был гражданским инженером и начал создавать компьютеры для облегчения своей профессиональной деятельности. Именно поэтому его машины так похожи на выпускаемые сегодня компьютеры.
↑ The Z3 (англ.) Описание компьютера Z3 на сайте Хорнста Цузе в Берлинском техническом университете
Konrad Zuse’s Legacy: The Architecture of the Z1 and Z3
↑Знакомьтесь: компьютер = Understanding computers : Computer basics : Input/Output / Пер. с англ. К. Г. Батаева; Под ред. и с пред. В. М. Курочкина. — М.: Мир, 1989. — 240 с. — ISBN 5-030-01147-1.
↑О. Вудз, Д. Вудз, Д. Фурлонг, С. Фурлонг, С. Е. Е. Роу и др. Язык компьютера = Understanding computers : Software : Computer Languages / Пер. с англ. С. Е. Морковина и В. М. Ходукина; Под ред. и с пред. В. М. Курочкина. — М.: Мир, 1989. — 240 с. — ISBN 5-030-01148-X.
Ссылки
Horst Zuse. The Life and Work of Konrad Zuse — Konrad Zuse’s Z1 and Z3 Computers
Raúl Rojas. How to Make Zuse’s Z3 a Universal Computer