Книга Игра в имитацию - Эндрю Ходжес
Шрифт:
Интервал:
Закладка:
Учитывая свойства универсальной машины вкупе с тем фактом, что машинный процесс и процесс приближенного вычисления синонимичны, можно сказать, что универсальная машина = это такая машина, которая, при условии обеспечения надлежащими командами может выполнять любое приближенное вычисление. Этим свойством обладают такие цифровые вычислительные машины, как АВМ. Фактически они являются практическими версиями универсальной машины. У них есть некий центральный узел электронных элементов и большая память. Когда требуется решить какую-либо задачу, производится настройка соответствующих команд, хранящиеся в памяти АВМ, на ее выполнении, и вычислительный процесс запускается.
Алан отдавал предпочтение большой, быстрой памяти, при этом считая, что система аппаратных средств («железо») должна быть настолько простой, насколько это возможно. В последнем требовании выражался его «островной» менталитет, склонный все делать с наименьшими отходами. Но оба эти условия должны были обеспечивать универсальность машины. Любая идея Алана всегда подразумевала, что все действия в плане усовершенствования процесса или удобства для пользователя следовало выполнять посредством мышления, а не оборудования, с помощью команд (программы), а не «железа».
В его философии представлялось расточительностью, если не сумасбродством, производить операции сложения и умножения с помощью дополнительных технических средств устройств, коль скоро их можно было заменить командами (инструкциями), сводящимися к более простым логическим операциям ИЛИ, И, либо НЕТ. Включение этих простых логических операций (отсутствующие в проекте ЭДВАК) в архитектуру АВМ позволяло ему пренебречь сумматорами и умножителями, но все равно получить при этом универсальную машину. И, на самом деле, он включил специальные аппаратные средства для выполнения арифметических задач, но даже при этом он разложил арифметические операции на малые фрагменты с тем, чтобы сэкономить на «железе» с помощью большего набора команд. Вся концепция была невероятно удивительной и озадачивающей для его современников, для которых электронно-вычислительная машина являлась машиной для решения арифметических задач, а умножитель сущностным для ее функционирования. Для Алана Тьюринга умножитель был довольно утомительным техническим элементом; сущностным для машины он считал систему логического управления, которая черпала команды (инструкции) из памяти и приводила их в действие.
По схожим причинам в его докладе не делалось особого акцента на том, что АВМ должна была использовать двоичную систему счисления. Алан констатировал преимущество двоичного представления информации на ленте (перфокарте), когда переключатели могли представлять 1 и 0 режимами «включено» и «выключено». И на этом все, за исключением разве лаконичного заявления о том, что для ввода/вывода чисел в машине использовалась обычная десятичная запись, а процесс их преобразования должен быть представлен в «практически невидимой форме». В беседе, состоявшейся в 1947 г., Алан конкретизировал этот кратчайший из всех возможных комментариев. Суть была в том, что универсальность машины позволяла конвертировать числа в самой машине в двоичный формат, если это отвечало технологической концепции. Использовать двоичные числа в кассовом аппарате было бы некорректно и нецелесообразно, так как преобразование чисел для ввода/вывода было более проблемным и хлопотным, чем оно того стоило.
Последнее утверждение звучит парадоксально, но это — лишь следствие того факта, что эти машины можно спроектировать так, чтобы они выполняли любое действие по приближенному подсчету в результате запоминания соответствующих команд. В частности, можно сделать такую машину, которая бы выполняла преобразование из двоичной формы в десятичную. Например, в случае с АВМ предоставление преобразователя (конвертера) достигается всего лишь добавлением двух дополнительных линий задержки в память. Подобная ситуация весьма типична для АВМ. Есть много мелких «привередливых» деталей, за которыми нужен уход и которые в обычной инженерной/конструкторской/практике потребовали бы создания особых схем. Мы можем справиться с такими проблемами, обойдясь без модификации самой машины, посредством одной голой «бумажной» работы, сводящейся в конечном итоге к вводу соответствующих команд.
Это было логично и безусловно понятно математикам, знакомым с двоичными числами, по меньшей мере, три сотни дел. Для других людей факт мелкие «привередливые» детали оборачивались головной болью для других людей. В частности, для инженеров-конструкторов было практически откровением то, что концепцию чисел можно было отделить от их представления в десятичной форме. Многие люди воспринимали саму «двоичную» арифметику АВМ, как необычное и чудесное новаторское решение. И хотя Алан был абсолютно прав, усматривая в этом частный момент, легко себе представить, какие трудности ему доводилось испытывать в общении с определенным сортом людей, которые должны были финансировать, организовывать и собирать его машину.
Презрев такие частности, Алан в своем докладе сконцентрировался на двух действительно важных моментах: памяти и управлении.
Обсуждая вопрос хранения данных, он перечислил все формы дискретного хранения, над которыми раздумывали они с Доном Бейли, включая пленку, перфокарты, магнитную ленту и «кору головного мозга», сопроводив каждую оценкой (в ряде случаев явно фантастической) времени доступа и количеством знаков, которые можно было сохранить за фунт стерлингов. В крайнем варианте можно было использовать запоминающее устройство целиком на электронных лампах, обеспечивающее доступ к информации в течение микросекунды, но чрезмерно дорогостоящее. Как указал Алан в своем уточнении 1947 г., «сохранение контента обычного романа такими средствами обошлось бы в несколько миллионов фунтов». Необходимо было найти компромисс между стоимостью и скоростью доступа. Алан согласился с предложением фон Неймана (сославшегося в Предварительно докладе о машине ЭДВАК на возможность разработки в будущем специального «иконоскопа» или телевизионного экрана) о целесообразности хранении чисел в форме схемы точек. Алан описал ее, как «наиболее обнадеживающую схему, с позиции экономии и скорости». Однако в пророческом параграфе доклада об АВМ он также предложил свой подход, естественно, основанный на принципе «наименьшей затраты сил»:
Представляется вероятным, что подходящую систему хранения данных можно разработать без привлечения каких-либо новых типов трубок, используя обычную электронно-лучевую трубку с оловянной фольгой поверх экрана в качестве сигнальной пластины. Потенциальный рельеф постепенно разрушается, и его необходимо периодически восстанавливать… Нужно будет остановить считывание записи электронным пучком, перейти к точке, с которой должна быть взята требуемая информация, произвести там считывание, заменить информацию, стертую в процессе считывания, и вернуться к восстановлению с точки, на которой остановились. Следует также убедиться, что восстановление не откладывалось слишком надолго из-за более неотложных обязанностей. Все эти меры не представляют особой сложности, но, без сомнения, потребуется время, чтобы их отработать.
За отсутствием такой электронно-лучевой трубки Алан был вынужден остановить свой выбор на ртутных линиях задержки — без особого энтузиазма, просто потому, что они уже применялись. Но у такого варианта имелся один явный недостаток; связан он был с доступом данных. По задумке Алана, через линию задержки должна была пропускаться последовательность из 1024 импульсов (это было сродни разделению «ленты» Универсальной машины Тьюринга на сегменты, длиной 1024 клетки каждый). На передачу на заданный вход в среднем уходило бы 512 единиц времени (тактов). Тем не менее, это был шаг вперед по сравнению с «папирусным свитком».