СХЕМЫ СРАВНЕНИЯ РАСПРЕДЕЛИТЕЛИ СИГНАЛОВ

Операционные элементы – схемы сравнения

Для подготовки к практическому занятию студентам следует ознакомиться с [1, страница 153-156]. Схемой сравнения называется ОЭ, на котором вычисляется значение отношения между двумя двоичными значениями (словами). Основными отношениями являются выражения clip_image002 и clip_image004, которые в зависимости от значений операндов принимают значения ложь (0) или истина (1).

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

1) схемы сравнения на равенство (отрицание равнозначности), вычисляющие отношения clip_image002[1] (clip_image006);

2) схемы сравнения на больше (меньше), вычисляющие отношения clip_image004[1] (clip_image008).

Нетрудно убедиться, что схема сравнения на равенство позволяет вычислять отношения clip_image002[2] и clip_image006[1] и схема сравнения на больше позволяет вычислять отношения clip_image004[2], clip_image008[1], clip_image010,clip_image012. После ознакомления с данной главой объясните почему.

Схемы сравнения на равенство

Сравнение на равенство (отрицание равнозначности) выполняется поразрядно над одноименными разрядами операндов. Операнды равны, если все одноименные разряды операндов имеют одинаковые значения. Операнды не равны, если хотя бы в одном разряде операнды имеют различное значение.

Значение признака равенства i-ых разрядов ( i = 1, 2, …, n) сравниваемых слов clip_image014 и clip_image016:

clip_image018

Значение признака неравенства i-ых разрядов сравниваемых слов:

clip_image020(исключающее или – сложение по модулю 2)

Выше приведены функции в дизъюнктивной канонической форме. Те же функции в конъюнктивной канонической форме:

clip_image022;

clip_image024

Признак равенства R двух n-разрядных двоичных слов clip_image014[1]и clip_image016[1]вычисляется как конъюнкция

clip_image026

и признак неравенства Q – как дизъюнкция

clip_image028

Постройте самостоятельно схему сравнения на равенство двух трехразрядных кодов.

Микрооперация сравнения слов на равенство может выполняться на регистре, состоящем из триггеров со счетным входом. Регистр хранит код clip_image014[2]. По управляющему сигналу clip_image030 на счетные входы регистра (входы, переключающие триггеры в противоположное состояние при поступлении на них активного уровня сигнала) подается код clip_image016[2], в результате чего регистр clip_image032 устанавливается в состояние clip_image034. Если операнды clip_image032[1]иclip_image037равны, то регистр устанавливается в состояние clip_image039, отмечаемое осведомительным сигналом clip_image041, который после выполнения микрооперации clip_image030[1] сигнализирует о равенстве значений слов clip_image032[2] и clip_image037[1].

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

Схемы сравнения на больше (меньше)

Сравнение на больше clip_image004[3] можно выполнять на сумматоре (или вычитателе) путем определения знака разности clip_image044: если разность имеет отрицательный знак, то отношение clip_image004[4] истинно, в противном случае оно ложно. Когда необходимость в использовании сумматора отсутствует и требуется вычислять отношения вида clip_image004[5], целесообразно использовать схему сравнения, поскольку она экономичнее сумматора в смысле количества оборудования.

Вычисление отношения clip_image004[6] между двумя n-разрядными словами clip_image014[3] и clip_image016[3] сводится к последовательному сравнению разрядов операндов, начиная от старших. Если в clip_image046-ом разряде ( i = 1, 2, …, n) имеем clip_image048, то отношение clip_image004[7] истинно; если clip_image050, то отношение clip_image004[8] ложно, и, если clip_image052 или clip_image054 clip_image056, то значение отношения определяется путем анализа значений в следующем младшем разряде, а при clip_image058 отношение ложно. Определим булеву функцию, на основе которой может быть вычислено значение двоичной переменной clip_image060, представляющей отношение clip_image004[9]. Пусть clip_image062- переменная, принимающая значение 1, если факт истинности отношения вытекает из анализа значений в разряде clip_image046[1].

Из правила сравнения следует:

clip_image065 ,

где clip_image067 - признак равенства значений операндов в разрядах от clip_image069 до clip_image071 включительно и clip_image073 - признак равенства clip_image075-ых разрядов сравниваемых кодов. Если clip_image077, то и clip_image079, т.е.

clip_image081.

Постройте схему сравнения на больше трехразрядных слов. Оцените максимальную задержку сигнала clip_image060[1]по отношению к моменту поступления операндов clip_image032[3] и clip_image037[2]. Если необходимо увеличить быстродействие схемы, то по аналогии со способами ускорения сложения n-разрядная схема делится на группы по k разрядов и организуются обходные цепи передачи сигналов clip_image083[1].

Распределители сигналов (тактов)

Распределитель сигналов (РС) – это операционный элемент, вырабатывающий выходные сигналы clip_image085, принимающие единичные значения в моменты времени clip_image087 соответственно. Специфика применения распределителей сигналов состоит в том, что они обычно используются для построения управляющих, а не операционных автоматов. На РС удобно строить запоминающую часть автомата, работающего по линейной или легко линеаризуемой микропрограмме. При этом с выходов clip_image089 РС снимаются сигналы состояний автомата. Выход clip_image091 может использоваться для перевода (сброса) РС в состояние clip_image093. РС может быть переведен в состояние clip_image093[1] и специальным управляющим сигналом clip_image095. Состояния РС сменяются последовательно (единица переходит на очередной выход) по синхросигналу clip_image097 (рисунок 9).

