Renesas Synergy™

FAQ 105097 : 割り込み用スタックポインタ(SPI)とユーザ用スタックポインタ(SPU)の違いは何ですか? [2002/09/19]

割り込み用スタックポインタ(SPI)は割り込み処理で使用するスタックポインタで、ユーザ用スタックポインタ(SPU)は、それ以外の処理で使用するスタックポインタです。
SPI,SPUは、現在のスタックポインタのアドレスを保持します。これらのレジスタは、汎用レジスタR15としてアクセスできます。この汎用レジスタを SPIとして使用するかSPUとして使用するかを決定するのがプロセッサ状態語レジスタ(PSW)のスタックモードビット(SM)です。

●SMビット="0":割り込み用スタックポインタ(SPI)を使用
●SMビット="1":ユーザスタックポインタ(SPU)を使用

EIT発生時、自動的にSM="0"になりSPIを使用するように切り替わるものがあります。
表1にEIT事象とEIT受付時のハードウエア前処理によるSMビットの変化を示します。

表1. EIT事象とEIT受付時のハードウエア前処理によるSMビットの変化

EIT事象 SMビット
リセット割り込み(RI) "0"
システムブレーク割り込み(SBI) "0"
予約命令例外(RIE) 不変
アドレス例外(AE) 不変
トラップ(TRAP) 不変
外部割り込み(EI) "0"

適用製品

32170, 32174
32171
32172, 32173
32176
32180
32182
32185
32186
32192
32195
32196
他にご質問がございましたら、リクエストを送信してください