理論上因為高記憶體延遲的關係,效能上會有折扣....
但....現實一般人使用上呢?
到底我們甚麼時候會需要『讀取』記憶體?
早期的時代,CPU存取快取的速度是存取記憶體的100倍以上;
所以CPU的設計者就會無所不用其極的盡量降低CPU存取記憶體的次數。
有些技術就因應而生『分支預測』與『預先載入』。(當然這也與作業系統跟編譯器有關)
分支預測就是去預判程式的走向而事先從記憶體(或硬碟)載入該對應走向的資料
預先載入就更直接了,直接把之後會用的資料從記憶體(或硬碟)載入到快取中....
這兩個技術大大的減少記憶體讀取的次數....雖然還是沒有辦法完全避免
另一個設計想法出現了....如果沒有辦法避免讀取記憶體的情況,那CPU只能乾等嗎?
受惠於製成的進步,目前的CPU裡有大量的中間暫存器。
除了拿來儲存每個stage中間的資料,也可以用來....store跟restore指令與資料
比方說....當真的記憶體讀取出現了,要等上一段時間資料才會進來...
CPU會把當前指令跟資料的狀態儲存下來後,改執行其他指令;
當收到通知說CPU要的資料準備好了,再把指令跟資料restore回來,繼續執行....
這樣CPU就不會發呆....
(當然....實際上都會更複雜得多)
所以高記憶體延遲沒有影響?
是也不是。
對一般人的影響幾乎是零;
對科學運算的影響.....會比較大。
不過科學運算可能會以GPU為主.....
末三 wrote:
同意,因為AMD CPU架構的特性,雖然易於堆疊卻也產生了有高延遲記憶體存取的特性....
理論上因為高記憶體延遲的關係,效能上會有折扣....
但....現實一般人使用上呢?
到底我們甚麼時候會需要『讀取』記憶體?
早期的時代,CPU存取快取的速度是存取記憶體的100倍以上;
所以CPU的設計者就會無所不用其極的盡量降低CPU存取記憶體的次數。
有些技術就因應而生『分支預測』與『預先載入』。(當然這也與作業系統跟編譯器有關)
分支預測就是去預判程式的走向而事先從記憶體(或硬碟)載入該對應走向的資料
預先載入就更直接了,直接把之後會用的資料從記憶體(或硬碟)載入到快取中....
這兩個技術大大的減少記憶體讀取的次數....雖然還是沒有辦法完全避免
另一個設計想法出現了....如果沒有辦法避免讀取記憶體的情況,那CPU只能乾等嗎?
受惠於製成的進步,目前的CPU裡有大量的中間暫存器。
除了拿來儲存每個stage中間的資料,也可以用來....store跟restore指令與資料
比方說....當真的記憶體讀取出現了,要等上一段時間資料才會進來...
CPU會把當前指令跟資料的狀態儲存下來後,改執行其他指令;
當收到通知說CPU要的資料準備好了,再把指令跟資料restore回來,繼續執行....
這樣CPU就不會發呆....
(當然....實際上都會更複雜得多)
所以高記憶體延遲沒有影響?
是也不是。
對一般人的影響幾乎是零;
對科學運算的影響.....會比較大。
不過科學運算可能會以GPU為主.....
建議拿過去INTEL4代的處理器試看看
因為不支援影音串流的硬解了
你同時開3-4個就好了
然後用標準的1600和高頻低時序的2133的DDR3試看看
應該就能看的出差異了
更何況AMD目前的差異還更大
筆電的部份因為沒有甚麼高頻低時序的產品可以用
差距就更大了

技嘉的X7 YB 可以有這樣的表現
AMD的落差就很明顯了
然後桌機的8核(含)以下寫入頻寬還砍半