next up previous contents index
Next: 電卓 Up: 制御部 Previous: 固定的作業を行う制御部   Contents   Index

フラグに依存する制御部

データ処理部,なかでもALUはその作業結果に応じてフラグ(flag)を設定する。 図 10.2左に示すように, 制御部がこのフラグを見て動作を変えるようになると, いわゆるプログラムのジャンプ命令を実行できるようになる。 ALUのフラグには,$A-B$の結果が0か負か非正か, またビット列として大であるかを示すものがある。 前者は算術演算の条件判定に使えるし,後者は論理演算の条件判定に使える。 その結果に応じて,条件ジャンプ命令を実行することが可能となり, プログラムの適用範囲は極めて広くなる。

Figure 10.2: フラグに依存する制御部
\begin{figure}\centering
%
\unitlength 1pt
\begin{picture}(208,87)
\put(0,0){\s...
...)[b]{{\footnotesize\mc フラグ}{\footnotesize\rm R}}}
\end{picture}
\end{figure}

フラグの結果を命令1回限りで利用する場合には, 図 10.2左の構造で十分であるが, それをもっと先の命令まで利用することもある。 例えば,命令によっては情報が多く,普通より長いものもありうる。 こうしたとき,命令を全部読み込むまで,フラグの内容を維持したいことがある。 もちろん,フラグの内容をいったん汎用のレジスタに記憶し, それを読み出すことも可能であるが, こうした可能性が数多く発生する場合には,図 10.2右のように, フラグ専用のフラグレジスタ(flag register)を用意するのが得策である。


next up previous contents index
Next: 電卓 Up: 制御部 Previous: 固定的作業を行う制御部   Contents   Index
Yoichi OKABE 2008-03-29