エンベデッドシステムスペシャリスト暗記無料で始める

スタックポインタとは?すたっくぽいんた

スタックポインタとは、現在のスタックの先端アドレスを保持するレジスタ。戻り番地、引数、局所変数、割込み時に退避されるコンテキストが積まれる位置を示し、RTOSではタスク切替えのたびに各タスクの値へ差し替えることで実行文脈を保つ。MMUのないMCUでは、あふれても例外が上がらず隣接領域を壊す。

最終更新:2026-10-06

試験情報

エンベデッドシステムスペシャリスト試験の頻出用語/午前II

エンベデッドSPを最短で暗記・合格する →

背景

サブルーチンの戻り先を固定番地に置いていた時代は、呼出しを入れ子にできず再入もできなかった。後入れ先出しの領域と、その先端を指すレジスタを1本設けるだけで、入れ子・再帰・多重割込みが一気に成立した。代償として「どこまで積まれるか」が実行経路に依存するようになり、限られたRAMで最悪深さを見積る作業が組込み設計の側に残っている。

具体例

Arm Cortex-Mはメインスタックポインタ(MSP)とプロセススタックポインタ(PSP)を持ち、例外ハンドラはMSP、各タスクはPSPを使う。RTOSのコンテキストスイッチは、レジスタをPSPの先へ積んでからPSPを次のタスクの値へ書き換えるだけで実行文脈を入れ替える。

試験での引っ掛け

「次に積む位置」を指すか「最後に積んだ位置」を指すか、伸びる向きが下位番地側か上位側かはアーキテクチャで違う。手元のCPUの流儀を一般則と思い込むと、使用量の計算も境界チェックの向きも逆になる。値を定期的に監視するだけでは、割込み内で一瞬だけ深くなるピークを取り逃す。

関連用語

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

エンベデッドSPを最短で暗記・合格する →

試験での特徴
  • 分野:午前II
  • 「次に積む位置」を指すか「最後に積んだ位置」を指すか、伸びる向きが下位番地側か上位側かはアーキテクチャで違う。