Из мировой истории цифровой вычислительной техники
Б. Н. Малиновский
В настоящее время информатика и ее практические результаты становятся важнейшим двигателем научно-технического прогресса и развития человеческого общества. Ее технической базой являются средства обработки и передачи информации. Скорость их развития поразительна, в истории человечества этому бурно развивающемуся процессу нет аналога. Теперь уже очевидно, что наступающий XXI век будет веком максимального использования достижений информатики в экономике, политике, науке, образовании, медицине, быту, военном деле и т. д.
Последние десятилетия уходящего века характерны возрастанием интереса к истории развития информатики, в первую очередь к истории появления первых цифровых вычислительных машин и их создателям. В большинстве развитых стран созданы музеи, сохраняющие образцы первых машин, проводятся конференции и симпозиумы, выпускаются книги о приоритетных достижениях в этой области.
История создания средств цифровой вычислительной техники уходит в глубь веков. Она увлекательна и поучительна, с нею связаны имена выдающихся ученых мира.
Леонардо да Винчи (автопортрет)
В дневниках гениального итальянца Леонардо да Винчи (1452-1519) уже в наше время был обнаружен ряд рисунков, которые оказались эскизным наброском суммирующей вычислительной машины на зубчатых колесах, способной складывать 13-разрядные десятичные числа. Специалисты известной американской фирмы IBM воспроизвели машину в металле и убедились в полной состоятельности идеи ученого. Его суммирующую машину можно считать изначальной вехой в истории цифровой вычислительной техники. Это был первый цифровой сумматор, своеобразный зародыш будущего электронного сумматора – важнейшего элемента современных ЭВМ, пока еще механический, очень примитивный (с ручным управлением). В те далекие от нас годы гениальный ученый был, вероятно, единственным на Земле человеком, который понял необходимость создания устройств для облегчения труда при выполнении вычислений.
Однако потребность в этом была настолько малой (точнее, ее не было совсем!), что лишь через сто с лишним лет после смерти Леонардо да Винчи нашелся другой европеец – немецкий ученый Вильгельм Шиккард (1592-1636), не читавший, естественно, дневников великого итальянца, – который предложил свое решение этой задачи. Причиной, побудившей Шиккарда разработать счетную машину для суммирования и умножения шестиразрядных десятичных чисел, было его знакомство с польским астрономом И. Кеплером. Ознакомившись с работой великого астронома, связанной в основном с вычислениями, Шиккард загорелся идеей оказать ему помощь в нелегком труде. В письме на его имя, отправленном в 1623 г., он приводит рисунок машины и рассказывает, как она устроена. К сожалению, данных о дальнейшей судьбе машины история не сохранила. По-видимому, ранняя смерть от чумы, охватившей Европу, помешала ученому выполнить его замысел.
Об изобретениях Леонардо да Винчи и Вильгельма Шиккарда стало известно лишь в наше время. Современникам они были неизвестны.
Суммирующая машина Паскаля
В XVII веке положение меняется. В 1641-1642 гг. девятнадцатилетний Блез Паскаль (1623-1662), тогда еще мало кому известный французский ученый, создает действующую суммирующую машину ("паскалину"). Вначале он сооружал ее с одной единственной целью – помочь отцу в расчетах, выполняемых при сборе налогов. В последующие четыре года им были созданы более совершенные образцы машины. Они были шести- и восьми разрядными, строились на основе зубчатых колес, могли производить суммирование и вычитание десятичных чисел. Было создано примерно 50 образцов машин, Б. Паскаль получил королевскую привилегию на их производство, но практического применения "паскалины" не получили, хотя о них много говорилось и писалось (в основном, во Франции).
В 1673 г. другой великий европеец, немецкий ученый Вильгельм Готфрид Лейбниц (1646-1716), создает счетную машину (арифметический прибор, по словам Лейбница) для сложения и умножения двенадцатиразрядных десятичных чисел. К зубчатым колесам он добавил ступенчатый валик, позволяющий осуществлять умножение и деление. "...Моя машина дает возможность совершать умножение и деление над огромными числами мгновенно, притом не прибегая к последовательному сложению и вычитанию", – писал В. Лейбниц одному из своих друзей. О машине Лейбница было известно в большинстве стран Европы.
В ЭВМ, появившихся более двух веков спустя, устройство, выполняющее арифметические операции (те же самые, что и "арифметический прибор" Лейбница), получило название арифметического. Позднее, по мере добавления ряда логических действий, его стали называть арифметико-логическим (АЛУ). Оно стало основным устройством современных компьютеров.
Медаль, нарисованная В. Лейбницем, поясняет соотношение между двоичной и десятичной системами счисления
Таким образом, два гения XVII века установили первые вехи в истории развития цифровой вычислительной техники. Заслуги В. Лейбница, однако, не ограничиваются созданием "арифметического прибора". Начиная со студенческих лет и до конца жизни он занимался исследованием свойств двоичной системы счисления, ставшей в дальнейшем основной при создании компьютеров. Он придавал ей некий мистический смысл и считал, что на ее базе можно создать универсальный язык для объяснения явлений мира и использования во всех науках, в том числе в философии. Сохранилось изображение медали, нарисованное В. Лейбницем в 1697 г., поясняющее соотношение между двоичной и десятичной системами исчисления.
В 1799 г. во Франции Жозеф Мари Жакард (1752-1834) изобрел ткацкий станок, в котором для задания узора на ткани использовались перфокарты. Необходимые для этого исходные данные записывались в виде пробивок в соответствующих местах перфокарты. Так появилось первое примитивное устройство для запоминания и ввода программной (управляющей ткацким процессом в данном случае) информации.
Ткацкий станок Жакарда
В 1795 г. там же математик Гаспар Прони (1755-1839), которому французское правительство поручило выполнение работ, связанных с переходом на метрическую систему мер, впервые в мире разработал технологическую схему вычислений, предполагающую разделение труда математиков на три составляющие. Первая группа из нескольких высококвалифицированных математиков определяла (или разрабатывала) методы численных вычислений, необходимые для решения задачи, позволяющие свести вычисления к арифметическим операциям – сложить, вычесть, умножить, разделить. Задание последовательности арифметических действий и определение исходных данных, необходимых при их выполнении ("программирование"), осуществляла вторая, несколько более расширенная по составу, группа математиков. Для выполнения составленной "программы", состоящей из последовательности арифметических действий, не было необходимости привлекать специалистов высокой квалификации. Эта, наиболее трудоемкая, часть работы поручалась третьей и самой многочисленной группе вычислителей. Такое разделение труда позволило существенно ускорить получение результатов и повысить их надежность. Но главное состояло в том, что этим был дан импульс дальнейшему процессу автоматизации самой трудоемкой (но и самой простой!) третьей части вычислений – переходу к созданию цифровых вычислительных устройств с программным управлением последовательностью арифметических операций.
Чарльз Беббидж
Этот завершающий шаг в эволюции цифровых вычислительных устройств (механического типа) сделал английский ученый Чарльз Беббидж (1791-1871). Блестящий математик, великолепно владеющий численными методами вычислений, уже имеющий опыт в создании технических средств для облегчения вычислительного процесса (разностная машина Беббиджа для табулирования полиномов, 1812-1822 гг.), он сразу увидел в технологии вычислений, предложенной Г. Прони, возможность дальнейшего развития своих работ. Аналитическая машина (так назвал ее Беббидж), проект которой он разработал в 1836-1848 годах, явилась механическим прототипом появившихся спустя столетие ЭВМ. В ней предполагалось иметь те же, что и в ЭВМ, пять основных устройств: арифметическое, памяти, управления, ввода, вывода. Для арифметического устройства Ч. Беббидж использовал зубчатые колеса, подобные тем, что использовались ранее. На них же Ч. Беббидж намеревался построить устройство памяти из 1000 50-разрядных регистров (по 50 колес в каждом!). Программа выполнения вычислений записывалась на перфокартах (пробивками), на них же записывались исходные данные и результаты вычислений. В число операций, помимо четырех арифметических, была включена операция условного перехода и операции с кодами команд. Автоматическое выполнение программы вычислений обеспечивалось устройством управления. Время сложения двух 50-разрядных десятичных чисел составляло, по расчетам ученого, 1 с., умножения – 1 мин.
Механический принцип построения устройств и использование десятичной системы счисления, затрудняющей создание простой элементной базы, не позволили Ч. Беббиджу полностью реализовать свой далеко идущий замысел, пришлось ограничиться скромными макетами. Иначе по размерам машина сравнялась бы с локомотивом, и чтобы привести в движение ее устройства, понадобился бы паровой двигатель.
Ада Августа Лавлейс
Программы вычислений на машине Беббиджа, составленные дочерью Байрона Адой Августой Лавлейс (1815-1852), поразительно схожи с программами, составленными впоследствии для первых ЭВМ. Не случайно замечательную женщину назвали первым программистом мира.
Еще более изумляют ее высказывания по поводу возможностей машины: "...Нет конца демаркационной линии, ограничивающей возможности аналитической машины. Фактически аналитическую машину можно рассматривать как материальное и механическое выражение анализа".
Несмотря на все старания Ч. Беббиджа и А. Лавлейс, машину построить не удалось... Современники, не видя конкретного результата, разочаровались в работе ученого. Он опередил свое время. И сам понимал это: "Вероятно, пройдет половина столетия, прежде чем кто-нибудь возьмется за такую малообещающую задачу без тех указаний, которые я оставил после себя. И если некто, не предостереженный моим примером, возьмет на себя эту задачу и достигнет цели в реальном конструировании машины, воплощающей в себя всю исполнительную часть математического анализа с помощью простых механических или других средств, я не побоюсь поплатиться своей репутацией в его пользу, т. к. только он один полностью сможет понять характер моих усилий и ценность их результатов". После смерти Ч. Беббиджа Комитет Британской научной ассоциации, куда входили крупные ученые, рассмотрел вопрос, что делать с неоконченной аналитической машиной и для чего она может быть рекомендована.
К чести Комитета было сказано: "...Возможности аналитической машины простираются так далеко, что их можно сравнить только с пределами человеческих возможностей... Успешная реализация машины может означать эпоху в истории вычислений, равную введению логарифмов".
Непонятым оказался еще один выдающийся англичанин, живший в те же годы, – Джордж Буль (1815-1864). Разработанная им алгебра логики (алгебра Буля) нашла применение лишь в следующем веке, когда понадобился математический аппарат для проектирования схем ЭВМ, использующих двоичную систему счисления. "Соединил" математическую логику с двоичной системой счисления и электрическими цепями американский ученый Клод Шеннон в своей знаменитой диссертации (1936 г.).
Через 63 года после смерти Ч. Беббиджа (он почти угадал срок!) нашелся "некто", взявший на себя задачу создать машину, подобную по принципу действия той, которой отдал жизнь Ч. Беббидж. Им оказался... немецкий студент Конрад Цузе (1910-1985). Работу по созданию машины он начал в 1934 г., за год до получения инженерного диплома. Конрад (друзья его звали Куно) ничего не знал ни о машине Беббиджа, ни о работах Лейбница, ни о алгебре Буля, которая словно создана для того, чтобы проектировать схемы с использованием элементов, имеющих лишь два устойчивых состояния.
Тем не менее он оказался достойным наследником В. Лейбница и Дж. Буля, поскольку вернул к жизни уже забытую двоичную систему исчисления, а при расчете схем использовал нечто подобное булевой алгебре. В 1937г. машина Z1 (что означало "Цузе 1") была готова и заработала!
Конрад Цузе
Она была, подобно машине Беббиджа, чисто механической. Использование двоичной системы сотворило чудо – машина занимала всего два квадратных метра на столе в квартире изобретателя! Длина слов составляла 22 двоичных разряда. Выполнение операций производилось с использованием плавающей запятой. Для мантиссы и ее знака отводилось 15 разрядов, для порядка – 7. Память (тоже на механических элементах) содержала 64 слова (против 1000 у Беббиджа, что тоже уменьшило размеры машины). Числа и программа вводилась вручную. Еще через год в машине появилось устройство ввода данных и программы, использовавшее киноленту, на которую перфорировалась информация, а механическое арифметическое устройство заменило АУ последовательного действия на телефонных реле. В этом К. Цузе помог австрийский инженер Гельмут Шрайер, специалист в области электроники. Усовершенствованная машина получила название Z2. В 1941 г. Цузе с участием Г. Шрайера создает релейную вычислительную машину с программным управлением (Z3), содержащую 2000 реле и повторяющую основные характеристики Z1 и Z2. Она стала первой в мире полностью релейной цифровой вычислительной машиной с программным управлением и успешно эксплуатировалась. Ее размеры лишь немного превышали размеры Z1 и Z2.
Еще в 1938 г. Г. Шрайер предложил использовать для построения Z2 электронные лампы вместо телефонных реле. Тогда К. Цузе ему сказал: "Вероятно, ты выпил слишком много шнапса!"
Но в годы Второй мировой войны он сам пришел к выводу о возможности лампового варианта машины. Друзья выступили с этим сообщением в кругу ученых мужей и подверглись насмешкам и осуждению. Названная ими цифра – 2000 электронных ламп, необходимых для построения машины – могла остудить самые горячие головы. Лишь один из слушателей поддержал их замысел. Они не остановились на этом и представили свои соображения в военное ведомство, указав, что новая машина могла бы использоваться для расшифровки радиограмм союзников. Их спросили:
– А когда будет готова машина?
– Года через два!
– К этому времени мы победим, и машина не понадобится!
Так, возможно, был упущен шанс создать в Германии не только первую релейную, но и первую в мире электронную вычислительную машину.
К этому времени К. Цузе организовал небольшую фирму, и ее усилиями были созданы две специализированные релейные машины S1 и S2. Первая – для расчета крыльев "летающих торпед" – самолетов-снарядов, которыми обстреливался Лондон, вторая – для управления ими. Она оказалась первой в мире управляющей вычислительной машиной.
К концу войны К. Цузе создает еще одну релейную вычислительную машину – Z4. Она окажется единственной сохранившейся из всех машин, разработанных им. Остальные будут уничтожены при бомбежке Берлина и заводов, где они выпускались.
Итак, К. Цузе установил несколько вех в истории развития компьютеров: первым в мире использовал при построении вычислительной машины двоичную систему исчисления (1937 г.), создал первую в мире релейную вычислительную машину с программным управлением (1941 г.) и цифровую специализированную управляющую вычислительную машину (1943 г.).
Эти воистину блестящие достижения, однако, существенного влияния на развитие вычислительной техники в мире (за исключением Германии) не оказали...
Дело в том, что публикаций о них и какой-либо рекламы из-за секретности работ не было, и поэтому о них стало известно лишь спустя несколько лет после завершения Второй мировой войны.
По-другому развивались события в США. В 1944 г. ученый Гарвардского университета Говард Айкен (1900-1973) создает первую в США (тогда считалось первую в мире!) релейно-механическую цифровую вычислительную машину МАРК-1[1]. По своим характеристикам (производительность, объем памяти) она была близка к Z3, но существенно отличалась размерами (длина 17 м, высота 2,5 м, вес 5 тонн, 500 тысяч механических деталей).
В машине использовалась десятичная система счисления. Как и в машине Беббиджа, в счетчиках и регистрах памяти использовались зубчатые колеса. Управление и связь между ними осуществлялась с помощью реле, число которых превышало 3000. Г. Айкен не скрывал, что многое в конструкции машины он заимствовал у Ч. Беббиджа. "Если бы был жив Беббидж, мне нечего было бы делать", – говорил он. Замечательным качеством машины была ее надежность. Установленная в Гарвардском университете, она проработала там 16 лет!
Вслед за МАРК-1 ученый создает еще три машины (МАРК-2, МАРК-3 и МАРК-4) – тоже с использованием реле, а не электронных ламп, объясняя это ненадежностью последних.
В отличие от работ Цузе, которые велись с соблюдением секретности, разработка МАРК1 проводилась открыто, и о создании необычной по тем временам машины быстро узнали во многих странах. Шутка ли, за день машина выполняла вычисления, на которые ранее тратилось полгода! Дочь К. Цузе, работавшая в военной разведке и находившаяся в то время в Норвергии, прислала отцу вырезку из газеты, сообщающую о грандиозном достижении американского ученого.
К. Цузе мог торжествовать. Он во многом опередил появившегося соперника. Позднее он направит ему письмо и скажет об этом. А правительство Германии в 1980 г. выделит ему 800 тыс. марок для воссоздания Z1, что он и осуществил вместе с помогавшими ему студентами. Своего "воскресшего" первенца К. Цузе передал на вечное хранение в музей вычислительной техники в Падеборне.
Продолжить рассказ о Г. Айкене хочется любопытным эпизодом. Дело в том, что работы по созданию МАРК-1 выполнялись на производственных помещениях фирмы IBM. Ее руководитель в то время Том Уотсон, любивший порядок во всем, настоял, чтобы огромная машина была "одета" в стекло и сталь, что делало ее очень респектабельной. Когда машину перевезли в университет и представили публике, то имя Т. Уотсона в числе создателей машины не было упомянуто, что страшно разозлило руководителя IBM, вложившего в создание машины полмиллиона долларов. Он решил "утереть нос" Г. Айкену. В результате появился релейно-электронный монстр, в огромных шкафах которого размещались 23 тыс. реле и 13 тыс. электронных ламп! Машина оказалась неработоспособной. В конце-концов она была выставлена в Нью Йорке для показа неискушенной публике. На этом гиганте завершился период электромеханических цифровых вычислительных машин.
Что касается Г. Айкена, то, вернувшись в университет, он первым в мире начал чтение лекций по новому тогда предмету, получившему сейчас название Computer Science – наука о компьютерах; он же одним из первых предложил использовать машины в деловых расчетах и бизнесе. Побудительным мотивом для создания МАРК-1 было стремление Г Айкена помочь себе в многочисленных расчетах, которые ему приходилось делать при подготовке диссертационной работы (посвященной, кстати, изучению свойств электронных ламп).
Однако уже надвигалось время, когда объем расчетных работ в развитых странах стал нарастать как снежный ком, в первую очередь в области военной техники, чему способствовала Вторая мировая война.
В 1941 г. сотрудники лаборатории баллистических исследований Абердинского артиллерийского полигона в США обратились в расположенную неподалеку техническую школу при Пенсильванском университете за помощью в составлении таблиц стрельбы для артиллерийских орудий, уповая на имевшийся в школе дифференциальный анализатор Буша – громоздкое механическое аналоговое вычислительное устройство. Однако сотрудник школы физик Джон Мочли (1907-1986), увлекавшийся метеорологией и смастеривший для решения задач в этой области несколько простейших цифровых устройств на электронных лампах, предложил нечто иное. Им было составлено (в августе 1942 г.) и отправлено в военное ведомство США предложение о создании мощного компьютера (по тем временам) на электронных лампах. Эти, воистину исторические пять страничек были положены военными чиновниками под сукно, и предложение Мочли, вероятно, осталось бы без последствий, если бы им не заинтересовались сотрудники полигона. Они добились финансирования проекта, и в апреле 1943 г. был заключен контракт между полигоном и Пенсильванским университетом на создание вычислительной машины, названной электронным цифровым интегратором и компьютером (ЭНИАК[2]). На это отпускалось 400 тыс. долларов. К работе было привлечено около 200 человек, в том числе несколько десятков математиков и инженеров. Руководителями работы стали Дж. Мочли и талантливый инженер-электронщик Преспер Эккерт (1919-1995). Именно он предложил использовать для машины забракованные военными представителями электронные лампы (их можно было получить бесплатно!). Учитывая, что требуемое количество ламп приближалось к 20 тысячам, а средства, выделенные на создание машины весьма ограничены, – это было мудрым решением. Он же предложил снизить напряжение накала ламп, что существенно увеличило надежность их работы. Напряженная работа завершилась в конце 1945 года. ЭНИАК был предъявлен на испытания и успешно их выдержал. В начале 1946 г. машина начала считать реальные задачи. По размерам она была более впечатляющей, чем МАРК-1: 26 м в длину, 6 м в высоту, вес 35 тонн. Но поражали не размеры, а производительность – она в 1000 раз превышала производительность МАРК1! Таков был результат использования электронных ламп!
В остальном ЭНИАК мало чем отличался от МАРК-1. В нем использовалась десятичная система исчисления. Разрядность слов – 10 десятичных разрядов. Емкость электронной памяти – 20 слов. Ввод программ – с коммутационного поля, что вызывало массу неудобств: смена программы занимала многие часы и даже дни.
В 1945 г., когда завершались работы по созданию ЭНИАК, и его создатели уже разрабатывали новый электронный цифровой компьютер ЭДВАК[3] в котором намеривались размещать программы в оперативной памяти, чтобы устранить основной недостаток ЭНИАКа – сложность ввода программ вычислений, к ним в качестве консультанта был направлен выдающийся математик, участник Матхеттенского проекта по созданию атомной бомбы Джон фон Нейман (1903-1957). Следует сказать, что разработчики машины, судя по всему, не просили этой помощи. Дж. Нейман, вероятно, сам проявил инициативу, услышав от своего приятеля Г. Голдстайна, математика, работавшего в военном ведомстве, об ЭНИАКе. Он сразу оценил перспективы развития новой техники и принял самое активное участие в завершении работ по созданию ЭДВАКа. Написанная им часть отчета по машине содержала общее описание ЭДВАКа и основные принципы построения машины (1945г.).
Она была размножена Г. Голдстайном (без согласования с Дж. Мочли и П. Эккертом) и разослана в ряд организаций. В 1946г. Нейманом, Голдстайном и Берксом (все трое работали в Принстонском институте перспективных исследований) был составлен еще один отчет ("Предварительное обсуждение логического конструирования устройства", июнь 1946 г.), который содержал развернутое и детальное описание принципов построения цифровых электронных вычислительных машин. В том же году отчет был распространен на летней сессии Пенсильванского университета.
Изложенные в отчете принципы сводились к следующему.
1. Машины на электронных элементах должны работать не в десятичной, а двоичной системе исчисления.
2. Программа должна размещаться в одном из блоков машины – в запоминающем устройстве, обладающем достаточной емкостью и соответствующими скоростями выборки и записи команд программы.
3. Программа, так же как и числа, с которыми оперирует машина, записывается в двоичном коде. Таким образом, по форме представления команды и числа однотипны. Это обстоятельство приводит к следующим важным последствиям:
- промежуточные результаты вычислений, константы и другие числа могут размещаться в том же запоминающем устройстве, что и программа;
- числовая форма записи программы позволяет машине производить операции над величинами, которыми закодированы команды программы.
4. Трудности физической реализации запоминающего устройства, быстродействие которого соответствует скорости работы логических схем, требует иерархической организации памяти.
5. Арифметическое устройство машины конструируется на основе схем, выполняющих операцию сложения, создание специальных устройств для выполнения других операций нецелесообразно.
6. В машине используется параллельный принцип организации вычислительного процесса (операции над словами производятся одновременно по всем разрядам).
Нельзя сказать, что перечисленные принципы построения ЭВМ были впервые высказаны Дж. Нейманом и остальными авторами. Их заслуга в том, что они, обобщив накопленный опыт построения цифровых вычислительных машин, сумели перейти от схемных (технических) описаний машин к их обобщенной логически ясной структуре, сделали важный шаг от теоретически важных основ (машина Тьюринга) к практике построения реальных ЭВМ. Имя Дж. Неймана привлекло внимание к отчетам, а высказанные в них принципы и структура ЭВМ получили название неймановских.
Под руководством Дж. Неймана в Принстонском институте перспективных исследований в 1952 г. была создана еще одна машина на электронных лампах МАНИАК (для расчетов по созданию водородной бомбы), а в 1954 г. еще одна, уже без участия Дж. Неймана. Последняя была названа в честь ученого "Джониак". К сожалению, всего три года спустя Дж. Нейман тяжело заболел и умер.
Дж. Мочли и П. Эккерт, обиженные тем, что в отчёте Принстонского университета они не фигурировали и выстраданное ими решение располагать программы в оперативной памяти (и не только это!) стали приписывать Дж. Нейману, а, с другой стороны, увидев, что многие, возникшие как грибы после дождя, фирмы стремятся захватить рынок ЭВМ, решили взять патенты на ЭНИАК.
Однако в этом им было... отказано! Дотошные соперники разыскали информацию о том, что еще в 1938-1941 годах работавший в сельскохозяйственном училище штата Айова профессор математики Джон Атанасов (1903-1996), болгарин по происхождению, вместе со своим помощником Клиффордом Бери разработал макет специализированной цифровой вычислительной машины (с использованием двоичной системы исчисления !) для решения систем алгебраических уравнений. Макет содержал 300 электронных ламп, имел память на конденсаторах. Таким образом, пионером ламповой техники в области компьютеров оказался Атанасов!
К тому же Дж. Мочли, как выяснил суд, разбиравший (почти 20 лет!) дело по выдаче патента, оказывается, был знаком с работами Атанасова не понаслышке, а провел пять дней в его лаборатории в дни создания макета.
Что касается хранения программ в оперативной памяти и теоретического обоснования основных свойств современных компьютеров, то и здесь Дж. Мочли и П. Эккерт не были первыми. Еще в 1936 г. об этом сказал Алан Тьюринг (1912-1953) – гениальный, математик, опубликовавший тогда свою замечательную работу "О вычислимых числах" (в 24 года!).
Полагая, что наиболее важная черта алгоритма (задания на обработку информации) – это возможность механического характера его выполнения, А. Тьюринг предложил для исследования алгоритмов абстрактную машину, получившую название "машина Тьюринга". В ней он предвосхитил основные свойства современного компьютера. Данные должны были вводиться в машину с бумажной ленты, поделенной на клетки-ячейки. Каждая из них содержала символ или была пустой. Машина могла не только обрабатывать записанные на ленте символы, но и изменять их, стирая старые и записывая новые в соответствии с инструкциями, хранимыми в ее внутренней памяти. Для этого она дополнялась логическим блоком, содержащим функциональную таблицу, определяющую последовательность действий машины. Иначе говоря, А. Тьюринг предусмотрел наличие некоторого запоминающего устройства для хранения программы действий машины. Но не только этим определяются его выдающиеся заслуги.
В 1942-1943 годах, в разгар Второй мировой войны в Англии в обстановке строжайшей секретности была построена и успешно эксплуатировалась первая в мире специализированная цифровая вычислительная машина "Колоссус" на электронных лампах (2000 ламп!). В Блечли-Парке (Government Code and Cypher School, Bletchley Park) А. Тьюринг создал совместно с Г. Уэлчманом (G. W. Welchman) иинженером Г. Кином (H. Keen) дешифровочную машину "Бомба" для расшифровки секретных радиограмм немецких радиостанций. Она успешно справилась с поставленной задачей. Один из участников создания машины так оценил заслуги А. Тьюринга:"Я не хочу сказать, что мы выиграли войну благодаря Тьюрингу, но беру на себя смелость сказать, что без него мы могли ее и проиграть". После войны ученый принял участие в создании универсальной ламповой ЭВМ. Внезапная смерть на 41-м году жизни помешала реализовать в полной мере его выдающийся творческий потенциал. В память об А. Тьюринге в установлена премия его имени за выдающиеся работы в области математики и информатики. ЭВМ "Колоссус" восстановлена и хранится в музее местечка Блечли-Парк, где она была создана.
Однако в практическом плане Дж. Мочли и П. Эккерт действительно оказались первыми, кто, поняв целесообразность хранения программы в оперативной памяти машины (независимо от А. Тьюринга), заложили это в реальную машину – свою вторую машину ЭДВАК. К сожалению, ее разработка задержалась, и она была введена в эксплуатацию только в 1951г. В это время в Англии уже два года работала ЭВМ с хранимой в оперативной памяти программой! Дело в том, что в 1946 г. в разгар работ по ЭДВАК Дж. Мочли прочитал курс лекций по принципам построения ЭВМ в Пенсильванском университете. Среди слушателей оказался молодой ученый Морис Уилкс (родился в 1905 г.) из Кембриджского университета, того самого, где сто лет назад Ч. Беббидж предложил проект цифровой машины с программным управлением. Вернувшись в Англию, талантливый молодой ученый сумел за очень короткий срок создать ЭВМ ЭДСАК[4] (электронный компьютер на линиях задержки) последовательного действия с памятью на ртутных трубках с использованием двоичной системы исчисления и хранимой в оперативной памяти программой. В 1949 г. машина заработала! Так М. Уилкс оказался первым в мире, кто сумел создать ЭВМ с хранимой в оперативной памяти программой. В 1951 г. он же предложил микропрограммное управление операциями. ЭДСАК стал прототипом первой в мире серийной коммерческой ЭВМ ЛЕО (1953 г.). Сегодня М. Уилкс – единственный из оставшихся в живых компьютерных пионеров мира старшего поколения, тех, кто создавал первые ЭВМ. Дж. Мочли и П. Эккерт пытались организовать собственную компанию, но ее пришлось продать из-за возникших финансовых затруднений. Их новая разработка – машина УНИВАК, предназначенная для коммерческих расчетов, перешла в собственность фирмы Ремингтон Рэнд и во многом способствовала ее успешной деятельности.
Хотя Дж. Мочли и П. Эккерт не получили патента на ЭНИАК, его создание стало, безусловно, золотой вехой в развитии цифровой вычислительной техники, отмечающей переход от механических и электромеханических к электронным цифровым вычислительным машинам.
В 1996 г. по инициативе Пенсильванского университета многие страны мира отметили 50-летие информатики, связав это событие с 50-летием создания ЭНИАК. Для этого имелись многие основания – до ЭНИАКа и после ни одна ЭВМ не вызвала такого резонанса в мире и не имела такого влияния на развитие цифровой вычислительной техники, как замечательное детище Дж. Мочли и П. Эккерта.
Во второй половине нашего века развитие технических средств пошло значительно быстрее. Еще стремительней развивалась сфера программного обеспечения, новых методов численных вычислений, теория искусственного интеллекта.
В 1995 г. американский профессор информатики Университета штата Вирджиния Джон Ли опубликовал книгу "Компьютерные пионеры". В число пионеров он включил тех, кто внес существенный вклад в развитие технических средств, программного обеспечения, методов вычислений, теорию искусственного интеллекта и др., за время от появления первых примитивных средств обработки информации до наших дней.
К сожалению, в числе 249 компьютерных пионеров мира, упомянутых в книге, лишь двое из бывшего Советского Союза – В. М. Глушков и А. П. Ершов, что далеко не соответствует действительности (см. книгу автора "История вычислительной техники в лицах" о создателях первых ЭВМ в СССР, Киев, 1995 г., а также последующие книги).
Фрагмент книги "Очерки по истории компьютерной науки и техники в Украине". Стр.437-448. 1998 г., Киев, "Феникс". Публикуется с разрешения редакции сайта "Виртуальный Европейский музей истории компьютерной науки и техники".
Примечания
1. Automatic Sequence Controlled Calculator (ASCC) – автоматический цифровой управляющий калькулятор
2. ENIAC – Electronic Numerical Integrator and Computer
3. EDVAC – Electronic Discrete Variable Computer
4. EDSAC – Electronic Delay Storage Automatic Computer