Арифметическое устройство в системе остаточных классов
Иллюстрации
Показать всеРеферат
ОП ИСАНИЕ
ИЗО6ееЕТЕН ИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
Союз Советсиии
Социалистические
Реслублмк 881745 (6l ) Дополнительное к авт. свид-ву (22) Заявлено 09.01.80 (21) 2871646 18.24 с присоединением заявки,% (23) Приоритет (51) М. Кл.
G 06 F 7/72 (1кудерстеенный комитет
СССР ио делам изобретений и открытий
Опубликовано 15.11.81. Бюллетень № 42
Дата опубликования описания 15,11 81 (53) УДК 681.325. .5 (088.8) (72) Авторы изобретения
В. С. Василенко и С. И. Григорьев (71) Заявитель (54) АРИФМЕТИЧЕСКОЕ УСТРОЙСТВО В СИСТЕМЕ ОСТАТОЧНЫХ
КЛАССОВ
Изобретение относится к вычислительной технике и предназначено для использования в цифровых вычислительных машинах, использующих форму представления чисел в системе . остаточных классов (СОК).
Известно устройство, содержащее п схем суммирования, схему контроля по модулю три, схему управления коммутацией, схему коррекции и логические элементы, обеспечивает контроль правильности выполнения операций двоичного сумматора по модулю три и выдачу информации об ошибке (1).
Недостатками устройства является низкая вероятность обнаружения ошибок, невозможность коррекции обнаружен ыл ошибок, поскольку в устройстве не определяется величина и местонахождение обнаруженных ошибок.
Наиболее близким к изобретению является арифметическое устройство с контролем по модулю, содержащее блок управления, группу элементов И записи операндов и контрольных кодов операндов, регистры операндов и регистры контрольных кодов операндов, выходы когорых подключены ко входам схемы контроля по модулю и сумматору, а также элементы ИЛИ и элемент И, причем выхсщ первого элемента ИЛИ соединен с управляющими входами одной группы элементов И записи операндов и контрольных кодов операндов, выход второго элемента ИЛИ вЂ” с управляющими входами второй группы элементов И записи операндов и контрольных кодов операндов, выходы третьего элемента
ИЛИ вЂ” со входами сброса первого регистра операндов и соответствующего регистра контрольного кода, выход четвертого элемента
ИЛИ вЂ” со входами сброса друтого регистра операнда и соответствующего регистра контрольного кода, первые входы первого и второго элементов ИЛИ соединены с первым выходом блока управления, вторые входы
20 первого, второго, третьего и четвертого элементов ИЛИ соединены соответственно с третьим, четвертым, пятым и шестым выходами блока управления, входы элемента И соединены с выходами разрядов первого регистра
881745 с т
1О
) P с го
55 кода операнда, а выход элемента И подключен ко входу блока управления (2).
Для известного устройства присущи низкая вероятность обнаружения ошибок и невозможность коррекции обнаруженных ошибок.
Цель изобретения — повышение надежности работы устройства за счет повышения вероятности обнаружения ошибок и их коррекции.
Поставленная цель достигается тем, что устроиство, содержащее регистры первого и второго операндов и регистры контрольных кодов операндов, входы которых являются информационными входами устройства, блок модульных сумматоров, первая группа инфор. мационных входов которого соединена с выходами регистра первого операнда и регистра контрольного кода первого операнда, три группы элементов И, блок управления, оно содержит три блока памяти, четвертую группу элементов И, три сумматора, блок умножения, причем выходы регистра второго операнда и регистра контрольного кода второго операнда соединены с адресными входами первого блока памяти и с первыми входами элементов И первой группы, вторые входы которых соединены между собой и с первым выходом блока управления, выходы элементов И первой группы соединены со второй группой информационных входов блока модульных сумматоров, первая группа входов блока умножения соединена с информационными выходами первого блока памяти, вторая группа входов блока умножения соединена с выходами регистра первого операнда и регистра контрольногб кода первого операнда, выходы блока умножения соединены с первыми входами элементов И второй группы, вторые входы которых соединены между собой и со вторым выходом блока управления, выходы элементов И второй группы и выходы элементов И третьей группы соединены со входами первого сумматора, вы- 4О ходы которого и выходы блока модульных сумматоров и третьего сумматора соединены с соответствующими входами второго сумматора и с первыми входами соответствующих элементов И третьей группы, с выходами
45 третьего сумматора и с соответствующими входами регистра первого операнда и регистра контрольного кода первого операнда, первые входы элементов И третьей группы соединены с соответствующими выходами блока 50 л модульных сумматоров, вторые входы объединены и подключены к третьему выходу блока управления, выходы элементов И четвертой группы соединены с соответствующими входами регистра первого операнда и регистра контрольного кода первого операнда, а также с адресными входами второго, блока памяти, информационные выходы которого соединены соответствующими входами третьего суммаора; выходы второго сумматора соединены с адресными входами третьего блока памяти, информационные выходы которого соединены с соответствующими входами второй группы входов блока модульных сумматоров, вторые входы элементов И четвертой группы объединены и подключены к четвертому выходу блока управления, выходы регистра первого операнда и регистра контрольного кода первого операнда являются выходом устройства, пятый, шестой и седьмой выходы блока управления соединены с соответствующими управляющими входами блока модульных сумматоров, первый, второй и третий входы блока управления являются соответственно входами Умножение", "Вычитание" и "Сложение" устойства, а также тем, что блок управления одержит пять элементов И, четыре элемента
ИЛИ, узел задержки, вход которого соединен с выходом первого элемента ИЛИ, первый вход которого является первым входом блока и соединен с первыми входами первого и четвертого элементов И, первый вход второго элемента ИЛИ соединен с первым входом второго элемента И и является вторым входом блока, второй вход второго элемента ИЛИ соединен с первым входом третьего элемента
И и третьим входом первого элемента ИЛИ и является третьим входом блока, вторые входы первого, второго и третьего элементов
И объединены и подключены к первому выходу узла задержки, выходы первого, второго элементов И и третьего элемента ИЛИ являются соответственно пятым, шестым и седьмым выходами блока, выход третьего элемента И соединен с первым входом третьего элемента ИЛИ, первый вход элемента И соединен с выходом второго элемента ИЛИ, вторые входы четвертого. и пятого элементов И соединены с первым входом четвертого элемента ИЛИ и со вторым выходом узла задержки, вторые входы третьего и четвертого элементов
ИЛИ соединены соответственно с третьим и четвертым выходами узла задержки, выходы первого элемента ИЛИ, четвертого и пятого элементов И, четвертого элемента ИЛИ являются соответственно первым, вторым, третьим и четвертым выходами блока управления.
На фиг. 1 представлена блок-схема устройства; на фиг. 2 — блок-схема блока управления.
Устройство содержит регистр первого операнда 1, регистр контрольного кода первого операнда 2, регистр второго операнда 3, регистр контрольного кода второго операнда 4, четвертая группа элементов И 5, второй блок памяти б, третий сумматор 7, первый блок памяти 8, блок умножения 9, вторая и третья
881745 к (к и
50
55 группы элементов И 10 и 11, первый и второй сумматоры 12 и 13, третий блок памяти
14, первая группа элементов И 15, блок модульных сумматоров 16, блок управления 17, первый — четвертый элементы ИЛИ 18 — 21, первый — пятый элементы И 22 — 26, узел задержки 27.
Устройство реализует алгоритмы обнаружения ошибок способом "взвешенных групп", который заключается в следующем. о
Каждый из операндов и результат операции сопровождаются контрольным признаком.
Контрольный признак получается следующим образом. Код операнда разбивается на группы определенной разрядности в соответствии с )5 представлением информации в СОК в виде на- . бора остатков по выбранной совокупности оснований. Код группы, рассматриваемый как некоторое число cL, умножается на соответствующий "вес" С„. От суммы полученных 2О произведений вычисляется остаток по контрольному модулю в соответствии с выражением и
1 (А)= », d,c,. Ð, ()
1" 1 25 где n — число оснований в СОК, обеспечивающих рабочий диапазон;
p — контрольный модуль, знак (Х Рк обозначает вычисление остатка величины Х Во модулю Рк. зо
В качестве весовых коэффициентов C< берутся числа, выбираемые из приведенного ниже выражения (3), либо величины соответствующих рабочих оснований Р;
Величина контрольного модуля выбирается
35 из следующих условий. Для условия однозначного соответствия между величиной ошибки представления и контрольным признаком операнда (1) необходимо, чтобы величина модуля превышала число всевозможных сбоев, обнару4О жение и исправление которых возможно для данного способа, т.е. п
Р =С 2"1
1=1 где ʄ— разрядность 1 -ой группы.
Для обеспечения однозначности необходимо соблюдать условие неравенства между собой контрольных признаков при возникновении сбоев в любой из групп, т.е. (g,. c,.)Р„ (цc, „, i ) где 3) 8 ) — величина ошибок в 1 -ой (j -той) группах, или в общем виде и
A A ;Р,-а„.С,.)>g4C, Щ
1=4 =1 и. где знак Л „озйачает вычисление конъюкции
1--1 величин
Выражение (3) малоудобно, ввиду сложности решения неравенств в булевой алгебре, поэтому для практических расчетов можно исполь. зовать выражение ц,с„-g> с р > i (а) где с(— любое иэ натурального ряда чисел.
К величинам "веса" и контрольного модуля могут быть предъявлены следующие требования.
При равных значениях ошибок по разным основаниям, т.е. приЯ,=tAI„=ö, выражение (2) и преобразуется к виду. (q(c„.-сд)) РКФО, т.е. контрольный модуль Рк должен быть величиной взаимно простой с разностями выбранных "весов", так как в противном случае возможно невыполнение условия (2), либо величина контрольного модуля должна удовлетворять условию
Величина 0(C 03 ) меньше произведения двух наибольших оснований, в то время как в СОК для целей контроля необходимо обеспечить выбор контрольного основания в соответствии с выражением (4) где Рп и Рп 1 — максимальные из рабочих оснований.
Следовательно, способ "взвешенных групп" потенциально требует меньших контрольных оснований, чем известные, и позволяет использовать параллельный способ формирования и обработки соответствующих констант, что приводит к возможности получения высокой скорости выполнения операции контроля.
При выполнении арифметических операций каждый операнд сопровождается контрольным признаком, вычисленным в соответствии с.выражением (1), т.е., если А и В операнды некоторой арифметической операции, то
"n и
r(A)= D С. с,,1Р, r
1 1= ""3 к
1"-1
При выполнении операции над кодами этих чисел из контрольных признаков чисел формируется величина .„() = Р-(). (6 где — знак выполнения соответствующей операции.
При сложении и вычитании по рабочим основаниям получают
d = (g + + Д к.
881745 и при d. + ф Ро происходит потеря необходимой для йравильного вычисления контрольного признака результата операции, т.е. потеря величины
1О
15 го и кодом соответствующего остатка. Третий блок памяти 14 по коду разности по контрольному модулю между контрольным признаком результата операции. и его ожидаемой величиной выдает код коррекции результата операкзо ции, первый и третий сумматоры 12 и 7 для сложения 11 чисел обеспечивают суммирование по контрольному модулю кодов всех г1 групп обрабатываемого числа. Блок умножения
9 обеспечивает перемножение по контрольному модулю соответствующих кодов групп первоЗ5 го модифицированного и второго операндов.
Второй сумматор 13 обеспечивает последовательное сложение чисел, подаваемых на его входы, и хранение полученных сумм, Блок управлеь ния 17 в соответствии с кодом операции фор40 мирует на выходах управляющие сигналы, обеспечивающие выполнение операции и коррекцию ее результата.
Устройство работает следующим образом.
Операнды хранятся на регистрах операндов
1 и 2, а их контрольные признаки HR регистрах 2 и 4. При выполнении операции второй операнд непосредственно, а первый операнд через группу элементов И 15 при наличии на ее управляющем входе разрешаюш(его сигнала
50 и
1",(Г)= (; Р (S) где знак х) — целая часть величины Х.
Следовательно
"о(D)=("1()+ " Ф) 1 к, ()
При выполнении операции умножения формируется величина
4 5 (: "а = ("3 ЗZ Ъ 3) =
)4 1 д и и
=Б !А3с (Р Я с -Р.)=Ш. Р Р I,«1 =1 и и
i d< С,(Р Р;С,,-y,).
Откуда
Е 1 С = A>S- -„,C,; (W P;(С-Р ) „ .1«„ ! или по контрольному основанию в СОК
Р ()) x)))=(Z Z> P,.Р}Р =(Р Р гt))1P,IP ()).С) Р„-Р }Рц}Р }Р =((la) ()))P
1 г) — 5I)((I.(S)-ф Р р Р = 1"1(11) ) Р) )к ()
=1 где
1.„(Вф(h) r (8))P >
r o))=(p„-(. с;(v(s)-Р,1Р„ Р Р„(в)
3=1
Следовательно, вычисление контрольных признаков результатов операций по контрольным признакам операндов заключается в вычислении результата операции над контроль,ными признаками 1„(g), в вычислении в соответствии с формулами (5) или (8) поправок контрольных признаков результатов операции r)1 (г)), а также в вычислении ожиДаемых контРольных пРизнаков 1"с) (т)) Результатов операции в соответствии с формулами (6) или (7).
При произведении вычисления контрольного признака результата операции в соответствии с формулой (1), 5 . ) к
3=1 и. затем сравнении величины ).(р) и ))(1")), величина их разности несет информацию о величине и месте ошибки, что позволяет легко ее скорректировать. Регистры операндов
1 и 3 и регистры контрольных кодов операндов 2 и 4 предназначены для хранения операндов арифметического устройства и их контрольных кодов. Группы элементов И 5, 10, 11 и 15 обеспечивают передачу информации при наличии на их управляющих входах разрешающих сигналов. Блок модульных сумматоров 16 в зависимости от кода операции на управляющим входе реализует соответствующую арифметическую операцию над кодами операндов, их контрольными кодами и формирует поправку ожидаемого признака результата операции (при выполнении операций
"Сложение" и "Вычитание" ) .
Второй блок памяти 6 по кодам групп результата операции выдает остатки по контрольному модулю произведений кодов групп на соответствующие коды весовых коэффициентов групп. Первый блок памяти 8 выдает модифицированный код первого операнда, остатки которого по каждому рабочему основанию равны разности по контрольному модулю между контрольным кодом первого операнда поступает в блок 16, в котором в зависимости от кода операции выполняется требуемая операция по всем основаниям СОК, включая контрольные. В результате этого на информационных выходах блока 16 формируются наборы остатков, поправки по контрольному модулю ожидаемых контрольных признаков результатов операции "Сложение" или "Вычитание" и результаты соответствующих операций в СОК.
881745 10 при вычитании и,1 (?))В=,Е
)= ) с
В первом блоке памяти 8 осуществляется формирование величины 1З -I )-(Â) - р 1зк которая поступает на первые входы блока умножения 9. На вторые входы блока умножения 9 поступает первый операнд. При этом в блоке умножения 9 формируются величины
cL ° (Ъ с ° . Набор остатков поправки ожи4 5 даемого признака результата операции при выполнении операции "Сложение" или "Вычитание" через группу (третью) элементов И 11 при наличии на ее управляющем входе разрешающего сигнала или при выполнении операции умножения через вторую группу элементов И 10 при наличии на ее управляющем входе разрешающего сигнала поступают в первый сумматор 12 для слоежния чисел, где формируются поправки ожидаемого признака результата операции
Х ° 4. l3°. лри сложении Г ))))с- е, 1c р
К и при умножении 1 (13) = 2)о - ° ф ° С Ð1.
Во второй сумматор 13 заносится результат выполнения операции по контрольному модулю Р< с контрольных выходов блока модульных сумматоров 16, который складывается с поправкой ожидаемого признака результата операции, образуя ожидаемый контрольный признак результата операции
rz (D) (r ID)r ло) р) ри, Результат операции с информационных выходов болока 16 через четвертую группу элементов И 5 при наличии на ее управляющем входе разрешающего сигнала записывается в . регистр первого операнда 3 и поступает во второй блок памяти 6, где осуществляется формирование величин (cL J C > 3 9), которые в -третьем сумматоре 7 для сложения чисел складываются, образуя контрольный признак результата операции. Контрольный признак результата операции заносится в регистр контрольного первого операнда 4 и поступает на вход второго сумматора 13, где вычитается из ожидаемого контрольного признака результата операции. По величине их разности j= )" 0(D 1-)(g)) p< третьем блоке памяти 14 формируется код коррекции, который поступает на вторые входы блока 16.
На первые входы блока 16 с регистра первого операнда 3 поступает результат операции, который, будучи сложенным с кодом коррекции, дает верный результат операции.
t5
Зо
Верный результат операции с информационных выходов блока 16 через четвертую группу элементов И 5 при налипги на ее управляющем входе разрешающего сигнала переписывается на регистр первого операнда, где хранится до конца операции. Контрольный признак исправленного результата операции, получаемый с помощью второго блока памяти
6 и третьего сумматора 7 для сложения чисел, заносится в регистр контрольного кода второго операнда 4.
Блок управления 17 функционирует следующим образом.
По входам кодов операции из устройства управления ЭВМ поступает сигнал, соответствующий коду операции, выполняемой в данном арифметическом устройстве. При любом коде операции на выходе элемента ИЛИ
18 формируется сигнал, который поступает на вход многоотводного узла задержки 27 и на первый выход блока управления. Сигнал с первого отвода узла задержки 27 разрешает передачу через элементы И 22 — 24 на выход блока управления кода выполняемой операции. Сигнал со второго отвода узла задержки 27 через элемент ИЛИ 21 поступает на четвертый выход блока управления через. элемент И 25 (при выполнении операции умножения) на второй выход блока управления, а через элемент И 26, при наличии на его управляющем входе сигнала с выхода элемента ИЛИ 19 (при выполнении операций сложения или вычитания), на третий выход блока управления. Сигнал с третьего отвода узла задержки 27 в качестве кода операми, выполняемой в арифметическом устройстве через элемент ИЛИ 20, поступает в качестве задержанного кода операции сложения на пятый выход блока управления.
Сигнал с четвертого отвода узла задержки
27 через элемент ИЛИ 21 поступает на четвертый выход блока управления 17.
При использовании в качестве рабочих оснований величин 2, 5, 13, 17, 19, 29, 31, 47 . и равных им "весов" групп 2, 5, 13, 17, 19, 29, 31, 47 в соответствии с формулой (4), в качестве возможного контрольного модуля может быть взята величина Р к- 1403
= 23 х 61, т.е. может быть использовано составное основание. При этом вероятность обнаружения ошибки любой кратности составляет 0,99923 по сравнению с 0,67 у известного устройства. Устройство обеспечивает обнаружение и коррекцию ошибок любой кратности в каждой из групп.
Таким образом, введение в состав устройства дополнительных блоков с соответствующими связями позволяет существенно повысить надежность работы устройства.
Формула изобретения
881745
1. Арифметическое устройство в системе остаточных классов, содержащее регистры первого и второго операндов и регистры конт5 рольных кодов операндов, входы которых являются информационными входами устройства, блок модульных сумматоров, первая группа информационных Йходов которого соединена с выходами регистра первого операнда и регистра контрольного кода первого операнда, три группы элементов И, блок управления, о т л и ч а ю щ е е с я тем, что, с целью повышения надежности, оно содержит три блока памяти, четвертую группу элементов И, три сумматора, блок умножения, причем выходы регистра второго операнда и регистра контрольного кода второго операнда соединены с адресными входами первого блока памяти и с первыми входами. элементов И пер20 вой группы, вторые входы которых соединены между собой и с первым выходом блока управления, выходы элементов И первой группы соединены со второй группой информационных входов блока модульных суммато25 ров, первая группа входов блока умножения соединена с информационными выходами первого блока памяти, вторая группа входов блока умножения соединена с выходами регистра первого операнда и регистра контрольного кода первого операнда, выходы блока умножения соединены с первыми входами элементов И второй группы, вторые входы которых соединены между собой и со вторым выходом блока управления, выходы элементов И второй группы и выходы элементов И зз. третьей группы соединены со входами перво- го сумматора, выходы которого, и выходы блока модульных сумматоров и третьего сумматора соединены с соответствующими входами второго сумматора и с первыми 40 входами соответствующих элементов И третьей группы, с выходами третьего сумматора и с соответствующими входами регистра первого операнда и регистра контрольного кода первого операнда, первые, входы элементов
И третьей группы соединены с соответствующими выходами блока модульных сумматоров, вторые входы объединены и подключены к третьему выходу блока управления, выходы элементов И четвертой группы соединены с соответствующими входами регистра первого операнда и регистра контрольного кода первого операнда, а также с адресными входами второго блока, памяти, информационные выходы которого соединены с соответствующими входами третьего сумматора, выходы вто12 рого сумматора соединены с адресными входами третьего блока памяти, информационные выходы которого соединены со второй группой входов блока модульных сумматоров, вторые входы элементов И четвертой группы объединены и подключены к четвертому выходу блока управления, выходы регистра первого операнда и регистра контрольного кода первого операнда являются выходом устройства, пятый, шестой и седьмой выходы блока управления соединены с соответствующими управляющими входами блока модульных сумматоров, первый, второй и третий входы блока управления являются соответственно входами *Умножение", "Вычитание" и "Сложение" устройства.
2. Устройство по п. 1, о т л и ч а ющ е е с я тем, что блок управления содержит пять элементов И, четыре элемента ИЛИ, узел задержки, вход которого соединен с выходом первого элемента ИЛИ, первый вход которого является первым входом блока и соединен спервымивходами первого и четвертого элементов И, первый вход второго элемента HJIH соединен с первым входом второго элемента И и является вторым входом блока, второй вход второго элемента ИЛИ соединен с первым входом третьего элемента
И и третьим входом первого элемента ИЛИ и является третьим входом блока, вторые входы первого, второго и третьего элементов
И объединены и подключены к первому выходу узла задержки, выходы первого, второго элементов И и третьего элемента ИЛИ являются соответственно пятым, шестым и седьмым выходами блока, выхоД третьего элемента И соединен с первым входом третьего элемента ИЛИ, первый вход элемента И соединен с выходом второго элемента ИЛЦ, вторые входы четвертого и пятого элементов
И соединены с первым входом четвертого элемента ИЛИ и со вторым выходом узла задержки, вторые входы третьего и четвертого элементов ИЛИ соединены соответственно с третьим и четвертым выходами узла задержки, выходы первого элемента ИЛИ, четвертого и пятого элементов И, четвертого элемента ИЛИ являются соответственно первым, вторым, третьим и четвертым выходами блока.
Источники информации, принятые во внимание при экспертизе
1. Авторское свидетельство СССР N 358697, кл. G 06 F 7/50, 1970.
2. Авторское свидетельство СССР Р 318947, кл. 6 06 F 7/38, 1970 (прототип).