看板 CSSE 關於我們 聯絡資訊
※ 引述《invalid (everlasting)》之銘言: : ※ 引述《WYchuang (打不留歪莊)》之銘言: : : 降速度跑大概是軟體決定,硬體執行 ... : : (比較dynamic的東西,硬體做應該會想死吧) : : 你說的tradeoff應該是存在的沒錯,所以才有做paper的價值嘍 : : (資工的人總是在各式各樣的tradeoff當中載浮載沈啊 XD) : : 我自己是覺得,system的東西總是牽涉廣泛,往往牽一髮而動全身 : : 比如說我上次去聽清大的某教授報告(專精compiler的教授), : : 他說他們認為OS的low power機制一定要搭配Compiler,效果才會好 : : 我到現在還是參不透這句話 XD : 我之前有聽過做processor的一種降低power的方法 : 主要是重新針對power最佳化instruction code.. : 就以電路的觀點,1111-> 0000 會比1111->1110來的耗電的多 : 也就是可以針對幾個常用的code進行重組,就有點像gray code : 不過gray code是用在通訊上,不算是對power最佳化 : 不知道搭配Compiler會不會跟這個有一點關係@@... 真巧, 前幾天才幫朋友看過一篇相關的論文. D. Shin and J. Kim, An Operation Rearrangement Technique for Low-Power VLIW Instruction Fetch. http://0rz.net/eb0A8 因為在 VLIW 架構裡, 一個 instruction 可以包含好幾個 operation, 同一 instruction 裡的 operation 次序可以任意改變, 而不影響運算功能. 所以可以找出某個 operation 的排列, 使得 external bus (memory->cache) 與 internal bus (cache->CPU) 的耗電量為最少, 也就要考慮到位元值的 改變量儘可能少. 至於安排 operation 的排列, 這就是 compiler 的工作了, 所以 compiler 要和 low power 牽扯上關係也是有可能的. :) 至於 gray code, 通常是要用在 counter 上才有用. 因為數值 n 與 n+1 只 差一個 bit. 另外, 在非同步電路也常用到 gray code, 不過考量的重點倒不是在 low power. 譬如: 非同步式的 FIFO, 其 pointer 以 gray code 編碼, 這樣 pointer 的遞增 或遞減就會只差一個 bit. 如果採用 binary code, 那麼當 pointer 值由 7 (0111) 遞增為 8 (1000) 時, 由於每個 bit 都在改變當中, 此時讀出來的 pointer 值, 可以是任意值, 這樣就不是我們想要的情況. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.64.208.252
WYchuang:跟gw大提到的方法有異曲同工之妙,都是針對bus. 140.96.129.115 08/15
WYchuang:似乎Compiler 只能對Bus switch下手了? 140.96.129.115 08/15
gwliao:... Orz 我還以為是Rolf Landauer的縮寫 XD140.112.230.224 08/16
gwliao:......推錯篇了 Orz140.112.230.224 08/16