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

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

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

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

Добавлен: 19.06.2024

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

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

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

- 8 8 -

НО

2

(2 т+ 2 т* / - / j Н ( 2 " <) m o d ( 2 " + , )

и£ (А ) s L Rp (A) +dm (2 m- i) l'tn o d (2 т+ ■/).

Следовательно, здесь нельзя ограничиться циклическим

переносом

в один младший разряд. Перенос необходимо

посылать в

несколько

разрядов. Например,

при ^ = 5

2 m - I -

3 и, следовательно,

перенос необходимо

посылать в

два младших

разряда.

 

Аналогично можно показать, что при сдвиге вычета но

■mod (2т+<) вправо перенос из младшего разряда необходимо пере­ давать в несколько старших разрядов.

Таким образом, для реализации сдвига контрольного кода мож­

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

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

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

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

Пример. К М ) = 101m od7,

В(В) = 011 -mod 7.

R

(A)

=

101

X fc

(B)

=

ОН

I - e частичное произведение

-

101

Сдвиг множимого

 

-

1010

Циклический перенос

 

I

1 -е частичное произведение

-

101

Сдвинутое множимое +

-

о н

Циклический перенос

 

1000

 

L - I

г (A) + Ш ) = 001


и С^д

- 8 9 -

Операция умножения контрольных кодов может быть осущест­

влена либо с помощью обычной схемы умножения, аналогичной схеме

основного АУ, либо с помощью комбинационной схемы, аналогичной

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

казана

на рис.

 

4.4. Булевы

функции ^

и

Cj,0

от входных

пе­

ременных

 

,

7 0

и

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

T j и

 

при

умно­

жении по

-mod?

приведены в таблице

4.3.'

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 4 ,3 .'

 

 

Л по­

О

I

2

3

4

5

6

7

8

9

10

II

12

13

14

15

зиции

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

О 0 0 0 0 0 0 0 I

I

I

I

I

I

I

I

 

 

О 0 0 0 I

I

I

I

0 0 0 0 I

I

I

I

 

Ti О 0 I

I

0 0 I

I

0 0 I

•I

0 0 I

I ■

%

О I

0 I

0 I

0 I

0 I

0 I

0 I

0 I

 

«У

О 0 I

ф 0 0 0 Ф 0 0 I

Ф Ф Ф Ф Ф

О I 0 ф 0 0 0 Ф 0 0 I

Ф Ф Ф Ф Ф

 

к

2

(

2,

9.

10

)

<■Ztpi

3,

7,

I I ,

12 .

13.

14,

15

)

 

 

 

 

 

 

 

 

 

 

T,

 

 

 

 

 

 

 

2 0 = 2

(

I ,

9,

10

)

 

р (

3,

I I ,

12,

13',

 

15

)

Факультативные условия отвечают наборам переменных, содержа­ щим «■ I и Aq = I или Tj *■ I и Tq - Г, которые не могут появиться. После упрощения выражения для ^ будут иметь вид:

Зак.927.



- д о -

+ V o 72

- 4 TZ * * , * 0 Tz

Схема блока умножения, реализующая эти выражения, имеет вид, представленный на рисунке 4 .4 .

Рис. 4.4.

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

Из

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

ми четко

проглядывается преимущество

контроля по модулю ^=2^-1.

В связи

с этим в дальнейшем мы будем

вести речь только о конт­

- 91-

роле по

этому модулю.

 

§ 4 .8 .

Вычисление вычета обратного и дополнительного

кода

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

В связи

с тем, что операция вычитания в ЦВМ выполняется

обычно в обратном или в дополнительном коде; а в запоминающих устройствах информация хранится в прямом коде, в процессе кон» троля возникает необходимость преобразования вычетов прямого

кода в вычеты обратного или дополнительного кода и наоборот*.1

На практике применяются две разновидности контроля:

- контролируется только мантисса числа, а знаковый раз­ ряд в образовании вычета не участвует;

