Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Перевод CPU Reference Guide часть 1.doc
Скачиваний:
6
Добавлен:
21.09.2019
Размер:
1.4 Mб
Скачать

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.