Изучение регистров
Контрольная работа - Компьютеры, программирование
Другие контрольные работы по предмету Компьютеры, программирование
171;1, а на входе WR - 0 (рис. 1.6) после предварительной записи числа 0110.
Первый синхроимпульс (его номер 2) на входе C вызывает следующие действия (рис. 1.6):
в триггер 1 записывается 1 с входа D;
в триггер 2 записывается 0 с выхода триггера 1;
в триггер 3 записывается 0 с выхода триггера 2;
в триггер 4 записывается 0 с выхода триггера 3.
Рис. 1.6. Временные диаграммы работы регистра сдвига вправо на D-триггерах
Второй синхроимпульс (его номер 3) вызывает следующие действия:
в триггер 1 записывается 0 с входа D;
в триггер 2 записывается 1 с выхода триггера 2;
в триггер 3 записывается 0 с выхода триггера 2;
в триггер 4 записывается 0 с выхода триггера 3.
Синхроимпульсы с 3-го по 5-й выполняют аналогичные действия, 6-й синхроимпульс выталкивает логическую единицу с выхода триггера 1, обнуляя его.
В промежутке между 6-м и 7-м синхроимпульсом вновь выполняется запись числа 0110, тогда после 7-го синхроимпульса на выходе регистра будет 0011, после 8-го синхроимпульса на выходе регистра будет код 0001, а после 9-го синхроимпульса - код 0000.
Если бы значение 1 присутствовало на входе D до момента прихода 6-го синхроимпульса, то на выходе регистра появлялся бы следующий код:
синхроимпульс № 2 - 1000
синхроимпульс № 3 - 1100
синхроимпульс № 4 - 1110
синхроимпульс № 5 - 1111
Логические операции сдвига вправо (или влево) выполняются при помощи мультиплексоров, операция циклического сдвига вправо (или влево) может быть выполнена при помощи регистра, изображенного на рис. 1.5, если на вход D подать сигнал с выхода 20 (влево - с выхода 23, если триггеры 1, 2, 3 и 4 будут иметь выход с двоичным весом 20, 21, 22 и 23 соответственно).
Рассмотрим работу такого регистра (рис. 1.7).
Рис. 1.7. Сдвиговый регистр для циклического сдвига вправо
Пусть в регистр было записано двоичное число 0101, тогда после первого синхроимпульса (такта) на выходе будет значение 1010, после второго такта на выходе будет значение 0101, после третьего такта - значение 1010 и т. д., а если записано значение 0110, то будут значения 0011, 1001, 1100, 0110 и т. д. соответственно.
Реверсивные сдвиговые регистры
Реверсивные сдвиговые регистры способны сдвигать данные как влево, так и вправо, в зависимости от значения на управляющем входе V (либо имеется 2 раздельных парафазных управляющих входа VL (сдвиг влево) и VR (сдвиг вправо)) - см. рис. 1.8.
Каждый разряд реверсивного сдвигового регистра представляет собой автомат Ai на D-триггере или JK-триггере (рис. 1.8).
Рис. 1.8. Реализация i-го разряда реверсивного сдвигового регистра
На рис. 1.8. обозначены:
СИ - вход синхроимпульсов;
- инверсный вход данных (i - 1)-го разряда;
- инверсный вход данных (i + 1)-го разряда;
Qi и - прямой и инверсный выходы данных i-го разряда;
R и S - входы независимой установки логического нуля и логической единицы соответственно.
Поясним работу схемы (рис. 1.9).
Сигналы VL и VR являются парафазными, поэтому при VL = 0 сигнал на выходе элемента 2И - ИЛИ - НЕ определяется сигналом , т. е. имеем: J = Qi-1, а (VR при этом равен 1 и не влияет на логику работы схемы), поэтому Qi = Qi-1. При VR = 0 сигнал на выходе элемента 2И - ИЛИ - НЕ определяется сигналом , т. е. имеем J = Qi+1, а (VL при этом равен 1 и не влияет на логику работы схемы), поэтому Qi = Qi+1. Таким образом, при VL = 0 осуществляется сдвиг влево (от младших разрядов к старшим), а при VR = 0 осуществляется сдвиг вправо (от старших разрядов к младшим).
Рис. 1.9. Реализация i-го разряда реверсивного сдвигового регистра на JK-триггерах
регистр сдвиговый триггер реверсивный
Рассмотрим функционирование 2-х разрядного реверсивного сдвигового регистра на JK-триггерах [2]. Каждый разряд сдвигового регистра реализуется на одном JK-триггере, одном элементе 2И - ИЛИ - НЕ (рис. 1.10) и инверторе.
Рис.
Рис. 1.10. Функциональная схема реверсивного сдвигового регистрана JK-триггерах (2 разряда)
Временные диаграммы схемы (рис. 1.10) приведены на рис. 1.11. При сдвиге влево (VL = 0) имеем: Q1 = DL, Q2 = Q1; при сдвиге вправо (VR = 0) имеем: Q2 = DR, Q1 = Q2.
Рис. 1.12. Эквивалентная схема для схемы на рис. 1.10 при сдвиге влево
Рис. 1.13. Эквивалентная схема для схемы на рис. 1.11 при сдвиге вправо
Реверсивный регистр с параллельной записью данных (рис. 1.14) имеет вход записи WR, единичный уровень которого разрешает запись параллельных данных в регистр.
От схемы на JK-триггерах можно легко перейти к схеме на D-триггерах, отличие будет в том, что состояние регистра будет изменяться не по спаду, а по переднему фронту СИ. Схема приведена на рис. 1.15, временные диаграммы - на рис. 1.16 (временные соотношения выбраны аналогично рис. 1.11).
Лабораторное задание