Главная arrow Компьютерная революция arrow Асинхронные процессоры
Как начинался компьютер
Компьютерная революция
Двоичный код
Разработки военных лет
Интегральные микросхемы
Микрокомпьютер
Персоны
Сеть
Язык компьютера
Развитие ПО
Гибкие системы
Средства разработки
Информатика
Вычислительная наука
Операционные системы
Искусственный интеллект
Предыстория
Поиск
Знания и рассуждения
Логика
Робототехника
 

 
Асинхронные процессоры Печать

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

Изначально все процессоры были синхронными. Так продолжалось более полувека, электронщики и программисты считали, что это естественно и само собой разумеется. Поэтому тактовая частота является одной из основных характеристик современных процессоров, хотя их производительность определяется не только ею, но также архитектурой и набором команд. Главный конструктор бортовых систем (БЦВМ) для ВМФ Ярослав Афанасьевич Хетагуров на одном из заседаний Совета Виртуального компьютерного музея рассказывал, что его однажды вызвали в ЦК КПСС и попросили объяснить, почему быстродействие его БЦВМ в десять раз ниже, чем у использующего схожую элементную базу американского военного компьютера. Выяснилось, что американцы применили в своей машине очень короткие команды и "в попугаях" она оказалась намного производительнее, хотя на реальных боевых задачах обе машины были примерно равны.

Для начала определим, что такое самотактируемый процессор, самотактируемая логика и т. п. Термины "асинхронный процессор" (asynchronous processor) и "самотактируемый процессор" (self-timed processor, clockless processor) – синонимы, т. е. обозначают одно и то же: процессор, имеющий один или несколько внутренних тактовых генераторов и потому не требующий центрального генератора тактовой частоты и схем, поддерживающих распространение общего внешнего тактового сигнала. Такие процессоры излучают гораздо меньше радиоволн и расходуют меньше энергии по сравнению с синхронными процессорами. При проектировании внутренних блоков асинхронных процессоров не рассматриваются вопросы их синхронизации с другими блоками. Для связи между блоками используется единый протокол: запрос – ответ с квитированием. Когда вычисления не производятся, блоки не потребляют почти ничего, находясь спящем режиме, но тем не менее мгновенно реагируют на запросы. Мы видим здесь, что процессом вычислений управляют данные: нет данных – нет вычислительной активности. Понятно, что такие блоки легче интегрировать в так называемые системы на кристалле (SOC), и в итоге их общая производительность выше, чем у синхронных процессоров. Повышение производительности достигается за счет того, что блоку нет необходимости ждать прихода внешнего тактового сигнала, чтобы выполнить свою работу.

Асинхронная система получается более надежной, поскольку её подсистемы работают в более широких диапазонах изменений напряжения питания и температуры. Важно, чтобы самотактируемым был не только процессор, но и остальные микросхемы: чипсет, ОЗУ, контроллеры и т. д. Весь набор таких микросхем и именуется самотактируемой логикой (clockless logic). Американский термин clockless logic (дословно – "нетактируемая логика") может ввести в заблуждение, поэтому подчеркнем, что для работы асинхронных микросхем тактовые сигналы, как правило, нужны, но их источник локален.

Помимо уже указанных преимуществ самотактируемых процессоров перед традиционными синхронными (synchronous processor) есть и ряд других. В архитектуре, построенной на самотактируемых микросхемах, процессор становится достаточно простым и элегантным. Многие компании, в том числе Intel, IBM и Motorola, проводили исследования в области асинхронных вычислений. К этому подталкивали трудности, возникающие с распространением общего тактового сигнала в ультрабольших интегральных схемах. Первый самотактируемый процессор разработал профессор Элэйн Мартин (Alain Martin) в Калифорнийском технологическом институте (Калтех), а сама идея принадлежит одному из создателей компьютерной графики Айвану Сюзерланду (Ivan Sutherland), написавшему первую статью о нетактируемой логике. В 1990 г. в Университете Манчестера в Англии по этому направлению была создана рабочая группа, а в 1994-м она разработала первый чип для сотовых телефонов. В 1997 г. корпорация Intel, создала совместимый с процессором Pentium асинхронный тестовый кристалл, который был в три раза производительнее и потреблял вдвое меньше энергии. В 1998 г. Philips выпустила асинхронный процессор для своих пейджеров. В 2001 г. Intel в Pentium 4 частично реализовала элементы асинхронной логики.

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

Интересно, что если первоначально многие идеи пришли в ВТ и программирование из машиностроения и конструирования радиоэлектронных устройств, то тут обратное движение: самотактируемые схемы чем-то напоминают ООП.

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

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