ВУЗ:
Составители:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 40
- 41
- 42
- 43
- 44
- …
- следующая ›
- последняя »
