 Алан Тьюринг Идея создания машины с программой, хранимой в памяти, начала находить своих энтузиастов, особенно в Англии. Среди тех, кто получил экземпляр отчета о проекте «Эдвак», был сотрудник британской Национальной физической лаборатории Дж. Р. Уомерзли. Его пригласили в США для знакомства с работами над машинами «Эниак» и гарвардским «Марком-1». Вернувшись в Англию, Уомерзли привез с собой экземпляр отчета о разработке машины «Эдвак» и страстное желание начать аналогичные разработки в своей стране.Для работы над проектом он в первую очередь пригласил Алана Тьюринга Alan Turing, во время войны принимавшего участие в создании сверхсекретной английской декодирующей машины «Колосс».Свой первый вклад в теорию вычислений Алан Тьюринг сделал десятилетием раньше, когда в возрасте 25 лет опубликовал статью «О вычислимых числах». В ней описывал ось гипотетическое устройство, состоящее лишь из бесконечной бумажной ленты и головки, которая могла считывать и обрабатывать записанные на ней символы.Машина Тьюринга была пригодна для решения любой разрешимой математической или логической задачи. Цель Алана Тьюринга заключалась не в изобретении компьютера, а в описании задач, не имеющих решения. Вместе с тем в гипотетической машине Тьюринга были предвосхищены некоторые черты современных компьютеров. Например, бесконечную ленту можно рассматривать как своеобразную универсальную внутреннюю память.Благодаря Алану Тьюрингу машина «Колосс» великолепно справилась с расшифровкой донесений, создаваемых немецкой шифровальной машиной «Загадка». Хотя машина «Колосс» была спроектирована как логический компьютер специального назначения, по существу она была достаточна универсальна, чтобы решать целый ряд разнообразных задач. И поскольку это была первая машина, в которой применялось большое количество электронных ламп (она вступила в эксплуатацию на два года раньше машины «Эниак»), она также стала базой для подготовки научных кадров в области электронных вычислительных машин.Наличие квалифицированных специалистов позволило Великобритании быстро включиться в гонку, призом в которой было создание компьютера с программой, хранимой в памяти.По иронии судьбы приблизительно в то же время, когда осуществлялся проект «Колосс», Конрад Цузе обратился к правительству фашистской Германии с просьбой о выделении средств на создание аналогичного устройства для дешифровки английских секретных кодов. Характерно, что в этом устройстве также предполагалось использовать электронные лампы.Однако ходатайство Цузе было отклонено с мотивировкой, что война закончится прежде, чем такая машина заработает.Выполняя задание Уомерзли (изучить проект фон Неймана и построить компьютер, подобный машине «Эдвак», Алан Тьюринг разработал план создания машины ACE (Automatic Computing Engine - автоматическое вычислительное устройство). Пользуясь буквенно-цифровым кодом, он даже написал для нее несколько простых программ.Однако проект ACE натолкнулся на целую цепь бюрократических препон, что расстроило планы Алана Тьюринга и вынудило его отстраниться от работы задолго до того, как в 1950 г. она завершилась созданием уменьшенного опытного варианта машины.Следующую «остановку» Тьюринг сделал в Манчестерском университете, где под руководством Макса Ньюмена велись работы над еще одним компьютерным проектом. Ньюмен, один из крупнейших английских математиков, помогал в организации работ по проекту «Колосс» и, конечно, был хорошо знаком с достижениями в этой области.Еще до прихода Алана Тьюринга группа Ньюмена построила небольшую действующую модель полностью электронного компьютера с хранимой в памяти программой, который, как и гарвардская машина, получил название «Марк-1».Внутренняя память манчестерского компьютера была построена на 6 электронно-лучевых трубках (ЭЛТ), аналогичных тем, какие применяются в радиолокаторах и телевизорах. В торце трубки находилась электронная пушка, испускающая пучок электронов, которые создавали заряженные точки на покрытой фосфором внутренней поверхности трубки.Включаясь и выключаясь по команде компьютера, пучок генерировал точки, которые соответствовали нулям и единицам двоичного кода. Производя регенерацию заряда 30 раз в секунду, можно было удерживать записанную информацию. Для обнаружения (или считывания) заряженных точек использовалась система специальных электродов, расположенных снаружи трубки в непосредственной близости от ее поверхности. Кроме того, поскольку заряженные точки мог видеть и человек, одна трубка устанавливалась отдельно, что позволяло оператору визуально наблюдать содержимое любой другой трубки.Система заработала не сразу. После запуска машины «точки на экране трубки заметались в каком-то сумасшедшем танце, - вспоминал главный инженер Ф. К. Уильямс. - В первых испытаниях это был поистине танец смерти, который не приводил ни к какому полезному результату, и, что еще хуже, не давал ни малейшего намека на то, где искать неисправность.Однако 21 июня 1948 г. манчестерский «Марк-1» реализовал первую в мире программу, хранимую в памяти машины, - поиск наибольшего сомножителя заданного числа. Как с восторгом заявил Уильямс, «в нужном месте ярко светился ожидаемый результат).Пока манчестерский «Марк-1» делал первые блестящие успехи на непроторенном пути, другая группа англичан из Кембриджского университета завершала работу над машиной, которой суждено было продемонстрировать истинные возможности компьютеров с хранимой в памяти программой.Машина «Эдсак» (EDSAC, от Electronic Delay Storage Automatic Calculator - электронный автоматический вычислитель с памятью на линиях задержки) была в сущности прямой копией машины «Эдвак».Руководитель университетской вычислительной лаборатории Морис Уилкс, находясь летом 1946 г. в США, прослушал там курс лекций, посвященный машинам с программами, хранимыми в памяти. Лекции читали Мочли, Экерт и другие сотрудники Пенсильванского университета.Как и в проекте Мочли и Экерта, внутренняя память английской машины строилась на ртутных линиях задержки. Они действовали медленнее и были дороже, чем ЭЛТ, но позволяли хранить больший объем информации и, кроме того, отличались более высокой надежностью. Компьютер «Эдсак», созданный на два года раньше, чем злополучный «Эдвак», вступил в строй спустя год после манчестерского «Марка-1», в июне 1949 г. Машина Тьюринга Состояние машины
