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>
| Адрес возврата из процедуры
|}


== Управляющий сопроцессор ==
== Управляющий сопроцессор ==

Версия от 20: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