Регистр множителя и сумматор частичных произведе ний при этом должны иметь цепи сдвига вправо. Регистр множимого может не иметь цепей сдвига.
Последовательность действий на каждом шаге выпол нения умножения определяется младшим разрядом ре гистра множителя. Если в нем записана 1, то к сумме частичных произведений добавляется множимое и затем производится сдвиг вправо в регистрах множимого и частичных произведений. Если в младшем разряде ре гистра множителя записан 0, то производится сдвиг без выполнения сложения.
Поскольку по мере сдвига множителя вправо стар шие разряды регистра множителя освобождаются, он может быть использован для хранения младших разря дов произведения, поступающих из младшего разряда регистра частичных произведений по мере выполнения
умножения.
Для этого при выполнении сдвига младший разряд регистра частичных произведений соединяется со стар шим разрядом регистра множителя. После выполнения умножения старшие разряды произведений, младшие разряды — в регистре множителя.
При данном методе умножения все три регистра должны иметь одинаковую длину, равную количеству разрядов одного сомножителя. Этот метод умножения нашел наибольшее применение в вычислительных ма шинах.
2. Умножение начиная с младших разрядов множите ля при неподвижных частичных произведениях.
Регистр множителя при этом должен иметь цепи сдвига вправо, регистр множимого — цепи сдвига влево, а сумматор частичных произведений не содержит цепей сдвига.
Последовательность действий определяется, как и в первом варианте, младшим разрядом регистра мно жителя.
При этом методе выполнения умножения регистр множимого и сумматор частичных произведений долж ны иметь длину, вдвое большую, чем количество разря дов одного сомножителя. Несмотря на увеличение коли чества оборудования по сравнению с первым методом, этот метод никаких дополнительных преимуществ не да ет и потому применение его нецелесообразно.
3. Умножение начиная со старших разрядов множи теля при неподвижном множимом.
Регистр множителя и сумматор частичных произведе ний должны иметь цени сдвига влево. Регистр множимо го не имеет цепей сдвига.
Последовательность действий на каждом шаге вы полнения умножения определяется старшим разрядом регистра множителя.
При этом методе умножения сумматор частичных произведений должен иметь двойную длину. Можно сум матор частичных произведений выполнить одинарной длины, если для хранения старших разрядов использо вать регистр множителя, который освобождается, начи ная с младших разрядов в процессе выполнения умноже ния. При этом, однако, необходимо, чтобы регистр множителя имел схему переносов, соединенную со стар шим разрядом сумматора частичных произведений. Дан ный метод требует дополнительного по сравнению с пер вым методом оборудования (двойная длина сумматора частичных произведений или наличие цепей переноса в регистре множителя). Несмотря на это, он применяет ся в некоторых арифметических устройствах, так как позволяет без дополнительных цепей сдвига выполнять и деление.
Для выполнения операций деления в АУ, реализую щем первый метод выполнения умножения, необходимы дополнительные цепи сдвига влево в регистре множимого (частного) и в сумматоре частичных произведений (раз ностей) .
4. Умножение начиная со старших разрядов множите ля при неподвижных частичных произведениях.
Регистр множителя должен иметь цепи сдвига влево, регистр множимого — цепи сдвига вправо. Сумматор частичных произведений не имеет цепей сдвига. Последо вательность действий на каждом шаге умножения опре деляется старшим разрядом регистра множителя.
При этом методе выполнения умножения и регистр множимого и сумматор частичных произведений должны иметь двойную длину. Однако в тех случаях, когда про изведение может иметь одинарную длину, нет смысла удваивать длину регистра множимого и сумматора ча стичных произведений. Достаточно увеличить их длину на количество разрядов k, значительно меньшее, чем число разрядов множимого п. В [Л. 5] показано, что ко-
личество дополнительных разрядов k определяется усло вием
Вэтом случае применение данного метода умножения оказывается очень выгодным. Как и третий метод, он не требует дополнительных цепей сдвига для выполнения деления. Кроме того, так как частичные произведения остаются неподвижными в процессе выполнения умноже ния, этот метод позволяет легко совместить операции сложения и сдвига при умножении и делении.
Взависимости от способа организации умножения ре зультат может иметь одинарную или двойную длину.
Если в машине предусмотрена возможность работы с числами двойной длины, например, с помощью подпро грамм, то в результате умножения должны быть обра зованы как старшие, так и младшие разряды произ ведения.
В случае необходимости образования произведения двойной длины наиболее экономичным является первый из рассмотренных методов умножения, так как он позво ляет использовать все регистры одинарной длины.
Другие методы умножения в этом случае обычно не используются, так как для их реализации необходимо иметь сумматор или регистр множимого двойной длины, что значительно увеличивает затраты оборудования АЛУ.
Если в результате умножения достаточно иметь про изведение одинарной длины, то целесообразно использо вать либо первый, либо четвертый метод умножения. Первый метод требует введения дополнительных цепей сдвига для реализации деления, а при использовании четвертого метода необходимо удлинение сумматора. Выбор одного из этих методов умножения определяется соотношением затрат оборудования на реализацию цепей сдвига и дополнительных разрядов сумматора.
При образовании произведений одинарной длины простое отбрасывание младших разрядов вносит погреш ность, которая может накапливаться, так как произведе ние будет всегда вычисляться с недостатком. Поэтому для повышения точности вычислений часто производят округление результата умножения, благодаря чему ошибка становится знакопеременной.
Для округления произведения длина сумматора ча стичных произведений обычно увеличивается на один разряд. После образования произведения к этому допол нительному разряду прибавляется единица. Если допол нительный разряд произведения был равен 0, то произ ведение в основных разрядах сумматора получается с недостатком. Если дополнительный разряд был равен 1, то в результате переноса единицы из дополнительного разряда к основным разрядам сумматора добавляется единица и произведение получается с избытком. При этом максимальное значение ошибки произведения рав но половине единицы младшего разряда. Математичес кое ожидание ошибки при условии равенства вероятно стей нулей и единиц в каждом разряде отброшенной части произведения имеет нулевое значение.
5-6. МЕТОДЫ УСКОРЕНИЯ УМНОЖЕНИЯ
Методы ускорения умножения делятся на аппаратные и логические. Как те, так и другие требуют дополнитель ных затрат оборудования. При использовании аппарат ных методов дополнительные затраты оборудования прямо пропорциональны количеству разрядов чисел в арифметическом устройстве. Эти методы вызывают усложнение схемы арифметического устройства и не за трагивают схемы управления.
Дополнительные затраты оборудования при реализа ции логических методов ускорения умножения не зави сят от разрядности арифметического устройства. Услож няется в основном схема управления арифметическим устройством. В вычислительных машинах для ускоре ния умножения часто используют комбинации этих методов.
К аппаратным методам ускорения умножения отно сятся: ускорение выполнения операций сложения и сдви га, использование при выполнении умножения прямого вычитания, введение дополнительных цепей сдвига, по зволяющих за один такт производить сдвиг информации в регистрах сразу на несколько разрядов, совмещение по времени операций сложения и сдвига.
Ускорение выполнения операции сложения может быть достигнуто увеличением скорости работы логичес
ких элементов и триггеров, ускорением распространения переносов, а также использованием схем однотактных сумматоров вместо двухтактных.
Ускорение выполнения операции сдвига также может быть достигнуто повышением скорости работы логиче ских элементов и триггеров и применением однотактного сдвига вместо двухтактного (сдвига с предварительным сбросом триггеров).
Для реализации логических методов ускорения умно жения, позволяющих за один такт обрабатывать не сколько разрядов множителя, необходимо ввести в ре гистры дополнительные цепи, предназначенные для сдвига множителя и частичных произведений (или мно жимого) сразу на количество разрядов, обработанных на данном шаге умножения.
Совмещение по времени операций сложения и сдвига может быть достигнуто выбором не только метода умно жения, но и схемы сумматора. В сумматорах комбинаци онного и комбинационно-накапливающего типов можно формировать в каждом разряде сумматора сигналы сум мы и инверсии суммы и результат сложения при необхомости передавать не в данный, а в соседний разряд. Вве дением дополнительных схем передачи результата суммирования в регистр суммы можно совмещать сло жение со сдвигом сразу на несколько разрядов.
Логические методы ускорения умножения делятся на две группы:
1)методы, позволяющие уменьшить количество сум мирований в ходе умножения;
2)методы, позволяющие за шаг умножения обрабо тать несколько разрядов множителя. Реализация этих методов требует введения в регистры дополнительных цепей сдвига.
Всвою очередь методы ускорения умножения с обра боткой за шаг нескольких разрядов множителя делятся на синхронные и асинхронные. Синхронные методы ха рактеризуются тем, что на каждом шаге умножения об рабатывается фиксированное число разрядов множителя (длина шага умножения постоянна).
При реализации асинхронных методов ускорения умножения количество разрядов множителя, обрабаты ваемых на шаге умножения, зависит от комбинации раз рядов множителя, исследуемых на данном шаге (длина шага умножения переменна).