Шрифт:
Закладка:
Во-первых, о сложении: в отличие от физических процессов, которые опосредуют сложение в аналоговых машинах (ср. выше), в цифровых машинах данная операция подчиняется строгим правилам логического характера. Эти правила диктуют, как получать цифровые суммы, когда осуществлять перенос, как повторять и комбинировать эти операции. Наиболее очевидной логическая природа цифровой суммы становится при использовании двоичной (а не десятичной) системы счисления. В самом деле, таблицу двоичного сложения (0 + 0 = 00, 0 + 1 = 1 + 0 = 01, 1 + 1 = 10) можно сформулировать следующим образом: если две складываемые цифры различны, цифра суммы – 1, в противном случае – 0; если обе складываемые цифры – единицы, цифра переноса – 1, в противном случае – 0. На самом деле из-за возможности переноса нам нужна таблица двоичного сложения для трех членов (0 + 0 + 0 = 00, 0 + 0 + 1 = 0 + 1 + 0 = 1 + 0 + 0 = 01, 0 + 1 + 1 = 1+ 0 + 1 = 1 + 1 + 0 = 10, 1 + 1+ 1 = 11), которую можно сформулировать так: если число единиц в слагаемых (включая перенос) нечетно (1 или 3), цифра суммы – 1, в противном случае – 0; если количество единиц в слагаемых (включая перенос) больше, чем нулей (2 или 3), цифра переноса – 1, в противном случае – 0.
Во-вторых, о вычитании: логическая структура вычитания очень похожа на логическую структуру сложения. Более того, вычитание можно свести к сложению (обычно так и поступают) с помощью простого приема дополнения вычитаемого.
В-третьих, об умножении: логическая природа умножения очевиднее, а структура сложнее, чем у сложения. В процессе умножения образуются произведения множимого на каждую цифру множителя (обычно выполняется для всех возможных десятичных цифр с помощью различных схем сложения), которые затем складываются (с соответствующими сдвигами). В двоичной системе логический характер данной операции еще более прозрачен и очевиден. Поскольку единственными возможными цифрами являются 0 и 1, произведение множимого на каждую цифру множителя опускается, если эта цифра – 0, и равно множимому, если эта цифра – 1.
Вышесказанное относится к умножению положительных чисел. Если оба множителя могут быть как положительными, так и отрицательными, возможны четыре варианта, которые регулируются дополнительными логическими правилами.
В-четвертых, о делении: логическая структура деления сравнима с логической структурой умножения, за исключением того, что при делении применяются различные итеративные процедуры вычитания, основанные на принципе проб и ошибок. Определение цифр частного подчиняется особым логическим правилам в зависимости от результатов повторяющихся действий решающей схемы.
Подводя итоги, можно сказать, что все подобные операции в корне отличаются от физических процессов, используемых в аналоговых машинах. Все они представляют собой модели альтернативных действий, организованные в многократно повторяющиеся последовательности и подчиняющиеся строгим логическим правилам.
В случае умножения и деления указанные правила носят довольно сложный логический характер. (Мы можем не замечать данное обстоятельство, поскольку учимся делить и умножать с самого детства, но если попробовать сформулировать эти операции полностью, степень их сложности станет очевидна.)
Логическое управление
Помимо выполнения основных операций по отдельности, вычислительная машина должна уметь выполнять совокупность таких операций в соответствии с заданной последовательностью, точнее, логической схемой, что и является конечной целью вычислений. В традиционных аналоговых машинах, типичным примером которых служит дифференциальный анализатор, последовательность операций достигается следующим образом. В машине должно быть столько органов, сколько требуется для выполнения основных операций в рамках желаемых вычислений, т. е. достаточно дифференциалов и интеграторов (для двух основных операций (x + y) / 2 и ∫t x (t) dy (t) соответственно; ср. выше). Эти органы, т. е. их входные и выходные диски (точнее валы), следует соединить друг с другом (с помощью зубчатых колес в ранних моделях и электрических устройств слежения – сельсинов – в современных машинах) таким образом, чтобы получилась как бы копия требуемого вычисления. Отметим, что данная машина должна позволять использующему ее человеку инициализировать ее схемой вычислений, т. е. сообщить ей задачу. Если в первых машинах (с зубчатым колесом; ср. выше) инициализация осуществлялась при помощи механических средств, то в новейших машинах (с электрической связью; ср. выше) она реализуется с помощью коммутации. Тем не менее в обоих типах машин такая инициализация фиксируется на весь период решения задачи.
Коммутационное управление
В некоторых новейших аналоговых машинах введено еще одно усовершенствование – электрические коммутационные связи. Эти связи управляются электромеханическими реле; следовательно, их можно изменять посредством подачи управляющего напряжения на электромагниты, замыкающие и размыкающие эти реле. Управление электрическим напряжением осуществляется с помощью перфорированных бумажных лент, которые запускаются и останавливаются (перезапускаются и вновь останавливаются и т. д.) электрическими сигналами, зависящими от хода выполнения вычислений.
Логическое управление с помощью перфоленты
Последнее утверждение означает, что определенные вычислительные органы машины способны фиксировать некие заранее заданные условия (например, знак числа поменялся на отрицательный, одно число стало меньше другого и т. д.). Заметим: если числа представлены электрическим напряжением или током, то их знаки могут быть распознаны с помощью выпрямителей; если используется вращающийся диск, знак показывает, как именно диск прошел нулевое положение (вращаясь вправо или влево); одно число становится меньше другого, когда знак их разности становится отрицательным и т. д. Таким образом, логическое управление с помощью ленты, а точнее – управление на основе состояния вычислительного процесса в сочетании с лентой – накладывается на управление на основе фиксированных связей.
В цифровых машинах с самого начала применялись другие системы управления. Однако, прежде чем перейти к их обсуждению, я хотел бы сделать несколько общих замечаний касательно цифровых машин и их взаимосвязи с аналоговыми машинами.
Принцип только одного органа для каждой основной операции
Необходимо подчеркнуть, что в цифровых машинах обычно предусмотрен только один орган для каждой основной операции, в отличие от аналоговых машин, в которых должно быть достаточно органов для каждой основной операции в зависимости от требований решаемой задачи (ср. выше). Тем не менее следует отметить, что это, скорее, исторический факт, нежели объективная необходимость: аналоговые машины (с электрическими связями; ср. выше) тоже могут иметь всего один орган для каждой основной операции. Логическое управление таких машин будет рассмотрено ниже. (Читатель может с легкостью убедиться сам, что новейший тип управления аналоговых машин, описанный выше, представляет собой переход к данному режиму работы.)
Также следует отметить, что некоторые цифровые машины в той или иной степени отклоняются от принципа