Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответ 7.2.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
522.24 Кб
Скачать

Лекция 8. Регистры и запоминающие устройства

Лекция 8. РЕГИСТРЫ И ЗАПОМИНАЮЩИЕ

УСТРОЙСТВА

Регистры

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

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

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

о установка регистра в начальное состояние (сброс).

Регистры классифицируются по следующим видам: о накопительные (регистры памяти); о сдвигающие.

В свою очередь сдвигающие регистры делятся: о по способу ввода-вывода информации:

  • параллельные - запись и считывание информации происходит одновременно на все входы и со всех выходов;

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

  • комбинированные;

о по направлению передачи информации:

  • однонаправленные;

  • реверсивные.

Регистры для хранения данных

Регистры хранения используются для приема, хранения и выдачи многоразрядного кода. Они представляют собой совокупность одноступенчатых триггеров (как правило, Б-типа) с общим входом синхронизации. Иногда в регистре имеется также и общий вход асинхронной установки всех триггеров в «0».

Рис. 8.1. Регистр данных на Б-триггерах

Мы рассмотрели, как Б-триггер запоминает один бит информации, когда на вход тактового сигнала приходит фронт импульса. Для того чтобы обеспечить хранение байта данных (или большего количества информации), необходимо объединить восемь (или более) триггеров и подать на них единый управляющий сигнал.

Такой регистр является неотъемлемой частью любой вычислительной системы (см. рис. 8.1).

Регистры сдвига

Регистр сдвига - регистр, обеспечивающий, помимо хранения информации, сдвиг влево или вправо всех разрядов одновременно на одинаковое число позиций. При этом выдвигаемые за пределы регистра разряды теряются, а в освобождающиеся разряды заносится информация, поступающая по отдельному внешнему входу регистра сдвига. Обычно эти регистры при подаче синхросигнала обеспечивают сдвиг кода на одну позицию влево или вправо. Но существуют и универсальные регистры сдвига, которые выполняют сдвиг как влево, так и вправо в зависимости от значения сигнала на специальном управляющем входе или при подаче синхросигналов на разные входы регистра. Регистр сдвига может быть спроектирован и таким образом, чтобы выполнять сдвиг одновременно не на одну, а на несколько позиций.

Регистры сдвига, или сдвигающие регистры, могут быть выполнены на синхронных К8-, Б- или Ж-триггерах. Два примера представлены на рис. 8.2.

Любой сдвигающий регистр имеет вход последовательного ввода информации и выход последовательного вывода информации. Выходы (входы) параллельного вывода (ввода) информации могут отсутст­вовать. Когда на вход С1оск поступает управляющий сигнал (перепад из 0 в 1), в триггерах 0-3 происходит одновременно переписывание данных со входа триггера на его выход. Таким образом, данные в регистре сдвигаются вправо на одну позицию. Такие регистры называют еще регистрами ПРО (Ркв! 1при1 - Пгз! Ои1ри1). Это название отражает порядок перемещения информации в регистре (первым вошел - первым вышел). Помимо обычных, существуют реверсивные регистры сдвига. Они предназначены для сдвига как в одну, так и в другую сторону.

Рис. 8.2. Схема регистра сдвига на синхронных Б-триггерах (а) и синхронных К8-триггерах (б)

На сдвигающих регистрах с последовательным входом можно построить запоминающее устройство с последовательным доступом информации. Хранение одного бита информации осуществляется в каждом отдельном триггере. Тактовый сигнал обеспечивает сдвиг данных. Рециркуляция информации обеспечивается подключением выхода регистра сдвига к его входу через мультиплексор 2 х1 (см. рис. 8.3). Если А = 0, то при подаче импульсов на вход С1оск обеспечивается рециркуляция информации, а если А = 1, то производится запись значения X в регистр сдвига.

Рис. 8.3. Хранение информации в регистре сдвига Таким образом, область применения регистров сдвига - это преобразование последовательного кода в параллельный и наоборот. Это нужно, например, при работе с диском (при записи преобразование параллельного кода в последовательный, при считывании - последовательного в параллельный), при работе с модемом, для других устройств последовательного ввода-вывода.

Кроме того, регистры сдвига могут использоваться при умножении чисел. Вспомните запись числа в двоичной системе счисления: если вы хотите умножить его на 102, это означает, что все цифры нужно сдвинуть влево на 1 разряд, а справа приписать 0. Рассмотрим процедуру умножения двух чисел в двоичной системе счисления:

1 0 1 1 1 1 0 1 1 0 1 1111

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