Скачиваний:
1
Добавлен:
26.12.2024
Размер:
214.08 Кб
Скачать

Вычислительная

техника

Лекция 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

Соседние файлы в папке лекции