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

UptoLike

109
Возникло переполнение, которое обнаружено по значению цепей
переноса из старшего числового разряда в знаковый и из знакового
при сложении РХ2 и РY2.
Рассмотрим алгоритм умножения в арифметике с многократной
точностью. Пусть надо умножить восьмиразрядные операнды Х и Y
на четырехразрядном процессоре.
Обозначим младшие четыре разряда операндов соответственно
через Х
1
и Y
1
, а старшиечерез Х
2
и Y
2
:
Х=
x
7
x
6
x
5
x
4
x
3
x
2
x
1
x
0
Х
2
Х
1
Y=
y
7
y
6
y
5
у
4
у
3
у
2
у
1
у
0
Y
2
Y
1
Представим Х и Y следующим образом:
Х=X
1
+2
4
*X
2
;
Y=Y
1
+2
4
*Y
2
.
Тогда умножение Х на Y можно представить как
X*Y=(X
1
+2
4
*X
2
)*(Y
1
+2
4
*Y
2
)=X
1
*Y
1
+X
1
*Y
2
*2
4
+X
2
*Y
1
*2
4
+X
2
*Y
2
*2
8
.
Алгоритм умножения по этому выражению будет следующий:
1. Получить произведения: X
1
*Y
1
, X
1
*Y
2
, X
2
*Y
1
, X
2
*Y
2
. Каждое из
нихвосьмибитовое, будет храниться в двух регистрах (или ячейках
памяти) процессора.
2. Просуммировать их значения в соответствии с вышеприведенным
выражением. Схематично это будет выглядеть следующим образом:
к
ты
2
15
2
14
2
13
2
12
2
11
2
10
2
9
2
8
2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
0
Комментарий
1 х х х х
+X
1
*Y
1
(мл. часть)
2 х х х х
+X
1
*Y
1
т. часть)
3 х х х х
+X
1
*Y
2
(мл. часть)
4 х х х х
+X
2
*Y
1
(мл. часть)
5
х
х
х
х
+X
1
*Y
2
   Возникло переполнение, которое обнаружено по значению цепей
переноса из старшего числового разряда в знаковый и из знакового
при сложении РХ2 и РY2.
   Рассмотрим алгоритм умножения в арифметике с многократной
точностью. Пусть надо умножить восьмиразрядные операнды Х и Y
на четырехразрядном процессоре.
   Обозначим младшие четыре разряда операндов соответственно
через Х1 и Y1, а старшие – через Х2 и Y2 :
         x7 x6 x5 x4 x3 x2 x1 x0
    Х=
                Х2               Х1

         y7 y6 y5 у4 у3 у2 у1 у0
      Y=
              Y2              Y1
  Представим Х и Y следующим образом:
  Х=X1+24*X2;
  Y=Y1+24*Y2.
  Тогда умножение Х на Y можно представить как
 X*Y=(X1+24*X2)*(Y1+24*Y2)=X1*Y1+X1*Y2*24+X2*Y1*24+X2*Y2*28.
  Алгоритм умножения по этому выражению будет следующий:
  1. Получить произведения: X1*Y1, X1*Y2, X2*Y1, X2*Y2. Каждое из
них – восьмибитовое, будет храниться в двух регистрах (или ячейках
памяти) процессора.
  2. Просуммировать их значения в соответствии с вышеприведенным
выражением. Схематично это будет выглядеть следующим образом:
Такты 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20          Комментарий
                                                                     +X1*Y1
  1                                                  х   х   х   х
                                                                     (мл. часть)
                                                                     +X1*Y1
  2                                  х   х   х   х
                                                                     (ст. часть)
                                                                     +X1*Y2
  3                                  х   х   х   х
                                                                     (мл. часть)
                                                                     +X2*Y1
  4                                  х   х   х   х
                                                                     (мл. часть)
  5                  х   х   х   х                                   +X1*Y2

                                     109