Реклама:

Чтобы создать один бит памяти, нужна схема, которая каким-то образом "запоминает" предыдущие входные значения. Такую схему можно сконструировать из двух вентилей НЕ-ИЛИ, как показано на рис. 3.21, а. Аналогичные схемы можно построить из вентилей НЕ-И. Мы не будем упоминать эти схемы в дальнейшем, поскольку они, по существу, идентичны схемам с вентилями НЕ-ИЛИ.

Защелки

Рис. 3.21. Защелка НЕ-ИЛИ в состоянии 0 (а); защелка НЕ-ИЛИ в состоянии 1 (б); таблица истинности для функции НЕ-ИЛИ (в)

Схема, изображенная на рис. 3.21, я, называется SR-защелкой. У нее есть два входа: S (Setting - установками R (Resetting - сброс). У нее также есть два комплиментарных выхода: Q и Q. В отличие от комбинаторной схемы, выходные сигналы защелки не определяются текущими входными сигналами.

Чтобы понять, как работает защелка, предположим, что S = 0 и R = 0 (вообще сигнал на этих входах равен 0 большую часть времени). Предположим также, что Q = 0. Так как Q возвращается в верхний вентиль НЕ-ИЛИ и оба входа этого вентиля равны 0, то его выход, 0> равен 1. Единица возвращается в нижний вентиль, у которого в итоге один вход равен 0, другой - 1, а на выходе получается 2=0. Такое положение вещей, по крайней мере, состоятельно (см. рис. 3.21, а).

А теперь давайте представим, что () = 1, а і? и 5 все еще равны 0. Верхний вентиль имеет входы 0 и 1 и выход (X (то есть 0), который возвращается в нижний вентиль. Такое положение вещей, изображенное на рис. 3.21, б, также состоятельно. Положение, когда оба выхода равны 0, не состоятельно, поскольку в этом случае оба вентиля имели бы на входе два нуля, что привело бы к единице на выходе, а не к нулю. Точно так же невозможно иметь оба выхода равные 1, поскольку это привело бы к входным сигналам 0 и 1, что вызывает на выходе 0, а не 1. Наш вывод прост: при К = 5 = 0 защелка имеет два устойчивых состояния, которые мы будем называть 0 и 1 в зависимости от ().

А сейчас давайте рассмотрим действие входных сигналов на состояние защелки. Предположим, что 5 принимает значение 1, в то время как (2=0. Тогда входные сигналы верхнего вентиля равны 1 и 0, что ведет к выходному сигналу 2=0. Это изменение делает оба входа в нижний вентиль равными 0, и, следовательно, выходной сигнал равняется 1. Таким образом, установка 5 в значение 1 переключает состояние с 0 на 1. Установка Я в значение 1, когда защелка находится в состоянии 0, не вызывает изменений, поскольку выход нижнего вентиля НЕ-ИЛИ равен 0 как для входов 10, так и для входов И.

Использовав подобную аргументацию, легко увидеть, что установка 5 в значение 1 при состоянии защелки 1 (то есть при (1= 1) не вызывает изменений, но установка Я в значение 1 приводит к изменению состояния защелки. Таким образом, если 5 принимает значение 1, то (} равняется 1 независимо от предыдущего состояния защелки. Сходным образом переход Я в значение 1 вызывает () = 0. Схема "запоминает", какой сигнал был последним: 5 или К Используя это свойство, мы можем строить компьютерную память.

Синхронные вН-защелки

Часто удобно, чтобы защелка меняла состояние только в определенные моменты. Чтобы достичь этой цели, немного изменим основную схему и получим синхронную вИ-защелку (рис 3.22).

Защелки

Рис. 3.22. Синхронная БЯ-защелка

Эта схема имеет дополнительный синхронизирующий вход, который по большей части равен 0. Если этот вход равен 0, то оба выхода вентилей И равны 0, и независимо от значений 5 и защелка не меняет свое состояние. Когда значение синхронизирующего входа равно 1, действие вентилей И прекращается, и состояние защелки становится зависимым от 5 и Для обозначения факта появления единицы на синхронизирующем входе часто используются термины включение и стробирование.

До сих пор мы не выясняли, что происходит, когда 5 = = 1. И по понятным причинам: когда и и 5 в конце концов возвращаются к 0, схема становится недетерминированной. Единственное приемлемое состояние при 5 = Я = 1 - это (2 = (2 = 0, но как только оба входа возвращаются к 0, защелка должна перейти в одно из двух устойчивых состояний. Если один из входов принимает значение О раньше, чем другой, оставшийся в состоянии 1 "побеждает", потому что именно единичный вход управляет состоянием защелки. Если оба входа переходят к О одновременно (что очень маловероятно), защелка выбирает одно из своих устойчивых состояний произвольным образом.

Синхронные 0-защелки

Чтобы разрешить ситуацию с неопределенностью 811-защелки (неопределенность возникает в случае, если 5 = = 1), нужно не дать ей возникнуть. На рис. 3.23 изображена схема защелки только с одним входом Б. Так как входной сигнал в нижний вентиль И всегда является обратным кодом входного сигнала в верхний вентиль И, ситуация, когда оба входа равны 1, никогда не возникает. Когда И = 1 и синхронизирующий вход равен 1, защелка переходит в состояние (2=1. Когда Б = О и синхронизирующий вход равен 1, защелка переходит в состояние (2=0. Другими словами, когда синхронизирующий вход равен 1, текущее значение Б отбирается и сохраняется в защелке. Такая схема, которая называется синхронной Э-защелкой, представляет собой память объемом 1 бит. Сохраненное значение всегда доступно на выходе (2 Чтобы загрузить в память текущее значение Д нужно пустить положительный импульс по линии синхронизирующего сигнала.

Защелки

Рис. 3.23. Синхронная D-защелка

Такая схема требует 11 транзисторов. Более сложные схемы (именно они обычно используются на практике) могут хранить 1 бит всего на 6 транзисторах.

Память/3 || Оглавление || Триггеры