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

45フォワーディング

ドキュメント内 Microsoft PowerPoint - Chap5 [Compatibility Mode] (ページ 46-53)

ストールの実行例 (CC5)

CC1 CC2 CC3 CC4 CC5 CC6

IF ID EX MEM WB

lw $2, 20($1)

CC1 CC2 CC3 CC4 CC5 CC6

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

nop

and $4, $2, $5 or $8, $6, $2

$ $ $ IF ID EX MEM WB

add $14, $2, $2 sw $15, 100($2)

ID/EX EX/MEM MEM/WB

IF/ID

IF

ステージ

ID

ステージ

EX

ステージ

MEM

ステージ

WB

ステージ

IF

ステ ジ

ID

ステ ジ

EX

ステ ジ

MEM

ステ ジ

WB

ステ ジ

and lw

or nop

add p

ミニクイズ 6

データハザードによりストールしなければならない状況が発生する条件を述べよ データハザードによりストールしなければならない状況が発生する条件を述べよ.

(回答)

ID/EX M R d 1

かつ

ID/EX.MemRead=1 かつ

ID/EX.RegisterRt = IF/ID.RegisterRs

または

ID/EX.RegisterRt = IF/ID.RegisterRt

この時,パイプラインをストールさせる

(解説)

( )

•ID/EX.MemRead=1は,先行命令がlw

であることを意味する

•ID/EX.RegisterRtは,

今EXステージにある命令(先行命令)の書き込みレジスタ番号 今EXステ ジにある命令(先行命令)の書き込みレジスタ番号

•IF/ID.RegisterRsは,

今IDステージにある命令(後続命令)のALUの上側の入力データを 供給するレジスタ番号

供給するレジスタ番号

•F/ID.RegisterRtは,

今IDステージにある命令(後続命令)のALUの下側の入力データを 供給するレジスタ番号

46

供給するレジスタ番号

お絵かきスペース

47

自己確認クイズ

ストールすべき時,ハザード検出ユニットの

3

つの出力 によりどのように各部の動作が制御されるか説明せよ

WB WB WB

IF/IDWrite

ハザード・検出 ユニット

ID/EX.MemRead

IF/ID

制御 M

EX

M EX M

EX

M U

PCWrite 0 X

ID/EX MEM/WB

読出 reg 読出

ALU

読出 reg

PC

命令メモリ

M U

X

ID/EX EX/MEM MEM/WB

0 1

読出

ALU

reg2 書込 reg 書込 データ

読出

reg2 データメモリ

読出 データ アドレス

命令メモリ

M U X X

レジスタ

M U X

2

0 1

デ タ

書込データ IF/ID.RegisterRs

IF/ID.RegisterRt IF/ID.RegisterRd

M U X

レジスタ

Rt

Rd EX/MEM.RegisterRd

ForwardA

ForwardB

2

フォワーディング・

ユニット Rs

ID/EX.RegisterRt

Rt MEM/WB.RegisterRd

48

図4.60:分岐の実現や符号拡張などの回路は省略されている.

お絵かきスペース

49

What to learn

パイプライン処理が理想通りにいかない2つの事象とその対処方法 ハザード=パイプライン処理において次のクロック・サイクルで次の

• データハザード

ハザード=パイプライン処理において次のクロック・サイクルで次の 命令が実行できない事態

• データハザード

1. MEMハザードの条件とフォワーディング

2. EX

ハザードの条件とフォワーディング

3.

フォワーディングでは対処不可能な条件とストール

• 制御ハザード(分岐ハザード)

1

常に分岐が成立しないと予測して後続命令をフ チ

Next Topic

1.

常に分岐が成立しないと予測して後続命令をフェッチ

2.

動的分岐予測に分岐先命令をフェッチ

いずれの場合も予測がはずれるとパイプライン上で実行してず 場合 予測 ず ラ 実行 はいけない命令をフラッシュ

教材

50

教科書

4.7

4.8

制御ハザード ( 分岐ハザード ) とは?

パイプライン処理において、分岐が存在するため、フェッチ済みの後続する 命令が実行すべき命令か否か判断できず、所定のクロック・サイクル内で は命令を実行できない状況

は命令を実行できない状況

140:beq $1 $3 7 clock=100 140:beq $1, $3, 7

144:and $12, $2, $5 148 $13 $6 $2 clock=100

148:or $13, $6, $2 152:add $14, $2, $2 156 b $2 $4 8 156:beq $2, $4, 8 172 $15 100($2)

172:sw $15, 100($2) #条件成立時のbeqからの分岐先

51

ミニクイズ7

前ペ ジの命令列において

clock 103

の時の

PC

の値と

clock 104

の時の 前ページの命令列において,

clock=103

の時の

PC

の値と,

clock=104

の時の

PC

の値がどのように設定されるかを以降のページの図を用いて説明せよ.

beq

命令の分岐は成立するとする.

IF ID EX MEM WB

100 101 102 103 104 105

ドキュメント内 Microsoft PowerPoint - Chap5 [Compatibility Mode] (ページ 46-53)

関連したドキュメント