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

UptoLike

41
[X]
2
0
0
1
0
1
0
1
1
[Y]
2
+
0
1
1
1
0
0
0
1
С 0
1
1
0
0
0
1
1
[S]
2
=
1
0
0
1
1
1
0
0
SF=1; СF=0; ZF=0; OF=1.
Флаг OF=1, так как значение переноса из старшего числового би-
та равно 1, а из знакового бита равно 0 (переполнение в область по-
ложительных чисел). В этом случае результатом операции сложения
будет значение флага OF=1, а не значение регистра РСМ (там невер-
ный результат).
Недостаток этого способа в том, что при его аппаратной реализа-
ции необходимо обеспечить доступ к цепям переноса в сумматоре
(это не всегда возможно), а при программной получить значения
этих переносов возможно только с очень большими затратами.
4.1.4. Алгоритм вычитания операндов
В настоящее время в цифровых процессорах используется как
сумматор, так и вычитатель. Вычитательэто комбинационная схе-
ма на два входа и один выход, во многом аналогичная сумматору. На
один вход подается уменьшаемое, на другойвычитаемое, а на вы-
ходе получается разность. Но в простых цифровых процессорах нет
вычитателя, и для операции вычитания используется сумматор.
В этом случае операция вычитания ХY выполняется на сумма-
торе как Х+( Y). Поэтому в ОА для сложения параллельным спосо-
бом, который представлен ранее на рис. 4.3, есть две микрооперации:
инверсия РСМ и прибавление 1 в младший разряд сумматора:
РСМ:= РСМ;
СМ:= СМ+1.
Вместе эти две микрооперации позволяют получить на входе
сумматора СМ значение операнда, находящегося в РСМ в дополни-
тельном коде со знаком «минус», а первая из нихзначение операн-
да, находящегося в РСМ в обратном коде, со знаком «минус».
Рассмотрим пример вычитания X – Y для восьмиразрядного про-
цессора, работающего в дополнительном коде, с целыми числами в
формате с ФТ, не имеющего вычитателя. Это вычисление будет вы-
полнено как X+( –Y).
    [X]2   0 0      1   0   1   0   1    1
    [Y]2 + 0 1      1   1   0   0   0    1
     С     0 1      1   0   0   0   1    1
    [S]2 = 1 0      0   1   1   1   0    0
   SF=1; СF=0; ZF=0; OF=1.
   Флаг OF=1, так как значение переноса из старшего числового би-
та равно 1, а из знакового бита равно 0 (переполнение в область по-
ложительных чисел). В этом случае результатом операции сложения
будет значение флага OF=1, а не значение регистра РСМ (там невер-
ный результат).
   Недостаток этого способа в том, что при его аппаратной реализа-
ции необходимо обеспечить доступ к цепям переноса в сумматоре
(это не всегда возможно), а при программной – получить значения
этих переносов возможно только с очень большими затратами.
              4.1.4. Алгоритм вычитания операндов
   В настоящее время в цифровых процессорах используется как
сумматор, так и вычитатель. Вычитатель – это комбинационная схе-
ма на два входа и один выход, во многом аналогичная сумматору. На
один вход подается уменьшаемое, на другой – вычитаемое, а на вы-
ходе получается разность. Но в простых цифровых процессорах нет
вычитателя, и для операции вычитания используется сумматор.
   В этом случае операция вычитания Х – Y выполняется на сумма-
торе как Х+( –Y). Поэтому в ОА для сложения параллельным спосо-
бом, который представлен ранее на рис. 4.3, есть две микрооперации:
инверсия РСМ и прибавление 1 в младший разряд сумматора:
   РСМ:= РСМ;
   СМ:= СМ+1.
   Вместе эти две микрооперации позволяют получить на входе
сумматора СМ значение операнда, находящегося в РСМ в дополни-
тельном коде со знаком «минус», а первая из них – значение операн-
да, находящегося в РСМ в обратном коде, со знаком «минус».
   Рассмотрим пример вычитания X – Y для восьмиразрядного про-
цессора, работающего в дополнительном коде, с целыми числами в
формате с ФТ, не имеющего вычитателя. Это вычисление будет вы-
полнено как X+( –Y).

                                    41