CPU・アーキテクチャ

プログラムでサブルーチン(関数)を呼び出すとき、戻り先のアドレスなどを一時的に保存するために一般的に使われる領域はどれか。

  1. Aスタック
  2. Bキャッシュのタグ
  3. CROMの固定領域
答えと解説を見る

正解:A. スタック

サブルーチンを呼び出すと、呼び出し元に戻るためのアドレスや、レジスタの値、局所変数などがスタックに積まれます。スタックは後から入れたものを先に取り出す(LIFO)構造で、呼び出しが入れ子になっても正しい順で戻れます。スタックの先頭位置はスタックポインタが示します。

  • A. 正しい。戻り先のアドレスなどはスタックに保存されます。
  • B. キャッシュのタグは、キャッシュのデータがどのアドレスのものかを示す情報です。
  • C. ROMは書き換えられないので、実行時の一時的な保存には使えません。
この分野を解く 分野ページへ

CPU・アーキテクチャのほかの問題

  1. キャッシュミスの分類「3つのC」に含まれるものの組み合わせとして正しいものはどれか。
  2. アウトオブオーダー実行のCPUで、順序を入れ替えて実行した命令の結果を、プログラムの本来の順序で確定(リタイア)させるための仕組みはどれか。
  3. アウトオブオーダー実行のCPUで使われるレジスタリネーミングの主な目的はどれか。
  4. AI向けのアクセラレータなどで、多数の積和演算器を格子状に並べ、データを隣の演算器へ順に流しながら行列の積を計算する構成はどれか。
  5. プログラムの性能が、演算性能とメモリ帯域のどちらで制限されるかを、演算強度(1バイトあたりの演算数)を横軸にして図示するモデルはどれか。