Изучение принципов организации арифметико-логическиз устройств. Структура алу для умнлжения чисел с фиксированной запятой
Ц е л ь р а б о т ы: Изучение принципов построения и
функционирования АЛУ для умножения чисел с фиксированной
запятой.
В в е д е н и е
В ЭВМ операция умножения чисел с фиксированной запятой с
помощью соответствующих алгоритмов сводится к операциям сложения
и сдвига. Для выпонения умножения АЛУ должно содержать регистры
множимого, множителя и схемы формирования суммы частичных произ-
ведений - так называемый сумматор частичных произведений, в ко-
тором путем соответствующей организации передач производится по-
седовательное суммирование частичных произведений.
Операция умножения состоит из 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с.