Регистр сдвига

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

Регистры сдвига строятся на двухступенчатых триггерах. Схема четырехразрядного регистра, выполняющего сдвиг на один разряд от разряда 0 к разряду 3, показана на рис. 6.18, а его условно-графическое обозначение – на рис. 6.19. Ввод информации в данный регистр – последовательный через внешний вход D0. Регистр имеет вход асинхронной установки всех разрядов в "0". Для наглядности каждый двухступечатый регистр представлен двумя одноступенчатыми с соответствующей организацией синхронизации первой и второй ступеней. Пунктиром обозначен реальный двухступенчатый триггер.

 

Рис. 6.18. Структура регистра сдвига

 

 

 

 

Рис. 6.19. Условно-графическое обозначение четырехразрядного регистра сдвига с асинхронным входом установки в "0"

Идеализированная временная диаграмма работы регистра сдвига, структура которого представлена на рис. 6.18, показана на рис. 6.20. Предполагаем, что начальное состояние регистра следующее: Q0=0, Q1=1, Q2=1, Q3=0.

 

 

Рис. 6.20. Временная диаграмма работы регистра сдвига

.

Работа регистра сдвига в каждом периоде сигнала синхронизации разбивается на две фазы: при высоком и при низком значении синхросигнала:

При высоком уровне синхросигнала проводится запись значения выхода (i – 1)-го разряда регистра в первую ступень i-го разряда

Вторая ступень каждого разряда сохраняет свое прежнее значение. В

этой фазе состояние первой ступени i-го триггера повторяет состояние второй ступени (i – 1)-го триггера. Вторые ступени каждого триггера, а следовательно, и выходы регистра в целом, остаются неизменными.

При низком уровне синхросигнала значение, записанное в первой ступени каждого триггера, перезаписывается в его вторую ступень. Запись в первую ступень триггера запрещена. В этой фазе состояния первой и второй ступеней каждого триггера становятся одинаковыми.

Поступление сигнала R = 0 вне зависимости от значения сигнала на входе синхронизации С и сигнала на входе D0 устанавливает все разряды регистра в нулевое состояние.