Основы арифметики цифровых процессоров. Вашкевич Н.П - 145 стр.

UptoLike

144
Рассмотрим выполнение контроля операции умножения на при-
мере умножения операндов в восьмиразрядном процессоре в прямом
коде:
Пример. N
3
=N
1
*N
2
;
N
1
=121
(8)
=01010001
(2)
;
N
2
=41
(8)
=00100001
(2)
.
Контроль осуществляется по модулю 7. Вычисление вычетов опе-
рандов дает следующий результат:
R
N1
=4;
R
N2
=5.
Результат умножения N
3
=N
1
*N
2
равен 0000101001110001
(2)
(вы-
полнение алгоритма здесь не приводится). Вычет произведения
(0)(000)(101)(001)(110)(001) равен 6.
Произведение вычетов равно R
N1
*R
N2
=4*5=20
(10)
, mod
7
(20)=6.
Так как вычет произведения равен вычету от произведения выче-
тов, результат операции считается верен.
Если при умножении произошла ошибка и получен неверный ре-
зультат, например, N
3
=N
1
*N
2
=0000101001110000, то вычет произве-
дения будет равен 5 и не равен вычету от произведения вычетов, т.е.
результат операции не верен.
Рассмотрим выполнение контроля операции деления на примере
деления операндов в восьмиразрядном процессоре в прямом коде.
Пример.
N
3
=N
1
/N
2
;
N
1
=241
(8)
=10100001
(2)
;
N
2
=24
(8)
=00010100
(2)
.
Контроль осуществляется по модулю 3. Вычисление вычетов опе-
рандов дает следующий результат:
R
N1
=2;
R
N2
=2.
Результат деления, т.е. частное N
3
=N
1
/N
2
, равен 00001000
(2)
, оста-
ток N
4
равен 00000001
(2)
(выполнение алгоритма здесь не приводит-
ся). Вычет частного R
N3
от N
3
=(00)(00)(10)(00) равен 2. Вычет остатка
   Рассмотрим выполнение контроля операции умножения на при-
мере умножения операндов в восьмиразрядном процессоре в прямом
коде:
   Пример. N3=N1*N2;
   N1=121(8)=01010001(2);
   N2=41(8)=00100001(2).
   Контроль осуществляется по модулю 7. Вычисление вычетов опе-
рандов дает следующий результат:
   RN1=4;
   RN2=5.
   Результат умножения N3=N1*N2 равен 0000101001110001(2) (вы-
полнение алгоритма здесь не приводится). Вычет произведения
(0)(000)(101)(001)(110)(001) равен 6.
   Произведение вычетов равно RN1*RN2=4*5=20(10), mod7(20)=6.
   Так как вычет произведения равен вычету от произведения выче-
тов, результат операции считается верен.
   Если при умножении произошла ошибка и получен неверный ре-
зультат, например, N3=N1*N2=0000101001110000, то вычет произве-
дения будет равен 5 и не равен вычету от произведения вычетов, т.е.
результат операции не верен.
   Рассмотрим выполнение контроля операции деления на примере
деления операндов в восьмиразрядном процессоре в прямом коде.
   Пример. N3=N1/N2;
   N1=241(8)=10100001(2);
   N2=24(8)=00010100(2).
   Контроль осуществляется по модулю 3. Вычисление вычетов опе-
рандов дает следующий результат:
   RN1=2;
   RN2=2.
   Результат деления, т.е. частное N3=N1/N2, равен 00001000(2), оста-
ток N4 равен 00000001(2) (выполнение алгоритма здесь не приводит-
ся). Вычет частного RN3 от N3=(00)(00)(10)(00) равен 2. Вычет остатка


                                144