clip_image099

Распределитель сигналов может быть реализован как композиция счетчика и дешифратора (рисунок 10,а), а также при помощи регистра сдвига (рисунок 10,б).

Синхросигнал clip_image097[1] инициирует микрооперацию счета (увеличение значения счетчика на единицу) – рисунок 10,а. Позиционный код состояния счетчика преобразуется дешифратором в унитарный код, расположение единицы в котором соответствует коду в счетчике. Счетчик может быть сброшен в ноль сигналом clip_image101 или сигналом на clip_image103-ом выходе дешифратора. Сигнал, равный дизъюнкции указанных сигналов должен быть подан на вход сброса clip_image105 счетчика.

Примечание - Если clip_image107 , то после значения clip_image103[1] нулевое значение на счетчике устанавливается автоматически.

При реализации РС на основе регистра, хранящего унитарный код (рисунок 10,б), синхросигнал clip_image109 инициирует микрооперацию сдвига в регистре. При этом единица сдвигается на очередной выход регистра, а значение освобождающегося нулевого разряда регистра доопределяется значением clip_image103[2]-го разряда (организован циклический сдвиг). Таким образом, обеспечивается автоматический переход регистра из состояния clip_image111в состояние clip_image093[2]. Управляющий сигнал clip_image114 позволяет установить РС в состояние clip_image093[3] путем загрузки в регистр кода 100…0. Состояния РС иногда называют тактами, а сам РС – распределителем тактов, хотя это название не очень удачно.

clip_image116

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

Пример 3. Построить схему управляемого распределителя сигналов. Последовательность смены тактов РС задается графом (рисунок 11). Элементный базис – микросхемы К155ИЕ7, К155ИД4.

Схема РС приведена на рисунке 12. Для реализации РС используется режим 3x8 дешифратора К155ИД4 (рассмотрен выше). По очередному синхросигналу clip_image097[2] код на счетчике К155ИЕ7 увеличивается на 1, а на соответствующем выходе дешифратора появляется уровень логического нуля, т.е. распределитель переходит в следующее состояние clip_image120. Объясните нумерацию состояний на выходах дешифратора.

clip_image122

Если осведомительный сигнал clip_image118[1], анализируемый в такте clip_image125, равен нулю, то за состоянием clip_image125[1] следует состояние clip_image127 (РС следует по большому циклу – рисунок 11). Если осведомительный сигнал clip_image118[2], равен 1, то после состояния clip_image125[2] РС должен вернуться в состояние clip_image129 (РС следует по малому циклу). Для осуществления такого перехода используется режим параллельной загрузки счетчика. На входах параллельной загрузки clip_image131фиксируется код состояния clip_image129[1]. Сигнал clip_image133 , поданный на вход clip_image135 , переводит счетчик в режим параллельной загрузки.

clip_image137

Домножение на синхроимпульс в формуле для clip_image139используется, чтобы срабатывание асинхронного входа clip_image135[1] происходило по синхросигналу. D-триггер (микросхема К155ТМ2) используется для задержки сигнала clip_image125[3]. Сигнал clip_image141 на выходе дешифратора появится (станет равным нулю) по фронту синхроимпульса (т.к. счетчик срабатывает по фронту). Сигнал clip_image125[4] на инверсном выходе триггера появится по срезу синхроимпульса (триггер срабатывает по фронту, но на его clip_image143-вход подается инверсия синхроимпульса). Появление среза синхроимпульса означает, что текущий синхроимпульс закончился. Следовательно, переключение в состояние clip_image129[2] произойдет по фронту следующего синхроимпульса. При отсутствии в схеме триггера РС не будет работать в соответствии с заданной последовательностью смены состояний (рисунок 11), так как состояние clip_image125[5] при clip_image145исчезнет (объясните почему).

Перевод РС в начальный такт clip_image147 при следовании по большому кругу обеспечивается сигналом с пятого выхода РС (clip_image149). Пятое состояние не задействовано в графе смены состояний (рисунок 11). Уровень логического нуля на выходе clip_image151 появляется по фронту синхроимпульса (поэтому домножение на синхроимпульс в данном случае не нужно).

Примечание - Если в графе РС задействованы все семь состояний, то для управления переходом РС в состояние clip_image147[1] после состояния clip_image153потребуется схема, подобная схеме управления параллельной загрузкой. Если же взять счетчик, считающий от 0 до 7 (а не от 0 до 15 как в рассмотренной схеме), то управлять указанным переходом вообще не нужно (почему?).

РС может быть в любой момент переведен в начальное состояние clip_image147[2] управляющим сигналом clip_image101[1]. С учетом вышесказанного, сигнал перевода PC в состояние clip_image147[3] вычисляется по формуле:

clip_image156 .

Сигнал clip_image158 подается на вход сброса счетчика (вход clip_image160).

Предлагаю ознакомиться с аналогичными статьями: