マルチサイクルを用いた実現方式 - 九州大学(kyushu...

36
マルチサイクルを用いた実現方式 (教科書5.4節)

Upload: others

Post on 18-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

マルチサイクルを用いた実現方式

(教科書5.4節)

Page 2: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

マルチサイクル方式(1)

2つのデータパス実現方式

単一クロックサイクル: 1命令を1クロックサイクルで処理

マルチクロックサイクル: 1命令を複数クロックサイクルで処理

単一クロックサイクル方式は処理効率が悪い.

CLK

命令 命令 命令 命令 命令処理時間

クロック・サイクル時間は一定.

時間のかかる命令にクロック・サイクル時間をあわさなければならない.→余り時間の発生

Page 3: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

マルチサイクル方式(2)

マルチクロックサイクル方式

CLK

命令 命令 命令 命令 命令処理時間

1命令の実行を(同程度の処理量の)複数小作業に分割する

各小作業を1クロックサイクルで処理する

1命令は複数クロックサイクルで実行される

クロック・サイクル時間を短くする(動作周波数を高くする)

CLK

処理時間

Page 4: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

マルチサイクル処理例(1)

データメモリ

符号拡張

+4

MemRead MemWrite

adrsレジスタファイル

RegWrite

rreg1

rreg2

wreg

wd

rd1

rd2

ALUctrl

命令メモリ

25-21

20-16

inst

a

15-0

badrs

wd rd

yPC

ALU

3216

LW命令実行の場合

Page 5: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

マルチサイクル処理例(2)

データメモリ

符号拡張

+4

MemRead MemWrite

adrsレジスタファイル

RegWrite

rreg1

rreg2

wreg

wd

rd1

rd2

ALUctrl

命令メモリ

25-21

20-16

inst

a

15-0

badrs

wd rd

yPC

ALU

3216

LW命令実行の場合

Page 6: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

マルチサイクル処理例(3)

データメモリ

符号拡張

+4

MemRead MemWrite

adrsレジスタファイル

RegWrite

rreg1

rreg2

wreg

wd

rd1

rd2

ALUctrl

命令メモリ

25-21

20-16

inst

a

15-0

badrs

wd rd

yPC

ALU

3216

LW命令実行の場合

Page 7: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

マルチサイクル処理例(4)

データメモリ

符号拡張

+4

MemRead MemWrite

adrsレジスタファイル

RegWrite

rreg1

rreg2

wreg

wd

rd1

rd2

ALUctrl

命令メモリ

25-21

20-16

inst

a

15-0

badrs

wd rd

yPC

ALU

3216

LW命令実行の場合

Page 8: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

マルチサイクル処理例(5)

データメモリ

符号拡張

+4

MemRead MemWrite

adrsレジスタファイル

RegWrite

rreg1

rreg2

wreg

wd

rd1

rd2

ALUctrl

命令メモリ

25-21

20-16

inst

a

15-0

badrs

wd rd

yPC

ALU

3216

LW命令実行の場合

Page 9: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

マルチサイクル処理例(6)

データメモリ

符号拡張

+4

MemRead MemWrite

adrsレジスタファイル

RegWrite

rreg1

rreg2

wreg

wd

rd1

rd2

ALUctrl

命令メモリ

25-21

20-16

inst

a

15-0

badrs

wd rd

yPC

ALU

3216

1クロック・サイクルより長い時間値を保持しなければならない信号線には,レジスタを挿入する.

異なるクロック・サイクルで動作するので,共通化可能!

Page 10: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

マルチサイクル・データパス(1)

25-21

20-16

15-11

ALU

レジスタファイル

符号拡張

メモリadrs

15-0

zerorreg1

rreg2

wreg

wd

rd1

rd2

16

B4

ALUOut

IR

MDR

32

PC

25-0

RegWrite

0

1

RegDst

1

0MemToReg

00

01

10

11

0

1

00

01

10

PCSource

制御部ALU

制御部

ALUCtrl

ALUSrcA

ALUSrcB

ALUOp

IRWrite

PCWrite

0

1

IorD

wd

rd

MemWrite MemRead

5-0

PCWriteCond

31-28

31-26

2bit左シフト

2bit左シフト

Page 11: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

マルチサイクル・データパス(2)

信号の意味 入出力 信号名 ビット幅

次のクロック・サイクルで更新するPCの値

入力 32

記憶してる値(現在のPCの値) 出力 32

更新要求(1で要求) 入力 1

プログラムカウンタ(PC)

信号の意味 入出力 信号名 ビット幅

次のクロック・サイクルで記憶する命令 入力 32

記憶している命令(現在のIRの値) 出力 32

書き込み要求(1のとき要求) 入力 IRWrite 1

命令レジスタ(IR): メモリから読み出した命令を記憶する.

Page 12: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

マルチサイクル・データパス(3)

信号の意味 入出力 信号名 ビット幅

次のクロック・サイクルで記憶するデータ 入力 32

現在記憶しているデータ 出力 32

MDR(メモリデータレジスタ),A,B,ALUOut: いずれも通常のレジスタ(Dフリップフロップ)

Page 13: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

R形式命令の実行(命令取得とPC更新)

25-21

20-16

15-11

ALU

レジスタファイル

符号拡張

メモリadrs

15-0

zerorreg1

rreg2

wreg

wd

rd1

rd2

16

B4

ALUOut

IR

MDR

32

PC

25-0

RegWrite

0

1

RegDst

1

0MemToReg

00

01

10

11

0

1

00

01

10

PCSource

ALU制御部

ALUCtrl

ALUSrcA

ALUSrcB

ALUOp

IRWrite

PCWrite

0

1

IorD

wd

rd

MemWrite MemRead

5-0

PCWriteCond

31-28

制御部31-26

2bit左シフト

2bit左シフト

Page 14: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

R形式命令の実行(命令解読とレジスタ読出し)

25-21

20-16

15-11

ALU

レジスタファイル

符号拡張

メモリadrs

15-0

zerorreg1

rreg2

wreg

wd

rd1

rd2

16

B4

ALUOut

IR

MDR

32

25-0

RegWrite

0

1

RegDst

1

0MemToReg

00

01

10

11

0

1

00

01

10

PCSource

ALU制御部

ALUCtrl

ALUSrcA

ALUSrcB

ALUOp

IRWrite

PCWrite

0

1

IorD

wd

rd

MemWrite MemRead

5-0

PCWriteCond

31-28

制御部31-26

PC

2bit左シフト

2bit左シフト

Page 15: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

R形式命令の実行(演算の実行)

25-21

20-16

15-11

ALU

レジスタファイル

符号拡張

メモリadrs

15-0

zerorreg1

rreg2

wreg

wd

rd1

rd2

16

B4

ALUOut

IR

MDR

32

25-0

RegWrite

0

1

RegDst

1

0MemToReg

00

01

10

11

0

1

00

01

10

PCSource

ALU制御部

ALUCtrl

ALUSrcA

ALUSrcB

ALUOp

IRWrite

PCWrite

0

1

IorD

wd

rd

MemWrite MemRead

5-0

PCWriteCond

31-28

制御部31-26

PC

2bit左シフト

2bit左シフト

Page 16: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

R形式命令の実行(演算結果の書込み)

25-21

20-16

15-11

ALU

レジスタファイル

符号拡張

メモリadrs

15-0

zerorreg1

rreg2

wreg

wd

rd1

rd2

16

B4

ALUOut

IR

MDR

32

25-0

RegWrite

0

1

RegDst

1

0MemToReg

00

01

10

11

0

1

00

01

10

PCSource

ALU制御部

ALUCtrl

ALUSrcA

ALUSrcB

ALUOp

IRWrite

PCWrite

0

1

IorD

wd

rd

MemWrite MemRead

5-0

PCWriteCond

31-28

制御部31-26

PC

2bit左シフト

2bit左シフト

Page 17: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

lw命令の実行(命令取得とPC更新)

25-21

20-16

15-11

ALU

レジスタファイル

符号拡張

メモリadrs

15-0

zerorreg1

rreg2

wreg

wd

rd1

rd2

16

B4

ALUOut

IR

MDR

32

25-0

RegWrite

0

1

RegDst

1

0MemToReg

00

01

10

11

0

1

00

01

10

PCSource

ALU制御部

ALUCtrl

ALUSrcA

ALUSrcB

ALUOp

IRWrite

PCWrite

0

1

IorD

wd

rd

MemWrite MemRead

5-0

PCWriteCond

31-28

制御部31-26

PC

2bit左シフト

2bit左シフト

Page 18: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

lw命令の実行(命令解読とレジスタ読出し)

25-21

20-16

15-11

ALU

レジスタファイル

符号拡張

メモリadrs

15-0

zerorreg1

rreg2

wreg

wd

rd1

rd2

16

B4

ALUOut

IR

MDR

32

25-0

RegWrite

0

1

RegDst

1

0MemToReg

00

01

10

11

0

1

00

01

10

PCSource

ALU制御部

ALUCtrl

ALUSrcA

ALUSrcB

ALUOp

IRWrite

PCWrite

0

1

IorD

wd

rd

MemWrite MemRead

5-0

PCWriteCond

31-28

制御部31-26

PC

2bit左シフト

2bit左シフト

Page 19: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

lw命令の実行(アドレス計算)

25-21

20-16

15-11

ALU

レジスタファイル

符号拡張

メモリadrs

15-0

zerorreg1

rreg2

wreg

wd

rd1

rd2

16

B4

ALUOut

IR

MDR

32

25-0

RegWrite

0

1

RegDst

1

0MemToReg

00

01

10

11

0

1

00

01

10

PCSource

ALU制御部

ALUCtrl

ALUSrcA

ALUSrcB

ALUOp

IRWrite

PCWrite

0

1

IorD

wd

rd

MemWrite MemRead

5-0

PCWriteCond

31-28

制御部31-26

PC

2bit左シフト

2bit左シフト

Page 20: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

lw命令の実行(メモリへのアクセス)

25-21

20-16

15-11

ALU

レジスタファイル

符号拡張

メモリadrs

15-0

zerorreg1

rreg2

wreg

wd

rd1

rd2

16

B4

ALUOut

IR

MDR

32

25-0

RegWrite

0

1

RegDst

1

0MemToReg

00

01

10

11

0

1

00

01

10

PCSource

ALU制御部

ALUCtrl

ALUSrcA

ALUSrcB

ALUOp

IRWrite

PCWrite

0

1

IorD

wd

rd

MemWrite MemRead

5-0

PCWriteCond

31-28

制御部31-26

PC

2bit左シフト

2bit左シフト

Page 21: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

lw命令の実行(ロード結果の書込み)

25-21

20-16

15-11

ALU

レジスタファイル

符号拡張

メモリadrs

15-0

zerorreg1

rreg2

wreg

wd

rd1

rd2

16

B4

ALUOut

IR

MDR

32

25-0

RegWrite

0

1

RegDst

1

0MemToReg

00

01

10

11

0

1

00

01

10

PCSource

ALU制御部

ALUCtrl

ALUSrcA

ALUSrcB

ALUOp

IRWrite

PCWrite

0

1

IorD

wd

rd

MemWrite MemRead

5-0

PCWriteCond

31-28

制御部31-26

PC

2bit左シフト

2bit左シフト

Page 22: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

sw命令の実行(命令取得とPC更新)

25-21

20-16

15-11

ALU

レジスタファイル

符号拡張

メモリadrs

15-0

zerorreg1

rreg2

wreg

wd

rd1

rd2

16

B4

ALUOut

IR

MDR

32

25-0

RegWrite

0

1

RegDst

1

0MemToReg

00

01

10

11

0

1

00

01

10

PCSource

ALU制御部

ALUCtrl

ALUSrcA

ALUSrcB

ALUOp

IRWrite

PCWrite

0

1

IorD

wd

rd

MemWrite MemRead

5-0

PCWriteCond

31-28

制御部31-26

PC

2bit左シフト

2bit左シフト

Page 23: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

sw命令の実行(命令解読とレジスタ読出し)

25-21

20-16

15-11

ALU

レジスタファイル

符号拡張

メモリadrs

15-0

zerorreg1

rreg2

wreg

wd

rd1

rd2

16

B4

ALUOut

IR

MDR

32

25-0

RegWrite

0

1

RegDst

1

0MemToReg

00

01

10

11

0

1

00

01

10

PCSource

ALU制御部

ALUCtrl

ALUSrcA

ALUSrcB

ALUOp

IRWrite

PCWrite

0

1

IorD

wd

rd

MemWrite MemRead

5-0

PCWriteCond

31-28

制御部31-26

PC

2bit左シフト

2bit左シフト

Page 24: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

sw命令の実行(アドレス計算)

25-21

20-16

15-11

ALU

レジスタファイル

符号拡張

メモリadrs

15-0

zerorreg1

rreg2

wreg

wd

rd1

rd2

16

B4

ALUOut

IR

MDR

32

25-0

RegWrite

0

1

RegDst

1

0MemToReg

00

01

10

11

0

1

00

01

10

PCSource

ALU制御部

ALUCtrl

ALUSrcA

ALUSrcB

ALUOp

IRWrite

PCWrite

0

1

IorD

wd

rd

MemWrite MemRead

5-0

PCWriteCond

31-28

制御部31-26

PC

2bit左シフト

2bit左シフト

Page 25: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

sw命令の実行(メモリへのアクセス)

25-21

20-16

15-11

ALU

レジスタファイル

符号拡張

メモリadrs

15-0

zerorreg1

rreg2

wreg

wd

rd1

rd2

16

B4

ALUOut

IR

MDR

32

25-0

RegWrite

0

1

RegDst

1

0MemToReg

00

01

10

11

0

1

00

01

10

PCSource

ALU制御部

ALUCtrl

ALUSrcA

ALUSrcB

ALUOp

IRWrite

PCWrite

0

1

IorD

wd

rd

MemWrite MemRead

5-0

PCWriteCond

31-28

制御部31-26

PC

2bit左シフト

2bit左シフト

Page 26: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

beq命令の実行(命令取得とPC更新)

25-21

20-16

15-11

ALU

レジスタファイル

符号拡張

メモリadrs

15-0

zerorreg1

rreg2

wreg

wd

rd1

rd2

16

B4

ALUOut

IR

MDR

32

25-0

RegWrite

0

1

RegDst

1

0MemToReg

00

01

10

11

0

1

00

01

10

PCSource

ALU制御部

ALUCtrl

ALUSrcA

ALUSrcB

ALUOp

IRWrite

PCWrite

0

1

IorD

wd

rd

MemWrite MemRead

5-0

PCWriteCond

31-28

制御部31-26

PC

2bit左シフト

2bit左シフト

Page 27: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

beq命令の実行(命令解読とレジスタ読出し,分岐先PCの計算)

25-21

20-16

15-11

ALU

レジスタファイル

符号拡張

メモリadrs

15-0

zerorreg1

rreg2

wreg

wd

rd1

rd2

16

B4

ALUOut

IR

MDR

32

25-0

RegWrite

0

1

RegDst

1

0MemToReg

00

01

10

11

0

1

00

01

10

PCSource

ALU制御部

ALUCtrl

ALUSrcB

ALUOp

IRWrite

PCWrite

0

1

IorD

wd

rd

MemWrite MemRead

5-0

ALUSrcA

PCWriteCond

31-28

制御部31-26

PC

2bit左シフト

2bit左シフト

Page 28: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

beq命令の実行(分岐条件判定とPC更新)

25-21

20-16

15-11

ALU

レジスタファイル

符号拡張

メモリadrs

15-0

zerorreg1

rreg2

wreg

wd

rd1

rd2

16

B4

ALUOut

IR

MDR

32

25-0

RegWrite

0

1

RegDst

1

0MemToReg

00

01

10

11

0

1

00

01

10

PCSource

ALU制御部

ALUCtrl

ALUSrcA

ALUSrcB

ALUOp

IRWrite

PCWrite

0

1

IorD

wd

rd

MemWrite MemRead

5-0

PCWriteCond

31-28

制御部31-26

PC

2bit左シフト

2bit左シフト

Page 29: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

j命令の実行(命令取得とPC更新)

25-21

20-16

15-11

ALU

レジスタファイル

符号拡張

メモリadrs

15-0

zerorreg1

rreg2

wreg

wd

rd1

rd2

16

B4

ALUOut

IR

MDR

32

25-0

RegWrite

0

1

RegDst

1

0MemToReg

00

01

10

11

0

1

00

01

10

PCSource

ALU制御部

ALUCtrl

ALUSrcA

ALUSrcB

ALUOp

IRWrite

PCWrite

0

1

IorD

wd

rd

MemWrite MemRead

5-0

PCWriteCond

31-28

制御部31-26

PC

2bit左シフト

2bit左シフト

Page 30: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

j命令の実行(命令の解読)

25-21

20-16

15-11

ALU

レジスタファイル

符号拡張

メモリadrs

15-0

zerorreg1

rreg2

wreg

wd

rd1

rd2

16

B4

ALUOut

IR

MDR

32

25-0

RegWrite

0

1

RegDst

1

0MemToReg

00

01

10

11

0

1

00

01

10

PCSource

ALU制御部

ALUCtrl

ALUSrcB

ALUOp

IRWrite

PCWrite

0

1

IorD

wd

rd

MemWrite MemRead

5-0

ALUSrcA

PCWriteCond

31-28

制御部31-26

PC

2bit左シフト

2bit左シフト

Page 31: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

j命令の実行(PC更新)

25-21

20-16

15-11

ALU

レジスタファイル

符号拡張

メモリadrs

15-0

zerorreg1

rreg2

wreg

wd

rd1

rd2

16

B4

ALUOut

IR

MDR

32

25-0

RegWrite

0

1

RegDst

1

0MemToReg

00

01

10

11

0

1

00

01

10

PCSource

ALU制御部

ALUCtrl

ALUSrcA

ALUSrcB

ALUOp

IRWrite

PCWrite

0

1

IorD

wd

rd

MemWrite MemRead

5-0

PCWriteCond

31-28

制御部31-26

PC

2bit左シフト

2bit左シフト

Page 32: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

制御部の設計(1)

R形式 lw sw beq j

第1サイクル IorD=0; MemRead=1; IRWrite=1; ALUSrcA=0; ALUSrcB=01; ALUOp=00; PCSource=00; PCWrite=1

第2サイクル ALUSrcA=0

ALUSrcB=11

ALUOp=00

第3サイクル ALUSrcA=1

ALUSrcB=00

ALUOp=10

ALUSrcA=1

ALUSrcB=10

ALUOp=00

ALUSrcA=1

ALUSrcB=10

ALUOp=00

ALUSrcA=1

ALUSrcB=00

ALUOp=01

PCSource=01 PCWriteCond=1

PCSource=10

PCWrite=1

第4サイクル RegDst=1

MemToReg=0

RegWrite=1

IorD=1

MemRead=1

IorD=1

MemWrite=1

第5サイクル MemToReg=1

RegDst=0

RegWrite=1

Page 33: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

制御部の設計(2)

R形式 lw sw beq j

第1サイクル IorD=0; MemRead=1; IRWrite=1; ALUSrcA=0; ALUSrcB=01; ALUOp=00; PCSource=00; PCWrite=1

第2サイクル ALUSrcA=0

ALUSrcB=11

ALUOp=00

ALUSrcA=0

ALUSrcB=11

ALUOp=00

ALUSrcA=0

ALUSrcB=11

ALUOp=00

ALUSrcA=0

ALUSrcB=11

ALUOp=00

ALUSrcA=0

ALUSrcB=11

ALUOp=00

第3サイクル ALUSrcA=1

ALUSrcB=00

ALUOp=10

ALUSrcA=1

ALUSrcB=10

ALUOp=00

ALUSrcA=1

ALUSrcB=10

ALUOp=00

ALUSrcA=1

ALUSrcB=00

ALUOp=01

PCSource=01 PCWriteCond=1

PCSource=10

PCWrite=1

第4サイクル RegDst=1

MemToReg=0

RegWrite=1

IorD=1

MemRead=1

IorD=1

MemWrite=1

第5サイクル MemToReg=1

RegDst=0

RegWrite=1

やる必要はないが,やっても無害.やったほうが制御部が簡潔になる.

共通

Page 34: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

制御部の設計(3)

R形式 lw sw beq j

第1サイクル IorD=0; MemRead=1; IRWrite=1; ALUSrcA=0; ALUSrcB=01; ALUOp=00; PCSource=00; PCWrite=1

第2サイクル ALUSrcA=0; ALUSrcB=11; ALUOp=00

第3サイクル ALUSrcA=1

ALUSrcB=00

ALUOp=10

ALUSrcA=1

ALUSrcB=10

ALUOp=00

ALUSrcA=1

ALUSrcB=00

ALUOp=01

PCSource=01 PCWriteCond=1

PCSource=10

PCWrite=1

第4サイクル RegDst=1

MemToReg=0

RegWrite=1

IorD=1

MemRead=1

IorD=1

MemWrite=1

第5サイクル MemToReg=1

RegDst=0

RegWrite=1

Page 35: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

制御部の設計(4)

状態遷移図

0 1

2 3 4

5

76

8

9

lw/sw

sw

lw

R形式

beq

j

Page 36: マルチサイクルを用いた実現方式 - 九州大学(KYUSHU ...ocw.kyushu-u.ac.jp/menu/faculty/09/4/16.pdf2009/04/16  · 九州大学工学部電気情報工学科(2006年度)

九州大学工学部電気情報工学科(2006年度)

制御部の設計(5)

制御部

状態レジスタ

組み合わせ論理回路

IR

次状態

31-26 各制御信号