第5章 レジスタ転送レベルの設計
2
5.1 マイクロ操作とレジスタ転送言語
�
格納さ い 情報 施す操作をイ 操作 いう
間 ー や
こ イ 操作 記述す こ
イ 操作を基本 し
コン ュー 動作を記述す 言語を 転送言語 呼
ハー ア記述言語 呼 い
VHDL (VHSIC Hardware Description Language)
3
5.1 マイクロ操作とレジスタ転送言語
�
イ 操作 そ を起動す 制御条件を示し 論理式う 記述す
制御条件: イ 操作, イ 操作, ...
制御条件を表現す 論理式 成立す
そ あ 書 イ 操作 実行さ
if-っhen 文 書 う
If 制御条件 = 1 then イ 操作, イ 操作, ....
4
5.1 マイクロ操作とレジスタ転送言語
イ ン 変数 T1 = 1
ップ ップ X 値 あ
B 値を A 転送
X T 1 : A ← B
X T 2 : A ← B + C
X T 2 : A ← B – C
5
5.2 転送用マイクロ操作
AR(0 : 7) AR ッ 7 ッ
PC(L) PC 下位 ッ
M(AR) AR 示すア 2 内容
A ← B B 内容を A 移す
図5.1 タの ック図
6
5.2 転送用マイクロ操作
X T
1: R0 ← R1
図5.2 タ転送を実現する回路
7
5.2 転送用マイクロ操作
T
1: R0 ← R1
T
1T
2: R0 ← R2
図5.3 つの タ転送を実現する回路
8
5.2 転送用マイクロ操作
T
1: R0 ← R1
T
1T
2: R0 ← R2
MUX 0
1
9
5.2 転送用マイクロ操作
図5.5 状態ゲート
10
5.2 転送用マイクロ操作
1 0 X
X 0
X
図5.5 状態ゲート
11
5.2 転送用マイクロ操作
0 1 0
0 1
Z 高抵抗(ハイインピーダンス) Yが電源線、接地線と 高抵抗で接続された状態
回路から切り離された状態
図5.5 状態ゲート
12
5.2 転送用マイクロ操作
C=1: Y=X
C=0: YとXが切り離された状態
図5.5 状態ゲート
13
5.2 転送用マイクロ操作
T
1: R0 ← R1
T
1T
2: R0 ← R2
14
R1 ← R2
こ イ 操作を実現す
プ サ 入力 を選び
同時 コー E1=1 う
選択入力を加え
5.2 転送用マイクロ操作
図5.4 マ チ クサによるバ テ
15
R1 ← R2
こ イ 操作を実現す
プ サ 入力 を選び
同時 コー E1=1 う
選択入力を加え
5.2 転送用マイクロ操作
図5.4 マ チ クサによるバ テ
16
R1 ← R2
5.2 転送用マイクロ操作
図5.6 状態ゲートによるバ テ
17
R1 ← R2
0
1
5.2 転送用マイクロ操作
図5.6 状態ゲートによるバ テ
18
�
読 出し イ 操作Read : DR ← M(AR)
�
書 込 イ 操作Write : M(AR) ← DR
5.2 転送用マイクロ操作
19
読 出し イ 操作
Read : DR ← M(AR)
書 込 イ 操作
Write : M(AR) ← DR
5.2 転送用マイクロ操作
図5.7 転送
20
5.3 演算用マイクロ操作
表5.1 算術マイク 操作
21
5.3 演算用マイクロ操作
表5.2 論理マイク 操作
22
5.3 演算用マイクロ操作
図5.8 算術論理演算部
23
5.3 演算用マイクロ操作
表5.3 トマイク 操作
24
論理 各 ッ を ッ す 操作 あ
空 端 ッ 埋
R = 1 1 0 1 0 0 0 1 lsl R = 1 0 1 0 0 0 1 0
R = 1 1 0 1 0 0 0 1 lsr R = 0 1 1 0 1 0 0 0
5.3 演算用マイクロ操作
25
回転 両端 接続さ 回転す う を行 い 端 あ
ッ をそ 反対側 端 ッ 転送す
R = 1 1 0 1 0 0 0 1 rol R = 1 0 1 0 0 0 1 1
R = 1 1 0 1 0 0 0 1 ror R = 1 1 1 0 1 0 0 0
5.3 演算用マイクロ操作
26
算術左 符号付 進数 を掛け算す こ 等価
算術右 符号付 進数を 割 算す こ 等価
算術 前後 符号 ッ 不変
符号 ッ 以外 ッ け ッ
R = 1 : 1 0 1 0 0 0 1 asl R = 1 : 0 1 0 0 0 1 0
R = 1 : 1 0 1 0 0 0 1
asr R = 1 : 1 1 0 1 0 0 0