4-1
Функционирование
стека
Данная секция представляет два стека,
которые существуют на каждом TMS320C55x
(C55x) DSP, и их взаимодействие между собой.
Здесь также объясняется, как они
применяются ЦП в течение автоматического
переключения контекста (сохранение
важных значений регистров до выполнения
подпрограммы и восстанавление тех
значений, когда исполнение подпрограммы
завершено).
Тема
Страница
4.1
Стек
данных и системный стек
4-2
.
. . . . . . . . . . . . . . . . . . . . . . . .
4.2
Конфигурации
стека
4-4
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3
Быстрый
возврат в сравнении с медленным возвратом
4-5
.
. . .
4.4
Автоматическое
переключение контекста
4-8
.
. . . . . . . . . . . . . .
Глава 4
Стек
данных и системный стек
4-2
4.1
Стек
данных и системный стек
ЦП
поддерживает два 16 - разрядных программных
стека, известных как стек данных и
системный стек. Рисунок 4-1 и таблица
4-1 описывает регистры, используемые
для указателей стека. Для доступа к
стеку данных ЦП объединяет SPH
с SP
с целью формирования XSP.
XSP
содержит адрес в 23 бита значения
“задвинутого” в стек данных последним.
SPH
хранит 7- разрядную главную страницу
данных памяти и SP
указывает на особое слово в этой
странице. ЦП декрементирует SP
до проталкивания значения в стек и
инкрементирует SP
после выталкивания значения из стека.
SPH
не изменяется в течение стековых
операций.
Аналогично,
при доступе к системному стеку ЦП
объединяет SPH
с SSP
для формирования XSSP.
XSSP
обладает адресом значения “задвинутого”
в системный стек последним. ЦП
декрементирует SSP
до проталкивания значения в системный
стек и инкрементирует SSP
после выталкивания значения из системного
стека. Также SPH
не изменяется в течение стековых
операций.
Как
описано в секции 4.2, Конфигурации
стека,
SSP может быть как связано с SP, так и не
зависить от него. Если вы выбираете 32-
разрядную конфигурацию стека, то
операции, которые модифицируют SP
будут изменять также и SSP.
Если вы выбираете одну из двойных 16-
разрядных конфигураций стека, то SSP
не зависит от SP;
только SSP
будет изменяться в течение автоматического
переключения контекста (смотрите
страницу 4-8).
Рисунок
4-1. Расширенные указатели стека
22-16
15-0
XSP
SPH
SP
XSSP
SPH
SSP
Стек
данных и системный стек
4-3
Функционирование
стека
Таблица
4-1. Регистры указателя стека
Регистр
Расшифрование
Доступность
XSP
Расширенный
указатель стека данных
Доступен только
через выделенные инструкции. XSP не
является регистром, отображенным в
карте памяти.
SP
Указатель
стека данных
Доступен через
выделенные инструкции и как регистр,
отображенный в карте памяти.
XSSP
Расширенный
указатель системного стека
Доступен только
через выделенные инструкции. XSSP
не является регистром, отображенным в
карте памяти.
SSP
Указатель
системного стека
Доступен через
выделенные инструкции и как регистр,
отображенный в карте памяти.
SPH
Старшая
часть XSP и XSSP
Доступен через
выделенные инструкции и как регистр,
отображенный в карте памяти.
Замечание:
SPH
зависит от записи в XSP и записи в XSSP.