- контролируется весь код числа вместе со знаковым раз­ рядом.

В первом случае контроль реализуется проще, но контроль

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

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

При контроле без учета знакового разряда вычет обратного ко­

да

ч и с т равен вычету

инверсии мантиссы прямого кода

этого

числа.

 

 

 

 

 

 

Р (А 0^)

s R ( A r p ) mod fj. ,

 

где

A -п р .- мантисса

прямого кода числа.

 

Но инверсия мантиссы

П -разрядного чисж

 

 

А'

 

= 2 п-1

-А '

 

 

Апр.

 

1

мпр.

 

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

(A0s)~ [Я(2П- 0~P(Anp)^mod^, .

(4 .1 4 )


В случае

CJ =

2>п- I контрольны!! код занимает гп разрядов, и

диверсия

контрольного кода определяется выражением

 

Ш

щ ) < 2 m-1~R(Anp)]mod(2m- 1 )

или, после исключения из правой части ^,= 2™- I ,

К ( А я р ) н [ - ^ пр)]т т 1о с / ( 2 Г1,- 1 ) .

(4Л 5)

Из выражений 4.14 и 4.15 получаем тождество ,для вычисления вычета обратного кода отрицательного числа по вычету прямого кода этого числа без учета знакового разряда:

W o S ) * l № - 0 + M ^ ) U a d ( 2 m- l) . <4 Л 6 >

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

числом

К = R(2n-1) mad (2 т- i ) .

 

 

С помощью аналогичных

рассуждений можно получить выражение

 

для вычисления вычета

дополнительного кода числа

 

 

^

(Agon)- [R(2n-0 +R(Anp)gon]rrwd(2™- i ) t

(4

.17)

где %(Anp)[jon - дополнение вычета прямого кода числа.

Переход от вычетов обратного или допелнитального кода чи­ сел к вычетам прямого кода этих чисел осуществляется по анало­ гична* формул»*:

R(Anp)s [R(2 - ! ) +^(A0sp)]rmd(2 т- 1)

(4.18)

£ (А лр)- [R (2n-l) + K(Agon)gfon]mod (2m- f )

- 9 3 -

Заметам, что если П выбрать таким, чтобы £ ( 2 П) был

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

ного числа

R (2п-1) mod ( 2 т- 1).

 

 

 

 

 

 

 

Для получения

формул преобразования вычетов при контроле

с учетом знакового разряда запишем выражения прямого кода

обратного

кода А л

 

и инверсии

прямого кода

t

Л

пр

в

виде

сум-

 

оор

 

Оп '2

 

 

 

 

 

 

 

мы знакового разряда

и мантиссы A

 

 

 

 

 

 

А пр = а п- 2 п + л '

н R (A np)modfj.

 

 

 

 

A 0 f y

 

= Qi , 2 n+A

 

s R(AoSp)m oct^

 

 

 

 

А-пр = a n 2 а+ = R(А пр) m o d .

 

 

Вычтем почленно из

второго тождества

третье,

тогда

 

 

 

я (А о5р)

-

s

« п ) - 2 nmod у

 

 

 

или, учтя, что у отрицательного

 

числа

Qn= i , и

#

п = 0

и ,

перенеся R(Anp)

 

в правув часть, получим:

 

 

 

 

 

И(А,;г1,)ш [!1(2'')*!Н\)1 modlj. .

 

(«.ISO

Но инверсию прямого кода Л -разрядного числа можно запи­ сать в виде _

A n f ~ Z n ' - t - ^ n f

или, перейдя к вычетам,

R ( A n p ) = [ R ( 2 n* - 0 - R (Anp)J Tnodf^.

( ч , 2 0 )

Перепишем тождество 4.19 с учетом выражения 4.20 :

Л(Аа6р ^ [ № nft+ 2 n+ i ) - R(A пр)1 W £ с * . 2 Г .