【 制御装置の役割 】
主記憶装置にあるプログラムや命令を1個ずつ取り出して解読して他の装置を制御する。
重要なものに「レジスタ」と「デコーダ」がある。
●命令デコーダ
機械語命令を解読して、他の装置へ制御信号を出す。
●命令レジスタ
主記憶装置から取り出した命令を一時的に格納するレジスタ。以下の制御装置のレジスタがある。
制御装置は、次に実行する命令が入っているアドレスを命令アドレスレジスタで管理している。
命令を取出す過程は次のようになっていて、この過程を命令取出し(命令フェッチ)とよぶ。
別名「算術論理演算装置(ALU)」とも言う。制御装置から送られてくる制御信号に従い、四則演算、論理演算を行う。
【 ALU 】
多くのALUは以下のような動作をする。
【 アキュムレータ 】
演算の対象となるデータや演算結果を格納する専用のレジスタ。
演算結果を置いたり、データを一時的に記憶するレジスタである。アキュムレータ(accumulator) はあらゆるプロセッサにある。アキュムレータには足し算、引き算などの基本的な演算を行なう回路が付属しており、アキュムレータのデータとデータバス上のデータを演算した結果をアキュムレータに保存することができるようになっている。また、データバスからデータを取り込んだり、データバスにデータを出したりすることができるようになっている。データレジスタと呼ぶこともある。
A, ACCと略すことが多い。
プロセッサの処理能力について述べる際に、よく「○○ビットプロセッサ(あるいは○○ビットCPU、○○ビットDSPなど)」という表現が用いられるが、このビット数はプロセッサ内部の各レジスタの構成ビット数を指す。レジスタの種類によって、同じプロセッサの中に入っているレジスタでもビット長がまちまちであることがあるが、たいていの場合、演算結果を保持するアキュムレータのビット数がそのプロセッサの処理ビット数であると考える。
【 フラグレジスタ 】(FR:FLAGS register)
フラグ ビットの集まりであり、マイクロプロセッサの様々な演算の状態(ステータス)を示すものである。これらのフラグは条件分岐に主に用いられる。
フラグレジスタは、CPUが特定の命令を実行した後に自動的に付与される。主なフラグレジスタの値としては、桁あふれの発生に対して付けられる「OF」(オーバーフロー)や、演算結果がゼロになった場合に付けられる「ZF」(ゼロ)、同じく演算結果が負の値になった場合に付けられる「SF」(サイン)などがある。
【 汎用レジスタ 】(GR:General Register)
演算結果などを格納しておくレジスタ。アドレスレジスター、メモリアドレスレジスター。
アキュムレータとアドレスレジスタを兼ね備えたレジスタ。
データの計算をする回路とアドレスの計算をする回路を一緒にできる上、命令の種類を減らす事ができるため、ほとんどのプロセッサは汎用レジスタを持っている。また、汎用レジスタを複数個用意しておけば、プログラミングの自由度が格段に増し、特にコンパイラが実行効率の良いオブジェクトコードを生成しやすくなる。RISC系プロセッサでは全ての汎用レジスタが同等の機能を有している事が多い。
【 補数器 】
入力された 2 進数データの補数を出力する回路のこと。
www.it-shikaku.jp