精華區beta CSSE 關於我們 聯絡資訊
※ 引述《gwliao (gwliao)》之銘言: : ※ 引述《jeunder (omega~ oh my god)》之銘言: : : 另外, 在非同步電路也常用到 gray code, 不過考量的重點倒不是在 low power. : 不過gray code在Low power的方面真的用的很多, : 尤其是Bus encoding方面. : 像我之前研究如何re-assign ARM7TDMI的instruction的Conditional Code. : ARM7TDMI的每個instruction前4個bit用於Conditional execution, : 4個bit就有16種變化, 那ARM的ISA的assign應該不好 (不然我也沒得玩 XD ) : 我是寫了ARM的模擬器, 然後用自己寫的簡陋C compiler, ARM-cc和gcc compile程式, : 再大量跑程式得到這16種code之間的transition probability, : 然後建16個node的complete graph(Directed), : graph的edge weight就是他們的probability. : 然後找一個path,這個path上的total weight最大(類似解Traveling Salesman Problem) : 最後在想辦法將gray code放在那些node上, : 使得 Σ(weight*兩個node之間的switching)為最小. : 但所找出來的解不是最佳解! : (找path的時候出問題, 不只是path上的weight要算cost, : 連其他degree的weight都有份, 這樣單純的解法不能保證是最佳解) : 最後我用ILP(Integer Linear Programming)去找出最佳解! : 為何不用branch-and-bound method or 其他的方式? : 因為還要再多寫一些程式(還要debug) XD : 用ILP的話, 只要print一下東西, 再用ILP solver去解就OK了. : (這是做architecture的研究, 重點在re-assign的結果, 不是這部份的演算法 XD ) : 但結果真的不好, 因為結果是...compiler depend, 真是OOXX Orz : 所以我的大學專題就換題目了 :~~~~ 你的意思是你本來要研究Architecture上面的改善方式 後來變成:compiler寫得好才可以省電 是這樣嘛? 不過這種研究在bus switch上軟體的solution ... 應該compiler比較有發揮空間 其他我還真想不出來有啥可以用軟體減少bus switch ... 之前還有聽某位外國教授報告過,他說coding style也可以減少power XD 比如說增加cache hit的coding style方式,大抵上就是減少memory access 因為memory access需要Bus + memory power,他說會粉耗電 ... (不過這樣要怎麼出paper呢,呵呵) ------------------------------------- 你自己寫一個ARMulator+compiler出來呀? 就算菸酒生都已經可以畢業嘍 ... XD -- 笑年ㄟ:老闆,這是什麼啊?這麼苦! 老闆 :笑年ㄟ,這就是人蔘啊 ~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.96.129.115 ※ 編輯: WYchuang 來自: 140.96.129.115 (08/17 03:27) ※ 編輯: WYchuang 來自: 140.96.129.115 (08/17 03:28) ※ 編輯: WYchuang 來自: 140.96.129.115 (08/17 03:28)