Последовательностные функциональные узлы. Регистры и регистровая память
Регистр - это ИМС средней степени интеграции, предназначенная для запоминания и хранения многоразрядного слова.
Регистр-защелка
Простейший регистр представляет собой параллельное соединение нескольких триггеров (рис. 8.1,а). УГО регистра-защелки приведена на рис. 8.1,б. Если регистр построен на триггерах-защелках, то его называют регистр- "защелка". Как правило, в состав ИС регистра входят буферные усилители и элементы управления, например как показано на рис. 8.2,а. Здесь изображена функциональная схема 8-разрядного D -регистра-защелки КР580ИР82 с тремя состояниями на выходе. Его УГО представлено на рис. 8.2,б.
увеличить изображение
Рис. 8.2. Восьми-разрядный регистр-"защелка" КР580ВМ80А: а - функциональная схема; б - УГО
Третьим состоянием (первые два - это логический 0 и логическая 1) называется состояние выходов ИС, при котором они отключены и от источника питания, и от общей точки. Другие названия этого состояния - состояние высокого сопротивления, высокоимпедансное состояние, Z-состояние [1, с. 61 - 63; 2, с. 68 - 70].
Достигается это третье состояние специальным схемным решением [3, с. 117 - 118] в выходной части логических элементов, когда выходные транзисторы логических элементов заперты и не подают на выход ни напряжения питания, ни потенциала земли (не 0 и не 1).
Регистр КР580ИР82 состоит из 8 функциональных блоков (рис. 8.2,а). В каждый из них входит D -триггер-защелка с записью по заднему фронту и мощный выходной вентиль на 3 состояния. STB - стробирующий вход, - разрешение передачи - сигнал, управляющий третьим состоянием: если , то происходит передача информации со входов на соответствующие выходы , если же , все выходы переводятся в третье состояние. При и ИС работает в режиме шинного формирователя - информация со входов передается на выходы в неизменном виде.
При подаче на заднего фронта сигнала происходит "защелкивание" передаваемой информации в триггерах, то есть там запоминается то, что было на момент подачи . Пока , буферный регистр будет хранить эту информацию, независимо от информации на D -входах. При подаче переднего фронта при сохранении состояние выходов будет изменяться в соответствии с изменением на соответствующих входах . Если же , то все выходные усилители переводятся в третье состояние. При этом, независимо от состояния входов, все выходы регистра переводятся в третье состояние.
Все выводы регистра могут иметь активный нулевой уровень, что отображается на УГО в виде инверсных сигналов и обозначений выводов.
Существует множество разновидностей регистров, например, сдвиговые регистры [4, глава 8], в которых триггеры соединены между собой таким образом, что передают информацию последовательно от одного триггера к другому [5, стр. 109 - 122], но мы здесь остановимся на регистре-защелке и его применении.
Регистровая память
Регистровая память - register file - это сверхоперативное запоминающее устройство (СОЗУ) - схема из нескольких регистров, предназначенная для хранения нескольких многоразрядных слов.
На рис. 8.3 показан пример реализации СОЗУ, состоящего из четырех 8-разрядных регистров (подключение RG2 и RG3 не показано, оно осуществляется аналогично). Данное СОЗУ имеет информационный объем 4x8 бит - 4 слова по 8 бит, или 4 байта. Здесь DI - data input - входная шина данных, DO - data output - выходная шина данных, WR - сигнал записи в СОЗУ, RD - сигнал чтения информации из СОЗУ, ВШД - внутренняя шина данных.
Каждый регистр имеет двухразрядный адрес, который подается на входы дешифратора. Например, крайний левый на рис. 8.3 регистр RG1 имеет адрес , следующий - (не показан на рисунке), далее - (не показан), а крайний справа регистр RG4 имеет адрес .
При наличии активного сигнала записи дешифратор в соответствии с кодом адреса выдает на один из регистров активный сигнал , по которому информация с входной шины данных DI записывается в выбранный регистр. По заднему фронту информация в этом регистре "защелкивается".
Если, например, на DI подана информация , и адрес регистра равен , тогда активный сигнал на выходе "3" дешифратора будет подан как на регистр RG4. На остальных регистрах в это время будет неактивный уровень сигнала , поэтому информация с входной шины данных будет записана в RG4, в остальных регистрах будет храниться записанная ранее информация.
При активном сигнале чтения активизируются все 8 мультиплексоров (на схеме показаны первый, второй и восьмой, остальные подключены аналогичны), поскольку на их разрешающие входы подан активный сигнал . В соответствии с поданным на дешифратор адресом, мультиплексоры коммутируют на выходную шину данных информацию с выбранного регистра. Например, , адрес регистра равен . Тогда на всех мультиплексорах будет , все они начинают выбирать информацию в соответствии с адресом . Поэтому на выходную шину DO будут поданы разряды внутренней шины с номерами 25 - с первого мультиплексора, 26 - со второго, 27 - с третьего, 28 - с четвертого, 29 - с пятого, 30 - с шестого, 31 - с седьмого и 32 - с восьмого мультиплексора. Таким образом, информация, являющаяся копией содержимого регистра RG 4 с адресом передается на выходную шину данных DO.
Рассмотрим еще один пример синтеза схемы регистровой памяти объемом на 4 двухразрядных слова [6, c. 54,55]. Поскольку количество регистров равно 4, для их адресации достаточны 2 линии адреса. Соответственно количеству регистров разрядность мультиплексоров равна 4. Схема приведена на рис. 8.4. Здесь же отображено состояние всех точек схемы при заданной входной информации. На рис. 8.4 приняты обозначения и - значения выходов регистров и соответственно в предыдущие моменты времени - показывают, что информация на соответствующем выходе не изменяется. Аналогично - неизменное состояние выхода мультиплексора.