Transcript パート10

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