ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.12.2021

Просмотров: 6720

Скачиваний: 8

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Память

163

соединить полученный сигнал с изначальным сигналом с помощью логической
функции И (см. рис. 3.20,

 в,

 сигнал С),

Память

Память является необходимым компонентом любого компьютера. Без памяти не
было бы компьютеров, по крайней мере таких, какие есть сейчас. Память исполь-

зуется как для хранения команд, которые нужно выполнить, так и данных. В сле-
дующих разделах мы рассмотрим основные компоненты памяти, начиная с уровня
вентилей. Мы увидим, как они работают и как из них можно получить память боль-

шой емкости.

Защелки

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

 а.

 Аналогичные схемы мож-

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

Q

А

0

0

1

1

В

0

1

0

1

НЕ-

ИЛИ

1

0

0

0

Рис.  3 . 2 1

. Защелка НЕ-ИЛИ в состоянии 0 (а); защелка НЕ-ИЛИ в состоянии 1

 (б);

таблица истинности для функции НЕ-ИЛИ (Й)

Схема, изображенная на рис. 3.21,

 а,

 называется SR-защелкой. У нее есть два

входа: S (setting — установка) и R (resetting — сброс). У нее также есть два компле-
ментарных

1

 (дополнительных) выхода: Q и Q. В отличие от комбинационной схе-

мы, выходные сигналы защелки не определяются текущими входными сигналами.

Чтобы увидеть, как это осуществляется, предположим, что S=0 и R=0 (вообще

они равны 0 большую часть времени). Чтобы провести доказательство, предполо-
жим также, что Q=0. Так как Q возвращается в верхний вентиль НЕ-ИЛИ и оба

входа этого вентиля равны 0, то его выход, Q, равен 1. Единица возвращается в ниж-

ний вентиль, у которого в итоге один вход равен 0, а другой — 1, а на выходе получа-

ется Q=0. Такое положение вещей, по крайней мере, состоятельно (рис. 3.21,

 а).

От англ.

 complementary —

 дополняющий. —

 Примеч. пер.


background image

1 6 4 Глава 3. Цифровой логический уровень

А теперь давайте представим, что Q=l, a R и S все еще равны 0. Верхний вен-

тиль имеет входы 0 и 1 и выход Q (то есть 0), который возвращается в нижний
вентиль. Такое положение вещей, изображенное на рис. 3.21,

 б,

 также состоятель-

но. Положение, когда оба выхода равны 0, несостоятельно, поскольку в этом слу-
чае оба вентиля имели бы на входе два нуля, что привело бы к единице на выходе,
а не к нулю. Точно так же невозможно иметь оба выхода равных 1, поскольку это
привело бы к входным сигналам 0 и 1, что вызывает на выходе 0, ане 1. Наш вывод
прост: при R=S=0 защелка имеет два стабильных состояния, которые мы будем
называть 0 и 1 в зависимости от Q.

А сейчас давайте рассмотрим действие входных сигналов на состояние защел-

ки. Предположим, что S принимает значение 1, в то время как Q=0. Тогда входные

сигналы верхнего вентиля будут 1 и 0, что приведет к выходному сигналу Q=0.

Это изменение делает оба входа в нижний вентиль равными 0 и, следовательно,

выходной сигнал равным 1. Таким образом, установка S на значение 1 переключа-
ет состояние с 0 на 1. Установка R на значение 1, когда защелка находится в состо-
янии 0, не вызывается изменений, поскольку выход нижнего вентиля НЕ-ИЛИ
равен 0 и для входов 10, и для входов 11.

Используя подобную аргументацию, легко увидеть, что установка S на значе-

ние 1 при состоянии защелки 1 (то есть при Q=l) не вызывает изменений, но уста-
новка R на значение 1 приводит к изменению состояния защелки. Таким образом,
если S принимает значение 1, то Q будет равно 1 независимо от предыдущего со-

стояния защелки. Сходным образом переход R на значение 1 вызывает Q=0. Схе-

ма «запоминает», какой сигнал был в последний раз: S или R. Используя это свой-

ство, мы можем конструировать компьютерную память.

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

Часто бывает удобно сделать так, чтобы защелка меняла состояние только в опре-

деленные моменты. Чтобы достичь этой цели, мы немного изменили основную
схему и получили

 синхронную SR-защелку

 (рис. 3.22).

Тактовый п

генератор

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

Эта схема имеет дополнительный синхронизирующий вход, который обычно

равен 0. Если этот вход равен 0, то оба выхода вентилей И равны 0 независимо от S
и R, и защелка не меняет состояние. Когда значение синхронизирующего входа
равно 1, действие вентилей И исчезает и состояние защелки становится зависи-
мым от S и R. Для обозначения того факта, что синхронизирующий вход равен 1


background image

Память

165

(то есть состояние схемы зависит от значений S и R), часто используется термин

стробировать.

До сих пор мы скрывали, что происходит, если S=R=1. И по понятным причи-

нам: когда и R, и S в конце концов возвращаются к 0, схема становится недетерми-
нированной. Единственное состоятельное положение при S=R=1 — это Q=Q=0,

но как только оба входа возвращаются к 0, защелка должна перейти в одно из двух
стабильных состояний. Если один из входов принимает значение 0 раньше, чем

другой, оставшийся в состоянии 1 «побеждает», потому что когда один из вхо-
дов равен 1, он управляет состоянием защелки. Если оба входа переходят к 0 од-

новременно (что маловероятно), защелка переходит в одно из своих состояний

наугад.

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

