マルチサイクルを用いた実現方式 (教科書5.4節) マルチサイクル方式(1) クロック数から見た命令の処理方式の分類 単一クロックサイクル: 1命令を1クロックで処理. マルチクロックサイクル: 1命令を複数クロックで処理. 単一クロックサイクル方式は処理効率が悪い. CLK 処理時間 命令 命令 時間のかかる命令にクロックを あわさなければならない.→余 り時間の発生 九州大学工学部電気情報工学科 命令 命令 命令 クロックの間隔は常 に均等. Created by Tsuneo Nakanishi, 2002-2004 マルチサイクル方式(2) マルチクロックサイクル方式 1命令を,複数個の,同じ程度の時間の単純作業に分割する. 各小作業を1クロックで実行,1命令を複数クロックで実行. クロックをあげる. CLK 処理時間 命令 命令 命令 命令 命令 CLK 処理時間 九州大学工学部電気情報工学科 Created by Tsuneo Nakanishi, 2002-2004 マルチサイクル処理例(1) + 4 RegWrite MemRead 25-21 20-16 rreg1 rreg2 P 命令メモリ inst C adrs a rd1 レジスタ ファイル wreg b rd2 A L U y adrs データメモリ wd wd 15-0 符号拡張 16 九州大学工学部電気情報工学科 MemWrite 32 rd ALUctrl Created by Tsuneo Nakanishi, 2002-2004 マルチサイクル処理例(2) + 4 RegWrite MemRead 25-21 20-16 rreg1 rreg2 P 命令メモリ inst C adrs a rd1 レジスタ ファイル wreg b rd2 A L U y adrs データメモリ wd wd 15-0 符号拡張 16 九州大学工学部電気情報工学科 MemWrite 32 rd ALUctrl Created by Tsuneo Nakanishi, 2002-2004 マルチサイクル処理例(3) + 4 RegWrite MemRead 25-21 20-16 rreg1 rreg2 P 命令メモリ inst C adrs a rd1 レジスタ ファイル wreg b rd2 A L U y adrs データメモリ wd wd 15-0 符号拡張 16 九州大学工学部電気情報工学科 MemWrite 32 rd ALUctrl Created by Tsuneo Nakanishi, 2002-2004 マルチサイクル処理例(4) + 4 RegWrite MemRead 25-21 20-16 rreg1 rreg2 P 命令メモリ inst C adrs a rd1 レジスタ ファイル wreg b rd2 A L U y adrs データメモリ wd wd 15-0 符号拡張 16 九州大学工学部電気情報工学科 MemWrite 32 rd ALUctrl Created by Tsuneo Nakanishi, 2002-2004 マルチサイクル処理例(5) + 4 RegWrite MemRead 25-21 20-16 rreg1 rreg2 P 命令メモリ inst C adrs a rd1 レジスタ ファイル wreg b rd2 A L U y adrs データメモリ wd wd 15-0 符号拡張 16 九州大学工学部電気情報工学科 MemWrite 32 rd ALUctrl Created by Tsuneo Nakanishi, 2002-2004 マルチサイクル処理例(6) 1クロックより長く,値を保持し なければならない信号線には, レジスタをかませる. + 4 RegWrite MemRead 25-21 20-16 rreg1 rreg2 P 命令メモリ inst C adrs a rd1 レジスタ ファイル wreg b rd2 A L U y adrs データメモリ wd wd 15-0 別クロックで動作 するので,共通 化可能! 九州大学工学部電気情報工学科 符号拡張 16 MemWrite 32 rd ALUctrl Created by Tsuneo Nakanishi, 2002-2004 マルチサイクル型回路(1) PCWriteCond ALUOp 31-26 制御部 00 01 10 ALU 制御部 5-0 PCWrite 31-28 2bit 左シフト RegWrite 25-0 IRWrite MemWrite MemRead P 0 IorD C PCSource メモリ adrs rd 25-21 20-16 I R 0 M D R 15-111 1 rreg1 rreg2 RegDst 1 wd 0 レジスタ ファイル wreg rd2 wd MemToReg 15-0 A 1 ALUSrcB 00 B 01 4 10 11 ALUCtrl zero A L U A L U O u t 2bit 左シフト 符号拡張 16 九州大学工学部電気情報工学科 rd1 0 ALUSrcA 32 Created by Tsuneo Nakanishi, 2002-2004 マルチサイクル型回路(2) プログラムカウンタ(PC) 信号の意味 入出力 信号名 ビット幅 次のクロックで更新するPCの値 入力 32 記憶してる値 出力 32 更新要求(1で要求) 入力 1 命令レジスタ(IR): メモリから読み出した命令を記憶する. 信号の意味 入出力 信号名 ビット幅 次のクロックで記憶する命令 入力 32 記憶している命令 出力 32 書き込み要求(1のとき要求) 入力 九州大学工学部電気情報工学科 IRWrite 1 Created by Tsuneo Nakanishi, 2002-2004 マルチサイクル型回路(3) MDR(メモリデータレジスタ),A,B,ALUOut: いずれも通常の レジスタ(Dフリップフロップ) 信号の意味 入出力 信号名 ビット幅 次のクロックで記憶するデータ 入力 32 記憶しているデータ 出力 32 九州大学工学部電気情報工学科 Created by Tsuneo Nakanishi, 2002-2004 R形式命令の実行(1) PCWriteCond ALUOp 31-26 制御部 00 01 10 ALU 制御部 5-0 PCWrite 31-28 2bit 左シフト RegWrite 25-0 IRWrite MemWrite MemRead P 0 IorD C PCSource メモリ adrs rd 25-21 20-16 I R 0 M D R 15-111 1 rreg1 rreg2 RegDst 1 wd 0 レジスタ ファイル wreg rd2 wd MemToReg 15-0 A 1 ALUSrcB 00 B 01 4 10 11 ALUCtrl zero A L U A L U O u t 2bit 左シフト 符号拡張 16 九州大学工学部電気情報工学科 rd1 0 ALUSrcA 32 Created by Tsuneo Nakanishi, 2002-2004 R形式命令の実行(2) PCWriteCond ALUOp 31-26 制御部 00 01 10 ALU 制御部 5-0 PCWrite 31-28 2bit 左シフト RegWrite 25-0 IRWrite MemWrite MemRead P 0 IorD C PCSource メモリ adrs rd 25-21 20-16 I R 0 M D R 15-111 1 rreg1 rreg2 RegDst 1 wd 0 レジスタ ファイル wreg rd2 wd MemToReg 15-0 A 1 ALUSrcB 00 B 01 4 10 11 ALUCtrl zero A L U A L U O u t 2bit 左シフト 符号拡張 16 九州大学工学部電気情報工学科 rd1 0 ALUSrcA 32 Created by Tsuneo Nakanishi, 2002-2004 R形式命令の実行(3) PCWriteCond ALUOp 31-26 制御部 00 01 10 ALU 制御部 5-0 PCWrite 31-28 2bit 左シフト RegWrite 25-0 IRWrite MemWrite MemRead P 0 IorD C PCSource メモリ adrs rd 25-21 20-16 I R 0 M D R 15-111 1 rreg1 rreg2 RegDst 1 wd 0 レジスタ ファイル wreg rd2 wd MemToReg 15-0 A 1 ALUSrcB 00 B 01 4 10 11 ALUCtrl zero A L U A L U O u t 2bit 左シフト 符号拡張 16 九州大学工学部電気情報工学科 rd1 0 ALUSrcA 32 Created by Tsuneo Nakanishi, 2002-2004 R形式命令の実行(4) PCWriteCond ALUOp 31-26 制御部 00 01 10 ALU 制御部 5-0 PCWrite 31-28 2bit 左シフト RegWrite 25-0 IRWrite MemWrite MemRead P 0 IorD C PCSource メモリ adrs rd 25-21 20-16 I R 0 M D R 15-111 1 rreg1 rreg2 RegDst 1 wd 0 レジスタ ファイル wreg rd2 wd MemToReg 15-0 A 1 ALUSrcB 00 B 01 4 10 11 ALUCtrl zero A L U A L U O u t 2bit 左シフト 符号拡張 16 九州大学工学部電気情報工学科 rd1 0 ALUSrcA 32 Created by Tsuneo Nakanishi, 2002-2004 lw命令の実行(1) PCWriteCond ALUOp 31-26 制御部 00 01 10 ALU 制御部 5-0 PCWrite 31-28 2bit 左シフト RegWrite 25-0 IRWrite MemWrite MemRead P 0 IorD C PCSource メモリ adrs rd 25-21 20-16 I R 0 M D R 15-111 1 rreg1 rreg2 RegDst 1 wd 0 レジスタ ファイル wreg rd2 wd MemToReg 15-0 A 1 ALUSrcB 00 B 01 4 10 11 ALUCtrl zero A L U A L U O u t 2bit 左シフト 符号拡張 16 九州大学工学部電気情報工学科 rd1 0 ALUSrcA 32 Created by Tsuneo Nakanishi, 2002-2004 lw命令の実行(2) PCWriteCond ALUOp 31-26 制御部 00 01 10 ALU 制御部 5-0 PCWrite 31-28 2bit 左シフト RegWrite 25-0 IRWrite MemWrite MemRead P 0 IorD C PCSource メモリ adrs rd 25-21 20-16 I R 0 M D R 15-111 1 rreg1 rreg2 RegDst 1 wd 0 レジスタ ファイル wreg rd2 wd MemToReg 15-0 A 1 ALUSrcB 00 B 01 4 10 11 ALUCtrl zero A L U A L U O u t 2bit 左シフト 符号拡張 16 九州大学工学部電気情報工学科 rd1 0 ALUSrcA 32 Created by Tsuneo Nakanishi, 2002-2004 lw命令の実行(3) PCWriteCond ALUOp 31-26 制御部 00 01 10 ALU 制御部 5-0 PCWrite 31-28 2bit 左シフト RegWrite 25-0 IRWrite MemWrite MemRead P 0 IorD C PCSource メモリ adrs rd 25-21 20-16 I R 0 M D R 15-111 1 rreg1 rreg2 RegDst 1 wd 0 レジスタ ファイル wreg rd2 wd MemToReg 15-0 A 1 ALUSrcB 00 B 01 4 10 11 ALUCtrl zero A L U A L U O u t 2bit 左シフト 符号拡張 16 九州大学工学部電気情報工学科 rd1 0 ALUSrcA 32 Created by Tsuneo Nakanishi, 2002-2004 lw命令の実行(4) PCWriteCond ALUOp 31-26 制御部 00 01 10 ALU 制御部 5-0 PCWrite 31-28 2bit 左シフト RegWrite 25-0 IRWrite MemWrite MemRead P 0 IorD C PCSource メモリ adrs rd 25-21 20-16 I R 0 M D R 15-111 1 rreg1 rreg2 RegDst 1 wd 0 レジスタ ファイル wreg rd2 wd MemToReg 15-0 A 1 ALUSrcB 00 B 01 4 10 11 ALUCtrl zero A L U A L U O u t 2bit 左シフト 符号拡張 16 九州大学工学部電気情報工学科 rd1 0 ALUSrcA 32 Created by Tsuneo Nakanishi, 2002-2004 lw命令の実行(5) PCWriteCond ALUOp 31-26 制御部 00 01 10 ALU 制御部 5-0 PCWrite 31-28 2bit 左シフト RegWrite 25-0 IRWrite MemWrite MemRead P 0 IorD C PCSource メモリ adrs rd 25-21 20-16 I R 0 M D R 15-111 1 rreg1 rreg2 RegDst 1 wd 0 レジスタ ファイル wreg rd2 wd MemToReg 15-0 A 1 ALUSrcB 00 B 01 4 10 11 ALUCtrl zero A L U A L U O u t 2bit 左シフト 符号拡張 16 九州大学工学部電気情報工学科 rd1 0 ALUSrcA 32 Created by Tsuneo Nakanishi, 2002-2004 sw命令の実行(1) PCWriteCond ALUOp 31-26 制御部 00 01 10 ALU 制御部 5-0 PCWrite 31-28 2bit 左シフト RegWrite 25-0 IRWrite MemWrite MemRead P 0 IorD C PCSource メモリ adrs rd 25-21 20-16 I R 0 M D R 15-111 1 rreg1 rreg2 RegDst 1 wd 0 レジスタ ファイル wreg rd2 wd MemToReg 15-0 A 1 ALUSrcB 00 B 01 4 10 11 ALUCtrl zero A L U A L U O u t 2bit 左シフト 符号拡張 16 九州大学工学部電気情報工学科 rd1 0 ALUSrcA 32 Created by Tsuneo Nakanishi, 2002-2004 sw命令の実行(2) PCWriteCond ALUOp 31-26 制御部 00 01 10 ALU 制御部 5-0 PCWrite 31-28 2bit 左シフト RegWrite 25-0 IRWrite MemWrite MemRead P 0 IorD C PCSource メモリ adrs rd 25-21 20-16 I R 0 M D R 15-111 1 rreg1 rreg2 RegDst 1 wd 0 レジスタ ファイル wreg rd2 wd MemToReg 15-0 A 1 ALUSrcB 00 B 01 4 10 11 ALUCtrl zero A L U A L U O u t 2bit 左シフト 符号拡張 16 九州大学工学部電気情報工学科 rd1 0 ALUSrcA 32 Created by Tsuneo Nakanishi, 2002-2004 sw命令の実行(3) PCWriteCond ALUOp 31-26 制御部 00 01 10 ALU 制御部 5-0 PCWrite 31-28 2bit 左シフト RegWrite 25-0 IRWrite MemWrite MemRead P 0 IorD C PCSource メモリ adrs rd 25-21 20-16 I R 0 M D R 15-111 1 rreg1 rreg2 RegDst 1 wd 0 レジスタ ファイル wreg rd2 wd MemToReg 15-0 A 1 ALUSrcB 00 B 01 4 10 11 ALUCtrl zero A L U A L U O u t 2bit 左シフト 符号拡張 16 九州大学工学部電気情報工学科 rd1 0 ALUSrcA 32 Created by Tsuneo Nakanishi, 2002-2004 sw命令の実行(4) PCWriteCond ALUOp 31-26 制御部 00 01 10 ALU 制御部 5-0 PCWrite 31-28 2bit 左シフト RegWrite 25-0 IRWrite MemWrite MemRead P 0 IorD C PCSource メモリ adrs rd 25-21 20-16 I R 0 M D R 15-111 1 rreg1 rreg2 RegDst 1 wd 0 レジスタ ファイル wreg rd2 wd MemToReg 15-0 A 1 ALUSrcB 00 B 01 4 10 11 ALUCtrl zero A L U A L U O u t 2bit 左シフト 符号拡張 16 九州大学工学部電気情報工学科 rd1 0 ALUSrcA 32 Created by Tsuneo Nakanishi, 2002-2004 beq命令の実行(1) PCWriteCond ALUOp 31-26 制御部 00 01 10 ALU 制御部 5-0 PCWrite 31-28 2bit 左シフト RegWrite 25-0 IRWrite MemWrite MemRead P 0 IorD C PCSource メモリ adrs rd 25-21 20-16 I R 0 M D R 15-111 1 rreg1 rreg2 RegDst 1 wd 0 レジスタ ファイル wreg rd2 wd MemToReg 15-0 A 1 ALUSrcB 00 B 01 4 10 11 ALUCtrl zero A L U A L U O u t 2bit 左シフト 符号拡張 16 九州大学工学部電気情報工学科 rd1 0 ALUSrcA 32 Created by Tsuneo Nakanishi, 2002-2004 beq命令の実行(2) PCWriteCond ALUOp 31-26 制御部 00 01 10 ALU 制御部 5-0 PCWrite 31-28 2bit 左シフト RegWrite 25-0 IRWrite MemWrite MemRead P 0 IorD C PCSource メモリ adrs rd 25-21 20-16 I R 0 M D R 15-111 1 rreg1 rreg2 RegDst 1 wd 0 レジスタ ファイル wreg rd2 wd MemToReg 15-0 A 1 ALUSrcB 00 B 01 4 10 11 ALUCtrl zero A L U A L U O u t 2bit 左シフト 符号拡張 16 九州大学工学部電気情報工学科 rd1 0 ALUSrcA 32 Created by Tsuneo Nakanishi, 2002-2004 beq命令の実行(3) PCWriteCond ALUOp 31-26 制御部 00 01 10 ALU 制御部 5-0 PCWrite 31-28 2bit 左シフト RegWrite 25-0 IRWrite MemWrite MemRead P 0 IorD C PCSource メモリ adrs rd 25-21 20-16 I R 0 M D R 15-111 1 rreg1 rreg2 RegDst 1 wd 0 レジスタ ファイル wreg rd2 wd MemToReg 15-0 A 1 ALUSrcB 00 B 01 4 10 11 ALUCtrl zero A L U A L U O u t 2bit 左シフト 符号拡張 16 九州大学工学部電気情報工学科 rd1 0 ALUSrcA 32 Created by Tsuneo Nakanishi, 2002-2004 j命令の実行(1) PCWriteCond ALUOp 31-26 制御部 00 01 10 ALU 制御部 5-0 PCWrite 31-28 2bit 左シフト RegWrite 25-0 IRWrite MemWrite MemRead P 0 IorD C PCSource メモリ adrs rd 25-21 20-16 I R 0 M D R 15-111 1 rreg1 rreg2 RegDst 1 wd 0 レジスタ ファイル wreg rd2 wd MemToReg 15-0 A 1 ALUSrcB 00 B 01 4 10 11 ALUCtrl zero A L U A L U O u t 2bit 左シフト 符号拡張 16 九州大学工学部電気情報工学科 rd1 0 ALUSrcA 32 Created by Tsuneo Nakanishi, 2002-2004 j命令の実行(2) PCWriteCond ALUOp 31-26 制御部 00 01 10 ALU 制御部 5-0 PCWrite 31-28 2bit 左シフト RegWrite 25-0 IRWrite MemWrite MemRead P 0 IorD C PCSource メモリ adrs rd 25-21 20-16 I R 0 M D R 15-111 1 rreg1 rreg2 RegDst 1 wd 0 レジスタ ファイル wreg rd2 wd MemToReg 15-0 A 1 ALUSrcB 00 B 01 4 10 11 ALUCtrl zero A L U A L U O u t 2bit 左シフト 符号拡張 16 九州大学工学部電気情報工学科 rd1 0 ALUSrcA 32 Created by Tsuneo Nakanishi, 2002-2004 j命令の実行(3) PCWriteCond ALUOp 31-26 制御部 00 01 10 ALU 制御部 5-0 PCWrite 31-28 2bit 左シフト RegWrite 25-0 IRWrite MemWrite MemRead P 0 IorD C PCSource メモリ adrs rd 25-21 20-16 I R 0 M D R 15-111 1 rreg1 rreg2 RegDst 1 wd 0 レジスタ ファイル wreg rd2 wd MemToReg 15-0 A 1 ALUSrcB 00 B 01 4 10 11 ALUCtrl zero A L U A L U O u t 2bit 左シフト 符号拡張 16 九州大学工学部電気情報工学科 rd1 0 ALUSrcA 32 Created by Tsuneo Nakanishi, 2002-2004 制御部の設計(1) R形式 第1サイクル lw sw beq j 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 第4サイクル RegDst=1 MemToReg=0 RegWrite=1 IorD=1 MemRead=1 IorD=1 MemWrite=1 第5サイクル 九州大学工学部電気情報工学科 ALUSrcA=1 ALUSrcB=00 ALUOp=01 PCSource=01 PCWriteCond =1 PCSource=10 PCWrite=1 MemToReg=1 RegDst=0 RegWrite=1 Created by Tsuneo Nakanishi, 2002-2004 制御部の設計(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 やる必要はないが, やっても無害.やっ たほうが制御部が 簡潔になる. Created by Tsuneo Nakanishi, 2002-2004 制御部の設計(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 ② ⑥ 第4サイクル RegDst=1 MemToReg=0 RegWrite=1⑦ 第5サイクル 九州大学工学部電気情報工学科 IorD=1 MemRead=1 ③ ALUSrcA=1 ALUSrcB=00 ALUOp=01 PCSource=01 PCWriteCond ⑧ =1 PCSource=10 PCWrite=1 ⑨ IorD=1 MemWrite=1 ⑤ MemToReg=1 RegDst=0 RegWrite=1④ Created by Tsuneo Nakanishi, 2002-2004 制御部の設計(4) 状態遷移図 2 lw 3 4 sw lw/sw 0 1 5 R形式 6 7 beq j 8 9 九州大学工学部電気情報工学科 Created by Tsuneo Nakanishi, 2002-2004 制御部の設計(5) 制御部 I R 31-26 組み合わせ 論理回路 状 態 レ ジ ス タ 各 制 御 信 号 次状態 九州大学工学部電気情報工学科 Created by Tsuneo Nakanishi, 2002-2004
© Copyright 2024 ExpyDoc