18 сентября 2003
873

Павел Шалин: От MARKa до ENIACa

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

Американский ученый Говард Гатуэй Айкен (Howard Hathaway Aiken, 1900 - 1973), человек, обладавший чрезвычайно широким кругозором и интересовавшийся большим числом различных научных направлений, в круг которых входили и физика, и математика, и целый ряд других естественных наук, родился в городе Хобокен, штат Нью-Джерси, в 1900 году. Закончив военно-инженерную школу города Индианаполис, он получил степень бакалавра, защитив диплом по направлению "электротехника" в университете штата Висконсин. Однако Говард решил продолжить свое обучение, поступив в 1931 году в магистратуру Чикагского университета. Вскоре он переезжает в Гарвард, где заканчивает свое обучение и приступает к работе над диссертацией, теоретическая часть которой была посвящена методикам решения нелинейных дифференциальных уравнений. Именно тогда у него родилась мысль о создании автоматического вычислительного устройства, которое могло бы значительно облегчить проведение подобных математических расчетов. Раздумывая первоначально о конструкции нескольких простых вычислителей, каждый из которых мог бы решать какую-либо "узкоспециализированную" задачу, Айкен постепенно пришел к выводу о необходимости постройки универсального устройства, способного осуществлять любые математические расчеты. Загоревшись этой идеей, он заручился поддержкой Гарвардского университета и одной из крупнейших в те времена американских коммерческих компаний, занимавшихся производством механических пишущих машинок и арифмометров - International Business Machines, Inc. (IBM) и приступил к практической реализации своих замыслов.

Построенная в 1944 году группой из четырех инженеров под руководством Айкена "Вычислительная машина с автоматическим управлением последовательностью операций MARK-I" по современным меркам вряд ли могла называться полноценным компьютером: в то время как энтузиаст Конрад Цузе ввел в эксплуатацию полностью электронную ЭВМ "Z2" еще в 1940 году, созданный Айкеном четырьмя годами позже MARK-I был наполовину механическим, реле применялось лишь для автоматизации управления элементами его конструкции.

Это электронно-механическое чудовище имело длину в 17 метров и было 2,5 м. высотой (габаритные размеры "Z2" Конрада Цузе оказались компактнее на несколько порядков), конструкция MARK-I включала в себя 750 000 различных элементов, соединенных проводами общей протяженностью более 800 метров; электронная начинка включала в себя 3304 реле, которые в процессе своей работы издавали ужасный шум и нередко выходили из строя. Числа, обрабатываемые MARK-I, хранились в специальных регистрах, реализованных в виде металлических зубчатых колес, приводившихся в движение специальным механизмом. Каждый регистр включал 24 колеса, 23 из которых использовались для представления самих разрядов числа, а 24-е - его знака. Кроме того, каждый регистр имел устройство, позволявшее сохранять значения десятков и передавать результат вычислений в другой регистр. Всего архитектура MARK-I насчитывала 72 регистра для обработки цифровых значений и 60 дополнительных регистров для хранения математических постоянных - в них при помощи системы переключателей вручную записывались неизменные в процессе вычислений константы. Помимо основного математического блока, в составе MARK-I имелось несколько отдельных модулей, предназначенных для выполнения операций умножения, деления, подсчета степени числа, значения синуса и вычисления логарифма. Операторский пульт представлял собой панель, содержащую 420 механических переключателей, не считая нескольких контрольных панелей, позволявших оператору управлять режимами работы машины. В процессе своей работы аппарат потреблял 160 киловатт мощности.

