Интернет магазин китайских планшетных компьютеров



Компьютеры - MIPS (архитектура) - Использование регистра транслирования

24 февраля 2011


Оглавление:
1. MIPS (архитектура)
2. История
3. MIPS IV
4. Семейство процессоров с архитектурой MIPS
5. Формат инструкций MIPS I
6. Язык ассемблера MIPS
7. Использование регистра транслирования
8. Эмуляторы
9. Список процессоров на базе архитектуры MIPS по компаниям



Аппаратная архитектура определяет следующие критерии:

  • Регистр общего назначения $0 всегда возвращает значение 0.
  • Регистр общего назначения $31 используется в качестве регистра-ссылки для команд перехода и связи.
  • HI и LO используются для доступа к результатам умножения/деления, доступ к которым осуществляется командами mfhi и mflo.

Это единственные ограничения, которые аппаратная архитектура накладывает на использование регистров общего назначения.

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

Регистры
Название Номер Применение нужно ли резервировать?
$zero $0 всегда хранит 0 N/A
$at $1 временный регистр для языка ассемблера НЕТ
$v0—$v1 $2–$3 значения функций и выражений НЕТ
$a0—$a3 $4–$7 аргументы функций НЕТ
$t0—$t7 $8–$15 временные НЕТ
$s0—$s7 $16–$23 сохраненные временные значения ДА
$t8—$t9 $24–$25 временные НЕТ
$k0—$k1 $26–$27 зарезервирована для ядра операционной системы НЕТ
$gp $28 глобальный указатель ДА
$sp $29 указатель стека ДА
$fp $30 указатель фрейма ДА
$ra $31 возвращает адрес N/A

Защищенные регистры не могут быть изменены вызовом системы или процедуры. Например, $s-регистры должны быть сохранены в стеке процедурой, которая собирается ими воспользоваться; к $sp и $fp-регистрам приращиваются константы, а по окончании процедуры регистры вновь уменьшаются. Противоположным примером служит регистр $ra, который автоматически меняется при его вызове любой функцией. $t-регистры должны сохраняться программой перед вызовом любой процедуры.



Просмотров: 12316


<<< Alchemy (процессоры)
R8000 >>>