Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000476.doc
Скачиваний:
89
Добавлен:
30.04.2022
Размер:
6.13 Mб
Скачать

6.7. Регистры

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

Каждое из двоичных чисел может быть представлено суммой вида

N=an–12n–1+…+ai2i+…+a121+a020,

где i — номер разряда числа, а коэффициенты a0, a1, …, an–1 могут иметь только два значения: 0 или 1. Для представления такого числа в цифровом устройстве необходим набор из n элементов с двумя состояниями равновесия. Наиболее удобными элементами являются триггеры, число которых должно быть равно числу разрядов рассматриваемого двоичного числа. Одно из устойчивых состояний триггера принимают за 1, а другое — за 0. Совокупность триггеров, предназначенная для регистрации двоичного числа, и является регистром.

Рис. 6.38. Функциональная схема простейшего регистра на триггерах (а), с логическими элементами на входе (б), с использованием RST-триггеров (в)

Функциональная схема простейшего регистра на триггерах, позволяющего записывать, хранить и в нужный момент считывать двоичное число, показана на рис. 6.38, а. Управление регистром осуществляется подачей напряжения на соответствующие шины.

В начальный момент времени, перед записью информации, подают напряжение на шину «Сброс», что устанавливает все триггеры (T1, T2, …, Tn) в состояние, соответствующее уровню логического 0 на выходе. Запись и считывание информации в регистре производятся одновременно по всем разрядам (регистр имеет n входов и выходов). Запись осуществляется через входные логические элементы И. Логические сигналы, соответствующие коэффициентам записываемого числа ai, подаются на входные шины, а затем поступает сигнал на шину «Запись». При этом логическая 1 проходит через те ячейки И, на входных шинах которых действует сигнал «1». Эти сигналы устанавливают соответствующие триггеры в положение «1». Считывание информации из регистра также осуществляется через ячейки И, связанные с выходами триггеров. Для считывания записанного двоичного числа N подается напряжение логической 1 на шину «Считывание». При этом срабатывают только те ячейки И, которые соединены с триггерами, на выходе которых имеется «1», и информация передается на выходные шины.

Информация о числе, записанном в регистре путем соответствующей установки триггеров, может сохраняться сколь угодно долго, т. е. регистр одновременно является устройством памяти. Кроме того, после считывания информация, записанная в регистре, сохраняется, т. е. считывание можно проводить несколько раз. Для записи новой информации (нового числа) все триггеры предварительно устанавливаются в нулевое положение.

За счет небольшого усложнения схемы регистра можно решить задачу «обращения» кода, которая встречается при обработке информации в двоичном коде. Обратным (инвертированным) кодом называют такую кодовую комбинацию, в которой все единицы начального (прямого) кода заменены нулями, а все нули — единицами. Можно заметить, что обратный код числа в регистре схемы рис. 6.38, а получается одновременно на инверсных выходах триггеров ( ). Поэтому, добавив в каждый разряд регистра по одному логическому элементу И на выходе и связав их с инверсными выходами триггеров (рис. 6.38, б), можно осуществить считывание и обратного кода. Существует и второй путь. Вместо RS-триггеров в регистре можно использовать RST-триггеры (рис. 6.38, в). Тогда при подаче сигнала на шину «Обращение кода», соединенную со счетными входами триггеров, происходит изменение состояния всех триггеров на обратное. Следовательно, если после сигнала, поданного на шину «Обращение кода», подать сигнал на шину «Считывание», то на выходных шинах появится информация в обратном коде. Если после этого на шину «Обращение кода» подать второй сигнал обращения, то произойдет преобразование информации снова в прямой код.

Таблица 6.12

Таблица функционирования четырехразрядного сдвигающего регистра

Номер такта

Q1

Q2

Q3

Q4

1

2

3

4

5

6

7

8

D1

D2

D3

D4

D1

D2

D3

D4

D1

D2

D3

D4

D1

D2

D3

D4

Кроме обращения кода при обработке двоичной информации возникает необходимость в сдвиге кода — перемещении в регистре всех разрядов двоичного числа на одинаковое число разрядов влево или вправо. Такие регистры называют сдвигающими регистрами. Простейший вариант схемы 4-разрядного сдвигающего регистра приведен на рис. 6.39, а, где использованы D-триггеры. Здесь входная информация вводится через вход D, а ее продвижение вправо происходит за счет тактовых сигналов. Например, на первом такте вводим информацию D1 в триггер T1, т. е. после первого такта Q1=D1. На втором такте вводим новую информацию D2 на вход, тогда после второго такта Q1=D2, Q2=D2 и т. д. Последовательность работы отдельных триггеров за 8 тактов отражена в табл. 6.12. Рассматриваемый регистр состоит всего из четырех триггеров, поэтому он может хранить всего четыре бита информации и после четырех тактов можно либо осуществить параллельный вывод информации с выходов триггеров T1T4 (с выводов Q1, Q2, Q3, Q4), либо осуществить последовательный вывод с выхода Q4 во время 5-го—8-го тактов. При этом информация, записанная в регистре, стирается.

Рис. 6.39. Сдвигающие регистры: а — 4-разрядный; б — кольцевой

Если необходимо осуществить последовательный вывод информации из сдвигающего регистра без ее стирания, нужно снова вводить данные с помощью обратной связи, что можно сделать в так называемых кольцевых регистрах (рис. 6.39, б). Сначала на управляющем входе Y поддерживается уровень логической 1, обратная связь не действует и сдвигающий регистр работает так, как описано выше. За первые n тактов записывается n-разрядный код. Затем на управляющем входе устанавливают уровень логического 0, вход D блокируется, а на вход регистра поразрядно поступает записанный в регистре код. После n тактовых импульсов сдвигающий регистр вернется в исходное состояние. Изменив число тактовых импульсов, прошедших через кольцевой регистр, можно осуществить сдвиг как вправо, так и влево на любое число разрядов.

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