• 検索結果がありません。

chapter 5 最近の更新履歴 Hideo Fujiwara

N/A
N/A
Protected

Academic year: 2018

シェア "chapter 5 最近の更新履歴 Hideo Fujiwara"

Copied!
21
0
0

読み込み中.... (全文を見る)

全文

(1)

1

第5章 コントローラの設計

2

5.1 コントローラの構成

データパスでのマイクロ操作を実行するには マイクロ操作の入力データをデータパスに供給 それを実行するために必要な

制御信号をデータパスに与える

(2)

2

3

コントローラは 一連のマイクロ操作を 実行するための制御信号の系列を

生成する順序回路

命令コードを 命令デコーダで解読し

制御信号生成回路で 制御信号を発生

ゲートやフリップフロップで コントローラを構成する

結線制御

結線制御

4

結線制御

(3)

3

5

結線制御は有限状態機械(FSM)で記述されることが多いので FSMコントローラ と呼ぶこともある

コントローラを設計する方法を説明するために

最大公約数 (GCD, greatest common divisor) を計算するシステム を例にそれを設計

5.2 結線制御の設計

6

entity gcd is port ( clk : in bit;

din : in bit; xin : in integer; yin : in integer; dout : out bit; zout : out integer ); end gcd;

GCD システムの設計

インタフェースをハードウェア記述言語VHDLで記述

(4)

4

7

GCD システムの設計

最大公約数を計算する アルゴリズム

8

GCD システムの設計

動作記述をVHDLで記述

architecture behavior of gcd is begin

process

variable x, y : integer; begin

calculation : loop

