ВУЗ:
Составители:
106
Следует отметить (такой случай есть в вышеприведенном примере),
что если при значении СЧТ=0 в Р2 нужно учесть дополнительную 1 от
предыдущей комбинации 11, то к РСМ прибавляется множимое без
последующего сдвига; затем делается «n сдвиг», если умножаются це-
лые операнды, а если дробные – обнуляется последний бит Р2.
4.8. Выполнение арифметических операций
в цифровых процессорах с многократной точностью
Во всех ранее рассмотренных алгоритмах арифметических и свя-
занных с ними логических операций и операций сдвига цифровой
процессор обрабатывал операнд одиночной длины, т.е. длины, рав-
ной разрядности процессора. Операция в этом случае выполняется
одной командой процессора за один такт его работы (сложение, вы-
читание, сдвиги, логические операции) или за несколько тактов (ум-
ножение, деление). Но можно выполнять обработку операндов, раз-
рядность которых кратна разрядности (двух, трех, и т.д.) процессора.
Например, сложение операндов двойной длины будет выполнено не
одной командой, а двумя, и затрачено будет на это два такта. Такую
арифметику будем называть арифметикой многократной точности.
Для поддержки такой арифметики в процессоре есть специальные
команды. Например, для сложения в процессорах фирмы Intel есть
команды ADD <регистр источник>,<регистр приемник> и ADC <ре-
гистр источник >,<регистр приемник>. Первая команда складывает
регистр источника с регистром приемником. Результат сложения за-
поминается в регистре приемнике, а значение переноса из старшего
разряда суммы запоминается во флаге CF. Вторая команда складыва-
ет регистр источника с регистром приемником и с флагом переноса.
Результат сложения запоминается в регистре приемнике, а значение
переноса из старшего разряда суммы запоминается во флаге CF. Ис-
пользуя эти две команды друг за другом можно по «цепочке» скла-
дывать операнды любой длины кратной разрядности процессора.
Рассмотрим примеры сложения и вычитания в арифметике с много-
кратной точностью. Пусть процессор, работающий в дополнительном
коде, имеет разрядность четыре и крайний левый разряд знаковый. Вы-
полнить операции Х+Y и Х –Y над восьмиразрядными операндами, у
которых крайний левый разряд знаковый. Пусть операнды Х и Y хра-
нятся соответственно в следующих регистрах процессора:
Следует отметить (такой случай есть в вышеприведенном примере), что если при значении СЧТ=0 в Р2 нужно учесть дополнительную 1 от предыдущей комбинации 11, то к РСМ прибавляется множимое без последующего сдвига; затем делается «n сдвиг», если умножаются це- лые операнды, а если дробные – обнуляется последний бит Р2. 4.8. Выполнение арифметических операций в цифровых процессорах с многократной точностью Во всех ранее рассмотренных алгоритмах арифметических и свя- занных с ними логических операций и операций сдвига цифровой процессор обрабатывал операнд одиночной длины, т.е. длины, рав- ной разрядности процессора. Операция в этом случае выполняется одной командой процессора за один такт его работы (сложение, вы- читание, сдвиги, логические операции) или за несколько тактов (ум- ножение, деление). Но можно выполнять обработку операндов, раз- рядность которых кратна разрядности (двух, трех, и т.д.) процессора. Например, сложение операндов двойной длины будет выполнено не одной командой, а двумя, и затрачено будет на это два такта. Такую арифметику будем называть арифметикой многократной точности. Для поддержки такой арифметики в процессоре есть специальные команды. Например, для сложения в процессорах фирмы Intel есть команды ADD <регистр источник>,<регистр приемник> и ADC <ре- гистр источник >,<регистр приемник>. Первая команда складывает регистр источника с регистром приемником. Результат сложения за- поминается в регистре приемнике, а значение переноса из старшего разряда суммы запоминается во флаге CF. Вторая команда складыва- ет регистр источника с регистром приемником и с флагом переноса. Результат сложения запоминается в регистре приемнике, а значение переноса из старшего разряда суммы запоминается во флаге CF. Ис- пользуя эти две команды друг за другом можно по «цепочке» скла- дывать операнды любой длины кратной разрядности процессора. Рассмотрим примеры сложения и вычитания в арифметике с много- кратной точностью. Пусть процессор, работающий в дополнительном коде, имеет разрядность четыре и крайний левый разряд знаковый. Вы- полнить операции Х+Y и Х –Y над восьмиразрядными операндами, у которых крайний левый разряд знаковый. Пусть операнды Х и Y хра- нятся соответственно в следующих регистрах процессора: 106
Страницы
- « первая
- ‹ предыдущая
- …
- 105
- 106
- 107
- 108
- 109
- …
- следующая ›
- последняя »