Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Самохин А.Ф. Эксплуатация цифровых вычислительных машин [учеб. пособие]

.pdf
Скачиваний:
9
Добавлен:
23.10.2023
Размер:
8.6 Mб
Скачать

- 100-

кода обычно выпол1шется б сумматоре).

 

К о н т р о л ь

о п е р а ц и и

с д в и г а . При сдай­

те числа влево или вправо единицы, выходящие за разрядную сетку,

теряются, а в освооождающиеся разряда при сдвиге прямого кода записываются нули, при сдвиге обратного (дополнительного) - еди-

шщы*

Если фиксировать единицы, вмходяидое за разрядную сетку,

и учесть (при обратном коде) количество единиц, запалнягацих освобождающиеся разряда, то признак четности сдвинутого око.ца формируется достаточно просто:

 

•;

 

га

га

г тер ^

гзап

 

где

Ра -

четность сдвинутого числа А,

 

 

 

Ртер - четность

совокупности разрядов, выходящих за раз­

 

 

рядную сетку,

 

 

 

 

 

 

?зап “ четность

совокупности

освобождающихся разрядов,

 

 

заполняемых единицами (при сдвиге обратного или

 

 

дополнительного кода).

 

 

 

 

 

Контроль операций умножения и деления может быть осущест­

влен путем контроля операций сложения (вычитания) и сдвигов в

каждом такте выполнения этих операций.

 

 

 

К о н т р о л ь

 

л о г и ч е с к и х

о п е р а ц и й

н е р а в н о з н а ч н о с т и

 

и р а в н о з н а ч н о с т и .

 

Операция неравнозначности выполняется в соответствии с

таблицей

5 .1 ,

где

Д(- и £[

-

входные двоичные переменные,

Cg

- выходная.

Из таблицы видно,

что

число

С , являющееся ре­

зультатом поразрядного выполнения операции неравнозначности,

будет содержать столько единиц, сколько их было в исходных чис­ лах А и В, за вычетом едишщ тех разрядов, в потовых они сов -

- 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 .

Соседние файлы в папке книги из ГПНТБ