Основное внимание в этой статье уделяется асинхронному управлению в цифровых электронных системах. [1] [2] В синхронной системе операции ( инструкции , вычисления , логика и т. д.) координируются одним или несколькими централизованными тактовыми сигналами . Асинхронная система , напротив, не имеет глобальных часов. Асинхронные системы не зависят от строгих сроков прибытия сигналов или сообщений для надежной работы. Координация достигается с помощью событийно-управляемой архитектуры, запускаемой прибытием сетевых пакетов , изменениями (переходами) сигналов, протоколами квитирования и другими методами.
Асинхронные системы — во многом как объектно-ориентированное программное обеспечение — обычно строятся из модульных «аппаратных объектов», каждый из которых имеет четко определенные интерфейсы связи . Эти модули могут работать с переменной скоростью, будь то из-за обработки, зависящей от данных, динамического масштабирования напряжения или изменения процесса . Затем модули можно объединить для формирования правильно работающей системы, без ссылки на глобальный тактовый сигнал . Как правило, достигается низкая мощность , поскольку компоненты активируются только по требованию. Кроме того, было показано, что несколько асинхронных стилей подходят для тактовых интерфейсов и, таким образом, поддерживают конструкцию со смешанной синхронизацией. Следовательно, асинхронные системы хорошо соответствуют потребности в методологиях правильной конструкции при сборке крупномасштабных гетерогенных и масштабируемых систем.
Существует большой спектр стилей асинхронного проектирования с компромиссами между надежностью и производительностью (и другими параметрами, такими как мощность). Выбор стиля проектирования зависит от цели приложения: надежность/простота проектирования против скорости. Наиболее надежные конструкции используют « нечувствительные к задержкам схемы », работа которых корректна независимо от задержек вентилей и проводов ; однако с помощью этого стиля можно разработать только ограниченное количество полезных систем. Немного менее надежны, но гораздо более полезны квазинечувствительные к задержкам схемы (также известные как независимые от скорости схемы), такие как нечувствительный к задержкам синтез минтермов , которые работают корректно независимо от задержек вентилей ; однако провода в каждой точке разветвления должны быть настроены на примерно равные задержки. Менее надежные, но более быстрые схемы, требующие простых локализованных односторонних ограничений по времени, включают контроллеры, использующие работу в основном режиме (т. е. с требованиями установки/удержания при получении новых входов), и объединенные тракты данных, использующие согласованные задержки (см. ниже). В крайнем случае были предложены высокопроизводительные «синхронизированные схемы», которые используют жесткие двусторонние временные ограничения, где тактового генератора все еще можно избежать, но требуется тщательная настройка физической задержки, например, для некоторых высокоскоростных конвейерных приложений.
Асинхронная связь обычно выполняется на каналах связи . Связь используется как для синхронизации операций параллельной системы, так и для передачи данных. Простой канал обычно состоит из двух проводов: запроса и подтверждения. В «4-фазном протоколе квитирования » (или возврате к нулю) запрос подтверждается компонентом-отправителем, а получатель отвечает подтверждением; затем оба сигнала по очереди снимаются. В «2-фазном протоколе квитирования » (или переходной сигнализации) запрашивающая сторона просто переключает значение на проводе запроса (один раз), а получатель отвечает переключением значения на проводе подтверждения. Каналы также могут быть расширены для передачи данных.
Асинхронные каналы передачи данных обычно кодируются с использованием нескольких схем. Надежные схемы используют два провода или «рельса» для каждого бита, что называется «кодированием с двумя рельсами». В этом случае первый рельс утверждается для передачи значения 0, или второй рельс утверждается для передачи значения 1. Затем утвержденный рельс сбрасывается до нуля перед передачей следующего значения данных, тем самым указывая на «нет данных» или состояние «спейсера». Менее надежная, но широко используемая и практичная схема называется «связанные данные с одним рельсом». Здесь может использоваться функциональный блок с одним рельсом (т. е. синхронный стиль) с сопутствующей задержкой сопоставления наихудшего случая . После поступления допустимых входных данных сигнал запроса утверждается в качестве входа для сопоставленной задержки. Когда сопоставленная задержка выдает выход «выполнено», блок гарантированно завершил вычисления. Хотя эта схема имеет временные ограничения, они просты, локализованы (в отличие от синхронных систем ) и односторонние, поэтому их обычно легко проверить.
Литература в этой области существует в различных конференциях и журналах. Ведущий симпозиум - IEEE Async Symposium (Международный симпозиум по асинхронным схемам и системам), основанный в 1994 году. Различные асинхронные статьи также были опубликованы с середины 1980-х годов на таких конференциях, как IEEE/ACM Design Automation Conference , IEEE International Conference on Computer Design, IEEE/ACM International Conference on Computer-Aided Design , International Solid-State Circuits Conference Архивировано 2010-03-16 в Wayback Machine и Advanced Research in VLSI, а также в ведущих журналах, таких как IEEE Transactions on VLSI Systems, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems и Transactions on Distributed Computing.
{{cite book}}
: |author=
имеет общее название ( помощь ) , стр. 255–284, ( Включает ссылки на последние асинхронные микросхемы, а также освещение методов САПР для асинхронных схем управления .)Адаптировано из колонки Стива Новика в электронном информационном бюллетене ACM SIGDA Игоря Маркова.
Оригинальный текст доступен по адресу https://web.archive.org/web/20060624073502/http://www.sigda.org/newsletter/2006/eNews_060115.html