В последовательных сдвигающих регистрахвыполняется сдвиг информации последовательно во времени, поразрядно, бит за битом.
Различают регистры, сдвигающие в сторону старшего разряда, в сторону младшего разряда и реверсивные.
Информация может поступать в последовательном или параллельном коде и выдаваться с выходных шин в последовательном или параллельном коде.
Следовательно, в сдвигающих регистрах осуществляется преобразование из последовательного кода в параллельный и обратно.
В сдвигающих регистрах используются двухступенчатые (MS) триггеры или триггеры с динамическим управлением. Это гарантирует сдвиг информации на один разряд по каждому импульсу синхронизации.
Функциональная схема трехразрядного сдвигающего триггера (рис. 2, а) содержит три динамических D -триггера, включенных последовательно, запись информации осуществляется по переднему фронту тактового сигнала C.
Обозначение этого регистра на рис. 2, б.
Рис. 2 Трехразрядный последовательный регистр:
|
|
а – функциональная схема; б – обозначение регистра
Последовательный код, начиная со старшего разряда, поступает на вход D.
Пример. Пусть по линии связи передается последовательный двоичный код 101 (рис. 3). Необходимо записать его в сдвигающий трехразрядный регистр.
Рис. 3 Временные диаграммы работы трехразрядного последовательного регистра
В момент времени t 1 по переднему фронту тактового сигнала единица старшего разряда (значение 22) записывается в первый триггер и, с некоторой задержкой во времени, появляется на выходе Q 0. Второй триггер сохранил значение Q 0 до момента переключения первого триггера, поскольку фронт сигнала C к времени переключения первого триггера уже закончился. Это же относится и к третьему триггеру.
В момент времени t 2 по переднему фронту тактового сигнала единица старшего разряда перемещается во второй триггер. Логический ноль (значение 21) считывается с входа D в первый триггер.
В момент времени t 3 единица младшего разряда (значение 20) записывается в первый триггер, ноль (значение 21) во второй, единица старшего разряда (значение 20) – в последний триггер. Запись трехразрядного кода в регистр завершилась за три такта.
Считывание информации можно осуществить в параллельном коде одновременно с выходов Q 0, Q 1, Q 2, или в последовательном коде, подав на вход D =0, а на вход C три тактовых импульса. С выхода Q 3 информация передается, начиная со старшего разряда поразрядно, бит за битом. После этого, сдвигающий регистр не содержит больше никакой информации, во всех разрядах логические нули.
Сдвигающие регистры всегда имеют возможность последовательного ввода – вывода данных. Без этого свойства схема не может называться сдвигающим регистром.
При значении R =1 работа регистра блокируется, и во все триггеры асинхронно записываются нули.