Чтобы разрешить неопределенность SR-защелки (неопределенность возникает
в случае, если S=R=1), нужно предотвратить появление подобной неопределенно-
сти. На рис. 3.23 изображена схема защелки только с одним входом D. Так как
входной сигнал в нижний вентиль И всегда является обратным кодом входного
сигнала в верхний вентиль И, ситуация, когда оба входа равны 1, никогда не воз-
никает. Когда D=l и синхронизирующий вход равен 1, защелка переходит в со-
стояние Q,= l. Когда D=0 и синхронизирующий вход равен 1, защелка переходит
в состояние Q=0. Другими словами, когда синхронизирующий вход равен 1, теку-
щее значение D отбирается и сохраняется в защелке. Такая схема, которая называ-

ется

 синхронной

 D-защелкой, представляет собой память объемом 1 бит. Значение,

которое было сохранено, всегда доступно на выходе Q. Чтобы загрузить в память

текущее значение D, нужно пустить положительный импульс по линии синхрони-
зирующего сигнала.

Q

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

Такая схема требует наличия 11 транзисторов. Более сложные схемы могут

хранить 1 бит, имея всего 6 транзисторов. На практике обычно используются по-
следние.

Триггеры (flip-flops)

Многие схемы выбирают значение на определенной линии в определенный мо-

мент времени и запоминают его. В такой схеме, которая называется

 триггером,


background image

166

Глава 3. Цифровой логический уровень

переход состояния происходит не тогда, когда синхронизирующий сигнал равен 1,
а во время перехода синхронизирующего сигнала с 0 на 1 (нарастающий фронт)
или с 1 на 0 (задний фронт). Следовательно, длина синхронизирующего импульса
не имеет значения, поскольку переходы происходят быстро.

Подчеркнем еще раз различие между триггером и защелкой. Триггер запускает-

ся фронтом сигнала, а защелка запускается уровнем сигнала. Обратите внима-
ние, что в литературе эти термины часто путаются. Многие авторы используют

термин «триггер», когда речь идет о защелке, и наоборот

1

.

Существует несколько подходов к разработке триггеров. Например, если бы

существовал способ генерирования очень короткого импульса на нарастающем фрон-
те синхронизирующего сигнала, этот импульс можно было бы подавать в D-за-
щелку. В действительности такой способ существует. Соответствующая схема по-
казана на рис. 3.24,

 а.

Ь И с

Время

Рис. 3.24. Генератор импульса (а); временная диаграмма для четырехточекнасхеме(б)

На первый взгляд может показаться, что выход вентиля И всегда будет нуле-

вым, поскольку функция И от любого сигнала с его инверсией дает 0, но на самом

деле ситуация несколько более тонкая. При прохождении сигнала через инвертор

происходит небольшая, но все-таки не нулевая задержка. Данная схема работает

именно благодаря этой задержке. Предположим, что мы измеряем напряжение

в четырех точках а, Ь, с и d. Входовый сигнал в точке а представляет собой длинный
синхронизирующий импульс (см. нижний график на рис. 3.24,

 б).

 Сигнал в точке b

показан над ним. Отметим, что этот сигнал инвертирован и подается с некоторой

1

 В отечественной литературе термин «защелка* (latch) не используется, i оворят о триггерах, Однако

при этом вводится понятие Т-триггера, который здесь называется настоящим триггером. —

 Примеч.

научн. ред


background image

Память

167

задержкой. Время задержки зависит от типа инвертора и обычно составляет не-
сколько наносекунд.

Сигнал в точке с тоже подается с задержкой, но эта задержка обусловлена толь-

ко временем прохождения сигнала (со скоростью света). Если физическое рассто-

яние между а и с, например, 20 микрон, тогда задержка на распространение сигна-

ла составляет 0,0001 не, что, конечно, незначительно по сравнению со временем,

которое требуется на прохождение сигнала через инвертор. Таким образом, сиг-
нал в точке с практически идентичен сигналу в точке а.

Когда входные сигналы b и с подвергаются операции И, в результате получает-

ся короткий импульс, длина которого (Д) равна вентильной задержке инвертора

(обычно 5 не и меньше). Выходной сигнал вентиля И — данный импульс, сдвину-

тый из-за задержки вентиля И (см. верхний график на рис. 3 24,

 б).

 Этот времен-

ной сдвиг означает только то, что D-защелка активизируется с определенной за-

держкой после нарастающего фронта синхронизирующего импульса Он никак не

влияет на длину импульса. В памяти со временем цикла в 50 не импульс в 5 не

(который сообщает, когда нужно выбирать линию D) достаточно короткий, и в этом

случае полная схема может быть такой, какая изображена на рис. 3.25. Следует

упомянуть, что такая схема триггера проста для понимания, но на практике обыч-

но используются более сложные триггеры.

Q

Рис. 3.25. D-триггер

Стандартные изображения защелок и триггеров показаны на рис 3 26 На рис.3 26,

 а

изображена защелка, состояние которой загружается тогда, когда синхронизирующий
сигнал СК (от слова clock) равен 1, в противоположность защелке, изображенной
на рис. 3 26,

6,

 у которой синхронизирующий сигнал обычно равен 1, но переходит

на 0, чтобы загрузить состояние из D. На рис. 3.26,

 виг

 изображены триггеры.

То, что это триггеры, а не защелки, показано с помощью уголка при синхронизиру-
ющем входе. Триггер на рис. 3.26,

 в

 изменяет состояние на возрастающем фронте

синхронизирующего импульса (переход от 0 к 1), тогда как триггер на рис 3 26,

 г

изменяет состояние на заднем фронте (переход от 0 к 1). Многие (хотя не все)
защелки и триггеры также имеют выход

 £

У, а у некоторых есть два дополнитель-

ных входа.

 Set

 (установка) или

 Preset

 (предварительная установка) и

 Reset

 (сброс)

или

 Clear

 (очистка). Первый вход

 (Set

 или

 Preset)

 устанавливает Q=l, а второй

(Reset или Clear) —

 Q=0.