RU2653257C1 - Устройство обнаружения и коррекции ошибки модулярного кода - Google Patents

Устройство обнаружения и коррекции ошибки модулярного кода Download PDF

Info

Publication number
RU2653257C1
RU2653257C1 RU2017126350A RU2017126350A RU2653257C1 RU 2653257 C1 RU2653257 C1 RU 2653257C1 RU 2017126350 A RU2017126350 A RU 2017126350A RU 2017126350 A RU2017126350 A RU 2017126350A RU 2653257 C1 RU2653257 C1 RU 2653257C1
Authority
RU
Russia
Prior art keywords
inputs
outputs
elements
output
projection
Prior art date
Application number
RU2017126350A
Other languages
English (en)
Inventor
Николай Иванович Червяков
Виктор Андреевич Кучуков
Михаил Григорьевич Бабенко
Наталья Николаевна Кучукова
Original Assignee
федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" filed Critical федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет"
Priority to RU2017126350A priority Critical patent/RU2653257C1/ru
Application granted granted Critical
Publication of RU2653257C1 publication Critical patent/RU2653257C1/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/729Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic using representation by a residue number system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

Изобретение относится к вычислительной технике и предназначено для обнаружения и коррекции ошибки, возникающей в модулярном коде при вычислении и передаче данных. Техническим результатом является обеспечение возможности коррекции ошибки модулярных чисел. Устройство содержит n+2 входа остатка αi (где i=1, …, n+2), n+2 регистров хранения остатка αi, 2 регистра хранения остатков mn+1 и mn+2, блок формирования проекций, n+2 блока храпения произведений kiαi, 2 блока хранения произведений kn+1mn+1 и kn+2mn+2, сумматор произведений kiαi, сумматор произведений kn+1mn+1 и kn+2mn+2, блок управления, n+2 регистра хранения скорректированного остатка αi, n+2 выхода скорректированного остатка αi. 3 ил., 1 табл.

Description

