Целый ряд вычислительных машин уже находится в действии, и естественно возникает вопрос: «А почему бы нам, вместо того чтобы сомневаться в правильности наших рассуждений, не поставить эксперимент? Удовлетворить условиям было бы нетрудно, в качестве задающих вопросы можно было бы использовать много различных людей, и полученные статистические данные показали бы, как часто задающим вопросы удавалось прийти к правильному заключению».
Коротко на этот вопрос можно ответить так: нас интересует не то, будут ли все цифровые вычислительные машины хорошо играть в имитацию, и не то, будут ли хорошо играть в эту игру те вычислительные машины, которыми мы располагаем в настоящее время; вопрос заключается в том, существуют ли воображаемые вычислительные машины, которые могли бы играть хорошо. Но это только краткий ответ. Ниже мы рассмотрим этот вопрос в несколько ином свете.
IV. Цифровые вычислительные машины
То, что мы имеем в виду, говоря о цифровых вычислительных машинах, можно пояснить следующим образом. Предполагается, что эти машины могут выполнять любую операцию, которую мог бы выполнить человек-вычислитель. Мы считаем, что вычислитель придерживается определенных, раз навсегда заданных правил и не имеет права ни в чем отступать от них. Мы можем также считать, что эти правила собраны в книге, которая заменяется другой, когда вычислитель приступает к новой работе. У человека-вычислителя имеется также неограниченный запас бумаги, на которой он производит вычисления. Кроме того, он может выполнять операции сложения и умножения с помощью арифмометра – это несущественно.
Если данное выше пояснение принять за определение, то возникает угроза того, что наше рассуждение окажется движущимся в замкнутом круге. Чтобы избежать этой опасности, мы приведем перечень тех средств, с помощью которых достигается требуемый эффект. Можно считать, что цифровая вычислительная машина состоит из трех частей:
1) запоминающего устройства,
2) исполнительного устройства,
3) контролирующего устройства.
Запоминающее устройство – это склад информации. Оно соответствует бумаге, имеющейся у человека-вычислителя, независимо от того, является ли эта бумага той, на которой производятся выкладки, или той, на которой напечатана книга правил. Поскольку человек-вычислитель некоторые расчеты проводит в уме, часть запоминающего устройства машины будет соответствовать памяти вычислителя.
Исполнительное устройство – это часть машины, выполняющая разнообразные индивидуальные операции, из которых состоит вычисление. Характер этих операций изменяется от машины к машине. Обычно можно проделывать весьма громоздкие операции, например: «умножить 3 540 675 445 на 7 076 345 687», – однако на некоторых машинах можно выполнять только очень простые операции, вроде таких: «написать 0».
Мы уже упоминали, что имеющаяся у вычислителя «книга правил» заменяется в машине некоторой частью запоминающего устройства, которая в этом случае называется «таблицей команд». Обязанность контролирующего устройства – следить за тем, чтобы эти команды выполнялись безошибочно и в правильном порядке. Контролирующее устройство сконструировано так, что это происходит непременно.
Информация, хранящаяся в запоминающем устройстве, разбивается на небольшие части, которые распределяются по ячейкам памяти. Например, для некоторых машин такая ячейка может состоять из десяти десятичных цифр. Тем ячейкам, в которых хранится различная информация, в некотором определенном порядке приписывают номера. Типичная команда может гласить:
«Число, хранящееся в ячейке 6809, прибавить к числу, хранящемуся в ячейке 4302, а результат поместить в ту ячейку, где хранилось последнее из чисел».
Нет необходимости говорить о том, что если все это выразить на русском
«Теперь выполнить команду, хранящуюся в ячейке 5606, и продолжать оттуда»
или же:
«Если ячейка 4505 содержит 0, выполнить команду, содержащуюся в ячейке 6707, в противном случае продолжать по порядку».