[发明专利]一种优化实时任务WCET的指令预取内容选取方法有效
申请号: | 201310118037.X | 申请日: | 2013-04-07 |
公开(公告)号: | CN103207772A | 公开(公告)日: | 2013-07-17 |
发明(设计)人: | 万寒;倪璠;龙翔;高小鹏;姜博 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 北京永创新实专利事务所 11121 | 代理人: | 周长琪 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 优化 实时 任务 wcet 指令 内容 选取 方法 | ||
1.一种优化实时任务WCET(最坏执行时间)的指令预取内容选取方法,在现有指令高速缓存硬件中添加指令信息表(BBIT)的硬件结构,BBIT用于存储从静态程序基本块集合中采用所述的指令预取内容选取方法选取指定数量的基本块信息,其特征在于,所述的基本块信息包括基本块的起始块地址以及块长度;所述的指令预取内容选取方法包括如下步骤:
步骤一:硬件配置初始化,对影响WCET分析的微结构的参数进行设置,影响WCET分析的微结构包括高速缓存、流水线及分支预测器;
步骤二:通过编译器或者静态程序特征分析工具收集静态程序基本块集合;
步骤三:从静态程序基本块集合中剔除只覆盖一个存储块的基本块;
步骤四:使用WCET分析工具对任务执行WCET静态分析,收集最坏执行情况下的程序基本块的执行频度,并将每个程序基本块表示为一个三元组:(起始块地址,块长度,执行频度);
步骤五:按照基本块的执行频度从高到低的顺序,对静态程序基本块集合中的基本块进行排序;对于执行频度相同的基本块,依照块长度从大到小的顺序排列;执行频度和块长度均一致的基本块的排列顺序随机;
步骤六:假设BBIT中包含n个表项目数,将有序基本块集合中的前n个基本块的信息存储到BBIT中。
2.基于权利要求1所述的指令预取内容选取方法进行指令高速缓存访问的方法,其特征在于,包括如下步骤:
步骤1:程序运行初始化;具体是,设置程序运行时环境,包括寄存器初始化或恢复,程序计数器PC初始化或恢复;
步骤2:采用优化实时任务WCET的指令预取内容选取方法,从静态程序基本块集合中选取指定数量的基本块信息填入BBIT中;
步骤3:CPU执行单元依照程序计数器PC值,计算下一条指令的有效地址,该地址作为目标地址;
步骤4:将目标地址按照由高位到低位的顺序划分为三个字段:tag(标签)、set(组号)及offset(组内偏移);
步骤5:根据目标地址的set及tag字段的信息,从指令高速缓存中查找目标地址对应的高速缓存块,同时也查找BBIT;若目标地址在指令高速缓存中未命中,设置预取标记PF;若在BBIT中匹配到相应的地址,BBIT输出相应的起始块地址和块长度,否则BBIT输出非法的起始块地址和块长度“0,0”;
步骤6:预取单元检查预取标记PF及BBIT的输出,如果PF被设置且BBIT输出的起始块地址以及块长度合法,根据起始块地址以及块长度执行指令预取,在预取完成后,PF复位;否则,不执行指令预取操作。
3.根据权利要求2所述的进行指令高速缓存访问的方法,其特征在于,所述的步骤5,包括两个并行的子步骤5.1和5.2:
步骤5.1:依据set字段定位目标地址所映射的高速缓存组,将该高速缓存组中各高速缓存块的tag字段与目标地址的tag字段进行比较,如果找到匹配的结果,则本次高速缓存访问命中,根据目标地址的offset字段从匹配的高速缓存块中取出相应的指令字返回给指令执行单元;若未找到匹配的结果,本次高速缓存访问缺失,从下一层指令存储中调入相应的指令存储块,替换掉所映射的高速缓存组中最旧的高速缓存块,并根据目标地址的offset字段取出相应的指令字返回给指令执行单元,同时将预取标记PF置位;
步骤5.2:将目标地址的tag和set字段组成块地址,将块地址作为关键字在BBIT中进行检索,如果找到相应表项,输出基本块的起始地址及块长度;否则,输出非法的起始块地址和块长度“0,0”。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310118037.X/1.html,转载请声明来源钻瓜专利网。