Presentation is loading. Please wait.

Presentation is loading. Please wait.

コンピュータアーキテクチャ 第 10 回.

Similar presentations


Presentation on theme: "コンピュータアーキテクチャ 第 10 回."— Presentation transcript:

1 コンピュータアーキテクチャ 第 10 回

2 制御部 (Controller) 命令の解読(デコード) ⇒ 命令解読回路(デコーダ) 制御信号の生成 ⇒
マイクロ操作の実行タイミングを決定 アセンブリプログラマからは見えない 今回の内容 レジスタ間命令(テキスト参照)の取り込み: 次回,全命令を含む制御部に拡張 デコーダの設計 レジスタの選択回路 命令を実現するマイクロ操作の制御 レジスタ間命令の制御信号生成回路 * 命令解読回路(デコーダ) 制御信号生成回路 * * 命令フェッチ (Instruction fetch)

3 ハードウェアモデルにおける位置付け * レジスタ間命令 のデコーダ * レジスタ 選択回路 * レジスタ間命令 の制御信号 生成回路

4 プロセッサの命令処理の流れ 命令フェッチ (instruction fetch): 命令解読 (instruction decode):
メモリアドレス設定 ⇒ マイクロ操作 A データ読み込み⇒ マイクロ操作 R 命令レジスタへの転送⇒ マイクロ操作 T 命令解読 (instruction decode): 実行 (execution): PR の指すメモリアドレスから命令を読み出す操作 * 次に実行すべき命令の解釈 ⇒ マイクロ操作 D * 演算・データ転送,メモリアクセス等の操作 ⇒ マイクロ操作 E

5 レジスタ間命令の実行制御 状態 F1, F2, F3, Dec, Exe ⇒ 対応するクロックサイクル, あるいはステップ: 状態と同じ
  あるいはステップ: 状態と同じ F1, F2, F3, Dec-Exe で表記 * 命令フェッチのステップ: F1, F2, F3 * 命令の          : Dec-Exe 実行ステップ レジスタ間命令ではひとつの クロックサイクルからなる

6 状態を決定する制御信号 状態 F1, F2, F3, Dec, Exe をどのように決定するのか? ⇒
対応する信号 Q1, Q2, Q3, Q4 が順にハイレベルとなって状態を決定 * シフトレジスタを環状接続 ⇒リングカウンタ リングカウンタの 1 ビットだけハイレベルにして使用 ⇒ワンホットステートカウンタ 実現方法 2 ビットカウンタと 2 ビット入力 4 ビット出力デコーダの組合せ            (フリップフロップを直列接続) シフトレジスタ *

7 COMETⅡのマイクロアーキテクチャと制御信号

8 命令フェッチ第1ステップ F1: MAR ← PR *

9 命令フェッチ第2ステップ F2: MDR ← mem(MAR) *

10 命令フェッチ第3ステップ F3: IR ← MDR *

11 命令フェッチの タイムチャート

12 命令フェッチのために生成される 制御信号 略記 マイクロ操作 bA bB A/S_op F bC Mem
IAa BPAbSD c0123aLR Fcn GiPAmDdSsD srw F1: ; F2: ; F3: ; マイクロ操作 * MAR←PR MDR←mem(MAR) * IR←MDR *

13 命令の読解(デコード) * レジスタ間命令をデコードする命令デコーダの例 * * 汎用レジスタ r1 を割付け 汎用レジスタ r2 を割付け

14 演習問題 10.1 レジスタ間の SUBL 命令および AND 命令をデコード する命令デコーダを設計しなさい.

15 バス A に接続するレジスタ選択回路 本アーキテクチャ: 汎用レジスタ r1 ⇒ RA 信号 → GRA (GR0 ~ GR7) * *
レジスタをマルチプレクサで選択 GRAout = 0, かつ MDRout_a = 0 のとき,バス A に値 0 を出力するようマルチプレクサを設計

16 バス B に接続するレジスタ選択回路 本アーキテクチャ: 汎用レジスタ r2 ⇒ RB 信号→ GRB (GR0 ~ GR7) * *
レジスタをマルチプレクサで選択 6つの制御信号がすべて 0 のときバス B に値 0 を出力するようマルチプレクサを設計

17 レジスタ間命令の実行ステップの制御 機械語命令が ADDA GR0, GR1 の場合

18 ADDA r1,r2 命令 の実行ステップ: Dec-Adda
* ADDA r1,r2 命令 の実行ステップ: Dec-Adda bA bB A/S_op F bC Mem IAa BPAbSD c0123aLR Fcn GiPAmDdSsD srw Dec-Adda: ; if ADDA_r = 1 then GRA←GRA+GRB, PR←PR+1

19 LD r1,r2 命令 の実行ステップ: Dec-Ld
* LD r1,r2 命令 の実行ステップ: Dec-Ld bA bB A/S_op F bC Mem IAa BPAbSD c0123aLR Fcn GiPAmDdSsD srw Dec-Ld: ; if LD_r = 1 then GRA←GRB, PR←PR+1

20 CPL r1,r2 命令 の実行ステップ: Dec-Cpl
* CPL r1,r2 命令 の実行ステップ: Dec-Cpl bA bB A/S_op F bC Mem IAa BPAbSD c0123aLR Fcn GiPAmDdSsD srw Dec-Cpl: ; if CPL_r = 1 then GRA-GRB, PR←PR+1

21 演習問題 10.2 ADDL r1,r2 命令の実行ステップの制御信号と タイムチャートを示せ.

22 演習問題 10.3 以下の命令の実行ステップのマイクロ操作と 制御信号を示せ. (1) SUBA r1,r2 (2) OR r1,r2
(3) CPA r1,r2

23 制御信号生成回路の構成 配線論理制御(wired logic control)方式
目的の        を実現する順序回路 論理合成の効率の観点から最近多 ⇒ 本講義でも採用 マイクロプログラム制御(microprogrammed control)方式      に格納された命令ごとの制御情報を読み出す * 状態遷移 ROM * ☆ シフトレジスタ *

24 レジスタ間命令の制御回路例 (スライド 12, 17 参照)


Download ppt "コンピュータアーキテクチャ 第 10 回."

Similar presentations


Ads by Google