Реклама:

Рассмотренные режимы адресации машин Pentium 4, UltraSPARC III и 8051 иллюстрирует табл. 5.8. Как мы уже отмечали, в командах может использоваться не каждый режим.

Таблица 5.8. Сравнение режимов адресации

Режим адресации

Репйит 4

иИгаБРАЯС III

8051

Неявная

   

Да

Непосредственная

Да

Да

Да

Прямая

Да

 

Да

Регистровая

Да

Да

Да

Косвенная регистровая

Да

Да

Да

Индексная

Да

Да

 

Относительная индексная Стековая

 

Да

 

На практике для эффективной архитектуры команд вовсе не нужно множество разнообразных режимов адресации. Поскольку практически весь код, написанный на этом уровне, порождается компиляторами (за исключением 8051), режимов адресации должно быть мало и они должны быть простыми и понятными. Машине приходится занимать одну из крайних позиций, предлагая либо все доступные варианты, либо только один вариант. В промежуточных случаях компилятор сталкивается с необходимостью выбора, сделать который он не в силах ввиду недостатка информации или сложности алгоритма.

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

Мы рассмотрели возможные компромиссы между кодами операций и адресами, а также между различными режимами адресации. Когда вы сталкиваетесь с новым компьютером, нужно изучить все его команды и режимы адресации, причем не только для того, чтобы знать об их существовании, но и чтобы понять, почему разработчиками был сделан именно такой выбор и каковы были бы последствия при другом выборе.

Режимы адресации процессора 8051 || Оглавление || Типы команд