Изобретение относится к вычислительной технике и предназначено для обнаружения и коррекции ошибки, возникающей в модулярном коде при вычислении и передаче данных.
В качестве основы для представления модулярных чисел выступает система остаточных классов (СОК), в которой целое число представляется в виде остатков от деления на набор модулей, а арифметические операции над числами заменяются на операциями над остатками. Выполнение операций происходит параллельно без межразрядных переносов, что позволяет эффективно реализовать сложение, вычитание и умножение. Независимость выполнения действий над каждым модулем обеспечивает внутренние корректирующие способности модулярного кода, поскольку каждый остаток содержит информацию о всем числе.
Известна нейронная сеть для обнаружения, локализации и исправления ошибок в системе остаточных классов (Патент РФ №2301442, опубл. 20.06.2007), которая содержит входной слой, нейронные сети конечного кольца для определения синдрома ошибок, блок памяти для хранения констант, нейронные сети для вычисления правильного результата и элемент ИЛИ для определения наличия ошибки.
Недостатком данного устройства является низкое быстродействие, большие аппаратные затраты и жесткие условия, накладываемые на абсолютную надежность каналов по избыточным модулям.
Известна адаптивная параллельно-конвейерная нейронная сеть для коррекции ошибок (Патент РФ №2279131, опубл. 27.06.2006), которая содержит блок обнаружения ошибок, блок реконфигурации и локализации ошибок, блок исправления ошибок, блок нейронной сети конечного кольца формирования цифр в представлении обобщенной позиционной системы.
Недостатками данного устройства являются сложность, которая объясняется наличием большого количества нейронных сетей конечного кольца и низкое быстродействие, которое пропорционально количеству модулей системы остаточных классов.
Наиболее близким к предлагаемому устройству, выбранным в качестве прототипа, является устройство для обнаружения переполнения динамического диапазона, определения ошибки и локализации неисправности вычислительного канала в ЭВМ, функционирующих в системе остаточных классов (Патент РФ №2483346, опубл. 27.05.2013). Устройство содержит входной регистр, содержащий n+r разрядных регистров для временного хранения контролируемого числа А, представленного по модулям p1, р2, …, pn+r, схему формирования проекций Ai числа А по основаниям pi [i=[1,n+r]), (число Ai, полученное из А зачеркиванием цифры α1 называется проекцией числа по основанию pi); блоки памяти, содержащие n+r элементов памяти для хранения констант по модулям pi; сумматор для суммирования произведения разрядных констант и соответствующих цифр разрядов числа; блок анализа на равенство, больше или меньше рабочего диапазона; триггер для запуска и остановки счетчика проекций; блок логических элементов «И», содержащий n+r элементов «И» для локализации неисправного канала pi; входные шины для подачи контролируемого числа А, схему формирования проекций константы, соответствующей рабочему диапазону; блок хранения констант рабочего диапазона, состоящий из n+r элементов; сумматор; шину, сигнализирующую о неисправности pi канала; шину сигнала «ошибка не установлена» и шину для подключения разрядов константы, соответствующей рабочему диапазону; шину «переполнение диапазона и ошибка», сигнализирующую о переполнении рабочего диапазона и появлении ошибки.
Недостатком данного изобретения является ограниченные функциональные возможности, связанные с невозможностью получения скорректированного числа.
Техническим результатом является расширение функциональных возможностей, а именно возможность не только обнаружения, но и коррекции ошибки модулярных чисел.
Данный технический результат достигается тем, что в устройство обнаружения и коррекции ошибки модулярного кода, содержащее n+2 входа остатка αi, где i=1, …, n+2, n+2 регистра хранения остатка αi, блок формирования проекций, n+2 блока хранения произведений kiαi, 2 блока хранения произведений kn+1mn+1 и kn+2mn+2 соответственно, сумматор произведений kiαi, сумматор произведений kn+1mn+1 и kn+2mn+2, счетчик, блок сравнения, n+2 элемента И локализации ошибки по модулю pi, причем каждый из входов остатка αi подключен ко входу соответствующего регистра хранения остатка αi, выходы которых подключены ко входам блока формирования проекций, первые выходы которого подключены к первым входам соответствующих блоков хранения произведений kiαi и блоков хранения произведений k n+1mn+1 и kn+2mn+2, выходы блоков хранения произведений kiαi подключены к входам сумматора произведений kiαi, выходы блоков хранения произведений kn+1mn+1 и kn+2mn+2 соединены со входами сумматора произведений kn+1mn+1 и kn+2mn+2, выход сумматора произведений kiαi подключен к первому входу блока сравнения, выход сумматора произведений kn+1mn+1 и kn+2mn+2 подключен ко второму входу блока сравнения, выход которого соединен со входами соответствующих элементов И локализации ошибки по модулю pi, введены 2 регистра хранения остатков mn+1 и mn+2, блок управления, n+2 регистра хранения скорректированного остатка αi, n+2 выхода скорректированного остатка αi, в блок формирования проекций, содержащий счетчик, добавлено n+2 элемента И формирования проекции αi, 2 элемента И формирования проекций mn+1 и mn+2, в блок управления, содержащий блок сравнения и n+2 элемента И локализации ошибки по модулю pi, добавлены n+3 - битный циклический регистр сдвига, n+2 модулярных умножителя на Pi по модулю pi, n+2 мультиплексора выбора корректного остатка αi, причем выходы регистров хранения остатка αi подключены ко входам блока управления, выходы регистров хранения остатков mn+1 и mn+2 подключены ко входам блока формирования проекций, вторые выходы которого подключены ко вторым входам соответствующих блоков хранения произведений kiαi и блоков хранения произведений kn+1mn+1 и kn+2mn+2, выходы сумматора произведений kiαi и сумматора произведений kn+1mn+1 и kn+2mn+2 подключены ко входам блока управления, управляющий выход которого соединен с управляющим входом блока формирования проекций, выходы блока управления подключены к входам соответствующих регистров хранения скорректированного остатка αi, выходы которых соединены с соответствующими выходами скорректированного остатка αi, при этом старший, n+3-й бит управляющего входа блока формирования проекций соединен со входом счетчика, младший, 1-й бит подключен ко вторым входам элементов И формирования проекции αn+2 и mn+2, 2-й бит подключен ко вторым входам элементов И формирования проекции αn+1 и mn+1, оставшиеся n бит управляющего входа подключены соответственно ко вторым входам элементов И формирования проекции αn, …, α1, к первым входам элементов И формирования проекции αi подключены входы блока формирования проекций, соединенные с регистрами хранения остатка αi, к первым входам элементов И формирования проекции mn+1 и mn+2 подключены входы блока формирования проекций, соединенные с регистрами хранения остатков mn+1 и mn+2, выходы элементов И формирования проекции αi и элементов И формирования проекций mn+1 и mn+2 подключены к соответствующим первым выходам блока формирования проекций, вторые выходы которого соединены с выходом счетчика; в блоке управления первый вход блока сравнения, подключенный к выходу сумматора произведений kiαi, соединен со входами модулярных умножителей на Pi по модулю pi, выход блока сравнения подключен ко входу n+3-битного циклического регистра сдвига, выход которого подключен к управляющему выходу блока управления, а также по битам, начиная с младшего, одновременно к входам элементов И локализации ошибки по модулю pi и управляющим входам мультиплексоров выбора корректного остатка αi соответственно; выходы регистров хранения остатка αi, соединенные со входами блока управления, подключены к входам соответствующих элементов И локализации ошибки по модулю pi, выходы которых подключены ко вторым входам соответствующих мультиплексоров выбора корректного остатка αi, первые входы которых подключены к выходам соответствующих модулярных умножителей на Pi по модулю pi, а выходы подключены к выходам блока управления и соединены с входами соответствующих регистров хранения скорректированного остатка αi.
Сущность изобретения основана на следующем математическом аппарате. В системе остаточных классов любое число А<М однозначно представляется набором остатков αi от деления А на взаимно простые модули СОК pi, где αi = A mod pi,
Figure 00000001
- рабочий диапазон, i=[1,n]. Для обнаружения и исправления ошибки в СОК добавляют два избыточных модуля pn+1 и pn+2 и тогда диапазон избыточной системы остаточных классов составит
Figure 00000002
Разрешенным считается число А=(α1, α2, …, αn, αn+1n+2), если А∈[0,М], в случае же А∈(М,Р] можно сказать, что число содержит ошибку. При этом М представляется в избыточной СОК и очевидно, что М=(0, …, 0, mn+1,mn+2), где mn+1=Mmodpn+1, mn+2=Mmodpn+2.
Для эффективной аппаратной реализации берут относительное приближенное значение
Figure 00000003
,
где
Figure 00000004
- константа выбранной СОК,
Figure 00000005
- мультипликативная инверсия. В данном случае для определения ошибки используется сравнение относительной величины
Figure 00000006
с константой
Figure 00000007
.
В для обнаружения и исправления ошибок применяется метод проекций, который заключается в следующем. Предполагают, что ошибка допущена по первому модулю p1 и повторяют вычисления без участия этого модуля, т.е. берут в качестве избыточного диапазона
Figure 00000008
, для нового диапазона вычисляют новые константы ki, и в конечном счете сравнивают
Figure 00000009
с константой
Figure 00000010
. В случае, если
Figure 00000011
, то считают, что ошибка произошла по модулю pi и для нахождения точного значения остатка А по модулю р1 умножают
Figure 00000012
на Р1 и находят остаток по модулю р1. В случае
Figure 00000013
можно сказать, что ошибка еще присутствует и для ее обнаружения и исправления вместо pi исключают р2 и проводят аналогичную проверку. Такие проекции строятся по всем модулям p1, …, pn+2.
Значения констант k1 берут с точностью N, необходимой для корректных вычислений.
Данное устройство обнаружения и коррекции ошибки модулярного кода поясняется фигурами 1-3. На фигуре 1 представлен общий вид устройства, которое содержит входы 1.i остатка αi, где i=1, …, n+2, регистры 2.i хранения остатка αi, регистры 3.1 и 3.2 хранения остатков mn+1 и mn+2 соответственно, блок формирования проекций 4, блоки 5.i хранения произведений kiαi, блоки 6.1 и 6.2 хранения произведений kn+1mn+1 и kn+2mn+2 соответственно, сумматор 7 произведений kiαi, сумматор 8 произведений kn+1mn+1 и kn+2mn+2, блок управления 9, регистры 10.i храпения скорректированного остатка αi, выходы 11.i скорректированного остатка αi.
На фиг. 2 показано устройство блока формирования проекций 4, состоящего из элементов И 12.i формирования проекций αi, элементов И 13.1 и 13.2 формирования проекций mn+1 и mn+2 соответственно и счетчика 14.
На фиг. 3 представлен блок управления 9, который состоит из блока сравнения 15, n+3-битного циклического регистра сдвига 16, модулярных умножителей 17.i на Pi по модулю pi, элементов И 18.i локализации ошибки по модулю pi, мультиплексоров 19.i выбора корректного остатка αi.
Поясним работу устройства примерами. Пусть задана система остаточных классов с модулями р1=2, p2=3, р3=5, р4=7, р5=11, р6=13, р7=17, следовательно n=5. Значение рабочего диапазона М=2310. В качестве сомножителей в модулярных умножителях 17.i на Pi по модулю pi используются следующие значения: Р1=255255, Р2=170170, Р3=102102, Р4=72930, Р5=46410, Р6=39270, Р7=30030.
В блок 5.1 хранения произведения k1α1 записывают все произведения k1⋅α1 при α1=[0,p1)=[0,1] и ki, выбираемом из Таблицы 1 в зависимости от адреса со счетчика 14. Так, например, на вход блока 5.1 хранения произведения k1α1 подается значение α1=1 и адрес 0, тогда k1=0.5 и на выход блока 5.1 хранения произведения k1α1 будет подано значение 0.5.
Аналогично в блоке 5.2 хранения произведения k2α2 записаны все произведения k2⋅α2 при α2=[0,р2)=[0,2] и k2, выбираемом из Таблицы 1 в зависимости от адреса со счетчика 14. В блоке 5.3 хранения произведения k3α3 записаны все произведения k3⋅α3 при α3=[0,р3)=[0,4] и k3, выбираемом из Таблицы 1 в зависимости от адреса со счетчика 14. В блоке 5.4 хранения произведения k4α4 записаны все произведения k4⋅α4 при α4=[0,p4)=[0,6] и k4, выбираемом из Таблицы 1 в зависимости от адреса со счетчика 14. В блоке 5.5 хранения произведения k5α5 записаны все произведения k5⋅α5 при α5=[0,p5)=[0,10] и k5, выбираемом из Таблицы 1 в зависимости от адреса со счетчика 14. В блоках 5.6 хранения произведения k6α6 и 6.1 хранения произведения k6m6 записаны все произведения k6⋅α6 и k6⋅m6 при α6=[0,р6)=[0,12], m6={0,М mod р6}={0,9} и k6, выбираемом из Таблицы 1 в зависимости от адреса со счетчика 14. В блоках 5.7 хранения произведения k7α7 и 6.2 хранения произведения k7m7 записаны все произведения k7⋅α7 и k7⋅m7 при α7=[0,р7)=[0,16], m7={0,М mod р7}={0,15} и k7, выбираемом из Таблицы 1 в зависимости от адреса со счетчика 14.
Рассмотрим конструкцию и принцип работы n+3-битного циклического регистра сдвига 16. В начале работы он содержит значение "0111 …11". Старший бит, который на первом шаге равен 0 подается на счетчик 14, который подает адрес 0 па блоки 5.1-5.7 и 6.1-6.2 хранения произведений kiαi и k6m6 и k7m7. Остальные биты данного числа подаются на элементы И 12.1-12.7 формирования проекций αi, элементы И 13.1-13.2 формирования проекций m6 и m7, элементы И 18.1-18.7 локализации ошибки по модулю pi. В случае возникновения ошибки с блока сравнения 15 в n+3-битный циклический регистр сдвига 16 поступает сигнал и его значение меняется на "1011 …11". Тогда на счетчик 14 подается старший бит, равный 1 и адрес 1 подается на блоки 5.1-5.7 и 6.1-6.2 хранения произведений kiαi и k6m6 и k7m7. Остальные биты данного числа подаются на элементы И 12.1-12.7 формирования проекций αi, элементы И 13.1-13.2 формирования проекций m6 и m7, элементы И 18.1-18.7 локализации ошибки по модулю pi. При этом n+2-й бит со значением 0 подается на элемент И 12.1 формирования проекций α1 и элемент И 18.1 локализации ошибки по модулю p1 что соответствует вычеркиванию первого основания в методе проекций. Аналогично пулевой бит на каждом шаге сдвигается вправо до достижения значения "1111 …10", при этом нулевой бит во всех случаях в результате логического умножения подает на выход соответствующих элементов нулевое значение, что означает выбор проекции.
Рассмотрим работу устройства на примере значения А=(1,0,1,6,10,12,12)=2001. На входы 1.1-1.7 остатков α1, …, α7 подаются соответственно значения 1,0,1,6,10,12,12, которые затем записываются в регистры 2.1-2.7 хранения остатков α1, …, α7. Значения поступают в блок формирования проекций 4, где проходя через элементы И 12.1-12.7 формирования проекций α1, …, α7 поступают на соответствующие первые входы блоков 5.1-5.7 хранения произведений kiαi, на второй вход которых подается адрес 0. С выходов блоков 5.1-5.7 хранения произведений kiαi значения соответствующих произведений поступают на сумматор 7 произведений kiαi где происходит суммирование по модулю 1 и на выходе сформируется значение, эквивалентное 0.0039196. В это время аналогичные процессы проходят для коэффициентов m6 и m7 и на выходе сумматора 8 произведений k6m6 и k7m7 получится значение 0.0045249. В блоке сравнения 15 данные значения сравниваются и поскольку 0.0039196<0.0045249, то на выходе блока сравнения 16 будет значение 1, которое поступает на входы элементов И 18.1-18.7 локализации ошибки по модулю pi, на вход которых также поступают значения 1,0,1,6,10,12,12 с выходов регистров 2.1-2.7 хранения остатков α1, …, α7. С выхода n+3-битного циклического регистра сдвига 16 на входы элементов И 18.1-18.7 локализации ошибки по модулю pi и на управляющие входы мультиплексоров 19.1-19.7 выбора корректного остатка αi поступают значения 1. Таким образом, мультиплексоры 19.1-19.7 выбора корректного остатка αi подают значения 1,0,1,6,10,12,12 с выходов элементов И 18.1-18.7 локализации ошибки по модулю pi на соответствующие регистры 10.1-10.7 хранения скорректированного остатка αi, откуда значения поступают на выходы 11.1-11.7 скорректированного остатка α1, …, α7. Таким образом на выход устройства подается корректное значение.
Рассмотрим случай, когда по третьему основанию возникла ошибка и на входы 1.1-1.7 остатков α1, …, α7 поступило значение (1,0,4,6,10,12,12)=410409. Работа устройства происходит аналогично и на выходе сумматора 7 произведений kiαi формируется сигнал, эквивалентный 0.8039196. Поскольку 0.8039196>0.0045249, то на выходе блока сравнения 16 будет значение 0, и в результате на выходах 11.1-11.7 скорректированного остатка α1, …, α7 будут значения 0, при этом сигнал 0 с выхода блока сравнения 16 поступает на вход n+3-битного циклического регистра сдвига 16, где происходит сдвиг значения и формирования первой проекции в результате которой выходы элемента И 12.1 формирования проекций α1 и элемента И 18.1 локализации ошибки по модулю p1 будут нулевыми, а значение счетчика изменится на 1, что соответствует адресу 1 Таблицы 1.
Аналогично происходят вычисления сумм и на выходе сумматора 7 произведений kiαi формируется сигнал, эквивалентный 0.6078392, на выходе сумматора 8 произведений k6m6 и k7m7 формируется сигнал, эквивалентный 0.0090497 и поскольку 0.6078392>0.0090497, то на выходе блока сравнения 16 будет значение 0, что соответствует наличию ошибки и в n+3-битном циклическом регистре сдвига 16 происходит сдвиг и формирование второй проекции.
В результате вычислений по второй проекции на выходе сумматора 7 произведений kiαi формируется сигнал, эквивалентный 0.4117588, на выходе сумматора 8 произведений k6m6 и k7m7 формируется сигнал, эквивалентный 0.0135747 и поскольку 0.4117588>0.0135747, то на выходе блока сравнения 16 будет значение 0, что соответствует наличию ошибки и в n+3-битном циклическом регистре сдвига 16 происходит сдвиг и формирование третьей проекции.
В результате вычислений по третьей проекции па выходе сумматора 7 произведений kiαi формируется сигнал, эквивалентный 0.0195980, на выходе сумматора 8 произведений k6m6 и k7m7 формируется сигнал, эквивалентный 0.0226244 и поскольку 0.0195980<0.0226244, то на выходе блока сравнения 16 будет значение 1, что соответствует отсутствию ошибки и следующий сдвиг в n+3-битном циклическом регистре сдвига 16 не происходит. Следовательно ошибка произошла по третьему основанию. Значение 0.0195980 с выхода сумматора 7 произведений kiαi, поступает па модулярный умножитель 17.3 на Р3 по модулю р3, на выходе которого формируется значение 1. Поскольку значение, подаваемое на управляющий вход мультиплексора 19.3 выбора корректного остатка α3, равно нулю, то на выход подается значение 1 с выхода модулярного умножителя 17.3 на Р3 по модулю р3. На остальные управляющие входы мультиплексоров 19.1-19.2, 19.4-19.7 выбора корректного остатка αi подаются значения 1 и на выход подаются значения с соответствующих элементов И 18.1-18.2, 18.4-18.7 локализации ошибки по модулю pi, которые равны полученным αi, которые хранятся в регистрах 2.1-2.7 хранения остатков Таким образом на выходы 11.1-11.7 скорректированного остатка α1, …, α7 поступают значения 1,0,1,6,10,12,12, что соответствует исправленному значению.
Устройство обнаружения и коррекции ошибки модулярного кода
Figure 00000014

