Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ПТЦА - Лекции / Лекция 13

.pdf
Скачиваний:
28
Добавлен:
15.02.2015
Размер:
247.76 Кб
Скачать

Синтез регистров

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

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

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

По виду выполняемых микроопераций над словами различают регистры для приема, передачи и сдвига информации.

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

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

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

По системе синхронизации, т. е. по количеству тактов управления, необходимых для записи кода слова, различают однотактные, двухтактные и многотактные регистры.

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

На рисунок 2 показана схема приема информации на регистр без предварительной установки его в нуль; для этого используется парафазный код.

Рисунок 1 — Прием информации в регистр после предварительной установки его в нуль.

Рисунок 2 — Прием информации в регистр без предварительной установки его в нуль. Сигнал «Прием информации» в регистр обычно является импульсным, поскольку кратковременное подключение регистра к кодовой шине слова уменьшает вероятность занесения в него ошибочной информации.

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

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

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

На рисунке 3 приведен один из возможных вариантов схемы регистра, выполняющего операцию дизъюнкции, а на рисунке 4 — вариант схемы выполнения операции конъюнкции. Приведем краткий комментарий по работе данных регистров.

Рисунок 3 — Схема логического сложения.

Рисунок 4 — Схема логического умножения.

y1 , y2 , y3 , ... , yn
x1 , x2 ,x3 ,... , xn

Рисунок 5 — Схема сложения по модулю 2.

Код первого числа устанавливается с помощью проводников, подключающих входы триггеров S или R на корпус (землю), а код второго числа

подается на вход J или K.

Логическое сложение реализует операцию ИЛИ над двоичными цифрами xi и уi находящимися в i-том разряде обоих кодов. В i-м разряде регистра устанавливается результат

выполнения

операции

Qi =xi yi .

Поразрядное

сложение

реализует операцию

суммирования

по модулю

два цифр

xi и yi

i-го разряда

преобразуемых кодов:

Qi =xi & yi

Qi =xi Å yi . При этом в i-м триггере регистра после выполнения операции устанавливается результат (рисунок 5). Поразрядное сложение является также и операцией сравнения кодов. Логическое умножение реализует операцию И над двоичными цифрами xi и yi , находящимися в i-том разряде двух кодов. При этом в i-том разряде регистра устанавливается результат выполнения операции .

Пример. Рассмотрим так называемые сдвигающие регистры и их синтез.

Операция сдвига кода это перемещение в регистре всех разрядов кода числа на одинаковое число разрядов влево или вправо. Регистры, осуществляющие сдвиг кода влево или вправо в зависимости от управляющих сигналов, называются реверсивными сдвигающими регистрами.

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

На рисунке 6 приведена схема регистра сдвига на один разряд вправо, построенная на JKтриггерах. Сдвиг выполняется подачей одного импульса на шину сдвига. В момент поступления импульса значения сигналов на входах J и К каждого триггера определяют его переход в новое состояние. Это новое состояние триггеры принимают после окончания импульса сдвига. Одной из основных характеристик регистра сдвига является быстродействие, определяемое временем сдвига на один или несколько разрядов одновременно. Значение времени сдвига равно промежутку времени между моментом поступления импульса на шину сдвига и моментом окончания в схеме переходного процесса, вызванного этим импульсом.

Рисунок 6 — Схема регистра сдвига на один разряд вправо, построенная на JK-триггерах. Обобщенная схема логической структуры многофункционального регистра сдвига приведена на рисунке 7.

Рисунок 7 — Обобщенная схема логической структуры многофункционального регистра сдвига.

На входы комбинационной схемы поступают сигналы с выходов триггеров, а также сигналы, приходящие извне по шинам x1 , x2 , x3 , ... , xn . Назначение шин управления состоит в том, чтобы из всех микроопераций сдвига, выполняемых регистром, выбрать одну, требуемую в данный момент времени. Таким образом, сигналы, поступающие по шинам управления, настраивают определенную цепь сдвига от одних триггеров к другим и запрещают работу остальных цепей. Сигналы с выходов комбинационной схемы подаются на входы триггеров. Функции возбуждения входов i-го триггера можно записать в следующем виде:

qJ i= f Ji [Q1 t , Q2 t , ..., Qn t , x1 , x2, ... , xn ];

qK i= f Ki [Q1 t , Q2 t , ..., Qn t , x1 , x2, ... , xn ].

Значения функций и всех переменных в приведенных выражениях определены для одного и того же момента времени t. Поэтому функции возбуждения триггеров являются переключательными функциями, которым соответствуют комбинационные схемы, формирующие входные сигналы для триггеров. Следовательно, если задан тип триггера, то задача логического проектирования схемы регистра сдвига заключается в составлении функций возбуждения каждого триггера и минимизации найденных функций в заданном базисе. Таблица переходов и матрица переходов JK-триггера имеют вид таблиц 1 и 2 соответственно.

