Введение

Устройство, выполняющее булеву функцию

Логический элемент — это устройство, выполняющее булеву функцию, то есть логическую операцию, выполняемую над одним или несколькими двоичными входами, результатом которой является один двоичный выход. В зависимости от контекста, термин может относиться к идеальному логическому элементу, характеризующемуся, например, нулевым временем нарастания и неограниченной веерностью, или к неидеальному физическому устройству (см. идеальные и реальные операционные усилители для сравнения). Основной способ создания логических элементов основан на использовании диодов или транзисторов в качестве электронных переключателей. В настоящее время большинство логических элементов изготавливаются из MOSFET (металл-оксид-полупроводниковых полевых транзисторов). Они также могут быть реализованы на вакуумных лампах, электромеханических реле с релейной логикой, флюидной логике, пневматической логике, с использованием оптики, молекул, акустики или даже механических и тепловых элементов. Логические элементы могут быть последовательно соединены аналогично композиции булевых функций, что позволяет построить физическую модель всей булевой логики, а следовательно, всех алгоритмов и математических операций, которые могут быть описаны булевой логикой. Логические схемы включают в себя такие устройства, как мультиплексоры, регистры, арифметико-логические устройства (АЛУ) и компьютерная память, вплоть до полноценных микропроцессоров, которые могут содержать более 100 миллионов логических элементов. Комбинированные логические элементы AND-OR-Invert (AOI) и OR-AND-Invert (OAI) часто используются при проектировании схем, поскольку их реализация на MOSFET проще и эффективнее, чем сумма отдельных элементов.

История и развитие

Двоичная система счисления была усовершенствована Готфридом Вильгельмом Лейбницем (опубликована в 1705 году) под влиянием древней двоичной системы «И Цзин». Лейбниц установил, что использование двоичной системы объединяет принципы арифметики и логики. В письме 1886 года Чарльз Сандерс Пирс описал, как логические операции могут выполняться с помощью электрических коммутационных схем. Ранние электромеханические компьютеры строились на основе переключателей и релейной логики, а не на более поздних изобретениях, таких как вакуумные лампы (термионные клапаны) или транзисторы (из которых впоследствии создавались электронные компьютеры). Людвиг Витгенштейн представил версию 16-строчной таблицы истинности как предложение 5.101 в «Tractatus Logico-Philosophicus» (1921). Вальтер Боте, изобретатель схемы совпадений, получил часть Нобелевской премии по физике 1954 года за создание первого современного электронного элемента И в 1924 году. Конрад Цузе спроектировал и построил электромеханические логические элементы для своего компьютера Z1 (с 1935 по 1938 год). С 1934 по 1936 год инженеры NEC Акира Накасима, Клод Шеннон и Виктор Шестаков представили теорию коммутационных цепей в серии статей, показав, что двухзначная булева алгебра, которую они независимо друг от друга открыли, может описывать работу коммутационных цепей. Использование этого свойства электрических переключателей для реализации логики является фундаментальной концепцией, лежащей в основе всех электронных цифровых компьютеров. Теория коммутационных цепей стала основой для проектирования цифровых схем, получив широкое распространение в сообществе инженеров-электриков во время и после Второй мировой войны, когда теоретическая обоснованность вытеснила ранее преобладавшие эмпирические методы. Позднее оба типа были объединены и адаптированы в дополнительную логику MOS (CMOS) Чи Таном Са и Фрэнком Ванлассом в Fairchild Semiconductor в 1963 году.

Хранение данных и последовательная логика

Логические элементы также могут использоваться для сохранения состояния, что позволяет хранить данные. Элемент памяти может быть создан путем соединения нескольких элементов в схеме триггера. Триггерные схемы используются в статической оперативной памяти. Более сложные конструкции, использующие тактовые сигналы и изменяющие состояние только по переднему или заднему фронту тактового импульса, называются триггерами с синхронизацией по фронту. Формально триггер называется бистабильной схемой, поскольку он имеет два устойчивых состояния, которые может поддерживать неопределенно долго. Комбинация нескольких триггеров, работающих параллельно для хранения многобитного значения, называется регистром. При использовании любой из этих схем система приобретает память и становится последовательной логической системой, поскольку ее выход может зависеть от предыдущего состояния (состояний), то есть от последовательности входных состояний. В отличие от этого, выход комбинационной логики является исключительно функцией текущих входов и не зависит от предыдущих входных и выходных состояний. Эти логические схемы используются в компьютерной памяти. Они различаются по производительности, определяемой скоростью, сложностью и надежностью хранения, и для различных применений используются различные типы конструкций.

