所以我正在教大會,我們有一個任務是找到從內存讀取和從緩存中讀取之間的時間差。我們必須通過創建2個循環並計時來做到這一點。 (一個從主內存中讀取,另一個從緩存中讀取)。事情是,我不知道,也找不到任何告訴我如何從緩存或主內存讀取的任何內容= /。你們能幫我嗎?我在MASM32中做這個。我瞭解如何使環路和最良好的彙編語言,但我就是不能讓它讀=/我如何故意從主內存讀取緩存?
編輯:
我有一個問題,我已經做到了這一點。 ..
mov ecx, 100 ;loop 100 times
xor eax, eax ;set eax to 0
_label:
mov eax, eax ;according to me this is read memory is that good?
dec ecx ;dec loop
jnz _label ;if still not equal to 0 goes again to _label
......那會好嗎?
編輯2:
那好吧,我不打算撬,我很欣賞你的幫助,我只是有一個問題,因爲這是兩個迴路我必須做的。我需要比較它們,我一直在尋找一個計時器指令,但我還沒有找到任何我找到的只有:timeGetTime,GetTickCount和性能計數器但據我瞭解這些說明返回系統時間不是循環完成所需的時間。有沒有辦法實際做我想要的?或者我需要考慮另一種方式?
此外,要從第二個循環中的不同寄存器讀取(不從緩存中讀取的),如果我給出各種「mov」指令,可以嗎?還是我完全脫離基地?
對不起所有這些問題,但再次感謝您的幫助。