Файл: Самохин А.Ф. Эксплуатация цифровых вычислительных машин [учеб. пособие].pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 19.06.2024

Просмотров: 136

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

- 81-

Пример. R (A)=OHmod5, R (B)s№ m od$, R(A+B)sOlOtnod5

 

R (

A

)

=

OII

+

П (

в

)

=

IOO

R( a ) +

R (

в

)

=

no

. __________________ i

 

-

010

 

 

 

 

 

 

 

1001

перенос

 

 

 

l— I

R ( a ) + R ( в ) = o io

Операция вычитания контрольных кодов заменяется сложением уменьшаемого с инверсией вычитаемого. При этом так же, как в случае сложения, может возникнуть два случая.

1 . £ R ( A ) - R ()В3 > 0

В этом случае R. ( С ) может принимать любые значения от I до

^. При этом обязательно возникает единица переноса из стар­

шего разряда, которую необходимо учитывать. Таким обраэои, опе­ рация вычитания определяется выражением

R ( A ) - R ( B ) = [ R ( A ) + Щ ) + i - 2 т] modу

2. [ R ( A ) - Ц ( В ) ] * 0

В этом случае разность лежит

в пределах от

нуля до

/

- (^

,

Следовательно, для получения

наименьшего вычета к разности

 

необходимо прибавить величину модуля. Проверкой двух крайних

 

случаев т т п

И Я(А)+Ш) =1'(j, нетрудно

убедиться

в

том,

что

единица переноса в

этом случае при сложении

R (А) с

 

R (В)

0.3ак.837.


Пример.

- 8 2 -

не возникает. Единицу ке переноса, возникающую при добавлении модуля, естественно, следует учитывать. Выражение для вычитания кодов в этом случае имеет вид:

т

Если контроль ведется по модулю 0, =2 - 1 , добавле-

ние модуля выполнять не следует, так как добавление модуля с учетом возникающего при этом переноса равносильно добавлению нуля.

g (а ) + * (В) S [ Л (А) + Я (В)*2 т- 1 * 1 -3 mJ mod (2 П- 1 ) K(A)+R(M)*[fUA) + m ) ] m o d ( 2 т-1 )

R(A)s/Omod3,12[В )=01m odi, Л(А +Ь) =01m odi

 

R (

А )

=

10

+

#

(

В )

=

10

Я ( а ) +

£

( в ) = юо

перенос

R ( А ) - * ( в ) = 01

При контроле по модулю

добавление модуля

обязательно.

 

- < ч -

Пример. ЩК)=011mod5, U(B)-f00nwd5, Я(А)-ШВ)=НЮ mod 5.

 

К (

А )

=

ОН

+

Я (

В )

=

ОН

И ( А ) + R (

В ) =

ПО

________________ +

£

 

=

101

перенос

 

 

 

^ 1

8 ( A ) -

Я (

В ) = ЮО

Таким образом, из рассмотренного

шше материала следует,

что для выполнения операций сложения и вычитания вычетов при

контроле по модулю ^ = 2 т~1 достаточно иметь обычный

/77 -разрядный сумматор с циклическим переносом из старшего разряда в младший.■При контроле же по модулю ^ =*=«£: +1 в

сумматоре должна быть предусмотрена схема сравнения результата операции с модулем и операция добавления или вычитания модуля.

Это обстоятельство свидетельствует в пользу контроля по моду­

лю

о = 2 - 1.

"

На практике сумматоры контрольных кодов строятся как по

схемам, аналогичным схемам контролируемых сумматоров чисел,

так и по схемам, отличным от последних.

На рис. 4 .3 показана схема сумматора контрольных кодов по m od3.


