Первым создателем автоматической вычислительной машины считается немецкий ученый К. Цузе. Работы им начаты в 1933 г., а в 1936 г. он построил модель механической вычислительной машины, в которой использовалась двоичная система счисления, форма представления чисел с плавающей запятой, трехадресная система программирования и перфокарты [6]. Условный переход при программировании не был предусмотрен. Затем в качестве элементной базы Цузе выбирает реле, которые к тому времени давно применялись в различных областях техники.
В 1938 г. Цузе изготовил модель машины Z1 на 16 слов, в следующем году — модель Z2, и еще через два года он построил первую в мире действующую вычислительную машину с программным управлением (модель Z3), которая демонстрировалась в Германском научно-исследовательском центре авиации. Это был релейный двоичный компьютер, имеющий память на 64 22-разрядных числа с плавающей запятой: 7 разрядов для порядка и 15 разрядов для мантиссы.
В арифметическом блоке использовалась параллельная арифметика. Команда включала операционную и адресную части. Ввод данных осуществлялся с помощью десятичной клавиатуры. Предусмотрен цифровой вывод, а также автоматическое преобразование десятичных чисел в двоичные и обратно. Время сложения у модели 13 — 0,3 с, умножения — 4,5 с. Все эти образцы машин были уничтожены во время бомбардировок в ходе второй мировой войны. После войны Цузе изготовил модели Z4 и Z5.
К. Цузе в 1945 г. создал язык Plankalkül («исчисление планов»), который относится к ранним формам алгоритмических языков. Этот язык был в большей степени машинно-ориентированным, однако в некоторых моментах, касающихся структуры объектов, по своим возможностям даже превосходил АЛГОЛ, ориентированный только на работу с числами.
Независимо от Цузе построением релейных автоматических вычислительных машин занимались в США Д. Штибитц и Г. Айкен.
Д. Штибитц, работавший в фирме Bell, собрал на телефонных реле первые суммирующие схемы. В 1940 г. вместе с С. Уильямсом Штибитц построил «вычислитель комплексных чисел», или релейный интерполятор, который впоследствии стал известен как специализированный релейный компьютер «Bell-модель 1». Машина демонстрировалась на заседании Американского математического общества в этом же году. На демонстрации в машину ввели два комплексных числа, переданных по телеграфу, и получили произведения этих чисел с отображением результата на телеграфном печатающем аппарате, установленном в зале заседания. В последующие годы были созданы еще четыре модели этой машины. Последняя из них разработана Штибитцем в 1946 г. (модель V) — это был компьютер общего назначения, который содержал 9000 реле, занимал площадь 90 м2 и весил 10 т. Сложение на этой машине выполнялось за 0,3 с, умножение — за 1 с. Для ввода данных использовалась перфолента, для вывода — стандартное телетайпное оборудование.
Другую идею релейного компьютера выдвинул в 1937 г. аспирант Гарвардского университета Г. Айкен. Этой идеей заинтересовалась фирма IBM. В помощь Айкену подключили бригаду инженеров во главе с К. Лейком. Работа по проектированию и постройке машины, которая в дальнейшем стала называться «Марк-1», началась в 1939 г. и продолжалась 5 лет. Реле, счетчики, контактные устройства, печатающие механизмы, устройства для ввода перфокарт и перфорирующие устройства, используемые в машине, были стандартными частями табуляторов, выпускаемых в то время фирмой IBM. Эта машина, работавшая с 23-значными десятичными числами, выполняла операцию сложения за 0,3 с и операцию умножения за 3 с. Машина не имела операции условного перехода, это было ее недостатком, но свою жизнеспособность она доказала в течение 15 лет непрерывной работы.
Электронные лампы при создании вычислительной машины впервые были применены американским профессором физики и математики Д. Атанасовым [8]. Атанасов работал над проблемой автоматизации решений больших систем линейных алгебраических уравнений. В декабре 1939 г. Атанасов окончательно сформулировал и осуществил на практике свои основные идеи, создав вместе с К. Берри работающую настольную модель, после отработки которой они приступили к постройке опытного образца, способного решать систему уравнений с 29 неизвестными. Исходные данные в машину должны были вводиться с помощью перфокарт в десятичной системе счисления, а счет в самой машине осуществлялся в двоичной системе счисления. В машине были использованы 32 одноразрядных ламповых сумматора, последовательно выполнявшие операцию сложения. Память машины была емкостная — использовалось 1632 бумажных конденсатора. Всего в конструкции использовано 300 электронных ламп.
К весне 1942 г. монтаж машины в основном был завершен, но США уже находились в состоянии войны с Германией, а постройка машины не была связана с военными исследованиями, и работы были прекращены.
В 1942 г. профессор электротехнической школы Мура Пенсильванского университета Д. Маучли представил проект (меморандум) «Использование быстродействующих электронных устройств для вычислений», который положил начало созданию первой электронной вычислительной машины ENIAC. Около года проект пролежал без движения, пока им не заинтересовалась Баллистическая исследовательская лаборатория армии США. В 1943 г. под руководством Д. Маучли и Д. Эккерта были начаты работы по созданию ENIAC, а демонстрация работы машины состоялась 15 февраля 1946 г.
Новая машина имела «впечатляющие» параметры: 18 000 электронных ламп, занимала помещение 9X15 м2, весила 30 т и потребляла 150 кВт. ENIAC работала с тактовой частотой 100 кГц и выполняла операцию сложения за 0,2 мс, а умножения — за 2,8 мс, что было на три порядка быстрее, чем это могли делать релейные машины.
Быстро обнажились недостатки новой машины. Использовалась десятичная система счисления вместо двоичной. Программа задавалась схемой коммутации триггеров на 40 наборных полях, на каждую команду требовалось несколько коммутационных шнуров. На перенастройку коммутационных полей уходили недели. При пробной эксплуатации выяснилось, что надежность машины очень низка — поиск неисправностей занимал от нескольких часов для нескольких суток.
По своей структуре ЭВМ ENIAC напоминала механические вычислительные машины. Запоминающие регистры состояли из триггерных колец (по десять триггеров в каждом кольце). Только один из триггеров возбуждался в определенный момент времени в соответствии с запоминаемой десятичной цифрой. Система переноса десятков в накопителях была аналогична предварительному переносу в машине Бэббиджа.
Долгое время ENIAC считался первым действующим электронным компьютером. Однако в октябре 1975 г. после продолжительного официального молчания, длившегося 32 года, правительство Великобритании опубликовало серию фотографий компьютера «Колосс». Эти фотографии должны были подтвердить, что ряд программируемых электронных компьютеров был сконструирован в Великобритании во время второй мировой войны, а первый из них работал уже с декабря 1943 г. в государственном институте Блетчли-Парк. К концу войны работали около десятка «Колоссов», и несколько других машин были в стадии завершения.
Правильная оценка «Колоссов» как предшественников современных ЭВМ затруднена из-за недостатка подробной информации, касающейся выполняемых функций и средств для управления их работой. Однако официальные документы и некоторые заключения ученых позволили классифицировать «Колосс» как электронный компьютер специального назначения с ограниченной формой операции условного перехода. Количество электронных ламп, используемых в «Колоссе», достигало 2000, машина работала параллельным методом с частотой 5000 импульсов в секунду. В ней применен быстрый ввод с перфолент, память на электронных регистрах, вывод на печатающее устройство. Однако программирование было внешним, этот компьютер так же, как и ENIAC, не хранил в памяти программ.
С точки зрения архитектуры ЭВМ с хранимой в памяти программой революционными были идеи американского математика, члена Национальной АН США и американской академии искусств и наук Джона фон Неймана (1903—1957).
Эти идеи изложены в статье «Предварительное рассмотрение логической конструк¬ции электронного вычислительного устройства», написанной им совместно с А. Берксом и Г. Голдстайном (опубликована в 1946 г.). Интересно привести некоторые положения статьи из раздела «Основные компоненты машины», которые носят основополагающий характер в становлении и развитии ЭВМ
«Так как законченное устройство будет универсальной вычислительной машиной, оно должно содержать несколько основных органов, таких, как орган арифметики, памяти, управления и связи с оператором. Мы хотим, чтобы после начала вычислений работа машины не зависела от оператора».
«Очевидно, что машина должна быть способна запоминать некоторым образом не только цифровую информацию, необходимую для данного вычисления... но также и команды, управляющие программой, которая должна производить вычисления над этими числовыми данными».
«Очевидно, что машина должна быть способна запоминать некоторым образом не только цифровую информацию, необходимую для данного вычисления... но также и команды, управляющие программой, которая должна производить вычисления над этими числовыми данными».
«Если, однако, приказы (команды) машине свести к числовому коду и если машина сможет некоторым образом отличать число от приказа (команды), то орган памяти можно использовать для хранения как чисел, так и приказов (команд)». (Вот он, неймановский принцип хранимой программы — у Бэббиджа его нет.) Надо сказать, что о принципе хранимой программы Нейман упоминает еще в раннем докладе о проекте ЭВМ EDV АС, датированном 30 июня 1945 г.
«Если память для приказов (команд) является просто органом памяти, то должен существовать еще орган, который может автоматически выполнять приказы (команды), хранящиеся в памяти. Мы будем называть этот орган управляющим».
«Поскольку наше устройство должно быть вычислительной машиной, в нем должен иметься арифметический орган... устройство, способное складывать, вычитать, умножать и делить».
«Наконец, должен существовать орган ввода и вывода, с помощью которого осуществляется связь между оператором и машиной».
Эти основные положения статьи определяют структуру ЭВМ неймановского типа, которая, можно сказать, оставалась практически неизменной на протяжении трех поколений ЭВМ.
Используя свой опыт в области создания «Колоссов», Великобритания приступила к координации своих разработок, создав в 1945 г. Национальную математическую лабораторию . В этой лаборатории работали две группы: одна возглавлялась Т. Килбурном и Ф. Вильямсом из Манчестерского университета, другая — М. Уилксом из Кембриджского университета. Эти две группы впервые реализовали в своих разработках идею хранимой программы. Г. Килбурн и Ф. Вильяме 21 июня 1948 г. просчитали первую программу на ЭВМ «Марк-1» (одинаковое название с машиной Айкена). Впервые в этой машине в качестве оперативного запоминающего устройства была использована трубка Вильямса, применение которой позволяло осуществлять произвольную выборку хранимых данных вместо последовательной выборки при использовании ртутных линий задержки, применявшихся в первых серийных ЭВМ первого поколения. Интересно отметить, что в одном из вариантов машины (1949 г.)
Манчестерского университета были впервые применены индексные регистры (см. регистр индексный). Это одна из особенностей, отличавших ее от машин неймановской структуры.
Другая группа под руководством М. Уилкса 6 мая 1949 г. произвела первые расчеты на созданной машине ЕОБАС, имеющей также структуру неймановского типа. М. Уилкс, находясь до этого в США, был членом школы Мура Пенсильванского университета, и ему, как немногим другим, были известны материалы статьи Д. фон Неймана о проекте машины ЕйУАС. Постройка машины ЕОУАС была закончена в 1950 г., а ее эксплуатация началась в 1952 г. Вскоре в США были выпущены машины В1МАС и БЕАС, работающие с тактовой частотой 1 МГц и 4 МГц соответственно.
В эти же годы в Киеве в лаборатории моделирования и вычислительной техники Института электротехники АН УССР под руководством академика С. А. Лебедева создавалась МЭСМ — первая советская ЭВМ. Функционально-структурная организация МЭСМ была предложена Лебедевым в 1947 г. Первый пробный пуск макета машины состоялся в ноябре 1950 г., а в эксплуатацию машина была сдана в 1951 г.. МЭСМ работала в двоичной системе, с трехадресной системой команд, причем программа вычислений хранилась в запоминающем устройстве оперативного типа. Машина Лебедева с параллельной обработкой слов представляла собой принципиально новое решение . Она была одной из первых в мире и первая на Европейском континенте ЭВМ с хранимой в памяти программой.
Позади годы упорного труда — побед, огорчений, успехов, разочарований. В этом напряженном творческом процессе были дни безнадежности и отчаяния, удовлетворения и ликования. А все вместе называется просто — работа. И рассказывают ученые о своей работе тоже просто. «Никогда в жизни мне не приходилось спать и завтракать так, как в течение тех месяцев, когда мы по двадцать четыре часа просиживали у вычислительных машин, сменяя друг друга. «ЭНИАК», на котором мы работали, хотя и был более быстродействующим, чем прежние математические приборы, все же оказался довольно деликатной и, я бы сказала, капризной машиной. Постоянно какие-нибудь лампы или контуры выходили из строя, и нам приходилось простаивать» (Герда Эванс, математик).
Просто говорят и о достигнутом: «И вот, наконец, наша МЭСМ начала делать первые робкие шаги. Подумать только, на вопрос, заданный ей с пульта: «Сколько будет 2X2?», она к бурной радости всех нас почти всегда отвечала «4» (Л. Н. Дашевский, Е. А. Шкабара).
Аркадий Петрович Частиков
"Вычислительная техника и ее применение" 1988/1
Навигация по статьям | |
Персональные ЭВМ | Высокопроизводительные компьютеры |