УДК681.142:681.3
МЕТОД КОНТРОЛЯ ДАННЫХ, ПРЕДСТАВЛЕННЫХ КОДОМ НЕПОЗИЦИОННОЙ СИСТЕМЫ СЧИСЛЕНИЯ КЛАССА ВЫЧЕТОВ
МОРОЗ с А., КРАСНОБАЕВ В. А.______________
Рассматривается метод контроля цифровой информации, представленной в виде данных. Данные кодируются в непозиционной системе счисления класса вычетов (КВ). Приводятся примеры конкретной реализации метода контроля данных в КВ.
1. Введение
Известно, что использование свойств непозиционной системы счисления класса вычетов (КВ) обеспечивает высокую пользовательскую производительность реализации в системе обработки данных (СОД) вычислительных алгоритмов, состоящих из арифметических операций. Наибольшая эффективность от применения КВ достигается в случае, когда реализуемые алгоритмы состоят из совокупности таких арифметических операций, как сложение, умножение и вычитание [1-2].
Необходимость обеспечения отказоустойчивого функционирования СОД требует разработки и внедрения в КВ новых методов контроля и коррекции ошибок
РИ, 2011, № 1
информации, отличных от методов, используемых в обычных двоичных позиционных системах счисления (ПСС) [3].
Отметим, что, во-первых, все методы контроля и коррекции данных в КВ основываются на специфике реализации позиционных операций в данной системе счисления, требующей знания величины (возможно знака) числа, представленного данной непозиционной кодовой структурой. Во-вторых, методы контроля в КВ являются дальнейшим развитием контроля по модулю в ПСС (арифметические AN-коды). Действительно, с точки зрения информационного резервирования коды являются дальнейшим совершенствованием известных арифметических многоостаточных кодов. Известно, что многоостаточный код представляется в виде:
Ak =(Ak,Ak(modm1),Ak(modm2),...,
Ак (mod mk ),..., Ак (mod mn_,), Ак (mod mn)) т.е. Ak =(Ak,a1,a2,...,an), где Я; = Ak-[Ak/mi]mi.
n
В этом случае для [~[ mi > Ак совокупность остат-
i=l
ков {а,} однозначно определяет операнд А’к и численное значение Ак становится вообще не нужным. Многоостаточный код принимает вид непозиционно-
47
го кода КВ Ak = (aj, a2an ) , что позволяет реализовать модульные операции по отдельным независимым трактам, оперируя только с остатками {аi} . Такое кодирование чисел позволяет построить СОД, в котором обработка всех остатков а1 числа производится параллельно во времени. В этом случае обобщенная структурная схема СОД в КВ представляет собой набор отдельных микро-ЭВМ, функционирующих независимо друг от друга и параллельно во времени, причем каждая по своему определенному
модулю mi [4].
2. Основная часть
Процесс коррекции (обнаружения и исправления) ошибок в информационной кодовой структуре Г данных состоит из следующих основных этапов:
- контроль данных (процесс обнаружения факта наличия ошибки в числе А);
- диагностика (локализация места ошибок с заданной глубиной диагностирования);
- исправление ошибок в кодовой структуре данных (восстановление искаженных остатков aj (j = 1, n) числа A и получение правильного числа А).
Число A = (a1,a2,...,a1_1,a1,a1+1,...,a^) в КВ
представляется совокупностью {ai}(i = 1, n) остатков ai = A(modmi) по выбранной системе информационных оснований (модулей) {mi} в рабочем (информационном) числовом интервале [0, M) (где
n
M = п m i - общее количество информационных
i=1
кодовых слов). При этом НОД (mi, m j) = 1, при i,j = 1,n(i * j).
Для того чтобы код КВ обладал корректирующими свойствами необходимо, чтобы он содержал определенную информационную избыточность. При этом, во-первых, необходимо определить (выявить) и, по возможности, количественно оценить имеющуюся (естественную) в исходной информационной кодовой структуре избыточность. Во-вторых, при необходимости обеспечения данных дополнительными корректирующими способностями ввести дополнительную (искусственную) информационную избыточность (применить методы информационного резервирования) за счет введения дополнительных (контрольных) оснований {mk} КВ. Без потери общности рассуждений будем полагать, что к n информационным основаниям КВ добавлено одно mk = mn+1 контрольное основание взаимно-простое с любым из имеющихся информационных оснований. В этом случае число A = (a1,a2,...,an,an+1) в КВ представляется посредством совокупности {mj}(j = 1, n +1) оснований в полном числовом [0, M0) интервале, где М0 = М
• mn+1 - общее количество кодовых слов для данного КВ.
Известно [ 1 ], что для непозиционных кодовых структур в КВ минимальное кодовое расстояние определяется выражением dmin = K + 1, т.е. оно зависит как от числа К контрольных оснований, так и от величины каждого из них. Если для контрольных оснований
k
m z выполняется условие п m zt — m k, тогда вве-
1 t=1
дение в систему оснований КВ одного контрольного mk=mn+1 основания эквивалентно наличию К контрольных оснований. С учетом того, что все числа, принимающие участие в обработке данных (передача и обработка информации), а также результат операции данными находится в интервале [0, M), то очевидно, что если в результате обработки данных получен окончательный результат A > M, это означает, что полученное число A искаженное (неправильное).
Таким образом, если в результате обработки данных определено, что A > M, то делается вывод, что число Г неправильное. На этом принципе (принципе сравнения) основываются все методы сравнения данных в КВ. Если А < M, то делается вывод, что число А правильное, а если A > M, то число A неправильное. При этом предполагаются только однократные (в одном из остатков {ai} числа А) ошибки, либо пачка ошибок длинною не более к = [log2(wj -1)] +1 двоичных разрядов.
Для рассмотрения метода контроля (метод прямого сравнения) данных в КВ на основе изложенного выше принципа, который используется также при разработке методов диагностики и коррекции ошибок, воспользуемся результатами доказательства известного [ 1] научного утверждения.
Утверждение. Пусть информационное основание {m ■ } (i = 1, n) КВ с одним контрольным mk = mn+1 основанием упорядочено (mi < mi+1), и пусть результат A = (a1,a2,...,ai-1,ai,ai+1,...,an, an+1) выполнения операции является правильным числом, т. е.
n
A < M (M = П^ mi) . Тогда утверждается, что чис-
i=1
ло A = (a1,a2v-,ai-1,~i,ai+1,--,an,an+1)’ в котором искажен один остаток ai * ai по основанию
mi, является неправильным, т.е. A > M.
Покажем это. На основе принципа сравнения правильность числа А определяется исходя из соотношения
n+1
A < M = M0 /mn+1 (M0 =П mi).
i =1
С другой стороны, очевидно выполнение условия M0_/mi > M0 /mn+1 для упорядоченного КВ при i = 1, n . В этом случае выполняется следующее неравенство A < M0 / mi. Отметим, что остаток
48
РИ, 2011, № 1
a; = A(mod m;) числа А по модулю m; может принимать значение а; = 0, Ш; — 1. В соответствии с условием утверждения, что а; Ф a;, и учитывая, что остальные значения остатков a j (j = 1, n + 1 и i Ф j) неправильного A числа остаются без изменений, то в интервале [0, Mo/m;~ не могут одновременно находиться оба числа А и A . Тогда, так как число А < Мо/ mn+1 правильное (находится в рабочем [0, M] интервале), то число Г находится вне интервала [0, M0/m;), и тем более находится вне интервала [0, M). В этом случае число Г, для которого выполняется условие
A ^ , является неправ ильным. Таким образом
показано, что число
A = (а1> ai — 1> a;,ai + 1,...,an,an + 1)
является искаженным (рис 1,2). О 1 2
m-’-2 > >l
м 2-м з-м ■■■ (т,.,-1)-М
Рис. 1. Числовые интервалы для Шк = mn+1
О 1 ГПі-г Лін
I-----------Я------------я-----------------я------------я------------->;
О Мі/лі, 2-Mi/mi • • • (пи-1}-М> Mi=m, Мі/Ші
Рис. 2. Числовые интервалы для произвольного модуля ш;
3. Анализ метода контроля данных
Рассмотрим метод контроля данных в КВ, основанный на результатах и выводах рассмотренного научного утверждения.
В основе контроля лежит базовая операция - сравнение результата А операции с числом М = М0/шп+1. Для сравнения чисел A = (a13 a2,..., an, an+j) и М необходимо перевести значение А в позиционную двоичную систему счисления (ПСС). Для этого можно использовать ортогональные базисы B;(i = 1,n +1), которые представляются в виде [1]:
B, = (1,0,... ,0,... ,0,0),
В2 = (0,1,... ,0,.. ,0,0),
B; = (0,0,.. ,1,... ,0,0),
Bn = (0,0,.. .,0,.. .,1,0),
[Bn+: = (0,0, ...,0, ...,0,1)
(1)
Ортогональные базисы B; определяются для каждого
В; = ш; • M0 / ш; = 1(mod ш;) . (2)
Значение веса ш; ортогонального базиса B; определяется как одно из решений системы сравнений:
ш; = 1, 1-M; =p1(modmi),
ш; = 2, 2 • M; = р 2(modmi),
Ші = Ші — 2 (mi — 2) - Mi =Pш—2(modmi), Ші = m; — 1, (m; — 1) • M; =рш—1(modm;).
(3)
Значение m;, для которого выполняется условие (2), определяется путем подстановки возможных значений m; = 1, m; — 1 методом простого перебора. Значение А в ПСС определяется в соответствии с
n+1
формулой A ПСС = (^a; • B;)modM0.
i=1
4. Примеры конкретной реализации метода контроля данных в КВ
Рассмотрим примеры реализации метода контроля данных для упорядоченного КВ, заданного информационными Ш1 = 3, Ш2 = 4, m3 = 5, Ш4 = 7 и контрольным Шк = m5 = 11 основаниями (рис. 3). Данный КВ обеспечивает информационный интервал [0, M) для
4
однобайтовой (1=1) СОД, где M = П m; = 420.
Полный числовой интервал представления чисел в КВ определяется как [0, M0), где M0 = M • mn+1 = 4620
(рис.3).
Рис. 3. Числовые интервалы для 1 = 1 (ш^ = шп+1 = 11)
В табл. 1-5 представлены процедуры определения значений m; (i = 1,5) , а в табл. 6 даны рассчитанные значения ортогональных базисов B; (i = 1,5) .
Таблица 1. Процедура определения m1
ш1 = 3, Mj = 4 • 5 • 7-11 = 1540
m1 = 1 m1 • M1 = 1540 = 1(mod m1)
Ш2 = 2 Шх • Mj = 3080 = 2(modmx)
= 1,B1 = (1,0,0,0,0) = 1540
Таблица 2. Процедура определения Ш2
m2 = 4, M2 = 3 • 5 • 7 • 11 = 1155
Ш 2 = 1 1 M2 = 1155 = 3(modm2)
Ш2 = 2 2 • M2 = 2310 = 2(modm2)
31 II 3 • M2 = 3465 = 1(modm2)
31 II B2 = (0,1,0,0,0) = 3465
Таблица 3. Процедура определения Ш3
m3 = 5, M3 = 3• 4• 7•!! = 924
Ш3 = 1 1 • M3 = 924 = 4(mod m3)
Ш3 = 2 2 • M3 = 1848 = 3(modm3)
Ш3 = 3 3 • M3 = 2772 = 2(modm3)
Ш3 = 4 4 • M2 = 3696 = 1(mod m3)
Ш3 = 4, B3 = (0,0,1,0,0) = 3696
РИ, 2011, № 1
49
Таблица 4. Процедура определения m4
m4 = 7, М4 = 3• 4• 5•П = 660
m4 = 1 1 • M4 = 660 = 2(mod m4 )
m4 = 2 2 • M4 = 1320 = 4(modm4)
ЗІ II 3 • M4 = 1980 = 6(modm4)
m4 = 4 4 • M4 = 2640 = 1(modm4)
ЗІ II 5 • M4 = 3300 = 3(modm4)
и 13 6 • M4 = 3960 = 5(modm4)
m4 = 4, В4 = (0,0,0,1,0) = 2640
Таблица 5. Процедура определения m5
m5 = 11, M5 = 3 • 4• 5 • 7 = 420
m5 = 1 1 • M5 = 420 = 2(mod m5)
m5 = 2 2 • M5 = 840 = 4(mod m5)
m5 = 3 3 • M5 = 1260 = 6(mod m5)
31 и 4 • M5 = 1680 = 8(modm5)
m5 = 5 5 • M5 = 2100 = 10(modm5)
31 и 6 • M5 = 2520 = 1(mod m5)
m5 = 7 7 • M5 = 2940 = 3(mod m5)
31 и 00 8 • M5 = 3360 = 5(modm5)
m5 = 9 9 • M5 = 3780 = 7(modm5)
31 и О 10 • M5 = 4200 = 9(mod m5)
m5 = 6, В5 = (0,0,0,0,1) = 2520
Таблица 6. Ортогональные базисы Bj КВ
В1 = (1,0,0,0,0) = 1540 В2 = (0,1,0,0,0) = 3465 В3 = (0,0,1,0,0) = 3696 В4 = (0,0,0,1,0) = 2640 В5 = (0,0,0,0,1) = 2520
Пусть задано правильное A400 = (1,0,0,1,4) число в КВ.
Пример 1. Определить правильность числа A = (1,0,0,1,4) , искаженного по основанию m! = 3 (a1 = 0). Переводим число A в ПСС и сравниваем его с величиной М = 420:
~ n+1 5
A = (^ aj • Ві)тодМ1 = (^ aj • Ві)тод4620 =
j =1 i=1
= (1540 • 0 + 3465 • 0 + 3696 • 0 + 2640 -1 + 2520 • 4)
mod 4620 = 12720, ~
mod(4620) = 3480 > 420 . Таким образом, операнд A содержит ошибку в одном из пяти остатков.
Пример 2. Пусть число A400 = (1,0,0,1,4) неискаженно. В этом случае получим
A = (1540^ 1 + 3465^ 0 + 3696 0 + 2640^ 1 + 2520^ 4)
mod4620 = 14260(mod4620) = 400 < 420.
Число А правильное.
5. Выводы
1. Анализ свойств непозиционных кодовых структур показал, что коды в КВ являются арифметическими кодами (некоторый аналог этих кодов в ПСС - арифметические AN-коды), пригодны к использованию как для передачи, так и для обработки информации. Для кодов КВ контрольные основания включены в общую кодовую структуру данных, содержащих совокупность информационных оснований. В этом случае остатки, которыми представляются операции в КВ по информационным и контрольным основаниям, одновременно и независимо участвуют в процессе обработки информации. Результат обработки информации, представленный кодом КВ, может контролироваться либо поэтапно, либо по окончанию всех вычислений, так как ошибка, возникшая в каком-либо остатке aj числа
A = (a 1 5 a 2 5***5 a i — 1 5 a j ^ a j + 1,--,an,an + 1),
не распространяется (не «р азмножается») в остальные остатки a j (j = 1,n + 1 и i ^ j) числа А (в соседние тракты обработки информации СОД). Важное значение имеет факт определения количества и величин (по количеству реализуемых операций) каждого их этих этапов. Например, величина каждого этапа обработки информации (этапа вычислений) может быть определена либо по определяемому законченному циклу обработки алгоритма, либо в соответствии с возможным значением вероятности возникновения однократной (в одном остатке числа в КВ) ошибки.
2. Для произвольной упорядоченной (mj < mj+1) системы оснований КВ, с одним контрольным m^ основанием искажение одного произвольного остатка aj по модулю mj однозначно превращает правильное (неискаженное) число А в неправильное Г. В этом случае система контроля в КВ достоверно определяет факт искажения числа А. Корректирующие способности помехоустойчивого кода в КВ зависят от количества и величины контрольных {m^} оснований. Если для некоторого количества г информационных оснований данного КВ выполняется условие
г
ПmZl ^ mk (mz_ є М),
j =1
то искажения в одновременно нескольких или даже во всех этих г остатках не превращают правильное число А в неправильное. При этом считается, что СОД функционирует безотказно. Однако при этом система контроля СОД не определяет номера отказавших трактов обработки данных.
50
РИ, 2011, № 1
3. Предложенный метод контроля, основанный на принципе сравнения, в дальнейшем создает предпосылки для разработки эффективных методов диагностики и коррекции ошибок в КВ. Недостатком предложенного метода является относительно низкая оперативность контроля. Этот недостаток обусловлен значительными временными затратами на операции перевода числа А из КВ в ПСС и сравнения чисел А и М в ПСС. Кроме этого, если контролю подвергается промежуточный результат вычислений, то возможно потребуется дополнительная операция перевода числа А из ПСС в КВ. Данное обстоятельство обуславливает необходимость повышения оперативности контроля СОД в КВ за счет уменьшения времени выполнения перечисленных выше операций путем разработки и использования, например, методов и средств реализации позиционных признаков непозиционного кода КВ.
Литература: 1. Акушский И.Я., Юдицкий Д.И. Машинная арифметика в остаточных классах. М.: Сов. радио, 1968. 440с. 2. Барсов В.И., Краснобаев В.А., Сиора А.А., Авдеев И.В. Методы многоверсионной обработки информации в модулярной арифметике: Монография. Х.: МОН, УИПА, 2008. 460с. 3. Сиора А.А., Краснобаев В.А., Харченко В.С. Отказоустойчивые системы с версионно-информаци-
онной избыточностью в АСУ ТП: Монография. Х.: МОН, НАУ им. Н.Е. Жуковского (ХАИ), 2009. 320с. 4. Барсов В.И., Сорока Л.С., Краснобаев В.А. Методология параллельной обработки информации в модулярной системе счисления: Монография. Х.: МОН, УИПА, 2009. 268с.
Поступила в редколлегию 02.03.2011
Рецензент: д-р техн. наук, проф. Фурман И. А.
Мороз Сергей Александрович, аспирант кафедры автоматизации и компьютерно-интегрированных технологий Харьковского национального технического университете сельского хозяйства им. Петра Василенка. Научные интересы: создание отказоустойчивого спецпроцессора быстрой и достоверной обработки данных на основе использования непозиционной системы счисления в классе вычетов. Адрес: Украина, 61052, Харьков, ул. Кацарс-кая, 9, тел. 712-35-37.
Краснобаев Виктор Анатольевич, д-р техн. наук, профессор кафедры автоматизации и компьютерно-интегрированных технологий Харьковского национального технического университета сельского хозяйства им. Петра Ва-силенка. Научные интересы: теоретическое обоснование и практическое создание быстродействующих и отказоустойчивых вычислительных структур в модулярной системе счисления. Адрес: Украина, 61052, Харьков, ул. Кацарская, 9, тел. 712-35-37.
РИ, 2011, № 1
51