【正文】
R2。 WHEN 0011= R3:=R0。 WHEN OTHERS= NULL。 END CASE。 WHEN OTHERS = NULL。 END CASE。 WHEN 3= 狀態(tài)3 CASE IR(15 DOWNTO 12) IS WHEN Swap= Swap: A to Rx CASE IR(11 DOWNTO 10) IS WHEN 00= R0:=A。 WHEN 01= R1:=A。 WHEN 10= R2:=A。 WHEN OTHERS= R3:=A。 END CASE。 WHEN jmp|Jz|Read|Write = IR(7 DOWNTO 0)= M_data_in。 取雙字節(jié)指令的后半部分 PC := PC+1。 WHEN OTHERS = NULL。 END CASE。 WHEN 4= 狀態(tài)4 CASE IR(15 DOWNTO 12) IS WHEN jmp = 無條件轉移指令 PC := IR(11 DOWNTO 0)。 MAR = IR(11 DOWNTO 0)。 WHEN Jz = 條件轉移指令 IF(R0=00000000) then PC := IR(11 DOWNTO 0)。 MAR = IR(11 DOWNTO 0)。 else MAR = PC。 END IF。 WHEN Read = MAR = IR(11 DOWNTO 0)。 WHEN Write = MAR = IR(11 DOWNTO 0)。 MDR = R0。 WHEN OTHERS = NULL。 END CASE。 WHEN 5 = 狀態(tài)5 MAR = PC。 WHEN 6 = 狀態(tài)6 CASE IR(15 DOWNTO 12) IS WHEN Read = R0 := M_data_in。 WHEN OTHERS= NULL。 END CASE。 END CASE。 END IF。 END process seq。 b: PROCESS (reset, status) BEGIN IF (reset = 39。139。 AND status = 5 AND IR(15 DOWNTO 12)= Write ) THEN Write_Read = 39。139。 ELSE Write_Read = 39。039。 END IF。 END PROCESS b。 M_address = MAR。 M_data_out = MDR。END RTL。圖3 波形圖1圖4 波形圖2解釋如下: 圖5 指令含義通過本實驗我學到很多有用知識,不僅提高了我的系統(tǒng)設計和軟件編程的能力,還讓我對計算機組成原理實驗課程有了更一步的掌握和認識。在本課程設計中,除了對CPU內部運算器,控制器以及存儲器之間的聯(lián)系與分工合作的了解之外,在建立波形圖時,由于受平日建圖的影響,忘記添加CPU內部寄存器組,另外在添加寄存器信號后,還要將相同的劃成一個GROUP,在這之前的練習中,我是沒有接觸過的。這次練習掌握的一些新知識,相信在未來對我會有巨大幫助