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

Материал из Emuverse
Перейти к: навигация, поиск
(Ссылки: категория)
(Регистры)
Строка 4: Строка 4:
 
Процессор MIPS содержит 32 регистра общего назначения, счётчик команд, специальные регистры HI и LO. Регистры обозначаются <code>r0</code>-<code>r31</code>. Регистр <code>r0</code> доступен только для чтения и содержит константу 0. По соглашению, для регистров общего назначения существуют псевдонимы:
 
Процессор MIPS содержит 32 регистра общего назначения, счётчик команд, специальные регистры HI и LO. Регистры обозначаются <code>r0</code>-<code>r31</code>. Регистр <code>r0</code> доступен только для чтения и содержит константу 0. По соглашению, для регистров общего назначения существуют псевдонимы:
  
* 0 <code>$zero</code> — константа 0
+
{| class="wikitable" border="1"
* 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>
+
| 0
* 26-27 <code>$k0-k1</code>
+
| <code>$zero</code>
* 28 <code>$gp</code> — указатель на глобальные данные
+
| Константа 0
* 29 <code>$sp</code> — указатель стека
+
|-
* 30 <code>$fp</code> — указатель на кадр локальных данных
+
| 1
* 31 <code>$ra</code> — адрес возврата из процедуры
+
| <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:06, 16 августа 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