ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.12.2021
Просмотров: 6721
Скачиваний: 8
168
Глава 3. Цифровой логический уровень
б в
Рис. 3.26. D-защелки и D-триггеры
Регистры
Существуют различные конфигурации триггеров. На рисунке 3.27,
а
изображе-
на схема, содержащая два независимых D-триггера с сигналами предваритель-
ной установки и очистки. Хотя эти два триггера находятся на одной микросхеме
с 14 выводами, они не связаны между собой. Совершенно по-другому устроен вось-
миразрядный триггер, изображенный на рис. 3.27,
б.
Здесь, в отличие от предыду-
щей схемы, у восьми триггеров нет выхода (J и линий предварительной установки
и все синхронизирующие линии связаны вместе и управляются выводом 11. Сами
триггеры того же типа, что на рис. 3.26,
г,
но инвертирующие входы аннулируются
инвертором, связанным с выводом 11, поэтому триггеры запускаются при перехо-
де от 0 к 1. Все восемь сигналов очистки также объединены, поэтому когда вывод 1
переходит в состояние 0, все триггеры также переходят в состояние 0. Если вам не
понятно, почему вывод 11 инвертируется на входе, а затем инвертируется снова
при каждом сигнале СК, то ответ прост: входной сигнал не имеет достаточной
мощности, чтобы запустить все восемь триггеров; входной инвертор на самом деле
используется в качестве усилителя.
Одна из причин объединения линий синхронизации и линий очистки в микро-
схеме на рис. 3.27,
б ~
экономия выводов. С другой стороны, микросхема данной
конфигурации несколько отличается от восьми несвязанных триггеров. Эта мик-
росхема используется в качестве одного 8-разрядного регистра. Две такие микро-
схемы могут работать параллельно, образуя 16-разрядный регистр. Для этого нужно
связать соответствующие выводы 1 и 11. Регистры и их применение мы рассмот-
рим более подробно в главе 4.
Организация памяти
Хотя мы и совершили переход от простой памяти в 1 бит (см. рис. 3.23) к 8-разряд-
ной памяти (см. рис. 3.27,
б),
чтобы построить память большого объема, требуется
другой способ организации, при котором можно обращаться к отдельным словам.
Пример организации памяти, которая удовлетворяет этому критерию, показан на
рис. 3.28. Эта память содержит четыре 3-битных слова. Каждая операция считыва-
ет или записывает целое 3-битное слово. Хотя общий объем памяти (12 битов) не-
намного больше, чем у нашего 8-разрядного триггера, такая память требует меньше-
го количества выводов, и, что особенно важно, подобная организация применима
при построении памяти большого объема.
Память
169
v
;с
14
1
13
1:
CLR
D Q
>СК Q
PR
Y
~l
2
3
i
11
10
9
I
CLR
D Q
>CK Q
PR
4
f
5
6
8
7
GND
GND
Рис. 3.27. Два D-триггера (а); восьмиразрядный триггер (б)
Хотя
структура памяти, изображенная на рис. 3.28, может на первый взгляд по-
казаться сложной, на самом деле она очень проста благодаря своей регулярной
структуре. Она содержит 8 входных линий (3 входа для данных — 1
0
, Ь и 1
2
; 2 входа
170
Глава 3. Цифровой логический уровень
для адресов — Ао и А,; 3 входа для управления — CS (Chip Select — выбор элемента
памяти), RD (для различия между считыванием и записью) и ОЕ (Output Enable —
разрешение выдачи выходных сигналов)) и 3 выходные линии для данных — Оо,
O
t
и Ог- Такую память в принципе можно поместить в корпус с 14 выводами (вклю-
чая питание и «землю»), а 8-разрядный триггер требует наличия 20 выводов.
Входные данные
i
Ао
CS
RD
ОЕ
Вентиль |—
записи
Слово 0
Линия
выборки
слова
О
-7
Линия
выборки
слова 1
Линия
выборки
слова 2
CS-RD
Слово 1
Разрешение выхода = CS • RD • ОЕ
Рис. 3.28.
Логическая блок-схема для памяти 4X3. Каждый ряд представляет одно
из 3-битных слов. При операции считывания и записи всегда считывается
или записывается целое слово
Чтобы выбрать микросхему памяти, внешняя логика должна установить CS на 1,
а также установить RD на 1 для чтения и на 0 для записи. Две адресные линии
должны указывать, какое из четырех 3-битных слов нужно считывать или записы-
вать. При операции считывания входные линии для данных не используются.
Память 171
Выбирается слово и помещается на выходные линии для данных. При операции
записи биты, находящиеся на входных линиях для данных, загружаются в выбран-
ное слово памяти; выходные линии при этом не используются.
А теперь давайте посмотрим, как работает память, изображенная на рис. 3.28.
Четыре вентиля И для выбора слов в левой части схемы формируют декодер. Вход-
ные инверторы расположены так, что каждый вентиль запускается определенным
адресом. Каждый вентиль приводит в действие линию выбора слов (для слов 0, 1,
2 и 3). Когда микросхема должна производить запись, вертикальная линия CS • 1Ш
получает значение 1, запуская один из 4 вентилей записи. Выбор вентиля зави-
сит от того, какая именно линия выбора слов равна 1. Выходной сигнал вентиля
записи приводит в действие все сигналы СК для выбранного слова, загружая вход-
ные данные в триггеры для этого слова. Запись производится только в том случае,
если CS равно 1, a RD равно 0, при этом записывается только слово, выбранное
адресами Ао и Аь остальные слова не меняются
Процесс считывания сходен с процессом записи. Декодирование адреса проис-
ходит точно так же, как и при записи. Но в данном случае линия CS • RD принима-
ет значение 0, поэтому все вентили записи блокируются и ни один из триггеров не
меняется. Вместо этого линия выбора слов запускает вентили И, связанные с би-
тами Q выбранного слова Таким образом, выбранное слово передает свои данные
в четырехвходовые вентили ИЛИ, расположенные в нижней части схемы, а ос-
тальные три слова выдают 0. Следовательно, выход вентилей ИЛИ идентичен зна-
чению, сохраненному в данном слове. Остальные три слова никак не влияют на
выходные данные.
Мы могли бы разработать схему, в которой три вентиля ИЛИ соединялись бы с
тремя линиями вывода данных, но это вызвало бы некоторые проблемы. Мы рас-
сматривали линии ввода данных и линии вывода данных как разные линии На
практике же используются одни и те же линии. Если бы мы связали вентили ИЛИ
с линиями вывода данных, микросхема пыталась бы выводить данные (то есть за-
давать каждой линии определенную величину) даже в процессе записи, мешая
нормальному вводу данных. По этой причине желательно каким-то образом со-
единять вентили ИЛИ с линиями вывода данных при считывании и полностью
разъединять их при записи. Все, что нам нужно, — электронный переключатель,
который может устанавливать и разрушать связь за несколько наносекунд.
К счастью, такие переключатели существуют На рис. 3 29,
а
показано сим-
волическое изображение так называемого
буферного элемента без инверсии.
Он содержит вход для данных, выход для данных и вход управления. Когда вход
управления равен 1, буферный элемент работает как провод (см. рис. 3.29,
б).
Когда вход управления равен 0, буферный элемент работает как разомкнутая цепь
(см рис. 3.29, б), как будто кто-то отрезал выход для данных от остальной части
схемы кусачками. Соединение может быть восстановлено за несколько наносекунд,
если сделать сигнал управления равным 1.
На рис. 3.29, г показан
буферный
элемент с
инверсией,
который действует
как обычный инвертор, когда сигнал управления равен 1, и отделяет выход от ос-
тальной части схемы, когда сигнал управления равен 0. Оба буферных элемента
представляют собой
устройства с тремя состояниями,
поскольку они могут выда-
вать 0,1 или вообще не выдавать сигнала (в случае с разомкнутой цепью). Буфер-
172 Глава 3. Цифровой логический уровень
ные элементы, кроме того, усиливают сигналы, поэтому они могут справляться с
большим количеством сигналов одновременно. Иногда они используются в схе-
мах именно по этой причине, даже если их свойства переключателя не нужны.
Зходные
данные [\
И
Управление
а
Выходные
данные
>-—
б
Рис. 3.29. Буферный элемент без инверсии (а); действие буферного элемента без инверсии,
когда сигнал управления равен 1 (б); действие буферного элемента без инверсии, когда
сигнал управления равен 0 {s); буферный элемент с инверсией (г)
Сейчас уже должно быть понятно, для чего нужны три буферных элемента без
инверсии на линиях вывода данных. Когда CS, RD и ОЕ все равны 1, то сигнал
разрешения выдачи выходных данных также равен 1, в результате чего запускают-
ся буферные элементы и слово помещается на выходные линии. Когда один из
сигналов CS, RD и ОЕ равен 0, выходы отсоединяются от остальной части схемы.
Микросхемы памяти
Преимущество памяти, изображенной на рис. 3.28, состоит в том, что подобная
структура применима при разработке памяти большого объема. Мы нарисовали
схему 4x3 (для 4 слов по 3 бита каждое). Чтобы расширить ее до размеров 4x8,
нужно добавить еще 5 колонок триггеров по 4 триггера в каждой, а также 5 вход-
ных и 5 выходных линий. Чтобы перейти от размера 4x3 к размеру 8x3, мы должны
добавить еще четыре ряда триггеров по три триггера в каждом, а также адресную
линию А
2
. При такой структуре число слов в памяти должно быть степенью двойки
для максимальной эффективности, а число битов в слове может быть любым.
Поскольку технология изготовления интегральных схем хорошо подходит для
производства микросхем с внутренней структурой повторяемой плоской поверхно-
сти, микросхемы памяти являются идеальным применением для этого. С развитием
технологии число битов, которое можно вместить в одной микросхеме, постоянно
увеличивается, обычно в два раза каждые 18 месяцев (закон Мура). С появлением
больших микросхем маленькие микросхемы не всегда устаревают из-за компромис-
сов между преимуществами емкости, скорости, мощности, цены и сопряжения. Обыч-
но самые большие современные микросхемы пользуются огромным спросом и,
следовательно, стоят гораздо дороже за 1 бит, чем микросхемы небольшого размера.
При любом объеме памяти существует несколько различных способов орга-
низации микросхемы. На рис. 3.30 показаны две возможные структуры микро-
схемы в 4 Мбит: 512 Кх8 и 4096 Kxl. (Размеры микросхем памяти обычно даются
в битах, а не в байтах, поэтому здесь мы будем придерживаться этого соглаше-
ния.) На рис. 3.30,
а
можно видеть 19 адресных линий для обращения к одному из
2
19
байтов и 8 линий данных для загрузки или хранения выбранного байта.