Арифметическое устройство в системе остаточных классов

Иллюстрации

Показать все

Реферат

 

ОП ИСАНИЕ

ИЗО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 с т

) 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. + ф Ро происходит потеря необходимой для йравильного вычисления контрольного признака результата операции, т.е. потеря величины

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 (прототип).