Claims (1)

  1. Устройство обнаружения и коррекции ошибки модулярного кода, содержащее n+2 входа остатка αi, где i = 1, …, n+2, n+2 регистра хранения остатка αi, блок формирования проекций, n+2 блока хранения произведений kiαi, 2 блока храпения произведений kn+1mn+1 и kn+2mn+2 соответственно, сумматор произведений kiαi, сумматор произведений kn+1mn+1 и kn+2mn+2, счетчик, блок сравнения, n+2 элемента И локализации ошибки по модулю pi, причем каждый из входов остатка αi подключен ко входу соответствующего регистра хранения остатка αi, выходы которых подключены ко входам блока формирования проекций, первые выходы которого подключены к первым входам соответствующих блоков хранения произведений kiαi и блоков хранения произведений kn+1mn+1 и kn+2mn+2, выходы блоков хранения произведений kiαi подключены к входам сумматора произведений kiαi, выходы блоков хранения произведений kn+1mn+1 и kn+2mn+2 соединены со входами сумматора произведений kn+1mn+1 и kn+2mn+2, выход сумматора произведений kiαi подключен к первому входу блока сравнения, выход сумматора произведений kn+1mn+1 и kn+2mn+2 подключен ко второму входу блока сравнения, выход которого соединен со входами соответствующих элементов И локализации ошибки по модулю pi, отличающееся тем, что в него введены 2 регистра храпения остатков mn+1 и mn+2, блок управления, n+2 регистра хранения скорректированного остатка αi, n+2 выхода скорректированного остатка αi, в блок формирования проекций, содержащий счетчик, добавлено n+2 элемента И формирования проекции αi, 2 элемента И формирования проекций mn+1 и mn+2, в блок управления, содержащий блок сравнения и n+2 элемента И локализации ошибки по модулю pi, добавлены n+3-битный циклический регистр сдвига, n+2 модулярных умножителя на Pi по модулю pi, n+2 мультиплексора выбора корректного остатка αi, причем выходы регистров хранения остатка αi подключены ко входам блока управления, выходы регистров хранения остатков mn+1 и mn+2 подключены ко входам блока формирования проекций, вторые выходы которого подключены ко вторым входам соответствующих блоков хранения произведений kiαi и блоков хранения произведений kn+1mn+1 и kn+2mn+2, выходы сумматора произведений kiαi и сумматора произведений kn+1mn+1 и kn+2mn+2 подключены ко входам блока управления, управляющий выход которого соединен с управляющим входом блока формирования проекций, выходы блока управления подключены к входам соответствующих регистров хранения скорректированного остатка αi, выходы которых соединены с соответствующими выходами скорректированного остатка αi, при этом старший, n+3-й бит управляющего входа блока формирования проекций соединен со входом счетчика, младший, 1-й бит подключен ко вторым входам элементов И формирования проекции αn+2 и mn+2, 2-й бит подключен ко вторым входам элементов И формирования проекции αn+1 и mn+1, оставшиеся n бит управляющего входа подключены соответственно ко вторым входам элементов И формирования проекции αn, … ,α1, к первым входам элементов И формирования проекции αi подключены входы блока формирования проекций, соединенные с регистрами хранения остатка αi, к первым входам элементов И формирования проекции mn+1 и mn+2 подключены входы блока формирования проекций, соединенные с регистрами хранения остатков mn+1 и mn+2, выходы элементов И формирования проекции αi и элементов И формирования проекций mn+1 и mn+2 подключены к соответствующим первым выходам блока формирования проекций, вторые выходы которого соединены с выходом счетчика; в блоке управления первый вход блока сравнения, подключенный к выходу сумматора произведений kiαi, соединен со входами модулярных умножителей на Pi по модулю pi, выход блока сравнения подключен ко входу n+3-битного циклического регистра сдвига, выход которого подключен к управляющему выходу блока управления, а также по битам, начиная с младшего, одновременно к входам элементов И локализации ошибки по модулю pi и управляющим входам мультиплексоров выбора корректного остатка αi соответственно; выходы регистров хранения остатка αi, соединенные со входами блока управления, подключены к входам соответствующих элементов И локализации ошибки по модулю pi, выходы которых подключены ко вторым входам соответствующих мультиплексоров выбора корректного остатка αi, первые входы которых подключены к выходам соответствующих модулярных умножителей на Pi по модулю pi, а выходы подключены к выходам блока управления и соединены с входами соответствующих регистров хранения скорректированного остатка αi.
