Принцип работы параллельного регистра сдвига описан в таблице 1. При включении питания на выходах регистра может установиться любая двоичная комбинация, такая, например, как в строке 1 таблицы. Подача логического 0 на входы CLR триггеров инициирует очистку регистра (строка 2). Далее (строка 3) осуществляется загрузка в регистр двоичной комбинации 0100. Последовательные тактовые импульсы вызывают сдвиг введенной информации вправо (строки 4 - 8). В строках 5 и 6: единица из крайнего правого триггера (четвёртого) переносится в крайний левый триггер (первый). В данном случае можно говорить о кольцевом перемещении единицы в регистре. Далее (строка 9) вновь инициируется очистка регистра с помощью входа CLR. Загружается новая двоичная комбинация 0110 (строка 10). Подача 5 тактовых импульсов (строки 11-15) приводит к кольцевому сдвигу информации на 5 позиций вправо. Для возвращения данных в исходное состояние требуется 4 тактовых импульса.
Если в регистре сдвига на рисунке 13 разорвать петлю обратной связи, то мы получим обычный параллельный регистр сдвига: возможность кольцевого перемещения информации будет исключена.
Рисунок 14. Трехтактный регистр сдвига на RS-триггерах
3.4. Универсальные регистры Часто вместо обычных последовательных или параллельных требуется применить более сложные сдвигающие регистры: с параллельной синхронной записью информации, реверсивные, реверсивные с параллельной синхронной записью. Такие регистры называют универсальными.
Есть множество серий ИС регистров многорежимных (многофункциональных) или универсальных, способных выполнять набор микроопераций. Многорежимность достигается композицией в одной и той же схеме частей, необходимых для выполнения различных операций. Управляющие сигналы, задающие вид выполняемой в данное время операции, активизируют необходимые для этого части схемы.
Рисунок 15. Универсальные регистры сдвига: а – К155ИР13, б – К500ИР141, в – КМ155ИР1
На рисунке 15 показано три типичных представителя универсальных сдвиговых регистров серии К155, КМ155 и К500.
Микросхема ИР13 (рисунок 15 а) – это восьмиразрядный реверсивный сдвигающий регистр с допустимой тактовой частотой до 25 МГц при токе потребления до 40 мА. Имеет параллельные входы и выходы, вход асинхронного сброса , входы DSL (сдвиг влево) и DSR (сдвиг вправо) по перепаду синхронизирующих импульсов С, входы выбора режима S0 и S1. При S0 = 0, S1 = 1 происходит сдвиг информации вправо, при S0 = 1, S1 = 0 – влево, а при S0 = S1 = 1 – запись информации в регистр.
Микросхема ИР141 (рисунок 15 б) – это универсальный четырёх-разрядный сдвиговый регистр, построенный на эмитерно-связной логике. Тактовая частота – до 150 МГц. Потребляемый ток – не менее 120 мА. При S0 = 0, S1 = 1 происходит сдвиг информации вправо, при S0 = 1, S1 = 0 – влево, а при S0 = S1 = 1 – хранение числа, при S0 = S1 = 0 – установка числа.
Микросхема ИР1 (рисунок 15 в) – это сдвигающий регистр с синхронной записью информации на RS-триггерах. Входы 1 – 4 предназначены для параллельной записи информации, вход D – для последовательной записи. Вход V – управляющий. При V = 0 схема работает как сдвигающий регистр по отрицательному перепаду (с 1 на 0) сигнала С1, а при V = 1 схема работает в режиме синхронной записи в регистр сигналов входов 1 – 4 по отрицательному перепаду сигнала С2.
Регистры, имеющие разнотипные вход и выход, служат основными блоками преобразователей параллельных кодов в последовательные и обратно. На рисунке 16 показана схема преобразователя параллельного кода в последовательный на основе восьмиразрядного регистра типа SI/PO/SO. В этой схеме отрицательный стартовый импульс St, задающий уровень логического нуля на верхнем входе элемента 1, создаёт единичный сигнал параллельного приёма данных на вход L (Load – загрузка), по которому в разряды 1 – 7 регистра загружается преобразуемое слово, а в нулевой разряд – константа 0. На последовательный вход DSR подана константа 1. Таким образом, после загрузки в регистре формируется слово. Тактовые импульсы, поступающие на вход С, вызывают сдвиг слова вправо. Сдвиги выводят слово в последовательной форме через выход Q7. Вслед за информационными разрядами идёт 0, после которого цепочка единиц. Пока ноль не выведен из регистра, на выходе элемента 2 действует единичный сигнал. После вывода нуля все входы элемента 2 становятся единичными, его выход приобретает нулевое значение и через элемент 1 формирует сигнал автоматической загрузки следующего слова, после чего цикл преобразования повторяется.
Рисунок 16.Схема преобразователя параллельного кода в последовательный
Современные регистры мало приспособлены для выполнения поразрядных логических операций, но при необходимости их можно выполнить пользуясь регистрами на RS-триггерах. Для выполнения операции ИЛИ на S вход статического регистра с исходным нулевым состоянием подаётся первое слово, единичные разряды которого устанавливают соответствующие триггеры. Затем без сброса регистра на S выходы подаётся второе слово.
При выполнении поразрядной операции И в первом такте на S входы регистра подаётся первое слово, устанавливающее те разряды регистра, в которых это слово имеет единицы. Затем следует подать на регистр второе слово. Чтобы в регистре сохранились единицы только в тех разрядах, в которых оба слова имеют единицы, второе слово подаётся на входы R триггеров в инверсном виде.
Сложение по модулю 2 может быть выполнено схемой с триггерами типа Т в разрядах путём последовательной во времени подачи на неё двух слов.