Регистрпоследовательностная схема, предназначенная для приема, хранения и выдачи информации. Условное обозначение трехразрядного регистра показано на рис. 1
Рис. 1.  Обозначение трехразрядного регистра
Регистры – наиболее распространенные функциональные узлы ЭВМ, предназначенные для приема, хранения и выдачи информации (кода числа, слова или части слова). Кроме того, регистры служат для выполнения операций сдвига слова влево или вправо на требуемое число разрядов. На регистрах также осуществляются преобразования последовательного кода в параллельный и наоборот, а в отдельных случаях выполняются поразрядные операции:
- логическое сложение;
- логическое умножение и сложение по модулю два.
На практике широко применяются регистры с мультиплексными входами, обладающие возможностью приема информации от нескольких источников, т. е. с разных направлений в зависимости от управляющих сигналов на его входе.
Существует большое разнообразие регистров, которые отличаются друг от друга способом приема (записи) информации, синхронизацией и т. д.
Как правило, в ЭВМ используются синхронные регистры, работающие в определенной системе синхронизации и принимающие информацию только при наличии тактирующего(их) сигнала(ов).
В зависимости от выбранной системы синхронизации (однотактной и многотактной) регистры проектируются на различных по структуре триггерах. Для работы в двух- или многотактной системе синхронизации обычно используются одноступенчатые триггеры, управляемые уровнем тактирующего сигнала (импульса). В регистрах с однотактной синхронизацией используются двухступенчатые триггеры с внутренней задержкой, переключаемые фронтом тактирующего импульса. Обычно регистры строятся на основе триггеров D-, DV-, RS- и JK-типов, число которых соответствует числу разрядов в слове, которое хранится в регистре. В регистрах применяются также вспомогательные схемы на логических элементах, которые обеспечивают выполнение различных операций: приема, сдвига и выдачи информации и т. д.
Основным классификационным признаком, по которому различаются регистры, является способ записи информации в регистр. Согласно этому признаку регистры делятся на параллельные, последовательные и параллельно-последовательные.
В параллельных регистрах, которые служат для хранения информации, запись и выдача слов осуществляются одновременно по всем разрядам. На них выполняются также поразрядные логические операции над словами.
В последовательных регистрах запись слова осуществляется последовательно, разряд за разрядом, начиная с младшего или старшего разряда, путем последовательного сдвига кода тактирующими импульсами. Поэтому они называются сдвигающими регистрами. Сдвигающие регистры делятся на простые и реверсивные.
Параллельно-последовательные регистры имеют входы как для параллельного, так и для последовательного приема кода слова. На них также выполняется преобразование параллельного кода в последовательный и наоборот.
В зависимости от количества каналов, по которым поступает информация на входы разрядных триггеров, регистры делятся на однофазные и парафазные. В парафазных регистрах информация на каждый разряд поступает по двум каналам (прямому и инверсному). В однофазных регистрах информация поступает на каждый разряд только по одному каналу (прямому или инверсному). Парафазные регистры выполняются на триггерах RS- или JK-типов, а однофазные – на основе триггеров типа D.
Параллельные регистры состоят из N-триггеров, не связанных между собой, где N – количество разрядов регистра. На рис. 2 показана схема параллельного регистра на синхронных RS-триггерах с цепями однофазной записи и парафазной выдачи N-разрядного слова. Запись слова в регистр осуществляется в два этапа (такта).
Рис. 2.  Параллельный регистр на RS-триггерах с однофазным приемом информации
На первом этапе тактирующим импульсом на шине синхронизации С осуществляется гашение старой информации, которая хранится в регистре, т. е. все триггеры регистра устанавливаются в состояние логического нуля (“0”). Для этого на шину приема П подается сигнал “0”, а на шину гашения Уст“1” – единичный сигнал (“1”). На втором этапе на шины П и Уст“0” подаются сигналы “1” и “0”, соответственно и тактирующим импульсом осуществляется запись слова А параллельным кодом. При этом в разрядах, где аi = 1, триггеры устанавливаются в единичное состояние, а в разрядах, где ai = 0, состояние триггеров с однофазным приемом информации не изменяется. Для выдачи N-разрядного слова в парафазном коде на шину В подается единичный сигнал.
На практике широко применяются регистры, в которые запись информации происходит за один тактовый импульс, без предварительного сброса регистра в ноль. В качестве примеров на рис. 3 показаны схемы регистров с парафазным и однофазным приемами информации, выполненные на синхронных триггерах, соответственно RS- и D-типов. Эти регистры отличаются наиболее простой организацией процесса параллельной записи информации и не требуют дополнительной схемы приема на логических элементах, как это имеет место в регистре, рассмотренном выше. Запись информации в эти регистры по сравнению с регистрами на рис. 2 осуществляется примерно в два раза быстрее. Время записи (tзп), параллельного кода слова фактически определяется задержкой переключения одного триггера (tт), т. е. tзп = tи tт, где tи – длительность синхронизирующего тактового импульса.
Рис. 3.  Параллельные регистры с парафазным (а) и однофазным (б) приемом информации
Сравнивая однофазные и парафазные параллельные регистры, необходимо отметить, что однофазные регистры являются более экономичными по числу входов, что создает благоприятные условия для сокращения количества выводов при проектировании СБИС.
Таким образом, в параллельный регистр ввод (запись) и вывод (считывание) информации производятся параллельным кодом. Считывание производится в прямом или обратном коде.
Выполнение логических операций на регистрах
В процессе передачи информации из одного регистра в другой на регистрах можно выполнить следующие операции:
– логическое сложение (ЛС);
– логическое умножение (ЛУ);
– сложение по mod 2 (СЛ.2).
Логическое сложение выполняется при подаче управляющего сигнала “ЛС” (рис. 4).
При этом имеется в виду, что первое слагаемое уже находится в регистре, а второе – через элементы ЛЭ-1 подается на вход S каждого триггера. В результате i-разряд регистра остается в единичном со-стоянии, если хотя бы один из слагаемых равен единице. Аналогично выполняется операция логического умножения под действием управляющего сигнала “ЛУ”. Здесь второе слагаемое через элемен-ты ЛЭ-2 подается на вход R. Поэтому разряды регистра остаются в нулевом состоянии, когда хотя бы один из переменных равен нулю.
Рис. 4.  Выполнение логических операций на регистрах
При выполнении операции сложения “Сл 2” второе слагаемое поступает на счетный вход триггеров каждого разряда регистра. Первое слагаемое в регистр записывается с помощью управляющих сигналов в следующей последовательности:
– на входах x1, x2, …, xn устанавливается сигнал “1”;
– осуществляется сброс всех разрядов регистра с помощью управляющего сигнала ЛУ;
– производится занесение информации управляющим сигналом ЛС.
В сдвиговых регистрах дополнительно осуществляется сдвиг кодов. Обычно для каждого разряда кода в регистре имеется триггер. С помощью дополнительных логических элементов возможно также выполнение поразрядных логических операций дизъюнкции, конъюнкции, сложение по модулю 2.
На рис. 5 показана схема простейшего сдвигающего регистра на D-триггерах.
Рис. 5.  Схема сдвигающего регистра