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

97デ タパスに、例外用の制御信号を導入

ドキュメント内 Microsoft PowerPoint - Chap3 [Compatibility Mode] (ページ 98-110)

例外が起こった時の処理

• 例外プログラムカウンタ( EPC ) <= (PC ー 4)

• PC <= 8000 0180

• Cause <= 0, if 未定義命令

Cause <= 1, if 算術オーバーフロー

例外は、算術オーバーフロー/未定義命令で発生 どこで何が起きたを知る必要がある

↓↓

例外プログラムカウンタ(

EPC

:

問題が起きた命令アドレスを退避する。

Cause

レジスタ

:

例外発生の理由を記録するレジスタ

(

未定義命令なら

0

算術オ バ フロ なら

1) (

未定義命令なら

0,

算術オーバーフローなら

1) OS

Cause

レジスタを見て例外要因を知り、それに応じた処理を行う

⇒ データパスに、例外用の制御信号を導入

97

例外処理を加えたマルチサイクル方式における全データバス

CauseWriteIntCause

MemReadIorD MemWrite

RegWrite R D t IRW i

ALUSrcA MemtoReg

ALUSrcB ALUOp

制御

PC PCSource

PCWrite

PCWriteCond CauseWriteEPCWrite

M U

0 M 0

RegDst IRWrite

M U

命令[31-26]

2ビット 左シフト

26 28

[31-28]

0

ジャンプ先

1

命令[25-0]

PC

メモリ

アドレス

データ

読出

レジスタ1

A

ALU

ALU

ゼロ 判定

U X

B M

命令[25-21]

命令[20-16]

命令[15-0]

読出 レジスタ2 書込 レジスタ 書込

読出 データ1

読出 データ2

M U X M U

X

0 0

1

0 1

命令 [15-11]

U X

命令[31 26]

2

アドレス[31-0]

8000 0180

3

ALU

書込み データ

命令

Out

レジスタ

ALU

M

結果

U X

B

レジスタ

書込 データ

デ タ2

M U X

符号 2ビット

1

0

1

1 2 3 4

[15-11]

命令[15-0]

EPC

メモリ・データ レジスタ

拡張

32

左シフト

16 ALU

制御

命令 [5-0]

Cause M U

X

0 1 0 1

98

お絵かきスペース

例外処理のために追加された部分はどこか?

99

データパスを制御する有限状態機械の全体図

MemRead ALUSrcA=0

IorD=0 IRWrite ALUSrcB=01

ALUOP=00 PCW it

命令フェッチ 命令デコード/

レジスタのフェッチ

開始

0 1

ALUSrcA=0 ALUSrcB=11 ALUOP=00 PCWrite

PCSource=00

2

ALUSrcA=1 ALUSrcB=10

ALUOP=00

メモリアドレスの計算

6

ALUSrcA=1 ALUSrcB=00

ALUOP=10

実行

PCWrite PCSource=10

9

ジャンプの完了

ALUSrcA=1

ALUSrcB=00 ALUOp=01 PCWriteCond

8

分岐完了

3

メモリアクセス

5

メモリ アクセス

(Op=‘SW’)

7

R形式命令の完了

PCSource=01

11

IntCause=1

CauseWrite

10

IntCause=0

MemRead

IorD=1 MemWrite

IorD=1

RegDst=1 RegWrite MemtoReg=0

ALUSrcA=0 ALUSrcB=01

ALUOP=01 EPCWrite

PCWrite PCSource=11

IntCause=0 CauseWrite ALUSrcA=0 ALUSrcB=01

ALUOP=01 PCWrite EPCWrite PCSource=11

10

数値 オーバーフロー

RegWrite MemtoReg=1

RegDst=0

4

メモリ読出し完了 ステップ

100

RegDst 0

お絵かきスペース

例外処理のために追加された部分はどこか?

101

Chap. 3 のセルフチェック

以下の文章の意味がわからないなら、講義で寝ていた () かもしれませんね。

19 単一クロックサイクル方式では、命令によって実行に本質的に必要な時間が異なる。

20 単一クロック・サイクル方式では性能があまりでない。

21 ルチサイクル方式は単 サイクル方式に比べて2 の利点がある

かもしれませんね。

21 マルチサイクル方式は単一サイクル方式に比べて2つの利点がある。

22

マルチサイクル方式では、情報を一時的に保持するレジスタが必要となる。

23

マルチサイクル方式では、5サイクルかけて各命令を実行する。

24 マルチサイクル方式では、制御回路を組み合わせ回路で実現できない。

25 マイクロプログラミングという用語を知っている。

26

プロセッサに関する用語として、例外、割り込みという用語を知っている。

ちゃんと聞いていたのに,わからなければ質問しましょう!

102

Chap. 3 の試験に出るかもしれない用語集

• 単一 ( クロック ) サイクル

• マルチサイクル

IR

MDR

• 命令フェッチ

• 命令フェッチ

• 命令デコード

• レジスタ・フェッチ レジスタ フ ッチ

• 順序回路

• 有限状態機械

プ グ グ

• マイクロプログラミング

• マイクロ命令(マイクロコード)

• 例外 割り込み

• 例外、割り込み

• オーバーフロー

103

講義中にやって試験に出るかもしれないもの ( もちろん全く同じ形ではないですが)

( もちろん全く同じ形ではないですが)

• 重要問題 重要問題

• ミニクイズ

自己確認クイズ(自分でやるのが基本)

• 自己確認クイズ(自分でやるのが基本)

• 章末問題

配布資料は試験中に提供予定

(詳細は講義中に説明します。)

104

章末問題①

次ページの図は、

MIPS

のマルチサイクルでの実現のデータパスの制御を行 う有限状態機械の状態遷移図である。図中の制御信号の値を全て答えよ。

う有限状態機械の状態遷移図である。図中の制御信号の値を全て答えよ。

(便宜上全ての制御線の値が書かれているが、問題としてはその値を聞いて いると思ってください。)

同じ図において 以下の問いを答えよ

同じ図において、以下の問いを答えよ。

1. R

形式の命令を実行する場合、開始からどの順番に状態遷移するか?

2.

ストア命令の場合は?

3

ド命令の場合は?

3.

ロード命令の場合は?

4.

ジャンプ命令の場合は?

5.

分岐命令の場合は?

105

データパスを制御する有限状態機械の全体図

MemRead ALUSrcA=0

IorD=0 IRWrite ALUSrcB=01

ALUOP=00

命令フェッチ 命令デコード/

レジスタのフェッチ

開始

0 1

ALUSrcA=0 ALUSrcB=11 ALUOP=00 ALUOP 00

PCWrite PCSource=00

2

ALUSrcA=1 ALUSrcB=10

ALUOP=00

メモリアドレスの計算

6

ALUSrcA=1 ALUSrcB=00

ALUOP=10

実行

PCWrite PCSource=10

9

ジャンプの完了

ALUSrcA=1 ALUSrcB=00

ALUOp=01 PCWriteCond

8

分岐完了

ALUOP 00

3

メモリアクセス

5

メモリ アクセス

(Op=‘SW’)

7

R形式命令の完了

PCWriteCond PCSource=01

MemRead

IorD=1 MemWrite

IorD=1

RegDst=1 RegWrite MemtoReg=0

RegWrite MemtoReg=1

R D t 0

4

メモリ読出し完了 ステップ

106

RegDst=0

お絵かきスペース

107

章末問題②

次ページの図は、MIPSのマルチサイクルでの実現のデータパスの制御を行 う有限状態機械の状態遷移図である 図中の制御信号の値を全て答えよ う有限状態機械の状態遷移図である。図中の制御信号の値を全て答えよ。

(便宜上全ての制御線の値がほとんど書かれているが、問題としてはその値 を聞いていると思ってください。)

同じ図において、以下の問いを答えよ。

1. R形式の命令を実行してオーバーフローが起こった場合、開始からどの順番

に状態遷移するか?

2

未定義の命令をフ チした場合はどうか?

2.

未定義の命令をフェッチした場合はどうか?

108

ドキュメント内 Microsoft PowerPoint - Chap3 [Compatibility Mode] (ページ 98-110)

関連したドキュメント