Революционным с технологической точки зрения было предложенное Айкеном устройство для программирования выполняемой счетной машиной последовательности операций. В качестве носителя информации использовалась перфолента из диэлектрического целлулоида, в которой пробивались отверстия, расположенные в 24 параллельных рядах. Данные делились на две категории: операционные команды, описывавшие, что должна делать машина в данный момент времени, и команды вычислений, управлявшие самими математическими операциями. Таким образом, в вычислительном комплексе MARK-I был впервые реализован принцип независимо хранимой программы - перфоленту, содержащую описание последовательности операций, можно было хранить отдельно от самого математического устройства, и многократно использовать по мере необходимости. Данные с перфоленты считывались специальными контактными щетками, при попадании в отверстие замыкавшими электрическую цепь. После выполнения операции перфолента смещалась на одну позицию и подставляла под щетки новый ряд отверстий.

Разработанная Айкеном вычислительная машина показалась американским специалистам в области кибернетики настолько перспективной, что вскоре он получил несколько новых заказов от Министерства обороны США. Следующий компьютер, MARK-II, построенный Айкеном в 1947 году специально для военно-морского флота, стал первым на нашей планете многозадачным вычислительным устройством: предусмотренные в его конструкции параллельные сумматоры позволяли одновременно выполнять несколько математических операций и передавать результат из одного модуля машины в другой.

Кстати, популярный в современной компьютерной среде термин "баг" (от английского "bug" - "жучок"), обозначающий ошибку или сбой в программе, имел в те времена буквальное значение. В процессе своей работы вычислительные машины MARK-I и MARK-II достаточно сильно нагревались, а некоторые их узлы испускали неяркое свечение. Свет и тепло привлекали многочисленных мотыльков и мелких бабочек, которые, забираясь внутрь компьютеров, зачастую вызывали короткое замыкание электрических схем. Термин ввела в обиход работавшая с MARK-II сотрудница вычислительного центра береговой службы ВМФ США Грейс Хоппер, ставшая позже всемирно известным компьютерным аналитиком и программистом, а также получившая за свои заслуги почетное звание контр-адмирала военно-морского флота. На ее совести также лежит изобретение термина "debugging" ("отладка"), обозначающего в современном языке процесс исправления допущенных программистом в процессе написания программного кода ошибок. Сама Грейс Хоппер описывала этот эпизод следующим образом: "однажды, летом 1945 года в помещениях лаборатории стояла ужасная жара, как вдруг неожиданно произошла аварийная остановка компьютера. Когда мы стали разбираться с проблемой, выяснилось, что сбой был вызван очередным мотыльком, замкнувшим накоротко контакты одного из тысяч реле. В этот момент к нам зашел офицер, чтобы узнать, чем мы занимаемся. Мы ответили, что очищаем компьютер от насекомых (debuging). Этот термин прижился и с тех пор используется для обозначения поиска неисправностей в компьютере, в частности, в программном обеспечении".

В то время, как полумеханические вычислительные машины медленно доживали свой век, технологии не стояли на месте: постепенный переход от релейных схем и зубчатых колес к более прогрессивным вакуумным лампам был неотвратим. В 1943 году Главное управление артиллерии США заключило с университетом Пенсильвании контракт на разработку и постройку специальной электронно-вычислительной машины, предназначенной для автоматического расчета баллистических таблиц. Руководителем проекта был назначен профессор факультета электротехники Пенсильванского универсистета Джон Маучли, а главным инженером - молодой ученый и настоящий энтузиаст от электроники Джон Преспер Эккерт. Официальное же представление построенного ими при содействии 10 инженеров и 200 техников "Электронно-цифрового интегратора и вычислителя" (Electronical Numerical Integrator and Calculator, сокращенно - ENIAC) состоялось 15 февраля 1946 года.

В конструкции ENIACа использовалось более 18 тыс. вакуумных ламп и порядка 1500 реле, машина занимала отдельное помещение площадью в 85 квадратных метров, весила 30 тонн и потребляла 150 киловатт энергии, которой, даже несмотря на то, что это составляло на 10 киловатт меньше "потребностей" MARK-I, все равно хватило бы на удовлетворение нужд небольшого производственного предприятия. Вместо зубчатых колес для хранения числовых значений в ENIACe были предусмотрены замкнутые цепи из 10 специальных электронных переключателей - триггеров, 12 таких цепей, 10 для хранения самого значения числа, и 2 - для представления его знака, образовывали один регистр памяти машины. Всего разработчики предусмотрели 20 таких регистров, использовавших для выполнения операций суммирования и вычитания (компьютер выполнял такую операцию за 0,2 микросекунды), умножение и деление производилось в отдельных блоках машины.

