Учебники

Цифровые регистры

Триггер представляет собой 1-битную ячейку памяти, которая может использоваться для хранения цифровых данных. Чтобы увеличить объем памяти с точки зрения количества бит, мы должны использовать группу триггеров. Такая группа триггеров называется Регистром . N-битный регистр будет состоять из n номеров триггера, и он способен хранить n-битное слово.

Двоичные данные в регистре можно перемещать в регистре с одного триггера на другой. Регистры, которые позволяют такие передачи данных, называются сдвиговыми регистрами . Существует четыре режима работы сдвигового регистра.

  • Последовательный вход Последовательный выход
  • Последовательный вход параллельный выход
  • Параллельный вход Последовательный выход
  • Параллельный вход Параллельный выход

Последовательный вход Последовательный выход

Пусть все триггеры изначально находятся в состоянии сброса, т.е. Q 3 = Q 2 = Q 1 = Q 0 = 0. Если в регистр внесена запись четырехбитового двоичного числа 1 1 1 1, это число должно быть применяется к биту D с битом LSB, примененным первым. Вход D FF-3, т. Е. D 3 , подключен к последовательному входу данных D in . Выход FF-3, т.е. Q 3 , подключен ко входу следующего триггера, т.е. D 2 и так далее.

Блок-схема

Блок-схема регистра SISO

операция

Перед применением тактового сигнала, пусть Q 3 Q 2 Q 1 Q 0 = 0000 и применяет бит LSB числа, которое нужно ввести в D in . Так что D в = D 3 = 1. Применить часы. На первом заднем фронте тактовой частоты устанавливается FF-3, и сохраненное слово в регистре имеет вид Q 3 Q 2 Q 1 Q 0 = 1000.

Операция SISO, шаг 1

Применить следующий бит к D в . Таким образом, D in = 1. Как только наступит следующий отрицательный фронт тактовых импульсов, FF-2 установится, и сохраненное слово изменится на Q 3 Q 2 Q 1 Q 0 = 1100.

Операция SISO, шаг 2

Примените следующий сохраняемый бит, т.е. от 1 до D in . Применить тактовый импульс. Как только третий отрицательный край тактового импульса достигнет значения, будет установлен FF-1 и выходной сигнал будет изменен на Q 3 Q 2 Q 1 Q 0 = 1110.

Операция SISO, шаг 3

Аналогично, с D in = 1 и с приходом четвертого отрицательного тактового фронта сохраненное слово в регистре равно Q 3 Q 2 Q 1 Q 0 = 1111.

Операция SISO, шаг 4

Таблица правды

Таблица истинности регистра SISO

Волновые

Форма волны в регистре SISO

Последовательный вход Параллельный выход

  • При таких типах операций данные вводятся последовательно и выводятся параллельно.

  • Данные загружаются по крупицам. Выходы отключены, пока данные загружаются.

  • Как только загрузка данных завершится, все триггеры содержат свои необходимые данные, выходы будут включены, чтобы все загруженные данные стали доступны по всем выходным линиям одновременно.

  • Для загрузки четырехбитного слова требуется 4 такта. Следовательно, скорость работы в режиме SIPO такая же, как в режиме SISO.

При таких типах операций данные вводятся последовательно и выводятся параллельно.

Данные загружаются по крупицам. Выходы отключены, пока данные загружаются.

Как только загрузка данных завершится, все триггеры содержат свои необходимые данные, выходы будут включены, чтобы все загруженные данные стали доступны по всем выходным линиям одновременно.

Для загрузки четырехбитного слова требуется 4 такта. Следовательно, скорость работы в режиме SIPO такая же, как в режиме SISO.

Блок-схема

Блок-схема Регистра СИПО

Параллельный вход Последовательный выход (PISO)

  • Биты данных вводятся параллельно.

  • Схема, показанная ниже, представляет собой четырехбитовый параллельный входной регистр последовательного выхода.

  • Выход предыдущего триггера соединен со входом следующего через комбинационную схему.

  • Двоичное входное слово B 0 , B 1 , B 2 , B 3 применяется через одну и ту же комбинационную схему.

  • Есть два режима, в которых может работать эта схема, а именно – режим смещения или режим нагрузки.

Биты данных вводятся параллельно.

Схема, показанная ниже, представляет собой четырехбитовый параллельный входной регистр последовательного выхода.

Выход предыдущего триггера соединен со входом следующего через комбинационную схему.

Двоичное входное слово B 0 , B 1 , B 2 , B 3 применяется через одну и ту же комбинационную схему.

Есть два режима, в которых может работать эта схема, а именно – режим смещения или режим нагрузки.

Режим загрузки

Когда линия сдвига / полосы загрузки является низкой (0), логические элементы И, 2, 4 и 6 становятся активными, они передают биты B 1 , B 2 , B 3 на соответствующие триггеры. На низком фронте тактовой частоты двоичные входы B 0 , B 1 , B 2 , B 3 будут загружены в соответствующие триггеры. Таким образом происходит параллельная загрузка.