(J,0 -

 

 

 

 

 

 

 

-

8 4 -

 

 

 

 

 

 

 

Работа

схемы определяется

таблицей

4 .2 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица

4 .2 .

№ по­

0

I

2

3

4

5

6

7

8

9

10

II

12

13

14

15

зиции

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*1

0 0 0 0 0 0 0 0 I

I

I

I

I

I

I

I

Ч0

0

0 0

0 I

I

I

I

0

0 0 0 I

I

I

I

Т,

0

0 I

I

0 0 I

I

0 0 I

I

0

0

I

I

То

0

I

0

I

0 I

0 I

0

I

0 I

0

I

0 I

Ь

0

0 0

ф 0 I I

Ф I 0 I

ф

0

0 0 Ф

Чо 0 0 0

ф I I 0 Ф 0 I I

ф 0 0 0

 

Ф

Здесь 'Zf и

 

- входные двоичные сигналы (старший

и млад­

ший разряды суммируемого вычета соответственно), Tj и Т0

-

со­

стояние триггеров,

предшествующее подаче числа; 7 , и ? с ,

| ,к

возбуждающие сигналы, которые должны быть поданы на счет­ ные входы триггеров Tj и Т0 с комбинационной части схемы для ре­ ализации соответствующей строки таблицы.

Так как контроль ведется по m od <3 , то комбинация II на триггерах не имеет смысла, ибо она равносильна 00. Поэтому дан­ ная комбинация считается факультативной.

Функции Cj^ и С^0 для обязательных и факультативных условий имеют вид:

^ - £ ( 5 , 6 , 8 , 1 0 ) + -£ ф (3 ,7 ,» ,1 5 )

£),0 = I (ч, 5, 9, rn) + Zcp (3,7,11,15).


-8S~

После упрощения с помощью карт Карно получается выражение

^ -%г*0(т, +т0) * ^ 0(r^f0)

?0= Tt + 7t70( f t +Г0).

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

ствие на входе комбинационной части схемы на время выполне­ ния сложения сигналов, соответствующих предшествующему состо­ янию триггеров.

Рис. 4.3.

- 8 6 -

Слагаемые вычеты подаются последовательно. Работа схемы оче­ видна из логических выражений. В случае выполнения вычитания соответственно на вход подается инвертированный код. Практика

проектирования

таких

схем показывает,

что обычно они содержат

элементов не больше,

чем 2 разряда основных сумматоров.

 

5

4 .7 .'

Сдвиг и умножение вычетов

Если регистр, в котором производится сдвиг контрольного

кода,

содержит

количество разрядов, равное количеству разрядов

в этом

коде, то

выходящие при этом за

разрядную сетку едини­

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

Покажем, что тождественность кода, получаемого в регист­

ре после сдвига, истинному значению сдвинутого кода можно обео-

печить введением цепей циклического переноса. Рассмотрим опера­

цию сдвига контрольного кода на один

разряд влево и вправо.'

I .

Сдвиг на

один разряд влево в

ГЛ -разрядном регистре

вычета

по модулю

2 т- / .

 

Сдвиг на один разряд влево равносилен умножению на 2. Запишем значение сдвинутого кода в следующем виде:

R (A ) = K ( A ) - 2 * [ * />(A)+o(rn_1- 2 mlmoc/p,

где Т^-р(б) - часть сдвинутого кода, оставшаяся в регистре;

2 ^ • старший разряд кода, вышедший за разрядную

сетку.

но

Z m = ( f + S m- 0 * i m o d (2 m- t ) .


- 8 7 -

Следователъно,

И(А) 3 (А)+ ^ т _,]тлоо/ (2т-/ )

Таким образом, тождественность вычета по mod (2m-i) , образу­ ющегося в регистре, истинному значению сдвинутого кода обеспе­ чивается выполнением циклического переноса из старшего разряда в младший.

Пример. R (А )

=

Ю1 mod 7

R (А ) - 1,010 ё O il mod7

 

 

 

ТП-разрядной

u » I

2.

Сдвиг вправо

в

суыиаторе вычета по

mod

( 2m~ i ) .

 

 

 

Сдвиг вправо равносилен умножению на 2“ * . Значение сдвинутого кода определяется выражением

где

-

часть

сдвинутого кода,

оставшаяся в регистре!

 

-

младший разряд кода, вышедший

за разрядную се т -

 

 

КУ.

/77

 

 

Домножим

Ы0 2

' на

4) ",

тогда

2 = 1 mod. (2

К ( A ) * U 2 p ( A ) + d 0 - 2 m 1J m o d ( 2 ™ - 1 ) .

Но о(0 2 соответствует переносу единицы из младшего раз­ ряда в старший. Следовательно', при сдвиге вправо необходимо обеспечить циклический переноо из младшего разряда в старший^

Пример.

R (A ) s Ю1 mod 7,

R (А ) - ОЮ’Л ш НО mod 7

 

 

I —

1

3 . При

сдвиге влево в ( ГП + 1

)-разрядно*1

регистре выче-

та по mod(2m+<) выражение для сдвинутого КОДД имеет вид:

% ( А ) = R ( A ) - 2 = L % p (A )+ d m 2 m,ir1 m o d (2™ * < ).