作者WYchuang (打不留歪庄)
看板CSSE
标题Re: [讨论] Low Power?
时间Wed Aug 17 03:27:02 2005
※ 引述《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)