Асинхронные процессоры, в которых отсутствует генератор таковой частоты — это весьма серьезно.

О возобновлении интереса к асинхронным процессорам свидетельствуют несколько обстоятельств. На рынке появились несколько реальных образцов таких процессоров. В мартовском выпуске журнала IEEE Computer опубликована статья «Пришло ли время чипов без часов». Но, пожалуй, наиболее убедителен выпущенный корпорацией IBM в декабре 2004 года отчет [1], где были скрупулезно проанализированы состояние технологий и рынка микропроцессоров в каждом месяце 2004 года, а также намечены основные направления развития микропроцессоров в ближайшем будущем. Наряду с очевидными тенденциями, такими, как переход в нанометровый диапазон и выпуск многоядерных процессоров, в этом прогнозе был указан и ряд «альтернативных» направлений.

  • Отказ от классической технологии пайки. Ужесточение экологических требований в Евросоюзе и Японии побуждает искать замену традиционному припою, содержащему свинец.
  • Спинтроника как альтернатива электронике. Технология спинтроники позволяет интерпретировать данные с помощью не электрического заряда, а магнитного момента квантовых частиц.
  • Асинхронные процессоры как реальная альтернатива синхронным. Использование процессоров без тактового генератора (clockless) станет одним из важнейших направлений прогресса.

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

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

Представители сообщества, занимающегося этими проблемами, встречаются на конференциях, публикуют свои работы. Самое крупное мероприятие сообщества — ежегодный симпозиум International Symposium on Asynchronous Circuits and Systems, организуемый под эгидой IEEE. Консолидирующим органом всего движения является рабочая группа Working Group on Asynchronous Circuit Design (ACiD-WG, www.scism.sbu.ac.uk/ccsv/ACiD-WG). Ее спонсирует Евросоюз.

Самым ярким примером практического использования асинхронной логики стали достижения компании MBDA (прежде MATRA BAe Dynamics), которая на протяжении нескольких десятилетий создает схемы для управления ракетами. Асинхронные подходы обеспечивают работу в режиме реального времени и повышают живучесть устройств. При возникновении неисправностей система плавно деградирует, а не выходит из строя мгновенно. Процессоры Butler Chip, состоящие из 450 тыс. транзисторов, применяются в ракетах «воздух-воздух» ASRAAM и морских антиракетах SeaWolf.

Были и другие прецеденты, но радикально ситуация изменилась в конце 2004 года, когда известный английский разработчик процессоров, компания ARM совместно с Handshake Solutions, «дочкой» Philips Electronics, объявили о грядущем в 2005 году серийном производстве вариации известного 32-разрядного RISC-процессора ARM9. Она отличается от базовой версии того же процессора полностью асинхронным ядром, а ее основные достоинства состоят в уменьшенном на 30-50% энергопотреблении и в чрезвычайно низком уровне электромагнитного излучения. Основное предназначение нового процессора — так называемые «системы-на-кристалле». И надо сказать, его появление отмечено в упомянутом выше отчете IBM как одно из важнейших событий года. Еще одним практическим результатом стал вариант асинхронного процессора для мобильных устройств, представленный в начале 2005 года Seiko Epson.

Все множество решений, относящихся к асинхронным процессорам, можно разделить на три класса.

  • Специализированные машины, в которых значительная часть логики исполняемого приложения реализуется аппаратными средствами. В целом ряде случаев такой подход вполне оправдан. Достаточно вспомнить машину Colossus времен Второй мировой войны, которая с успехом использовалась для расшифровки немецких радиограмм.
  • Технологии «рукопожатия». Подобные решения существуют не менее 20 лет и имеют десятки разновидностей. Их суть заключается в использовании иерархической структуры Globally Asynchronous Locally Synchronous (GALS), которая на нижнем уровне (т.е. уровне логических элементов) синхронна, а на уровне системы — асинхронна. Внутренняя синхронизация достигается за счет механизма, называемого «рукопожатием» (handshake).
  • Методики на основе математического аппарата, расширяющего возможности булевой алгебры. Это, прежде всего, логика NULL Convention Logic Карла Фанта. Его книгу [3] можно рекомендовать всем, кому интересны проблем логики.

Решение компании MBDA, которое получило название Butler Technology, относится к классу специализированных машин. Его можно назвать средством для создания «неполноценной» фон-неймановской машины — неполноценной в том смысле, что такой процессор не является классическим, универсальным, предназначенным для выполнения хранимых в памяти произвольных программ. Дело в том, что для решения определенных задач (скажем, для управления ракетой, летящей на короткое расстояние) требуются специализированные устройства, способные выполнять свои функции надежно и в режиме реального времени. В данном случае основная часть функционала «зашита в железо», и для ее выполнения требуется ограниченное по объему и возможностям программное обеспечение.

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

Вторая «изюминка» — часть схемы «дворецкий» (butler) поддерживает многозадачный режим работы, распределяя входной поток данных между отдельными черепичными фрагментами. Его работа стимулируется внешними событиями, прерываниями от внешних устройств. Программируется собственно «дворецкий», а плюс к тому имеется вспомогательная таблица маршрутизации по «черепицам» потока выполнения задачи.

Исчерпывающее описание состояния дел в области асинхронных процессоров можно найти в отчете [4].

Литература
  1. The year in microprocessors. IBM, 2004, www.ibm.com/developerworks/library/pa-yearend.html.
  2. Л. Черняк. «Открытые системы», № 5, 2002.
  3. К. Фант. Логически детерминированное проектирование систем. www.theseusresearch.com/Downloads/ LogicDetSysDesign-1.pdf.
  4. The Status of Asynchronous Design in Industry. www.scism.sbu.ac.uk/ccsv/ACiD-WG/AsyncIndustryStatus.pdf.