Лабораторная работа по информатике ( задания )

Лабораторная работа 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с.