Именно в конструкции ENIACa впервые использовался принципиально новый вид носителя информации, на который можно было записать последовательность выполняемых компьютером операций - перфокарты: набор специальных диэлектрических пластин с пробитыми в них отверстиями, каждое из которых замыкало определенную электрическую цепь при попадании в него контактной щетки считывающего устройства. Достоинство перфокарт по сравнению с перфолентой было очевидным: в то время, как неожиданно порвавшуюся ленту приходилось либо тщательно и кропотливо склеивать, либо выбрасывать и готовить новую, в данном случае специалисты просто заменяли одну-единственную пришедшую в негодность пластину из нескольких сотен.

Однако несмотря на всю прогрессивность и революционность предложенного Маучли и Эккертом технического решения, ENIAC отнюдь не был лишен серьезнейших недостатков. Во-первых, ввод информации в машину осуществлялся посредством переключения контактных коммутаторов на 40 наборных досках, каждая из которых была оснащена несколькими тысячами проводов, а общее их число составляло 6 000. Для того чтобы перенастроить компьютер с выполнения одной последовательности математических операций на другую, приходилось переключать все эти провода вручную, на что порой уходило до нескольких дней. К тому же ENIAC отличался крайне низкой надежностью: стоило перегореть одной из 18 тысяч вакуумных трубок, а перегорали они постоянно, как вся работа останавливалась, и приписанные к компьютеру техники начинали кропотливый поиск неисправности, который мог затянуться на сутки и даже более.

Более поздние модификации релейно-ламповых ЭВМ, архитектура которых основывалась на разработках Маучли и Эккерта, оказывались все более и более совершенными с точки зрения применяемых в их составе технологий. В частности, "универсальный автоматический компьютер" (Universal Automatic Computer, UNIVAC), разработанный в 1951 году корпорацией Remington-Rand Corporation специально для намечавшейся в США переписи населения, был изначально нацелен на серийное производство, в связи с чем производители уделили особое внимание использующимся в составе этой машины устройствам ввода-вывода, которые должны были заметно облегчить работу операторов с ЭВМ. Именно технологическая задача упростить ввод данных в машину сподвигла инженеров из Remington-Rand совместить электронно-вычислительную систему с одним из интуитивно понятных любому человеку элементов пишущей машинки: так появилась первая на нашей планете компьютерная клавиатура.

Электронную начинку UNIVAC составляло более 5000 вакуумных ламп, память на ртутных колбах позволяла хранить информацию объемом до полутора килобайт. Наиболее примечательным элементом в конструкции UNIVAC был специальный накопитель, который позволял записывать информацию и считывать ее с магнитной ленты. В том же самом 1951 году исследователи Джей Форрестер и Боб Эверетт из Массачусетского Технологического Университета (MIT) создали компьютер "the Whirlwind", в составе которого в качестве устройства для отображения информации была использована электронно-лучевая трубка Уильямса - прообраз современного монитора.

Однако насколько бы прогрессивными ни казались электронно-вычислительные машины первого поколения, все же они не могли потягаться с современными компьютерами по своей надежности и быстродействию. Добиться более высокой стабильности в работе ЭВМ и достичь большей производительности ученым удалось только с появлением первых транзисторных компьютеров.


www.holmogorov.ru

18.09.2003
Рейтинг всех персональных страниц

Избранные публикации

Как стать нашим автором?
Прислать нам свою биографию или статью

Присылайте нам любой материал и, если он не содержит сведений запрещенных к публикации
в СМИ законом и соответствует политике нашего портала, он будет опубликован