Научная статья на тему 'Метод контроля данных, представленных кодом непозиционной системы счисления класса вычетов'

Метод контроля данных, представленных кодом непозиционной системы счисления класса вычетов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
163
33
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Мороз Сергей Александрович, Краснобаев Виктор Анатольевич

Рассматривается метод контроля цифровой информации, представленной в виде данных. Данные кодируются в непозиционной системе счисления класса вычетов (КВ). Приводятся примеры конкретной реализации метода контроля данных в КВ.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Мороз Сергей Александрович, Краснобаев Виктор Анатольевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The method of data control that is written in code of nonpositional numeral system in residue class.

The method of digital information control in the form of data is considered. The data is encoded to non-positional numeral system of residue class. Some certain implementations of the data control method of residue class are exemplified.

Текст научной работы на тему «Метод контроля данных, представленных кодом непозиционной системы счисления класса вычетов»

УДК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)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.