Файл: Самохин А.Ф. Эксплуатация цифровых вычислительных машин [учеб. пособие].pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 19.06.2024
Просмотров: 132
Скачиваний: 0
- 101-
падают. |
|
|
|
|
|
|
Таблица 5Л . |
||
Если обозначить через |
W Y A ) , |
|
|
к |
C i |
||||
W(B) и W(C) веса двоичных ко |
Я| |
||||||||
довых комбинаций А, |
В и С, |
то |
|
0 |
0 |
0 |
|||
W(C)=W(A)+ W(B)-2W(AB), |
|
0 |
I |
I |
|||||
|
I |
0 |
I |
||||||
|
|
|
|
|
|
|
|||
где W ( A B > ) |
- |
количество |
раз |
|
I |
I |
0 |
||
рядов, в которых обе комбинации |
|
|
|
|
|||||
А и В |
имеют |
единицы. Зто значит, что |
из |
суммы весов |
вычитает |
||||
ся четное число |
2W(AB). Следовательно, |
если |
W(A) и W(&) |
||||||
оба нечетны или оба четны, |
то W ( C ) - |
четен; если один из них |
|||||||
■четный, другой нечетный, то |
W ( c ) |
нечетен. |
|
|
|||||
Выполнение операции неравнозначности над признаками чет |
|||||||||
ности чисел А и В |
дает признак четности |
результата |
(в первом |
||||||
случае 0 , во |
втором |
I ) . |
|
|
|
|
|
||
Таким образом, любая одиночная или любая нечетная ошибка |
|||||||||
может |
быть обнаружена. |
|
|
|
|
|
|||
Аналогично может быть проконтролирована операция равнознач |
|||||||||
ности, |
с топ лишь разницей, |
что проверку в этом |
случае необходи |
мо производить на четность нулей, а не единиц.
Несмотря на то , что система контроля по четности позво ляет обнаруживать только ошибки нечетной кратности и требует для контроля арифметических операций достаточно большой и з-
Сыточности аппаратуры. Она широко используется в современных ЭЦВМ (например, в ЕС-1030). Это объясняется тем, что при этом существенно сокращается избыточность аппаратуры на контроль пе редачи и хранения информации, особенно в тех случаях, когда хваление, передача и обработка информации производится побайтно.
- 1 0 2 -
йлесте с тем, весьма перспективно применение контроля по наименьшим вычетам.
§ 5 .2 . Контроль по наименьшим вычетам операции сложения и вычитания
Контроль по наименьшим вычетам операции сложения поло жительных чисел выполняется непосредственно на основании
тождества:
K(A + b ) * [ R ( A ) + № ) ] m o d y .
Контроль реализуется ел едущими операциями:
1 . Пр о и з в о д и т с я с л о ж е н и е |
ч и с е л , и с |
помощью схем ы с в е р т |
|
к и н а х о д и т с я в ы ч е т |
суммы по V w d ^ - |
|
|
2. В арифметическом устройстве контрольных кодов произво |
|||
дится сложение вычетов слагаемых по mod |
, и результат срав |
||
нивается с вычетом суммы, полученным на схеме свертки. |
|||
Пример. |
А = 0,0101 |
R ( A ) = |
Ю ллос/ з |
|
В = ОДОЮ |
R(B) — ОЦтшс/з |
|
А + В = 0,1111 |
R(A + B )s 00тоо(з |
||
К (А) |
+ R (В) = 10 |
+ 01 - 00 тос(з. |
При контроле операций сложенш или вычитания в обратном коде перед выполнением операции над контрольными кодам необ ходимо преобразовать вычеты прямых кодов слагаемых в вычеты обратных кодов. Кроме того , так как при сложении чисел в обрат ном коде может возникнуть перенос из старшего разряда в млад ший и,при этом вес единицы, выходящей за старший разряд, может быть не равен весу единицы младшего разряда, в тождество для
- 103-
вычетов необходимо добавить член, учитывающий этот перенос^
Тоидество для контроля операции сложения в обратных кодах в случае контроля только мантиссы числа имеет вид:
R (Ао5р +BoBp)=fy(Aafip)+J2(bo5p) + (!) R(^.+i~2n)]mod^ , |
5.5 |
вJ сигнал о наличии циклического переноса в оуммато-
|
ре чисел, |
|
|
вычет |
R (Cj+f-2n) |
учитывает разность |
весов вычетов знакового |
R ( 2 n ) разряда |
числа и младшего |
разряда мантиссы ,- л ( 0 . |
|
Модуль |
добавляется для получения положительного вычета. Вес |
знакового разряда учитывается в связи с тем, что для значения вычета потеря происходит при переходе единицы из старшего раз
ряда мантиссы в знаковый. |
|
|
|
|
|
||
Если выбрать количество разрядов таким, |
чтобы вес знако |
||||||
вого разряда |
был |
’ R ( 2 П ) |
5 I 'modCJ |
, то |
циклический пере |
||
нос в АУ чисел учитывать нет необходимости. |
|
|
|||||
Пример: |
А «= |
0,10111, |
В •• 1,01110 |
|
|
||
|
А = |
0,10111 |
7? (А ) |
= |
10 mod3 |
||
|
Воб^ Т' 10001 |
R |
(В ) |
э |
10 тоd3 |
||
|
|
|
|
|
|||
|
|
10,01000 |
|
|
|
|
|
|
|
L— |
I |
|
|
|
|
А + Вобр |
O.OIOOI |
П(к + В) |
з |
00 mod 3 |
|||
|
R( ^ + / - 2 r ) |
= |
73(3 + 1~ 2 S) = /0 mod 3 |
[ R« ) +R (Бо^р)) i R + - 2 n) 1 = [ <0 + »0 +10] = GO m od 3
- 104-
Еоли контролю |
подвергается и знаковый разряд, |
то тождест |
|||
во будет аналогично, с |
той лишь разницей, что в |
выражении, учи |
|||
тываюцем |
перенос в АУ |
чисел, будет учитываться |
вес |
старшего |
|
разряда, |
следующего |
за |
знаковым. |
|
|
R(Аодр +Во5р)s LR(Aofy)fR^оэр) + J?^ +1-2n*)]tnotl(j. 5.6.
При контроле операций, выполняемых в дополнительном коде,
необходимо учитывать потерю единицы из старшего разряда. Тож дество для контроля с учетом знакового разряда имеет вид:
|
R (^ o n +JSlJOn)5 [R^O/l)+R(6^0n) + i 1P ( ^ - 2 ,W /)JmO£/^ , |
5 .7 . |
где |
(4 - сигнал о потере в АУ чисел единицы из старшего |
|
|
разряда. |
|
В случае использования модифицированных кодов контролю подвер>-
гается только один знаковый разряд, так как ошибка во втором знаковом разряде выявляется схемой сравнения знаковых разрядов
§ 5 .3 . Контроль пи наименьшим вычетам операции умножения чисел
Операция умножения выполняется обычно в прямом коде. В
том случае, когда знаковый разряд в образовании контрольного кода не участвует, контроль умножения выполняется по тождест ву
К ( А - В ) = [ Ш - № ) ] п Ы р . |
5. 8. |
- WS'-
Прпмер. |
|
|
A = 0,101 |
E (A) |
= 10 -m ods |
В = 0,101 |
R (B) s io mod 3 |
|
IOI |
|
|
IOI |
|
|
A В = 0,011001 |
R (A-B) |
= 01 'mods |
К( А) - К( ь) = 10-Ю = 01nwd3
Таким образом, контроль сводится к получению с помощью, схе мы свертки вычета произведения чисел и сравнения его с произве дением вычетов сомножителей 710 rnod.3.
Если знаковые разряды участвуют в образовании контрольного кода, приведенное выше тождество несправедливо, так как знако вые разряды в операции умножения не.участвуют. Для вывода тож дества, учитывающего знаковые разряды, запишем выражения для произведения и сомножителей в следующем виде:
A-В-1А'-2'+22П{ап^^)J,
А = а п-2п+ А ', |
2 п + £ ' , |
или, перейдя к остаткам, |
|
ш - ъ ) = 1 т ' ) - т 1)^(ап®Еп) . л ( г 2П) ] тос{ ^
ТН А )=[ап к (2 п) + Ш ‘)Ыос1(}.
H № * [ Z n-R(2n)+R (& ')l™ dcf
Выразив из последних двух тождеств |
|
вив их в тождество для Н а - в ) |
. получим тождество .для кон- |
|
lo t -
г родя операции умножения с учетом знаковых разрядов
К(л а ‘ { Ш А )-0 „1 }(2 “Ш В ) - е „ 1 Н 2 " ) ] *
Полученное тождество может сыть реализовано в арифметическом устройстве контрольных кодов или в общей виде или для четырех
ш с н н х случаев, |
отличающихся сочетанием |
знаков |
сомножителей. |
|||||
В последаам случае перенастройка на то т |
или и н о й |
в а р и а н т |
о с у щ е с т |
|||||
вляется о т с тя ч |
анализа |
знаков сомножителей. |
|
|
|
|
||
Тождества 5 .8 |
и 5 .9 |
справедливы в том случае, |
если |
с |
по |
|||
мощью с х е ш свертки |
получается контрольный код от |
всех |
2 Л |
разрядов произведения. Поэтому, если в ЭВМ младшие разряды произ ведения теряю тся, то необходимо в процессе умножения чисел формировать вычет от тер я еш х разрядов, а при вычислении кон трольного кода в АУ контрольных кодов этот вычет учесть .
Вычисление контрольного кода произведения в этом случае осущ ествляется по толдеству:
R f A - B ) = {[fUA)-an£ ( 2 V 1 № ) Ш ЛЯ *
|
|
|
5 .1 0 |
|
+ (Qn ® £ n ) R ( 2 2n) - R K} |
rn o c ltj , |
|
гд е |
R к - вычет от теряемых разрядов |
(обычно от |
f l раз |
рядов) |
произведения. |
|
|
Способ образования контрольного кода коррекции |
зависит |
от принятого метода выполнения умножения и может быть осущест влен несколькими способами.
Если в АУ имеется регистр произведения удвоенной разряд ности или если в результате умножения младшие разряды произве-
—107 —
ц и к я и гесн и й п е р е н о с
Рис. 51.
- 10.?-
дения записываются в освобождающихся разрядных регистрах множи теля, то код коррекции может быть получен сверткой этих млад
ших разрядов по m ooI (J. . Если же младшие разряды не фиксиру
ются, то для образования контрольного кода коррекции может быть использован Ш -разрядный сумматор по fflodg . На этот сум матор в ходе умножения при каждом сдвиге подается младший (те ряемый) разряд произведения. По окончании умножения на сумма торе будет получен контрольный код коррекции.
Если в АУ реализуется обычный метод умножения со сдвигом
на один разряд в каждом такте, то образование контрольного ко
да коррекции может быть выполнено с |
помощью |
777 -разрядного |
сумматора, схема которого для случая |
= 3 |
представлена |
на рисунке 5 .1 . |
|
|
Так как при определении вычетов четные и нечетные разряда
имеют разные веса I и 2, то сумматор должен обеспечивать сумми рование этих разрядов с соответствующими весами. Для этой цели служит триггер Ту , на счетный вход которого подаются сдвига ющие импульсы. Триггер Ту, опрокидываясь в каждом такте умно жения, обеспечивает прохождение сигнала от теряемого разряда произведения на счетный вход триггера младшего Т0 или старшего
T j разряда сумматора. Для обеспечения циклического переноса из
старшего разряда сумматора служит цепь циклического переноса.
Линии задержки Jig и Дд обеспечивают перенос единицы в том слу
чае, если при подаче очередной единицы или двойки соответству ющий триггер стоит в единичном положении. Элемент И4 и линия
задержки Д^ обеспечивают переброс триггера Tj при переносе из младшего разряда и прохождение единицы переноса мимо старшего
в цепь циклического переноса, когда Tj находится в единичном состолпии.
- 109-
При вычислении контрольного кода произведения необходимо
учитывать, |
что весовые функции всех разрядов |
(и отбрасываемой, |
|||
|
, |
|
«ЯМИ, |
|
полном |
и остающейся части) |
определяются позици” разрядов в |
||||
произведении. Например, при умножении 4-хразрядных чисел весо |
|||||
вые функции разрядов произведения при mod 7 |
будут 4,21421421 . |
||||
Следовательно, при формировании на схеме свертки вычета от ос |
|||||
тающихся 4-х старших разрядов они должны браться с весами |
|||||
4,2142 |
. Обычно же в |
схеме свертки, так как она использу |
|||
ется и в других операциях, |
при формировании вычета принимают |
||||
ся веса разрядов |
2,1421 |
. Поэтому необходимо или перестра |
|||
ивать схему |
свертки |
с тем, |
чтобы формировать вычет |
П-разряд |
ного произведения с учетом весов разрядов в полном произведе нии, или вводить коррекцию при вычислении. Нетрудно сообразить,
что при количестве разрядов п , кратном периоду весовой
функции, никаких дополнительных коррекций не нужно, так как при
этом веса |
старших разрядов |
в полном и в |
Я -разрядном произве |
дении совпадают. Например, |
при ffwdL7 |
и П = 3 - 1,421421 |
|
и - 1,421 |
. Если же Я |
не кратно периоду весовой функции, |
то можно показать, что для коррекции вычисляемого контрольного
кода достаточно |
домножить его правую часть на постоянный множи |
|
тель. Например, |
при контроле по ftfod3 |
и количестве разря |
дов, не кратном двум, вычет от старших и младших разрядов произ ведения можно получить с помощью одной и той же схемы свертки,
если вычисление контрольного кода выполнять по следуицему тож
деству :
т-в)4мА)-апк(2п)]1т)-шп)] +
5 .I I
+ ( й п ® £>n) R ( 'l n>') - 2 % к } m o d 5 .