Re: [討論] Low Power?
※ 引述《WYchuang (打不留歪莊)》之銘言:
: ※ 引述《gwliao (gwliao)》之銘言:
: : 不過gray code在Low power的方面真的用的很多,
: : 尤其是Bus encoding方面.
: : 像我之前研究如何re-assign ARM7TDMI的instruction的Conditional Code.
: 你的意思是你本來要研究Architecture上面的改善方式
: 後來變成:compiler寫得好才可以省電
: 是這樣嘛?
這是兩個方式, 可以單獨使用, 也可以一起使用,
我原本的構想是重新設定ISA中OP-code的值,
希望能得到low-power的效果.
但做完後發現用啥compiler會對結果有很大的影響!
所以這部份不是一個好work (就我的理念來說)
我希望不論用啥compiler都可以省Power.
: 不過這種研究在bus switch上軟體的solution ...
: 應該compiler比較有發揮空間
我後來去做compiler是在Code Generation時做low-power,
也是用switching數量當power.
但不好做, 在RISC上,
同樣的function,其機器碼的候選者實在不多! (應該是我Code Generation不夠好)
所以變成"程式慢, power低",
但我不是要這個, 我要的是"程式沒變慢, power低."
就這樣, 我差一點專題不過(不是老師要求, 是我的理念 :( )
: 其他我還真想不出來有啥可以用軟體減少bus switch ...
這個想像力還不夠 XD
我還提出一個想法: A=X*Y, A=Y*X哪一個power低?
對加法, X+Y跟Y+X的power一樣(針對一般常用的adder), 這個可以被證明.
對乘法, 兩個就可能差很多, 且速度也差很多!
98765 23
x) 23 x) 98765 當然是左邊的好算, CPU也是有這種現象!
-------- --------
???????? ????????
交換operand, 對加法來說, 是省DATA Bus的switching(Load data to Reg.),
對乘法是是省乘法器內部和DATA BUS的power.
當然也可以省instruction在DATA Bus上的Power(instruction fetch).
但我們是用硬體去交換, 只要省乘法器內部的power,
因為在compiling time, 不好預測operand的內容,
那對乘法器內部的power就猜不出來,
DATA bus的power也猜不到, 只能猜到instruction在DATA Bus上的Power.
: 之前還有聽某位外國教授報告過,他說coding style也可以減少power XD
: 比如說增加cache hit的coding style方式,大抵上就是減少memory access
: 因為memory access需要Bus + memory power,他說會粉耗電 ...
: (不過這樣要怎麼出paper呢,呵呵)
說一件事:
1) memory read: CPU改變1次 address bus, Memory改變一次Data Bus.
2) memory write: CPU改變1次 address bus, CPU改變一次Data Bus.
那可以看出CPU做Write時, 比較耗電, 因為改變Bus的CPU!
這是很多人算Power的方式, 我不喜歡, 因為對整體來說, 就是耗電 :(
只是將Power算在別人頭上, 不是省電.
簡單一個例子:
(1) A=X+Y*Z;
(2) B=Y*Z;
A=X+B;
就上面來說, 不考慮暫存器不夠.....等很多情況下(就是別想太多, 這只是一個例子:),
(1)Memory要讀3次,寫1次, (2)是讀4次,寫2次.
那(2)耗電, 但是我們常常將一個長的expression猜成短一點(可讀性好一點),
所以有的low-power compiler會想辦法消去local Variable,
當然有的Variable不能消去.
: -------------------------------------
: 你自己寫一個ARMulator+compiler出來呀?
compiler是大一大二閒暇時間寫的, 針對MIPS的機器碼和C語言的子集寫的.
ARM7TDMI的Simulator是大三的作業 Orz
而且我們買的ARM的ARMulator不夠好用,
因為我要模擬到ARM7TDMI的3 stages的pipeline, 要取出其中的data來看,
所以自己要寫(我有跟ARM的ARMulator比Bus上的data要一樣)
: 就算菸酒生都已經可以畢業嘍 ... XD
這個只能讓我專題過關 Orz
不過這樣的訓練對將來幫助很大! 不過對肝不好 Q_Q
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.230.224
討論串 (同標題文章)
CSSE 近期熱門文章
PTT數位生活區 即時熱門文章