ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 15.10.2024
Просмотров: 150
Скачиваний: 0
регистра накапливается г контрольных разрядов, являю щихся остатком от деления многочлена Н(х) на Р(х). На ( т + л+1)-м такте ключи Кі — /С4 устанавливаются в положение включено и полученный остаток поступает на дешифратор коррекций. Если кодовая комбинация
Рис. 3-10. Структурная схема декодирующего устройства в цикли ческом коде для многочлена Р( х) =х4-fcjt+I.
пришла без ошибок (остаток равен нулю), производится перепись многочлена G(x) из приемного регистра в ин формационный и установка в нулевое состояние разря дов контрольных кодов приемного регистра. Если кодо вая комбинация пришла с ошибкой, то в декодирующем регистре сформируется код, отличный от нуля. Деши фратор коррекции выполнен таким образом, что каждо му остатку соответствует одна вполне определенная возбужденная шина на его выходе, которая связана
124
с .соответствующим разрядом приемного регистра. Таким образом, с дешифратора коррекции на счетный вход триггера разряда, в котором произошла ошибка, подает ся сигнал, исправляющий ошибку. После исправления ошибки многочлен G(x) переписывается из приемного на информационный регистр. При ' появлении двойной ошибки в кодовой комбинации с выхода дешифратора подается сигнал останова.
Рассмотренные выше помехоустойчивые коды приме няются обычно для проверки правильности передачи чисел. Для контроля правильности выполнения арифме тических операций использовать их не представляется возможным в силу того, что по известным контрольным разрядам двух чисел в любом из .помехоустойчивых ко дов нельзя образовать контрольные разряды суммы, раз ности, произведения или частного этих чисел.
Широкое распространение в последние годы получил контроль по модулю, именуемый иногда контролем по остаткам или наименьшим вычетам. Такой вид контроля позволяет проверить правильность выполнения операций над числами и правильность их передачи.
Код с контролем по .модулю строится путем добавле ния к информационным разрядам г контрольных, пред ставляющих собой остаток от деления контролируемого числа на некоторое заранее заданное целое число q, име нуемое модулем.
Правомерность использования остатка в качестве контрольной информации объясняется тем, что любое
*число М сравнимо с остатком гт, полученным в резуль тате деления контролируемого числа М на модуль q.
Сказанное можно записать в виде тождества
М^=гт той <q. |
(3-11) |
Тождество (3-11) устанавливает между числами М, |
|
гт и q соотношение |
|
M = q l + rm, |
|
где I — частное от деления М на q. |
в любой |
Тождество (3-11) может быть записано |
системе счисления. Так, число 11 в десятичной системе счисления при модуле 3 будет тождественно числу 2,
т.е. 11 з=2 mod 3.
Вдвоичной системе счисления запись будет иметь вид 1011s 10 mod 11.
125
ІІз теории чисел известно, что результаты арифмети ческих операции над числами сравнимы по модулю с ре зультатами соответствующих операций над их остатка ми, т. е. сумма (произведение) чисел тождественна сум ме (произведению) остатков этих же чисел по какомулибо модулю:
кк
N] Мі = £ /„mod?; і'= I i~1
ПЛ/^ П ч шосІ9-
i=l 1=1
Эти свойства позволяют выполнить арифметические действия над числами, записанными в виде тождеств.
Контроль арифметических операций производится по следующим формулам:
1) сложение и вычитание
|
|
ЛГ.ндЛ'І^УИ,, |
rm ± r |
= |
r , |
|||
|
|
|
|
|
іщ '— |
т1 |
ту |
|
где |
М, = rnhmod q, |
Al, = |
гіщmod q, |
Мл== rnh mod q\ |
||||
|
2) умножение |
|
|
|
|
|
|
|
M XM Z= M.V |
r„h ri!h= r mt, |
|
|
|
|
|||
где |
M, = r |
mod q, |
AL = |
r„, mod q, |
Л'/, = r„ mod q; |
|||
|
3) деление |
|
|
|
|
|
|
|
|
|
_1__ X — /V/ • |
r |
r |
_L_ r |
|
== r |
|
|
|
/VI2 |
‘ |
m 2 |
|
|
m a |
'm, 1 |
где |
A'l, = rnh mod q — делимое; M„ = r |
mod q — делитель; |
||||||
M. = /• „ mod q — частное; |
M. = |
r„, mod q — остаток от |
||||||
деления M t на М 2. |
|
|
|
|
|
|
Таким образом, для обнаружения ошибок при прове дении арифметических операций необходимо выполнить одновременно операции над контролируемыми числами и остатками, а затем, вычислив остаток от деления ре зультата операции над контролируемыми числами на выбранный модуль, сравнить его с результатом опера ции над остатками.
Для обнаружения ошибок при пересылке чисел не обходимо передать число вместе с остатком от деления его на выбранный модуль и затем сравнить принятый
126
остаток с остатком, .полученным в результате деления принятого числа на выбранный .модуль.
В случае несравненна остатков фиксируется ошибка. Различают два вида контроля по модулю: числовой
нцифровой. При числовом контроле остатки получаются
врезультате деления на выбранный модуль контролируе
мого числа, а при цифровом контроле — в результате деления на выбранный модуль специальной функции от числа М, представляющей собой сумму цифр данного числа.
При организации контроля по модулю важное значе ние имеет выбор величины модуля. Дело в том, что до стоверность контроля арифметических операций и пере дач чисел тем выше, чем больше величина модуля. Од нако с ростом величины модуля возрастает сложность контрольной аппаратуры.
Остановимся на выборе величины модуля и способах формирования остатков более подробно. Одним из спо собов получения остатка является выполнение операции деления контролируемого числа или суммы его цифр на выбранный модуль. Молено получить остаток, не приме няя операции деления. Для пояснения этого запишем «-разрядное число М в р-й системе счисления:
А4= |
Ьп _ 1р п ' 1 -ф-Ьп _«рп ~ ~ -\- ...- р ö,p — b0= |
2 Ь і р { , (3-12) |
|
|
|
|
; = о |
где |
bj — цифры в і-м |
разряде числа М, |
принимающие |
значения от 0 до р—1. |
|
|
Рассмотрим три -возможных случая выбора модуля (q<p, q= p и q>p) применительно к двоичной системе счисления.
При q<p модуль получается равным единице. Оста ток от деления контролируемого числа в этом случае всегда будет равен самому числу. Поэтому рассматри
вать случай q<p применительно к двоичной |
системе |
счисления не имеет смысла. |
|
При числовом контроле по модулю q = p |
получить |
значительный эффект так же невозможно, так как в этом случае контролироваться будет только последний разряд числа. Все сбои в старших разрядах числа выявляться не будут. Убедиться в этом нетрудно, взглянув на выра жение (3-12). Все члены этого выражения будут кратны модулю q, кроме последнего слагаемого (і= 0 ).
127
При цифровом контроле по модулю q = p = 2 можно обнаруживать одиночные и групповые с нечетной крат ностью (3; 5 и т. д.) ошибки. Такой вид контроля полу чил широкое распространение в ЭЦВМ. Он именуется контролем по четности и был рассмотрен нами выше.
При q>p можно записать: p = q—у, где у — целое положительное число.
•Подставляя значение/?в выражение (3-12), получаем:
|
т і (д-чу. |
|
(3-13) |
||
|
1=0 |
|
|
|
|
Для |
произвольной степени |
і |
разность q—у |
.может |
|
быть записана так: |
|
|
|
|
|
|
(<7-Т)г' = <7г' - |
“7г'" Ч + - |
+ |
|
|
+ |
q t - 'l ' + |
.'. + |
i - m * - |
(3-14) |
Из выражения (3-14) следует, что все члены его, кро ме последнего, кратны q, поэтому остаток от деления числа М на модуль q будет иметь вид:
|
(— 1)г'/ПіТМПОСІ(р+ Т). |
(3-15) |
В двоичной |
г=о |
|
|
системе счисления модуль q обычно вы |
|
бирают равным 3 или 7. |
|
|
Для <7=3 выражение (3-15) запишется: |
|
|
|
П—1 |
|
|
Гт = 2, (— 1)г'/ЛгПЮСІ 3. |
(3-16) |
<=О
Из выражения (3-16) следует, что для нахождения остатка от деления двоичного числа М на модуль 3 необ ходимо просуммировать цифры разрядов числа М с уче том знаков четных и нечетных разрядов.
На основании сказанного нетрудно показать, что, раз бив двоичное число на пары двоичных разрядов, начи ная с младшего, и просуммировав полученные двузнач ные числа по модулю 3, можно получить остаток от деления любого двоичного числа на 3.
Для получения остатка от деления двоичного числа на 7 необходимо разбить это число на тройки двоичных разрядов, начиная с младшего, и просуммировать полу ченные трехзначные числа по модулю 7.
138
Таким образом, для получения контрольного кода, являющегося остатком от деления контролируемого чис ла на 3, можно использовать двухразрядный сумматор с циклическим переносом из старшего в младший раз ряд, а при контроле по .модулю 7 можно остаток полу чить с помощью трехразрядного сумматора с цикличе ским переносом из старшего в младший разряд.
Необходимость циклического переноса можно пояс нить следующим образом. Если при суммировании по mod 11 на двухразрядном сумматоре не учитывать еди ницу переноса в третий несуществующий разряд (напри мер, при сложении чисел 11 и 01), то мы будем терять число 100— 1 modll. Циклический перенос компенсиру ет потерю числа 100 прибавлением единицы в младший разряд сумматора. Аналогично поясняется необходи мость циклического переноса при суммировании с по мощью трехразрядного сумматора.
Для сравнения эффективности числового контроля по модулю 3 и 7 в табл. 3-6 приведены значения вероятности обнаружения одиночных, двойных и тройных ошибок для 40-разрядной параллельной контролируемой кодовой комбинации. Данные в табл. 3-6 определены иа основа нии расчетов [Л. 43], полученных при условии, что метод воплощен в идеально падежной схеме, т. е. вероятность неправильной работы самой контрольной аппаратуры не учитывается.
Как видно из табл. 3-6 эффективность контроля по модулю 7 превышает эффективность контроля по моду лю 3. Это достигается за счет введения дополнительной
избыточности: при контроле |
по модулю |
3 требуются |
|
|
|
Т а б л и ц а 3-6 |
|
|
Вероятность обнаружения ошибок в |
||
|
4 0 -разрядной параллельной кодовой |
||
Вид ошибок |
комбинации |
||
при контроле по |
прп контроле по |
||
|
|||
|
модулю 3 |
модулю 7 |
|
Одиночные |
1 |
1 |
|
Двойные |
0,5 |
0,84 |
|
Тройные |
0,75 |
0,86 |
|
Количество дополнительных разря- |
2 |
3 |
|
дов для представления контроль |
|
|
|
ного кода |
|
|
|
9— 180 |
|
129 |