«Открытые системы»

Забытые компьютеры первого поколения были намного ближе к современности, чем это можно предположить
Создатели Colossus также реализовали «гарвардскую» схему; в этом компьютере данные вводились в память, а программа считывалась со специально сконструированного устройства на базе перфолент

С абсолютной точностью дату рождения компьютеров первого поколения назвать сложно. Появлению на свет ENIAC, признанного родоначальника всех компьютеров, предшествовал растянувшийся на полтора десятилетия своеобразный «эмбриональный период». Еще в 1939 году Джон Атанасов и Клиффорд Берри продемонстрировали электронный компьютер–прототип ABC. В 1941 году Конрад Цузе разработал механическое счетное устройство, которое тоже можно назвать компьютером. В 1943 году началась расшифровка немецких радиограмм с использованием электронно-механического компьютера Colossus. В 1944 году Говард Айкен разработал механическое устройство Mark I для ВМФ США.Собственно, ENIAC признать полноценным компьютером также сложно: он не имел такого непременного атрибута, как хранимая в памяти программа. Так уж случилось, что его непосредственный наследник, действительно работающий по хранимой в памяти программе компьютер EDVAC (Electronic Discrete Variable Computer), который был построен в 1949 году, опоздал. Его опередили разработки, сделанные в Манчестерском и Кембриджском университетах. В июне 1948 года первая программа была выполнена на машине Manchester Small-Scale Experimental Machine (SSEM), прозванной «Манчестерским Бэби», а в 1949 году была запущена в эксплуатацию EDSAC (Electronic Delay Storage Automatic Calculator), машина, созданная в математической лаборатории Кембриджского университета под руководством Мориса Уилкса. Показательно, что всего на год отстали советские ученые, построившие под руководством С.А.Лебедева машину МЭСМ.

Точно так же невозможно с точностью установить, кто именно предложил хранить в общей памяти программы и данные. В неявной форме эта идея обнаруживается в работе Цузе, датируемой 1939 годом. В 1943 году будущие авторы ENIAC Джон Мочли и Преспер Эккерт высказали ту же самую мысль на семинарах в Пенсильванском университете. Но совершенно точно то, что широкую известность она получила благодаря публикации Джоном фон Нейманом отчета First Draft of a Report on the EDVAC, датируемого июнем 1945 года. В этом труде на полусотне страниц была в деталях изложена, как бы теперь сказали, архитектура машины, к строительству которой еще не приступали и к авторству которой один из величайших математиков XX века, активный участник Манхэттенского проекта никакого отношения не имел. Можно только догадываться, что именно толкнуло его на подобную «утечку информации». От суровой кары фон Неймана спас только его непререкаемый научный авторитет: никому другому подобный фокус не простили бы. С тех пор и поныне практически все компьютеры строятся по «фон-неймановской» архитектуре, названной так по имени человека, который имел к ней лишь косвенное отношение.

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

Но была ли тогда, в далекие годы, альтернатива фон-неймановской архитектуре? Да, была, ее называли «гарвардской» архитектурой; ее предложил Говард Айкен в своих машинах Mark III и Mark IV. Эта архитектура отличается тем, что данные и программы хранятся в разных частях памяти, каждая из которых имеет собственный канал к процессору.

Создатели Colossus независимо от Айкена также реализовали «гарвардскую» схему; в этом компьютере данные вводились в память, а программа считывалась со специально сконструированного устройства на базе перфолент. Об эффективности разделения данных и программ говорит следующий факт. Когда в 90Б??х годах при реставрации Colossus попытались моделировать его работу на ПК, оказалось, что на определенного класса задачах это в общем-то примитивное устройство по производительности можно сравнить с процессором Intel 386. Сегодня по «гарвардской» схеме строятся высокоскоростные DSP-процессоры.

Сила фон-неймановской архитектуры состоит в ее универсальности: один и тот же компьютер можно использовать в самых разных целях, и для разработки, и для выполнения готовых приложений. Но со временем становится все очевиднее, что за универсальность приходится расплачиваться высокой ценой. В последние годы начинаются отдельные исследования с целью реабилитации гарвардской архитектуры.

Между EDVAC и современностью есть не только архитектурное родство. Показательно, как разошлись судьбы дуэта Мочли–Эккерт и фон Неймана. Авторы EDVAC не дождались завершения строительства их детища и в конце 1947 года, решив коммерциализировать свою разработку, создали собственную компанию Eckert-Mauchly Computer Corporation (EMCC). Сначала они простроили малобюджетный компьютер BINAC, который не был особенно удачным. Зато их следующая машина UNIVAC I оказалась фантастически успешной, EMCC вполне можно признать первым компьютерным «стартапом». Тогда еще не было венчурных фондов, поэтому UNIVAC I создавался на деньги игорного бизнеса. В последующем Мочли и Эккерту удалось получить финансирование от Национального бюро статистики США, где пробой пера был расчет предсказания итогов президентских выборов 1952 года. Победа Дуайта Эйзенхауэра была предсказана с точностью до нескольких процентов.

