[发明专利]面向多任务嵌入式系统的片上便笺式存储器管理方法有效
申请号: | 201310572826.0 | 申请日: | 2013-11-15 |
公开(公告)号: | CN103559148A | 公开(公告)日: | 2014-02-05 |
发明(设计)人: | 鞠雷;贾智平;周梓梦 | 申请(专利权)人: | 山东大学 |
主分类号: | G06F12/08 | 分类号: | G06F12/08;G06F9/50 |
代理公司: | 济南圣达知识产权代理有限公司 37221 | 代理人: | 张勇 |
地址: | 250061 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 任务 嵌入式 系统 便笺 存储器 管理 方法 | ||
技术领域:
本发明属于嵌入式实时系统领域,尤其涉及一种面向多任务嵌入式系统的片上便笺式存储器管理方法。
背景技术:
在嵌入式系统的发展过程中,由于主存储器的发展速度一直比中央处理器速度慢很多,主存的低读取速度与高能量消耗导致其成为现在很多嵌入式系统性能与能耗的瓶颈,而片上存储器则弥补了这种日益增长的主存和中央处理器速度的差距。
在嵌入式系统中,片上存储器主要包括便笺式存储器(SPM,Scratch Pad Memory)和高速缓存(Cache)两种。便笺式存储器SPM和高速缓存Cache本质上都是一种静态随机存储器(SRAM,Static Random Access Memory),存取速度很快,接近于CPU速度。高速缓存Cache由系统硬件控制,对于系统软件和程序员透明,基于程序执行时的时间与空间局部性来提高系统性能。相比传统的Cache,便笺式存储器SPM是由软件控制,在实时系统设计中能提供更好的时间预测性,并且由于便笺式存储器SPM由软件控制不需要地址比较电路,所以体积较高速缓存Cache小、功耗较高速缓存Cache低、访问速度较高速缓存Cache快。现在许多嵌入式系统如ARM公司的ARM11、Cortex-R系列等处理器芯片上都同时集成了这两种片上存储器。
在最近十几年有许多关于便笺式存储器SPM相关架构设计与管理的研究,它们或者优化性能、或者优化能耗、或者优化最坏执行时间(WCET,Worst-case Execution Time)。这些研究一般通过编译期代码选取和重新布局,静态或者动态的改变便笺式存储器SPM中的内容达到优化目的。但是现在的研究主要集中在仅有便笺式存储器SPM的系统,对使用便笺式存储器SPM+高速缓存Cache(如图1)存储体系的多任务系统的研究相对较少。现在仅有的针对便笺式存储器SPM+高速缓存Cache存储体系的多任务系统的优化算法中,算法以函数为基本分配单位,只考虑单个函数放入SPM所得到的能耗减少,对于多任务系统中任务间冲突以及任务内函数间的冲突没有考虑,而这些任务间以及任务内的冲突对系统的性能和能耗有很大的影响。
通过对多个程序执行过程的跟踪研究,发现在许多程序中,访问频率高或者高速缓存Cache未命中频率高的函数不一定是造成任务间和任务内冲突最多的函数(如图2,其中访问频率最高的是A0和B1,未命中频率最高的是A0,但造成任务间和任务内冲突最多的是B0),现有技术往往没有把访问频率、Cache未命中频率以及任务间和任务内冲突都考虑进去,更没有充分利用SPM。
中国专利(申请号:201310042340.6,专利名称:面向嵌入式片上异构存储器的细粒度数据分配方法),这篇专利虽然利用线性规划方法来解决便签式存储器SPM中的数据分配问题,但是1)它是讨论便签式存储器SPM中数据分配的问题,而数据分配与代码分配有极大的差别,因为多任务系统中代码之间的相关性,不能以内存块为单位来进行分配,2)它是利用线性规划方法来解决SPM分配问题,但是由于变量以及约束条件非常多,使用线性规划方法其计算时间复杂度是指数级的会消耗非常多的时间,根本无法满足实时系统的要求。
发明内容:
本发明要解决的问题就是:(1)明确多任务系统中任务间以及任务内的冲突情况;(2)综合考虑访问频率、高速缓存Cache未命中频率以及任务间和任务内冲突情况,充分利用有限的便笺式存储器SPM空间,本发明通过提供一种面向多任务嵌入式系统的片上便笺式存储器管理方法,充分利用便笺式存储器SPM的优势来优化程序的代码段,提高系统性能,加快执行速度,减少系统能耗;通过对程序中指令进行细粒度分析,然后根据优化目的的不同综合考虑多种因素进行便笺式存储器SPM分配,以便使便笺式存储器SPM的利用率达到最大,最终使执行时间最小或者使能耗最小。
为实现上述目的,本发明采用如下技术方案:
一种面向多任务嵌入式系统的片上便笺式存储器管理方法,它的步骤为:
步骤(1):对程序代码段进行预分析,获取各个任务的各个函数在内存中的首尾地址和函数大小,并对所有函数进行统一编号;
步骤(2):在无便签式存储器SPM架构下对程序代码进行跟踪,得到其内存指令访问序列,从而获取内存代码块的访问次数和高速缓存Cache未命中次数,在高速缓存Cache访问时统计和记录内存代码块的时空冲突集;
步骤(3):根据需要选择算法得到优化的便笺式存储器SPM分配方案:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东大学,未经山东大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310572826.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:具有抛物面镜准直器的光纤系统
- 下一篇:随机事件减少方法以及随机事件减少装置