Асинхронная схема
Асинхронная схема (также асинхронная цифровая схема, самосинхронизирующаяся схема) — это тип цифровой логической схемы, в которой работа отдельных блоков и переходы между состояниями не привязаны к единому глобальному тактовому сигналу (кварцевому генератору). В отличие от синхронных схем, где все операции синхронизированы по фронту или спаду общего тактового импульса, асинхронные схемы управляются локальными сигналами «запрос/подтверждение» (handshake), что позволяет им выполнять вычисления по мере готовности данных.
История развития
Первые цифровые схемы, построенные в 1940–1950-х годах, были преимущественно асинхронными. Например, релейные вычислители и ранние ламповые машины (ENIAC, МЭСМ) не имели единого тактового генератора — их работа определялась задержками в цепях и последовательностью срабатывания реле. Однако по мере усложнения схем возникли проблемы с гонками сигналов (race conditions) и неопределённостью состояний, что делало асинхронные проекты трудноотлаживаемыми.
В 1960-х годах, с появлением интегральных схем и микропроцессоров, синхронный подход стал доминирующим: тактовый сигнал упрощал проектирование, позволял избежать гонок и обеспечивал предсказуемость временных характеристик. Тем не менее, исследования в области асинхронных схем продолжались. В 1970-х годах Дэвид Миллер и Айвен Сазерленд (лауреат премии Тьюринга) заложили теоретические основы самосинхронизирующихся схем, а в 1980-х годах были разработаны первые практические реализации — например, микропроцессор Caltech Asynchronous Microprocessor (CAM).
В 1990–2000-х годах интерес к асинхронным схемам возродился в связи с проблемами энергопотребления и тепловыделения в высокопроизводительных чипах. Крупные компании (Intel, IBM, Philips) экспериментировали с асинхронными блоками в составе коммерческих процессоров, но широкого распространения технология не получила из-за сложности инструментов автоматизированного проектирования (EDA).
Принцип работы
Отличие от синхронных схем
В синхронной схеме все регистры и триггеры обновляют свои состояния одновременно по сигналу тактового генератора (CLK). Время между тактами должно быть больше максимальной задержки распространения сигнала в комбинационной логике, что накладывает ограничения на тактовую частоту.
В асинхронной схеме нет единого тактового сигнала. Вместо этого каждый блок обменивается данными с соседними по протоколу «рукопожатия» (handshake):
- Запрос (Request): отправитель сигнализирует, что данные готовы.
- Подтверждение (Acknowledge): получатель сообщает, что принял данные и готов к новым.
Это позволяет блокам работать с разной скоростью, зависящей от фактической задержки логических цепей, а не от худшего случая.
Модели представления
Асинхронные схемы описываются с помощью нескольких моделей:
- Модель с задержками (Delay-Insensitive, DI): схема корректно работает при любых задержках в проводах и элементах. Наиболее гибкая, но сложная в реализации.
- Модель с квази-задержками (Quasi-Delay-Insensitive, QDI): предполагает, что задержки в проводах пренебрежимо малы по сравнению с задержками в логических элементах. Используется в большинстве практических проектов.
- Модель с ограниченными задержками (Bounded-Delay): предполагает, что задержки находятся в известных пределах, что упрощает синтез, но снижает устойчивость к вариациям.
Классификация
По способу кодирования данных
- Однофазное кодирование (Single-rail): данные передаются по одному проводу, а наличие/отсутствие сигнала интерпретируется как «данные готовы». Требует дополнительного провода для запроса.
- Двухфазное кодирование (Dual-rail): каждый бит данных кодируется двумя проводами (например, «01» — логический 0, «10» — логическая 1, «00» — нет данных). Позволяет встроить сигнал готовности в сам код, но удваивает количество соединений.
- Четырёхфазное кодирование (4-phase): используется для протокола «рукопожатия» с возвратом к нулю (RZ — Return-to-Zero), когда после передачи данных сигналы возвращаются в состояние покоя.
По типу протокола
- Самосинхронизирующиеся (self-timed): каждый блок сам определяет момент завершения своей операции.
- Синхронно-асинхронные (globally asynchronous, locally synchronous — GALS): система состоит из нескольких синхронных доменов, каждый со своим тактовым генератором, которые общаются между собой через асинхронные интерфейсы.
Преимущества и недостатки
Преимущества
- Низкое энергопотребление: асинхронные схемы потребляют энергию только при выполнении операций, в то время как синхронные схемы тратят энергию на переключение тактового сигнала даже при простое. В некоторых реализациях (например, в процессорах с асинхронными блоками) энергопотребление снижается на 30–50 %.
- Отсутствие проблем с тактовым джиттером и разбросом задержек: не требуется жёсткая синхронизация, что упрощает работу на высоких частотах и при экстремальных температурах.
- Модульность и масштабируемость: можно легко добавлять новые блоки без пересчёта тактовых деревьев.
- Устойчивость к вариациям технологического процесса: схема адаптируется к фактическим задержкам, что особенно важно в нанометровых техпроцессах.
Недостатки
- Сложность проектирования: отсутствие глобального тактового сигнала требует специальных методов верификации и синтеза; инструменты EDA для асинхронных схем менее развиты, чем для синхронных.
- Проблемы с гонками и состязаниями: при неправильном проектировании возможны неопределённые состояния и сбои.
- Увеличение площади кристалла: двухфазное кодирование и дополнительные цепи «рукопожатия» требуют больше транзисторов по сравнению с синхронными аналогами.
- Сложность отладки: поведение схемы может зависеть от конкретных задержек, что затрудняет воспроизведение ошибок.
Применение
Микропроцессоры и контроллеры
- AMULET (серия асинхронных процессоров, разработанных в Манчестерском университете, 1990–2000-е годы) — реализация архитектуры ARM на асинхронной логике. AMULET1 (1994) был первым асинхронным микропроцессором, выполнявшим программы на ARM-коде.
- Caltech Asynchronous Microprocessor (CAM) — экспериментальный асинхронный процессор, разработанный в Калифорнийском технологическом институте.
- Intel в 1990-х годах исследовала асинхронные блоки для процессора Pentium, но не внедрила их в коммерческие продукты.
Специализированные интегральные схемы (ASIC)
- Цифровые сигнальные процессоры (DSP): асинхронные схемы используются в некоторых DSP для снижения энергопотребления в мобильных устройствах.
- Контроллеры памяти: асинхронные интерфейсы (например, между процессором и памятью) позволяют работать с разными скоростями без синхронизации.
Системы на кристалле (SoC)
- GALS-архитектуры: современные SoC (например, в смартфонах) часто используют несколько синхронных доменов, соединённых асинхронными мостами, чтобы избежать проблем с тактовым деревом и снизить энергопотребление.
Космическая и военная техника
- Асинхронные схемы устойчивы к радиационным воздействиям (single-event upsets), так как не имеют глобального тактового сигнала, который может быть нарушен. Это делает их привлекательными для спутников и бортовых систем, где надёжность критична.
Нейроморфные вычисления
- В нейроморфных процессорах (например, IBM TrueNorth, Intel Loihi) асинхронные схемы имитируют работу биологических нейронов, где импульсы (spikes) возникают асинхронно.
Современное состояние и перспективы
Несмотря на теоретические преимущества, асинхронные схемы не получили массового распространения в коммерческой микроэлектронике. Основные причины — высокая стоимость разработки и отсутствие зрелых инструментов автоматизированного проектирования. Однако в нишевых областях (низкопотребляющие устройства, радиационно-стойкая электроника, нейроморфные системы) асинхронные подходы продолжают развиваться.
В России исследования в области асинхронных схем ведутся в ряде научных центров, включая Институт проблем проектирования в микроэлектронике РАН (ИППМ РАН) и МИЭТ (Московский институт электронной техники). Разрабатываются экспериментальные асинхронные процессоры и контроллеры для специальных применений.
Интересные факты
- Первый в мире асинхронный микропроцессор AMULET1 был представлен в 1994 году и выполнял программы на 30 % быстрее синхронного аналога ARM при той же технологии.
- Асинхронные схемы иногда называют «схемами без часов» (clockless circuits), что подчёркивает их главное отличие от синхронных.
- В 2010-х годах компания Achronix Semiconductor выпускала асинхронные программируемые логические интегральные схемы (FPGA), но затем переключилась на синхронные архитектуры.
Источники
- Сазерленд, Айвен. «Микропайплайны» (Communications of the ACM, 1989).
- Фурбер, Стивен. «Асинхронные схемы: введение» (Proceedings of the IEEE, 1999).
- Спарсо, Йенс, и Фурбер, Стивен. «Принципы асинхронных цифровых схем» (Kluwer Academic Publishers, 2001).
- Материалы конференций IEEE International Symposium on Asynchronous Circuits and Systems (ASYNC).
- Отчёты ИППМ РАН по проектированию асинхронных микропроцессоров (2005–2020).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →