→ james732:volatile? 05/11 13:43
推 VictorTom:1F 正姐 >///< 05/11 13:48
→ loveme00835:好久不見的修飾字, 原來還真的會用到@@ 05/11 13:50
→ VictorTom:第一次看到時, 是面試的時候被問到, 當時當然是不會Orz 05/11 13:52
→ kkdlin:謝謝各位 突然忘記他的存在XD 明明下面幾行程式自己有寫XD 05/11 13:54
→ kkdlin:Victor是跑去山上面試嗎? 好像只有山上會問這題XD 05/11 13:54
推 VictorTom:偷偷問, 山上是哪一家呀?? 暱稱太多了老是不會認XD 05/11 14:08
→ VictorTom:不過有機會稍微接觸底層的還是都有機會用到volatile啦, 05/11 14:09
→ VictorTom:像我們家driver就有些人有機會下到:) 05/11 14:09
→ kkdlin:Andxx XD? 05/11 14:21
推 VictorTom:那看起來不是XD 05/11 16:29
推 littleshan:volatile不是答案啊,怎麼大家都誤解了 05/11 16:46
→ littleshan:volatile 是強迫 compiler 在取值時一定要讀記憶體 05/11 16:47
→ littleshan:而不能拿 register 現有的值去使用 05/11 16:47
→ littleshan:但讀取記憶體這個指令還是會先去 cache 裡面找 05/11 16:48
→ kkdlin:對齁..看到暫存器不讀就太高興了..@@ 05/11 16:53
→ kkdlin:那請問一下還有其他不改底層的方法嗎@@ 05/11 16:53
推 VictorTom:對喔~~還是l大說的對....Orz 完全忘了這件事....Orz 05/11 17:21
→ VictorTom:solution應該是透過OS提供的API, 去開一塊non-cachable 05/11 17:25
→ VictorTom:的memory, 然後搭配volatile access的樣子.... 05/11 17:25
→ VictorTom:不過我們同事說User Mode的東西always cachable, 05/11 17:26
→ VictorTom:所以得map一塊kernel的memory回來的樣子(Win)....@_@" 05/11 17:26
→ james732:我也忘了不讀暫存器跟不拿快取是兩回事 XDDDDD 05/11 18:03
→ tinlans:......你乾脆請 HW 做一個按鈕,按下去清空 cache 好了。 05/11 18:07
→ tinlans:不然你可以想辦法去洗 cache,像是用力把 mem 灌爆 N 次。 05/11 18:10
推 VictorTom:可是他是要測latency呀XD 這樣額外的effort反而提高了XD 05/11 18:16
→ tinlans:所以兩個 run 之間不能停下來手動洗 cache 嗎? 05/11 18:21
→ tinlans:其實我也看不太懂原 po 想做什麼。 05/11 18:24
推 VictorTom:小弟我忽然發現, 我不太懂processor的local memory是指 05/11 18:27
→ VictorTom:什麼口也....Orz 05/11 18:27
→ tinlans:可能是 scratchpad 之類的東西吧,通常只有幾 KB。 05/11 18:31
→ kkdlin:嗯 也是在processor chip裡面的一小塊儲存空間 05/12 12:25