- •5. Архитектура компьютерных устройств
- •5.1. Понятие архитектуры
- •5.2. Выбор структуры и формата команды
- •5.3. Способы адресации операндов
- •5.3.1. Прямая адресация
- •5.3.2. Прямая регистровая адресация
- •5.3.3. Непосредственная адресация
- •5.3.4. Косвенная адресация
- •5.3.5. Косвенная регистровая адресация
- •5.3.6. Регистровая автоинкрементная адресация
- •5.3.7. Индексная адресация
- •5.3.8. Базовая адресация
- •5.3.9. Базово-индексная адресация
- •5.4. Адресация с использованием программного счетчика
- •5.4.1. Непосредственная адресация.
- •5.4.2. Абсолютная адресация
- •5.4.3. Относительная адресация
- •5.4.4. Косвенная относительная адресация
- •5.4.5. Стековая адресация
- •5.5. Типовые форматы команд компьютерных систем
- •5.5.1. Команды формата “регистр-регистр”(rr)
- •5.5.2.Команды формата “региcтр-индексируемая ячейка памяти” (rx)
- •5.5.3. Трёхадресные команды формата
- •5.5.4. Команды формата “память - непосредственный операнд” (si)
- •5.5.5. Команды формата “память - память” (ss)
- •5.6. Проектирование компьютерных устройств. Система команд.
- •5.6.1. Форматы команд персональных компьютеров
- •5.6.3. Двухадресные команды со смещением (1810вм86)
- •5.6.4. Двухадресные команды с непосредственным операндом
- •5.6.5. Одноадресные команды со смещением
- •5.6.6. Команды укороченного формата
- •5.7. Система команд компьютера
- •5.7.1. Выбор системы команд
- •5.7.2. Фазы выборки, дешифрации и выполнения команды
- •5.7.3. Команды арифметических операций
- •5.7.4. Команды передачи управления
- •5.7.5. Команды обращения к подпрограммам
5.7.3. Команды арифметических операций
В большинстве вычислительных устройств отработка арифметических и логических команд состоит из следующих действий.
В начале из ОП выбирается очередная команда и в зависимости от кода операции и использованного формата формируются исполнительные адреса. Из регистровой или оперативной памяти в АЛУ читаются операнды, после чего выполняется их преобразование. Далее осуществляется пересылка результатов обработки данных на место одного из исходных значений. По состоянию выходов АЛУ формирует двоичные признаки, которые определенное время сохраняются в регистре состояния. Как правило, время хранения содержимого RG F определяется конечным моментом исполнения следующей команды.
Команды арифметических операций имеют различное время реализации преобразований, задаваемых полем КОП. Это время зависит от типа и формата команды, а также от длины обрабатываемых слов. Наиболее просто в компьютере выполняются преобразования данных, представленных в формате с фиксированной запятой или двоичных кодов, интерпретируемых как целые двоичные числа. В таком формате представляются адреса, индексные константы, содержимое программного счетчика, некоторые двоичные данные. Как правило, в набор команд для обработки целых двоичных чисел включают команды формата RR и RX.
Для обработки чисел, представленных в форме с плавающей запятой или в так называемом полулогарифмическом масштабе, используются также команды формата RR и RX. Однако в данном случае поле R регистра команды указывает не на РОН процессора, а на 64-разрядные регистры с плавающей запятой (РПЗ).
Для сложения и вычитания операндов, расположенных в РПЗ, используют два типа команд:
1) с нормализацией результата;
2) без нормализации результата.
Полученная в ходе данного преобразования сумма или разность сохраняется по адресу 1-го операнда.
Чаще всего в основной памяти или в РПЗ характеристики и мантиссы чисел хранятся в прямом коде. Поэтому, если в ходе преобразования получен отрицательный результат, то он будет представлен в дополнительном коде, и перед размещением числа в памяти необходимо выполнить переход от дополнительного кода к прямому коду операнда.
Арифметические операции над двоично-десятичными числами выполняются под управлением команд, представленных в формате SS.
В общем случае набор команд процессора дает возможность выполнять операции сложения, вычитания, умножения и деления, а также преобразования чисел из распакованного формата в упакованный, и наоборот.
Под упакованным форматом понимают двоичные эквиваленты десятичных чисел, то есть числа в коде 1,2,4,8. Под распакованным - двоично-десятичные числа с избытком 6, то есть числа представленные в диапазоне: 616 – 1516. Использование избытка при данном способе кодирования обусловлено необходимостью формирования межтетрадных переносов, распространяющихся от младших к старшим разрядам при обработке чисел данного формата.
В процессе выполнения операций байты двоично-десятичных операндов преобразуются последовательно справа налево. Результат обработки помещается на место первого операнда.