wait until ((din ='1') and (clk = '1' and clk'event)); dout <= '0';

x := xin; y := yin;

while (x /= y ) loop if ( x < y ) then y := y - x; else x := x - y; end if;

end loop;

wait until ((din = '0') and (clk = '1' and clk'event)); dout <= '1';

zout <= x; end loop; end process; end behavior;

(5)

5

9

GCD システムの設計

10

GCD システムの設計

(6)

6

11

GCD システムの設計

12

GCD システムの設計

(7)

7

13

GCD システムの設計

14

GCD システムの設計

(8)

8

15

GCD システムの設計

16

GCD システムの設計

(9)

9

17

GCD システムの高位合成結果

architecture behavior of gcd is begin

process

variable x, y : integer; begin

calculation : loop

wait until ((din ='1') and (clk = '1' and clk'event)); dout <= '0';

x := xin; y := yin;

while (x /= y ) loop if ( x < y ) then y := y - x; else x := x - y; end if;

end loop;

wait until ((din = '0') and (clk = '1' and clk'event)); dout <= '1';

zout <= x; end loop; end process; end behavior;

18

GCD システムの高位合成結果

(10)

10

19

GCD システムの高位合成結果

20

5.3 マイクロプログラム制御

いくつかの制御信号を1語にまとめたのを制御語

一連の制御語をROMやRAM(PLAも可能)などのメモリに格納しておき それを順次取り出すことにより制御信号列を生成する制御方法を

マイクロプログラム制御

メモリ内の各制御語をマイクロ命令

マイクロ命令の列をマイクロプログラム

マイクロプログラムを格納したメモリを制御メモリ

マイクロプログラム制御方式は

1951年、英国のウィルクス(M.V.Wilkes)により考案

(11)

11

21

5.3 マイクロプログラム制御

一連のマイクロ操作列を実行するために

対応するマイクロ命令の列

(マイクロプログラム:ファームウエア) を制御メモリに書き込んでおき

制御メモリからマイクロ命令を読み出し 制御信号としてマイクロ操作を実行

22

5.4 マイクロ命令

(12)

12

23

5.4 マイクロ命令

24

データパスの制御信号

(13)

13

25

マイクロプログラム制御

26

マイクロ命令

(14)

14

27

マイクロ命令

28

マイクロ命令

(15)

15

29

5.5 マイクロプログラムの設計

開始アドレスの設定

!"#$%& ''''''''' ()

* + , - , . / 0 / 1 * 2 3

30

5.5 マイクロプログラムの設計

加算命令

R1 R1 + R2, CARCAR + 1

001 010 001 101 0 00 0 000 000000

A B C S Cin W M1 M2 ADR

R1 選択

R2 選択

R1 選択

加算 CARを

1増加

(16)

16

31

5.5 マイクロプログラムの設計

論理和演算と無条件分岐

R1 lsr (R1R2), CAR40

001 010 001 001 0 10 0 001 101000

A B C S Cin W M1 M2 ADR

R1 選択

R2 選択

R1 選択

論理和

ロード 右シフト

内部アドレス 選択

40

32

5.5 マイクロプログラムの設計

条件分岐

R1R1 + R2,

if (Z=1) then (CAR 26) else (CAR CAR + 1)

001 010 001 101 0 00 0 101 011010

A B C S Cin W M1 M2 ADR

R1 選択

R2 選択

R1 選択

加算

Z選択

内部アドレス 選択

26

(17)

17

33

5.5 マイクロプログラムの設計

外部アドレスへ分岐

R1 R1 + R2, CAR外部アドレス

001 010 001 101 0 00 1 001 000000

A B C S Cin W M1 M2 ADR

R1 選択

R2 選択

R1 選択

加算

ロード

外部アドレス 選択

26

34

演習問題

つぎのレジスタ転送命令を図5.14 のマイクロ命令で記述せよ

  (a) R3 R1 + R2, CAR 20

  (b) R2 lsr (R1 ‒ R2), CAR CAR + 1

  (c) if (P = 1) then (CAR 外部アドレス)       else (CAR CAR + 1)

  (d) R2 lsl (R1 + R2),

    if (V = 1) then (CAR 13) else (CAR CAR + 1)

(18)

18

35

演習問題

(a) R3 R1 + R2, CAR 20

36

演習問題(解答)

A B C S Cin W M1 M2 ADR 001 010 011 101 0 00 0 001 (20)2 (a) R3 R1 + R2, CAR 20

(19)

19

37

演習問題

(b) R2 lsr (R1 ‒ R2), CAR CAR + 1

38

演習問題(解答)

(b) R2 lsr (R1 ‒ R2), CAR CAR + 1 A B C S Cin W M1 M2 ADR 001 010 010 1101 10 - 000 ---

(20)

20

39

演習問題

(c) if (P = 1) then (CAR 外部アドレス)       else (CAR CAR + 1)

40

演習問題(解答)

(c) if (P = 1) then (CAR 外部アドレス)       else (CAR CAR + 1)

A B C S Cin W M1 M2 ADR --- --- --- --- - -- 1 100 ---

(21)

21

41

演習問題

(d) R2 lsl (R1 + R2), if (V = 1) then (CAR 13) else (CAR CAR + 1)

42

演習問題(解答)

A B C S Cin W M1 M2 ADR 001 010 010 1010 01 0 010 (13)2

(d) R2 lsl (R1 + R2), if (V = 1) then (CAR 13) else (CAR CAR + 1)

参照

関連したドキュメント

※1・2 アクティブラーナー制度など により、場の有⽤性を活⽤し なくても学びを管理できる学

IDLE 、 STOP1 、 STOP2 モードを解除可能な割り込みは、 INTIF を経由し INTIF 内の割り. 込み制御レジスター A で制御され CPU へ通知されます。

アナログ規制を横断的に見直すことは、結果として、規制の様々な分野にお

このように、このWの姿を捉えることを通して、「子どもが生き、自ら願いを形成し実現しよう

Q-Flash Plus では、システムの電源が切れているとき(S5シャットダウン状態)に BIOS を更新する ことができます。最新の BIOS を USB

、肩 かた 深 ふかさ を掛け合わせて、ある定数で 割り、積石数を算出する近似計算法が 使われるようになりました。この定数は船

・ 11 日 17:30 , FP ポンプ室にある FP 制御盤の故障表示灯が点灯しているこ とを確認した。 FP 制御盤で故障復帰ボタンを押したところ, DDFP

本事象においては、当該制御装置に何らかの不具合が発生したことにより、集中監視室