Смекни!
smekni.com

Применение контроля информационных слов и их адресов по mod 3 в цифровых устройствах автоматики (стр. 3 из 7)

Сумматор по модулю

строится из одноразрядных сумматоров как обычный m-разрядный сумматор, причем он должен иметь цепь циклического переноса из старшего разряда в младший. На рис. 1.11 показана схема сумматора по модулю 3. Здесь же обозначены веса цифр слагаемых и суммы.

Рис. 1.11

Табличные сумматоры непосредственно реализуют таблицу сложения по модулю. В таблице 1 представлены условия работы сумматора по модулю 3, т. е. значения цифр разрядов rс при различных комбинациях цифр rа и rь. Значения rс полагаются равными нулю в том случае, если хотя бы одно из слагаемых rа или rь равно нулю. При этом, как было сказано выше, анализируя rс, можно выявить некоторые ошибки в работе самих схем контроля.

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


Таблица 1

Рис. 1.12

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

Рис. 1.13

Числа А и В расшифровываются и переводятся в однопозиционную систему счисления (возбуждение одной шины дешифратора соответствует одному числу). В матрице элементов И срабатывает один из элементов, и сигнал через элемент ИЛИ поступает на шифратор. На выходе шифратора получают число C = (A + B)mod3, закодированное в двоичной системе счисления.

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

Условия работы умножителя по модулю 3 представлены в таблице 2.

Таблица 2

На основании этой таблицы строится схема табличного умножителя (рис. 1.14).


Рис 1.14

Аналогичным образом могут быть построены сумматоры и умножители и по любому другому модулю.

Алгоритмы контроля операций

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

Правильность выполнения сложения и вычитания

контролируется соотношениями:

,
.

Алгоритм контроля состоит в сложении (вычитании) контрольных характеристик чисел А и В, а затем в сравнении суммы (разности) с суммой чисел

по модулю q.

Контрольное соотношение для операции умножения

имеет вид:

.

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

,

где

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

Следовательно, для контроля операции умножения необходимо:

- произвести умножение по модулю q контрольных характеристик rа и rb;

- сформировать из отбрасываемых разрядов Е контрольную характеристику

;

- вычесть по модулю q из произведения

величину
;

- сравнить по модулю q полученный результат с величиной

.

Для контроля операции деления

используются соотношения:

;
,

где А — делимое; В — делитель; Zчастное; W — остаток от деления А на В, откуда следует контрольное соотношение:

.

Следовательно, контроль операции деления состоит в следующем:

- получить от частного Z и остатка W контрольные характеристики rz и rw;

- произвести умножение rа и rb по модулю q;

- сложить полученное произведение по модулю q с rw;

- сравнить полученную сумму

с контрольной характеристикой делимого rа .

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

Рассмотрим принципы построения алгоритма контроля следующих логических операций:

— поразрядного логического сложения C=A V B;

— поразрядного логического умножения С=A ^ B;

—поразрядного сложения по модулю 2

.

Используя соотношения:

,
,

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

для операции поразрядного логического сложения

;

для операции поразрядного логического умножения

;

для операции поразрядного сложения по mod 2

.

Здесь

,
,
контрольные характеристики результата операции логического сложения (V), логического умножения (^), сложения по модулю 2(
) соответственно.

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

Функциональные схемы контролирующих устройств

Функциональные схемы контролирующих устройств создаются на основе алгоритмов контроля операций.

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

Схема контроля счетчика представлена на рис. 1.15. Она имеет в своем составе счетчик по модулю q, узел свертки и узел сравнения. В каждом такте (после поступления одного импульса) или периодически через несколько тактов содержимое основного счетчика сворачивается и величина rсч сравнивается с содержимым контрольного счетчика rсч . Если

, то вырабатывается сигнал ошибки.

Рис. 1.15

Схема для контроля множительного устройства представлена на рис. 1.16. Работа устройства заключается в следующем. Одновременно с поступлением чисел A и B на регистры Рг1 и Рг2 поступают контрольные характеристики ra и rb , которые перемножаются по модулю q, и величина rа * rb mod q пересылается с регистра Рг3 на регистрРг2.

Рис. 1.16

По мере выполнения операции умножения в основном множительном устройстве младшие отбрасываемые цифры произведения через корректор записываются в разряды регистра Pг1. Корректор служит для инвертирования отбрасываемых цифр произведения, а также распределения их в соответствии с весами по разрядам регистра Pгl. Инвертирование позволяет вместо операции вычитания rЕ при получении величины r'свыполнить операцию сложения с величиной

. Распределение же отбрасываемых цифр по разрядам Pгl нужно для того, чтобы каждая цифра попала в тот разряд регистра Pгl, который соответствует ее весу. Каждый раз после того, как разряды Pгl будут полностью заполнены, его содержимое суммируется по модулю с записанной на регистре Рг2 величиной rа * rb mod q. Полученная величина через регистр Рг3 вновь записывается на регистр Рг2.