Организация памяти

Чтобы построить память большого объе­ма, требуется такой способ ее организации, при котором можно обращаться к от­дельным словам памяти. Пример такой организации памяти, показан на рис. 3,28.

Эта память содержит четыре 3-разрядных слова. Каждая операция считывает или записывает целое 3-разрядное слово.

Хотя об­щий объем памяти (12 бит) не намного больше, чем у 8-разрядного триггера, такая память требует меньшего количества выводов и, что особенно важно, подоб­ная организация применима для построения памяти большого объема.

Рассмотренная организация памяти может показаться сложной, на самом деле она очень проста благодаря своей регуляр­ной структуре.

Микросхема содержит 8 входных линий, в частности

· 3 входа для данных — I1, I2, I3,

· 2 входа для адресов — Ао и А1;

· 3 входа для управления — CS (Chip Select — выбор элемента памяти), RD (ReaD — чтение, этот сигнал позво­ляет отличать считывание от записи) и ОЕ (Output Enable — разрешение выдачи выходных сигналов),

· а также 3 выходные линии для данных — О1,O2 и О3.

Та­кую память можно поместить в корпус с 14 выводами (включая пи­тание и землю), а 8-битный регистр требует наличия 20 выводов.

Чтобы выбрать микросхему памяти, внешняя логика должна установить сиг­нал CS в 1, а также установить сигнал RD в 1 для чтения и в 0 для записи.

Две адресные линии должны указывать, какое из четырех 3-разрядных слов нужно считывать или записывать.

При считывании входные линии для данных не ис­пользуются. Выбирается слово и помещается на выходные линии для данных.

При записи биты, находящиеся на входных линиях для данных, загружаются в выбранное слово памяти, выходные линии при этом не используются.

Описание работы памяти, изображенная на рис, 3.28.

Четыре вентиля И для выбора слов в левой части схемы формируют декодер.

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

Каждый вентиль приводит в действие линию выбора слов (для слов 0, 1, 2 и 3).

Когда микросхема должна производить запись (CS=0), вертикальная линия получает значение 1, запуская один из четырех вентилей записи.

Выбор вентиля зависит от того, какая именно линия выбора слов равна 1. Выход­ной сигнал вентиля записи приводит в действие все сигналы синхронизации СК для выбранного слова, загружая входные данные в триггеры для этого слова.

Запись производится только в том случае, если сигнал CS равен 1, a RD — 0, при этом записывается только слово, выбранное адресами Ао и AL; остальные слова не меняются.

Процесс считывания сходен с процессом записи.

Декодирование адреса про­исходит точно так же, как и при записи. Но в данном случае линия при­нимает значение 0, поэтому все вентили записи блокируются, и ни один из триг­геров не изменяет своего значения. Вместо этого линия выбора слов запускает вентили И, связанные с битами Q выбранного слова.

Таким образом, выбранное слово пере­дает свои данные в 4-входовые вентили ИЛИ, расположенные в нижней части схемы, а остальные три слова выдают 0, Следовательно, выход вентилей ИЛИ идентичен значению, сохраненному в данном слове. Остальные три слова никак не влияют на выходные данные.

 

Принципиально три вентиля ИЛИ можно соединить напрямую с тремя линиями вывода данных, при условии, что линии ввода данных и линии вывода данных разные физические ли­нии.

На практике для уменьшения количества выводов используются одни и те же линии.

Если бы мы связали вен­тили ИЛИ с линиями вывода данных напрямую, микросхема пыталась бы выводить дан­ные (то есть задавать каждой линии определенную величину) даже в процессе записи, мешая нормальному вводу данных.

По этой причине необходимо соединять вентили ИЛИ с линиями ввода/вывода данных при считывании и полностью разъединять их при записи.

Для этого используются — электронные пере­ключатели, которые могут устанавливать и разрывать связь за несколько нано­секунд.