Регистр – последовательное логическое устройство, предназначенное для записи, хранения, сдвига информации, представленной многоразрядными кодами. В регистре могут выполняться следующие микрооперации:
ü обнуление (очистка) регистра;
ü запись информации в параллельном коде;
ü запись информации в последовательном коде;
ü хранение информации;
ü сдвиг информации вправо или влево;
ü выдача информации в параллельном коде;
ü выдача информации в последовательном коде.
Любой n -разрядный регистр состоит из n регистровых ячеек, представляющих собой схемные ячейки, выходы каждой из которых ассоциируются с разрядным коэффициентом соответствующего двоичного кода. Каждая схемная ячейка представляет собой триггерную схему с элементами комбинационной логики, которая формирует управляющие сигналы для триггерных схем. Существует несколько классификаций регистров:
1. по способу записи информации:
ü параллельные;
ü последовательные;
ü параллельно-последовательные (смешанные).
|
|
2. по числу каналов передачи информации:
ü парафазные;
ü однофазные.
3. по количеству тактов синхронизирующих импульсов:
ü многотактные;
ü однотактовые.
В парафазных регистрах информация предоставляется в прямом и обратном кодах. В однофазных регистрах информация предоставляется либо в прямом, либо в обратном кодах. В многотактных регистрах запись информации осуществляется за несколько тактов (синхронизирующих импульсов). В однотактовых регистрах запись информации осуществляется за один такт (синхроимпульс).
Все применяемые в цифровой технике многоразрядные регистры можно разделить на две большие группы. Регистры первой группы называются регистрами хранения (памяти), или параллельными регистрами. Регистры второй группы называются последовательными (параллельно-последовательными), или регистрами сдвига (сдвигающими регистрами).
В регистрах хранения операция записи и операция считывания осуществляется для всех разрядов одновременно (параллельно). Поэтому шины входных и выходных данных характеризуются числом линий, равным разрядности регистра. Кроме этих операций и хранения значений разрядов в триггерах такие регистры иногда могут выполнять побитовые логические операции над данными.
В регистрах сдвига с приходом очередного тактового импульса данные перемещаются из каждого отдельного разряда в соседний в направлении от старшего разряда к младшему и наоборот. Таким образом, данные поступают в регистр, например, в старший разряд, по одной линии, последовательно бит за битом и таким же образом выходят из него, но уже из младшего разряда. Если же сдвиг происходит в обратном направлении, то поступают данные в младший разряд, а выходят из старшего. Регистры, позволяющие осуществлять сдвиг в обоих направлениях, называются реверсивными.
|
|
Многие регистры сдвига позволяют записывать данные в разряды параллельно, как регистры хранения, а затем выдавать последовательно из младшего или старшего разряда в процессе периодического сдвига данных в разрядах. И наоборот, существуют такие регистры, которые принимают данные по одной линии последовательно в младший или старший разряд. При этом в процессе приема данные с каждым тактовым импульсом продвигаются по разрядам. Когда же весь регистр оказывается заполненным принятыми битами, т.е. после прохождения тактовых импульсов в количестве, равном разрядности регистра, полученные данные считываются одновременно из всех разрядов (параллельно).
Параллельные регистры представляют собой конструктивное объединение нескольких одинаковых триггеров. Их информационные входы и выходы являются независимыми и сгруппированными только в силу того, что относятся к одному многоразрядному объекту данных, например, двоичному коду размером в один байт. Поскольку все разряды байта должны образовываться одновременно, то входы синхронизации всех триггеров подключены обычно к одной линии. Также объединяются входы асинхронной установки и сброса и другие входы управления, если такие имеются.
Регистр сдвига, или сдвиговый регистр представляет собой набор триггеров, которые в простейшем случае соединены в последовательную цепочку таким образом, что вход очередного триггера подключен к выходу предшествующего. При таком соединении, с приходом очередного синхронизирующего фронта, данные, бывшие на выходе первого триггера, оказываются на входе второго, а данные с выхода второго, в свою очередь, появляются на входе третьего и т.д. Таким образом, двоичные данные сдвигаются в одном направлении вдоль регистра на один разряд с каждым импульсом синхронизации. К входу первого триггера обычно подключается ввод последовательных данных, поступающих по этой линии разряд за разрядом со скоростью один бит на один синхроимпульс. Выход последнего триггера в цепочке может служить для последовательного вывода данных в таком же формате.
Различают сдвиги вправо и влево. Сдвиг вправо осуществляется в направлении от старших разрядов к младшим, стоящим справа в общепринятой системе записи чисел, соответственно, сдвиг влево осуществляется от младших к старшим разрядам.