Регистры

В предыдущих главах мы рассматривали по сути своей элементы, яв­ляющиеся своего рода базой для построения узлов (компонентов) любого компьютера, как персонального, так и менфрейма. Рассмотрение видов этих узлов и принципов их работы начнем с регистров.

Регистр это элемент памяти, предназначенный для хранения и выдачи информа­ции представленной в виде двоичного кода. Иными словами ре­гистры служат для хранения двоичных чисел. Кроме того, регистры ис­пользуются для преобразования последовательного кода в параллельный и наоборот, для сдвига кода вправо или влево, что бывает необходимо при выполнении арифметических операций и нормализации. Регистр со­стоит из триггеров, каж­дый из которых хранит один разряд двоичного числа. Каждому триггеру может быть поставлен в соответствие весовой коэффициент (вес), связан­ный с номером двоичного разряда. Таким обра­зом, с помощью весов обес­печивается позиционное представление двоич­ного числа. В чисто двоич­ном n-разрядном регистре веса триггеров равны , т.е. 1, 2, 4, 8, … . Причем счет разрядов начинается с 0 – млад­ший разряд и продолжается до – старший разряд регистра.

Регистры строятся на базе тактируемых триггеров. Такие регистры должны по тактовому сигналу (сигналам) принимать код двоичного числа и хранить его до прихода следующего тактового сигнала (сигналов).

По способу записи двоичного числа различают параллельные и по­следовательные регистры. Параллельные регистры принимают на входе -разрядное двоичное число, все разряды которого записываются в регистр одновременно (параллельно) за один такт. Последовательные регистры, их называют также сдвигающими, принимают разряды числа последова­тельно, по очереди, начиная с младшего, за -тактов.

Наиболее просто регистры реализуются на основе тактируемых фронтом D-триггеров. Схема параллельного регистра приведена на рис. 16.

 

Рисунок 16

 

В ней разряды двоичного числа, поступающие, например, с выходов другого регистра, соединены с информационными входами D-триггеров, тактовые входы, которых объединены между собой и представ­ляют собой единый тактовый вход регистра. Таким образом, после подачи импульса на тактовый вход, происходит запись информации с входов на выходы . В этом случае параллельный регистр, представляет собой просто набор триггеров, объединенных общим тактовым сигналом. Схема сдвигающего регистра приведена на рис. 17.

 

 

Рисунок 17

 

Этот регистр осуществляет сдвиг вправо. Выход предыдущего триггера присоединяется к входу D последующего. Благодаря такому включению, каждый тактовый импульс устанавливает последующий триггер в состоя­ние, в котором до этого находился предыдущий, осуществляя тем самым сдвиг информации на разряд вправо. Вход D первого триггера служит для приема в регистр информации в виде последовательного кода. С каждым тактовым импульсом на этот вход должен подаваться код нового разряда входной информации. Таким образом, сдвигающие регистры служат для преобразования последовательного кода в параллельный. Если модифици­ровать схему и соединить выход последующего триггера с входом D пре­дыдущего, то получим регистр, осуществляющий сдвиг влево.

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

Схема универсального сдвигающего регистра показана на рис. 18.

       
   
 
I
 

 

 


Рисунок 18

 

Этот регистр обеспечивает возможность сдвига как вправо, так и влево, в зависимости от сигнала управления сдвигом N. Если сигнал на этом входе равен единице, то уровень на входе D данного триггера определяется вы­ходом триггера, стоящего слева от него, если же N = 0, то – выходом триг­гера стоящего справа ( ). Таким образом, при , тактовые импульсы производят сдвиг информации вправо, а при – сдвиг информации влево.

Универсальный регистр, обеспечивающий как параллельный, так и последовательный режимы работы представлен на рис 19.

 
 

 

 


Рисунок 19

 

В схему универсального сдвигающего регистра введены дополнительные элементы И-ИЛИ. Эти элементы разрешают или запрещают подачу па­раллельного кода на входы триггеров, в зависимости от сигнала управления режимом работы. Если сигнал на этом входе равен единице, то параллельный код поступает на информационные входы триггеров ре­ги­стра, и записывается одновременно во все ячейки регистра по поступле­нию тактового сигнала . Если , то передача параллельного кода за­прещается и схема становится эквивалентной рассмотренной ранее. Ре­жимы работы универсального регистра, в зависимости от управляющих сигналов приведены в таблице, где символ * обозначает, что уровень сиг­нала не имеет значения, т.е. он может быть как нулем, так и единицей.

P N Режим работы
* Параллельная запись кода
Сдвиг вправо
Сдвиг влево