MIPS — различия между версиями

Материал из Emuverse
Перейти к: навигация, поиск
(Управляющий сопроцессор: EJTAG)
(Регистры: псевдонимы)
Строка 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> — адрес возврата из процедуры
  
 
== Управляющий сопроцессор ==
 
== Управляющий сопроцессор ==

Версия 12: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