Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MProc / M9 / Системная архитектура часть 6..doc
Скачиваний:
47
Добавлен:
16.04.2013
Размер:
271 Кб
Скачать

6.2. Внутреннее состояние rse

Табл. 6.1 описывает архитектурное состояние, поддерживаемое механизмом стека регистров. Описанные здесь элементы внутреннего состояния RSE, не предоставлены программисту прямо, как архитектурно видимые регистры. Следовательно, внутреннее состояние RSE не нуждается в сохранении при переключениях контекста или прерываниях. Вместо этого, оно меняется как побочный эффект инструкций, связанных с регистровым стеком. Для описания эффектов этих инструкций, необходимо полное описание внутреннего состояния RSE. Чтобы отличить их от архитектурно видимых ресурсов, все элементы внутреннего состояния RSE имеют префикс «RSE». Другие ресурсы, связанные с RSE, являются архитектурно видимыми и представляются программному обеспечению, как прикладные регистры RSC, BSP, BSPSTORE и RNAT.

Табл. 6.1. Внутреннее состояние RSE

Имя

Описание

Соответствует

RSE.N_STACKED_PHYS

Количество физических регистров в стеке (Number of Stacked Physical register): размер файла физических стековых регистров зависит от реализации.

RSE.BOF

Номер регистра нижнего края окна (Bottom-of –frame register number): номер физического регистра GR32.

AR[BSP]

RSE.StoreReg

Номер регистра сохранения RSE (RSE Store Register number): физический номер регистра, который будет следующим регистром сохраненным RSE.

AR[BSPSTORE]

RSE.LoadReg

Номер регистра загрузки RSE (RSE Load Register number): физический номер регистра, на единицу больший, чем тот, который будет следующим регистром для загрузки (по модулю количества физических стековых регистров).

RSE.BspLoad

RSE.BspLoad

Указатель вспомогательной памяти (Backing Store Pointer) для загрузок памяти: 64-битный адрес вспомогательной памяти, на 8 байт больший, чем следующий адрес для загрузки механизмом RSE.

RSE.BspLoad

RSE.RNATBitIndex

Индекс совокупности NaT битов RSE (RSE NaT Collection Bit Index): 6-битный указатель в регистре RNAT (определен, когда обновляется совокупность битов RNAT).

AR[BSPSTORE] {8:3}

RSE.CFLE

Разрешение RSE для загрузки текущего окна (RSE Current Frame Load Enable): управляющий бит, который разрешает RSE загрузить регистры в текущее окно после br.ret или rfi.

RSE.ndirty

Количество грязных регистров (number of dirty registers) в регистровом стеке.

RSE.ndirty_words

Количество грязных слов (number of dirty words) в регистровом стеке, плюс количество соответствующих регистров NaT совокупности.

AR[BSP] – AR[BSPSTORE]