コンピュータアーキテクチャ 第 10 回
制御部 (Controller) 命令の解読(デコード) ⇒ 制御信号の生成 ⇒ マイクロ操作の実行タイミングを決定 アセンブリプログラマからは見えない 今回の内容 レジスタ間命令(テキスト参照)の取り込み: 次回,全命令を含む制御部に拡張 デコーダの設計 レジスタの選択回路 命令を実現するマイクロ操作の制御 レジスタ間命令の制御信号生成回路 * * *
ハードウェアモデルにおける位置付け * * *
プロセッサの命令処理の流れ 命令フェッチ (instruction fetch): 命令解読 (instruction decode): メモリアドレス設定 ⇒ マイクロ操作 A データ読み込み⇒ マイクロ操作 R 命令レジスタへの転送⇒ マイクロ操作 T 命令解読 (instruction decode): 実行 (execution): * * 演算・データ転送,メモリアクセス等の操作 ⇒ マイクロ操作 E
レジスタ間命令の実行制御 状態 F1, F2, F3, Dec, Exe ⇒ 対応するクロックサイクル, あるいはステップ: あるいはステップ: * 命令フェッチのステップ: F1, F2, F3 * 命令の : Dec-Exe レジスタ間命令ではひとつの クロックサイクルからなる
状態を決定する制御信号 状態 F1, F2, F3, Dec, Exe をどのように決定するのか? ⇒ * シフトレジスタを環状接続 ⇒リングカウンタ リングカウンタの 1 ビットだけハイレベルにして使用 ⇒ワンホットステートカウンタ 実現方法 2 ビットカウンタと 2 ビット入力 4 ビット出力デコーダの組合せ (フリップフロップを直列接続) *
COMETⅡのマイクロアーキテクチャと制御信号
命令フェッチ第1ステップ *
命令フェッチ第2ステップ *
命令フェッチ第3ステップ *
命令フェッチの タイムチャート
命令フェッチのために生成される 制御信号 略記 マイクロ操作 bA bB A/S_op F bC Mem IAa BPAbSD c0123aLR Fcn GiPAmDdSsD srw F1: 000 010000 00010000 000 0001000000 000; F2: 000 000000 00000000 000 0000110000 010; F3: 101 000000 00000000 000 0000000000 000; マイクロ操作 * * *
命令の読解(デコード) * * *
演習問題 10.1 レジスタ間の SUBL 命令および AND 命令をデコード する命令デコーダを設計しなさい.
バス A に接続するレジスタ選択回路 本アーキテクチャ: * * GRAout = 0, かつ MDRout_a = 0 のとき,バス A に値 0 を出力するようマルチプレクサを設計
バス B に接続するレジスタ選択回路 本アーキテクチャ: * *
レジスタ間命令の実行ステップの制御 機械語命令が ADDA GR0, GR1 の場合
ADDA r1,r2 命令 の実行ステップ: Dec-Adda bA bB A/S_op F bC Mem IAa BPAbSD c0123aLR Fcn GiPAmDdSsD srw Dec-Adda: 010 100000 00111100 100 1110000000 000; if ADDA_r = 1 then GRA←GRA+GRB, PR←PR+1
LD r1,r2 命令 の実行ステップ: Dec-Ld bA bB A/S_op F bC Mem IAa BPAbSD c0123aLR Fcn GiPAmDdSsD srw Dec-Ld: 000 100000 00010000 101 1110000000 000; if LD_r = 1 then GRA←GRB, PR←PR+1
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: 010 100000 11111000 111 0110000000 000; if CPL_r = 1 then GRA-GRB, PR←PR+1
演習問題 10.2 ADDL r1,r2 命令の実行ステップの制御信号と タイムチャートを示せ.
演習問題 10.3 以下の命令の実行ステップのマイクロ操作と 制御信号を示せ. (1) SUBA r1,r2 (2) OR r1,r2 (3) CPA r1,r2
制御信号生成回路の構成 配線論理制御(wired logic control)方式 目的の を実現する順序回路 論理合成の効率の観点から最近多 ⇒ 本講義でも採用 マイクロプログラム制御(microprogrammed control)方式 に格納された命令ごとの制御情報を読み出す * * *
レジスタ間命令の制御回路例 (スライド 12, 17 参照)