В цифровой электронике, асинхронная схема или самосинхронизация схема, представляет собой последовательную цифровую логическую схему схему, которая не управляется схемой синхронизации или глобальным синхросигналом.. Вместо этого он часто использует сигналы, указывающие на завершение инструкций и операций, заданных простыми протоколами передачи данных . Этот тип схемы отличается от синхронных схем, в которых изменения значений сигнала в схеме запускаются повторяющимися импульсами, называемыми тактовым сигналом. В большинстве цифровых устройств сегодня используются синхронные схемы. Однако асинхронные схемы потенциально могут быть быстрее, а также могут иметь преимущества в более низком энергопотреблении, меньших электромагнитных помехах и лучшей модульности в больших системах. Асинхронные схемы являются активной областью исследований в проектировании цифровой логики.
Содержание
- 1 Синхронная и асинхронная логика
- 2 Теоретические основы
- 3 Преимущества
- 4 Недостатки
- 5 Связь
- 5.1 Протоколы
- 5.2 Кодирование данных
- 5.2.1 Кодирование связанных данных
- 5.2.2 Многорельсовое кодирование
- 6 Асинхронный ЦП
- 7 См. Также
- 8 Ссылки
- 9 Дополнительная литература
Синхронная и асинхронная логика
Цепи цифровой логики можно разделить на комбинационную логику, в которой выходные сигналы зависят только от текущих входных сигналов, и последовательную логику, в котором вывод зависит как от текущего ввода, так и от прошлых вводов. Другими словами, последовательная логика - это комбинационная логика с памятью. Практически все практические цифровые устройства требуют последовательной логики. Последовательную логику можно разделить на два типа: синхронную логику и асинхронную логику.
- В синхронных логических схемах электронный генератор генерирует повторяющуюся серию импульсов с равным интервалом, называемую тактовым сигналом. Тактовый сигнал подается на все элементы памяти в схеме, называемые триггерами. Выходной сигнал триггеров изменяется только при запуске по фронту тактового импульса, поэтому изменения логических сигналов по всей схеме начинаются одновременно, через равные промежутки времени, синхронизированные часами. Выход всех элементов памяти в схеме называется состоянием схемы. Состояние синхронной схемы изменяется только по тактовому импульсу. Изменения сигнала требуют определенного времени для распространения через комбинационные логические элементы схемы. Это называется задержкой распространения. Период тактового сигнала делается достаточно длинным, чтобы на выходе всех логических вентилей было время установить стабильные значения перед следующим тактовым импульсом. Пока выполняется это условие, синхронные схемы будут работать стабильно, поэтому их легко спроектировать.
- Однако недостатком синхронных схем является то, что они могут работать медленно. Максимально возможная тактовая частота определяется логическим путем с наибольшей задержкой распространения, называемым критическим путем. Таким образом, логические пути, которые быстро завершают свои операции, большую часть времени простаивают. Другая проблема заключается в том, что широко распространенный тактовый сигнал потребляет много энергии и должен работать независимо от того, получает ли схема входы или нет.
- В асинхронных схемах нет тактового сигнала, и состояние схемы изменяется, как только входы меняются. Поскольку асинхронным схемам не нужно ждать тактового импульса, чтобы начать обработку входных данных, они могут быть быстрее, чем синхронные схемы, и их скорость теоретически ограничена только задержками распространения логических вентилей. Однако асинхронные схемы сложнее спроектировать, и в них возникают проблемы, которых нет в синхронных схемах. Это связано с тем, что результирующее состояние асинхронной схемы может быть чувствительно к относительному времени прихода входов на вентили. Если переходы на двух входах происходят почти в одно и то же время, схема может перейти в неправильное состояние в зависимости от незначительных различий в задержках распространения затворов. Это называется состоянием состязания. В синхронных схемах эта проблема менее серьезна, поскольку состояния гонки могут возникать только из-за входов извне синхронной системы, называемых асинхронными входами. Хотя были построены некоторые полностью асинхронные цифровые системы (см. Ниже), сегодня асинхронные схемы обычно используются в нескольких критических частях синхронных систем, где скорость очень высока, таких как схемы обработки сигналов.
Теоретическая основа
Термин «асинхронная логика» используется для описания множества стилей проектирования, в которых используются различные предположения о свойствах схемы. Они варьируются от модели, в которой используются «обычные» элементы обработки данных с завершением, обозначенным локально сгенерированной моделью задержки, до нечувствительной к задержке конструкции, где могут быть размещены произвольные задержки через элементы схемы. Последний стиль имеет тенденцию давать схемы, которые больше, чем реализации связанных данных, но которые нечувствительны к компоновке и параметрическим изменениям и, следовательно, являются «правильными по конструкции».
Асинхронная логика - это логика, необходимая для проектирования асинхронных цифровых систем. Эти функции работают без тактового сигнала , поэтому нельзя полагаться на то, что отдельные логические элементы будут иметь дискретное истинное / ложное состояние в любой момент времени. Логическая (двузначная) логика для этого неадекватна, поэтому требуются расширения. Карл Фант разработал теоретическое рассмотрение этого в своей работе «Логически детерминированный дизайн» в 2005 году, в котором использовалась четырехзначная логика с нулевым и промежуточным значением, являющимся дополнительными значениями. Эта архитектура важна, потому что она квазинечувствительна к задержке. Скотт Смит и Джиа Ди разработали вариант логики нулевого соглашения Fant со сверхнизким энергопотреблением, который включает многопороговую КМОП. Этот вариант называется многопороговой логикой нулевого соглашения (MTNCL) или, альтернативно, логикой соглашения о сне (SCL). Вадим Васюкевич разработал другой подход, основанный на новой логической операции, которую он назвал венъюнкцией. При этом учитывается не только текущее значение элемента, но и его история.
Сети Петри являются привлекательной и мощной моделью для рассуждений об асинхронных схемах. Однако сети Петри подвергались критике за отсутствие физического реализма (см. Сеть Петри: Последующие модели параллелизма ). Вслед за сетями Петри были разработаны другие модели параллелизма, которые могут моделировать асинхронные схемы, включая модель актора и вычисление процессов.
Преимущества
Было продемонстрировано множество преимуществ. асинхронные схемы, в том числе схемы квази-нечувствительные к задержке (QDI) (обычно согласованные как наиболее «чистая» форма асинхронной логики, которая сохраняет вычислительную универсальность) и менее чистые формы асинхронных схем, которые используют временные ограничения для более высокой производительности и меньшей площади и мощности:
- Надежная обработка метастабильности арбитров.
- Функциональные блоки с более высокой производительностью, которые обеспечивают завершение в среднем (т.е. зависимом от данных) завершении, а не в худшем -дополнение корпуса. Примеры включают спекулятивное завершение, которое применялось для разработки параллельных сумматоров префиксов быстрее, чем синхронные, и высокопроизводительный сумматор с плавающей запятой двойной точности, который превосходит ведущие синхронные конструкции.
- Раннее завершение схемы, если она известна что входные данные, которые еще не поступили, не имеют значения.
- Меньшее энергопотребление, потому что ни один транзистор никогда не переключается, если он не выполняет полезные вычисления. Epson сообщает о снижении энергопотребления на 70% по сравнению с синхронным дизайном. Кроме того, драйверы часов можно удалить, что может значительно снизить энергопотребление. Однако при использовании определенных кодировок для асинхронных схем может потребоваться большая площадь, что может привести к увеличению энергопотребления, если основной процесс имеет плохие свойства утечки (например, глубокие субмикронные процессы, использованные до введения диэлектриков с высоким κ ).
- «Эластичные» конвейеры, которые достигают высокой производительности при грамотной обработке переменных входных и выходных скоростей и несоответствующих задержках этапов конвейера.
- Свобода от постоянно усугубляющихся трудностей распределения высокого- разветвления, чувствительный к времени тактовый сигнал.
- Лучшая модульность и возможность компоновки.
- Требуется гораздо меньше предположений о производственном процессе (большинство предположений - это предположения по времени).
- Схема скорость адаптируется к изменяющимся условиям температуры и напряжения, а не фиксируется на скорости, требуемой предположениями наихудшего случая.
- Невосприимчивость к изменчивости перехода между транзисторами в производственном процессе, что является одной из наиболее серьезных проблем Компания ems сталкивается с производством полупроводников по мере усадки штампов.
- Менее серьезные электромагнитные помехи (EMI). Синхронные схемы создают сильные электромагнитные помехи в полосе частот на (или очень близко) их тактовой частоте и ее гармониках; асинхронные схемы генерируют шаблоны EMI, которые гораздо более равномерно распределены по спектру.
- В асинхронных схемах локальная сигнализация устраняет необходимость в глобальной синхронизации, которая использует некоторые потенциальные преимущества по сравнению с синхронными. Они продемонстрировали потенциальные характеристики в отношении низкого энергопотребления, повторного использования конструкции, улучшенной помехоустойчивости и электромагнитной совместимости. Асинхронные цепи более устойчивы к колебаниям процесса и колебаниям внешнего напряжения.
- Меньшая нагрузка на распределительную сеть. Синхронные схемы имеют тенденцию потреблять большое количество тока прямо на фронте тактового сигнала и вскоре после этого. Количество коммутируемых узлов (и, следовательно, количество потребляемого тока) быстро падает после фронта тактового сигнала, достигая нуля непосредственно перед следующим фронтом тактового сигнала. В асинхронной схеме времена переключения узлов не коррелируют таким образом, поэтому потребление тока имеет тенденцию быть более равномерным и менее скачкообразным.
Недостатки
- Накладные расходы на площадь, вызванные увеличением количества элементов схемы (транзисторы). В некоторых случаях асинхронный дизайн может потребовать удвоения ресурсов синхронного проекта из-за добавления схем обнаружения завершения и проектирования для тестирования.
- Меньшее количество людей обучается этому стилю по сравнению с синхронным дизайном.
- Синхронные проекты по своей сути легче тестировать и отлаживать, чем асинхронные. Однако эту позицию оспаривает Фант, который утверждает, что кажущаяся простота синхронной логики является артефактом математических моделей, используемых в общих подходах к проектированию.
- Стробирование часов в более традиционных синхронных схемах является приближением асинхронный идеал, а в некоторых случаях его простота может перевесить преимущества полностью асинхронной конструкции.
- Производительность (скорость) асинхронных схем может снижаться в архитектурах, требующих полноты ввода (более сложный путь данных).
- Отсутствие специализированных, ориентированных на асинхронное проектирование коммерческих инструментов EDA.
Коммуникация
Существует несколько способов создания асинхронных каналов связи, которые можно классифицировать по их протоколу и кодирование данных.
Протоколы
Существуют два широко используемых семейства протоколов, которые различаются способом кодирования связи:
- двухфазное квитирование (также известное как двухфазное протокол, кодирование без возврата к нулю (NRZ) или сигнализация перехода): Связь представлена любым проводным переходом; переходы от 0 к 1 и от 1 к 0 считаются как обмен данными.
- четырехфазное рукопожатие (также известное как четырехфазный протокол или кодирование с возвратом к нулю (RZ)): связь представлена проводом переход с последующим сбросом; последовательность перехода от 0 к 1 и обратно к 0 считается однократным обменом данными.
Иллюстрация двух- и четырехфазного рукопожатия. Вверху: отправитель и получатель общаются с помощью простых сигналов запроса и подтверждения. Отправитель управляет линией запроса, а получатель - линией подтверждения. В центре: временная диаграмма двух, двухфазной связи. Внизу: временная диаграмма одно-, четырехфазной связи.
Несмотря на то, что на одно соединение приходится больше переходов, схемы, реализующие четырехфазные протоколы, обычно быстрее и проще, чем двухфазные протоколы, поскольку сигнальные линии возвращаются в исходное состояние к концу каждого сообщения. В двухфазных протоколах реализации схемы должны будут хранить внутреннее состояние сигнальной линии.
Обратите внимание, что эти основные различия не учитывают большое разнообразие протоколов. Эти протоколы могут кодировать только запросы и подтверждения или также кодировать данные, что приводит к популярному многопроволочному кодированию данных. Было предложено множество других, менее распространенных протоколов, в том числе использование одного провода для запроса и подтверждения, использование нескольких значительных напряжений, использование только импульсов или синхронизации для снятия защелок.
Кодирование данных
Существует два широко используемых способа кодирования данных в асинхронных схемах: кодирование связанных данных и кодирование с несколькими рельсами.
Другой распространенный способ кодирования данных - использовать несколько проводов для кодирования одной цифры: значение определяется проводом, на котором происходит событие. Это позволяет избежать некоторых предположений о задержках, необходимых для кодирования связанных данных, поскольку запрос и данные больше не разделены.
Кодирование связанных данных
Кодирование связанных данных использует один провод на бит данных с запросом и сигналом подтверждения; это то же кодирование, которое используется в синхронных схемах без ограничения, что переходы происходят по фронту тактового сигнала. Запрос и подтверждение отправляются по отдельным проводам по одному из указанных выше протоколов. Эти схемы обычно предполагают модель с ограниченной задержкой, при которой сигналы завершения задерживаются на достаточно долгое время для выполнения расчетов.
В процессе работы отправитель сигнализирует о доступности и действительности данных запросом. Затем получатель указывает завершение подтверждением, указывая, что он может обрабатывать новые запросы. То есть, запрос связан с данными, отсюда и название "связанные данные".
Цепи связанных данных часто называют микроконвейерами, независимо от того, используют ли они двухфазный или четырехфазный протокол, даже если этот термин был первоначально введен для двухфазных связанных данных.
4-фазная связанная передача данных. Вверху: отправитель и получатель соединены линиями данных, линией запроса и линией подтверждения. Внизу: временная диаграмма пакетной передачи данных. Когда в строке запроса низкий уровень, данные считаются недействительными и могут быть изменены в любое время.
Многоканальное кодирование
Многопоточное кодирование использует несколько проводов без взаимно-однозначного отношения между битами и проводами и отдельным сигналом подтверждения. Доступность данных обозначается буквой t