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

Материал из Emuverse
(→‎Ссылки: категория)
(→‎Регистры: оформление)
 
(не показана 1 промежуточная версия этого же участника)
Строка 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:10, 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