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

Материал из Emuverse
(→‎Регистры: оформление)
 
Строка 18: Строка 18:
| Зарезервировано для ассемблера
| Зарезервировано для ассемблера
|-
|-
| 2-3
| 2—3
| <code>$v0-v1</code>
| <code>$v0-v1</code>
|  
|  
|-
|-
| 4-7
| 4—7
| <code>$a0-a3</code>
| <code>$a0-a3</code>
|  
|  
|-
|-
| 8-15
| 8—15
| <code>$t0-t7</code>
| <code>$t0-t7</code>
|  
|  
|-
|-
| 16-23
| 16—23
| <code>$s0-s7</code>
| <code>$s0-s7</code>
|  
|  
|-
|-
| 24-25
| 24—25
| <code>$t8-t9</code>
| <code>$t8-t9</code>
|  
|  
|-
|-
| 26-27
| 26—27
| <code>$k0-k1</code>
| <code>$k0-k1</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