Открыть сервис

Асинхронные цифровые схемы

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

История

Первые цифровые вычислительные машины, такие как ENIAC (1945) и EDVAC (1949), были преимущественно асинхронными. В них отсутствовал единый тактовый генератор, а синхронизация достигалась за счёт цепей задержки и взаимных блокировок. Однако с ростом сложности интегральных схем и необходимостью упрощения проектирования в 1970-х годах доминирующей стала синхронная парадигма. Тактовый сигнал позволял легко управлять временными диаграммами и избегать гонок сигналов.

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

Принцип работы

В основе асинхронных схем лежит протокол квитирования (handshake protocol). Он включает два основных сигнала:

  • Запрос (Request, Req) — сигнал от отправителя данных о том, что данные готовы.
  • Подтверждение (Acknowledge, Ack) — сигнал от получателя о том, что данные приняты и можно отправлять следующий блок.

Существует несколько моделей квитирования:

  • Двухфазный протокол (2-phase) — каждый переход сигнала (из 0 в 1 или из 1 в 0) означает событие.
  • Четырёхфазный протокол (4-phase) — используется возврат к нулю (return-to-zero): после события сигнал возвращается в исходное состояние.
  • Протокол с кодированием данных (dual-rail) — каждый бит данных передаётся по двум проводам: один для «0», другой для «1». Наличие сигнала на одном из проводов означает готовность данных.

Логические элементы

Асинхронные схемы используют специальные элементы, такие как C-элемент (Muller C-element). Его выход устанавливается в 1, только когда все входы равны 1, и в 0, когда все входы равны 0. В противном случае выход сохраняет предыдущее состояние. Это позволяет реализовать логику ожидания и синхронизации без тактового сигнала.

Классификация

Асинхронные схемы делятся на несколько архитектурных классов:

По способу кодирования данных

  • Однофазные (single-rail) — данные передаются по одному проводу на бит, а готовность кодируется отдельным сигналом.
  • Двухпроводные (dual-rail) — каждый бит кодируется двумя проводами, что позволяет объединить данные и сигнал готовности.
  • N-из-M (например, 1-of-4) — данные кодируются комбинацией активных линий из общего числа.

По типу управления

  • Самосинхронизирующиеся (self-timed) — каждый блок имеет собственную логику управления.
  • С глобальным асинхронным, локальным синхронным управлением (GALS — Globally Asynchronous, Locally Synchronous)микросхема делится на синхронные домены, обменивающиеся данными асинхронно.

Преимущества и недостатки

Преимущества

  • Низкое энергопотребление. Энергия расходуется только при переключении сигналов, в то время как в синхронных схемах тактовый генератор и распределительная сеть потребляют энергию постоянно, даже когда схема не выполняет полезной работы.
  • Отсутствие проблем с тактовым сигналом. Нет необходимости в сложных схемах синхронизации, буферизации и компенсации перекоса фронтов.
  • Устойчивость к вариациям параметров. Асинхронные схемы менее чувствительны к разбросу задержек в транзисторах, что актуально для наноразмерных технологий.
  • Модульность. Блоки можно заменять или модернизировать, не меняя тактовую частоту всей системы.
  • Электромагнитная совместимость. Отсутствие мощного тактового сигнала с крутыми фронтами снижает уровень электромагнитных помех.

Недостатки

  • Сложность проектирования. Требуется специальное программное обеспечение (CAD) и верификация, так как асинхронные схемы могут быть подвержены гонкам сигналов и состояниям неопределённости.
  • Большая площадь. Асинхронные схемы часто требуют больше транзисторов для реализации логики квитирования и C-элементов.
  • Сложность тестирования. Традиционные методы тестирования (сканирующие цепочки) плохо применимы, так как нет общего тактового сигнала.
  • Меньшая производительность в некоторых задачах. При равной технологии асинхронные схемы могут быть медленнее синхронных из-за накладных расходов на квитирование.

Применение

Асинхронные цифровые схемы находят применение в областях, где критичны низкое энергопотребление, надёжность или устойчивость к помехам:

  • Встраиваемые системы и IoT. Микроконтроллеры для датчиков, носимых устройств и имплантатов, где важна длительная работа от батареи.
  • Космическая и военная электроника. Устойчивость к радиации и перепадам температур.
  • Микропроцессоры. Существуют экспериментальные асинхронные процессоры, например, AMULET (1990-е, Великобритания) на основе архитектуры ARM, и GA144 (GreenArrays) — массив из 144 асинхронных ядер.
  • Сети на кристалле (NoC). Асинхронные коммутаторы и маршрутизаторы для передачи данных между ядрами в многоядерных процессорах.
  • Криптографические устройства. Асинхронные схемы обладают повышенной устойчивостью к атакам по побочным каналам (анализ мощности, времени), так как их потребление тока менее предсказуемо.

Примеры реализации

Процессор AMULET

Разработан в Манчестерском университете (Великобритания) в 1993–2000 годах. AMULET1 был первым асинхронным процессором, совместимым с ARM. Он использовал четырёхфазный протокол квитирования и C-элементы для управления. Последняя версия, AMULET3, достигла производительности, сопоставимой с синхронным ARM7.

Микросхема GA144

Компания GreenArrays (США) выпустила микросхему GA144, содержащую 144 асинхронных вычислительных ядра. Каждое ядро имеет собственную память и может работать независимо. Энергопотребление составляет около 1 мВт на ядро при тактовой частоте 100 МГц.

Асинхронная память

Некоторые типы статической памяти (SRAM) реализуются асинхронно, что позволяет снизить задержки доступа и энергопотребление.

Перспективы

С развитием технологий производства (менее 10 нм) и ростом числа ядер на кристалле асинхронные схемы становятся всё более актуальными. Исследования ведутся в области:

  • Асинхронных нейроморфных процессоров — моделирование биологических нейронных сетей, где импульсы (спайки) естественным образом асинхронны.
  • Квантовых вычислений — квантовые схемы по своей природе асинхронны, и классические асинхронные методы могут быть адаптированы для управления кубитами.
  • Гибридных GALS-систем — сочетание синхронных ядер с асинхронной межсоединительной сетью.

Источники

  • Sparsø, J. (2006). Principles of Asynchronous Circuit Design: A Systems Perspective. Springer.
  • Hauck, S. (1995). «Asynchronous Design Methodologies: An Overview». Proceedings of the IEEE, 83(1), 69–93.
  • Sutherland, I. E. (1989). «Micropipelines». Communications of the ACM, 32(6), 720–738.
  • Martin, A. J., & Nyström, M. (2006). «Asynchronous Techniques for System-on-Chip Design». Proceedings of the IEEE, 94(6), 1089–1120.
  • GreenArrays, Inc. (2010). GA144 Datasheet.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →