応用情報技術者試験 令和2年秋 午前問8 解説付き過去問
問題
CPUのスタックポインタが示すものとして、最も適切なものはどれか。
正解
解説
この問題は、CPUのスタックポインタが何を指しているかについて理解することが要求されています。スタックポインタの概念とその役割を正確に理解することが、この問題の解答の鍵となります。
- スタックポインタの基本的な役割
スタックポインタは、スタックと呼ばれるデータ構造の最上部を指示するポインタです。スタックは「後入れ先出し」(LIFO: Last In, First Out)の原則に基づいて操作され、プログラム実行中に一時的にデータを保存するのに使用されます。具体的には、関数やサブルーチンが呼び出される際、戻り先のアドレスやレジスタの状態がスタックに保存され、それらの情報はスタックポインタによって指し示されます。 - CPUのスタックポインタの具体的な使用例
プログラムがサブルーチンを呼び出す際、CPUは現在の実行状態を保持する必要があります。このため、現在のプログラムカウンタ(戻り先のアドレス)、レジスタの値などがスタックにプッシュされます。スタックポインタはこれらの情報が格納されたメモリのアドレスを指し示すことになります。この操作により、サブルーチンの実行が終わった後に元のプログラムの状態に戻ることが可能になります。
したがって、スタックポインタが示すのは「サブルーチン呼出し時に、戻り先アドレス、レジスタの内容などを格納するメモリのアドレス」であるため、この選択肢が正解です。この理解は、CPUの実行フローを学ぶ上で非常に重要な概念の一つです。