НПО Системы Безопасности
(499)340-94-73 График работы:
ПН-ПТ: 10:00-19:00
СБ-ВС: выходной

Главная » Периодика » Безопасность

0 ... 16171819202122 ... 101


ший разряд попадает в цепь обратной связи и поступает на вход одноразрядной суммирующей схемы с задержкой на один такт, :

Если для сумматора параллельного типа представление числа в виде дополнительного или обратного кода равноценно, то-для сумматора последовательного действия эти коды явно" неравноценны. При использовании дополнительного кода переноса из знакового разряда нет, если такой перенос возникает, то он просто пропадает. При использовании же обратного кода при возникновении переноса из знакового разряда необходимо передать единицу в младший разряд суммы. Но в сумматоре последователь-

, ного типа младший разряд уже ушел из сумматора, так как сумма в младшем разряде была получена на первом такте суммирования. Это означает, что при работе с обратным кодом на сумматоре последовательного действия необходимо сумму еще раз пропустить через сумматор, начиная с ее младшего раз-

, ряда. К этой сумме необходимо прибавить единицу переноса в младший разряд и возможные переносы из младших разрядов в старшие, которые могут возникнуть при добавлении единицы в младший разряд суммы. На рис. 1.5 необходимость повторного прохождения суммы через одноразрядную суммирующую схему показана в виде -цепи обратной связи с выхода суммы. Задержка в этой цепи обратной связи есть задержка на /г +1 такт суммирования, если число разрядов (включая знаковый) равно /г + 1.

Вообще по целому, ряду причин для машин после- довательного действия обратный код менее удобен нежели дополнительный. Особенно это относится к машинам с двухадресной системой команд, в которых использование обратного кода, приводит к потере возможности совмещения в одном такте выборки второго слагаемого из памяти машины, суммирования слагаемых и отсылки результата на место второго слагаемого. . . , *

С другой стороны, дополнительный код менее удобен, чем обратный (по крайней мере, при использовании двоичной системы счисления), тем, что для перевода в этот код и обратного перевода требуется лишний такт, связанный с тем, что вначале осуще-



ствляется перевод в обратный код, а уж sateM из обратного кода в дополнительный код. При этом при обратном переводе требуется вычитание одной единицы младшего разряда.

Однако для сумматоров параллельного типа этот недостаток дополнительного кода при прямом переводе несуществен, так как добавление единички младшего разряда может происходить непосред- ственно при суммировании. При обратном переводе вычитание единички младшего разряда заменяется прибавлением ,ее дополнительного кода, равного

s-s-\

Если предполагать, что любые пары чисел из интервала (-1,1) равновероятны, то превращение числа в его дополнительный код придется делать примерно в половине случаев сложения-вычитания. Однако, так как программист старается исключить такие случаи суммирования, когда возникает переполнение "разрядной сетки, то 0,25 всех случаев суммирования-можно считать практически не встречающимися при реализации алгебраического сложения. Тогда число случаев, в которых приходится брать дополнительный

или обратный код, возрастает до - от общего ко-- 3

личества случаев сложения-вычитания. В этих рассуждениях мы предполагаем, что числа хранятся в памяти машины, в прямом коде и при одинаковых знаках слагаемых они суммируются без обращения в дополнительный или обратный код. После выпол-

"нения суммирования примерно в - всех случаев

результат получается в дополнительном или обрат-. ном коде, соответствующем отрицательному результату. При хранении информации в памяти машины в прямом коде в этих случаях потребуется обратное преобразование результата в прямой код. Соотношение вероятностей необходимости переходи- к какому-либо коду и вероятностей отсутствия такой необходимости иллюстрируется на рис. 1.6.

На этом рисунке области, оставшиеся незакрашенными, соответствуют случаям, когда нет перехода к каким-либо -кодам; области, покрытые пунк-



тирными линиями, соответствуют случаям, когда совершается однократный переход к какому-либо коду; области, покрытые наклонными линиями, соответствуют случаям, когда преобразование кодов

совершается дважды; наконец, области, закрашенные в темный цвет, соответствуют тем случаям сложения, которые исключаются программистом при решении задачи на машине с фиксированной запятой.

Если через обозначить время, необходимое для образования обратного кода в машине, а через -Cj, - время одного суммирования, то при использовании обратного кода среднее время алгебр а и чес ко г о сложения двух чисел с фиксированной запятой на параллельном сумматоре приблизительно равно


Вычитание

Рис. 1.6

При использовании дополнительного кода

2 . 2 . . \ г \

Если же происходит совмещение такта сложения с добавлением единицы в младший разряд сумматора, то для дополнительного кода среднее время сложения



0 ... 16171819202122 ... 101