Исследование работы однофазного параллельного регистра
Параллельные регистры или регистры памяти применяются для ввода, хранения и вывода двоичной информации в параллельном коде. Они могут быть образованы из асинхронных и синхронных, одноступенчатых и двухступенчатых триггерах.
Однофазный параллельный регистр (рисунок 2) построен на одноступенчатых асинхронных RS-триггерах. Так как на кодовые шины слова (КШС) параллельного регистра подается двоичное слово Х0 Х1 Х2 Х3 в прямом коде (однофазный код), то КШС с помощью элементов И-НЕ подключены к инверсным асинхронным входам S установки в 1 триггеров регистра. Прием двоичного словаХ0 Х1 Х2 Х3 в регистр осуществляется в два такта. По первому такту сигналом CLR на асинхронном входе R, регистр устанавливается в состояние "0000". По второму такту сигналом прием
слова (WR) в регистр записывается параллельный код двоичного слова Х0 Х1 Х2 Х3.
Рисунок 2 - Однофазный параллельный регистр на RS - триггерах
Записанный в регистр код двоичного слова может храниться до тех пор, пока регистр не будет установлен сигналом CLR (уст. «0») в состояние "0000".
Сигнал WR (прием информации - синхросигнал) обычно импульсный, так как кратковременное подключение регистра к КШС уменьшает вероятность занесения в регистр ошибочной информации.
Таким образом, при записи двоичного слова в регистр в худшем случае каждый его триггер будет переключаться дважды: один раз при установке регистра в нулевое состояние сигналом CLR и второй раз при приеме 1 в данный триггер по сигналу WR.
Быстродействие регистра – время записи в регистр Тргзап двоичной информации определяется минимально допустимым временем между поступлениями очередных кодов на входах регистра: Трг. зап = 2tT+ tИ, где tT – время задержки сигнала триггером; tИ – время задержки сигнала на элементе И.
|
Прямой и обратный код двоичного слова снимается соответственно с выходов соответствующих триггеров.
Рис. 1 Однофазный параллельный регистр
Исследование работы парафазного параллельного регистра
Парафазный параллельный регистр (рисунок 3) построен на одноступенчатых синхронных RS-триггерах. При наличии на кодовых шинах слова (КШС) парафазного кода на одном из входов каждого триггера регистра обязательно присутствует 1, которая по сигналу WR1 и установит триггер в требуемое состояние независимо от той информации, которая в нем хранилась.
Рисунок 3-Парафазный параллельный регистр
Использование парафазного кода позволяет ускорить запись в регистр Трг. зап информации за счет исключения такта предварительной установки регистра в нулевое состояние: TРг. зап = tИ
Рис. 2Парафазный параллельный регистр
Регистры сдвига
Сдвигающие регистры обеспечивают запись и считывание при последовательном обмене информацией с жесткими и гибкими дисками, СD, осуществляют связь между устройствами через порты последовательного обмена, такие как COM, USB, модем, монитор и др.
Исследование работы последовательного сдвигающего регистра на D-триггерах
Сдвигающие, или последовательные, регистры – это регистры выполняющие сдвиг двоичной информации вправо или влево, в зависимости от управляющих сигналов.
|
Сдвиг вправо заключается в том, что значение, хранящееся в i-ом разряде, переходит в (i+1)-й разряд; из (i+1)-ого в (i+2)-ой и т.д. Из закона функционирования сдвигающего регистра следует, что в каждом разряде регистра одновременно с хранением цифры, имевшейся до сдвига и предназначенной для передачи в следующий разряд, необходимо предусматривать возможность приема новой цифры из предыдущего разряда. Эти условия выполняются при построении сдвигающих регистров на двухступенчатых синхронных триггерах, работающих в режиме D, или D-триггерах с динамическим входом синхронизации.
На рисунке 4а, сдвигающий (последовательный) регистр построен на D-триггерах с динамическим синхронизирующим входом, которые соединены последовательно таким образом, что сигнал (Qi) с выхода триггера старшего разряда регистра поступает на информационный вход Di–1 триггера последующего младшего разряда регистра. Все триггеры управляются общим входом синхронизации. Такое соединение D-триггеров обеспечивает сдвиг в регистре информации вправо, если управление сдвигом осуществлять синхронизирующими сигналами, называемыми управляющими сигналами сдвига вправо – CLK. Установка регистра в состояние "0000" производится управляющим сигналом CLR. Информационный вход D используют для подачи двоичного слова последовательно разряд за разрядом (первым в регистр записывается старший разряд).
Рисунок 4а - Сдвигающий (последовательный) 4-х разрядный регистр, построенный на D-триггерах
В программе EWB соберем схему простейшего сдвигового регистра. Соединим четыре D-триггера последовательно друг за другом так, что сигнал с выхода Qi первого будет подаваться на вход D1, второго триггера и т.д. (рисунок 4); данные, т.е. 1 или 0 в соответствующем разряде, будем вводить клавишей [D]; на выводы синхронизации всех триггеров С одновременно будем подавать тактовые импульсы от клавиши [Space]. Следя за состояниями поразрядных индикаторов Y0-Y3, будем судить о работе регистра. Пусть требуется ввести в регистр число 510 = 01012. Начнем с нулевого состояния (Y0=Y1=Y2=Y3=0). Подадим на вход первого триггера D=1 и [Space] =1 и включим моделирование: получим Y0=1. Если дважды три раза нажать на [Space], то все разряды постепенно заполнятся единицами, но это будет 11112 = 1510 , а не то, что требовалось. Очистим регистр. Это можно выполнить разными способами, выберем, пожалуй, наиболее простой, не выключая моделирование, сделаем D=0 и [Space] =0 и, нажимая многократно [Space], «продвинем» 0 по всем разрядам так же, как до этого «двигали» 1. По моделированию устройства видно, что сдвиговый регистр на каждом новом тактовом импульсе принимает одну новую цифру, сдвигая ранее запомненные (в том числе и нули) на один разряд, чтобы поместить новую.
|
Движение в регистре цифр напоминает движение людей через турникет (такты) на эскалатор метро по одному (1) друг за другом с интервалами (0). Не случайно подобные схемы называют на английском FIFO (First-ln-First-Out, т.е. первым вошел - первым вышел). Очевидно, что полученные результаты обусловлены работой D-триггера, выход Q которого повторяет входной сигнал D, пока С=1, и запоминает логический уровень входного сигнала при С=0 («прозрачная защелка»). Отсюда понятно, что для решения поставленной задачи надо, манипулируя клавишами D и [Space], аналогично описанному, «продвигать» в регистр ту последовательность, которая задана: 0101.
Если использовать в подобном регистре D-триггеры с предустановками по S входу и R входу, то пользуясь ими можно установить единицы во все разряды сразу с помощью входа S(set) или очистить весь регистр - R(reset). Соответствующая схема показана на рисунке 3б,в. Для удобства наблюдения далее вместо логических индикаторов (рисунок 4б) включим семисегментный индикатор с дешифратором HL1 (рисунок4в). При согласованном включении входных разрядов индикатора и выходных разрядов регистра, занесение в регистр числа 01012 даст на дисплее цифру 5 (рисунок 4в)
Рисунок 4б,в - Логическая структура четырехразрядного регистра сдвига.
Рис. 3Сдвигающий 4-х разрядный регистр, построенный на D-триггерах