Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы схемотехники и вычислительных систем.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
3.08 Mб
Скачать

5. Арифметические основы эвм

5.1. Основные положения

Основой всех арифметических операций в ЭВМ являются операции сложения/вычитания, умножения и деления.

Операнды могут задаваться в формате с фиксированной или с плавающей запятой; в двоичной или десятичной системах счисления; в прямом, обратном или дополнительном кодах.

Выполнение арифметических операций над числами может быть реализовано в виде последовательной или параллельной (по разрядам) обработки.

Обычно все операции над данными в современных ЭВМ выполняются параллельно-последовательно. Количество параллельно обрабатываемых разрядов определяется шириной трактов передачи и обработки информации. Обычно это 1, 2 , 4 или 8 байт. В десятичной арифметике и при обработке строк символов, вне зависимости от ширины трактов, используется побайтовая обработка данных.

Основными арифметическими операциями в ЭВМ являются операции:

  • сложения / вычитания,

  • умножения,

  • деления.

5.2. Арифметические операции с плавающей запятой

Обработка данных с плавающей запятой отличается тем, что она включает в себя, кроме обработки мантисс, обработку "сдвинутых" порядков (характеристик). При операциях сложения/вычитания вначале производится операция выравнивания порядков, а затем операция сложения/вычитания мантисс. При этом результирующая мантисса может оказаться ненормализованной дробью. В этом случае производится третий этап – нормализация результата.

Выравнивание порядков выполняется следующим образом:

  1. сравниваются порядки операндов,

  2. если порядки не равны, производится денормализация операнда с меньшим порядком. Мантисса сдвигается вправо с коррекцией порядка, до совпадения порядков обоих операндов.

Нормализация результата заключается в сдвиге мантиссы вправо (при переполнении) или влево с коррекцией порядка до получения нормализованной мантиссы.

Пример:

Операнд А=0,11112 × 21,, после выравнивания порядков А = 0,01112 × 22

Операнд В=0,11012 × 22,

Порядки операндов не равны. Производится денормализация операнда А. После выравнивания порядков А = 0,01112 × 22

С = А+В = 1,01002 × 22, после нормализации С = 0,10102 × 23.

С = В–А = 0,01002 × 22, после нормализации С= 0,10002 × 21.

При выполнении операций умножения или деления производятся следующие действия (возможно, параллельные) над компонентами чисел в формате с плавающей запятой:

  • умножение или деление мантисс,

  • сложение или вычитание порядков.

  • Если мантисса результата получается ненормализованной, то производится ее нормализация.

Пример:

Операнд А=0,10002 × 21,,

Операнд В=0,10012 × 22,

С=А × В

Умножение мантисс: МС = 0,10002 × 0,10012= 0,0100 10002 или, с учетом разрядности регистров, МС = 0,01002

Сложение порядков: ПС = 1+2=3 (21× 22=23)

Предварительный результат: С=0,01002× 23

Или, После нормализации мантиссы – С=0,10002 × 22.

Таким образом, операции обработки данных с плавающей запятой сводятся к серии операций над их компонентами (порядками и мантиссами) как с числами в формате с фиксированной запятой.