Transcript パート08
コンピュータアーキテクチャ 第8回 1 演算結果とフラグ値生成 算術論理演算,シフト演算などの結果を反映するフラグレ ジスタ (OF, SF, ZF) の各値はどのように設定されるの か? * は検出できるのか? – 例えば,なぜ – 各命令ごとに設定されたフラグへの反映をどう実現するのか? 今回の内容 – フラグレジスタの各値の決定方法 算術加減算のオーバフロー判定 論理加減算のオーバフロー判定 算術比較命令の判定 論理比較命令の判定 フラグレジスタ生成回路例 – フラグレジスタ計算例題演習 2 ハードウェアモデルにおける位置付け * * * 3 演算回路の構成 * * * * 4 N, Z, V, C 信号 * 5 フラグレジスタ (OF, SF, ZF) の 設定における注意 6 算術加減算とオーバフロー (1) * * 7 算術加減算とオーバフロー (2) 8 演習問題 8.1 9 論理加減算とオーバフロー (1) * * * 10 論理加減算とオーバフロー (2) 11 演習問題 8.2 12 算術比較命令の判定 (1) 符号つき2進数の減算によって得られる N, Z, V, C 信号の値を用いた, 整数の大小関係の判定方法 * * * * 13 算術比較命令の判定 (2) 14 演習問題 8.3 15 論理比較命令の判定 符号なし2進数の減算によって得られる N, Z, V, C フラグ の値を用いた,整数の大小関係の判定方法 * 16 各演算結果のフラグレジスタ OF, SF, ZF への反映 プロセッサ(アーキテクチャ)ごとに設定が異なる COMET II の場合(例) – 算術加減算命令 * 結果が の範囲をこえたとき OF = 1 結果を表す値の最上位ビットが 1 のとき SF = 1 – 算術左シフト命令 最後に押し出された値を OF フラグに格納 – 算術比較命令 OF フラグは常に 0 第 1 オペランドが第 2 オペランドより小さいとき SF =1 – ストア命令,ロードアドレス命令 フラグへの反映なし 17 COMET II のフラグレジスタ OF, SF の真理値表 18 COMETⅡのフラグレジスタ生成回路 セレクタは制御信号がハイレベルで * 19 例題 (フラグ) 20 例題 (フラグ) 回答例(1) 21 例題 (フラグ) 回答例(2) 22 例題 (フラグ) 回答例(3) 23 例題 (フラグ) 回答例(4) 24 例題 (フラグ) 回答例(5) 25 演習問題 8.4 26