Выбрать главу

Теперь, когда я всерьез заинтересовался вопросами, связанными со скоростью вычислений, мне пришлось рассмотреть относительные достоинства двух основных стратегий вычислительной техники. Одна из этих стратегий, которой придерживался Буш, получила название техники аналоговых устройств и заключалась в том, что числам, участвовавшим в вычислениях, сопоставлялись какие-то измеримые физические величины, имеющие значение, равное соответствующему числу. Другой, цифровой метод вычислительной техники, который используется, например, в обычных настольных арифмометрах, исходит из представления каждого числа в виде определенной последовательности цифр.

Существенным различием между аналоговыми и цифровыми вычислительными машинами является то, что только цифровая машина в принципе работает так же, как и мы сами, когда решаем задачу с помощью карандаша и бумаги. Изображая некоторое число символом 56, мы имеем в виду, что оно является суммой пяти десятков и шести единиц. Если нам нужно умножить это число на 38, т. е. на сумму трех десятков и восьми единиц, мы выполняем эту операцию в таком порядке, как это показано ниже:

При этом нам ни разу не пришлось воспользоваться чем-либо выходящим за рамки таблицы умножения и простейших правил сложения или вспоминать, что наши числа 56 и 38 — это на самом деле 56 градусов или 38 дюймов.

Однако существуют такие цифровые вычислительные машины, в которых число 10 не играет никакой особенной роли и которые работают, исходя из двоичной системы счисления. Для того чтобы понять, как это делается, рассмотрим, например, умножение 7 × 5 = 35 и представим числа 7 и 5 в виде

7 = 4 + 2 + 1,

5 = 4 + 1.

Согласно приведенным равенствам в двоичной системе счисления число 7 изображается числом 111, число 5 — числом 101 (это и значит, что 7 равно сумме одной четверки, одной двойки и одной единицы, а 5 — сумме одной четверки, нуля двоек и одной единицы). При выполнении операции умножения этих двух чисел мы поступим теперь следующим образом:

Вспомнив далее, что в двоичной системе счисления 2 = 10, мы можем переписать число 11211 в виде 12011, или в виде 20011, или, наконец, в виде 100011. Лишь последняя форма является истинно двоичной, ибо только в ней не используются никакие другие цифры, кроме 0 и 1. Переходя теперь обратно к десятичной системе счисления, получим: 32 + 0(16) + 0(8) + 0(4) + 2 + 1 = 35. Этот метод получил название метода умножения в двоичной системе счисления. Я хочу подчеркнуть еще раз, что по существу он ничем не отличается от обычного метода умножения, использующего десятичную систему счисления.

Принцип действия аналоговых вычислительных устройств является совсем другим: здесь за основу можно принять, например, то, что в электродинамометре две катушки притягиваются друг к другу с силой, пропорциональной произведению сил протекающих по ним токов, и что эту силу притяжения можно измерить, если снабдить прибор специальной шкалой. Поэтому, если по обмотке одной катушки течет ток в семь единиц, а другой — в пять единиц, то показание прибора в соответствующих единицах будет равно 35. Приборы такого типа, используемые для перемножения чисел, получили название аналоговых в связи с тем, что они заменяют первоначальную ситуацию, в которой было необходимо умножить одну какую-то величину на другую, новой ситуацией, в которой роль этих величин играют уже две силы тока, причем токи эти ведут себя аналогично исходным величинам, т. е. должны перемножаться между собой для определения величины некоторого физического эффекта.

Цифровые вычислительные машины отличаются от аналоговых, в частности, тем, что они в принципе позволяют получить ответ с любой степенью точности, определяемой лишь точностью задания исходных данных, в то время как точность аналоговых устройств ограничена той точностью, с которой исходная ситуация оказывается аналогичной некоторой другой, используемой в качестве модели в наших вычислениях. Типичными аналоговыми устройствами были, например, машины Буша, предназначенные для решения дифференциальных уравнений.

Что же касается относительных достоинств вычислительных машин этих двух типов, то разнообразие и гибкость современных электрических и прочих измерительных приборов позволяют в настоящее время построить достаточно хорошую аналоговую машину с меньшими затратами труда и времени, чем необходимо для создания цифровой машины такого же качества. Однако если нам нужны большая скорость или высокая точность вычислений, то все преимущества оказываются на стороне цифровых машин. Только некоторые исключительные по своим качествам физические приборы могут обеспечить точность, превышающую одну десятитысячную часть измеряемой величины, что соответствует всего лишь точности, получаемой при использовании четырех десятичных разрядов или менее четырнадцати двоичных разрядов в цифровой машине.