Изучение принципов организации арифметико-логическиз устройств. Структура алу для умнлжения чисел с фиксированной запятой

Ц е л ь р а б о т ы: Изучение принципов построения и

функционирования АЛУ для умножения чисел с фиксированной

запятой.

В в е д е н и е

В ЭВМ операция умножения чисел с фиксированной запятой с

помощью соответствующих алгоритмов сводится к операциям сложения

и сдвига. Для выпонения умножения АЛУ должно содержать регистры

множимого, множителя и схемы формирования суммы частичных произ-

ведений - так называемый сумматор частичных произведений, в ко-

тором путем соответствующей организации передач производится по-

седовательное суммирование частичных произведений.

Операция умножения состоит из n-1 [(n-1) - число цифровых

разрядов множителя] циклов. В каждом цикле анализируется очеред-

ная цифра множителя и если это "1", то к сумме частичных произ-

ведений прибавляется множимое, в противном сучае прибавления не

происходит. Цикл завершается сдвигом множимого относительно сум-

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

дений относительно неподвижного множимого.

В зависимости от способа формирования суммы частичных про-

изведений различают четыре основных метода выполнения умножения

с соответствующими структурами АЛУ.

1.Умножение, начиная с младших разрядов множителя, со

сдвигом суммы частичных произведений вправо при неподвижном мно-

жимом.

2.Умножение, начиная с младших разрядов множителя, при

сдвиге множимого влево и неподвижной сумме частичных произведе-

ний.

3.Умножение, начиная со старших разрядов множителя, при

сдвиге суммы частичных произведений влево и неподвижном множи-

мом.

4.Умноженине, начиная со старших разрядов множителя, при

сдвиге вправо множимого и неподвижной сумме частичных произведе-

ний.

В лабораторной работе изучается наиболее распространенный

метод умножения целых чисел, начиная с младших разрядов, со

сдвигом суммы частичных произведений вправо. (рис.2)

А л г о р и т м

умножения чисел, представленных в прямом коде,

начиная с младших разрядов, со сдвигом суммы

частичных произведений вправо.

1.Берутся модули от сомножителей.

2.Исходное значение суммы частичных произведений принимает-

ся равным 0.

3.Если анализируемая цифра множителя равна 1, то к сумме

частичных произведений прибавляется множимое; если эта циф-

ра равна 0, прибавление не производится.

4.Производится сдвиг суммы частичных произведений вправо на

один разряд.

5.Пункты 3 и 4 последовательно выполняются для всех цифро-

вых разрядов множителя, начиная с младшего.

6.Произведению присваивается знак плюс, если знаки сомножи-

телей одинаковы, в противном случае - знак минус.

Особенностью умножения целых чисел является то, что резуль-

тат перемножения двух n-разрядных слов представляется словом

двойной длины, при этом число цифровых разрядов двойного слова

2n-1 на единицу больше числа 2n-2 цифровых разрядов, произведе-

ния двух n-1 разрядных чисел. В связи с этим после получения ре-

зультата в формате двойного слова необходимо дополнительно сдви-

нуть его цифровые разряды на один разряд вправо, чтобы правильно

расположить произведение в разрядной сетке.

В структуру АЛУ для умножения n-разрядных целых чисел вхо-

дят (рис.2): входной регистр множимого Pr1, регистры множителя

Pr2 и Pr2',на которых с помощью косой передачи вправо

Pr2':=n(1)Pr2 и передачи Pr2:=Pr2' выполняется сдвиг множителя

вправо; сумматор Cm для преобразования суммы частичных произве-

дений; входной и выходной регистры суммы частичных произведений;

входной и выходной регистры сумматора PrA, PrB, PrCm соответс-

твенно, в которых хранятся текущие значения и образуется новое

значение суммы, счетчик циклов СчЦ. Работа АЛУ при умножении це-

лых положительных чисел происходит следующим образом. Первона-

чально на Pr1 поступает множимое, регистр PrB, хранящий сумму

частичных произведений обнуляется. В счетчик циклов СчЦ заносит-

