命令実行をたとえば以下のような複数の連続した動作に分解できる
- 命令フェッチ (IF)
〇PCが新しい値になり、主記憶プログラム領域から命令を取り出す- 命令デコード (ID)
〇取り出した命令をデコードして、ALUに適切な処理を指示する、レジスタファイルから必要なデータを取り出す- 実行 (EX)
〇ALUでの実際の計算などを行う- データアクセス (MEM)
〇命令の種類によるが、必要あれば主記憶データ領域のデータにアクセス(READまたはWRITE)する。- レジスタ書き込み (WB)
〇演算等の結果をレジスタファイルに書き込む
〇RISCコンピュータでは、すべての命令がこのIF->ID->EX->MEM->WBの5つの動作で実行できる。
また、分岐命令がない場合には今後実行する命令がわかっているので、
上図のように命令の処理をオーバーラップして実行することが可能
〇現状のデジタルシステムには必ずクロックというパルス波形が必要で、そのパルスに同期してデジタル回路は動作している。
〇たとえば、上記5段パイプラインの各ステージは通常クロックパルスに同期して動作するので、5サイクルのクロックで1つの命令の実行が完了する。
〇しかし、1サイクルごとに1つの命令の処理は開始されるので、処理としては1サイクル1命令ということになる。
〇Million Instruction Per Secondの略
〇実行速度を表す単位で、X MIPS とは1秒間にX*100万回命令を実行できるという意味
〇インストラクション・ミックス
〇ベンチマーク
〇割り込むとは実行中のプログラムの中断、中断中に別のプログラムを実行し終了後に、必要あれば再開する。
〇逆にいうと、コンピュータというのは止まれない、命令を読みつづけ、それにしたがって実行しつづける。
〇したがって、割り込みというのは、現在読み込んでいる命令列の読み込みを中止し、べつの命令を読み込ませること、
すなわち、プログラムカウンターを割り込みに応じて変化させることを意味する。
- 外部割込み
- 内部割込み
宿題8 学籍番号 名前 日付 を書いて 提出すること。
1)P142-144の練習問題
以上