Таблица 1

qJ

qK

Q t

Q t 1

0

0

0

0

 

 

 

 

0

0

1

1

 

 

 

 

0

1

0

0

 

 

 

 

0

1

1

0

 

 

 

 

1

0

0

1

 

 

 

 

1

0

1

1

 

 

 

 

1

1

0

1

 

 

 

 

1

1

1

0

 

 

 

 

Таблица 2

 

qJ

 

qK

00

 

0

1

01

 

1

2

10

3

 

1

11

4

 

0

Исследуем метод синтеза регистра сдвига на конкретном примере. Пусть требуется спроектировать реверсний регистр сдвига на один разряд влево и вправо. Число управляющих шин зависит от числа К микроопераций сдвига, который должен выполнять проектируемый регистр, и определяется выражением т=[log2 К ] . В нашем случае необходимо выполнить две микрооперации: сдвиг влево и сдвиг вправо, следовательно,

т=1 , т. е. требуется одна шина управления. Кодированная таблица переходов i-го разряда регистра представлена столбцами 1-5 таблицы 3. При ее составлении считалось, что значение х=0 соответствует сдвигу на один разряд вправо, а х=1 — сдвигу на один разряд

влево (нумерация разрядов проводится слева направо). Функции возбуждения i-го триггера принимают вид

qJ i t = f J i [Qi 1 t ,Qi1 t , x ],

qK i t = f K i [Qi 1 t ,Qi 1 t , x ].

Очевидно, что поскольку структура регистра одинакова, достаточно получить выражения только для одного триггера. В столбцах 6 и 7 таблицы 3 записаны функции возбуждения JKтриггеров. Для составления функции возбуждения i-го триггера в явном виде воспользуемся матрицей переходов JK-триггера (смотри таблицу 2). Рассмотрим первую строку таблицы 3.

При поступлении сигнала на шину сдвига триггер из состояния

Q=0

должен перенять

состояние

i1 -го

триггера, так как

х=0 ,

т. е. для i-го триггера необходимо

осуществить

переход

типа

00 . В соответствии с матрицей

переходов JK-триггера

следует в столбце 6 записать 0, а в столбце 7

 

0

. Аналогично заполняются остальные

строки таблицы 3.

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Номера

 

 

 

Время

t

 

 

 

Время t+1

 

Время t

 

 

 

набора

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

Qi1

 

Qi

 

Qi 1

 

Qi

 

J i

Ki

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

2

 

3

 

4

 

5

 

6

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

0

 

0

 

0

 

0

 

0

 

0

0

 

 

 

1

 

0

 

0

 

0

 

1

 

0

 

0

1

 

 

 

2

 

0

 

0

 

1

 

0

 

0

 

2

1

 

 

 

3

 

0

 

0

 

1

 

1

 

0

 

3

1

 

 

 

4

 

0

 

1

 

0

 

0

 

1

 

1

4

 

 

 

5

 

0

 

1

 

0

 

1

 

1

 

1

5

 

 

 

6

 

0

 

1

 

1

 

0

 

1

 

6

0

 

 

 

7

 

0

 

1

 

1

 

1

 

1

 

7

0

 

 

 

8

 

1

 

0

 

0

 

0

 

0

 

0

8

 

9

1

0

0

1

1

1

9

10

1

0

1

0

0

10

1

11

1

0

1

1

1

11

0

12

1

1

0

0

0

0

12

13

1

1

0

1

1

1

13

14

1

1

1

0

0

14

1

15

1

1

1

1

1

15

0

Составленная по изложенной методике таблицы 3 определяет функции возбуждения входов i- го триггера. Их аргументы записаны в столбцах 1-4 таблицы. Необходимо отметить, что функции возбуждения JK-триггера являются не полностью определенными логическими функциями. Представим функции возбуждения триггера в минимальной ДНФ. Для этого составим соответствующие карты Карно (рисунки 8 и 9). В приведенных диаграммах

коэффициенты

могут произвольно принимать значения 0 или 1. Минимальные ДНФ для

функций q Ji

 

и qK i

получаются в случае, когда

6= 7= 11= 15= 0 = 1= 8= 12=1 , а

остальные значения

i равны 0. В результате проведенного решения находим следующие

выражения:

q

= xQ

i 1

xQ

q

=x Q

i 1

x Q

i1 .

 

Ji

 

i1 ;

 

K i

 

Рисунок 8 — Карта Карно для функции q Ji .

Соседние файлы в папке ПТЦА - Лекции