- •Вычислительные машины (конспект лекций) однопроцессорные эвм
- •Часть 1
- •1.1. Два класса эвм 5
- •1.1. Два класса эвм
- •1.2. Немного истории
- •1.3. Принципы действия эвм
- •1.4. Понятие о системе программного (математического) обеспечения эвм
- •1.5. Поколения эвм
- •1.6. Большие эвм общего назначения
- •1.6.1. Каналы
- •1.6.2. Интерфейс
- •1.7. Малые эвм
- •Вопросы для самопроверки
- •2. Представление информации в эвм
- •2.1. Позиционные системы счисления
- •2.2. Двоичная система счисления
- •2.2.1. Преобразование двоичных чисел в десятичные
- •2.2.2. Преобразование десятичных чисел в двоичные
- •2.2.3. Двоично-десятичная система счисления
- •2.3. Восьмеричная система счисления
- •2.4. Шестнадцатеричная система счисления
- •2.5. Двоичная арифметика
- •2.5.1. Сложение
- •2.5.2. Вычитание
- •2.5.3. Умножение
- •2.5.4. Деление
- •2.6. Прямой, обратный и дополнительный коды
- •2.6.1. Прямой код
- •2.6.2. Обратный код
- •2.6.3. Дополнительный код
- •2.6.4. Сложение и вычитание в дополнительном коде
- •2.6.5. Признак переполнения разрядной сетки
- •2.6.6. Деление в дополнительном коде
- •2.6.7. Правило перевода из дополнительного кода в десятичную систему
- •2.6.8. Модифицированные коды
- •2.6.9. Арифметика повышенной точности
- •2.7. Представление дробных чисел в эвм. Числа с фиксированной и плавающей запятой
- •2.7.1. Числа с фиксированной запятой
- •2.7.2. Числа с плавающей запятой
- •2.7.3. Сложение (вычитание) чпз
- •2.7.4. Умножение чпз
- •2.7.5. Методы ускорения умножения
- •2.7.6. Деление чисел с плавающей запятой
- •2.8. Десятичная арифметика
- •2.8.1. Сложение двоично-десятичных чисел
- •2.8.2. Вычитание модулей двоично-десятичных чисел
- •2.8.3. Умножение модулей двоично-десятичных чисел
- •2.8.4. Деление модулей двоично-десятичных чисел
- •2.9. Нарушение ограничений эвм
- •2.10. Представление буквенно-цифровой информации
- •2.11. Заключительные замечания
- •Вопросы для самопроверки
- •Контрольные задания к теме 2
- •Форма 1. Ответы на вопросы
- •Форма 2. Выполнение арифметических операций над числами
- •Пример выполнения контрольного задания (форма 2)
- •3. Принципы построения элементарного процессора
- •3.1. Операционные устройства (алу)
- •3.2. Управляющие устройства
- •3.2.1. Уу с жесткой логикой
- •3.2.2. Уу с хранимой в памяти логикой
- •3.2.2.1. Выборка и выполнение мк
- •3.2.2.3. Кодирование мк
- •3.2.2.4. Синхронизация мк
- •Вопросы для самопроверки
- •Контрольные задания к теме 3
Пример выполнения контрольного задания (форма 2)
№ варианта |
Операнды |
Задание 1 (ЧФЗ) |
Задание 2 (ЧПЗ) |
Задание 3 (2-10) | ||||||
Операции |
Операции |
Операции | ||||||||
X+Y |
X-Y |
X*Y |
X+Y |
X-Y |
X*Y |
X+Y |
X-Y |
X*Y | ||
№ |
X Y |
18 33 |
18 33 |
18 33 |
18.33 33.18 |
18.33 33.18 |
18.33 33.18 |
183 331 |
183 331 |
183 331 |
Задание 1.Выполнить арифметические действия, рассматривая операнды как ЧФЗ справа от МЗР в формате 1-го байта. Определить модуль результата. Формат результата – 2 байта.
1. Выполним операцию сложения Z=X+Y= 18(10)+ 33(10)= 51(10).
X= 18(10)= 0001 0010(2);Y= 33(10)= 0010 0001(2).
Выполним сложение в ПК:
Результат: Z= 0011 0011(2) = 51(10).
2. Выполним операцию вычитания Z=X-Y= 18(10)– 33(10)= -15(10).
Результат: Z= 1000 1111(2)= 15(10).
3. Выполним операцию умножения Z=X*Y= 18(10)*33(10)= 594(10).
X= 18(10)= 0001 0010(2);Y= 33(10)= 0010 0001(2).
Выполним операцию умножения младшими разрядами вперед:
Задание 2.Выполнить арифметические действия, рассматривая операнды как ЧПЗ с основанием 2 в следующем формате: несмещенный порядок – 4 бита, мантисса – 8 бит. Формат результата – тот же. Округление производить после приведения операнда к нормализованной форме. Результат нормализовать.
X= 18.33(10);Y= 33.18(10).
Преобразуем дробную часть Х, равную 0.33(10), в двоичное число:
Таким образом, 0.33(10)= 0.01010100(2),aX= 18.33(10)= 00010010.01010100(2).
Представим Xв формате ЧПЗ, округлив значение мантиссы до 8 разрядов (ненормализованное число):
Нормализуем X:
Преобразуем дробную часть Y, равную 0.18(10), в двоичное число:
Таким образом, 0.18(10)= 0.00101110(2),aY= 33.18(10)= 00100001.00101110(2).
Представим Yв формате ЧПЗ, округлив значение мантиссы до 8 разрядов (ненормализованное число):
Нормализуем Y:
1. Выполним операцию сложения Z=X+Y= 18.33(10)+ 33.18(10)= 51.51(10).
2. Выполним операцию вычитания Z = X-Y= 18.33(10)+ 33.18(10)= -14.85(10).
Результат: Z= (-) 0110 * 0.00111100(2)= - 26* 0.234375 = - 15(10)
3). Выполним операцию умножения Z=X*Y= 18.33(10)*33.18(10)= 608.1894(10).
Перемножим мантиссы сомножителей (вариант умножения младшими разрядами вперед):
Сложим порядки сомножителей:
Нормализуем произведение:
Результат: Z= 1010 * 0.10011000(2)= 210* 0.59375(10)= 608(10).
Задание 3.Выполнить арифметические действия над операндами, представив их в двоично-десятичном коде.
1. Выполним операцию сложения Z=X+Y= 183(10)+ 331(10)= 514(10).
X = 183(10) = 0001 1000 0011(2-10); Y = 331(10) = 0011 0011 0001(2-10).
Результат: Z= 0101 0001 0100(2-10)= 514(10).
2. Выполним операцию вычитания Z=X–Y= 183(10)– 331(10)= -148(10).
Представим |Y| в ДК с избытком 6:
Выполним сложение:
Отсутствие переноса из старшей тетрады является признаком того, что результат получился в ДК (т.е. отрицательный).
Перейдем к нескорректированному избыточному ПК:
Произведем коррекцию результата в соответствии с п. 5 алгоритма выполнения операции вычитания двоично-десятичных чисел:
Поскольку ранее результат получался в ДК, т.е. отрицательный, необходимо добавить знак (-).
Результат: Z = - ( 0001 0100 1000)(2-10)= -148(10).
3. Выполним операцию умножения Z=X*Y= 183(10)* 331(10)= 60573(10)
X= 183(10)= 0001 1000 0011(2-10);Y= 331(10)= 0011 0011 0001(2-10).
Для решения примера выберем вариант перемножения "младшие разряды вперед". В соответствии с п. 1 алгоритма полагаем сумму частичных произведений P0=0. (Частичные произведения будем обозначать Pi).
Формирование второго и третьего частичных произведений – более длительная операция, поскольку вторая и третья анализируемые тетрады содержат 3(10), поэтому каждая операция суммирования требует проверки необходимости коррекции. Вычислим P2 (P2 = Р3 ), последовательно суммируя слагаемые, образующие P2:
Таким образом, второе (а также и третье) частичное произведение, состоящее из трех слагаемых, имеет вид
P2 = Р3 = 0101 0100 1001(2-10).
Теперь можно вычислить сумму первого, второго и третьего частичного произведений, т.е. результат.
Окончательный результат: Z = 0110 0000 0101 0111 0011(2-10)= 60573(10).