在x86 GNU彙編程序中,與內存相關的操作有不同的後綴。例如:內存中後綴對緩存操作的影響
movb, movs, movw, movl, movq, movt(?)
現在我的問題是:
是否後綴對處理器是如何獲取數據從主存儲的任何影響或將永遠是一個或多個32位(x86 )塊加載到緩存?
內存訪問旁邊有什麼影響?
在x86 GNU彙編程序中,與內存相關的操作有不同的後綴。例如:內存中後綴對緩存操作的影響
movb, movs, movw, movl, movq, movt(?)
現在我的問題是:
是否後綴對處理器是如何獲取數據從主存儲的任何影響或將永遠是一個或多個32位(x86 )塊加載到緩存?
內存訪問旁邊有什麼影響?
那些不是「後綴」。您正在查看六個不同的機器說明。他們每個人移動不同數量的數據。例如,movb
僅移動一個字節。
好吧,我現在看到你在問緩存。總是隻有完整的緩存行被移入緩存。例如,如果高速緩存爲16個字節寬,則將從主內存(一個或兩個高速緩存行)移動16或32個字節。
但是,從緩存移入寄存器的內容取決於指令。
它不影響內存訪問的完成方式;唯一可能影響到的是CPU數據總線的寬度。它影響的只是數據操作的粒度。