Режим сдвига

Когда линия сдвига / полосы нагрузки низкая (1), логические элементы И, 2, 4 и 6 становятся неактивными. Следовательно, параллельная загрузка данных становится невозможной. Но ворота 1,3 и 5 И становятся активными. Поэтому сдвиг данных слева направо по крупицам при применении тактовых импульсов. Таким образом, происходит параллельная операция последовательного вывода.

Блок-схема

Блок-схема регистра PISO

Параллельный вход Параллельный выход (PIPO)

В этом режиме 4-битный двоичный вход B 0 , B 1 , B 2 , B 3 применяется к входам данных D 0 , D 1 , D 2 , D 3 соответственно четырех триггеров. Как только отрицательный фронт такта применен, входные двоичные биты будут загружены в триггеры одновременно. Загруженные биты появятся одновременно на выходной стороне. Только тактовый импульс необходим для загрузки всех битов.

Блок-схема

Блок-схема Регистра PIPO

Двунаправленный регистр сдвига

  • Если двоичное число сдвигается влево на одну позицию, то это эквивалентно умножению исходного числа на 2. Аналогично, если двоичное число сдвигается вправо на одну позицию, то это эквивалентно делению исходного числа на 2.

  • Следовательно, если мы хотим использовать сдвиговый регистр для умножения и деления заданного двоичного числа, то мы должны иметь возможность перемещать данные влево или вправо.

  • Такой регистр называется двунаправленным регистром. Четырехбитный двунаправленный регистр сдвига показан на рис.

  • Имеется два последовательных входа, а именно последовательный ввод данных правого сдвига DR и последовательный ввод данных левого сдвига DL вместе с входом выбора режима (M).

Если двоичное число сдвигается влево на одну позицию, то это эквивалентно умножению исходного числа на 2. Аналогично, если двоичное число сдвигается вправо на одну позицию, то это эквивалентно делению исходного числа на 2.

Следовательно, если мы хотим использовать сдвиговый регистр для умножения и деления заданного двоичного числа, то мы должны иметь возможность перемещать данные влево или вправо.

Такой регистр называется двунаправленным регистром. Четырехбитный двунаправленный регистр сдвига показан на рис.

Имеется два последовательных входа, а именно последовательный ввод данных правого сдвига DR и последовательный ввод данных левого сдвига DL вместе с входом выбора режима (M).

Блок-схема

Блок-схема двунаправленного регистра сдвига

операция

SN Состояние операция
1 С М = 1 – сдвиг вправо

Если M = 1, то логические элементы AND 1, 3, 5 и 7 включены, тогда как остальные логические элементы AND 2, 4, 6 и 8 будут заблокированы.

Данные в D R сдвигаются вправо по битам от FF-3 к FF-0 при применении тактовых импульсов. Таким образом, при M = 1 мы получаем последовательную операцию правого сдвига.

2 С М = 0 – сдвиг влево

Когда регулятор режима М подключен к 0, тогда логические элементы И, 2, 4, 6 и 8 включены, а 1, 3, 5 и 7 отключены.

Данные в D L сдвигаются влево по битам от FF-0 до FF-3 при применении тактовых импульсов. Таким образом, при M = 0 мы получаем последовательную операцию правого сдвига.

Если M = 1, то логические элементы AND 1, 3, 5 и 7 включены, тогда как остальные логические элементы AND 2, 4, 6 и 8 будут заблокированы.

Данные в D R сдвигаются вправо по битам от FF-3 к FF-0 при применении тактовых импульсов. Таким образом, при M = 1 мы получаем последовательную операцию правого сдвига.

Когда регулятор режима М подключен к 0, тогда логические элементы И, 2, 4, 6 и 8 включены, а 1, 3, 5 и 7 отключены.

Данные в D L сдвигаются влево по битам от FF-0 до FF-3 при применении тактовых импульсов. Таким образом, при M = 0 мы получаем последовательную операцию правого сдвига.

Универсальный регистр сдвига

Сдвиговый регистр, который может сдвигать данные только в одном направлении, называется однонаправленным сдвиговым регистром. Сдвиговый регистр, который может сдвигать данные в обоих направлениях, называется двунаправленным сдвиговым регистром. Применяя ту же логику, сдвиговый регистр, который может сдвигать данные в обоих направлениях, а также загружать их параллельно, известен как универсальный сдвиговый регистр. Сдвиговый регистр способен выполнять следующую операцию –

  • Параллельная загрузка
  • Сдвиг влево
  • Сдвиг вправо

Вход управления режимом подключен к логике 1 для параллельной загрузки, тогда как он подключен к 0 для последовательного переключения. Когда контакт управления режимом подключен к земле, универсальный регистр сдвига действует как двунаправленный регистр. Для последовательной левой операции ввод применяется к последовательному входу, который идет к логическому элементу AND gate-1, показанному на рисунке. Принимая во внимание, что для операции сдвига вправо, последовательный вход применяется к входу D.