ся число цифровых разрядов сомножителей. В регистр Pr2 записыва-

ется множитель. На этом завершается процедура начальных устано-

вок и начинается процесс вычислений.

В зависимости от значения младшего разряда 0 или 1 множите-

ля к частичному произведению прибавляется либо 0, либо множимое.

В первом случае PrA:=0, во втором - PrA:=Pr1. В сумматоре полу-

чаем сумму PrA и PrB . Содержимое Pr2 путем косой передачи впра-

во в Pr2' и затем обратно сдвигается на один разряд вправо. Циф-

ра младшего разряда суммы частичных поизведений передается в

старший разряд Pr2'.

Производится сдвиг суммы частичных произведений вправо на

один разряд: косая передача из сумматора в PrCm со сдвигом впра-

во на один разряд, а затем передача PrB:=PrCm. Содержимое счет-

чика тактов уменьшается на единицу.

Если СчЦ <> 0, то все операции повторяются.

Если СчЦ=0, то вычисления заканчиваются в регистре PrCm и

Pr2' будут хранться старшие и младшие разряды произведения.

Знак произведения определяется суммированием по mod2 знако-

вых разрядов сомножителей.

В ы п о л н е н и е

л а б о р а т о р н о й р а б о т ы

Структура АЛУ для умножения чисел с фиксированной запятой и

алгоритм его функционирования моделируется с помощью программы,

реализованной на языке Турбо-Паскаль-7.

Работа с программой осуществляется в интерактивном режиме.

После запуска программы mult.exe на экране дисплея появляется

инструкция для пользователя, согласно которой и выполняется ла-

бораторная работа. Текст описания работы содержится в файле ...

Выполнение изучаемой операции АЛУ осуществляется по шагам и

результат каждого шага отражается на экране в виде кодов содер-

жимого соответсвующего регистров, промежуточных и конечных ре-

зультатов. В процессе выполнения лабораторной работы необходимо

зафиксировать по шагам состояние всех элементов АЛУ, индицируе-

мые соответствующими кодами.

Работу АЛУ необходимо изучить для различных значений опе-

рандов.

По результатам работы необходимо построить блок-схему мик-

ропрограммы работы АЛУ.

С о д е р ж а н и е о т ч е т а

1.Описание работы АЛУ.

2.Блок-схема микропрграммы выполнения операций умножения

для чисел с фиксированной запятой.

К о н т р о л ь н ы е в о п р о с ы

1.В введении к лабораторной работе перечислены четыре воз-

можных алгоритма умножения. Дайте их сравнительный анализ.

2.Какие действия при выполнения умножения влияют на ско-

рость вычислений?

3.Как можно увеличить скорость выполнения умножения?

4.Как работают матричные умножители?

5.Как выполняется умножение чисел с плавающей запятой?

6.Какое умножение требует большего времени - чисел с фикси-

рованной запятой или чисел с плавающей запятой?

7.В чем различие между программной и аппаратной реализацией

умножения?

Л и т е р а т у р а

1.Каган Б.М. Электронные вычислительные машины и системы.-

М.: Энергоатомиздат, 1985-552 с.

2.Нешумова К.А. Электронные вычислительные машины и

системы.-М.: Высшая школа, 1989-336 с.

3.Вычислительные машины, системы и сети: Учебник под ред.

проф7 А.П. Пятибратова - м.:Финансы и статистика, 1991-400 с.

4.Соловьев Г.Н. Арифметические устройства ЭВМ - М.:Энергия,

1978-176 с.

5.Чернов В.Г. Математические и логические основы вычисли-

тельных машин. Методические указания к самостоятельной работе

студентов.-ВПИ, 1992-47 с.

6.Перспективы развития вычислительной техники: в 11 кн.:

Справ. пособие /под ред. Ю.М.Смирнова кн.3:ЭВМ общего назначе-

ния/ Ю.С. Ломов и др.-М.:Высш. шк.-1989-143 с.

7.Анамия М., Танака Ю. Архитектура ЭВМ и искусственный ин-

теллект: Пер. с японского -М.:Мир, 1993-400с.