Регистровая структура процессора Nios II
Архитектура процессора Nios II поддерживает плоский регистровый файл, содержащий 32 регистра общего назначения и до 32 управляющих регистров. Регистры общего назначения и управляющие регистры, представлены в таблицах 4.1 и 4.2, соответственно.
Как видно из таблицы 4.1, некоторые из регистров являются специализированными. То есть они предназначены для выполнения определенных функций, имеют специальное имя, понимаемое ассемблером.
Таблица 4.1
Регистры общего назначения
Регистр | Имя | Функция |
r0 r1 | zero at | 0х00000000 Временный |
r3 r4 r4 … r23 | Нет специального обозначения | Регистры общего назначения |
r24 r25 | et bt | Временный для исключений (1) Временный для отладки (2) |
r26 r27 r28 r29 r30 r31 | gp sp fp ea ba ra | Глобальный указатель Указатель стека Указатель кадра Адрес возврата из исключений (1) Возврат из контрольной точки (2) Адрес возврата |
(1) – регистры не доступные в пользовательском режиме
(2) – регистры используются только JTAG Debug модулем
· Регистр r0, называемый регистром нуля, всегда содержит значение 0. Результатом чтения из этого регистра является значение 0. Записать другое значение в этот регистр невозможно.
· Регистр r1 используется ассемблером как временный регистр. Поэтому при разработке программ не рекомендуется его использовать.
· Регистры r24 и r29 используются для обработки исключений. Поэтому они недоступны в режиме пользователя.
· Регистры r25 и r30 используются исключительно модулем JTAG Debug в отладочных целях.
· Регистры r27 и r28 используются процессором для управления стеком.
· Регистр r31 хранит адрес возврата при вызове подпрограмм.
Таблица 4.2
Регистры управления Nios II
Регистр | Имя | b31 …b2 | b1 | b0 |
ctl 0 ctl 1 ctl 2 | status e status b status | резерв резерв резерв | U EU BU | PIE EPIE BPIE |
сtl 3 сtl 4 сtl 5 | ienable ipending cpuid | Биты разрешения прерывания Биты возникших прерываний Уникальный идентификатор |
В состав процессора Nios II может входить до 32 управляющих регистров. Их количество зависит от присутствия модуля защиты памяти или модуля управления памятью. В таблице 4.2 приведены форматы 6 основных базовых управляющих регистров. Причем имена, представленные там, понимаются ассемблером. Регистры используются следующим образом.
· Регистр ctl0 отражает текущее состояние процессора. Чаще всего используют битыU и PIE этого регистра.U определяет режим работы процессора (пользователя/супервизора). PIE - бит разрешения внешних прерываний. Остальные биты используются при наличии модуля защиты памяти или модуля управления памятью.
· Регистр ctl1 хранит копию регистра состояния во время обработки прерываний.
· Регистр ctl2 хранит копию регистра состояния во время обработки точек останова.
· Регистр ctl3 используется для разрешения прерываний процессора от отдельных устройств в процессорной системе.
· Регистр ctl4 указывает произошедшие прерывания.
· Регистр ctl5 хранит уникальное значение, идентифицирующее процессор в многопроцессорной системе.
Дата добавления: 2015-05-30; просмотров: 696;