
- •Вычислительная
- •Установка флагов состояний.
- •Команды умножения.
- •Пример использования сдвиговых регистров в умножении.
- •Формируем первую сумму.
- •Первая сумма
- •Команды, изменяющие
- •Команды переходов. Branch.
- •Особенность условного перехода.
- •Условные переходы
- •Способы статического прогнозирования переходов.
- •Динамическое
- •Установка битов прогнозирования.
- •Условные операции, выполняемые в АЛУ.
- •Примеры условных операций.
- •Принцип обмена с внешними устройствами.
- •Виды обмена.
- •Определение условной готовности.

Вычислительная
техника
Лекция 6

Установка флагов состояний.

Команды умножения.
•Команды умножения, выполняющиеся в блоке умножителя
•MUL R2, R4, R5
•[R2] <= [R4] x [R5]
•SMULL R2, R3, R4, R5
•[R3][R2] <= [R4] x [R5]
•Команды умножения, выполняющиеся в умножителе с дополнительным сумматором для возможности накопления результата.
•MLA R2, R4, R5, R6
•[R2] <= ([R6] + [R4] x [R5])
•MLS R3, R1, R2, R4
•[R3] <= ([R4] – [R1] x [R2])

Пример использования сдвиговых регистров в умножении.
•22 х 21 => поступают на блок умножителя.
•22 (10110) — первый сомножитель (умножаемое);
•21 (10101)— второй сомножитель (поразрядный счетчик количества сдвигов)

Формируем первую сумму.
1 слагаемое (нет сдвига) — 10110
2 слагаемое

Первая сумма |
1101110 |
2 слагаемое (4 сдвига) — 101100000
b111001110 = 256+128+64+8+4+2 = 462

Команды, изменяющие
состояние программного счетчика.
•Такие команды позволяют программе переходить к выборке кода из указанных в смещении областей памяти. При этом действие может производиться как в пределах тела программы (переходы), так и в подпрограмме (вызов процедуры при помощи возвратного перехода или вызов программы для обработки данных при обмене с внешними устройствами).

Команды переходов. Branch.
•Безусловные переходы.
•B disp – переход по смещению
•BL disp – переход с сохранением точки возврата
•BX LR – возврат из процедуры.
•Условные переходы
•Bcond disp
•Например:
•BEQ met
•BNE loop
•BHI adr
•BGT addr

Особенность условного перехода.
9
Условные переходы
•К моменту исполнения команды перехода очередь будет заполнена последующими командами. В случае выполнения условия все эти команды станут уже не нужны.
•Для увеличения производительности процессора используются методы прогнозирования переходов:
•1) статическое прогнозирование (на уровне компилятора);
•2) динамическое прогнозирование ( в структуре ядра)
•Кроме этого, условные переходы часто заменяются на условные команды. В случае невыполнения условия такая команда пропускается.
10