Правильная ссылка на эту страницу
http://az-design.ru/Support/HardWare/HP/D19860310Elc022.shtml

Экономичная реализация операций умножения

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

Как показали измерения, в большинстве случаев умножение производится на константы, представляющие собой небольшие целые числа. Разработчики поняли, что такие операции умножения можно было бы выполнять, используя предварительный сдвигатель в тракте обработки данных. Для инженеров это послужило начальным толчком, после чего они начали продумывать возможности выполнения и других видов умножений при помощи простейших команд. В набор команд тогда уже входили три команды типа «произвести сдвиг и сложить», служащие для выполнения загрузок с индексацией. По этим командам осуществлялся сдвиг данных на 1, 2 или 3 бит с последующим сложением получившихся в результате чисел. Инженеры предлагали одну за другой оригинальные идеи — как использовать подобные команды для умножения на константы еще большей величины (до 512) за время не более пяти циклов, а в большинстве вариантов решений — за два или три цикла.

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

В машинах архитектуры Precision Architecture операции умножения как на переменные, так и на константы производятся в среднем за три или четыре цикла, т.е. гораздо быстрее, чем во многих других компьютерах, где умножение занимает приблизительно 20 циклов. Таким образом, в результате оказалось, что наличие в архитектуре отдельной команды умножения отнюдь не обязательно.

Родительская статья:

Простота архитектуры—основное достоинство новых компьютеров фирмы Hewlett-Packard

Выходные данные:

Журнал "Электроника" том 59, No.05 (738), 1986г - пер. с англ. М.: Мир, 1986, стр.48

Electronics Vol.59 No.09 March 03, 1986 A McGraw-Hill Publication

Electronics Vol.59 No.10 March 10, 1986 A McGraw-Hill Publication

Раздел: МЕТОДЫ, СХЕМЫ, АППАРАТУРА

Тема:     Компьютеры





Дата последнего изменения:
Thursday, 21-Aug-2014 09:10:44 MSK


Постоянный адрес статьи:
http://az-design.ru/Support/HardWare/HP/D19860310Elc022.shtml