Смекни!
smekni.com

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

Лабораторная работа 4

ИЗУЧЕНИЕ ПРИНЦИПОВ ОРГАНИЗАЦИИ АРИФМЕТИКО-ЛОГИЧЕСКИХ УСТРОЙСТВ. СТРУКТУРА АЛУ ДЛЯ ДЕЛЕНИЯ ЧИСЕЛ С ФИКСИРО-

ВАННОЙ ЗАПЯТОЙ

Ц е л ь р а б о т ы: Изучение принципов построения и функционирования АЛУ для деления чисел с фиксированной запятой.

В в е д е н и е

Деление в ЭВМ обычно сводится к выполнению последователь­ности вычитаний делителя сначала из делимого, а затем из образу­ющихся в процессе деления частичных остатков и сдвига частичных остатков.

Алгоритм деления аналогичен алгоритму деления при ручном счете. Рассмотрим особенности деления на примере деления целых чисел.

Пусть Z=X/Y где X-делимое, представленное обычно двойным словом (2n-1 цифровых разрядов), Y-делитель и Z-частное, предс­тавленное словами, содержащими n-1 цифровых разрядов.

Так как частное Z-слово, размещаемое в n-разрядном регист­ре, то должно иметь место неравество

n-1 n-1

|Z|<2 . Это возможно при условии (|Х |*2 - |Y|)<0

Поэтому перед выполнением операций деления производится так называемое "пробное" вычитание: из делимого X вычитают делитель Y, сдвинутый на (n-1) разрядов влево, а при неподвижном делителе сдвигается делимое на один разряд влево.

Если результат "пробного" вычитания больше 0, то n-1

|Z|>=2 и деление невозможно, если меньше 0, то можно

выполнить деление.

Реализовать деление можно двумя основными способами:

1.Деление с неподвижным делимым и сдвигаемым вправо делите­лем.

2.Деление с неподвижным делителем и сдвигаемым влево дели­мым.

Второй способ широко используется в арифметико-логических устройствах.

В этом случае возможно два алгоритма:

- алгоритм деления с неподвижным делителем и восстановлени­ем остатка,

- алгоритм деления с неподвижным делителем без восстановле­ния остатка. Последний алгоритм используется наиболее часто и состоит

из следующих этапов:

1.Берутся модули от делимого и делителя.

2.Исходное значение частичного остатка полагается равным старшим разрядам делимого.

3.Частичный остаток удваивается путем сдвига на один разряд влево, при этом в освобождающийся при сдвиге младший разряд час­тичного остатка заносится очередная цифра делимого.

4.Из сдвинутого частичного остатка вычитается делитель, ес­ли остаток положителен ,или к сдвинутому частичному остатку при­бавляется делитель, если остаток отрицателен.

5.Очередная цифра модуля частного равна 1, если результат вычитания положителен, и 0, если отрицателен.

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

7.Знак частного-"плюс", если знаки делимого и делителя оди­наковы, и "минус" в противном случае. Деление без восстановления остатка всегда требует для получения одной цифры частного только сложения или вычитания и сдвига частичного остатка . После за­вершения всех циклов деления выдается результат, при этом если остаток отрицателен, то он восстанавливается путем подсуммирова­ния Y.

Структура АЛУ для выполнения деления приведена на рис.3.

В состав АЛУ входят: входной регистр PrY (хранит дели­тель-неподвижный); многофункциональный регистр PrX, который яв­ляется входным регистром сумматора, входным регистром АЛУ, хра­нит первоначальное делимое, а затем частичные остатки, а также используется при их сдвиге; сумматор PrCM, используемый для сдвига частичных остатков вправо; счетчик циклов СчЦ.

В начальный момент с шины данных делимое и делитель посту­пают в соответствующие им регистры PrX и PrY. Затем из делимого в PrX вычитается делитель PrY (при этом начальное значение час­тичного остатка равно делимому); результат пересылается в PrCm, а из PrCm -в PrX. Таким образом остаток получает новое значение, а счетчик циклов сбрасывается в 0. На этом заканчивается уста­новка исходного состояния.

По знаку остатка в PrX определяется очередная цифра частно­го PrZ, если PrX>=0, то PrZ [СчЦ]:=1, иначе - PrZ[СчЦ]:=0. В PrCm поступает сдвинутый на разряд влево PrX (остаток удваивает­ся), затем содержимое PrCm пересылается в PrX.

Выполняется вычитание (прибавление) делителя. Из сумматора разность (сумма) поступает в PrCm и пересылается в PrX. На этом шаге заканчиваеся вычисление нового остатка.

Содержимое счетчика циклов увеличивается на единицу. Если СчЦ=n-1, то вычисления заканчиваются, в противном случае - пов­торяются.

В ы п о л н е н и е

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

Структура АЛУ для деления чисел с фиксированной запятой и алгоритм его функционирования моделируется с помощью программы, реализованной на языке Турбо-Паскаль-7.

Работа с программой осуществляется в интерактивном режиме. После запуска программы division.exe на экране дисплея появляет­ся инструкция для пользователя, согласно которой и выполняется лабораторная работа. Текст описания лабораторной работы хранится в файле ....

Выполнение изучаемой операции АЛУ осуществляется по шагам и результат каждого шага отражается на экране в виде кодов содер­жимого соответсвующего регистров, промежуточных и конечных ре­зультатов. В процессе выполнения лабораторной работы необходимо зафиксировать по шагам состояние всех элементов АЛУ, индицируе­мые соответствующими кодами.

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

По результатам работы необходимо построить блок-схему мик­ропрограммы работы АЛУ.

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

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

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

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

1.Укажите недостатки алгоритма деления с неподвижным дели­мым и сдвигаемым вправо делителем.

2.Укажите недостатки алгоритма деления с восстановлением остатка.

3.Какие операции влияют на скорость выполнения деления?

4.Как выполныется деление с плавающей запятой?

5.Какое деление требует большего времени - чисел с фиксиро­ванной запятой или чисел с плавающей запятой?

Л и т е р а т у р а

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

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

2.Нешумова К.А. Электронные вычислительные машины и систе­мы.-М.: Высшая школа, 1989-336 с.

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

4.Чернов В.Г. Математические и логические основы вычисли­тельных машин. Методические указания к самостоятельной ра­боте студентов.-ВПИ, 1992-47 с.

5.Калабеков Б.А. Микропрцессоры и их применения в системах передачи и обработки сигналов - м.: Радио и связь, 1988.