Скачиваний:
0
Добавлен:
01.06.2026
Размер:
326.79 Кб
Скачать

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

Основные микрооперации, реализуемые регистрами:

1) Начальный сброс: RG:=0

2) Прием

  • Прямой код: RG:=x

  • Обратный код: RG:= ~x

3) Хранение: RG:=RG

4) Выдача

  • Прямой код: Y:=RG

  • Обратный код: Y:= ~RG

5) Сдвиг содержимого регистра

  • Вправо на один разряд: RG:=R1(RG)

  • Влево на один разряд: RG:=L1(RG)

6) Поразрядные логические операции.

Классификация регистров:

1. По способу записи:

  • Параллельные, статические (запись осуществляется во все разряды одновременно)

  • Последовательные, сдвигающие (запись осуществляется последовательно по 1 разряду, при каждой записи содержимое регистра сдвигается на 1 разряд)

  • Последовательно-параллельные (имеют оба способа записи)

2. По способу выдачи информации:

  • Однофазные (выдается только прямое значение разряда -  Q)

  • Парафазные (каждый разряд выдается двумя битами – Q и  ~Q)

3. По способу начальной установки (сбросу):

  • С асинхронной установкой

  • Со сбросом по синхросигналу

4. По отношению к операции сдвига:

  • Не имеющие данной операции

  • Сдвигающие только вправо

  • Сдвигающие только влево

  • Реверсивные (сдвигающие и вправо и влево)

Условное графическое обозначение регистра 

D0-D3 – разряды входного параллельного кода.

Q0-Q3 – разряды выхода (разряды с тремя состояниями).

C1 – синхросигнал приема параллельного кода.

CS – переход выхода в третье состояние: при CS= 0 выходы  Q переводятся в z состояние.

R – асинхронный вход сброса регистра.

S0, S1 – входы задания микроопераций:

S0

S1

Микрооперация

0

0

Хранение

0

1

Сдвиг вправо

1

0

Сдвиг влево

1

1

Прием параллельного кода

C – синхросигнал выполнения микроопераций, заданных S0 и S1.

DR, DL – последовательные входы при сдвиге вправо и влево соответственно.

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

Регистр защелка

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

    Схема регистра-защелки, построенного на D триггерах:

Условное графическое обозначение: 

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

    В схемах с обратными связями следует использовать регистр, построенный на непрозрачных триггерах (двухступенчатых или синхронных с динамическим управлением):

Сдвигающие регистры

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

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

    В однотактных регистрах со сдвигом слово сдвигается при поступлении синхросигнала "Сдвиг". Вход и выход последовательные (DSR — Data Serial Right, DSL — Data Serial Left). 

    Схема регистра, сдвигающего вправо

 В этом регистре имеются связи триггеров с обоими соседними разрядами, но соответствующими сигналами разрешается работа только одних из этих связей. Команды "влево" и "вправо" одновременно не подаются.

   Альтернативный вариант реализации реверсивного регистра предполагает единственный сигнал управления сдвигом. 

 Если Направление=1, то 0 с выхода инвертора блокирует верхние элементы “И” из элементов “И-ИЛИ-НЕ”. 1 на нижних элементах “И” пропускает на вход D триггера значение от триггера, изображенного на схеме слева (или с внешнего входа, если это самый левый триггер цепочки).  Получаем схему регистра сдвигающего вправо.

    Если же Направление=0 – блокируются нижние элементы “И”, и на входы D регистров цепочки поступает значение с выхода триггера, находящегося справа. Получаем регистр сдвигающий влево.

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

    В реальных сериях интегральных схем и библиотеках БИС/СБИС имеется много вариантов регистров, в том числе универсальные (многорежимные, многофункциональные), способные выполнять набор операций. 

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

   Вариант схемы многофункционального регистра

Каждый элемент “И” из группы “И-ИЛИ-НЕ” обеспечивает выполнение одной микрооперации, при этом один элемент “И” функционирует, а остальные блокируются.  Код, задающий функцию, содержит одну 1. Если 1 в старшем разряде, то функционирует верхний элемент “И”, сигнал с входа Di поступает на вход D триггера i и по синхроимпульсу его значение заносится в триггер.  У каждого разряда свой вход D, таким образом, осуществляется прием параллельного входа. 

    Второй и третий элементы “И” осуществляют сдвиг влево и вправо аналогично схеме реверсивного регистра. Режим хранения обеспечивает четвертый элемент “И”, здесь он реализован путем записи в i-й триггер собственного значения Qi.

Применение регистров. Преобразователь параллельного кода в последовательный.

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

    Схема преобразователя параллельного кода в последовательный на основе восьмиразрядного регистра типа SI (Serial Input) / PI (Parallel Input) / SO (Serial Output). 

 В этой схеме отрицательный стартовый импульс St, задающий уровень логического нуля на верхнем входе элемента 1, создает единичный сигнал параллельного приема данных на вход L (Load — загрузка), по которому в разряды 1...7 регистра загружается преобразуемое слово D1-7, а в нулевой разряд — константа 0. На последовательный вход DSR подана константа 1.

    Таким образом, после загрузки в регистре формируется слово 0D1D2...D7. Тактовые импульсы, поступающие на вход С, вызывают сдвиги слова вправо (для условного обозначения это соответствует сдвигу вниз). Сдвиги выводят слово в последовательной форме через выход Q7. Вслед за информационными разрядами идет ноль (константа "0"), после которого цепочка единиц. Пока ноль не выведен из регистра, на выходе элемента 2 действует единичный сигнал. После вывода нуля все входы элемента 2 становятся единичными, его выход приобретает нулевое значение и через элемент 1 формирует сигнал автоматической загрузки следующего слова, после чего цикл преобразования повторяется.

    Этот процесс описывается следующей временной диаграммой:

Применение регистров. Преобразователь последовательного кода в параллельный

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

    Прием последовательного кода начинается, когда сигнал готовности равен 1 (Ready=1). Появление сигнала пуск St=1 переводит регистр в режим приема параллельного кода, и по синхроимпульсу Shift в регистр записывается 100…0. Ready становится равным 0. И регистр переводится в режим сдвига. 

    Каждый последующий синхроимпульс вдвигает в регистр последовательный код Ns. Так происходит до тех пор пока 1 записанная в Q0 с входа D0 не окажется в Q7, при этом формируется готовность Ready=1, а на выходах Q0-Q6 сформирован параллельный код Np.

    Если после включения питания в регистре не оказалось ни одной 1, то никогда не появится сигнала Ready=1. Чтобы избежать такой ситуации необходимо с входа Ns после включения питания подать 1 длительностью более одного периода сигнала Shift.