Лабораторная работа 3
ИЗУЧЕНИЕ ПРИНЦИПОВ ОРГАНИЗАЦИИ АРИФМЕТИКО-ЛОГИЧЕСКИЗ УСТРОЙСТВ. СТРУКТУРА АЛУ ДЛЯ УМНЛЖЕНИЯ ЧИСЕЛ С ФИКСИРОВАННОЙ ЗАПЯТОЙ
Ц е л ь р а б о т ы: Изучение принципов построения и функционирования АЛУ для умножения чисел с фиксированной запятой.
В в е д е н и е
В ЭВМ операция умножения чисел с фиксированной запятой с помощью соответствующих алгоритмов сводится к операциям сложения и сдвига. Для выпонения умножения АЛУ должно содержать регистры множимого, множителя и схемы формирования суммы частичных произведений – так называемый сумматор частичных произведений, в котором путем соответствующей организации передач производится поседовательное суммирование частичных произведений.
Операция умножения состоит из 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с.