作者littleshan (我要加入劍道社!)
看板C_and_CPP
標題Re: [問題] 讓system不cache某個特定變數
時間Wed May 12 14:08:39 2010
Google 後發現的一篇好文
http://ixbtlabs.com/articles2/amd-hammer-family/amd-hammer-family2-add1.html
唔 你可能需要了解一些基本的 computer organization 和 assembly 才能看下去
他講的是如何計算 L1/L2 cache latency
方法和 tinlans 說的一樣 就是不斷把整個 cache 內容洗掉
把他的 chain size 提高到某個很大的數字後
算出來的應該就是 main memory latency
知名的 CPU 偵測軟體 cpu-z 也提供了一個計算 cache latency 的小工具
我猜他們的運作方式應該大同小異
※ 引述《kkdlin (kkdlin)》之銘言:
: 想請問一下版上各位
: 最近在Linux上開發一些測試程式的時候
: 因為想純粹測量Main memory到processor的local memory的latency
: 所以想關掉cache來測試整體平均的數值
: 比如:
: int mem[1024];
: 想一直測試這個陣列在兩層memory間的搬運
: 但是又不想在下一個run的時候
: 讓某些值被cache住
: 請問有哪些directive或者關鍵字可以讓compiler去標記他
: 或者讓system不去cache住這整個array嗎?
: (在不動到system code(Linux)的方法?)
: 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.29.108
推 final01:還有這招 05/12 14:48
推 VictorTom:推 05/12 15:10
推 sitos:我印象中有的 processor 會支源 non-cacheable access 05/12 17:11
→ sitos:不過我不太確定細節是什麼, 但很多 paper 都有用到這功能 05/12 17:12
推 kkdlin:謝謝 真是開眼界..@@ 05/12 19:17