Размышления о думающих машинах. Тьюринг. Компьютерное исчисление
Шрифт:
В компьютере, разработанном Тьюрингом, каждая команда ассоциировалась с адресом ячейки, где она хранилась, и с адресом следующей для выполнения инструкции. Английский ученый подчеркивал, что компьютер должен соответствовать двум требованиям: быстро выполнять программы и располагать достаточным объемом памяти. С тех пор все компьютеры стремились к максимальному удовлетворению этих критериев. Конструкционно компьютер был основан на электронных лампах в количестве около 800 штук — это было не очень много и повышало надежность, так как снижался риск того, что при работе одна или несколько ламп расплавятся и выполнение программы прервется. Частота в 1 мегагерц делала этот компьютер одним из самых быстрых в Соединенном Королевстве. При выполнении арифметических операций использовалась плавающая точка, то есть можно было, как и на современном компьютере, представить число с множеством десятичных знаков следующим образом: 6,127456 х 10~2 представляло число 0,06127456. Еще одним инновационным решением Тьюринга стала замена части hardware на software. Первые компьютеры использовали для выполнения операций умножения или деления электронные схемы. Так, в американских компьютерах часть
РЕТРОКОМПЬЮТИНГ: ИСПОЛЬЗОВАНИЕ КОМПЬЮТЕРОВ ИЗ ПРОШЛОГО
Для настоящего любителя компьютеров нет ничего более увлекательного, чем попробовать поработать на старых, известных в истории отрасли компьютерах. Ретрокомпьютинг — это сборка старых компьютеров, включая software и периферийные устройства. Многие такие машины представлены в музеях, например Pilot АСЕ; другие, существовавшие в коммерческой версии, входят в частные коллекции, например Macintosh Classic или ZX Spectrum, или хранятся в собраниях исследовательских институтов, например PDP-11 в Digital Equipment Corporation. Попробовать, как работает старый компьютер, можно также с помощью эмуляторов. Чаще всего с этой целью используется SIMH — кроссплатформенный эмулятор, с помощью которого можно увидеть в работе компьютеры разных моделей PDP или Vax от Digital Equipment Corporation, модели Hewlett-Packard, Honeywell, IBM (1130 7090/7094) и другие. Сегодня очень много людей в мире увлекаются ретрокомпьютингом, что способствует лучшему пониманию истории и эволюции этих устройств.
Эмулятор компьютера Pilot АСЕ, разработанный Аланом Тьюрингом.
Несмотря на то что оригинальная версия компьютера была разработана Аланом Тьюрингом, его создание происходило очень медленно, и в 1948 году ученый оставил этот проект, а вместе с проектом — Лондон и NPL. Его сменил Джим Уилкинсон (1919-1986), специалист по математическому анализу, и 10 мая 1950 года Pilot АСЕ выполнил первую программу. В конце года компьютер был представлен публике и хорошо принят, так что ежедневная газета The London Times посвятила ему статью, в которой сравнивались время и ресурсы, требующиеся для выполнения подсчетов человеку и компьютеру. Весной 1951 года компьютер был введен в эксплуатацию, а использовался он до весны 1955-го. Сейчас он выставлен в Музее науки Лондона.
У Pilot АСЕ было несколько модификаций, которые продавались населению. Компьютеры DEUCE или Bendix G15, признанные первым персональным компьютером (ПК) в мире, продавались до 1970-х годов. Другим компьютером, унаследовавшим от Pilot АСЕ многие решения, был MOSAIC, использовавшийся Соединенным Королевством во время холодной войны. Любопытно, что требования Тьюринга к компьютерам стали стандартом для производителей. Так, Packard-Bell РВ250 был разработан на основе спецификаций ученого.
КТО ПРИДУМАЛ КОМПЬЮТЕР
После Второй мировой войны Соединенное Королевство было самой развитой страной в сфере создания компьютеров. Британия обладала такими моделями, как уже упомянутый Pilot АСЕ, а также Baby, Ferranti Mark I, созданные в Манчестерском университете.
Однако, несмотря на это технологическое превосходство, британцы быстро сдавали позиции как в развитии компьютерной индустрии, так и в разработке и продаже периферийных и программных продуктов. Почему же Соединенное Королевство уступило лидерство США? Эндрю Ходжес, биограф, который сегодня лучше всех знаком с жизнью и работами Алана Тьюринга, высказывает гипотезу о том, что британское правительство любой ценой хотело получить атомную бомбу. Это может показаться странным, однако две атомные бомбы, сброшенные США в 1945 году на японские города Хиросима и Нагасаки, стали не только одним из последних аккордов войны, но и положили конец британской гегемонии в мире, закат которой начался в викторианскую эпоху. Возникли две новые сверхдержавы: Советский Союз и Соединенные Штаты Америки. После окончания войны единственной страной, которая смогла сконструировать атомный реактор и атомное оружие, стали США. В 1946 году Штаты внесли в ООН предложение о контроле деятельности, связанной с ядерной энергией, и в него были включены пункты о геологоразведке урана и радиоактивных материалов. Это предложение было отвергнуто Советским Союзом, началась холодная война. Ответ американской стороны не заставил себя ждать: был принят закон Макмагона, предусматривавший смертную казнь для американских граждан, нарушивших секретность по ядерной программе. Этот закон также прекращал традиционное сотрудничество с Соединенным Королевством и другими союзниками в рамках ядерной программы. Британцы, со своей стороны, приступили к созданию собственной ядерной бомбы. По сути, Соединенное Королевство обладало достаточными компьютерными мощностями для проведения расчетов, необходимых для создания ядерного оружия.
Расхождения между двумя странами привели к тому, что в 1949 году британцы построили EDSAC (Electronic Delay Storage Automatic Computer). Этот компьютер был разработан специалистом
Например, с его помощью можно было решать интегралы и дифференциальные уравнения — два важнейших инструмента расчетов и моделирования в прикладной математике.
К этому времени по обе стороны Атлантики уже имелся довольно большой список компьютеров: Colossus, ENIAC, EDVAC, EDSAC, но все же какая из стран изобрела первый?
ENIAC: АМЕРИКАНСКИЙ МАСТОДОНТ
ENIAC (Electronic Numerical Integrator and Computer) имел циклопические размеры. Он работал на 18 тысячах электронных ламп, что вызывало частые сбои, весил 27 тонн, занимал площадь 167 м2. Его разработчиками были Джон Преспер Эккерт (1919-1995) и Джон Уильям Мокли (1907- 1980) из Пенсильванского университета. Компьютер запустили в эксплуатацию в феврале 1946 года. Он представлял собой программируемое устройство, предназначенное для военных целей, и использовался в лаборатории баллистических исследований. Если память компьютера Тьюринга, Pilot АСЕ, была примерно такой.же, как у Macintosh Apple, то расчетная мощность ENIAC была аналогична интегральным схемам 2004 года. При этом у ENIAC вообще не было основной памяти. Также он использовал десятичные числа, то есть знаки 0,1, 2,... 9 и их комбинации (например, 645), а не двоичный код (только 0 и 1), как современные компьютеры. Арифметические операции, например суммирование, выполнялись с помощью электронных эмуляторов колес и зубчатых передач старых вычислительных машин.
Тысячи компонентов
Как и британский Colossus, этот компьютер использовал вентили И и ИЛИ, созданные на основе цепи электронных ламп. Для программирования необходимо было соединить около шести тысяч переключателей и несколько сотен проводов. Имелась также система аккумуляторов, напоминающая ячейки Excel, с помощью которых можно было параллельно суммировать и вычитать величины, сохраняя результаты. Также можно было умножать, делить и извлекать квадратный корень, для этого аккумуляторы управлялись специальными модулями для умножения, деления и извлечения квадратного корня соответственно, к названным модулям добавлялись еще девять модулей. При соединении модулей друг с другом проводами получалась программа управления компьютером. Несмотря на эту чрезвычайную сложность, вызванную примитивностью конструкции, ENIAC мог выполнять пять тысяч простых сложений или вычитаний в секунду, 385 операций умножения, 40 операций деления и извлечение трех квадратных корней. При некоторой изобретательности, а также терпении можно было программировать повторяющиеся задачи или операторы цикла, похожие на оператор цикла for-to и условные операторы if-then. В 1948 году Джон фон Нейман изобрел устройство, аналогичное современной памяти ROM (ПЗУ, постоянное запоминающее устройство), или память только для чтения, которая была успешно применена на ENIAC. В1950 году в результате использования ENIAC в Соединенных Штатах появилась компания UNIVAC, с которой родилась современная компьютерная индустрия. Осенью 1955 года ENIAC был отключен. Так этот мастодонт, затмивший успехи британцев (Colossus, Pilot АСЕ, Baby, Ferranti Mark I), сыграл свою роль. Спустя годы UNIVAC передал пальму первенства IBM, а США с тех пор доминируют на мировом рынке компьютеров.
Компьютер ENIAC в Пенсильванском университете, США.
Согласно американским архивным документам, один из авторов ENIAC, Джон Уильям Мокли (1907-1980), вдохновился созданием другого компьютера под названием ABC (Atanasoff-Berry Computer), который был сконструирован инженером-электронщиком Джоном Винсентом Атанасовым (1903-1995) в Айовском университете с использованием нескольких сотен электронных ламп. Однако есть и те, кто защищает другую версию: первым компьютером был Mark I Говарда Эйкена (1900— 1973), построенный между 1939 и 1940 годами. Этот компьютер был создан в сотрудничестве с IBM, в нем использовались зубчатые механизмы, колеса и реле согласно идеям британского ученого Бэббиджа. С другой стороны, в Европе также появился первый компьютер — Colossus, при этом он не был универсальной машиной Тьюринга. Есть еще одна версия: первый компьютер создал в 1930-е годы немецкий студент инженерного факультета Конрад Цузе (1910-1995). Машина Цузе могла выполнять операции в двоичной системе исчисления с использованием реле, которые действовали как переключатели: они могли быть включены — состояние 1, или выключены — состояние 0. Первую машину Цузе собрал в спальне своих родителей, затем эта модель была улучшена, однако Вторая мировая война разрушила мечты конструктора. Подводя итог, мы можем сказать, что компьютер был британо-американским изобретением, задуманным для решения военных задач и реализованным в ходе Второй мировой войны и сразу после нее.
АРХИТЕКТУРА ДЖОНА ФОН НЕЙМАНА
Американский математик венгерского происхождения Джон фон Нейман (1903-1957), еще один гениальный исследователь, наравне с Аланом Тьюрингом внес огромный вклад в развитие информатики. Тьюринг и фон Нейман были старыми знакомыми еще со времен первой встречи в Принстонском университете в Нью-Джерси. Фон Нейману были прекрасно известны работы Тьюринга по вычислительной теории и его знаменитые машины, особенно его заинтересовала универсальная машина Тьюринга, изучением которой фон Нейман занимался на протяжении нескольких лет.