Главная arrow Развитие ПО arrow Алан Тьюринг
Как начинался компьютер
Компьютерная революция
Двоичный код
Разработки военных лет
Интегральные микросхемы
Микрокомпьютер
Персоны
Сеть
Язык компьютера
Развитие ПО
Гибкие системы
Средства разработки
Информатика
Вычислительная наука
Операционные системы
Искусственный интеллект
Предыстория
Поиск
Знания и рассуждения
Логика
Робототехника
 

 
Алан Тьюринг Печать
Алан Тьюринг
Идея создания машины с программой, хранимой в памяти, начала находить своих энтузиастов, особенно в Англии. Среди тех, кто получил экземпляр отчета о проекте «Эдвак», был сотрудник британской Национальной физической лаборатории Дж. Р. Уомерзли. Его пригласили в США для знакомства с работами над машинами «Эниак» и гарвардским «Марком-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 шагов - в этот момент на ленте будет записано удвоенное количество символов.
 

 
См. также:
 
Язык Тьюринга - для Манчестерского "Марк-1"