- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于嵌套循环指令分析的片上存储器分配策略.pdf
第 11 卷 第 1 期 电路与系统学报 Vol.11 No.1
2006 年 2 月 JOURNAL OF CIRCUITS AND SYSTEMS February 2006
文章编号 1007-0249 (2006) 01-0065-06
*
基于嵌套循环指令分析的片上存储器分配策略
东南大学 国家专用集成电路系统工程技术研究中心 江苏 南京 210096
摘要 本文提出了一种无 Cache 情况下基于嵌套循环指令分析的片上存储器 On-chip memory 分配策略 该策
略分析程序中循环指令 控制划分粒度将所有函数切割成块 然后使用背包算法和优先级算法组合的分配算法 选择
合适块放入片上存储器 达到优化程序性能的目的 实验结果表明 该策略能够显著提高程序性能 平均提高一倍
甚至更高 同时它能够预知优化后程序执行时间的变化 最高误差为 2%
关键词 循环指令 片上存储器 分配策略
中图分类号 TP302 文献标识码 A
1 导言
因为片上存储器的访问速度比片外存储器 Off-chip memory 快得多 所以通过更改应用程序的
内存布局 把部分程序放入片上存储器 减少处理器在程序执行过程中访问片外存储器的次数 可以
明显改善程序性能 当片上存储器容量固定时 如何选择哪些程序内容放入片上存储器 以最大程度
提高程序性能 便成了系统设计过程中一个不可忽视的问题
实际上 该问题的核心就是寻找合适的片上存储器分配策略 目前 分配策略的相关研究分为两
大方向 一种是在片上存储器和 Cache 共存的情况下 研究如何利用片上存储器减少处理器在访问数
据时遇到的 Cache 冲突次数[1~5] 另一种则是在无 Cache 情况下 研究如何利用程序内存布局来提高
性能 后者的研究内容与本文一致 它根据访问次数统计结果 分离出程序中使用最频繁的元素 包
括全局数据变量 堆栈 函数和库函数 再按照一定分配算法选择元素放入片上存储器 最大程度上
提高程序性能 !! [6] OREN[7]和 Stefan[8]分别提出了三种分配策略 但它们各自存在一些不足
Sjodin
!! 和 Stefan 通过源代码分析或编译器获取 函数调用图 据此估算所有元素的访问次数 对复杂
Sjodin
应用和处理不同输入的程序而言 这种静态分析方法不能准确反映元素在执行过程中被访问的真实情
况 !! 和 OREN 都未考虑将指令放入片上存储器的情况 虽然 Stefan 将指令考虑在内 但他
Sjodin
的函数划分方法过于复杂且容易导致过大和过小指令块 过大指令块会降低存储器利用率 过小指令
块则会引入大量额外的跳转指令 而且 由于是在链接之前进行函数划分 Stefan 无法分析在链接 时
才 出现 的库函数 !! 采用优先级分配算法 程序性能优化最差 OREN 需借助 Matlab 中整数
Sjodin
线性规划工具完成元素挑选
文档评论(0)