Сумматор по модулю
Рис. 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 контрольных характеристик rа и rb;
- сформировать из отбрасываемых разрядов Е контрольную характеристику
- вычесть по модулю q из произведения
- сравнить по модулю q полученный результат с величиной
Для контроля операции деления
где А — делимое; В — делитель; Z— частное; W — остаток от деления А на В, откуда следует контрольное соотношение:
Следовательно, контроль операции деления состоит в следующем:
- получить от частного Z и остатка W контрольные характеристики rz и rw;
- произвести умножение rа и rb по модулю q;
- сложить полученное произведение по модулю q с rw;
- сравнить полученную сумму
В зависимости от количества разрядов, формы представления числа, способа выполнения основной операции над числами приведенные выше алгоритмы могут несколько видоизмениться, однако принципы их построения остаются неизменными.
Рассмотрим принципы построения алгоритма контроля следующих логических операций:
— поразрядного логического сложения C=A V B;
— поразрядного логического умножения С=A ^ B;
—поразрядного сложения по модулю 2
Используя соотношения:
после преобразований и перехода к остаткам, можно получить контрольные соотношения:
для операции поразрядного логического сложения
для операции поразрядного логического умножения
для операции поразрядного сложения по mod 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'свыполнить операцию сложения с величиной