РЕГИСТРЫ. Регистры общие сведения
![]()
|
РЕГИСТРЫОбщие сведения.Основная выполняемая регистром функция заключается в хранении одного многоразрядного числа. При этом число должно быть представлено в двоичной системе счисления или в любой другой системе, но с двоичным представлением цифр разрядов (т. е. в любой двоично-кодированной системе счисления.) Регистр строится в виде набора триггеров, каждый из которых предназначается для хранения цифр определенного разряда двоичного числа. Таким образом, регистр для хранения n-разрядного двоичного числа должен содержать n триггеров. Регистры могут использоваться для выполнения и некоторых других функций: сдвиг хранимого в регистре числа на определенное число разрядов влево или вправо, преобразование числа из последовательной формы (при которой оно передается последовательно разряд за разрядом) в параллельную (с передачей всех разрядов одновременно) либо, наоборот, преобразование из параллельной формы представления числа в последовательную и др. В зависимости от формы представления числа (параллельной или последовательной), используемой при его вводе в регистр, различают два типа регистров: параллельные и последовательные. В параллельный регистр предназначенное для хранения число подается одновременно всеми разрядами, т. е. в параллельной форме. В последовательный регистр ввод числа производится путем последовательной во времени подачи цифр отдельных разрядов (обычно начиная с цифры младшего разряда), т. е. в последовательной форме.
Параллельный регистр.Пусть на вход регистра поступает парафазный код числа. При этом для каждого разряда числа предусматривается два входа, на один из которых поступает прямой код, на другой - инверсный. Прием такого числа может производиться в регистр, построенный с использованием простейших синхронных RS-триггеров, как показано на рис. 7.36,а. Если цифра i-го разряда ai = 1, то поступает 1 на вход S соответствующего триггера и при подаче уровня лог. 1 на вход С триггер устанавливается в состояние 1. Если ai = 0 ( ![]() Когда на вход регистра поступает однофазный код числа (без подачи инверсных значений цифр разрядов), регистр может быть построен с использованием простейших синхронных D-триггеров (рис. 7.37,а). В таком регистре при подаче уровня 1 на вход С триггеры устанавливаются в состояния, определяемые действующими на входах D цифрами разрядов. На рис. 7.36,б и 7.37,б показаны условные обозначения рассмотренных типов регистров. Сдвиговый регистр.![]() Покажем пример сдвига числа на один разряд вправо. Суть сдвига состоит в том, что цифра, имевшаяся до сдвига в i-м разряде регистра, передается в соседний справа (i-1)-й разряд (т. е. значение четвертого разряда передается в третий разряд, значение третьего разряда - во второй разряд и т. д.). В крайний левый разряд заносится значение, подаваемое извне, а цифра крайнего правого разряда числа выдвигается из регистра во внешнюю цепь. Такого рода сдвиги числа вправо (либо влево) выполняются так называемым сдвиговым регистром. Для построения сдвигового регистра чаще всего исполъзуются D-триггеры, управляемые одним фронтом синхронизирующего сигнала, но могут использоваться и другие типы триггеров, управляемые одним фронтом синхронизирующего сигнала, либо триггеры, построенные по принципу двухступенчатого запоминания информации. Рассмотрим работу показанного на рис. 7.38,а сдвигового регистра, построенного на D-триггерах. Выход Q триггера каждого из разрядов подключен к входу D триггера соседнего более младшего разряда. Таким образом, при низком уровне синхронизирующего сигнала хранящееся в триггере значение разряда числа передается на вход триггера соседнего справа разряда и производит в нем подготовку управляющих цепей. В момент положительного фронта синхронизирующего сигнала каждый из триггеров устанавливается в состояние, соответствующее действовавшему на входе D сигналу, и число в регистре оказывается сдвинутым вправо на один разряд; в старший разряд заносится значение, подаваемое извне на вход D триггера этого разряда. На рис. 7.38,б показано содержимое регистра в процессе выполнения последовательных сдвигов вправо. Для осуществления сдвига влево необходимо в сдвиговом регистре изменить связи между триггерами, подключая выход триггера ко входу D триггера соседнего слева (более старшего) разряда. Сдвиговые регистры имеют разнообразные применения. Рассмотрим некоторые из них. Последовательный регистр. Представляет собой сдвиговый регистр, в который многоразрядное двоичное число вводится последовательно цифра за цифрой (обычно начиная с цифры младшего разряда) через один из его крайних разрядов (обычно через старший). ![]() рис 7.40 ![]() рис 7.39 Таким образом, представленный на рис. 38,а сдвиговый регистр может выполнять функции последовательного регистра, если на вход D-триггера старшего разряда подавать не постоянный уровень логического 0 (как показано на рисунке), а вводимое в регистр число в последовательной форме. Временные диаграммы на рис. 39 иллюстрируют работу такого последовательного регистра при вводе числа 1011, подаваемого на вход последовательно разряд за разрядом, начиная с младшего разряда. В момент tl появление синхронизирующего импульса на входе С вызывает сдвиг информации в регистре на один разряд вправо. Если до этого момента в регистре было число 0000, то в результате сдвига в первом, втором, третьем разрядах сохранится значение 0, в четвертый разряд будет со входа принято значение 1. Таким образом, в регистре возникает число 10002. В момент t2 появления следующего синхронизирующего импульса процессы сдвига и приема очередного разряда вводимого числа приводят регистр в состояние 11002. Далее, в момент t3 в регистре образуется число 01102 и, наконец, в момент t4-число 10112. Поданное на вход число оказывается зафиксированным в регистре. Преобразование формы представления чисел из последовательной в параллельную. Данное преобразование может быть выполнено сдвиговым регистром, в котором предусматривается выдача числа в параллельной форме (одновременно с выходов триггеров всех разрядов). В процессе преобразования формы представления числа n-разрядное двоичное число в последовательной форме подается на вход последовательного регистра. Через n тактов (после подачи и синхронизирующих импульсов) число окажется принятым в регистр и может затем быть снято в параллельной форме с выходов триггеров всех разрядов. Преобразование формы представления чисел из параллельной в последовательную. Это преобразование может быть выполнено сдвиговым регистром, в котором предусмотрены входы для приема числа в параллельной форме. После принятия в регистр n-разрядного числа на выходе триггера первого разряда образуется младший разряд числа. При сдвиге числа в регистре на один разряд вправо в триггер первого разряда передается цифра второго разряда введенного в регистр числа и, таким образом, с выхода этого триггера снимается цифра следующего разряда. При повторении сдвигов вправо (n - l) раз на выходе триггера первого разряда регистра появляются цифры всех n разрядов и, таким образом, число может быть снято в последовательной форме. Для выдвижения из регистра числа в последовательной форме, начиная с его старшего разряда, необходимо производить серию сдвигов влево, снимая цифры разрядов числа с выхода триггера старшего разряда регистра. |