RU2017126350A 2017-07-21 2017-07-21 Устройство обнаружения и коррекции ошибки модулярного кода RU2653257C1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2017126350A RU2653257C1 (ru) 2017-07-21 2017-07-21 Устройство обнаружения и коррекции ошибки модулярного кода

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2017126350A RU2653257C1 (ru) 2017-07-21 2017-07-21 Устройство обнаружения и коррекции ошибки модулярного кода

Publications (1)

Publication Number Publication Date
RU2653257C1 true RU2653257C1 (ru) 2018-05-07

Family

ID=62105726

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2017126350A RU2653257C1 (ru) 2017-07-21 2017-07-21 Устройство обнаружения и коррекции ошибки модулярного кода

Country Status (1)

Country Link
RU (1) RU2653257C1 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2780148C1 (ru) * 2021-12-27 2022-09-19 федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" Система распределенного хранения данных

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5544691A (en) * 1978-09-27 1980-03-29 Gurigorieuitsuchi Su Gennadeii Device for detecting and correcting error in calculating data indicated by residue class numerical system
SU1295528A1 (ru) * 1985-06-04 1987-03-07 Предприятие П/Я Р-6208 Устройство дл обнаружени ошибок в модул рном коде
JPS6328133A (ja) * 1986-07-22 1988-02-05 Matsushita Electric Ind Co Ltd 符号誤り検出訂正装置
JPS63286026A (ja) * 1987-05-19 1988-11-22 Mitsubishi Electric Corp 誤り訂正方法
RU2022472C1 (ru) * 1991-07-10 1994-10-30 Виктор Васильевич Бережной Устройство для контроля и исправления ошибок в избыточном модуляторном коде
RU2301442C2 (ru) * 2005-05-04 2007-06-20 Николай Иванович Червяков Нейронная сеть для обнаружения, локализации и исправления ошибок в системе остаточных классов
RU2483346C1 (ru) * 2011-11-10 2013-05-27 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Северо-Кавказский федеральный университет" Устройство для обнаружения переполнения динамического диапазона, определения ошибки и локализации неисправности вычислительного канала в эвм, функционирующих в системе остаточных классов

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5544691A (en) * 1978-09-27 1980-03-29 Gurigorieuitsuchi Su Gennadeii Device for detecting and correcting error in calculating data indicated by residue class numerical system
SU1295528A1 (ru) * 1985-06-04 1987-03-07 Предприятие П/Я Р-6208 Устройство дл обнаружени ошибок в модул рном коде
JPS6328133A (ja) * 1986-07-22 1988-02-05 Matsushita Electric Ind Co Ltd 符号誤り検出訂正装置
JPS63286026A (ja) * 1987-05-19 1988-11-22 Mitsubishi Electric Corp 誤り訂正方法
RU2022472C1 (ru) * 1991-07-10 1994-10-30 Виктор Васильевич Бережной Устройство для контроля и исправления ошибок в избыточном модуляторном коде
RU2301442C2 (ru) * 2005-05-04 2007-06-20 Николай Иванович Червяков Нейронная сеть для обнаружения, локализации и исправления ошибок в системе остаточных классов
RU2483346C1 (ru) * 2011-11-10 2013-05-27 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Северо-Кавказский федеральный университет" Устройство для обнаружения переполнения динамического диапазона, определения ошибки и локализации неисправности вычислительного канала в эвм, функционирующих в системе остаточных классов

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2780148C1 (ru) * 2021-12-27 2022-09-19 федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" Система распределенного хранения данных

