НЕЙРОННАЯ СЕТЬ ДЛЯ ОБНАРУЖЕНИЯ ОШИБОК В СИММЕТРИЧНОЙ СИСТЕМЕ ОСТАТОЧНЫХ КЛАССОВ
NEURON NETWORK FOR DETECTION OF ERRORS IN SYMMETRICAL SYSTEM OF RESIDUAL CLASSES

Изобретение относится к области вычислительной техники и может быть использовано для построения нейрокомпьютеров, функционирующих в симметричной системе остаточных классов (СОК).
Известно устройство для обнаружения ошибок в информации, представленной в СОК (патент №2022471, RU 5H03 М 13/00), которое содержит блок преобразования системы остаточных классов в обобщенную позиционную систему счисления (СОК-ОПСС), блоки вычисления индекса числа, блок вычисления дополнительного кода индекса, сумматор, блок вычисления антииндекса суммы, блок сравнения, блок умножения на константу, счетчик. Недостатком устройства является сложность аппаратной реализации и низкое быстродействие.
Наиболее близким к данному изобретению является адаптивная параллельно-конвейерная нейронная сеть для коррекции ошибок (патент RU.2279131, G06N 3/04), которая содержит блок нейронной сети конечного кольца (НСКК) формирования цифр в представлении обобщенной позиционной системы счисления, блок обнаружения ошибок, блок исправления ошибок и блок реконфигурации и локализации ошибок.
Однако это устройство имеет большой объем оборудования и не может функционировать в симметричной СОК, которое оперирует как с положительными числами, так и с отрицательными, представленными в СОК.
Цель изобретения - уменьшить объем оборудования. Поставленная цель достигается тем, что в устройство введен блок сдвига положительных и отрицательных областей динамического диапазона, который смещает область запрещенного полного диапазона, в котором находятся разрешенные отрицательные числа в СОК в первую половину разрешенной области рабочего диапазона, а разрешенные положительные числа СОК смещает во вторую половину разрешенной области. Предложенный сдвиг обеспечивает размещение положительных и отрицательных чисел симметричной СОК в рабочем диапазоне избыточной СОК, что позволит правильно определить наличие ошибок как в положительных, так и в отрицательных числах, представленных в СОК.
i
На фигуре 1 представлена схема нейронной сети для обнаружения ошибки в симметричной системе остаточных классов, которая содержит входной слой нейронов 1 с нейронами 7, 8, выходы которых соединены с блоком сдвига полярности 2, включающий НСКК 9 по модулю p, где i=1,2,…, k+r, выходы которых соединены с блоком НСКК 19 формирования старшего коэффициента ОПСС 3, выходы которой соединены с блоком определения ошибки 4, состоящий из ключей 14 и 15, выходы которых являются выходами нейронных сетей для обнаружения ошибки в симметричной системе вычетов.
Входной слой нейронов 1 с нейронами 7 и 8 выполняет роль входного регистра, на вход которого поступают значения разрядов (остатков) контролируемого числа шины 5 и разрядов констант сдвига шины 6. С выходов нейронов входного слоя 1 данные поступают на входы НСКК 9 по модулю, где i=1,2,…, k+r.
i
Результат модулярного суммирования разрядов контролируемого числа и разрядов констант сдвига по шинам 10, 11, 12, 13 поступает на вход нейронной сети определения старшего коэффициента ОПСС 19, состоящей из НСКК (патент RU 2256213) по модулю p, где i=1,2,…, k+r. Значение коэффициента старшего разряда ОПСС по шине 18 поступает на информационные входы ключей 14 и 15, на управляющие входы которых поступают сигналы управления по шинам 16 и 17, соответственно, „нет ошибки" и „есть ошибка". Рассмотрим свойства избыточности СОК и принцип определения ошибок, возникающих в кодах СОК.
1
2
k
k+n
1
2,
k
k+1
k+r
1
2
k
k+1
k+r
Избыточные СОК обладают свойствами, которые можно использовать для контроля ошибок и устранения отказов цифровых процессоров. Избыточная СОК имеет k - рабочих и r - контрольных оснований. Для обеспечения единственности представления каждого основания системы СОК все основания p, р,…,р,…, р должны быть взаимно-простыми. Рабочие основания р, р…,р представляют собой неизбыточные основания, а контрольные r основания p…, ризбыточные. В избыточной СОК число представляется k+r остаточными цифрами α,α,…, α, α,…, α. В симметричной СОК для кодирования отрицательных чисел используется дополнительный код, при этом
где
l
2
k
k+1
k+r
Остаточные цифры α, α,…, α являются неизбыточными цифрами, а α,…, α - избыточными. Полный диапазон избыточной СОК обозначен [О,R], где , охватывает полное множество состояний, представленных всеми k+r остаточными цифрами. Весь диапазон разбивается на смежные области, определяемые неизбыточными и избыточными основаниями. Область [О, Р] называется рабочим диапазоном, а область [О, R] представляет собой полный диапазон.
Для получения избыточности операнды и результаты арифметических операций, выполняемых в СОК, должны браться в таком масштабе, чтобы они всегда попадали в рабочий диапазон. Это ограничение задает дополнительный диапазон системы (область вычислений) в виде [-(Р-1)/2, (Р-1)/2] при нечетных Р и [-Р/2, Р/2] при четных Р. Заметим, что при кодировании дополнительным кодом, отрицательная часть динамического диапазона находится у верхнего предела полного диапазона. Положительные числа из дополнительного диапазона отображаются на области [О,(Р+1)/2] при нечетных Р и на области [О,Р/2] при четных Р. Отображение динамического диапазона на соответствующие области показано на фигуре 2.
Как видно из чертежа, динамический диапазон, состоящий из положительной и отрицательной частей разбивается на области, расположенные в рабочем и полном диапазоне. Это обстоятельство затрудняет обнаружение и исправление ошибок, так как ошибки обнаруживаются тем, что число попадает в недопустимую область полного диапазона. Вследствие того, что отрицательные числа появляются в верхней части недопустимой области полного диапазона, результатом операции обнаружения ошибок, реализуемых условием А>Р, будет отнесение всех отрицательных чисел к ошибочным, что не соответствует действительности в силу разнесения динамического диапазона.
Для преодоления этой трудности необходимо провести сдвиг отрицательной области путем вращения остаточного кольца в положение, указанное на фигуре 3, в результате чего динамический диапазон будет однозначно отображаться на области рабочего диапазона.
Показанное на фигуре 3 вращение называется сдвигом полярности и его можно осуществить путем прибавления перед выполнением операции обнаружения ошибок константу  при нечетных Р и к каждому А∈[0,Р]. Необходимо отметить, что для неизбыточной СОК имеет место взаимооднозначное соответствие между целыми числами в динамическом диапазоне и состояние допустимой области рабочего диапазона.
i
Если C то сдвиг полярности в пределах СОК оказывается
ic
простым суммированием остатков по формуле  в которой α обозначает остаточные цифры после сдвига полярности.
i
i
i
ic
Нейронная сеть для обнаружения ошибок в симметричной системе остаточных классов работает следующим образом. В первом цикле синхронизации контролируемое число в СОК и константы C, где i=1, 2,…, k+r поступают на входы 5, 6 нейронов 7,8. Во втором цикле синхронизации с выходов нейронов 7,8 разряды контролируемого числа и констант поступают на вход НСКК p 9 блока сдвига 2. НСКК р 9 реализуют вычислительную модель  в которой α обозначает остаточные цифры симметричной СОК после сдвига полярности.
ic
В третьем цикле синхронизации α по шинам 10, 11, 12 и 13 поступают на входы нейронной сети определения старшего коэффициента ОПСС 19 блока 3.
n
В четвертом цикле синхронизации значения старшего разряда ОПСС α по шине 18 поступает на информационные входы ключей 14 и 15, на управляющие входы которых поступают управляющие сигналы по шинам 16 и 17 и там, где на входы ключей поступают одновременно два сигнала формируется либо сигнал „нет ошибки", либо сигнал „есть ошибка".
Таким образом, определение ошибки в симметричной СОК осуществляется за четыре цикла синхронизации.