[发明专利]一种优化实时任务WCET的指令预取内容选取方法有效
申请号: | 201310118037.X | 申请日: | 2013-04-07 |
公开(公告)号: | CN103207772A | 公开(公告)日: | 2013-07-17 |
发明(设计)人: | 万寒;倪璠;龙翔;高小鹏;姜博 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 北京永创新实专利事务所 11121 | 代理人: | 周长琪 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 优化 实时 任务 wcet 指令 内容 选取 方法 | ||
技术领域
本发明涉及一种指令预取内容的选取方法,尤其是一种面向实时系统中实时应用的、优化最坏执行时间(WCET:Worst-Case Execution Time)分析精度的指令预取内容的选取方法,属于计算机系统结构与实时嵌入式系统领域。
背景技术
与通用计算机系统主要关注平均执行情况下的性能不同,实时系统更为关注最坏执行情况下的系统性能及任务执行时间。错过任务的执行期限,通常会导致实时系统,特别是硬实时系统故障,引起不良后果甚至灾难性事故,比如:撞车事故、核泄漏等。准确地预测系统在最坏执行情况下的执行时间对于实时系统的分析及设计意义重大。实时系统中实时应用的最坏执行时间(WCET)分析对于实时系统的可调度分析至关重要。WCET分析的精度及难易程度很大程度上依赖于底层处理器模型的复杂性。由于高速缓存访问时间的不确定性,运行于现代处理器结构之上的实时应用的WCET分析极为困难。虽然高速缓存会带来执行时间的不确定性,但是在实时系统,特别是高性能实时系统中使用高速缓存,特别是指令高速缓存已经成为一种趋势。因此,分析指令高速缓存对于实时应用WCET分析的影响对于精确的WCET评估必不可少。指令高速缓存访问时间的不确定性源于高速缓存访问的命中与缺失导致的访问时间差异。因此,准确预测指令访问的命中与缺失情况对于精确的WCET分析至关重要。在常见的WCET分析技术中,程序基本块通常作为一个基本的时间分析单位用于实时应用WCET的评估。一个程序基本块是具有单一程序执行入口和出口的一段程序指令序列,以下简称基本块。基本块的最后一条指令通常是跳转指令。由基本块的定义可知基本块具有如下性质:
1.基本块作为一个整体执行,即:一旦进入基本块,基本块内的所有指令都将被执行;
2.基本块内的指令按照指令在程序代码中的静态顺序执行。
由上述性质可知,基本块内的指令具有相同的执行次数,如果能够同时保证基本块内的指令具有相同的命中与缺失情况(“冷启动”除外),WCET分析中原本的指令级别的命中与缺失判断即可简化为应用内部基本块的命中与缺失情况的判断,从而大大简化程序WCET分析。
指令预取作为一项常见的用于改进指令高速缓存访问性能的技术,通常服务于通用计算机系统,用以改善平均执行情况下的Cache访问命中率。当前,绝大部分的指令预取技术的提出遵从“加速常见情况”的原则,没有考虑实时系统中的实时应用的特殊需求,特别是WCET分析的需求。
现有的WCET分析方法大多从应用角度入手,针对应用的特性,特别是存储访问特性设计专门的分析方法。此类方法虽然针对某一类应用可能有效,但是不具有普适性,一旦应用类型改变,方法的有效性将无法保障。因此,从系统结构本身出发,在系统结构设计之初即考虑实时应用WCET分析需求可能是改善实时应用WCET分析精度的突破口。设计服务于WCET分析的指令预取技术对于改善指令高速缓存访问的确定性,提升WCET精度具有重要的研究价值。同时,由于处理器片上硬件资源极为宝贵,因此,必须精心设计预取机制,以便对应的硬件实现代价小。
发明内容
本发明提出了一种优化实时任务WCET的指令预取内容选取方法,该方法服务于一种面向实时任务的基于程序基本块的指令预取(BBIP:Basic-Block based Instruction Prefetching)方法。
本发明提出的一种优化实时任务WCET的指令预取内容选取方法,在现有指令高速缓存硬件中添加指令信息表(BBIT:Basic-Block Information Table)的硬件结构,指令信息表用于存储从静态程序基本块集合中选取的指定数量的基本块信息。BBIT中保存的程序基本块信息,主要是基本块的起始块地址以及块长度。指令预取单元根据查找BBIT返回的信息对基本块覆盖的存储块执行预取。
本发明提出的优化实时任务WCET的指令预取内容选取方法,具体步骤如下:
步骤一:硬件配置初始化,具体是,对影响WCET分析的微结构的参数进行设置,影响WCET分析的微结构包括高速缓存、流水线及分支预测器等;
步骤二:通过编译器或者静态程序特征分析工具收集静态程序基本块集合;
步骤三:从静态程序基本块集合中剔除只覆盖一个存储块的基本块;
步骤四:使用WCET分析工具对任务执行WCET静态分析,收集最坏执行情况下的程序基本块的执行频度,并将每个程序基本块表示为一个三元组:(起始块地址,块长度,执行频度);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310118037.X/2.html,转载请声明来源钻瓜专利网。