作者jeunder (omega~ oh my god)
看板CSSE
标题Re: [讨论] Low Power?
时间Mon Aug 15 15:14:49 2005
※ 引述《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
1F:推 WYchuang:跟gw大提到的方法有异曲同工之妙,都是针对bus. 140.96.129.115 08/15
2F:→ WYchuang:似乎Compiler 只能对Bus switch下手了? 140.96.129.115 08/15
3F:推 gwliao:... Orz 我还以为是Rolf Landauer的缩写 XD140.112.230.224 08/16
4F:→ gwliao:......推错篇了 Orz140.112.230.224 08/16