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

Материал из Emuverse
(→‎Регистры: оформление)
 
(не показаны 3 промежуточные версии этого же участника)
Строка 2: Строка 2:


== Регистры ==
== Регистры ==
Процессор MIPS содержит 32 регистра общего назначения, счётчик команд, специальные регистры HI и LO.
Процессор MIPS содержит 32 регистра общего назначения, счётчик команд, специальные регистры HI и LO. Регистры обозначаются <code>r0</code>-<code>r31</code>. Регистр <code>r0</code> доступен только для чтения и содержит константу 0. По соглашению, для регистров общего назначения существуют псевдонимы:
 
{| class="wikitable" border="1"
|-
! Номер
! Псевдоним
! Описание
|-
| 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>
| Адрес возврата из процедуры
|}


== Управляющий сопроцессор ==
== Управляющий сопроцессор ==
Строка 14: Строка 69:
* [http://www.cs.cornell.edu/courses/cs3410/2008fa/MIPS_Vol2.pdf Volume II: The MIPS32™ Instruction Set]
* [http://www.cs.cornell.edu/courses/cs3410/2008fa/MIPS_Vol2.pdf Volume II: The MIPS32™ Instruction Set]
* [http://www.cs.cornell.edu/courses/cs3410/2008fa/MIPS_Vol3.pdf Volume III: The MIPS32™ Privileged Resource Architecture]
* [http://www.cs.cornell.edu/courses/cs3410/2008fa/MIPS_Vol3.pdf Volume III: The MIPS32™ Privileged Resource Architecture]
[[Категория:Микропроцессоры]]

Текущая версия от 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