利索能及
我要发布
收藏
专利号: 2018101299907
申请人: 重庆邮电大学
专利类型:发明专利
专利状态:已下证
更新日期:2025-10-10
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种实时嵌入式系统中基于非易失性混合式内存的软件优化方法,其特征在于,该方法具体包括以下步骤:S1:根据多个程序的特征结合profiling技术,统计每个程序中各个数据可能的读写操作次数和对应的概率,并且获得每个程序中每个数据的读写期望和最大读写次数;

S2:根据每个时间段内程序的预测运行数据,为各个数据分配合适的存放位置,建立整形线性规划模型和与之相对应的近似算法,编程时获得一个接近最优的结果,使非易失性混合式内存上的消耗和非易失性存储器(non-volatile memory,NVM)上的最大写操作次数尽量减小,并且确保程序在最差读写情况下也能按时完成;

S3:把编译好的程序,在实时嵌入式系统上执行,以获得非易失性混合内存上的软件优化。

2.根据权利要求1中所述的实时嵌入式系统中基于非易失性混合式内存的软件优化方法,其特征在于,所述步骤S1具体包括以下步骤:S11:根据profiling技术,获得各个程序的分支执行概率,统计所有程序的分支执行概率,获得每个程序中各个数据可能的读写操作次数和对应的概率;

S12:根据每个程序中各个数据可能的读写操作次数和对应的概率,进行整合,获得各个数据在每个程序下对应的读写期望和最大读写次数。

3.根据权利要求1中所述的实时嵌入式系统中基于非易失性混合式内存的软件优化方法,其特征在于,所述步骤S2中的整形线性规划模型,是根据动态随机存取存储器(dynamic random access memory,DRAM)访问速度慢的特性和NVM访问速度快,泄露功率低,动态能耗高,写延迟较长,写次数有限的特性以及嵌入式系统的实时特性构建的模型,以期望在满足实时程序执行时间需求的情况下,将写次数多的数据存放于DRAM,将写次数少的数据存放于NVM已写次数少的单元,在满足NVM磨损均衡的同时获得最小的数据访问能耗。

4.根据权利要求1中所述的实时嵌入式系统中基于非易失性混合式内存的软件优化方法,其特征在于,所述步骤S2具体包括以下步骤:S21:根据多程序的运行情况,包括程序执行序列和每个程序的执行起始时间,根据步骤S1的结果在规定的时间点τ预测并获得时间段[τ,τ+1]内运行的程序的每个数据读写期望的总和以及最大的读写次数,针对这个时间段的数据进行数据分配以确保每个程序能够按时完成;

S22:规定几个约束条件,建立一个基于概率模型的整形线性规划模型,确保数据分配的实用性:约束条件1:每个变量必须存放在一个存储器;其中Xi,j,k=1等价于在程序j中的数据i地址为k,p表示为NVM分配p个存储地址,范围为1≤k≤p,为DRAM分配1个存储地址,地址为p+1,size(i)表示数据i的大小;

约束条件2:分配在NVM的数据总数不能超过它的存储容量;其中v表示NVM的存储容量;

约束条件3:变量分配在NVM的地址必须是连续的;其中l表示数据i的存储地址;

约束条件4:分配在NVM的写小于θ,确保磨损均衡;其中θ表示NVM各单元的写阈值,WTE(i)表示数据i的期望写次数;

约束条件5:约束时间段[τ,τ+1]的程序准时完成;其中BRD(i,j),BWT(i,j)分别表示数据在程序的最大读写次数,latencyr(k),latencyw(k)分别表示数据在不同存储器的读写延迟,tr表示每个实时程序对应的时间约束;

约束条件5的限制条件一:程序j中最大读写次数在NVM的读写延迟

(1)

约束条件5的限制条件二:程序j中最大读写次数在DRAM的读写延迟

(2)

约束条件5的约束函数:(Eq.(1)+Eq.(2))≤tr;

目标函数:在满足各个约束条件下的最小数据分配消耗;其中costr(k),costw(k)分别表示在不同存储器下的读写消耗;

目标函数的目标条件一:所有程序在NVM的期望读写消耗

(3)

目标函数的目标条件二:所有程序在SRAM和DRAM的期望读写消耗

(4)

目标函数:min(Eq.(3)+Eq.(4))。

5.根据权利要求1中所述的实时嵌入式系统中基于非易失性混合式内存的软件优化方法,其特征在于,所述步骤S3具体包括以下步骤:S31:建立一个数组T(Di,Mk),表示数据Di分配在存储器Mk,设定当1≤k≤p时,Mk表示NVM,Mp+1表示DRAM,根据不同的k值确定数据存放在NVM的哪个单元,在每个预测时间点获取数据存放初始数组;

S32:在获得初始数组后,找出变量存放位置大于2,即多余存放的情况,保留第一个存储器存放,移出其余存储器;依次获得[τ,τ+1]时间段内运行的程序,[τ,τ+1]时间段内运行所有程序所需调用的每个数据的总写次数;根据总写次数进行数据分配,分成三种情况:数据i在DRAM中;数据i在NVM中;数据i未存放在任何存储器;然后根据每种情况对应的NVM写阈值和容量进行分配,优先将数据分配至NVM。