← コンピュータアーキテクチャのシラバスへ
←講義のツボメニューへ

第23回、第24回
【2003,12,11】

10,7 SEP-2の命令実行制御---状態遷移


10,7,1 命令の実行サイクル

一般の概説書によると、コンピュータの1個の機械語命令の実行の過程を見ると

(1)命令フェッチ(Fetch:取り出し)
(2)命令デコード(Decode:意味解読)
(3)オペランドフェッチ
(4)演算実行


の4つから成ると説明がある。この4つは不可欠だが、すべてのコンピュータの機種によってそれぞれ工夫があり、時間的に2つのステージで2つの動作を並列して行う芸当もある。
SEP-2では実行サイクルは大まかに以下のようになる。

(1)命令フェッチ (Instruction Fetch : IF)
(2)命令デコードおよびFオペランドフェッチ (Instruction Decode & F Fetch : FF)
(3)Tオペランドフェッチ (T Fetch : TF)
(4)演算実行および演算結果の格納 (Execution : EX)


10,7,2 実行サイクル→状態遷移への対応付け

機械語命令の実行サイクルは、すべての命令で大まかには上記の4サイクルをまわる点では共通である。
しかし、具体的な個々の機械語命令の実行サイクルと、そこで実行する個々の動作はその命令のOPコード
によって異なるし、アドレスモードによっても異なる。アドレスモードにはFオペランドとTオペランドの
組み合わせがあり、その上にOPコードとの組み合わせもあるから、実行サイクルの詳細なバリエーションはかなり多数になる。

10,7,3 状態と状態遷移

コンピュータに限らず一般にデジタル機械は、クロックに同期して間欠的に動作が進行する。
間欠的に明確な区切りを切って動く場合は、1つの区切りすなわち1つのクッロク期間は単純な要素動作を行う。
それを積み重ねて全体的には複雑な動作をこなす。すなわち1個の楕円は他と違う固有の動作をする1つの区切られた期間 であり、この1つの期間を1つの「状態」(Status)と呼ぶ。
1つの状態は他の状態と明確に区分され、その状態で実施する動作は他の状態での動作とどこかが異なる。
また、クロックの進行とともに1つの状態は他の状態へと移行する。どの状態へ移行するのか?は今いる状態と
今持っている条件とから決まる。状態から状態への移行を「状態遷移」(Status Transition)と呼ぶ。

10,7,4 個々の命令の状態遷移

実際の状態遷移の流れはテキストのP70の表10,5とP69の図10,15を参照
← コンピュータアーキテクチャのシラバスへ