Download presentation
Presentation is loading. Please wait.
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 参照)
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.