- •Арифметические и логические основы вычислительной техники учебное пособие
- •Введение
- •Арифметические основы вычислительной техники Системы счисления
- •Двоичная система счисления
- •Восьмеричная система счисления
- •Шестнадцатеричная система счисления
- •Критерии выбора системы счисления
- •Перевод чисел из одной системы счисления в другую
- •Перевод целых чисел
- •Перевод правильных дробей
- •Перевод чисел из одной системы счисления в другую, основание которой кратно степени 2
- •Кодирование чисел
- •Переполнение разрядной сетки
- •Модифицированные коды
- •Машинные формы представления чисел
- •Погрешность выполнения арифметических операций
- •Округление
- •Нормализация чисел
- •Последовательное и параллельное сложение чисел
- •Сложение чисел с плавающей запятой
- •Машинные методы умножения чисел в прямых кодах
- •Ускорение операции умножения
- •Умножение с хранением переносов
- •Умножение на два разряда множителя одновременно
- •Умножение на четыре разряда одновременно
- •Умножение в дополнительных кодах
- •Умножение на два разряда множителя в дополнительных кодах
- •Матричные методы умножения
- •Машинные методы деления
- •Деление чисел в прямых кодах
- •Деление чисел в дополнительных кодах
- •Методы ускорения деления
- •Двоично-десятичные коды
- •Суммирование чисел с одинаковыми знаками вBcd-коде
- •Суммирование чисел с разными знаками вBcd-коде
- •Bcd-коды с избытком 3
- •Bcd-код с избытком 6 для одного из слагаемых
- •Система счисления в остаточных классах (сок)
- •Представление отрицательных чисел в сок
- •Контроль работы цифрового автомата
- •Некоторые понятия теории кодирования
- •Обнаружение и исправление одиночных ошибок путем использования дополнительных разрядов
- •Коды Хемминга
- •Логические основы вычислительной техники Двоичные переменные и булевы функции
- •Способы задания булевых функций
- •Основные понятия алгебры логики
- •Основные законы алгебры логики
- •Формы представления функций алгебры логики
- •Системы функций алгебры логики
- •Минимизация фал
- •Метод Квайна
- •Метод Блейка - Порецкого
- •Метод минимизирующих карт Карно (Вейча)
- •Б в Рис. 19. Таблица истинности и карта Карно
- •Минимизация конъюнктивных нормальных форм
- •Минимизация не полностью определенных фал
- •Кубическое задание функций алгебры логики
- •Метод Квайна −Мак-Класки
- •Алгоритм извлечения (Рота)
- •Минимизация фал методом преобразования логических выражений
- •Применение правил и законов алгебры логики к синтезу некоторых цифровых устройств Синтез одноразрядного полного комбинационного сумматора
- •Синтез одноразрядного комбинационного полусумматора
- •Синтез одноразрядного полного комбинационного сумматора на двух полусумматорах
- •Синтез одноразрядного комбинационного вычитателя
- •Объединенная схема одноразрядного комбинационного сумматора-вычитателя
- •Триггер со счетным входом как полный одноразрядный сумматор
- •Введение в теорию конечных автоматов Основные понятия теории автоматов
- •Способы задания автоматов
- •Структурный автомат
- •Память автомата
- •Канонический метод структурного синтеза автоматов
- •Принцип микропрограммного управления
- •Граф-схема алгоритма
- •Пример синтеза мпа по гса
- •Синтез мпа Мили по гса
- •Синхронизация автоматов
- •Литература
- •220013, Минск, п.Бровки, 6
Погрешность выполнения арифметических операций
Выбор длины разрядной сетки и формы представления чисел тесно связан с точностью получаемых при арифметических операциях результатов. При выполнении операций над числами с фиксированной запятой можно считать, что результат точен (при условии отсутствии переполнения).
При выполнении операций над числами, представленными в форме с плавающей запятой, требуется выравнивание порядков. Это может приводить к потере некоторых разрядов мантиссы.
Рассмотрим арифметические операции над операндами, заданными с абсолютными погрешностями: А=[A]+∆Aи B=[B]+∆B.
A+B=[A]+[B]+(∆A+∆B),
где абсолютная погрешность суммы ∆(A+B)=∆A+∆B.
A-B=[A]-[B]+(∆A-∆B),
где абсолютная погрешность разности ∆(A-B)=∆A-∆B.
AB=[A][B]+[A]∆B+[B]∆A+∆A∆B.
Произведением ∆A∆Bможно пренебречь, следовательно,
AB≈[A][B]+[A]∆B+[B]∆A,
то есть абсолютная погрешность произведения ∆(AB)≈[A]∆B+[B]∆A.
При выполнении операции деления
абсолютная погрешность частного ∆(A/B)=∆A/[B]-[A]∆B/([B])2.
Округление
Речь идет об округлении только дробных чисел, целые не округляются. Так как в ЭВМ используются числа с конечным числом разрядов, а также часто выполняются операции приведения данных одной размерности к данным другой, то операция округления выполняется достаточно часто.
В общем виде число с плавающей запятой, размещенное в разрядной сетке размерностью k, имеет видAr=mark . Если для записи мантиссы используются только n разрядов, то число может быть представлено в виде двух частей:Ar=[ma]rn+[A0]rk-n,где [A0]rk-n=A0– часть числа, не вошедшая в разрядную сетку размерностьюk.
В зависимости от того, как учитывается А0при записи числа А вn–раз-рядную сетку, можно выделить несколько способов округления чисел.
Отбрасывание А0. При этом возникает относительная погрешность
õокр=|А0|rk-n/(|mA|rn), так как r -1≤ |mA| <1, 0≤ |A0| <1, то õокр=r--(n-1).
Симметричное округление. При этом производится анализ величины А0:
При условии|А0|≥r-1 единица добавляется к младшему разряду мантиссы. Данный способ округления наиболее часто используется на практике.
3. Округление по дополнению. В этом случае для округления используется (n+1)-й разряд. Если в нем находится единица, то она передается вn-й разряд, иначе разряды начиная с (n+1)-гоотбрасываются.
4. Случайное округление. Генератор случайных чисел формирует нулевое или единичное значение, посылаемое в младший разряд мантиссы.
Оценка точности вычислений зависит как от вида выполняемых операций, так и от последовательности их следования друг за другом.
Нормализация чисел
Число называется нормализованным, если его мантисса удовлетворяет условию r-1≤ |MA|<1.
Нормализация – процесс, относящийся к числам, записанным в форме с плавающей запятой. Число A=0,00101…1 – денормализованное (признак нарушения нормализации вправо). Для нормализации число нужно сдвинуть в сторону, противоположную направлению нарушения нормализации. Таким образом, в примере мантиссу числа А необходимо сдвинуть влево на два разряда. При этом порядок необходимо уменьшить на два. Различают два вида сдвигов: простой и модифицированный.
Простой сдвиг – сдвиг, выполняемый по правилу:
-
Исходная
комбинация
Сдвиг влево
Сдвиг вправо
0,a1a2….an
a1,a2….an0
0,0a1a2….an-1
1,a1a2….an
a1,a2….anα
0,1a1a2….an-1
Модифицированный сдвиг - сдвиг, при котором в сдвигаемый разряд заносится значение, совпадающее со значением знакового разряда.
-
Исходная
комбинация
Сдвиг влево
Сдвиг вправо
00,a1a2….an
0a1,a2….an0
00,0a1a2….an-1
01,a1a2….an
1a1,a2….an0
00,1a1a2….an-1
10,a1a2….an
0a1,a2….anα
1,1a1a2….an-1
11,a1a2….an
1a1,a2….anα
1,1a1a2….an-1
Нарушение нормализации вправо может быть более глубоким при вычитании, например, одного числа из другого, если они близки по величине.