Основные цифровые логические схемы
Last updated
Was this helpful?
Last updated
Was this helpful?
Вентили производятся не по отдельности, а в модулях, которые называются интегральными схемами(ИС) или микросхемами. ИС - квадратный кусок кремния, размер зависит от кол-ва вентилей. Микросхемы помещаются в прямоугольные пластиковые или керамические корпуса большего размера, если для обмена данными с внешним миром микросхеме требуется много выводов. Каждый вывод соединяется с входом или выходом какого-нибудь вентиля, с источником питания или с «землей».
DIP(Dual Inline Package) выводы расположены с двух сторон, используются в небольших микросхемах(микроконтроллеры, схемы памяти). Обычно имеют 14, 16, 18, 20, 22, 24, 28, 40, 64 или 68 выводов.
PGA(Pin Grid Array) и LGA(Lang Grid Array) вывода расположены с четырех сторон или снизу, для больших микросхем.
У корпусов PGA выводы располагаются на нижней части корпуса и входят в соответствующие гнезда на материнской плате. Сокеты PGA часто используют механизм нулевого усилия вставки(вставляются в гнездо без усилий, послечего нажатие рычага прикладывает давление ко всем выводам PGA, а микросхема прочно удерживается в гнезде. У микросхем LGA на нижней поверхности корпуса располагаются контактные площадки, а у гнезда LGA имеется крышка, которая прижимает микросхему к плате и обеспечивает контакт площадок LGA с площадками гнезда.
Выходной сигнал вентиля не сразу изменяется, существует определенная задержка вентиля, которая включает в себя прохождение изменившегося сигнала на входе через микросхему и время переключения(от сотен пикосекунд до нескольких наносекунд).
Три линии управления A, B и C кодируют 3-разрядное число, которое указывает, какая из восьми входных линий должна соединяться с вентилем ИЛИ и, следовательно, с выходом. Вне зависимости от того, какое значение окажется на линиях управления, семь вентилей И всегда будут выдавать на выходе 0, а оставшийся может выдавать 0 или 1 в зависимости от значения выбранной линии входа. Каждый вентиль И запускается определенной комбинацией сигналов на линиях управления.
Компаратор сравнивает два слова, которые поступают на вход.
Схема для вычисления бита суммы и бита переноса называется полусумматором.
Из двух полусумматоров можно собрать полный сумматор, который мог бы сдвигать биты и суммировать. Сумма равна 1, если нечетное число переменных A, B и вход переноса принимает значение 1 (то есть если единице равна или одна из переменных или все три). Выход переноса принимает значение 1, если либо А и B одновременно равны 1 (левый вход в вентиль ИЛИ), либо один из них равен 1 и вход переноса также равен 1.
В нижнем правом углу находится полный сумматор для подсчета суммы А и В, а также для осуществления переносов. Переносы необходимы, поскольку несколько таких схем могут быть соединены для выполнения операций над целыми словами. Одноразрядные схемы называются разрядными микропроцессорными секциями. Они позволяют разработчику строить АЛУ любой разрядности.
В компьютере за один такт может произойти множество событий. Если они должны осуществляться в определенном порядке, то такт следует разделить на подтакты. Чтобы достичь лучшего разрешения, чем у основного тактового генератора, нужно сделать ответвление от задающей линии тактового генератора и вставить схему с определенным временем задержки. Так порождается вторичный сигнал тактового генератора, сдвинутый по фазе относительно первичного(рисунок (а)). Временная диаграмма на рисунке (б), предлагает четыре точки начала отсчета времени для дискретных событий:
Подъем С1.
Спад С1.
Подъем С2.
Спад С2.
Связав различные события с разными перепадами (подъемами и спадами), можно достичь требуемой последовательности выполнения действий. Если в пре- делах одного такта нужно более четырех точек начала отсчета, можно сделать еще несколько ответвлений от задающей линии с различным временем задержки.
Тактовые генераторы могут быть синхронными. В этом случае время существования импульса с высоким уровнем равно времени существования импульса с низким уровнем (рисунок б). Чтобы получить асинхронную серию импульсов (сигнал С на рисунке в), нужно сдвинуть сигнал задающего генератора, используя цепь задержки. Затем полученный сигнал соединяется с изначальным сигналом с помощью логической функции И.
Мультиплексор представляет собой схему с входами, одним выходом и линиями управления, которые позволяют выбрать один из входов. Выбранный вход соединяется с выходом.
Используя мультиплексор, можно реализовать функцию большинства. Для каждой комбинации A, B и С выбирается одна из входных линий. Каждый вход соединяется либо с сигналом (логическая 1), либо с землей (логический 0). Алгоритм соединения входов: входной сигнал Di такой же, как значение в строке i таблицы истинности. В часте, где был разбор функции большинства, в таблице инстинности в строках 0, 1, 2 и 4 значение функции равно 0, поэтому соответствующие входы заземляются; в оставшихся строках значение функции равно 1, поэтому соответствующие входы соединяются с логической единицей. Таким способом на базе микросхемы (а) можно реализовать любую таблицу истинности с тремя переменными.
Декодер получает на входе n-разрядное число и использует его для того, чтобы выбрать (то есть установить в значение 1) одну из выходных линий.
Чтобы понять, зачем нужен декодер, представим себе память, состоящую из восьми микросхем, каждая из которых содержит 256 Мбайт. Три старших двоичных разряда адреса используются для выбора одной из восьми микросхем. На рисунке выше эти три бита — три входа A, B и С. В зависимости от входных сигналов ровно одна из восьми выходных линий (, ..., ) принимает значение 1; остальные линии принимают значение 0. Каждая выходная линия активизирует одну из восьми микросхем памяти. Поскольку только одна линия принимает значение 1, активизируется только одна микросхема. Каждый вентиль И имеет три входа, из которых первый — это А или , второй — B или \overlineB, третий — С или . Каждый вентиль запускается различной комбинацией входов: D0 — сочетанием , D1 — сочетанием и т. д.
Компаратор, выше принимает два входных сигнала A и B по бита каждый и выдает , если они равны, и , если они не равны. Схема основывается на вентиле ИСКЛЮЧАЮЩЕЕ ИЛИ. Если в результате вентиль ИЛИ выдает 0, значит, слова - равны. В нашем примере мы использовали инвертирование бита в вентиле ИЛИ, поэтому, если слова равны результат - 1, не равны - 0.
Восемь входных битов подаются на линии , ..., . Выходные данные, которые представляют собой входные данные, сдвинутые на один бит, поступают на линии , ..., . Линия управления С определяет направление сдвига: — влево, — вправо. При сдвиге влево в бит вставляется . Аналогичным образом при сдвиге вправо в бит вставляется значение .
Рассмотрим пары вентилей И (кроме крайних). Если , правый член каждой пары включается, пропуская через себя соответствующий бит. Так как правый вентиль И соединен с входом вентиля ИЛИ, который расположен справа от этого вентиля И, происходит сдвиг вправо. Если , включается левый вентиль И из пары, и тогда происходит сдвиг влево.
Большинство компьютеров содержат одну схему для выполнения над двумя машинными словами операций И, ИЛИ и сложения. Обычно эта схема для n-разрядных слов состоит из идентичных схем — по одной для каждой битовой позиции.
Это устройство может вычислять одну из 4-х следующих функций: A И B, A ИЛИ B, \overlineB, . Декодер генерирует сигналы включения для четырех операций. Выбор операции определяется сигналами управления и . В зависимости от значений и выбирается одна из четырех линий разрешения, и тогда выходной сигнал выбранной функции проходит через последний вентиль ИЛИ.
В верхнем левом углу схемы находится логическое устройство для вычисления функций А И В, А ИЛИ В и , но только один из этих результатов про- ходит через последний вентиль ИЛИ в зависимости от того, какую из линий разрешения выбрал декодер.
АЛУ может выполнять не только логические и арифметические операции над переменными А и В, но и делать их равными нулю, отрицая ENA (сигнал разре- шения А) или ENB (сигнал разрешения B). Можно также получить , установив сигнал INVA (инверсия А). При нормальных условиях и ENA, и ENB равны 1, чтобы разрешить поступление обоих входных сигналов, а сигнал INVA равен 0. В этом случае А и В просто поступают в логическое устройство без изменений.
Сигнал INC (увеличение на единицу) нужен только для операций сложения( и ).
Во многих цифровых схемах все зависит от порядка выполнения операций. Иногда одна операция должна предшествовать другой, иногда две операции должны происходить одновременно. Для контроля временных параметров в цифровые схемы встраиваются тактовые генераторы, позволяющие обеспечить синхронизацию. Тактовый генератор — это схема, которая вызывает серию импульсов. Все импульсы одинаковы по длительности. Интервалы между последовательными импульсами также одинаковы. Временной интервал между началом одного импульса и началом следующего называется временем такта. Частота импульсов обычно составляет от до , что соответствует времени такта от $$104$ до . Частота тактового генератора обычно контролируется высокоточным кварцевым генератором.
В некоторых схемах важны временные интервалы, а не дискретные моменты времени. Например, некоторое событие может происходить не на подъеме импульса, а в любое время, когда уровень импульса высокий. Другое событие может происходить только в том случае, когда уровень импульса высокий. Если необходимо более двух интервалов, нужно предоставить больше линий передачи синхронизирующих импульсов или сделать так, чтобы состояния с высоким уровнем импульса у двух тактовых генераторов частично пересекались во времени. В последнем случае можно выделить отдельных интервала: И , И , И и И .