**Регистр** - это функциональное устройство, предназначенное для записи, хранения и преобразования двоичной информации. Основой любого регистра, является цепочка триггеров, обычно JK- или D-типов. Число триггеров в цепочке определяется разрядностью регистра. Процедура занесения информации в регистр называется вводом или записью. А извлечение - выводом или считыванием. Одиночный триггер, способный хранить один бит информации, можно считать одноразрядным регистром. Регистры делятся на: - Регистры хранения - Регистры сдвига - Специальные регистры: - Регистры последовательных приближений, которые применяются в АЦП (аналогово-цифровых преобразователях) - Многоцелевые регистры, используемые в качестве СОЗУ (сверхоперативное запоминающее устройство) ## Регистры хранения (параллельные регистры) Регистры хранения называются параллельными, так как информация во все триггеры заносится одновременно параллельным входом, по сигналу на общем входе синхронизации. Занесение в регистр новой информации не требует предварительного обнуления, так как с приходом каждого синхроимпульса информация обновляется. Некоторые регистры имеют дополнительные стробирующие входы, позволяющие хранить без изменения записанное число в течение нескольких тактов синхроимпульса. Схема: ![Схема регистра хранения](../Pictures/05_01.%20Схема%20регистра%20хранения.png) УГО: ![УГО регистра хранения](../Pictures/05_02.%20УГО%20регистра%20хранения.png) При подаче на вход E0 логической 1, разрешается вывод записанного в регистр числа через ключи, собранные на логических элементах И на 2 входа В отсутствии разрешающего сигнала, на всех выходах регистра будет 0. ## Регистры сдвига (последовательные регистры) Схема: ![Схема регистра сдвига](../Pictures/05_03.%20Схема%20регистра%20сдвига.png) УГО: ![УГО регистра сдвига](../Pictures/05_04.%20УГО%20регистра%20сдвига.png) В регистрах сдвига триггеры расположены цепочкой, причём прямой выход одного триггера соединён с информационным входом другого триггера. Запись информации последовательным ходом осуществляется по информационному входу D первого триггера. Перед занесением информации регистр очищается с помощью команды сброса R. Делаются из DRS-триггеров. Предположим, в регистр нужно поместить число `0b1101`. Для хранения старшего вида используется триггер Т4, для младшего - Т1. На вход D подаётся логическая 1, и после первого тактового импульса C в Т1 запишется единица, в остальных триггерах будут нули. После второго тактового импульса в Т1 снова запишется единица, а в Т2 перепишется единица с выхода Т1. Затем, на вход D устанавливаем ноль, и после третьего тактового импульса в Т1 запишется 0, а две ранее записанные единицы окажутся в Т2 и Т3. На вход D вновь подаётся единица, и с четвёртым тактовым импульсом эта единица запишется в Т1, а вся ранее записанная информация сдвинется в Т2, Т3, Т4. Теперь записанное в регистр 4-значное число может быть считано из регистра в параллельном входе с выходов Q1, Q2, Q3, Q4. Если работа тактового генератора непрерывна, то начиная с пятого тактового импульса из Т4 будет производиться поразрядный вывод записанного числа. Регистры сдвига составляют основу ОЗУ с последовательным доступом, в котором выбор нужной ячейки памяти осуществляют последовательным перебором адресов в порядке их возрастания или убывания. В регистре сдвига влево информация поступает в старший разряд и с каждым тактовым импульсом сдвигается в сторону младших разрядов. Сдвигающие регистры позволяют преобразовывать последовательный код в параллельный и наоборот. Обычно для этого используют комбинированные регистры: - Параллельно-последовательный регистр (ввод параллельно, вывод - последовательно, у них несколько информационных входов и один выход) - Последовательно-параллельный регистр (ввод последовательно, вывод - параллельно, один вход на несколько выходов) Последовательные регистры имеют два недостатка: 1. Возможен только побитовый ввод в каждом такте 2. При каждом сдвиге теряется крайний бит Эти недостатки исправлены в **кольцевых регистрах**. Выход последнего триггера соединён со входом первого, поэтому информация циркулирует по кольцу. Предварительная запись информации может быть осуществлена по входам S, сброс - по входу R. ![Схема кольцевого регистра сдвига](../Pictures/05_05.%20Схема%20кольцевого%20регистра%20сдвига.png) Существуют реверсивные регистры, позволяющие выбирать направление сдвига. В таких регистрах для коммутации входов и выходов применяются мультиплексоры. Такой регистр допускает либо параллельную загрузку по входам $D_n$ по срезу синхроимпульса C2, либо последовательную загрузку по входу D по срезу синхроимпульса C1. Сигналом с управляющего входа V можно изменять направление сдвига при последовательном вводе информации. ![Схема реверсивного регистра сдвига](../Pictures/05_06.%20Схема%20реверсивного%20регистра%20сдвига.png) ## Универсальные регистры Для коммутации входов и выходов используется мультиплексирование. Выбор режима работы задаётся сигналами PL, SL, SR. При поступлении 1 на PL разрешается параллельная загрузка всех триггеров по входам $D_i$. При последовательном режиме информационный вход $D_i$ присоединяется либо ко входу $i-1$-го триггера (сдвиг вправо), либо ко входу $i+1$-го триггера (сдвиг влево). Для младшего разряда вход $i-1$ является входом DSR всего регистра, а вход $i+1$ (самого старшего разряда) - входом DSL. Выход $Q_i$ D-триггера подключен к соответствующим входам мультиплексоров в соседних разрядах. Общие шины C, R служат для синхронизации и асинхронного сброса всех ячеек регистра.