MIPS: различия между версиями
Sauron (обсуждение | вклад) (→Управляющий сопроцессор: EJTAG) |
Sauron (обсуждение | вклад) (→Регистры: псевдонимы) |
||
| Строка 2: | Строка 2: | ||
== Регистры == | == Регистры == | ||
Процессор MIPS содержит 32 регистра общего назначения, счётчик команд, специальные регистры HI и LO. | Процессор MIPS содержит 32 регистра общего назначения, счётчик команд, специальные регистры HI и LO. Регистры обозначаются <code>r0</code>-<code>r31</code>. Регистр <code>r0</code> доступен только для чтения и содержит константу 0. По соглашению, для регистров общего назначения существуют псевдонимы: | ||
* 0 <code>$zero</code> — константа 0 | |||
* 1 <code>$at</code> — зарезервировано для ассемблера | |||
* 2-3 <code>$v0-v1</code> | |||
* 4-7 <code>$a0-a3</code> | |||
* 8-15 <code>$t0-t7</code> | |||
* 16-23 <code>$s0-s7</code> | |||
* 24-25 <code>$t8-t9</code> | |||
* 26-27 <code>$k0-k1</code> | |||
* 28 <code>$gp</code> — указатель на глобальные данные | |||
* 29 <code>$sp</code> — указатель стека | |||
* 30 <code>$fp</code> — указатель на кадр локальных данных | |||
* 31 <code>$ra</code> — адрес возврата из процедуры | |||
== Управляющий сопроцессор == | == Управляющий сопроцессор == | ||
Версия от 20:55, 14 августа 2017
MIPS — 32-битная RISC-архитектура процессоров.
Регистры
Процессор MIPS содержит 32 регистра общего назначения, счётчик команд, специальные регистры HI и LO. Регистры обозначаются r0-r31. Регистр r0 доступен только для чтения и содержит константу 0. По соглашению, для регистров общего назначения существуют псевдонимы:
- 0
$zero— константа 0 - 1
$at— зарезервировано для ассемблера - 2-3
$v0-v1 - 4-7
$a0-a3 - 8-15
$t0-t7 - 16-23
$s0-s7 - 24-25
$t8-t9 - 26-27
$k0-k1 - 28
$gp— указатель на глобальные данные - 29
$sp— указатель стека - 30
$fp— указатель на кадр локальных данных - 31
$ra— адрес возврата из процедуры
Управляющий сопроцессор
В состав CPU, как правило, входит управляющий сопроцессор. Он предназначен для управления памятью, исключениями, отладкой, запроса идентификации процессора. В состав сопроцессора входят несколько десятков (точное число зависит от реализации) управляющих регистров.
Также этот сопроцессор ответственен за механизм внутрисхемной отладки EJTAG. EJTAG предназначен для отладки ПО, выполняющегося на MIPS-процессоре через подключение посредством JTAG. EJTAG стандартизирован в документах MIPS EJTAG Specification.
Ссылки
MIPS32™ Architecture For Programmers