Электронные ворота

Полнофункциональная логическая система может быть составлена из реле, вакуумных ламп или транзисторов. Электронные логические элементы существенно отличаются от их релейных и переключающих аналогов. Они намного быстрее, потребляют значительно меньше энергии и гораздо меньше по размеру (в большинстве случаев во столько раз, сколько миллион или больше). Кроме того, существует фундаментальное структурное различие. Переключающая схема создает непрерывный металлический путь для протекания тока (в любом направлении) между своим входом и выходом. Полупроводниковый логический элемент, с другой стороны, действует как усилитель напряжения с высоким коэффициентом усиления, поглощающий небольшой ток на входе и выдающий напряжение с низким выходным сопротивлением на выходе. Ток не может протекать между выходом и входом полупроводникового логического элемента. Для логики малого масштаба разработчики теперь используют готовые логические элементы из семейств устройств, таких как серия TTL 7400 от Texas Instruments, серия CMOS 4000 от RCA и их более современные производные. Все чаще эти логические элементы с фиксированной функциональностью заменяются программируемыми логическими устройствами, которые позволяют разработчикам объединять множество логических элементов в одну интегральную схему. Программируемость программируемых логических устройств, таких как FPGA, снизила "жесткость" аппаратного обеспечения; теперь можно изменить логическую схему аппаратной системы путем перепрограммирования некоторых ее компонентов, что позволяет изменить характеристики или функции аппаратной реализации логической системы. Важным преимуществом стандартизированных семейств интегральных схем, таких как семейства 7400 и 4000, является то, что их можно каскадно соединять. Это означает, что выход одного элемента можно подключить к входам одного или нескольких других элементов и так далее. Системы различной степени сложности могут быть построены без особого внимания разработчика к внутренней работе элементов, при условии учета ограничений каждой интегральной схемы. Выход одного элемента может управлять лишь конечным числом входов других элементов, число, называемое "пределом веерного раскроя". Кроме того, всегда существует задержка, называемая "задержкой распространения", от изменения входного сигнала элемента до соответствующего изменения его выходного сигнала. При каскадном соединении элементов общая задержка распространения приблизительно равна сумме индивидуальных задержек, что может стать проблемой в высокоскоростных синхронных схемах. Дополнительная задержка может возникать при подключении множества входов к одному выходу из-за распределенной емкости всех входов и проводников, а также ограниченного тока, который может обеспечить каждый выход.

Логические ворота с тремя состояниями

Логические элементы с тремя состояниями — это тип логических элементов, которые могут иметь три различных выхода: высокий (H), низкий (L) и высокое сопротивление (Z). Состояние высокого сопротивления не участвует в логике, которая является строго двоичной. Эти устройства используются в шинах центрального процессора для обеспечения возможности передачи данных несколькими микросхемами. Группа элементов с тремя состояниями, управляющих линией с подходящей схемой управления, по сути эквивалентна мультиплексору, который может быть физически распределен по отдельным устройствам или подключаемым платам. В электронике высокий выход означает, что выход выдает ток от положительного полюса питания (положительное напряжение). Низкий выход означает, что выход потребляет ток к отрицательному полюсу питания (нулевое напряжение). Высокое сопротивление означает, что выход фактически отключен от цепи.

Неэлектронные логические шлюзы

Неэлектронные реализации разнообразны, хотя лишь немногие из них находят практическое применение. Многие ранние электромеханические цифровые компьютеры, такие как Гарвардский Mark I, были построены на основе релейных логических элементов с использованием электромеханических реле. Логические элементы могут быть созданы с использованием пневматических устройств, таких как реле Сортеберга, или механических логических элементов, включая элементы молекулярного масштаба. Различные типы базовых логических элементов были сконструированы из молекул (молекулярных логических элементов), основанных на химических входных данных и спектроскопических выходных данных. Логические элементы были созданы из ДНК (см. ДНК-нанотехнологии) и использованы для создания компьютера под названием MAYA (см. MAYA II). Логические элементы могут быть реализованы на основе квантовомеханических эффектов, см. квантовые логические элементы. Фотонные логические элементы используют нелинейные оптические эффекты. В принципе, любой метод, приводящий к созданию функционально полной системы элементов (например, элемента NOR или NAND), может быть использован для создания любой цифровой логической схемы. Следует отметить, что использование трехстабильной логики для шинных систем не обязательно и может быть заменено цифровыми мультиплексорами, которые могут быть построены только из простых логических элементов (таких как элементы NAND, NOR или AND и OR).