2014-01-31 36 views
0

任何人都可以解決這些指令將在緩存中被命中或遺漏的位置嗎?緩存命中還是小姐?

大會的Nios-II(http://www.altera.com/literature/hb/nios2/n2cpu_nii5v1.pdf

尺寸:128字節。 長度:16字節。 雙向組合關聯。

1 movia r8, 0x357B40 
2 ldw r10, 0 (r8) # 0x357B40 
3 ldw r11, 16 (r8) # 0x357B50 
4. ldw r12, 40 (r8) # 0x357B68 
5. stw r13, 132 (r8) # 0x357BC4 
6. ldw r14, 8 (r8) # 0x357B48 
7. stw r15, 135(r8) # 0x357BC7 
8. ldw r16, 64 (r8) # 0x357B80 

回答

0

唯一正確的回答你的問題是「沒有,沒有人能確定這些指令會導致緩存命中或高速緩存未命中」。

有2個原因。第一;在執行代碼之前,我們任何人都不可能確定緩存中的內容。第二;我們中的任何一個人都不可能確定是否/何時發生IRQ,或者排除IRQ執行將數據從緩存中取出或將數據提取到緩存中的操作的可能性。

但是;如果我們假設根本沒有IRQ,並且還假設緩存是空的,那麼你的問題的答案是「是的,有人可以確定這些指令中的哪一個會導致緩存命中或緩存未命中」。

+1

注:我可能假設你要求人們爲你做作業... – Brendan

+0

你會是正確的。很詳盡的答案。一定是值得的! ;) – user3257395

0

是的假設沒有其他事情正在進行(沒有ISR等),您可以確定哪些指令會導致緩存未命中以及哪個緩存命中指令的基礎上(其中一些可能需要像當代碼啓動時,緩存中沒有任何內容,其他則不)。

不會爲你做你的功課。

相關問題