ВУЗ:
Составители:
21
3.4. Арифметические операции в ЭВМ
Среди арифметических операций основными являются операции
сложения и вычитания, поскольку помимо самостоятельного значения,
они лежат в основе операций умножения и деления, соответственно.
Сложение производится поразрядно, начиная с младших разрядов.
Если сумма S
i
чисел i-х разрядов двух слагаемых превышает или равна
основанию Р системы счисления, то в i-й разряд суммы записывается
разность S
i
- Р, а к следующим (i +1)-м разрядам слагаемых переносит-
ся 1 в виде дополнительного слагаемого.
С целью удобства технической реализации операция вычитания
заменяется операцией сложения. При этом исходные операнды (числа,
участвующие в операции) должны быть представлены в обратном или
в дополнительном коде.
Обратный и дополнительный коды положительного числа, есть
само число.
Обратный
код отрицательного числа получается путём вычитания
цифры каждого его разряда из числа (Р-1), где Р – основание данной
системы счисления. Применительно к двоичным числам эта операция
равносильна инвертированию. Код представления результата опреде-
ляется по следующему правилу. Если перенос из старшего разряда ра-
вен 1, то результат положителен, представлен в прямом коде, но на
1
меньше истинного. В противном случае результат отрицателен и пред-
ставлен в обратном коде.
Дополнительный код отрицательного числа образуется в результа-
те арифметического добавления 1 к его обратному коду. Код представ-
ления результата определяется по следующему правилу. Если перенос
из старшего разряда равен 1, то результат положителен и представлен в
прямом коде. В
противном случае результат отрицателен и представ-
лен в дополнительном коде.
Обратные преобразования производятся по тем же правилам.
В силу большей простоты представления результата вычитания, в
ЭВМ используется дополнительный код.
Для чисел с плавающей запятой при выполнении операций сложе-
ния и вычитания сначала выравниваются порядки, затем выполняется
заданная операция над мантиссами и
, наконец, производится нормали-
зация результата.
Выравнивание порядков заключается в сдвиге вправо мантиссы
числа с меньшим порядком на количество разрядов, равное абсолют-
ной величине разности порядков двух чисел. С каждым сдвигом значе-
ние порядка увеличивается на единицу, а освободившиеся старшие
разряды заполняются нулями.
22
Нормализацией называется выбор такого значения порядка, при
котором старший разряд мантиссы имеет значение 1. При нормализа-
ции возможны две ситуации:
− результат меньше 1/2, то есть старшие разряды мантиссы нуле-
вые. Если при этом результат представлен в прямом коде, мантисса
сдвигается влево до тех пор, пока первая значащая 1 не окажется в
старшем
разряде. Если же результат представлен в обратном или до-
полнительном коде (отрицательный), производится сдвиг влево до по-
явления в старшем разряде первого значащего нуля. При каждом сдви-
ге значение порядка уменьшается на 1;
− результат больше 1, то есть разрядная сетка переполнена. В этом
случае мантисса сдвигается вправо на один разряд с одновременным
увеличением порядка на 1.
Остается отметить, что правила выполнения основных арифмети-
ческих операций, приведенные в данном подразделе, справедливы для
чисел любой позиционной системы счисления.
3.5. Принцип программного управления ЭВМ
Решение задач на ЭВМ реализуется программным способом, то
есть путем последовательного выполнения над данными отдельных
операций, предусмотренных алгоритмом решения задачи. Алгоритм –
это точно
определенная последовательность действий, которые необ-
ходимо выполнить над исходными данными, чтобы получить решение
задачи. Алгоритм решения задачи, заданный в виде последовательно-
сти команд на языке ЭВМ, называется машинной программой. Коман-
да машинной программы (машинная команда) – это элементарная ин-
струкция машине, выполняемая автоматически без каких-либо допол-
нительных указаний и пояснений.
Машинная команда состоит из двух частей: операционной и ад-
ресной. Операционная часть команды – это группа разрядов в команде,
предназначенная для представления кода операции машины. Адресная
часть команды – это группа разрядов в команде, в которых записыва-
ются коды адреса (адресов) ячеек памяти машины, предназначенных
для оперативного хранения операндов.
В зависимости от количества
адресов, записываемых в команде,
различают безадресные, одно-, двух- и трехадресные команды. Типо-
вые структуры команд показаны на рис. 3.2, где КОП – код операции
машины.
В трехадресной
команде (рис. 3.2а) а1 и
а2 – адреса ячеек, где
расположены соответ-
КОП а1 а2 а3 КОП а1 а2 КОП а1
а б в
Рис. 3.2. Типовые структуры команд
21 22 3.4. Арифметические операции в ЭВМ Нормализацией называется выбор такого значения порядка, при Среди арифметических операций основными являются операции котором старший разряд мантиссы имеет значение 1. При нормализа- сложения и вычитания, поскольку помимо самостоятельного значения, ции возможны две ситуации: они лежат в основе операций умножения и деления, соответственно. − результат меньше 1/2, то есть старшие разряды мантиссы нуле- Сложение производится поразрядно, начиная с младших разрядов. вые. Если при этом результат представлен в прямом коде, мантисса Если сумма Si чисел i-х разрядов двух слагаемых превышает или равна сдвигается влево до тех пор, пока первая значащая 1 не окажется в основанию Р системы счисления, то в i-й разряд суммы записывается старшем разряде. Если же результат представлен в обратном или до- разность Si - Р, а к следующим (i +1)-м разрядам слагаемых переносит- полнительном коде (отрицательный), производится сдвиг влево до по- ся 1 в виде дополнительного слагаемого. явления в старшем разряде первого значащего нуля. При каждом сдви- С целью удобства технической реализации операция вычитания ге значение порядка уменьшается на 1; заменяется операцией сложения. При этом исходные операнды (числа, − результат больше 1, то есть разрядная сетка переполнена. В этом участвующие в операции) должны быть представлены в обратном или случае мантисса сдвигается вправо на один разряд с одновременным в дополнительном коде. увеличением порядка на 1. Обратный и дополнительный коды положительного числа, есть Остается отметить, что правила выполнения основных арифмети- само число. ческих операций, приведенные в данном подразделе, справедливы для Обратный код отрицательного числа получается путём вычитания чисел любой позиционной системы счисления. цифры каждого его разряда из числа (Р-1), где Р – основание данной 3.5. Принцип программного управления ЭВМ системы счисления. Применительно к двоичным числам эта операция Решение задач на ЭВМ реализуется программным способом, то равносильна инвертированию. Код представления результата опреде- есть путем последовательного выполнения над данными отдельных ляется по следующему правилу. Если перенос из старшего разряда ра- операций, предусмотренных алгоритмом решения задачи. Алгоритм – вен 1, то результат положителен, представлен в прямом коде, но на 1 это точно определенная последовательность действий, которые необ- меньше истинного. В противном случае результат отрицателен и пред- ходимо выполнить над исходными данными, чтобы получить решение ставлен в обратном коде. задачи. Алгоритм решения задачи, заданный в виде последовательно- Дополнительный код отрицательного числа образуется в результа- сти команд на языке ЭВМ, называется машинной программой. Коман- те арифметического добавления 1 к его обратному коду. Код представ- да машинной программы (машинная команда) – это элементарная ин- ления результата определяется по следующему правилу. Если перенос струкция машине, выполняемая автоматически без каких-либо допол- из старшего разряда равен 1, то результат положителен и представлен в нительных указаний и пояснений. прямом коде. В противном случае результат отрицателен и представ- Машинная команда состоит из двух частей: операционной и ад- лен в дополнительном коде. ресной. Операционная часть команды – это группа разрядов в команде, Обратные преобразования производятся по тем же правилам. предназначенная для представления кода операции машины. Адресная В силу большей простоты представления результата вычитания, в часть команды – это группа разрядов в команде, в которых записыва- ЭВМ используется дополнительный код. ются коды адреса (адресов) ячеек памяти машины, предназначенных Для чисел с плавающей запятой при выполнении операций сложе- для оперативного хранения операндов. ния и вычитания сначала выравниваются порядки, затем выполняется В зависимости от количества адресов, записываемых в команде, заданная операция над мантиссами и, наконец, производится нормали- различают безадресные, одно-, двух- и трехадресные команды. Типо- зация результата. вые структуры команд показаны на рис. 3.2, где КОП – код операции Выравнивание порядков заключается в сдвиге вправо мантиссы машины. числа с меньшим порядком на количество разрядов, равное абсолют- КОП а1 а2 а3 КОП а1 а2 КОП а1 В трехадресной ной величине разности порядков двух чисел. С каждым сдвигом значе- команде (рис. 3.2а) а1 и ние порядка увеличивается на единицу, а освободившиеся старшие а б в а2 – адреса ячеек, где разряды заполняются нулями. Рис. 3.2. Типовые структуры команд расположены соответ-
Страницы
- « первая
- ‹ предыдущая
- …
- 9
- 10
- 11
- 12
- 13
- …
- следующая ›
- последняя »