看板 CSSE 關於我們 聯絡資訊
※ 引述《WYchuang (打不留歪莊)》之銘言: : ※ 引述《invalid (everlasting)》之銘言: : : 我之前有聽過做processor的一種降低power的方法 : : 主要是重新針對power最佳化instruction code.. : : 就以電路的觀點,1111-> 0000 會比1111->1110來的耗電的多 : : 也就是可以針對幾個常用的code進行重組,就有點像gray code : : 不過gray code是用在通訊上,不算是對power最佳化 : : 不知道搭配Compiler會不會跟這個有一點關係@@... : 原來gray code是用在通訊上的啊,小弟才疏學淺以前一直以為是用在 : 硬體的Bus上 : 我只有隱約記得,因為充放電的關係 : 在Bus上傳輸 1 --> 對電容充電 : 在Bus上傳輸 0 --> 對電容放電 : 如果每次在Bus上一直傳一些變動性很大的東西 : (ex: 0000 -> 1111 -> 0000 -> 1111 ...) : 這樣就非常耗電,因為你一直在充電/放電 : 所以可以的話,一次變一個digit,這樣就可以省電了 : 有錯歡迎指正唷 ... 他們的power是算switch的次數, 依據P=(1/2)*A*C*V*V, P: power V:電壓, C:該點的電容, A:該點switch的次數 所以固定V,C的話, 減少A (switch的次數)就是low power. 用gray code是希望降低CPU的Bus上的switch數量, 但也不一定要gray code, 也有很多人用其他的方式, 只要就是減少switch數量. 在Compiler上的話, 常常是找出function一樣,但bus的switch數量比較少的 instruction排法. 有的還考慮ISA的op-code的編碼, 以求bus的switch數量比較少! 例如: mov常接著add的話, 那mov和add的op-code就不能有太多switch; mov不常接著jnz的話, 那mov和jnz的op-code就可以有較多的switch; Power-efficient bus design: Spatial encoding circuit techniques for peak power reduction of on-chip high-performance buses. Himanshu Kaul, Dennis Sylvester, Mark Anders, Ram Krishnamurthy, ISPD'04. Bus-invert coding for low-power I/O. Mircea R. Stan, Wayne P. Burleson. IEEE Transactions on Very Large Scale Integration (VLSI) Systems. Volume 3 , Issue 1 (March 1995) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.230.224 ※ 編輯: gwliao 來自: 140.112.230.224 (08/15 01:55)
WYchuang:感謝補完 :-) 140.96.129.115 08/15
※ 編輯: gwliao 來自: 140.112.230.224 (08/15 03:37)