循环优化对能耗的影响
1. 不同操作模式的能耗与重新同步开销
在计算机系统中,不同的操作模式具有不同的能耗和重新同步开销。以下是不同操作模式下的能耗(每次访问)和重新同步时间:
| 操作模式 | 能耗 (nJ) | 重新同步开销 (周期) |
| — | — | — |
| 活动模式 | 3.570 | 0 |
| 待机模式 | 0.830 | 2 |
| 打盹模式 | 0.320 | 30 |
| 掉电模式 | 0.005 | 9,000 |
这里采用了基于硬件的 BIT 预测机制,在 10 个周期的空闲后,相应的存储体进入待机模式;若再经过 100 个周期仍未被引用,则进入打盹模式;若进一步经过 1,000,000 个周期未被引用,就进入掉电模式。当存储体被引用时,会回到活动模式并产生相应的重新同步开销。
2. 缓存局部性与片外内存能耗
2.1 无缓存时的情况
许多优化编译器使用一系列技术来增强数据局部性,其中循环转换技术尤为重要。但如果内存层次结构中没有缓存,采用面向局部性的循环转换可能并不明智,因为这不会带来好处,反而会增加循环执行开销。然而,如果内存系统被划分为多个存储体,应用循环转换仍然有意义,因为可以通过循环转换将循环迭代聚类,使给定时间段内的内存访问集中在一小部分存储体中,从而让系统将更多存储体置于低功耗操作模式。
2.2 有缓存时的情况
缓存的存在会对分存储体内存架构的能耗产生重要影响。缓存可以过滤许多内存引用,增加存储体的访问间隔时间,带来两个主要结果:一是减少了片外内存的访问频率,降低了能耗;二是更多的存储体
循环优化对片外内存能耗的影响
超级会员免费看
订阅专栏 解锁全文
9万+

被折叠的 条评论
为什么被折叠?



