RU2409840C2 - Устройство для преобразования из полиномиальной системы классов вычетов в позиционный код - Google Patents

Устройство для преобразования из полиномиальной системы классов вычетов в позиционный код Download PDF

Info

Publication number
RU2409840C2
RU2409840C2 RU2008138494/08A RU2008138494A RU2409840C2 RU 2409840 C2 RU2409840 C2 RU 2409840C2 RU 2008138494/08 A RU2008138494/08 A RU 2008138494/08A RU 2008138494 A RU2008138494 A RU 2008138494A RU 2409840 C2 RU2409840 C2 RU 2409840C2
Authority
RU
Russia
Prior art keywords
input
output
multiplier
group
modulo
Prior art date
Application number
RU2008138494/08A
Other languages
English (en)
Other versions
RU2008138494A (ru
Inventor
Игорь Анатольевич Калмыков (RU)
Игорь Анатольевич Калмыков
Денис Николаевич Резеньков (RU)
Денис Николаевич Резеньков
Яна Вадимовна Емарлукова (RU)
Яна Вадимовна Емарлукова
Анастасия Валерьевна Барильская (RU)
Анастасия Валерьевна Барильская
Ольга Александровна Кихтенко (RU)
Ольга Александровна Кихтенко
Ольга Игоревна Дагаева (RU)
Ольга Игоревна Дагаева
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 RU2008138494/08A priority Critical patent/RU2409840C2/ru
Publication of RU2008138494A publication Critical patent/RU2008138494A/ru
Application granted granted Critical
Publication of RU2409840C2 publication Critical patent/RU2409840C2/ru

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

Изобретение относится к вычислительной технике, в частности к модулярным спецпроцессорам (СП), функционирующим в полиномиальной системе классов вычетов (ПСКВ) и способным сохранять работоспособное состояние при возникновении ошибки за счет реконфигурации структуры.
Техническим результатом является расширение функциональных возможностей, за счет возможности вычисления значений ортогональных базисов при возникновении отказов вычислительных трактов по модулю pi(z) и их исключении из процесса преобразования модульного кода ПСКВ в двоичный позиционный код. Устройство содержит вход (1) запуска устройства, группу сдвиговых регистров (2), блок (3) синхронизации, выход (4) устройства, группу блоков (5) расчета ортогональных базисов, блоки (6) трехвходовых элементов И, сумматор (7) по модулю два, группу информационных входов (8), группу управляющих входов (9) устройства, группу синхровходов (10), группу управляющих входов (11), при этом группа блоков расчета ортогональных базисов содержит первый блок памяти (12), умножитель (13), второй блок памяти (14), умножитель (15), регистр 16, выход регистра (17). 2 ил., 2 табл.

Description

Изобретение относится к вычислительной технике, в частности к модулярным спецпроцессорам (СП), функционирующим в полиномиальной системе классов вычетов (ПСКВ) и способным сохранять работоспособное состояние при возникновении ошибки за счет реконфигурации структуры.
Известно устройство для преобразования числа из системы остаточных классов в позиционный код (Авторское свидетельство №2298873, кл., Н03М 7/18, 10.05.2007. Бюл. №13), которое содержит вход запуска устройства, группу информационных входов, группу сдвиговых регистров, блок синхронизации, группу блоков памяти, блоки элементов И, накапливающий сумматор, выход устройства.
Техническим результатом изобретения является расширение функциональных возможностей, проявляющееся в возможности вычисления значений ортогональных базисов при возникновении отказов вычислительных трактов по модулю pi(z) и их исключении из процесса преобразования модулярного кода ПСКВ в двоичный позиционный код при меньших аппаратурных затратах по сравнению с прототипом.
Указанный технический результат достигается за счет ввода в конструкцию группы блока расчета ортогональных базисов, структура которого отличается от прототипа меньшими схемными затратами, и сумматора по модулю два.
Устойчивость структуры вычислительного устройства к дефектам аппаратуры обеспечивает возможность работы спецпроцессора в режиме постепенной деградации. Указанное свойство обеспечивает высокую живучесть СП и является одним из основных факторов, на которых базируются разработки способов построения систем, способных деградировать постепенно. Применение полиномиальной системы классов вычетов позволяет реализовать построение живучих вычислительных систем с постепенной деградацией структуры.
Одним из основных достоинств модулярных кодов, к которым относится и ПСКВ, являются обменные операции. Алгоритмической основой обменных операций между точностью, производительностью и корректирующими способностями являются независимость обработки информации по каждому модулю и функциональная равноправность разрядов. Данные свойства обусловлены полной арифметичностью кодовых конструкций, базирующихся па модулярном представлении чисел, где информационная и контрольные части равноправны относительно любой модульной операции.
Согласно общей теории кодирования мощность модулярного кода определяется соответствием каждому действительному операнду A(z) множества М, A(z)∈M слова (α1(z), α2(z) … αn(z))∈=Рполн(z), где Рполн(z) - декартово произведение некоторых оснований множества, p1(z), р2(z), …, pn(z) αi(z)∈pi(z); i=1, 2, …, n. Если на диапазон возможного изменения кодируемого множества M(z) наложить ограничения, считая, что для однозначного представления достаточно k первых остатков (k<n), то соответствующие им основания упорядоченной системы классов вычетов p1(z), p2(z), …, pk(z); i=1, 2, …, k принадлежат множеству информационных модулей. В этом случае диапазон однозначного представления по данным основаниям соответственно равен
Figure 00000001
Оставшиеся r=n-k «лишних остатка» можно считать избыточными, так как их исключение из модульной кодовой конструкции (α1(z), α2(z), … αn(z)) не влечет за собой ущерба однозначности представления числа А(z), то есть при отказе r каналов их можно просто удалить из процессора, не оказывая влияния на точность выполнения задания. Но с другой стороны, данные r избыточных каналов предопределяют корректирующие способности вычислительной системы, другими словами, гарантию защиты от недостоверного результата.
Таким образом, изменяя количество информационных k и избыточных r оснований в заданной структуре непозиционного СП, можно варьировать его основными показателями - точностью, информационной надежностью и производительностью вычислительной системы.
Для перевода числа из полиномиальной системы классов в вычетов позиционный код используется китайская теорема об остатках (КТО), согласно которой
Figure 00000002
где Bi(z) - ортогональный базис i-го основания.
Ортогональный базис определяется как
Figure 00000003
где mi(z) - вес ортогонального базиса i-го основания.
Применение mi(z) позволяет обеспечить выполнение условия
Bi(z)≡1 mod pi(z).
Преобразуем выражение (2) к виду
Figure 00000004
Подставив равенство (3) в выражение (1), получаем
Figure 00000005
Разделив обе части последнего равенства на величину Р,
Figure 00000006
получаем
Figure 00000007
Принимая во внимание попарную простоту модулей pi(r), i=1, 2, …, k+r, введем обозначение
Figure 00000008
Тогда
Figure 00000009
Таким образом, очевидно, что величина веса ортогонального базиса определяется произведением величин, обратных основаниям ПСКВ pj(z) по модулю pi(z).
Значит для пересчета ортогональных базисов при построении СП ПСКВ с реконфигурируемой структурой необходимо использовать значения
Figure 00000010
, т.е. обратных величин оснований pj(z) по модулю pi(z) для поля GF(24). В таблице 1 представлены величины
Figure 00000011
для поля GF(24).
Таблица 1
Величины
Figure 00000011
для поля GF(24).
Значение pi(z) основания ПСКВ
p1(z) p2(z) p3(z) p4(z) p5(z)
Figure 00000012
- 1 1 1 1
Figure 00000013
z - z z+1 1
Figure 00000014
z3+z z3+1 - z2+7 z3+z2+1
Figure 00000015
z3 z3+z2+z z2 - z3+z+1
Figure 00000016
z3+z2+z z2+z z3+z z3+z2 -
Устройство содержит вход 1 запуска устройства, группу сдвиговых регистров 2, блок 3 синхронизации, выход 4 устройства, группу блоков 5 расчета ортогональных базисов, блоки 6 трехвходовых элементов И, сумматор 7 по модулю два, группу информационных входов 8, группу управляющих входов 9 устройства. Структура устройства показана на фиг.1.
Вход 1 запуска устройства соединен с входом запуска блока 3 синхронизации, выход которого соединен с входами разрешения сдвига сдвиговых регистров группы 2, информационные входы которых являются соответствующими информационными входами 8 группы устройства, выход i-го сдвигового регистра группы 2 соединен с первым входом элемента И i-ой группы (i=1, 2, …, n) блоков 6 трехвходовых элементов И. Выходы блока 3 синхронизации также подключены к первому входу блоков 5 расчета ортогональных базисов, второй вход которых подключен к управляющим входам устройства 9, выход i-го блока расчета ортогональных базисов 5 подключены ко второму входу элементов И 1-го блока 6, третьи входы которых соединены с соответствующим управляющим входом группы 9, выходы элементов И блока 6 соединены со входами сумматора 7 по модулю два, выход которого является выходом устройства 4.
С целью сокращения аппаратных затрат в блоках 5 расчета ортогональных базисов вместо (n-2) умножителей по модулю pi(z), где i=1, 2, …, n, используемых в прототипе, устанавливаем один умножитель по модулю и один регистр.
Блок расчета ортогональных базисов содержит синхровходы 10, n управляющих входов 11, первый блок памяти 12, умножитель 13 по модулю pi(z), где i=1, 2, …, n, второй блок памяти 14, умножитель 15, регистр 16, выход 17 блока. Структура блока показана на фиг.2.
Синхровходы 10 подключены к синхровходам первого 12 блока памяти, второго 14 блока памяти и регистра 16, а управляющие входы 11 подключены к адресным входам первого 12 блока памяти и второго 14 блока памяти. Первый вход умножителя 13 по модулю pi(z) подключен к выходу первого 12 блока памяти, а второй вход умножителя по модулю pi(z) подсоединен ко второму выходу регистра 16, вход которого соединен с выходом умножителя 13 по модулю pi(z). Первый вход умножителя 15 соединен с первым выходом регистра 16, а второй вход умножителя 15 подключен к выходу второго 14 блока памяти. Выход умножителя 15 является выходом 17 блока расчета ортогональных базисов.
Число, представляемое в коде ПСКВ, A(z)=(α1(z), α2(z), …, αn(z)), через группу информационных входов 8 заносится на сдвиговые регистры 2 группы, причем вычеты по каждому из оснований ПСКВ заносятся в свой регистр 2. Работа устройства происходит по тактам. В каждом такте содержимое регистров 2 сдвигается вправо (в сторону младших разрядов) на один разряд. Алгоритм работы устройства может быть представлен в виде
Figure 00000017
где n - количество оснований ПСКВ;
ni=ord pi(z) - степень i-го основания ПСКВ;
αig={0, 1} - значение g-го разряда, i-го основания ПСКВ;
Bi*(z) - пересчитанное значение i-го ортогонального базиса.
Из выражения (6) видно, что устройство реализует операцию последовательного суммирования произведений пересчитанных ортогональных базисов Bi*(z) назначения остатка αi(z), представленного в двоичном коде.
Группа блоков 5 осуществляет расчет ортогональных базисов zg·Bi*(z) в соответствии со значениями, поданными на п управляющих входов 9 устройства.
В первом такте по сигналу из блока 3 синхронизации производится выдача величины
Figure 00000018
из блоков 5 параллельно и в случае открытых блоков трехвходовых элементов И группы 6 - прибавление их к содержимому сумматора 7, работающего по модулю два. В следующем такте содержимое каждого из регистров 2 сдвигается на один разряд вправо, и блок 3 синхронизации разрешает выдачу очередного пересчитанного значения
Figure 00000018
из блоков 5.
Работа устройства осуществляется в течении s тактов, где s=v, для расширенного поля Галуа GF(2v),
Если i-ый канал модулярного вычислительного устройства является работоспособным, то по соответствующему входу группы управляющих входов 9 поступает значение 1, в противном случае - значение 0.
Блок 5 расчета ортогональных базисов групп работает следующим образом. При поступлении первого синхросигнала от блока 3 синхронизации на вход 10 из первого блока памяти 12 на первый вход умножителя 13 по модулю pi(z) подаются первое значение
Figure 00000019
, которое умножается на единицу и подается на вход регистра 16. При приходе второго синхросигнала на вход 10 данный результат поступает на второй вход умножителя 13, на первый вход которого подается значение второе значение
Figure 00000020
.
Спустя n-1 тактов на выходе регистра 16 появляется значение веса ортогонального базиса mi(z). Таким образом определяется значение
Figure 00000021
Причем величины
Figure 00000022
определяются значением сигнала, поступающего с j-го управляющего входа 11, согласно условия
Figure 00000023
Значения
Figure 00000020
, поступающие с первого блока 12 памяти, определяются значениями сигналов, подающихся на адресные входы блока 12 с управляющих входов 11 и синхровходов 10. Причем
Figure 00000024
где yj - сигнал на j-ом входе управляющих входов 11.
Вычисленное значение mi*(z) веса ортогонального базиса по i-ому основанию согласно выражения (7) поступает на первый вход умножителя 15, на второй вход которого с выходов второго блока 14 памяти подается значение
Figure 00000025
где l∈Uoтк; Uoтк - множество отказавших оснований в процессе функционирования вычислительной системы ПСКВ; g=0, 1, …, ord pi(z)-1.
Полученное значение Р*(z) определится значением сигнала, поступающего на адресные входы второго блока 14 памяти с управляющих входов 11 и синхровходов 10. Во втором блоке 14 памяти хранятся константы произведения zg·P*(z).
Умножитель 15 осуществляет вычисление величины ортогонального базиса
Figure 00000026
Полученное значение ортогонального базиса согласно (11) подается на выход 17, который является выходом блока 5 расчета ортогональных базисов.
Если в процессе функционирования вычислительной системы ПСКВ откажет b основание, то на управляющих вxодах 9 появится сигнал
(y1, …, yb-1, yb, yb+1, …, yn)=(1, …, 1, 0, 1, …, 1).
Данный сигнал поступает на управляющие входы 11 блоков 5 расчета ортогональных базисов. Под управлением данного сигнала из первого блока 12 памяти значения
Figure 00000027
, (j=1, …, n, j≠i), a (n-2) умножителей 13 по модулю два вычисляет
Figure 00000028
где
Figure 00000029
.
Под управлением сигналов, поступивших с управляющих входов 11 и синхровходов 10, из второго блока 14 памяти поступают значения, определенные выражением (10). Умножитель 15 реализует выражение (11), где
Figure 00000030
Одновременно с этим значения (y1, …, yb-1, yb, yb+1, …, yn)=(1, …, 1, 0, 1, …, 1) подаются на третьи входы 6 элементов И блоков 6. Нулевой сигнал yb=0 производит закрытие элементов И b-го блока 6. Таким образом, значения αb(z)·Вb(z) в получении конечного результата согласно (6) не участвуют, так как на сумматор 7 они не подаются.
Рассмотрим пример.
Необходимо вычислить значения ортогональных базисов полиномиальной системы классов вычетов, задаваемой в поле GF(24). Для этого поля определены следующие основания p1(z)=z+1, p2(z)=z2+z+1, p3(z)=z4+z3+z2+z+1, p4(z)=z4+z3+1, p5(z)=z4+z+1.
Согласно (2) определяем значения Pi(z)
P1(z)=p2(z)p3(z)p4(z)p5(z)=z14+z13+z12+z11+z10+z9+z8+z7+z6+z5+z4+z3+z2+z+1;
P2(z)=p1(z)p3(z)p4(z)p5(z)=z13+z12+z10+z9+z7+z6+z4+z3+z+1;
P3(z)=p1(z)p2(z)p4(z)p5(z)=z11+z10+z6+z5+z+1;
P4(z)=p1(z)p2(z)p3(z)p5(z)=z11+z10+z9+z8+z6+z4+z3+1;
P5(z)=p1(z)p2(z)p3(z)p4(z)=z1l+z8+z7+z5+z3+z2+z+1.
Для выполнения условия Bi(z)=1modpi(z) вычислим значения весов ортогональных базисов. Получаем m1(z)=1; m2(z)=z; m3(z)=z3+z; m4(z)=z3; m5(z)=z.
Определим значения m1(z), воспользовавшись равенством (5). Тогда
m1(z)=1; m2(z)=z2(z+1)mod(z2+z+1)=z;
m3(z)=[(z3+z)(z3+1)(z2+1)(z3+z2+1)]mod(z4+z3+z2+z+1)=z3+z;
m4(z)=[z5(z3+z+1)(z3+z2+z+1)]mod(z4+z3+1)=z3;
m5(z)=[(z3+z2+z)(z3+z)(z2+z)(z3+z2)]mod(z4+z+1)=z.
Рассмотрим работу группы блока 5 расчета ортогональных базисов на примере блока 5, функционирующего по модулю р3(z)=z4+z3+z2+z+l. При поступлении первого сигнала по входу 10 с выхода первого блока памяти 12 на первый вход умножителя 13 по модулю р3(z)=z4+z3+z2+z+1 подается значение
Figure 00000031
, которое умножается на 1 и записывается в регистр 16. Так как все вычислительные каналы, определяемые основаниями ПСКВ, находятся в работоспособном состоянии, то в процессе функционирования вычислительной системы ПСКВ на управляющих входах 9 появится сигнал
(y1, y2, y2, y4, y5)=(1, 1, 1, 1, 1),
который поступает на группу управляющих входов 11 блока 5 расчета ортогональных базисов.
При поступлении второго сигнала по входу 10 с выхода первого блока памяти 12 на первый вход умножителя 13 по модулю p3(z)=z4+z3+z2+z+1 подается значение
Figure 00000032
, которое умножается на значение
Figure 00000033
, поступившее на второй вход умножителя 13 по модулю p3(z)=z4+z3+z2+z+1. Данное значение было записано в регистре 16 и поступило на второй вход умножителя 13 по модулю p3(z)=z4+z3+z2+z+1 при поступлении второго синхросигнала 10. В результате на выходе умножителя 13 по модулю p3(z)=z4+z3+z2+z+1 получается результат
Figure 00000034
который записывается в регистр 16.
При поступлении третьего сигнала по входу 10 с выхода первого блока памяти 12 на первый вход умножителя 13 по модулю p3(z)=z4+z3+z2+z+1 подается значение
Figure 00000035
которое умножается на значение
Figure 00000036
поступившее на второй вход умножителя 13 по модулю p3(z)=z4+z3+z2+z+1. Данное значение было записано в регистре 16 и поступило на второй вход умножителя 13 по модулю p3(z)=z4+z3+z+z+1 при поступлении третьего синхросигнала 10. В результате на выходе умножителя 13 по модулю p3(z)=z4+z3+z2+z+1 получается результат
Figure 00000037
который записывается в регистр 16.
При поступлении четвертого сигнала по входу 10 с выхода первого блока памяти 12 на первый вход умножителя 13 по модулю p3(z)=z4+z3+z2+z+1 подается значение
Figure 00000038
которое умножается на значение
Figure 00000039
поступившее на второй вход умножителя 13 по модулю p3(z)=z4+z3+z2+z+1. Данное значение было записано в регистре 16 и поступило на второй вход умножителя 13 по модулю p3(z)=z4+z3+z2+z+1 при поступлении четвертого синхросигнала 10. В результате на выходе умножителя 13 по модулю p3(z)=z4+z3+z2+z+1 получается результат
Figure 00000040
Полученное значение с первого выхода регистра 16 подается на вход умножителя 15, на второй вход которого подается значение Р3(z)=p1(z)p2(z)p4(z)p5(z)=z11+z10+z6+z5+z+1 с выхода второго блока памяти 14. Данное значение будет определяться управляющим сигналом
(y1, y2, y2, y4, y5)=(1, 1, 1, 1, 1),
который поступает на входы второго блока памяти 14 с группы управляющих входов 11 блока 5 расчета ортогональных базисов. В результате значение ортогонального базиса будет равно B3(z)=z14+z13+z12+z1l+z9+z8+z7+z6+z4+z3+z2+z.
Остальные блоки 5 расчета ортогональных базисов работают аналогичным образом.
В таблице 2 представлены ортогональные базисы исходной системы ПСКВ, в которой все основания являются работоспособными.
Таблица 2
Ортогональные базисы
Ортогональные базисы Веса
B1(z)=z14+zl3+z12+z11+z10+z9+z8+z7+z6+z5+z4+z3+z2+z+1 mi(z)=l
B2(z)=z14+z13+z11+zl0+z8+z7+z5+z4+z2+z m^(z)=z
В3(z)=z14+z13+z12+z11+z9+z8+z7+z6+z4+z3+z2+z ms(z)=z+z
В4(z)=z14+z13+z12+z11+z9+z7+z6+z3 m4(z)=z3
B5(z)=z12+z9+z8+z6+z4+z3+z2+z ms(z)=z
Полученные данные совпадают с контрольным просчетом.
Рассмотрим процедуру постепенной деградации структуры не позиционного процессора ПСКВ. Допустим, что в процессе функционирования отказало последнее основание p5(z)=z4+z+1. Тогда диапазон представления входные данных составит P1234(z)=zl1+z8+z7+z5+z3+z2+z+1.
При этом ортогональные базисы и соответствующие им веса составят
B11234(z)=z10+z9+z8+z6+z5+z2+1; m11234(z)=1.
B21234(z)=z10+z9+z6+z5+z4+z; m21234(z)=z.
B3l234(z)=z9+z8+z6+z2; m31234(z)=z2.
B41234(z)=z9+z6+z4+z; m41234(z)=z2+z.
Для перерасчета ортогональных базисов определим значения
P11234(z)=z10+z9+z8+z6+z5+z2+1; m11234(z)=1;
P21234(z)=z9+z8+z5+z4+z3+1; m21234(z)=[z2(z+1)]mod z2+z+1=z.
P31234(z)=z7+z6+z4+1;
m31234(z)=[(z3+z)(z3+1)(z2+1)]mod(z4+z3+z2+z+1)=z2;
P41234(z)=z7+z6+z5+z2+z+1;
m11234(z)=[z5(z3+z+1)]mod(z4+z3+1)=z2+z.
Так как произошел отказ пятого вычислительного канала, определяемого основанием ПСКВ p5(z)=z4+z+1, а все остальные находятся в работоспособном состоянии то в процессе функционирования вычислительной системы ПСКВ на управляющих входах 9 появится сигнал
(y1, y2, y3, y4, y5)=(1, 1, 1, 1, 0),
который поступает на группу управляющих входов 11 блока 5 расчета ортогональных базисов.
Рассмотрим работу группы блока 5 расчета ортогональных базисов на примере блока 5, функционирующего по модулю p3(z)=z4+z3+z2+z+1. При поступлении первого сигнала по входу 10 с выхода первого блока памяти 12 на первый вход умножителя 13 по модулю p3(z)=z4+z3+z2+z+1 подается значение
Figure 00000041
которое умножается на 1 и записывается в регистр 16.
При поступлении второго сигнала по входу 10 с выхода первого блока памяти 12 на первый вход умножителя 13 по модулю p3(z)=z4+z3+z2+z+1 подается значение
Figure 00000042
которое умножается на значение
Figure 00000043
поступившее на второй вход умножителя 13 по модулю р3(z)=z4+z3+z2+z+1.
Данное значение было записано в регистре 16 и поступило на второй вход умножителя 13 по модулю p3(z)=z4+z3+z2+z+1 при поступлении второго синхросигнала 10. В результате на выходе умножителя 13 по модулю p3(z)=z4+z3+z2+z+1 получается результат
Figure 00000044
который записывается в регистр 16.
При поступлении третьего сигнала по входу 10 с выхода первого блока памяти 12 на первый вход умножителя 13 по модулю p3(z)=z4+z3+z2+z+1 подается значение
Figure 00000045
которое умножается на значение
Figure 00000046
поступившее на второй вход умножителя 13 по модулю p3(z)=z4+z3+z2+z+1. Данное значение было записано в регистре 16 и поступило на второй вход умножителя 13 по модулю p3(z)=z4+z3+z2+z+1 при поступлении третьего синхросигнала 10. В результате на выходе умножителя 13 по модулю p3(z)=z4+z3+z2+z+1 получается результат
Figure 00000047
который записывается в регистр 16.
При поступлении четвертого сигнала по входу 10 с выхода первого блока памяти 12 на первый вход умножителя 13 по модулю p3(z)=z4+z3+z2+z+1 подается значение
Figure 00000048
которое умножается на значение
Figure 00000049
поступившее на второй вход умножителя 13 по модулю p3(z)=z4+z3+z2+z+1. Данное значение было записано в регистре 16 и поступило на второй вход умножителя 13 по модулю p3(z)=z4+z3+z2+z+1 при поступлении четвертого синхросигнала 10. Значение
Figure 00000050
будет соответствовать ситуации, когда произошел отказ основания p5(z)=z4+z+1. В результате на выходе умножителя 13 по модулю p3(z)=z4+z3+z2+z+1 получается результат
Figure 00000051
Полученное значение с первого выхода регистра 16 подается на вход умножителя 15, на второй вход которого подается значение P3l234(z)=p1(z)p2(z)p4(z)=z7+z6+z4+1 выхода второго блока памяти 14. Данное значение будет определяться управляющим сигналом
(y1, y2, y3, y4, y5)=(1, 1, 1, 1, 0),
который поступает на входы второго блока памяти 14 с группы управляющих входов 11 блока 5 расчета ортогональных базисов. В результате значение ортогонального базиса будет равно B3l234(z)=z9+z8+z6+z2.
Осуществив произведение
Figure 00000052
на
Figure 00000053
получаем пересчет ортогональных базисов в новой системе оснований, которые совпадают с представленными ранее.
Проведем дальнейшую деградацию структуры непозиционного процессора ПСКВ. Допустим, что в процессе дальнейшего функционирования отказало четвертое основание p4(z)=z4+z3+1. Тогда диапазон представления входных данных составит P123(z)=z7+z6+z5+z2+z+1.
При этом ортогональные базисы и соответствующие им веса составят
B1123(z)=z6+z4+z3+z2+1, m1123(z)=1.
B2123(z)=z6+z5+z+1; m2123(z)=z+1.
B3123(z)=z5+z4+z3+z2+z+1; m3l23(z)=z2+z+1.
Для перерасчета ортогональных базисов определим значения
P1123(z)=z6+z4+z3+z2+1; m1123(z)=1.
P2123(z)=z5+1; m2123(z)=z2modz2+z+1=z+1.
P3123(z)=z3+1;
m3l23(z}=[(z3+z)(z3+1)]mod(z4+z3+z2+z+1)=z2+z+1.
Осуществив произведение
Figure 00000054
на соответствующее значение
Figure 00000055
получаем пересчет ортогональных базисов в новой системе оснований, которые совпадают с представленными ранее.
Так как произошел отказ четвертого вычислительного канала, определяемого основанием ПСКВ p4(z)=z4+z3+1, а все остальные находятся в работоспособном состоянии то в процессе функционирования вычислительной системы ПСКВ на управляющих входах 9 появится сигнал
(y1, y2, y3, y4, y5)=(1, 1, 1, 0, 0),
который поступает на группу управляющих входов 11 блока 5 расчета ортогональных базисов.
Рассмотрим работу группы блока 5 расчета ортогональных базисов на примере блока 5, функционирующего по модулю p3(z)=z4+z3+z2+z+1. При поступлении первого сигнала по входу 10 с выхода первого блока памяти 12 на первый вход умножителя 13 по модулю p3(z)=z4+z3+z2+z+1 подается значение
Figure 00000056
которое умножается на 1 и записывается в регистр 16.
При поступлении второго сигнала по входу 10 с выхода первого блока памяти 12 на первый вход умножителя 13 по модулю p3(z)=z4+z3+z2+z+1 подается значение
Figure 00000057
которое умножается на значение
Figure 00000058
поступившее на второй вход умножителя 13 по модулю p3(z)=z4+z3+z2+z+1. Данное значение было записано в регистре 16 и поступило на второй вход умножителя 13 по модулю p3(z)=z4+z3+z2+z+1 при поступлении второго синхросигнала 10. В результате на выходе умножителя 13 по модулю p3(z)=z4+z3+z2+z+1 получается результат
Figure 00000059
который записывается в регистр 16.
При поступлении третьего сигнала по входу 10 с выхода первого блока памяти 12 на первый вход умножителя 13 по модулю p3(z)=z4+z3+z2+z+1 подается значение
Figure 00000060
которое умножается на значение
Figure 00000061
поступившее на второй вход умножителя 13 по модулю p3(z)=z4+z3+z2+z+1. Данное значение было записано в регистре 16 и поступило на второй вход умножителя 13 по модулю p3(z)=z4+z3+z2+z+1 при поступлении третьего синхросигнала 10. В результате на выходе умножителя 13 по модулю p3(z)=z4+z3+z2+z+1 получается результат
Figure 00000062
который записывается в регистр 16.
При поступлении четвертого сигнала по входу 10 с выхода первого блока памяти 12 на первый вход умножителя 13 по модулю p3(z)=z4+z3+z2+z+1 подается значение
Figure 00000063
, которое умножается на значение
Figure 00000064
поступившее на второй вход умножителя 13 по модулю p3(z)=z+z+z+z+1. Данное значение было записано в регистре 16 и поступило на второй вход умножителя 13 по модулю p3(z)=z4+z3+z2+z+1 при поступлении четвертого синхросигнала 10. Значения
Figure 00000065
и
Figure 00000066
будут соответствовать ситуации, когда произошел отказ оснований p4(z)=z4+z3+1 и p5(z)=z4+z+1. В результате на выходе умножителя 13 по модулю р3(z)=z4+z3+z2+z+1 получается результат
Figure 00000067
Полученное значение с первого выхода регистра 16 подается на вход умножителя 15, на второй вход которого подается значение P3l234(z)==p1(z)p2(z)==z+1 с выхода второго блока памяти 14. Данное значение будет определяться управляющим сигналом
(y1, y2, y3, y4, y5)=(1, 1, 1, 0, 0),
который поступает на входы второго блока памяти 14 с группы управляющих входов 11 блока 5 расчета ортогональных базисов. Осуществив произведение
Figure 00000068
на
Figure 00000069
получаем пересчет ортогональных базисов в новой системе оснований. В результате значение ортогонального базиса будет равно B3123(z)=z5+z4+z3+z2+z+1, которые совпадают с представленными ранее.

Claims (1)

  1. Устройство для преобразования из полиномиальной системы классов вычетов в позиционный код, содержащее вход запуска устройства, группу сдвиговых регистров, блок синхронизации, выход устройства, блоки элементов И, группу информационных входов, причем вход запуска устройства соединен с входом запуска блока синхронизации, выход которого соединен с входами разрешения сдвига сдвиговых регистров группы, информационные входы которых являются соответствующими информационными входами группы устройства, выход i-го сдвигового регистра группы соединен с первым входом элемента И i-й группы (i=1, 2, …, n), причем устройство содержит группу блоков расчета ортогональных базисов, сумматор по модулю два, управляющие входы устройства, причем выходы блока синхронизации подключены к первому входу блоков расчета ортогональных базисов, второй вход которых подключен к управляющим входам устройства, выход i-го блока расчета ортогональных базисов подключены ко второму входу элементов И i-го блока, третьи входы которых соединены с соответствующим управляющим входом группы, выходы элементов И соединены со входами сумматора по модулю два, выход которого является выходом устройства, отличающееся тем, что блок расчета ортогональных базисов содержит синхровходы, n управляющих входов, первый и второй блоки памяти, умножитель, умножитель по модулю pi(z), где i=1, 2, …, n, и регистр, причем синхровходы подключены к первому и второму блокам памяти и регистру, n управляющих входов подключены к первому и второму блокам памяти, выход первого блока памяти подключен к первому входу умножителя по модулю pi(z), где i=1, 2, …, n, выход второго блока памяти подключен к умножителю, выход умножителя по модулю pi(z), где i=1, 2, …, n подключен к входу регистра, первый выход регистра подключен к входу умножителя, второй выход регистра подключен к второму входу умножителя по модулю pi(z), где i=1, 2, …, n, выход умножителя является выходом блока.
RU2008138494/08A 2008-09-26 2008-09-26 Устройство для преобразования из полиномиальной системы классов вычетов в позиционный код RU2409840C2 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2008138494/08A RU2409840C2 (ru) 2008-09-26 2008-09-26 Устройство для преобразования из полиномиальной системы классов вычетов в позиционный код

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2008138494/08A RU2409840C2 (ru) 2008-09-26 2008-09-26 Устройство для преобразования из полиномиальной системы классов вычетов в позиционный код

Publications (2)

Publication Number Publication Date
RU2008138494A RU2008138494A (ru) 2010-04-10
RU2409840C2 true RU2409840C2 (ru) 2011-01-20

Family

ID=42670770

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2008138494/08A RU2409840C2 (ru) 2008-09-26 2008-09-26 Устройство для преобразования из полиномиальной системы классов вычетов в позиционный код

Country Status (1)

Country Link
RU (1) RU2409840C2 (ru)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2513915C1 (ru) * 2013-01-09 2014-04-20 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Северо-Кавказский федеральный университет" Устройство для преобразования из полиномиальной системы классов вычетов в позиционный код
RU2586574C1 (ru) * 2015-06-26 2016-06-10 Федеральное государственное казенное военное образовательное учреждение высшего профессионального образования "Военная академия Ракетных войск стратегического назначения имени Петра Великого" Министерства обороны Российской Федерации Полиномиальный модулярный вычислитель систем булевых функций с обнаружением ошибок
RU2613726C2 (ru) * 2013-01-23 2017-03-21 Интернэшнл Бизнес Машинз Корпорейшн Команда векторного типа на поле галуа перемножения, суммирования и накопления
US10101998B2 (en) 2013-01-23 2018-10-16 International Business Machines Corporation Vector checksum instruction
US10203956B2 (en) 2013-01-23 2019-02-12 International Business Machines Corporation Vector floating point test data class immediate instruction

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2513915C1 (ru) * 2013-01-09 2014-04-20 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Северо-Кавказский федеральный университет" Устройство для преобразования из полиномиальной системы классов вычетов в позиционный код
RU2613726C2 (ru) * 2013-01-23 2017-03-21 Интернэшнл Бизнес Машинз Корпорейшн Команда векторного типа на поле галуа перемножения, суммирования и накопления
US10101998B2 (en) 2013-01-23 2018-10-16 International Business Machines Corporation Vector checksum instruction
US10146534B2 (en) 2013-01-23 2018-12-04 International Business Machines Corporation Vector Galois field multiply sum and accumulate instruction
US10203956B2 (en) 2013-01-23 2019-02-12 International Business Machines Corporation Vector floating point test data class immediate instruction
US10338918B2 (en) 2013-01-23 2019-07-02 International Business Machines Corporation Vector Galois Field Multiply Sum and Accumulate instruction
US10606589B2 (en) 2013-01-23 2020-03-31 International Business Machines Corporation Vector checksum instruction
US10671389B2 (en) 2013-01-23 2020-06-02 International Business Machines Corporation Vector floating point test data class immediate instruction
US10877753B2 (en) 2013-01-23 2020-12-29 International Business Machines Corporation Vector galois field multiply sum and accumulate instruction
RU2586574C1 (ru) * 2015-06-26 2016-06-10 Федеральное государственное казенное военное образовательное учреждение высшего профессионального образования "Военная академия Ракетных войск стратегического назначения имени Петра Великого" Министерства обороны Российской Федерации Полиномиальный модулярный вычислитель систем булевых функций с обнаружением ошибок

Also Published As

Publication number Publication date
RU2008138494A (ru) 2010-04-10

Similar Documents

Publication Publication Date Title
Avizienis Arithmetic error codes: Cost and effectiveness studies for application in digital system design
RU2409840C2 (ru) Устройство для преобразования из полиномиальной системы классов вычетов в позиционный код
CN110166059A (zh) 用于处理编码的消息字的集成电路和方法
US20080140740A1 (en) Systems and methods for processing data sets in parallel
Tang et al. A hybrid multimode BCH encoder architecture for area efficient re-encoding approach
RU2298873C1 (ru) Устройство для преобразования из полиномиальной системы классов вычетов в позиционный код с пересчетом ортогональных базисов
Hsiao et al. Store address generator with on-line fault-detection capability
Reyhani-Masoleh et al. Towards fault-tolerant cryptographic computations over finite fields
US10992314B2 (en) Residue number systems and methods for arithmetic error detection and correction
CN102811066B (zh) 伴随式计算装置及解码器
EP0178726B1 (en) Data processing system composed of three data processing modules
Hadjicostis et al. Encoded dynamics for fault tolerance in linear finite-state machines
Beckmann Fault-tolerant computation using algebraic homomorphisms
RU2653257C1 (ru) Устройство обнаружения и коррекции ошибки модулярного кода
Robinson Aliasing probabilities for feedback signature compression of test data
RU2680035C1 (ru) Отказоустойчивый специализированный вычислитель систем булевых функций
RU2652446C1 (ru) Устройство коррекции ошибок в модулярном коде на основе расширения системы оснований
RU2309535C1 (ru) Устройство для преобразования числа из полиномиальной системы классов вычетов в позиционный код с коррекцией ошибки
RU2704325C1 (ru) Отказоустойчивая эвм
KR102200665B1 (ko) 면적-효율적인 내결함성을 갖는 선형 피드백 시프트 레지스터와 이를 이용한 오류 검출 방법
Mytsko et al. Fast decoder of BCH code with cyclic decoding method
RU2327200C1 (ru) Генератор производных последовательностей
Raghavaiah Implementation of Hamming coding in Residue Number System
SU805317A1 (ru) Устройство дл контрол сумматора
CA1082815A (en) Table lookup direct decoder for double-error- correcting (dec) bch codes using general pair of syndromes

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20101129