Насколько я понимаю, большинство современных потребительских процессоров основаны на синхронной логике. В некоторых высокоскоростных приложениях (обработка сигналов и т. Д.) Для более высокой скорости используется логика асинхронизации.
Тем не менее, на современном рынке скорость в потребительских товарах является одним из главных преимуществ (см. AMD против Intel). Является ли разработка более сложной литографии быстрее, чем принятие полностью асинхронной логики? Или логика асинхронизации слишком сложна / непрактична для приложений VLSI?
digital-logic
vlsi
synchronous
Corsair64
источник
источник
Ответы:
Я провел несколько лет в стартапе, коммерциализируя технологию асинхронного проектирования, поэтому я знаком с причинами:
асинхронный не является по своей сути быстрее. Наихудшая задержка пути остается неизменной. Просто иногда вы можете воспользоваться более быстрым выполнением пути.
У async тоже есть накладные расходы на обнаружение завершения.
Инструменты дизайна. Это действительно большая проблема: на самом деле нет полного асинхронного потока инструментов, доступных с тем же качеством, что и синхронный дизайн.
Повышение квалификации. Вам фактически придется переучить всех ваших дизайнеров на новой парадигме и инструментах.
Риск и консервативность. Большая часть отрасли «производит нечто похожее на предыдущее, но немного другое». Это имеет очень высокий шанс на работу. Компании гораздо более неохотно строят что-то совершенно иное, поскольку у них гораздо больше шансов на полное списание, которое стоит десятки миллионов долларов.
источник
Очень заманчиво проектировать асинхронные интегральные схемы. Другие ответы уже охватывают множество причин дважды подумать, прежде чем делать это. Вот еще один:
Разработка IC не закончена с дизайном. Проверка и проверка одинаково важны. Не только инструменты проектирования очень продвинуты для синхронных схем, но и инструменты моделирования и испытательное оборудование - то же самое.
верификация
Недостаточно, чтобы цепи работали в лабораторных условиях. Они должны быть устойчивыми по отношению к диапазону рабочего напряжения (V), диапазону рабочей температуры (T) и изменениям, связанным с производственным процессом (P). Для синхронной логики это может быть гарантировано с помощью статического временного анализа. Схема разомкнута на все временные пути, от триггера до триггера. Время установки и удержания проверяется для каждого отдельного временного тракта и для различных комбинаций P, T и V. Эти комбинации PTV являются так называемыми углами моделирования.
Подобная проверка может быть выполнена для асинхронных схем, но она намного сложнее и намного менее поддерживается инструментами проектирования. Он также ограничивает конструктор асинхронными конструкциями, которые фактически могут быть проверены. Не существует надежной проверки для произвольных асинхронных схем.
Тестовое задание
Аналогичные трудности возникают при тестировании оборудования. Тестирование синхронной логики полностью поддерживается стандартами тестирования и оборудованием. Тестирование асинхронных схем не только более сложное, но и из-за отсутствия временной абстракции недостаточно даже доказать, что схема будет работать для всех углов PTV. Схема может выйти из строя из-за условий гонки при некоторой комбинации PTV, которая не покрыта углами.
Резюме
Разработчики ИС не отказались от асинхронной парадигмы, но асинхронная логика имеет серьезные недостатки при проверке и валидации. В промышленном контексте проект асинхронной ИС должен быть ограничен конструкцией, которая, как можно доказать, работает во всем пространстве параметров изменения процесса, а также в рабочих диапазонах температуры и напряжения.
Так называемая «Локально синхронная глобально асинхронная» конструкция - это один из способов получить больше преимуществ и меньше недостатков обеих парадигм синхронизации.
источник
Асинхронные двоичные счетчики проще, потому что они используют только 1 ячейку памяти или T триггер на деление на два. Следовательно, старые CD и 74HC4020 и 4040 предлагают много бинарных этапов по дешевке. Задержка поддержки на каждом этапе означает, что она не может быть использована без условий гонки или сбоев с логическим декодированием двоичных адресов, если только задержка поддержки не меньше 1/2 входного тактового цикла с использованием заднего фронта для фиксации результата. Выходная задержка затем умножается на N каскадов.
Синхронные двоичные счетчики используют дополнительную ячейку памяти для D FF для задержки, но сводят к минимуму задержку до значения 1 для любой длины счетчиков, чтобы она занимала большую площадь.
Следовательно, все ЦП используют дополнительные тактовые частоты для оптимизации ожидаемой задержки в адресах и чтении / записи памяти, чтобы максимизировать производительность, но не превышать время задержки, время установки и удержания.
Память теперь использует много фаз, таких как DDR, 3DR, 4DR, 5DR, особенно для графической памяти, но с тактовыми частотами ЦП, которые идут намного быстрее, чем частота ОЗУ за один цикл, так что задержки чтения и записи могут быть синхронизированы с помощью одного, нескольких или половины числа Суперклок (например, 100 МГц xN), обозначенный T дробным или целым числом, считается для каждого параметра. Эти задержки реквизита увеличиваются с темпом. Для CMOS и уменьшайте при более высоком напряжении Vram, которое при правильном охлаждении может уменьшить задержку или другое увеличение Pd и температуры, а также ухудшить (замедлить). Таким образом, охлаждение, V, f, T все имеют решающее значение для оптимальной задержки, независимо от того, используется ли она для операций Async или Sync.
источник
Ранние логические схемы были асинхронными. Часто они были смешаны с аналоговыми схемами тоже. Однако с течением времени проекты становились все более сложными, что требовало от инженеров работы над одним проектом. Временные диаграммы асинхронности. логика может быть громоздкой, когда много состояний. Теперь добавьте команду инженеров, пытающихся связать различные блоки логики вместе, но время между ними не очень хорошо выровнено. Конструкции становятся хрупкими к изменениям непредвиденными способами.
Введите синхронный логический дизайн. Теперь все потоки состояний выровнены по тактовому сигналу, что позволяет очень хорошо определять интерфейсы и быть более устойчивым к изменениям конструкции. Да, он может использовать больше ворот, но он (как правило) стабилен по конструкции; в отличие от стабильного до тех пор, пока его никто не трогает!
источник