試験にでてくるCPUのレジスタ ~プログラムレジスタ・フラグレジスタ・命令レジスタ・汎用レジスタ~
レジスタとは
レジスタ(register)とはコンピュータのプロセッサなどが内蔵する記憶回路のことです。
プロセッサ (processor)とは、コンピュータシステムの中で、ソフトウェアプログラムに記述された命令セット(データの転送、計算、加工、制御、管理など)を実行するためのハードウェアであるため、レジスタはそれらの命令を記憶するものです。
このレジスタは基本情報技術者試験や応用情報技術者試験などの情報処理技術者試験でも頻出の用語です。
今回は情報処理技術者試験にでてくるレジスタについて解説していきます。
レジスタの種類
応用情報技術者試験でレジスタは以下のように出題されています。
CPUのプログラムレジスタ(プログラムカウンタ)の役割はどれか
応用情報技術者試験 平成29年度春午前問8
ア)演算を行うために、メモリから読みだしたデータを保持する。
イ)条件付き分岐命令を実行するために、演算結果の状態を保持する。
ウ)命令のデコードを行うために、メモリから読みだした命令を保持する。
エ)命令を読み出すために、次の命令が格納されたアドレスを保持する。
この問題をもとに、レジスタの種類を見ていきましょう。
プログラムレジスタ(プログラムカウンタ)
先ほどの問題で挙げられたプログラムレジスタは次に実行する命令のアドレスを格納するレジスタです。
つまり答えは選択肢エです。
ステータスレジスタ(フラグレジスタ)
選択肢イのように、条件付き分岐命令を実行するために、演算結果の状態を保持するのはステータスレジスタ(フラグレジスタ)です。
命令レジスタ
選択肢ウのように、命令のデコードを行うために、メモリから読みだした命令を保持するのは命令レジスタです。
汎用レジスタ(ジェネラルレジスタ)
選択肢アのように、特別な目的をもたず、演算を行うためにメモリから取り出したデータを保持するのは汎用レジスタ(ジェネラルレジスタ)です。