Динамическая логика (цифровая электроника)
В интегральных схем проектировании динамическая логика (или иногда тактовая логика ) представляет собой методологию проектирования комбинационных логических схем, особенно тех, которые реализованы по металл-оксид-полупроводник технологии (МОП). От так называемой статической логики она отличается тем, что использует временное хранение информации в паразитных и затворных емкостях . [1] Он был популярен в 1970-х годах, а в последнее время стал свидетелем возрождения в разработке высокоскоростной цифровой электроники. [ нужна ссылка ] , особенно центральные процессоры (ЦП). Динамические логические схемы обычно работают быстрее, чем статические аналоги, и требуют меньшей площади поверхности, но их сложнее проектировать. Динамическая логика имеет более высокую среднюю скорость переходов напряжения, чем статическая логика. [2] но емкостные нагрузки меньше передаваемые [3] поэтому общее энергопотребление динамической логики может быть выше или ниже в зависимости от различных компромиссов. При упоминании конкретного семейства логических схем обычно достаточно прилагательного динамического, чтобы отличить методологию проектирования, например динамическая КМОП. [4] или динамический дизайн SOI . [2]
Помимо использования динамического хранения состояния посредством напряжения на емкостях, динамическая логика отличается от так называемой статической логики тем, что динамическая логика использует тактовый сигнал в реализации комбинационной логики. Обычно тактовый сигнал используется для синхронизации переходов в последовательных логических схемах. Для большинства реализаций комбинационной логики тактовый сигнал даже не требуется. Статическая/динамическая терминология, используемая для обозначения комбинаторных схем, связана с использованием тех же прилагательных, которые используются для различения устройств памяти, например статического ОЗУ от динамического ОЗУ , поскольку динамическое ОЗУ сохраняет состояние динамически в виде напряжений на емкостях, которые необходимо периодически обновлять. . Но есть и различия в использовании; часы могут быть остановлены на соответствующей фазе в системе с динамической логикой и статическим хранилищем. [5]
Статическая и динамическая логика
[ редактировать ]Самая большая разница между статической и динамической логикой заключается в том, что в динамической логике тактовый сигнал используется для оценки комбинационной логики . В большинстве типов логических схем, называемых статической логикой , всегда существует какой-то механизм, обеспечивающий высокий или низкий уровень выходного сигнала. Во многих популярных стилях логики, таких как ТТЛ и традиционные КМОП , этот принцип можно перефразировать как утверждение о том, что между выходом и напряжением питания или землей всегда существует путь постоянного тока с низким импедансом . В качестве примечания, конечно, в этом определении есть исключение в случае выходов с высоким импедансом , таких как буфер с тремя состояниями ; однако даже в этих случаях схема предназначена для использования в более крупной системе, где некоторый механизм будет управлять выходным сигналом, и они не считаются отличными от статической логики.
Напротив, в динамической логике не всегда существует механизм, повышающий или понижающий выходной сигнал. В наиболее распространенной версии этой концепции выходной сигнал устанавливается на высокий или низкий уровень в течение отдельных частей тактового цикла. В течение интервалов времени, когда выход не активен, паразитная емкость заставляет ее поддерживать уровень в пределах некоторого диапазона допуска управляемого уровня.
Динамическая логика требует достаточно быстрой минимальной тактовой частоты , чтобы выходное состояние каждого динамического вентиля использовалось или обновлялось до того, как заряд выходной емкости вытечет настолько, что приведет к изменению цифрового состояния выхода в течение той части тактового цикла, которая выход не используется активно.
Статическая логика не имеет минимальной тактовой частоты — тактовую частоту можно приостанавливать на неопределенный срок. Хотя может показаться, что ничего не делать в течение длительного периода времени не особенно полезно, это приводит к трем преимуществам:
- возможность приостановить работу системы в любой момент значительно упрощает отладку и тестирование, позволяя использовать такие методы, как пошаговое выполнение .
- Возможность запуска системы на чрезвычайно низкой тактовой частоте позволяет маломощной электронике работать дольше от данной батареи.
- полностью статичная система может мгновенно возобновить работу с того места, где она остановилась; человеку не нужно ждать, пока система загрузится или возобновит работу. [6]
Возможность приостановить работу системы в любое время на любую продолжительность также можно использовать для синхронизации ЦП с асинхронным событием. Хотя для этого существуют и другие механизмы, такие как прерывания, циклы опроса, входные контакты холостого хода процессора (например, RDY на 6502 ) или механизмы расширения цикла шины процессора, такие как входы WAIT, использование аппаратного обеспечения для перевода часов в статический режим. Двухядерный ЦП проще, более точен во времени, не использует память программного кода и почти не потребляет мощность ЦП во время ожидания. В базовой конструкции, чтобы начать ожидание, ЦП записывает в регистр, чтобы установить бит двоичной фиксации, который будет соединяться с помощью И или ИЛИ с тактовой частотой процессора, останавливая процессор. Сигнал от периферийного устройства сбрасывает эту защелку, возобновляя работу ЦП. Аппаратная логика должна контролировать входы управления защелкой по мере необходимости, чтобы гарантировать, что выходной переход защелки не приведет к мгновенному изменению уровня тактового сигнала и не вызовет тактовый импульс, высокий или низкий, который короче обычного.
В частности, хотя многие популярные процессоры используют динамическую логику, [ нужна ссылка ] только статические ядра — процессоры, разработанные по полностью статической технологии — можно использовать в космических спутниках из-за их более высокой радиационной стойкости . [7] [ нужен лучший источник ]
При правильном проектировании динамическая логика может работать более чем в два раза быстрее статической. В нем используются только более быстрые NMOS-транзисторы , что улучшает оптимизацию размеров транзисторов. Статическая логика медленнее, потому что она имеет вдвое большую емкостную нагрузку , более высокие пороговые значения и использует медленные PMOS-транзисторы для логики. С динамической логикой может быть сложнее работать, но она может быть единственным выбором, когда требуется повышенная скорость обработки. В наши дни большая часть электроники работает на частоте более 2 ГГц. [ когда? ] требуют динамической логики, хотя некоторые производители, такие как Intel, разработали чипы, использующие полностью статическую логику, чтобы снизить энергопотребление. [8] Обратите внимание, что снижение энергопотребления не только продлевает время работы при ограниченных источниках энергии, таких как батареи или солнечные батареи (как в космических кораблях), но также снижает требования к тепловому проектированию, уменьшая размер необходимых радиаторов, вентиляторов и т. д., что в свою очередь, снижает вес и стоимость системы.
В общем, динамическая логика значительно увеличивает количество транзисторов, переключающихся в любой момент времени, что увеличивает энергопотребление по сравнению со статической КМОП. [8] Существует несколько методов энергосбережения , которые можно реализовать в системе, основанной на динамической логике. Кроме того, каждая шина может передавать произвольное количество битов, и при этом отсутствуют сбои, приводящие к потере энергии. Энергосберегающая синхронизация и асинхронные методы гораздо более естественны в динамической логике.
Пример статической логики
[ редактировать ]В качестве примера рассмотрим статическую логическую реализацию вентиля CMOS NAND:
Эта схема реализует логическую функцию
Если оба A и B имеют высокий уровень, выход будет понижен до низкого уровня. Если либо A , либо B имеют низкий уровень, выход будет поднят на высокий уровень. Все время выходной сигнал поднимается либо на низкий, либо на высокий уровень.
Пример динамической логики
[ редактировать ]Рассмотрим теперь динамическую логическую реализацию той же логической функции:
Динамическая логическая схема требует двух фаз. Первая фаза, когда Clock находится на низком уровне, называется фазой настройки или фазой предварительной зарядки , а вторая фаза, когда Clock находится на высоком уровне, называется фазой оценки . На этапе настройки выходной сигнал безоговорочно устанавливается на высокий уровень (независимо от значений входов A и B ). Конденсатор , представляющий нагрузочную емкость этого затвора, заряжается. Поскольку транзистор внизу выключен, на этой фазе невозможно установить низкий уровень на выходе.
Во время оценки фазы Clock находится на высоком уровне. Если A и B также имеют высокий уровень, выход будет понижен до низкого уровня. В противном случае выходной сигнал останется высоким (из-за емкости нагрузки).
У динамической логики есть несколько потенциальных проблем, которых нет у статической логики. Например, если тактовая частота слишком низкая, выходной сигнал будет затухать слишком быстро, чтобы его можно было использовать. Кроме того, выходные данные действительны только для части каждого тактового цикла, поэтому подключенное к ним устройство должно синхронно производить их выборку, когда они действительны.
Кроме того, когда оба A и B имеют высокий уровень, так что выходной сигнал низкий, схема будет перекачивать заряд одной конденсаторной нагрузки от Vdd к земле для каждого тактового цикла, сначала заряжая, а затем разряжая конденсатор в каждом тактовом цикле. Это делает схему (с выходом, подключенным к высокому импедансу) менее эффективной, чем статическая версия (которая теоретически не должна допускать протекания тока, кроме как через выход), а когда входы A и B постоянны и оба имеют высокий уровень, Динамический вентиль NAND использует мощность пропорционально тактовой частоте , если он работает правильно. Рассеиваемую мощность можно минимизировать, поддерживая низкую емкость нагрузки. Это, в свою очередь, уменьшает максимальное время цикла, требуя более высокой минимальной тактовой частоты; более высокая частота увеличивает энергопотребление в соответствии с упомянутым соотношением. Следовательно, невозможно снизить энергопотребление в режиме ожидания (когда оба входа высокие) ниже определенного предела, полученного из равновесия между тактовой частотой и емкостью нагрузки.
Популярная реализация — логика домино .
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Ларс Ванхаммар (1999). Интегральные схемы DSP . Академическая пресса. п. 37. ИСБН 978-0-12-734530-7 .
- ^ Перейти обратно: а б Эндрю Маршалл; Шридхар Натараджан (2002). Проектирование КНИ: аналоговые, запоминающие и цифровые методы . Спрингер. п. 125. ИСБН 978-0-7923-7640-8 .
- ^ А. Альберт Радж, Т. Лата (21 октября 2008 г.). Проектирование СБИС . PHI Learning Pvt. ООО с. 167. ИСБН 978-81-203-3431-1 .
- ^ Брюс Джейкоб; Спенсер Нг; Дэвид Ван (2007). Системы памяти: кэш, DRAM, диск . Морган Кауфманн. п. 270. ИСБН 978-0-12-379751-3 .
- ^ Дэвид Харрис (2001). Устойчивая к перекосам схема . Морган Кауфманн. п. 38. ISBN 978-1-55860-636-4 .
- ^ Ричард Мюррей. «Аппаратное обеспечение PocketBook II» .
- ^ Гюльцов, Питер. «Нет RISC, нет веселья!» . АМСАТ-ДЛ . Перевод Мо, Дон. Архивировано из оригинала 13 апреля 2013 года . Проверено 15 сентября 2021 г.
- ^ Перейти обратно: а б «Темный рыцарь: Intel Core i7» .
Общие ссылки
- Сунг-Мо Канг; Юсуф Леблебичи (2003). Цифровые интегральные схемы КМОП: анализ и проектирование (3-е изд.). МакГроу-Хилл. ISBN 978-0-07-246053-7 . Глава 9, «Динамические логические схемы» (глава 7 во 2-м издании)
- Р. Джейкоб Бейкер (2010). КМОП: схемотехника, компоновка и моделирование (3-е изд.). Wiley-IEEE. ISBN 978-0-470-88132-3 . Глава 14, «Динамические логические вентили»
- Эндрю Маршалл; Шридхар Натараджан (2002). Проектирование КНИ: аналоговые, запоминающие и цифровые методы . Спрингер. ISBN 978-0-7923-7640-8 . Глава 7, «Динамическое проектирование SOI»
Внешние ссылки
[ редактировать ]- Введение в проектирование СБИС КМОП - Лекция 9: Семейства схем - конспекты лекций Дэвида Харриса по этой теме.