Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
4.4. МЕТОДЫ УСКОРЕНИЯ ОПЕРАЦИИ УМНОЖЕНИЯЛюбое ускорение операции умножения даже ценой усложнения арифметических и логических схем позволяет существенно повысить быстродействие ЭВМ, так как примерно Известны способы ускорения умножения, направленные на сокращение общего количества и времени выполнения операций сложения, необходимых для образования произведения. Эти способы делятся на логические и аппаратные. Под аппаратными понимают такие способы, которые требуют для своей реализации введения дополнительного оборудования в основные арифметические цепи, благодаря чему достигается совмещение во времени отдельных составных частей процесса умножения. Они подразделяются на способы Под логическими понимают такие способы ускорения, при реализации которых сохраняется без каких-либо изменений основная структура арифметических цепей умножителя, а ускорение достигается только за счет усложнения схемы управления. Простейшим логическим способом является пропуск тактов суммирования в тех случаях, когда очередная цифра множителя равна 0. Если обозначить через
В среднем количество сложений при этом сокращается вдвое. Можно уменьшить и среднее, и максимальное количество суммирований при использовании как прямых, так и инверсных передач множимого в сумматор. Здесь учитывается то обстоятельство, что время умножения значительно сокращается, если при наличии в разрядах множителя цепочки нулей подряд производить его сдвиг сразу на несколько разрядов. Для этого видоизменяют код множителя с целью представления его с меньшим количеством разрядов, содержащих единицу. Этот код требует как прямых, так и инверсных передач множимого в сумматор. Например, группу единиц в множителе Таким образом, в основе способа лежит представление числа как совокупности следующих последовательностей: нулей, единиц, нулей с изолированными единицами, единиц с изолированными пулями. Правила для определения оптимального представления множителя, при котором получается наименьшее количество передач множимого, гласят следующее: два или больше соседних пулей или соседних единиц необходимо рассматривать как последовательность. Если, на пример, умножение начинается с младших разрядов и множитель содержит последовательность единиц, то производится вычитание множимого с соответствующим (младшим) весом, а затем сдвиг через все эти единицы. Сдвиг через последовательность единиц прекращается на первом нуле. Если сразу за этим нулем расположена единица, то множимое вычитается и выполняется сдвиг через последовательность единиц. Если за этим нулем непосредственно следует второй нуль, то множимое прибавляется, а затем выполняется сдвиг через последовательность нулей, который прекращается на первой единице. Если за этой единицей следует нуль, то множимое прибавляется и производится сдвиг через последовательность нулей. Если за этой единицей непосредственно следует вторая единица, то производится вычитание множимого с соответствующим весом данного разряда, а затем сдвиг через последовательность единиц. Если в старшем разряде множителя стоит 1, входящая в последовательность единиц, то сдвиг необходимо продолжать до первого нуля после старшего разряда множителя. Следует отметить, что при умножении старшими разрядами применяются несколько другие правила определения оптимального множителя. И в том, и в другом случае в среднем на каждую операцию сложения выполняется сдвиг на 2,9 разряда, если схема рассчитана на сдвиг не более чем на 6 разрядов одновременно. Таблица 4.1
В пределе среднее число сложений-вычитаний, приходящееся на один разряд множителя, равно Таким образом, переход от одной разновидности двоичной системы счисления к другой при преобразовании множителя позволяет получить выигрыш во времени выполнения операции в целом. При этом возникают определенной длины последовательности 0 или 1, что в конечном счете приводит к необходимости одновременного анализа нескольких разрядов множителя и сдвигу на произвольное число разрядов. Одновременное умножение на два разряда. Количество циклов, необходимых для реализации в ЭВМ операции умножения, можно сократить, если в каждом цикле анализировать не один, а два или более разрядов множителя» выполняя после анализа одну передачу множимого в сумматор и сдвиг множителя на соответствующее число, т. е. два или более, разрядов. Количество типов передач в Для организации ускоренного умножения разбивают множитель на группы по два разряда и преобразуют его таким образом, чтобы каждая группа содержала не более одной значащей единицы, понимая код последней 1 или 1. Тогда для младшей пары разрядов при умножении с младших разрядов возможны следующие комбинации единиц и нулей в разрядах Для первой комбинации не производится ни сложение, ни вычитание, для второй — суммирование множимого, для третьей — суммирование сдвинутого на один разряд влево множимого, т. е. умноженного на два, а для четвертой — вместо двух сложений при умножении без ускорения выполняется одно вычитание множимого и одно сложение после сдвига множимого на 2 разряда, т. е. пара разрядов множителя преобразуется к виду 101. Поскольку сложение после сдвига приходится на умножение на следующую пару разрядов, то, вместо того чтобы его выполнять, добавляют единицу в следующую за данной пару разрядов. С учетом этого действия при умножении выполняются в соответствии с табл. 4.1. Описанная процедура повторяется для всех пар разрядов множителя, а также для одной пары разрядов левее запятой, т. к. может оказаться необходимым добавить к ней (к ее нулям) единицу. Например, множителю 0,100111 соответствует преобразованный множитель 0,101001. Пример. В примере вертикальной чертой отделены два знаковых разряда сумматора и два анализируемых разряда регистра множителя.
Умножение выполняется за 3 такта вместо Таким образом» ускорение умножения достигается за счет того, что: при комбинации 11 два сложения заменяются одним вычитанием, которое эквивалентно сложению благодаря использованию инверсных кодов; добавление 1 в соседнюю старшую группу множителя производится одновременно с вычитанием множимого и, следовательно, не увеличивает время умножения. Следует отметить, что в общем случае при умножении на два разряда. множителя двух знаковых разрядов в сумматоре недостаточно. Здесь возможны случаи при в первом такте во втором такте после сдвига содержимого сумматора на 2 разряда вправо
Таблица 4.2
При любом А сумма При одновременном анализе двух разрядов, начиная со старших, правила преобразования множителя существенно изменяются. На характер действий влияет значение соседнего справа разряда по отношению к анализируемой паре разрядов. При этом анализ разрядов всегда начинается с пустой пары. В зависимости от значения соседнего справа разряда происходит изменение состояния преобразуемых разрядов и выполнение действий в соответствии с табл. 4.2. Следует отметить, что объем оборудования АУ при умножении на два разряда несколько увеличивается по сравнению с Одновременное умножение на три и более разряда, для реализации которого применим подобный способ ускорения, используется реже, так как при этом увеличивается количество требуемых типов передач. Это приводит к значительному усложнению схем, реализующих умножение. Вместе с тем в некоторых ЭВМ, например, старших моделей серии Этот способ может быть реализован, например, путем предварительного формирования таблицы значений Таблица 4.3
множимого с регистра А прямым или инверсным кодом со сдвигом соответственно на 1,2 и 3 разряда влево. Значения множимого С целью исключения четырех подготовительных тактов, которые необходимы для получения таблицы значений Следует отметить, что при реализации данного способа сумматор должен содержать 5 знаковых разрядов, а регистры таблицы но 4 знаковых разряда. Умножение с запоминанием промежуточных переносовВремя умножения можно сократить путем уменьшения длительности каждого такта передачи множимого в СМ за счет исключения из пего времени, затрачиваемого на распространение переносов. Суть этого способа ускорения состоит в том, что весь процесс получения произведения выполняется суммированием без распространения переносов с одновременным их накоплением и однократным распространением переносов на заключительном этапе умножения. При этом в каждом цикле умножения (при
|
1 |
Оглавление
|