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

22.02.2021

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

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

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

Операции в регистрах

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

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

Классификация регистров

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

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

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

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

Типы регистров

Регистры различают по типу ввода (загрузки, приёма) и вывода (выгрузки, выдачи) информации:

  • С последовательным вводом и выводом информации
  • С параллельным вводом и выводом информации
  • С параллельным вводом и последовательным выводом. Например: SN74LS165J(N), SN74166J(N), SN74LS166J(N)
  • С последовательным вводом и параллельным выводом. Например: SN7416J(N), SN74LS164J(N), SN74LS322J(N), SN74LS673J(N)
  • Использование триггеров с защёлками с тремя состояниями на выходе, увеличенная (по сравнению со стандартными микросхемами серии) нагрузочная способность позволяют использовать (в микропроцессорных системах с магистральной организацией) регистры непосредственно на магистраль в качестве регистров, буферных регистров, регистров ввода-вывода, магистрального передатчика и т. д. без дополнительных схем интерфейса.

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

    Параллельные регистры

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

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

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

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

    Примеры:

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

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

    По назначению регистры процессора различаются на:

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

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

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

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