Онлайн
библиотека книг
Книги онлайн » Разная литература » Вычислительная машина и мозг - Джон фон Нейман

Шрифт:

-
+

Закладка:

Сделать
1 ... 9 10 11 12 13 14 15 16 17 ... 23
Перейти на страницу:
при условии, что этот процесс протекает достаточно медленно по сравнению с временны́м интервалом t2.

В машинах данного типа считывание условий в виде числовых значений (например, для целей логического управления; ср. выше) может представлять некоторые сложности. Однако существуют устройства, которые способны преобразовывать такое число, т. е. плотность импульсов во времени, в аналоговую величину. (Например, плотность импульсов, каждый из которых доставляет стандартный заряд к медленно разряжающемуся конденсатору [через заданное сопротивление], будет поддерживать достаточно постоянный уровень напряжения и ток утечки; оба эти параметра представляют собой широко используемые аналоговые величины.) Эти аналоговые величины затем могут применяться для логического управления, как описано выше.

После обсуждения основ функционирования и управления вычислительных машин я хотел бы остановиться на их практическом применении и его основных принципах.

Точность

Сравним сначала применение аналоговых и цифровых вычислительных машин.

Основное ограничение аналоговых машин связано с точностью. Так, точность электрических аналоговых машин редко превышает 1:103; даже механические машины (типа дифференциального анализатора) в лучшем случае позволяют добиться точности 1:104–105. Цифровые машины, напротив, могут обеспечить любую желаемую степень точности. Например, точность двенадцатиразрядной десятичной машины, упомянутой ранее, составляет 1:1012 (по причинам, которые мы рассмотрим ниже, такая точность типична для современных цифровых машин). Также следует отметить, что повысить точность гораздо легче в цифровом, нежели в аналоговом режиме. Так, перейти от 1:103 к 1:104 в дифференциальном анализаторе относительно просто; перейти от 1:104 к 1:105 – можно, но это самое большее, на что способны современные технологии; перейти от 1:105 к 1:106, используя существующие средства, невозможно. С другой стороны, перейти от 1:1012 к 1:1013 в цифровой машине – значит просто добавить один разряд к двенадцати; обычно это предполагает всего лишь относительное увеличение оборудования (не везде!) на 1 / 12 = 8,3 % и соответствующее уменьшение скорости (не везде!). Ни то ни другое не является значимым. Частотно-импульсная система сравнима с аналоговой системой. На самом деле она еще хуже: крайне низкая точность обусловлена самим ее устройством. Так, точность 1:102 требует 102 импульсов на временно́й интервал t1 (ср. выше); т. е. один этот фактор снижает скорость машины в 100 раз. Смириться с такой потерей в скорости, как правило, нелегко; бо́льшие потери обычно считаются недопустимыми.

Причины высоких (цифровых) требований к скорости

На этом этапе возникает другой вопрос: почему вообще необходима такая высокая точность (например, 1:1012, как в цифровых машинах)? Почему недостаточно точности аналоговых машин (скажем, 1:104) или точности частотно-импульсных систем (скажем, 1:102)? В большинстве задач прикладной математики и конструирования точность данных составляет не больше 1:103 или 1:104, а иногда не достигает и 1:102. Для ответов тоже не требуется высокой точности. В химии, биологии или экономике, а также в других практических задачах требования к точности обычно еще ниже. Тем не менее опыт современных вычислений показывает, что для большинства важных задач недостаточно даже точности 1:105 и что на практике полностью оправданно использование цифровых машин с точностью порядка 1:1010 и 1:1012. Причины такого удивительного явления крайне интересны и связаны с внутренней структурой наших современных математических и численных процедур.

Характерная особенность этих процедур заключается в том, что, если их разложить на составные элементы, они окажутся очень длинными. Это справедливо для всех задач, оправдывающих применение быстродействующих вычислительных машин, т. е. для всех задач по меньшей мере средней степени сложности. Основная причина заключается в том, что современные вычислительные методы требуют разложения всех математических функций на комбинации основных операций – обычно четырех арифметических действий или их аналогов. Фактически большинство функций можно лишь аппроксимировать таким образом; обычно это приводит к довольно длинным (возможно, определяемым итеративно) последовательностям основных операций (ср. выше). Иными словами, арифметическая глубина необходимых операций, как правило, весьма велика. Следует отметить, что логическая глубина во много раз больше. Если, к примеру, четыре арифметических действия разложить на составляющие их логические шаги (ср. выше), то каждое из них само по себе будет представлять длинную логическую цепочку. Однако здесь я буду говорить только об арифметической глубине.

При большом количестве арифметических операций ошибки, совершаемые в каждой из них, накладываются друг на друга. Поскольку они носят преимущественно (хотя и не всегда) случайный характер, при N операций ошибка возрастет не в N раз, а в √N раз. Само по себе это не требует точности пошаговых вычислений 1:1012 для точности конечного результата 1:103 (ср. выше). Для этого нужно 1 /1012 √N ≈ 1 / 103, т. е. N ≈ 1016, тогда как даже в самых быстрых современных машинах N едва ли превышает 1010. (Машина, выполняющая арифметические операции каждые 20 микросекунд и работающая над одной задачей 48 часов, представляет собой крайний случай. Но даже здесь N ≈ 1010.) Впрочем, важную роль тут играет следующее обстоятельство. Операции, выполняемые в ходе вычисления, могут усиливать ошибки, возникшие при выполнении предыдущих операций. Это способно очень быстро покрыть любой численный разрыв. Выше мы использовали соотношение 1:103 к 1:1012, т. е. 109; разница обусловлена 425 последовательными операциями, каждая из которых увеличивает ошибку всего на 5 процентов! Я не буду давать здесь подробную и реалистичную оценку этой амплификации, в частности потому, что искусство машинных вычислений в значительной степени состоит из способов ее удержания на минимально возможном уровне. В любом случае обширный опыт позволяет сделать вывод, что высокие уровни точности, упомянутые выше, абсолютно оправданны при решении достаточно сложных задач.

Прежде чем закончить непосредственное обсуждение вычислительных машин, я хочу сказать несколько слов о скорости их работы, размерах и тому подобных параметрах.

Характеристики современных аналоговых машин

Количество органов основных операций в крупнейших из существующих аналоговых машин составляет одну-две сотни. Устройство этих органов зависит, конечно, от типа используемого аналогового процесса. В недавнем прошлом они были преимущественно электрическими или электромеханическими (механическая ступень служила для повышения точности; ср. выше). Сложное логическое управление (как и любое логическое управление этого типа; ср. выше) требует наличия определенных органов типично цифрового действия, таких как электромеханические реле или электронные лампы (последние в этом случае работают не на предельных скоростях). Количество таких органов может достигать нескольких тысяч, а общая стоимость такой машины – порядка 1 000 000 долларов США.

Характеристики современных цифровых машин

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

1 ... 9 10 11 12 13 14 15 16 17 ... 23
Перейти на страницу:

Еще книги автора «Джон фон Нейман»: