Z3
Z3 | |
---|---|
Тип | электромеханический компьютер |
Дата выпуска | 1940 |
Выпускался по | 1945 |
Процессор | Арифметическое устройство: с плавающей запятой, 22 бита, , −, ×, /, квадратный корень |
Оперативная память | 64 слова с длиной в 22 бита |
Предшественник | Z2 |
Наследник | Z4 |
Медиафайлы на Викискладе |
Z3 — первая работоспособная полнофункциональная программно управляемая и свободно программируемая вычислительная машина[1], обладающая возможностью вычислений в двоичном коде с плавающей запятой и всеми свойствами современного компьютера. Создана немецким инженером Конрадом Цузе и представлена вниманию научной общественности 12 мая 1941 года. Сегодня многие считают его первым реально действовавшим программируемым компьютером, хотя главным отличием от первой машины Цузе Z1 (1938) была возможность вычисления квадратного корня[2]. Поскольку к моменту создания данного прототипа его инженер-конструктор уже состоял на военной службе нацистской Германии, изобретение с момента начала проектирования являлось имперской собственностью и в дальнейшем использовалось компанией Henschel-Werke AG, — подрядчиком научно-исследовательских заказов Люфтваффе и официальным местом трудоустройства изобретателя, — для расчёта вибрационных характеристик крыльев и оперения в проектируемых военных летательных аппаратах[3].
История
[править | править код]Z3 была создана Цузе на основе его первых вычислителей Z1 и Z2. Изначально военным властям не было никакого дела до разработок Цузе, когда его первый раз мобилизовали на службу в Вермахт в 1939 году, он сослался на нецелесообразность прохождения службы рядовым пехотинцем ввиду необходимости продолжать работу над вычислительной техникой для расчёта аэродинамических параметров самолётов с целью улучшения их боевых качеств, — офицер, ответственный за распределение новобранцев и освобождение от призыва негодных к строевой службе, заявил, что такая техника не нужна, потому что «немецкие самолёты и так самые лучшие в мире, там нечего улучшать»[4], и распорядился отправить конструктора нести службу вместе с остальной массой призванных. После того, как Цузе через полгода военной службы (по другим данным — через год) удалось вернуться на прежнее место работы, у него по-прежнему не было курирующих лиц от государственных структур, поэтому, когда в 1941 г. его повторно мобилизовали рядовым в сухопутные войска и уже отправили на Восточный фронт, только своевременное вмешательство руководства компании «Хеншель», которое задействовало своё влияние и связи, чтобы вернуть конструктора обратно в Рейх, спасло его и его труды для будущих поколений. К тому времени уже полным ходом шла Вторая мировая война, и конструктор представил на рассмотрение Верховного главнокомандования Вермахта доклад о большом потенциале созданной им машины для применения её в военных целях, — по мнению учёного, перед немецкими военачальниками открывался широчайший диапазон потенциальных направлений применения перспективной вычислительной техники, но немецкий генералитет и маршалитет, воспитанный в традициях прусского офицерства, которому с большим трудом дался переход от кавалерии к танкам и бронемашинам, был слишком далёк от обсуждаемой в докладе тематики работ, а имперские органы управления военно-промышленным комплексом и должностные лица, ответственные за распределение бюджетных средств и ресурсов на научно-исследовательские и опытно-конструкторские работы, были ориентированы на сравнительно непродолжительные (в пределах до полугода, так как долговременные научные разработки были запрещены по личному указанию А. Гитлера)[5], гарантирующие осязаемый результат и, самое главное, понятные им проекты, не заинтересовались предложением конструктора[6].
Даже на завершающем этапе развития военно-прикладной науки и техники Третьего рейха её функционеры не были готовы оценить значение проделанной конструктором работы и созданного им творения[7]. Этим обстоятельством и был обусловлен тот факт, что от конструктора с его изобретением фактически «отмахнулись», определив в помощь военным авиаторам для решения второстепенных технических задач. Так или иначе, на этот раз в руководстве «Хеншель» решили подстраховаться, и чтобы конструктора не мобилизовали в третий раз, получили официальный государственный заказ на предложенный Цузе вычислитель. Тактико-техническое задание предусматривало разработку вычислительного устройства для расчёта вибрационных характеристик различных узлов и агрегатов проектируемых «Хеншель» военных самолётов и самолёт-снарядов[8]. В процессе работы конструктору несколько раз приходилось менять рабочее место, последнее находилось в импровизированном бомбоубежище, переоборудованном из обычного подвального помещения. Тем временем Z1, Z2 и Z3 были утрачены, — машины сгорели вместе с проектной документацией при пожарах в результате ряда авиабомбардировок. Несмотря на то, что Цузе был абсолютно аполитичен в годы нахождения нацистов у власти, в послевоенное время, когда среди немцев стало модным создавать себе реноме «борцов с режимом», противников гитлеризма, тайно сочувствовавших антигитлеровской коалиции и т. п. (причём, наибольшее рвение в этом деле проявляли вчерашние ярые фашисты), Цузе откровенно заявлял не один раз, что побудительным мотивом его научной деятельности было укрепить военную мощь Рейха, чтобы тот смог дать равновесный ответ на такие явления, как бомбардировка Дрездена англо-американской авиацией, которые, по мнению учёного, были абсолютно бессмысленными с точки зрения их военной эффективности и в результате которых пострадало, главным образом, гражданское население, — по словам учёного, чем больше падало бомб, тем настойчивее и интенсивнее работали он и его подчинённые[9].
Принцип работы
[править | править код]Успех создания Z3 определила его реализация в виде простой двоичной системы. Идея была не новой. Сама двоичная система счисления была придумана почти тремя столетиями ранее Готфридом Лейбницем. В середине XIX века Джордж Буль взял её за основу для создания алгебры логики, а в 1937 году сотрудник Массачусетского технологического института Клод Шеннон в оригинальной работе, посвящённой исследованию цифровых цепей, разработал способ реализации двоичных схем, собираемых из электронных реле. Конрад Цузе объединил все эти вещи, создав на их основе первую программируемую вычислительную машину.
Через некоторое время в других странах также появились первые вычислительные машины. Это были компьютеры «Марк I», «Колосс» и «ЭНИАК». В то же время оригинальная машина Конрада Цузе занимала значительно меньше места и стоила гораздо меньше, чем созданный двумя годами позже американский компьютер «Марк I».
В 1960 году компанией Zuse KG была выполнена реконструкция Z3. В 1967 году эта модель была выставлена и привлекла большое внимание посетителей монреальской выставки, а в настоящее время она размещена в экспозиции «Немецкого музея» в Мюнхене (Германия)[1].
Техническое описание
[править | править код]Машина представляла собой двоичный вычислитель с ограниченной программируемостью, выполненный на основе телефонных реле. На таких же реле было реализовано и устройство хранения данных. Их общее количество составляло около 2600 реле.
Порядок вычислений можно было выбрать заранее, однако условные переходы и циклы отсутствовали[1].
Спецификация
- Арифметическое устройство: с плавающей запятой, 22 бита, , −, ×, /, квадратный корень.
- Тактовая частота: 5,3 Гц.
- Средняя скорость вычисления: операция сложения — 0,8 секунды; умножения — 3 секунды.
- Вычислительная мощность — 2 флопса[10].
- Хранение программ: внешний считыватель перфоленты.
- Память: 64 слова с длиной в 22 бита.
- Ввод: десятичные числа с плавающей запятой.
- Вывод: десятичные числа с плавающей запятой.
- Элементов: 2600 реле — 600 в арифметическом устройстве и 2000 в устройстве памяти. Мультиплексор для выбора адресов памяти.
- Потребление энергии: 4 кВт.
- Масса: 1000 кг.
- Себестоимость: 50 000 рейхсмарок.
Z3 и универсальная машина Тьюринга
[править | править код]Реализация циклов на Z3 была возможна, однако система команд не содержала инструкций условных переходов. Тем не менее, в 1998 году профессором Раулем Рохасом был показан способ воспроизвести на Z3 поведение универсальной машины Тьюринга[11][12]. Он предложил составлять программу на ленте так, чтобы она содержала все возможные пути выполнения с учётом обеих ветвей каждого из условных переходов. Такая программа вычислит все возможные ответы, после чего ненужные результаты будут отброшены. В своей статье Рохас заключил, что «с абстрактной теоретической точки зрения вычислительная модель Z3 эквивалентна вычислительной модели современных компьютеров. С практической точки зрения и того, как Z3 программировался на самом деле, он не был эквивалентен современным компьютерам».
С прагматической точки зрения гораздо более важно то, что Z3 имел довольно практичный набор инструкций, удобных для типичных технических приложений 1940-х годов. Конрад Цузе прежде всего был гражданским инженером и начал создавать компьютеры для облегчения своей профессиональной деятельности. Именно поэтому его машины так похожи на выпускаемые сегодня компьютеры.
Применение
[править | править код]Z3 использовался для расчётов, связанных с конструированием самолётов (расчёты параметров стреловидных крыльев) и управляемых ракет немецким Исследовательским институтом аэродинамики (нем. Aerodynamische Versuchsanstalt).
Единственный образец компьютера вместе с другими ранними разработками Цузе был уничтожен во время налёта союзнической авиации в 1945 году.
Дальнейшее развитие
[править | править код]В свою очередь, Z3 послужила основой создания более совершенного компьютера Z4. В 1942 году вместе с австрийским инженером-электриком Хельмутом Шрайером Цузе предложил создать на базе Z3 компьютер нового типа, заменив телефонные реле вакуумными электронными лампами, что должно было сильно повысить надёжность и быстродействие машины. Предполагалось, что новый компьютер можно будет использовать для криптографии и расшифровки закодированных сообщений.
Z3 и другие вычислительные машины
[править | править код]- В отличие от первой непрограммируемой вычислительной машины Вильгельма Шиккарда, созданной в 1623 году, Z3 был программируемым компьютером.
- Первый проект программируемой вычислительной машины был создан в середине 1800-х годов Чарльзом Бэббиджем. В то время он не мог быть реализован, одной из причин чего была десятичность машины и гораздо более высокая сложность, чем у двоичного Z3. Хотя когда в 1991 году на основе оригинальных работ Бэббиджа была создана реконструкция его Разностной машины, она оказалась вполне работоспособной. Знакомая Бэббиджа Ада Лавлейс была первым теоретическим программистом, писавшим программы для несуществующей машины. Конрад Цузе стал первым программистом-практиком.
- Американский компьютер «ЭНИАК» был создан на 4 года позже Z3. Схема «Эниак» была основана на вакуумных электронных лампах, в то время как Z3 использовал электромеханические реле. Тем не менее «Эниак» был десятичной машиной, а Z3 — уже двоичной[13]. До 1948 года для перепрограммирования «ЭНИАК» фактически нужно было перекоммутировать заново, в то время как Z3 умел считывать программы с перфорированной ленты. В основе современных компьютеров лежат транзисторные схемы, а не релейные или ламповые переключатели, как на Z3 и «ЭНИАК», однако их базовая архитектура гораздо больше походит на архитектуру первого.
- Для хранения программ для Z3 использовался внешний носитель (перфорированная лента). «Манчестерское дитя» (англ. The Manchester Baby) 1948 года и EDSAC 1949 года были первыми компьютерами с внутренним хранением программ[уточнить], реализующими концепцию, часто приписываемую Джону фон Нейману и его коллегам, изложившим её в документе 1945 года. Патентная заявка Конрада Цузе, несмотря на то, что сам патент был отклонён, упоминала о похожей концепции почти на 10 лет раньше, в 1936 году.
См. также
[править | править код]Примечания
[править | править код]- ↑ 1 2 3 The Z3 Архивировано 11 февраля 2006 года. — Описание компьютера Z3 на сайте Хорнста Цузе в Берлинском техническом университете (англ.)
- ↑ Raúl Rojas. Konrad Zuse’s Legacy: The Architecture of the Z1 and Z3 Архивная копия от 16 декабря 2005 на Wayback Machine
- ↑ Flynn, Roger R. Computer Sciences. (англ.) — N.Y.: Macmillan Reference USA, 2002. — Vol.2: Software and Hardware. — P.222 — 332 p. — ISBN 0-02-865568-0.
- ↑ Kurzweil, Ray. [1]Архивная копия от 18 сентября 2016 на Wayback Machine The Age of Spiritual Machines: When Computers Exceed Human Intelligence. (англ.) — N.Y.: Penguin Books, 2000. — P.327 — 400 p. — ISBN 0-14-028202-5
- ↑ Знакомьтесь: компьютер = Understanding computers : Computer basics : Input/Output / Пер. с англ. К. Г. Батаева; Под ред. и с пред. В. М. Курочкина. — М.: Мир, 1989. — 240 с. — ISBN 5-030-01147-1.
- ↑ Youngman, Paul A. [2]Архивная копия от 18 сентября 2016 на Wayback Machine We are the Machine: The Computer, the Internet, and Information in Contemporary German Literature. (англ.) — Rochester, New York: Camden House, 2009. — P.XI — 171 p. — (Studies in German literature, linguistics, and culture ; 41) — ISBN 1-57113-392-5.
- ↑ Reis, Ricardo ; Jess, Jochen A. G. Design of Systems on a Chip: Introduction / [3]Архивная копия от 18 сентября 2016 на Wayback Machine Design of System on a Chip: Devices & Components. (англ.) — N.Y.: Kluwer Academic Publishers, 2007. — P.7 — 265 p. — (Solid Mechanics and Its Applications Series) — ISBN 1-4020-7928-1.
- ↑ Jones, Capers. [4]Архивная копия от 18 сентября 2016 на Wayback Machine The Technical and Social History of Software Engineering. (англ.) — Upper Saddle River, NJ: Addison-Wesley, 2013. — P.47 — 496 p. — ISBN 0-321-90342-0.
- ↑ Camenzind, Hans. [5]Архивная копия от 18 сентября 2016 на Wayback Machine Much Ado about Almost Nothing: Man’s Encounter with the Electron. (англ.) — BookLocker.com, 2007. — P.176-177 — 240 p. — ISBN 978-0-615-13995-1.
- ↑ Вычислительная мощность: от первого ПК до современного суперкомьютера . Дата обращения: 12 мая 2021. Архивировано 19 марта 2020 года.
- ↑ Raúl Rojas. How to make Zuse's Z3 a universal computer (англ.) // IEEE Annals of the History of Computing. — 1998. — Vol. 20, iss. 3. — P. 51–54. — doi:10.1109/85.707574.
- ↑ Rojas, Raúl How to Make Zuse's Z3 a Universal Computer (англ.). Дата обращения: 18 мая 2019. Архивировано 9 августа 2017 года.
- ↑ О. Вудз, Д. Вудз, Д. Фурлонг, С. Фурлонг, С. Е. Е. Роу и др. Язык компьютера = Understanding computers : Software : Computer Languages / Пер. с англ. С. Е. Морковина и В. М. Ходукина; Под ред. и с пред. В. М. Курочкина. — М.: Мир, 1989. — 240 с. — ISBN 5-030-01148-X.