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