×

基于执行频率的循环展开优化方法_余小喜

消耗积分:1 | 格式:pdf | 大小:334KB | 2017-03-08

#Freedom

分享资料个

基于执行频率的循环展开优化方法_余小喜

  目前,基于电池供电的嵌入式设备的应用越来越广泛,同时, 芯片的运行频率和集成度越来越高,对能量的需求也越来越大, 但电池技术的发展则相对滞后。因此,低功耗成为嵌入式系统设计的一个最主要目标。循环展开是编译级低功耗优化所普遍采用的方法,这种优化方法最主要的优势是减少了跳转指令和条件测试指令的开销,增加了指令间的并行性,更重要的展开后的代码为编译器创造了更多的潜在优化机会。循环展开是一个代码膨胀的优化, 展开因子的选取非常重要,如果选取太大,将会造成代码量的迅速膨胀,更重要的是造成 I-Cache 的大量溢出从而导致系统总体性能的降低和功耗的增加;如果选取太小,将不能充分发挥循环展开的优化潜能。可惜的是,目前还没有一个有效的选取合适的展开因子算法。同时,传统的编译器为了减少代码量的增加,在选择展开因子上通常比较保守,此外,编译器对所有的循环都进行了展开,这对于有限的嵌入式设备存储空间而言是不够合理的,首先,展开那些很少被执行的循环将会造成代码量的迅速膨胀, 虽然现在的存储器都比较便宜, 存储空间的不足可以通过增加存储容量的办法来解决,但是更大的存储空间将意味着要消耗更多的能量;其次,对于一些执行频率很高的循环而言,编译器的展开尺度又显得太小,这样又丧失了很多的潜在的优化机会。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !