2013-05-21 50 views
1

想問一下我們這裏計算機結構考試的一些問題是否確定。下面是Mic-1 IJVM的添加命令。我們被要求編寫新的iaddtriple命令,該命令將添加三個頂層字的堆棧,並將其重新存儲在堆棧中。Java虛擬機實現iadd微指令即興

iadd1 MAR = SP = SP − 1; rd Read in next-to-top word on stack 
iadd2 H = TOS H = top of stack 
iadd3 MDR = TOS = MDR + H;wr;go to Main1 Add two top words, write to top of stack 

我的回答是;

iaddtriple1 MAR = SP = SP − 1; rd 
iaddtriple2 H = TOS H = 
iaddtriple3 H = MDR = TOS = MDR + H 
iaddtriple4 MAR = SP = SP − 1; 
iaddtriple5 MDR = TOS = MDR + H ; wr;go to Main1 

我想問我的iaddtriple3這一步是否合法。我的一個朋友告訴我,H=blabla +H任務應該是非法的,因此不應該使用。但數據路徑週期的時間圖證明了我是正確的。提前致謝。

iaddtriple3 H = MDR = TOS = MDR + H 

回答

0

它能夠進行

H = H + MDR 

因爲H可在C-總線位來指定,ALU操作A + B,B寄存器是MDR。實際微指令將是

0003C8000 

前兩個十六進制數字可以是任何數字,第三十六進制數字是0或8