【文章內(nèi)容簡(jiǎn)介】
OP N [ 4]OP N [ 5]OP [ 0]OP [ 1]OP N [ 2]OP [ 3]OP N [ 4]OP [ 5]F U N C N [ 0]F U N C N [ 1]F U N C N [ 2]F U N C [ 3]F U N C N [ 4]F U N C N [ 5]ORAD DSU BAN D SR LSLLSR AR T Y PE R T Y PER T Y PER T Y PER T Y PE R T Y PER T Y PE R T Y PEF U N C [ 0] F U N C [ 0]F U N C N [ 1]F U N C N [ 1]F U N C N [ 1]F U N C N [ 1]F U N C [ 2]F U N C [ 2]F U N C N [ 3] F U N C N [ 3]F U N C N [ 3] F U N C N [ 3]F U N C N [ 3] F U N C N [ 3]F U N C N [ 3]F U N C N [ 3]F U N C [ 1]F U N C [ 1]F U N C [ 1]F U N C [ 1]F U N C N [ 2]F U N C N [ 2]F U N C N [ 2] F U N C N [ 2]F U N C N [ 2]F U N C N [ 0] F U N C N [ 0]F U N C N [ 0] F U N C N [ 0]F U N C N [ 0] F U N C N [ 0]F U N C [ 2]F U N C N [ 4] F U N C N [ 4]F U N C N [ 4] F U N C N [ 4]F U N C N [ 4] F U N C N [ 4]F U N C N [ 4] F U N C N [ 4]F U N C [ 5]F U N C [ 5]F U N C [ 5]F U N C [ 5]F U N C [ 5]F U N C N [ 5]F U N C N [ 5]F U N C N [ 5]OP N [ 5. . 0]F U N C N [ 5. . 0]X OR 圖 52 指令執(zhí)行時(shí)序圖 2 4 仿真結(jié)果: 控制部件設(shè)計(jì) 控制器 是計(jì)算機(jī)中 發(fā)號(hào)施令的部件,它控制計(jì)算機(jī)的各部件 有條不紊 的進(jìn)行工作。 更具體的講, 控制器的任務(wù)是從內(nèi)存中取出指令 解題步驟 加以分析 , 然后執(zhí)行 某種操作。 PCSOURCE 是用于標(biāo)記下一條指令的地址,通過(guò)計(jì)算得到的下一條指令有下列 4 種情況:為 0 時(shí):下一條指令地址取 PC+4(用于指令存儲(chǔ)器的地址是 [7..2]);為 1 時(shí):下一條指令地址取分支跳轉(zhuǎn)( BEQ、 BNQ指令);為 2 時(shí):下一條指令地址取跳轉(zhuǎn)( J指令);為 3 時(shí):下一條指令地址取跳轉(zhuǎn)變鏈接( JAL 指令)。 CALL( JAL)標(biāo)記 31 號(hào)寄存器,由于 JAL 指令要把分支延遲槽下一條指令的指令地址保存在寄存器 31號(hào)中,故需要設(shè)置一個(gè)控制信號(hào) CALL,當(dāng) CALL=1時(shí),選擇 31 號(hào)寄存器,為 JAL 跳轉(zhuǎn)指令提供寄存器,當(dāng) CALL=0 時(shí),從 32 位的寄存器堆中根據(jù)地址選擇出一個(gè) 32 位的寄存器用于讀或?qū)憯?shù)據(jù)。 M2REG( LW指令)標(biāo)記 是將運(yùn)算的結(jié)果直接寫入寄存器堆,還是將數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)取出后寫入寄存器堆。 ALUC 運(yùn)算器的控制信號(hào),用于選擇做何種運(yùn)算。 WMEM 數(shù)據(jù)存儲(chǔ)器的讀寫信號(hào)。 SHIFT 標(biāo)記移位運(yùn)算,由于移位運(yùn)算的運(yùn)算數(shù)需要位數(shù)拓展。 ALUIMM 標(biāo)記立即數(shù)運(yùn)算,由于有立即數(shù)參與運(yùn)算前需要位數(shù)拓展。 SEXT標(biāo)記參加運(yùn)算的是有符號(hào)數(shù)。 WREG寄存器堆的讀寫信號(hào)。 REGRT 標(biāo)記指令中的 [20..16]或 [15..11]中的哪一種作為運(yùn)算的目標(biāo)寄存器。它的電路符號(hào)如圖 97。根據(jù) 節(jié)指令的執(zhí)行分析,可以得出這 20 條控制信號(hào)的邏輯表達(dá)式如 圖所示: 5 表 31。 指令( R類型) Add Sub And Or Xor Sll Srl Sra Jr 輸入 Op[5..0] 000000 000000 000000 000000 000000 000000 000000 000000 000000 Func[5..0] 100000 100010 100100 100101 100110 000000 000010 000011 001000 Z X X X X X X X X X 輸出 Pcsource [1..0] 00 00 00 00 00 00 00 00 10 Aluc[3..0] X000 X100 X001 X101 X010 0011 0111 1111 X Shift 0 0 0 0 0 1 1 1 X aluimm 0 0 0 0 0 0 0 0 x Sext X X X X X X X X x Wmem 0 0 0 0 0 0 0 0 0 Wreg 1 1 1 1 1 1 1 1 0 M2reg 0 0 0 0 0 0 0 0 X Regrt 0 0 0 0 0 0 0 0 X Call 0 0 0 0 0 0 0 0 x 指令 ( I 類型) Addi Andi Ori Xori Lw Sw Beq Bne Lui 輸入 Op[5..0] 001000 001100 001101 001110 100011 101011 000100 000101 001111 Func[5..0] Xxxxxx Xxxxxx Xxxxxx Xxxxxx Xxxxxx Xxxxxx Xxxxxx Xxxxxx Xxxxxx Z X X X X X X 0 1 0 1 x 輸出 Pcsource [1..0] 00 00 00 00 00 00 00 01 01 00 00 Aluc[3..0] X001 X001 X101 X010 X000 X000 X100 X100 X110 Shift 0 0 0 0 0 0 0 0 0 Aluimm 1 1 1 1 1 1 0 0 1 Sext 1 0 0 0 1 1 1 1 1 Wmem 0 0 0 0 0 1 0 0 0 Wreg 1 1 1 1 1 0 0 0 1 M2reg 0 0 0 0 1 X X X 0 Regrt 1 1 1 1 1 X X X 1 Call 0 0 0 0 0 X X X 0 指令 ( J 類型) J Jal 輸入 Op[5..0] 000010 000011 Func[5..0] Xxxxxx Xxxxxx Z X x 6 V C COP [ 5. . 0] IN P U TV C CF U N C [ 5. . 0] IN P U TV C CZ IN P U TC AL LO U T P U TM 2R EGO U T P U TW M EMO U T P U TR EG R TO U T P U TAL U C [ 3. . 0]O U T P U TSH I F TO U T P U TAL U I M MO U T P U TSE X TO U T P U TW R EGO U T P U TPC SO U R C E[ 1. . 0]O U T P U TF U N C [ 5 . . 0 ]O P [ 5 . . 0 ]X O RS L LS R LS R AJRA D D IA N D IO R IX O R ILWSWB E QB N QL U IJJ A LS U BA N DORA D D9_2ins tO R 6ins t 4O R 2ins t 5O R 3in s t 6O R 3ins t 14A N D 2ins t 15A