Министерство образования и науки Украины
Государственный университет информатики и искусственного интеллекта
Кафедра систем искусственного интеллекта
Задания для контрольной работы
По дисциплине «Архитектура компьютеров»
Для студентов:
Курс третий
Семестр пятый
Специальность ИСПР
Преподаватель: проф. Вороной Сергей Михайлович
Донецк 2011
Контрольная работа. Часть №1
Выполнение арифметических операций В ЭВМ
Задание 1.
1. Используя данные таблицы 1, найти алгебраические суммы в обратном и дополнительных кодах, если длина разрядной сетки равна L двоичных разрядов. Сделать выводы о наличии или отсутствии переполнения. Проверить результат переводом в десятичную систему счисления. Оценить погрешность результатов.
2. Используя данные таблицы 1, найти алгебраические суммы в модифицированных обратном и дополнительном кодах, если длина разрядной сетки равна L двоичных разрядов. Сделать выводы о наличии или отсутствии переполнения.
Методические указания
Знание форм представления и кодирования чисел имеет фундаментальное значение для понимания принципов обработки информации в ЭВМ. Алгебраическое сложение чисел в обратном и дополнительном кодах является в дальнейшем базовой операцией при выполнении операций умножения и деления. Правила, применяемые при алгебраическом сложении кодов чисел, имеют строгое теоретическое обоснование, которое необходимо знать студентам.
Таблица 1
Варианты к заданию 1
№ п/п |
a |
b |
l |
x |
y |
1 |
-0.35 |
0.68 |
9 |
0.35 |
0.96 |
2 |
0.83 |
-0.29 |
7 |
0.27 |
0.84 |
3 |
-0.27 |
0.96 |
8 |
0.29 |
0.88 |
4 |
0.97 |
-0.11 |
9 |
0.37 |
0.79 |
5 |
-0.35 |
0.92 |
7 |
0.57 |
0.69 |
6 |
0.79 |
-0.39 |
8 |
0.67 |
0.63 |
7 |
-0.07 |
0.98 |
9 |
0.91 |
0.45 |
8 |
0.81 |
0.39 |
7 |
0.76 |
0.99 |
9 |
-0.75 |
0.55 |
8 |
0.88 |
0.37 |
10 |
0.81 |
-0.46 |
9 |
0.39 |
0.83 |
11 |
-0.69 |
0.67 |
7 |
0.89 |
0.27 |
12 |
-0.45 |
0.72 |
8 |
0.31 |
0.95 |
13 |
0.93 |
-0.91 |
9 |
0.70 |
0.35 |
14 |
-0.81 |
0.69 |
7 |
0.40 |
0.79 |
15 |
0.97 |
-0.74 |
8 |
0.87 |
0.27 |
16 |
0.79 |
-0.87 |
9 |
0.29 |
0.91 |
17 |
-0.43 |
0.72 |
7 |
0.65 |
0.65 |
18 |
0.89 |
-0.36 |
8 |
0.26 |
0.91 |
19 |
-0.95 |
0.43 |
9 |
0.57 |
0.89 |
20 |
0.74 |
-0.39 |
7 |
0.77 |
0.59 |
21 |
-0.66 |
0.53 |
8 |
0.72 |
0.65 |
22 |
0.64 |
-0.75 |
9 |
0.94 |
0.83 |
23 |
-0.96 |
0.35 |
7 |
0.59 |
0.95 |
24 |
0.84 |
-0.27 |
8 |
0.54 |
0.97 |
25 |
-0.88 |
0.45 |
9 |
0.72 |
0.43 |
26 |
0.13 |
-0.94 |
8 |
0.42 |
0.92 |
27 |
-0.72 |
0.63 |
9 |
0.51 |
0.83 |
Задание 2
Используя данные таблицы 2. вычислить произведения чисел и с двойной точностью, если длина разрядной сетки операндов без учета знаковых разрядов равна 4-м двоичным разрядам. Процесс вычислений нужно представить в трассировочных таблицах следующего вида:
Микрооперация/ логическое условие |
Состояние операционного элемента |
|||
РгМт |
РгМн |
НСМ |
СчТ |
После вычислений проверить правильность полученных результатов в десятичной системе, используя обычные дроби.
2. Для ситуаций, отмеченных в таблице 2 звездочкой, построить структурную схему и микропрограмму операционного устройства умножения.
Методические указания
В ЭВМ базовыми способами умножения чисел в форме с фиксированной запятой являются:
Умножение с младших разрядов множителя;
Умножение со старших разрядов множителя.
В обоих случаях операция умножения состоит из последовательных операций сложения частичных произведений. Выполнение операции сложения зависит от значений разрядов множителя: если некоторый разряд множителя равен единице, то к сумме частичных произведений прибавляется множимое с соответствующим сдвигом; если разряд множителя равен нулю, то множимое не прибавляется.
Пусть - множимое в прямом коде - множитель в прямом коде , С – произведение. Тогда и
.
Произведение С, учитывая возможности сдвига множимого или суммы частичных произведений, может быть вычислено по одному из четырех алгоритмов.
Алгоритм 1. Умножение с младших разрядов множителя со сдвигом суммы частичных произведений вправо
Множимое А последовательно умножается на разряды множителя и добавляется на каждом шаге к сдвинутой вправо на I разряд (умноженной на ) сумме частичных произведений.
Алгоритм 2. Умножение с младших разрядов множителя со сдвигом множимого влево при неподвижной сумме частичных произведений:
Множимое А, первоначально сдвинутое на n разрядов вправо (умноженное на ), умножается последовательно на разряды множителя и после сложения с суммой частичных произведений на каждом шаге сдвигается влево на I разряд (умножается на ).
Алгоритм 3. Умножение со старших разрядов множителя со сдвигом суммы частичных произведений влево при неподвижном множимом
Множимое А, сдвинутое вправо на n разрядов, умножается последовательно на разряды множителя и добавляется на каждом шаге к младшим разрядам суммы частичных произведений, которая после этого сдвигается влево на I разряд (кроме последнего шага, когда производится умножение на ).
Алгоритм 4. Умножение со старших разрядов множителя со сдвигом множимого вправо при неподвижной сумме частичных произведений
Множимое А на каждом шаге сдвигается вправо на I разряд, умножается на соответствующий разряд множителя и добавляется к сумме частичных произведений.
Умножение чисел, представленных в дополнительном и обратном кодах, имеет следующие важные особенности:
а) в случае положительного множителя при умножении получаем сразу дополнительный (обратный) код произведения:
б) в случае отрицательного множителя дополнительный (обратный) код произведения получается после введения одной (двух) коррекций:
в) умножение кода множимого на цифровые разряды кода множителя выполняется по любому из рассмотренных алгоритмов, при этом операции сложения и сдвига выполняются в соответствующем коде.
Из анализа алгоритмов умножения чисел с фиксированной точкой следует, что операционное устройство для умножения должно содержать операционные элементы:
а) регистр множимого;
б) регистр множителя;
в) накапливающий сумматор частичных произведений№
г) счетчик тактов умножения;
д) преобразователь кода для вычитания коррекции в случае умножения дополнительных (обратных) кодов.
На операционных элементах должны выполняться микрооперации:
а) суммирование суммы частичных произведений и множимого;
б) сдвиги множимого, множителя и суммы частичных произведений влево или вправо;
в) получение дополнительного (обратного) кода множимого;
г) подсчет числа выполненных тактов умножения.
При выполнении умножения на операционных элементах должны вычисляться логические условия:
а) значение разряда множителя, на который производится умножение;
б) признак окончания операции после умножения на все разряды множителя.
Конкретный набор операционных элементов, их разрядность, связи между ними, распределение выполняемых микроопераций и вычисляемых логических условий определяются реализуемым алгоритмом и формой представления операндов.
Таблица 2