スタックポインタとは?すたっくぽいんた
スタックポインタとは、現在のスタック領域の先頭アドレスを保持するレジスタ(CPUの中にある値の一時置き場)。関数を呼び出したときの戻り番地(処理を終えて呼出し元へ戻る位置)、引数、その関数の中だけで使う変数(ローカル変数)、割込み(実行中の処理を一時止めて別の処理を先にさせる仕組み)のときに退避するデータが、どこまで積まれたかを示す。組込み機器では容量の限られたRAM上に置くため、深さの見積りを誤ると領域を突き抜けて暴走する。
最終更新:2026-10-09
基本情報を最短で暗記・合格する →具体例
一部のマイコン(機器に組み込む小型のコンピュータ)は、OSなど強い権限で動く処理用(特権用)とそれ以外の処理用(非特権用)で別のスタックポインタを持ち、割込み処理は専用のスタックを使う。複数の処理(タスク)を切り替えながら動かす組込み向けのOS(RTOS:リアルタイムOS)では、タスクごとにスタック領域を確保する。実行するタスクを切り替える(コンテキストスイッチ)たびにスタックポインタを差し替えることで、各タスクの実行状態を保つ。
試験での引っ掛け
「次に積む位置」を指すか「最後に積んだ位置」を指すか、伸びる向きが上位側か下位側かはアーキテクチャごとに違う。特定のCPUの動作を一般則と思い込むと、スタック使用量の計算や境界チェックの向きを取り違える。
関連用語
出典・参考
公式シラバスの2 コンピュータシステム > 1. プロセッサ > (5) プロセッサの構造と方式に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。