Регистры

При выполнении различных арифметических и логических опера­ций, а также при управлении ЦВМ возникает необходимость хранить код числа в течение некоторого времени. Иногда нужно сдвинуть этот код вправо или влево, произвести подсчет количества импульсов вы­брать заданные комбинации кодов и т. д. Такие операции выполняют специальные устройства ЦВМ: регистры, счетчики и дешифраторы

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

Следовательно, если код имеет n разрядов, то регистр должен иметь п одноразрядных запоминающих элементов, предназначенных для хранения этого кода. В качестве запоминающих элементов в регистрах ЦВМ обычно применяют триггеры. В регистре для каждого разряда хранимого слова имеется один вход и один или два выхода, если слово должно выдаваться в прямом и обратном кодах. Регистры подразде­ляют на регистры без сдвига и сдвигающие регистры, в которых возможен сдвиг хранимого слова.

На рисунке 1, а показана схема одного разряда регистра. Основным элементом схемы является триггер, который имеет два устойчивых состояния, одно из которых соответствует коду «1», а другое коду «0».

Перед подачей кода числа в эту схему необходимо стереть имевший­ся ранее код. Для этой цели на вход триггера подается отрицатель­ный импульс, который обеспечивает переход триггера в положение «0».

Код числа в виде электрического импульса поступает через вход­ной вентиль совпадения В1 на вход У «1» триггера. Вентиль Вх пред­назначен для того, чтобы можно было осуществлять прием числа на триггер только в определенное время. Входной импульс числа пройдет через вентиль только в том случае, если на другой вход вентиля будет подан высокий потенциал по шине ПЧ (прием числа). Пройдя через вентиль, импульс числа (если на вход поступает код «1») установит триггер в положение «1».

Рисунок 1 – Схемы регистров: а – одного разряда регистра; б – n-разрядного регистра на триггерах; в– сдвигающего регистра.

При поступлении кода «0» триггер останется в положении «0». Оп­рос состояния триггера осуществляется с помощью вентиля совпаде­ния В2. Один вход вентиля подключают к выходу «1» триггера, на дру­гой вход подключают импульс ВЧ, разрешающий выдачу кода. Если триггер стоит в положении «1», вентиль откроется и на выходе появится импульс, совпадающий по фазе с импульсом ВЧ. Схемы всех разрядов регистра одинаковы и подобны схеме, изображенной на рисунке 1, а. Схема регистра для n-разрядного числа приведена на рисунке 1, б. Для приведения всех элементов регистра в исходное (нулевое) со­стояние на Вход 2 подают сигнал сброса. После этого одновременно по п входным каналам подают код числа. По тем каналам, где подается код «1», этот код будет зафиксирован, остальные триггеры останутся в нулевом состоянии.

Для запоминания числа и для сдвига его на один или несколько разрядов вправо или влево используют схемы сдвигающего регистра рисунке 1, б. В этой схеме выход одной триггерной ячейки соединен со входом другой через линии задержки τ1, τ2, τ3.

Принцип действия схемы заключается в следующем. Допустим, что на регистр занесен код «111». В этом случае все три триггера регистра находятся в состоянии, соответствующем коду «1». Если теперь по шине сдвига подать одновременно во все триггеры импульс сдвига, то все триггеры будут установлены в положение, соответствующее коду «0». Во время перехода триггеров из состояния «1» в состояние «0» в линиях задержки τ1, τ2, τ3 передаются импульсы отрицательной поляр­ности. Эти импульсы, задержанные в линиях задержки на некоторое время, поступят на вход следующих триггеров Т2 и Т3и установят эти триггеры вновь в положение, соответствующее коду «1». Таким об­разом, в результате подачи на регистр первого импульса сдвига полу­чим новый код «011» вместо исходного кода «111», т. е. число будет сдвинуто вправо на один разряд. Если на вход регистра подать не один, а три импульса сдвига, то число, хранившееся в регистре, будет сдви­нуто не на один, а на три разряда. В данном случае на выходе регистра будет последовательный код «111», а в самом сдвигающем регистре – код «000».

Из изложенного следует, что сдвигающий регистр не только сдви­гает хранившийся в нем код, но и преобразует параллельный код в последовательный. Был рассмотрен пример, когда во всех разрядах регистра установлен код «1». Если же в предыдущем разряде регистра установлен код «0», то при подаче импульса сдвига импульс в линию задержки не будет передан, значит, в следующем разряде после сдви­га будет установлен код «0».


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: