Журнал Компьютерра -37   ::   Компьютерра

Страница: 55 из 197

Идея в том, что в коде типа

Если (условие) то Выполнить1 иначе Выполнить 2

вместо того, чтобы записать традиционную конструкцию

1 Вычислить условие

2 Если условие выполнено, то идти к 5

3 Выполнить2

4 Идти к 6

5 Выполнить1

используя условные инструкции, можно записать

1 Вычислить условие и поставить Флаг1 по результатам вычисления

2 Выполнить1 при условии выставленного Флаг1

3 Выполнить2 при условии невыставленного Флаг1

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

Еще ряд дополнений в ARM предусматривал введение инструкций, одновременно выполняющих несколько простых операций, тем самым избавляя регистры процессора от необходимости сохранять результаты промежуточных вычислений и увеличивая вычислительную плотность кода. Этот подход нетипичен для RISC-процессоров, поскольку плохо вписывается в «основную идею» их максимального упрощения, но в конечном счете он привел к тому, что процессоры Acorn при прочих равных получили большую производительность на единицу частоты. Конечно, ARM-подход тоже имеет недостатки (например, необходимость выполнять пустые инструкции), однако в общем и целом он позволяет создавать очень простые процессоры с очень хорошей производительностью.

В 1985 вышел первенец архитектуры ARM — 32-разрядный процессор ARM1; в 1986-м — первый коммерческий вариант архитектуры, процессор ARM2.

|< Пред. 53 54 55 56 57 След. >|

Java книги

Контакты: [email protected]