Similar Documents

Publication Publication Date Title
Avizienis Arithmetic error codes: Cost and effectiveness studies for application in digital system design
US8903882B2 (en) Method and data processing unit for calculating at least one multiply-sum of two carry-less multiplications of two input operands, data processing program and computer program product
JP7144423B2 (ja) 計算における誤り訂正
Avizienis Arithmetic algorithms for error-coded operands
Chervyakov et al. An efficient method of error correction in fault-tolerant modular neurocomputers
Chervyakov et al. The architecture of a fault-tolerant modular neurocomputer based on modular number projections
RU2409840C2 (ru) Устройство для преобразования из полиномиальной системы классов вычетов в позиционный код
RU2653257C1 (ru) Устройство обнаружения и коррекции ошибки модулярного кода
Rouhifar et al. Fast overflow detection in moduli set {2n–1, 2n, 2n+ 1}
RU2294529C2 (ru) Устройство для коррекции ошибок в полиномиальной системе классов вычетов с использованием псевдоортогональных полиномов
RU2622881C1 (ru) Устройство для вычисления сумм парных произведений в полиномиальной системе классов вычетов
RU2348965C1 (ru) Вычислительное устройство
RU2301442C2 (ru) Нейронная сеть для обнаружения, локализации и исправления ошибок в системе остаточных классов
Mohan et al. Error Detection, Correction and Fault Tolerance in RNS-Based Designs
RU2586574C1 (ru) Полиномиальный модулярный вычислитель систем булевых функций с обнаружением ошибок
RU2579991C1 (ru) Самопроверяемый специализированный вычислитель систем булевых функций
RU2559771C2 (ru) Устройство для основного деления модулярных чисел
RU2652446C1 (ru) Устройство коррекции ошибок в модулярном коде на основе расширения системы оснований
RU2744815C1 (ru) Устройство для перевода чисел из системы остаточных классов и расширения оснований
RU2309535C1 (ru) Устройство для преобразования числа из полиномиальной системы классов вычетов в позиционный код с коррекцией ошибки
RU2584495C1 (ru) Устройство для вычисления коэффициентов обобщенной полиадической системы с коррекцией ошибок
RU2270475C2 (ru) Устройство для вычисления сумм парных произведений в полиномиальной системе классов вычетов
RU2298873C1 (ru) Устройство для преобразования из полиномиальной системы классов вычетов в позиционный код с пересчетом ортогональных базисов
RU2483346C1 (ru) Устройство для обнаружения переполнения динамического диапазона, определения ошибки и локализации неисправности вычислительного канала в эвм, функционирующих в системе остаточных классов
RU2780148C1 (ru) Система распределенного хранения данных