| Если головка читает пробел
| Если головка читает X
| СОСТОЯНИЕ 1
| СТОП
| Стереть; перейти в состояние 2; сдвинуться влево
| СОСТОЯНИЕ 2 | Записать; перейти в состояние 3; сдвинуться влево
| Остаться в состоянии 2 сдвинуться влево | СОСТОЯНИЕ 3 | Записать; перейти в состояние 4; сдвинуться вправо
| Остаться в состоянии 3; сдвинуться влево
| СОСТОЯНИЕ 4 | Перейти в состояние 5; сдвинуться вправо
| Остаться в состоянии 4; сдвинуться вправо
| СОСТОЯНИЕ 5 | СТОП
| Стереть; перейти в состояние 2; сдвинуться влево
| В 1936 г., будучи студентом Кембриджского университета, английский математик Алан Тьюринг написал статью «О вычислимых числах», в которой рассмотрел гипотетическое устройство (впоследствии получившее название «машина Тьюринга») - прообраз программируемого компьютера.
Машина Тьюринга предназначалась для выполнения логических операций: она могла читать, писать и стирать символы, записанные в клетках бесконечной ленты. На каждом шаге вычислений следующее действие машины целиком и полностью определялось ее текущим состоянием и символом, который в данный момент считывается.
Команды машины Тьюринга описывают пять состояний; в каждом из них от машины требуется выполнить определенные действия. Свою работу машина Тьюринга начинает в состоянии один. В приведенном здесь примере машина Тьюринга настроена на удвоение целых положительных чисел. Ее команды описывают пять состояний; в каждом из них от машины требуется выполнить определенные действия.Свою работу машина Тьюринга начинает в состоянии 1, в этот момент считывающая головка установлена в начало записанного числа. Машина завершит работу после выполнения 16 шагов - в этот момент на ленте будет записано удвоенное количество символов.
См. также:
|