Сдвигающий, или сдвиговый регистр (shift register) это регистр, содержимое которого при подаче управляющего сигнала СДВИГ может сдвигаться в сторону старших или младших разрядов. Схема сдвигающего регистра из цепочки непрозрачных триггеров показана на рис. 4.8, а, а условное обозначение нарис.4.8, б.
а) б)
Рис.4.8. Сдвигающий регистр
Пусть на рисунке триггер Q0 – младший , Qm-1 – старший; вход каждого триггера (кроме Q0) подключен к выходу соседнего младшего триггера. Когда на все С входы триггеров поступает активный спад сигнала Shift, выход каждого триггера принимает состояние своего младшего соседа и, таким образом, информация, содержащаяся в регистре, сдвигается на один разряд в сторону старших разрядов, влево. Триггер Q0 принимает при этом состояние последовательного входа DS (data serial). Информация, поступившая на вход DS во время какого-либо такта, появится на выходе Qm-1 через m тактов.
Существенно, что в схеме использованы именно непрозрачные триггеры. Если поставить прозрачные защелки, то при активном уровне сигнала Shift все триггеры становятся прозрачными, и сигнал DS успеет пройти столько триггеров, сколько позволит длительность сигнала Shift .
Часто требуются более сложные регистры: с параллельной синхронной записью информации, реверсивные, с параллельно-последовательной записью.Такие регистры называются универсальными. Примером такого регистра служит ИМС К155ИР11. Регистр может работать в четырех режимах: параллельное занесение данных, сдвиг влево, сдвиг вправо, хранение данных.
Применения сдвиговых регистров очень разнообразны.
В арифметике сдвиг числа на один разряд влево соответствует умножению его на 2, сдвиг вправо – делению пополам.
В аппаратуре передачи данных универсальные регистры преобразуют параллельный код в последовательный и обратно. Передача данных последовательным кодом по сравнению с передачей параллельным существенно экономит число линий связи. Это покупается ценой увеличения времени обмена.