Меж нулем и единицей

54 года - и все тот же «принцип арифмометра»…

Впрочем, грех жаловаться - этот принцип оказался столь гибким в приложениях, что даже принципиально новые идеи вычислительных устройств (например, нейроподобные сети или системы с нечеткой логикой) вначале реализуются в виде программ для «обычных» компьютеров. Зачастую они в этом виде так и остаются навсегда… Все это наводит на мысль, что, возможно, «компьютеры послезавтрашнего дня» с точки зрения «железа» не будут чем-то особенным отличаться от нынешних, но вот процессы, протекающие в их недрах, скорее всего, будут совсем другими.

Вот об этих «других процессах» мы и поговорим.

Цифра или не цифра?

Аналоговые вычислительные машины (АВМ), как известно, устроены не по принципу арифмометра. Обрабатываемая информация в них представляется теми или иными физическими величинами - чаще всего электрическими: напряжением, током, сопротивлением, реже - частотой или интервалами времени. Однако во всех случаях это измеряемые величины, которые доступны непосредственному измерению при помощи прибора.

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

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

Отметим также, что вероятность наступления какого-то события (например, переключения триггера) как величина или параметр, характеризующий какой-либо физический процесс, объективно существует даже тогда, когда мы ее не знаем или не можем вычислить. Это очень важное замечание! Постепенное осознание этого обстоятельства позволило в течение тридцатилетней истории работ над вероятностными вычислителями прийти к принципиально новым идеям в этой области; впрочем, об этом поговорим чуть позже.

В 1970-х годах начались активные теоретические исследования и разработки так называемых стохастических вычислительных машин, основанных на вероятностном представлении информации. Переменные и константы в этих аналоговых машинах представлялись вероятностями переключения цифровых логических элементов. Другими словами, информация кодировалась вероятностью, которая в силу своих фундаментальных свойств может принимать непрерывный ряд значений в интервале от 0 до 1.

Архитектура стохастических вычислителей в общем-то повторяла решения, разработанные для аналоговых вычислительных машин: программирование сводилось к набору структурной схемы из решающих блоков, которые в отличие от АВМ были построены не на операционных усилителях, а на логических элементах. Подкупала простота технической реализации вычислителя: замена операций над числами операциями над вероятностями позволила воспользоваться глубокими аналогиями, существующими между аппаратом событийной теории вероятности и принципами математической логики; так, например, операция умножения вероятностей независимых событий формально полностью совпадает с логической операцией конъюнкции, а суммированию вероятностей соответствует операция дизъюнкции. Эти аналогии позволяют считать логические переменные некоторыми случайными событиями, имеющими определенные вероятности появления. С инженерной точки зрения это означает, например, что один логический элемент ИЛИ (дизъюнкция) становится сумматором, а единственный элемент И (конъюнкция) превращается в умножитель!

Этот подход оказался особенно хорош для создания специализированных процессоров, рассчитанных на непрерывное вычисление, предположим, управляющего воздействия в системах управления. Будучи «по природе» аналоговым, такой вычислитель мог решать задачи в реальном времени независимо от объемов вычислений; а будучи цифровым (по элементной базе), он был лишен таких принципиальных недостатков обычных АВМ, как дрейф нуля и шумы операционных усилителей, а также наводок в сигнальных цепях.

Появление широко доступных БИС ПЛИС(Программируемая Логическая Интегральная Схема, еще называется ПЛМ - Программируемая Логическая Матрица) и БМК(Базовый Матричный Кристалл. Обычно отличается от ПЛИС (ПЛМ) наличием на кристалле большого набора базовых элементов ввода-вывода, аналого-цифровых и цифро-аналоговых преобразователей, контроллеров стандартных интерфейсов и т. д.) позволило реализовать на одном кристалле довольно сложные схемы стохастических вычислителей, однако широкого распространения они не получили - сказался главный недостаток этой технологии (как и вообще всех аналоговых технологий): неудобство перепрограммирования и слишком сильная «привязка» исполняемого алгоритма к аппаратной части.

«Принцип арифмометра» победил - наступила эпоха универсальных цифровых вычислителей.

Принцип матрешки

Пытаясь представить облик процессора будущего, я постоянно боролся с соблазном начать фантазировать. Еще бы: тут тебе и квантовые вычисления, и ДНК-вычислители, и белковая логика… Квантовые процессоры я бы выделил в отдельную категорию - по единственной причине: им присущи принципиально отличные от других механизмы обработки информации. Все остальное - те же «арифмометры»…

Короче говоря, если в качестве «послезавтрашнего компьютера» вообразить некий «черный ящик», то становится ясно, что дело не в том, на какой элементной базе он построен, а в том, что построено. Какая обрабатывающая среда находится внутри «ящика»?


Перейти на страницу:
Изменить размер шрифта: