Журнал Компьютерра -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 След. >|