Между тем Джон фон Нейман и его ближайшие соратники в конце 1946 года перешли на работу в Институт перспективных исследований (Institute for Advanced Study, IAS), написали и опубликовали колоссальный по обюему труд «Предварительные исследования по логическому проектированию электронных счетных инструментов». Описанная архитектура получила название «принстонской», или IAS. Таким образом было положено начало тому, что сегодня именуется Open Source. Если учесть, что компьютеры в ту пору строились из радиодеталей, то для многих университетов открывалась возможность создавать их собственными силами. По архитектуре IAS было построено почти два десятка машин; наиболее известны JOHNNIAC (корпорация Rand), ILLIAC I (Университет штата Иллинойс), MANIAC I (Национальная лаборатория в Лос-Аламосе). Строили такие машины в Швеции (BESK, Стокгольмский университет) и в Израиле (WEIZAC, Институт Вейцмана). Немало общего обнаруживается между IAS и БЭСМ.


Конрад Цузе

родился 22 июня 1910 года в Германии. В 1935 году закончил Берлинский технический университет. Год он проработал на авиастроительном заводе Хенкель, после чего занялся созданием программируемой машины. Первую модель Z1 он собрал в 1938 году. В 1939 году Цузе был призвал в армию, но сумел убедить армейское начальство, что будет больше пользы, если дать ему возможность работать над вычислительной машиной. Вскоре Цузе предложил Z2, а в 1941 году – Z3. Много позже, в 1998 году, было доказано, что Z3 удовлетворяет определению машины Тьюринга.

В 1945 году Цузе создал язык PLANKALKUL. Он был в большей степени машинно-ориентированным, однако в некоторых моментах, касающихся структуры обюектов, по своим возможностям даже превосходил АЛГОЛ.

Интересы Цузе ограничивались не только вычислительными средствами. В 1967 году он предложил оригинальную теорию, согласно которой вселенная представляет собой своего рода сеть компьютеров. В 1969 году он опубликовал книгу Rechnender Raum (что можно перевести как «Вычислительная вселенная»).

Кроме того, Цузе был одаренным художником. Последние годы жизни, отойдя от дел, он посвятил этому увлечению.

Цузе скончался 18 декабря 1995 года.

Говард Айкен

родился 9 марта 1900 года. Он окончил Университет штата Висконсин в Мэдисоне, в 1939 году защитил докторскую диссертацию в Гарвардском университете и в течение некоторого времени преподавал там. Затем он был призван в морскую артиллерию на одно из предприятий IBM, где начал работать над созданием автоматической вычислительной машины на основе описания аналитической машины Бэббиджа.

Первую машину Mark I Айкен и его коллеги представили в феврале 1944 года. Первоначально компьютер назывался Automatic Sequence Controlled Calculator, что можно перевести как «калькулятор с автоматическим управлением последовательности операций». Для программирования использовалась бумажная перфолента, и машина управлялась человеком с минимальной подготовкой. Она могла выполнять любую заданную последовательность из четырех арифметических действий, а также ссылаться на предыдущий результат.

Последняя предложенная Айкеном машина Mark IV уже была полностью электронной. В ней использовалась память на магнитных сердечниках.

Айкен был удостоен многих наград США, Франции, Нидерландов, Бельгии и Германии. Он скончался 14 марта 1973 года.

Сергей Лебедев

родился 2 ноября 1902 года в Нижнем Новгороде. В 1928 году Лебедев окончил Московское высшее техническое училище им. Н. Э. Баумана, по окончании которого стал преподавателем МВТУ. В 1935 году он получил звание профессора, в 1939-м – защитил докторскую диссертацию.

Во время войны Лебедев разработал систему стабилизации танкового орудия при прицеливании, принятую на вооружение, а также аналоговую систему самонаведения на цель авиационной торпеды.

Решая задачи электротехники и энергетики с помощью аналоговых вычислительных машин, Лебедев пришел к постановке задач создания цифровой машины. Осенью 1948 года Лебедев начал разработку Малой электронной счетной машины. В 1950 МЭСМ была смонтирована и уже в 1952 году на ней решались задачи из области термоядерных процессов, космических полетов и ракетной техники.

В 1950 году Лебедев начал разработку Большой электронной счетной машины. В апреле 1953 года она была принята в эксплуатацию, а в 1956 году доклад Лебедева о БЭСМ на конференции в Дармштадте произвел сенсацию – БЭСМ была на уровне лучших американских машин и самой быстродействующей в Европе. В 1967-м он представил быстро ставшую знаменитой БЭСМ-6.

Сергей Лебедев умер 3 июля 1974 года.