Отсюда получаем следующую схему сдвигающего регистра:
С целью устранения гонок и неустойчивых состояний используются двухступенчатые D -триггера.
Регистр работает следующим образом. В момент поступления синхроимпульсов (т.е. в момент С =1) во второй D -триггер записывается информация, хранящаяся в первом триггере, а в первый триггер записывается очередной разряд числа, поступающего на вход регистра. При С =0 записанная информация появляется на выходе триггеров. Двухступенчатый D -триггер имеет вид:
Аналогично строится и n-разрядный регистр сдвига, который содержит n последовательно соединенных D -триггеров, причем вход первого триггера является входом регистра.
По приведенной методике можно построить регистр сдвига информации влево или вправо и на другой элементной базе, например на RS или JK триггерах. Заметим, что в случае сдвига информации, хранящейся в регистре, и отсутствии входного сигнала, в освобождающиеся разряды регистра вводятся нули. Например, регистр сдвига вправо на один разряд на синхронных JK триггерах имеет вид:
|
|
Если в такой регистр занести число в параллельном коде, а потом осуществить сдвиг этого числа вправо, причем в каждом также сдвигать число на один разряд, то число, первоначально представленное в параллельном коде, будет преобразовано в последовательный код. После n сдвигов в регистр будет находится код нуля. Если схему регистра дополнить схемой ввода информации, то такой регистр может осуществить преобразования числа, поступающего на его вход в последовательном коде, в параллельный код.