Регистр (цифровая техника)

Регистр — устройство для записи, хранения и считывания -разрядных двоичных данных и выполнения других операций над ними.

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

Основой построения регистров являются: D-триггеры, RS-триггеры, JK-триггеры.

Операции в регистрах 
Типичными являются следующие операции:

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

Классификация регистров 
Регистры классифицируются по следующим видам:

 накопительные (регистры памяти, хранения);
 сдвигающие или сдвиговые.

В свою очередь сдвигающие регистры делятся:

 по способу ввода-вывода информации:
 параллельные: запись и считывание информации происходит одновременно на все входы и со всех выходов;
 последовательные: запись и считывание информации происходит в первый триггер, а та информация, которая была в этом триггере, перезаписывается в следующий — то же самое происходит и с остальными триггерами;
 комбинированные;

 по направлению передачи информации:
 однонаправленные;
 реверсивные.

Типы регистров 
Регистры различают по типу ввода (загрузки, приёма) и вывода (выгрузки, выдачи) информации:
 С последовательным вводом и выводом информации
 С параллельным вводом и выводом информации
 С параллельным вводом и последовательным выводом. Например: SN74LS165J(N), SN74166J(N), SN74LS166J(N)
 С последовательным вводом и параллельным выводом. Например: SN7416J(N), SN74LS164J(N), SN74LS322J(N), SN74LS673J(N)

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

Помимо вышеописанных двоичных регистров, регистр может основываться и на иной системе счисления, например троичной или десятичной.

Параллельные регистры 
В параллельных (статических) регистрах схемы разрядов не обмениваются данными между собой. Общими для разрядов обычно являются цепи тактирования, сброса/установки, разрешения выхода или приема, то есть цепи управления. Пример схемы статического регистра, построенного на триггерах типа D с прямыми динамическими входами, имеющего входы сброса и выходы с третьим состоянием, управляемые сигналом EZ.

Сдвигающие (последовательные) регистры 

Сдвиговые регистры (или последовательные (сдвигающие) регистры) представляют собою цепочку разрядных схем, связанных цепями переноса. Основной режим работы — сдвиг разрядов кода от одного триггера к другому на каждый импульс тактового сигнала.
В однотактных регистрах со сдвигом на один разряд вправо слово сдвигается при поступлении тактового сигнала. Вход и выход последовательные ().

Согласно требованиям синхронизации в сдвигающих регистрах, не имеющих логических элементов в межразрядных связях, нельзя применять одноступенчатые триггеры, управляемые уровнем, поскольку некоторые триггеры могут за время действия разрешающего уровня синхросигнала переключиться неоднократно, что недопустимо.
Появление в межразрядных связях логических элементов, и тем более, логических схем неединичной глубины упрощает выполнение условий работоспособности регистров и расширяет спектр типов триггеров, пригодных для этих схем.
Многотактные сдвигающие регистры управляются несколькими синхропоследовательностями. Из их числа наиболее известны двухтактные с основным и дополнительным регистрами, построенными на простых одноступенчатых триггерах, управляемых уровнем. По такту С1 содержимое основного регистра переписывается в дополнительный, а по такту С2 возвращается в основной, но уже в соседние разряды, что соответствует сдвигу слова. По затратам оборудования и быстродействию этот вариант близок к однотактному регистру с двухступенчатыми триггерами.

Примеры:
 SN74ALS164 (КР1533ИР8) — восьмиразрядный сдвиговый регистр с последовательной загрузкой и параллельной выгрузкой. Оснащён двумя входами, A и B, что позволяет заперев один из них (установив на нём низкий уровень напряжения по положительному фронту тактового импульса), осуществлять ввод данных в последовательном коде по другому входу.
 SN74ALS165 (КР1533ИР9), SN74ALS166 (КР1533ИР10) — восьмиразрядный сдвиговый регистр с последовательной выгрузкой, работающий в двух режимах: параллельной загрузки и сдвига,
 SN74198 (КР155ИР13) — восьмиразрядный реверсивный сдвиговый регистр, имеющий четыре режима работы: параллельная загрузка, сдвиг влево, сдвиг вправо и блокировка.
 SN74LS295 (КР1533ИР16) — четырёхразрядный сдвиговый регистр с параллельной загрузкой и тремя состояниями выходов, имеющий три режима работы: параллельная загрузка, сдвиг влево и блокировка. На основе регистра может быть построен реверсивный сдвигающий регистр с последовательным вводом данных и режимами сдвига влево и вправо.
 74HC595N (КР1564ИР52) — восьмиразрядный сдвиговый регистр с защелкой, имеющий возможность параллельного или последовательного объединения с тремя состояниями на выходе: высокий, низкий и высоко-импедансный.

Регистры процессора 

По назначению регистры процессора различаются на:
 аккумулятор — используется для хранения промежуточных результатов арифметических и логических операций и инструкций ввода-вывода;
 флаговые — хранят признаки результатов арифметических и логических операций;
 общего назначения — хранят операнды арифметических и логических выражений, индексы и адреса;
 индексные — хранят индексы исходных и целевых элементов массива;
 указательные — хранят указатели на специальные области памяти (указатель текущей операции, указатель базы, указатель стека);
 сегментные — хранят адреса и селекторы сегментов памяти;
 управляющие — хранят информацию, управляющую состоянием процессора, а также адреса системных таблиц.

Троичные регистры 

Троичные регистры строятся на троичных триггерах. Как и троичные триггеры, троичные регистры могут быть разных троичных систем кодирования троичных данных (троичных разрядов): трёхуровневая однопроводная, двухуровневая двухразрядная двухпроводная, двухуровневая трёхразрядная одноединичная трёхпроводная, двухуровневая трёхразрядная однонулевая трёхпроводная и др.

На рисунке справа приведена схема девятиразрядного параллельного статического стробируемого троичного регистра данных на трёх трёхразрядных параллельных статических стробируемых троичных регистрах данных в трёхбитной одноединичной системе троичных логических элементов (линии с обозначением 3В: трёхпроводные), имеющего ёмкость в показательной позиционной троичной системе счисления  чисел (кодов).

См. также 
 Триггер
 Счётчик (электроника)
 Сумматор
 Полусумматор
 Шифратор (электроника)
 Дешифратор
 Мультиплексор (электроника)
 Демультиплексор
 Цифровой компаратор
 Логические элементы

Примечания

Литература

Ссылки 
 Методические указания. Исследование регистров

Логические элементы