データパスの構築Ⅱ ~制御部の構築~ (教科書5.3節) 制御部の設計 0 + 4 1 RegWrite 25-21 20-16 P 命令メモリ inst C adrs rreg1 rreg2 15-11 1 wreg 0 rd2 15-0 A L U adrs wd RegDst 符号拡張 16 y rd 1 0 32 ALUSrc MemWrite データメモリ 1 wd 制御部で,制御信 号を操作し,データ の流れを制御す る. b PCSrc MemRead zero a rd1 レジスタ ファイル 0 + 2bit 左シフト ALUctrl MemToReg 九州大学工学部電気情報工学科 ALU制御部の設計(1) 0 + 4 1 RegWrite 25-21 20-16 P 命令メモリ inst C adrs rreg1 rreg2 15-11 1 wreg 0 rd2 1 wd 15-0 b 符号拡張 y MemWrite adrs データメモリ rd 1 0 32 ALUSrc ALU制御部 A L U wd RegDst 16 PCSrc MemRead zero a rd1 レジスタ ファイル 0 + 2bit 左シフト MemToReg ALUctrl 九州大学工学部電気情報工学科 ALU制御部の設計(2) ALU入出力仕様: 信号の意味 入出力 信号名 ビット幅 演算パラメータ1 入力 a 32 演算パラメータ2 入力 b 32 演算結果 出力 y 32 ゼロ判定(結果が 0 のときに 1) 出力 zero 1 ALU制御(000: AND,001: OR,010: +, 110: –,111: slt) 入力 ALUctrl 3 ALUctrl 3 a 32 b A L U zero y 32 32 九州大学工学部電気情報工学科 ALU制御部の設計(3) + 4 命令語次第 25-21 20-16 P 命令メモリ inst C adrs rreg1 rreg2 wreg zero a rd1 レジスタ ファイル 15-11 + 2bit 左シフト b rd2 A L U y adrs データメモリ wd wd 15-0 符号拡張 16 R形式 ALU制御部 rd 32 ALUctrl 九州大学工学部電気情報工学科 ALU制御部の設計(4) + 4 加算 25-21 20-16 P 命令メモリ inst C adrs rreg1 rreg2 wreg zero a rd1 レジスタ ファイル 15-11 + 2bit 左シフト b rd2 A L U y adrs データメモリ wd wd 15-0 符号拡張 16 lw ALU制御部 rd 32 ALUctrl 九州大学工学部電気情報工学科 ALU制御部の設計(5) + 4 加算 25-21 20-16 P 命令メモリ inst C adrs rreg1 rreg2 wreg zero a rd1 レジスタ ファイル 15-11 + 2bit 左シフト b rd2 A L U y adrs データメモリ wd wd 15-0 符号拡張 16 sw ALU制御部 rd 32 ALUctrl 九州大学工学部電気情報工学科 ALU制御部の設計(6) + 4 減算 25-21 20-16 P 命令メモリ inst C adrs rreg1 rreg2 wreg zero a rd1 レジスタ ファイル 15-11 + 2bit 左シフト b rd2 A L U y adrs データメモリ wd wd 15-0 符号拡張 16 beq ALU制御部 rd 32 ALUctrl 九州大学工学部電気情報工学科 ALU制御部の設計(7) ALUの制御パターンは3パターン: 命令語次第(R形式) 加算(lw,sw命令) 減算(beq命令) どのパターンの制御をするか指定する入力信号(ALUOp, 2bit)が 必要. 信号値 意味 00 加算(lw,sw命令) 01 減算(beq命令) 1X 命令語の指定どおりの演算(R形式) 九州大学工学部電気情報工学科 ALU制御部の設計(8) R形式 op rs rt rd shamt funct 6bit 5bit 5bit 5bit 5bit 6bit 命令 op funct ALUctrl add $○, $△, $□ 000000 100000 010 sub $○, $△, $□ 000000 100010 110 slt $○, $△, $□ 000000 101010 111 and $○, $△, $□ 000000 100100 000 or $○, $△, $□ 000000 100101 001 九州大学工学部電気情報工学科 ALU制御部の設計(9) ALU制御部の仕様: 信号の意味 入出力 信号名 ビット幅 ALU制御パターン 入力 ALUOp 2 R形式命令語の funct 入力 funct 6 ALU制御 出力 ALUctrl 3 ALUOp 2 ALU制御部 ALUctrl 3 funct 6 九州大学工学部電気情報工学科 ALU制御部の設計(10) ALU制御部の仕様: 命令 ALUOp funct ALUctrl lw $○, n($△) 00 XXXXXX 010 sw $○, n($△) 00 XXXXXX 010 beq $○, $△, Label 01 XXXXXX 110 add $○, $△, $□ 1X XX0000 010 sub $○, $△, $□ 1X XX0010 110 slt $○, $△, $□ 1X XX1010 111 and $○, $△, $□ 1X XX0100 000 or $○, $△, $□ 1X XX0101 001 九州大学工学部電気情報工学科 ALU制御部の設計(11) 0 + 4 1 RegWrite 25-21 20-16 P 命令メモリ inst C adrs rreg1 rreg2 15-11 1 wreg 0 rd2 符号拡張 16 2 ALU制御部 6 adrs 3 rd 1 0 32 ALUSrc 5-0 y wd RegDst 15-0 A L U MemWrite データメモリ 1 wd ALUOp b PCSrc MemRead zero a rd1 レジスタ ファイル 0 + 2bit 左シフト MemToReg ALUctrl 九州大学工学部電気情報工学科 主制御部の設計(1) 0 + 4 1 RegWrite 25-21 20-16 P 命令メモリ inst C adrs rreg1 rreg2 15-11 1 wreg 0 rd2 2 符号拡張 ALU制御部 6 adrs 3 rd 1 0 32 ALUSrc 5-0 y wd RegDst 16 ALUOp A L U MemWrite データメモリ 1 wd 15-0 b PCSrc MemRead zero a rd1 レジスタ ファイル 0 + 2bit 左シフト MemToReg ALUctrl 九州大学工学部電気情報工学科 主制御部の設計(2) 0 + 4 1 RegWrite 25-21 20-16 P 命令メモリ inst C adrs rreg1 rreg2 15-11 1 wreg 0 rd2 R形式 符号拡張 16 2 ALU制御部 6 adrs 3 rd 1 0 32 ALUSrc 5-0 y wd RegDst 15-0 A L U MemWrite データメモリ 1 wd ALUOp b PCSrc MemRead zero a rd1 レジスタ ファイル 0 + 2bit 左シフト MemToReg ALUctrl 九州大学工学部電気情報工学科 主制御部の設計(3) 0 + 4 1 RegWrite 25-21 20-16 P 命令メモリ inst C adrs rreg1 rreg2 15-11 1 wreg 0 rd2 lw 符号拡張 16 2 ALU制御部 6 adrs 3 rd 1 0 32 ALUSrc 5-0 y wd RegDst 15-0 A L U MemWrite データメモリ 1 wd ALUOp b PCSrc MemRead zero a rd1 レジスタ ファイル 0 + 2bit 左シフト MemToReg ALUctrl 九州大学工学部電気情報工学科 主制御部の設計(4) 0 + 4 1 RegWrite 25-21 20-16 P 命令メモリ inst C adrs rreg1 rreg2 15-11 1 wreg 0 rd2 sw 符号拡張 16 2 ALU制御部 6 adrs 3 rd 1 0 32 ALUSrc 5-0 y wd RegDst 15-0 A L U MemWrite データメモリ 1 wd ALUOp b PCSrc MemRead zero a rd1 レジスタ ファイル 0 + 2bit 左シフト MemToReg ALUctrl 九州大学工学部電気情報工学科 主制御部の設計(5) 0 + 4 RegWrite 25-21 20-16 P 命令メモリ inst C adrs rreg1 rreg2 15-11 1 wreg 0 rd2 2 beq Branch adrs ALUSrc 3 rd 1 0 32 ALU制御部 6 y wd 符号拡張 5-0 A L U MemWrite データメモリ RegDst 16 ALUOp b 1 wd 15-0 MemRead zero a レジスタ ファイル 0 + 2bit 左シフト rd1 1 PCSrc MemToReg ALUctrl 九州大学工学部電気情報工学科 主制御部の設計(6) 主制御部の仕様: ALUOp RegDst ALUSrc MemToReg RegWrite MemRead MemWrite Branch lw $○, n($△) 00 0 1 1 1 1 0 0 sw $○, n($△) 00 X 1 X 0 0 1 0 beq $○, $△, Label 01 X 0 X 0 0 0 1 R形式 1X 1 0 0 1 0 0 0 命令 主制御部 op 6 ALUOp RegDst ALUSrc MemToReg RegWrite MemRead MemWrite Branch 九州大学工学部電気情報工学科 主制御部の設計(7) PCSrc 0 + 4 1 31-26 主制御部 25-21 20-16 P 命令メモリ inst C adrs rreg1 rreg2 0 15-11 1 RegDst + 2bit 左シフト RegWrite a rd1 レジスタ ファイル wreg 0 rd2 b 1 ALUSrc wd Branch zero A L U y MemRead adrs データメモリ wd 15-0 命令語の op で命 令を識別し,各制 御信号を制御. 16 5-0 2 6 符号拡張 MemWrite rd 1 0 32 ALUOp MemToReg ALU制御部 3 ALUctrl 九州大学工学部電気情報工学科
© Copyright 2024 ExpyDoc