Файл: История и периоды развития средств вычислительной техники.pdf
Добавлен: 01.04.2023
Просмотров: 240
Скачиваний: 1
Некоторые идеи Тьюринга были воплощены в реальных машинах, построенных в Блетчли-Парке. Сначала удалось построить несколько дешифраторов, в которых использовались электромеханические переключатели такого же типа, как у К. Цузе в Берлине, Д. Стибица в Bell Telephone Laboratories (Bell Labs) и Г. Эйкена в Гарвардском университете. Работа этих машин строилась, по существу, методом «проб и ошибок», путем подбора всевозможных комбинаций из символов германского кода, пока не возникал какой-то осмысленный фрагмент. Но в конце 1943 г. ученые Блетчли-Парка смогли построить намного более мощные машины. Вместо электромеханических реле в них имелось примерно 2 тыс. электронных вакуумных ламп. Примечательно, что именно данную технологию предлагал Цузе для создания новой машины, признанной в Германии нецелесообразной. Даже число ламп совпадало. Англичане назвали данную машину «Колосс».
Тысячи перехваченных за день неприятельских сообщений вносили в память «Колосса» так, как это предлагал А. Тьюринг: в виде символов, закодированных на перфоленте. Ленту вводили в фотоэлектрическое считывающее устройство, которое сканировало ее со скоростью 5 тыс. символов в секунду, после чего в поисках соответствия машина сопоставляла зашифрованное сообщение с уже известными кодами «Загадки». Каждая машина имела 5 считывающих устройств, в результате за секунду обрабатывалось около 25 тыс. символов [17, с. 35].
Таким образом, в первых компьютерах, построенных К. Цузе и Г. Эйкеном, в качестве переключающих устройств использовались электромеханические реле. Вскоре реле были вытеснены электронными вакуумными лампами, которые «говорили» на двоичном языке уже значительно быстрее.
Принимая во внимание, что электромеханические реле работали недостаточно быстро, уже в 1943 году американцы начали разработку альтернативного варианта вычислительной машины на основе электронных ламп. В 1946 г. Джон Моучли (1907–1980) и Джон Эккерт (1919–1995) создали электронную вычислительную машину ENIAC («Эниак») – Electronic Numerical Integrator and Computer, которая весила 30 т и для размещения которой требовалось 170 м2. Машина считала в двоичной системе и производила 5 тысяч операций сложения или 300 операций умножения в секунду.
С начала Второй мировой войны работники Лаборатории баллистических исследований Министерства обороны США, расположенной в районе Абердинского полигона (штат Мэриленд), работали над созданием баллистических таблиц, необходимых артиллеристам в сражениях. Значение данных таблиц невозможно переоценить. При их помощи артиллеристы могли сделать поправки при наводке орудия с учетом расстояния до цели, ее высоты над уровнем моря, а также метеорологических условий – температуры воздуха и ветра. Однако чтобы построить таблицы, требовались очень утомительные и длинные расчеты: для вычисления только одной траектории приходилось выполнять как минимум 750 операций умножения, а каждая таблица включала не меньше 2 тыс. траекторий. Дифференциальный анализатор позволял немного ускорить вычисления, но данное устройство давало только приблизительные результаты, для уточнения которых привлекались десятки человек, работавших с обычными настольными калькуляторами.
Дж. Моучли – физик, который увлекался метеорологией, – давно мечтал о появлении устройства, которое бы давало возможность применять статические методы для прогнозирования погоды. Перед войной он сделал несколько простых цифровых счетных устройств на электронных лампах.
В августе 1942 г. Дж. Моучли совместно с Дж. Эккертом высказал предложение о создании быстродействующего компьютера на электронных лампах. В то время армии очень необходимы были новые баллистические таблицы.
Артиллеристы сообщали из Северной Африки, что из-за крайне мягкого грунта орудия далеко откатываются при отдаче, а снаряды не достигают цели. Г. Голдстейн, до войны преподававший математику в Мичиганском университете, оценил назначение предлагаемого проекта компьютера и от имени военного командования поспособствовал тому, чтобы проект приняли к разработке.
9 апреля 1943 г., когда Эккерту исполнилось 24 года, армия заключила с училищем контракт на 400 тысяч долл., предусматривающий разработку быстродействующего компьютера ENIAC. Группа специалистов, работавшая над этим проектом, возросла до 50 человек. Дж. Моучли был главным консультантом проекта, Дж. Эккерт – главным конструктором.
Конструкция машины выглядела невероятно сложной: предполагалось, что она будет содержать 17468 ламп. Такое количество объяснялось тем, что ENIAC должен был работать с десятичными числами. Моучли предпочел десятичную систему счисления, т. к. хотел, чтобы «машина была понятна людям». Но настолько большое число ламп, которые, перегреваясь, выходили из строя, приводило к постоянным поломкам.
При 17 тысячах ламп, одновременно работавщих с частотой 100 тысяч имп./с, ежесекундно возникало 1,7 млрд ситуаций, в которых хотя бы одна из ламп могла не работать. Эккерт разрешил данную проблему, заимствовав приём, широко использовавшийся при эксплуатации больших электроорганов в концертных залах: на лампы стали подавать меньшее напряжение, и число аварий снизилось до 1-2 в неделю [17, с. 37].
В конце 1945 г. ENIAC был, наконец, собран и готов к проведению первого официального испытания. Он успешно выдержал проверку, обработав около миллиона перфокарт фирмы IBM. Спустя 2 месяца машину продемонстрировали представителям прессы. По размерам (примерно 6 метров высотой и 26 метров длиной) данный компьютер больше чем в 2 раза превосходил «Марк-1» Г. Эйкена. Но двойное увеличение в размерах сопровождалось тысячекратным ростом быстродействия. Это значило, что программы приходилось буквально «впаивать» в сложные электронные схемы машины.
Если требовалось перейти от вычислений баллистических таблиц к расчету параметров аэродинамической трубы, то приходилось бегать по комнате, отсоединяя и подсоединяя сотни контактов, как на ручном телефонном коммутаторе [19, с. 53].
Тем не менее, вакуумные лампы имеют серьезные недостатки: они занимают много места, потребляют огромное количество электроэнергии, выделяют много тепла и быстро выгорают. Пожалуй, нигде эти недостатки вакуумных ламп не проявлялись так заметно, как в машине ENIAC: 17 468 ламп выделяли столько тепла, что, несмотря на множество вентиляторов, установленных в машинном зале, температура в нем порой поднималась до 50 градусов С. Очевидно, если бы не появился переключатель нового типа, компьютеры так и остались бы огромными, неудобными и слишком дорогими машинами, которые никто, кроме правительства и крупных корпораций, не смог бы приобрести.
Более гибкой стала машина EDVAC («Эдвак») – Electronic Discrete Automatic Variable Computer – электронный дискретный переменный компьютер, автором которого считается Джон фон Нейман (1903–1957).
EDVAC – компьютер, кодирующий данные в двоичной системе. Вместительная внутренняя память машины содержала не только данные, но и программу. Инструкции теперь не «впаивались» в схемы аппаратуры, а записывались электронным способом в специальных устройствах, о которых Эккерт узнал, работая над созданием радара: это заполненные ртутью трубки, называемые линиями задержки. Кристаллы, помещенные в трубку, генерировали импульсы, которые, распространяясь по трубке, сохраняли информацию, как ущелье «хранит» эхо. Существенно и то, что EDVAC кодировал данные уже не в десятичной системе, а в двоичной, что позволило значительно уменьшить число электронных ламп.
В конце 1944 года, когда Моучли и Эккерт работали над машиной EDVAC, способной хранить программы в памяти, на помощь им был направлен консультант Дж. фон Нейман, который в 41 год уже прославился как отличный математик. Ему было суждено было сыграть огромную роль в развитии вычислительных машин в послевоенные годы.
Фон Нейман осознавал, что компьютер – нечто большее, чем простой калькулятор, что, по крайней мере, потенциально, он представляет собой универсальный инструмент для научных исследований. В июне 1945 г., менее чем через год после того, как фон Нейман присоединился к группе Моучли и Эккерта, он подготовил отчет, где обобщил работу над машиной EDVAC. Этот отчет, озаглавленный «Предварительный доклад о машине EDVAC», представлял собой прекрасное описание не только машины, но и ее логических свойств. Фон Нейман, отвлекшись от электрических схем и радиоламп, смог обрисовать формальную, логическую организацию компьютера.
Благодаря этому «Предварительный доклад...» Дж. фон Неймана стал первой работой по цифровым электронным компьютерам, с которой познакомился широкий круг научной общественности [17, с. 39].
Архитектура компьютера. В своем историческом докладе фон Нейман детально описал и выделил основные компоненты того, что называют архитектурой фон Неймана. Чтобы компьютер был и универсальным, и эффективным инструментом, он должен включать следующие структуры:
1) центральное арифметико-логическое устройство (АЛУ);
2) центральное устройство управления, «дирижирующее» операциями;
3) память или запоминающее устройство;
4) устройство ввода-вывода информации.
Он отметил, что эта система должна работать с двоичными числами, быть электронным, а не механическим устройством и выполнять операции последовательно, одну за другой.
Принципы фон Неймана
1. Использование двоичной системы счисления в вычислительных машинах, преимущество которой перед десятичной заключается в том, что устройства можно делать достаточно простыми, поскольку логические и арифметические операции в двоичной системе счисления также выполняются достаточно просто.
2. Программное управление ЭВМ. Работа машин контролируется программой, состоящей из набора команд. Команды выполняются последовательно, друг за другом. Создание машины с хранимой в памяти программой положило начало современному программированию.
3. Использование памяти компьютера не только для хранения данных, но и для хранения программ. При этом и команды программы, и данные кодируются в двоичной системе счисления, т. е. их способ записи одинаков. Это дает возможность в определенных ситуациях выполнять над командами те же действия, что и над данными.
4. Ячейки памяти ЭВМ имеют адреса, которые последовательно пронумерованы. Этот принцип открыл возможность использовать переменные в программировании, поскольку в любой момент можно обратиться к любой ячейке памяти по ее адресу.
5. Возможность условного перехода в процессе выполнения программы. Несмотря на то, что команды выполняются последовательно, в них можно реализовать возможность перехода к любому участку кода.
Самое основное следствие данных принципов – теперь программа уже не была постоянной частью машины (как, к примеру, у калькулятора). Появилась возможность легко ее изменить. Аппаратура осталась прежней и достаточно простой [17, с. 41].
Для сравнения, программа компьютера ENIAC (где не было хранимой в памяти программы) определялась специальными перемычками на панели. Чтобы перепрограммировать машину (установить перемычки по-другому), требовался не один день. И хотя программы для современных компьютеров могут писаться годами, работают они на миллионах компьютеров после установки за несколько минут на жесткий диск. Принципы, сформулированные фон Нейманом, стали общепринятыми и были положены в основу больших ЭВМ первых поколений, а также более поздних мини- и микроЭВМ.
EDSAC – компьютер с программами, хранимыми в памяти. Английский исследователь Морис Уилкс (1913–2010) в Кембриджском университете в 1949 г. завершил сооружение первого в мире компьютера с хранимыми в памяти программами. Компьютер получил название EDSAC («Эдсак») – Electronic
Delay Storage Automatic Calculator – электронный автоматический калькулятор с памятью на линиях задержки.
Это первое успешное воплощение принципа хранения программы в памяти стало завершающим этапом в серии изобретений, начатых в военное время. Теперь открылся путь для широкого (уже послевоенного) распространения быстродействующих компьютеров, способных мгновенно извлекать программы из памяти и не только расшифровывать коды или выполнять баллистические вычисления, но и обрабатывать разнообразную информацию. Это было началом компьютерной эры [17, с. 45].
Во время бомбежек Берлина в конце Второй мировой войны К. Цузе потерял все свои машины, за исключением Z4. Чтобы не попасть в плен в последние дни войны, он присоединился к группе ученых, разработавших ракеты в гитлеровской Германии, которые пытались скрыться в отрогах Баварии и Альп. В одном из грузовиков находилась машина Z4. Американцы, захватившие эту группу в плен, сразу предложили работу одному из ее членов, конструктору ракет В. фон Брауну (создал ракеты «Фау-2»).
На Цузе, успевшего спрятать свою машину в подвале крестьянского дома, американцы не обратили внимания. В 1949 г. Цузе начал работать над коммерческими потоками машины Z4. Его дела пошли в гору, однако только спустя два десятилетия машины Цузе заняли подобающее место в истории развития компьютеров.
В 1947 г. в свет вышла книга американского математика Н. Винера «Кибернетика, или Управление и связь в животном и машине», положившая начало развитию теории автоматов и кибернетики – науки об управлении и передаче информации. Кроме того, была издана книга К. Шеннона «Математическая теория передачи информации».
А. Тьюринг в послевоенные годы участвовал в создании мощного компьютера, ряд свойств которого он взял от своей гипотетической универсальной машины. Опытный образец компьютера АСЕ (Automatic Computing Engine – автоматическое вычислительное устройство) вступил в эксплуатацию в мае 1950 г.
Дж. фон Нейман, работавший в принстонском Институте перспективных исследований вместе с Г. Голдстейном, принимал участие в разра-ботке нескольких компьютеров новейшей конструкции. Среди них была, в частности, машина, которая использовалась для решения задач, связанных с созданием водородной бомбы. Фон Нейман остроумно окрестил ее MANIAC («Маньяк») – Mathematical Analyzer, Numertor, Integrator and Computer – математический анализатор, счетчик, интегратор и компьютер.