发明名称 一种嵌入式内存数据片上片外分配方法
摘要 本发明涉及一种嵌入式内存数据片上片外分配方法。片上内存作为嵌入式系统的关键部分,直接影响着系统的整体性能。本发明首先提出了TCG模型作为衡量数据对象引起Cache缺失的新标准,综合考虑了绝大部分关键因素,比如数据对象大小、生命周期、访问次数、时间局部性和空间局部性等。其次提出SPM/Cache数据分配方法将最容易发生冲突(TCG值大)的数据对象分配到SPM。然后提出固定Cache数据布局方法将TCG值大的数据对象映射到不同的Cache组来避免冲突。本发明方法使得片上内存硬件和其上运行的软件更加匹配,减少程序访问存储系统的时间,从而提高系统整体性能。
申请公布号 CN103218304A 申请公布日期 2013.07.24
申请号 CN201310114684.3 申请日期 2013.04.03
申请人 杭州电子科技大学 发明人 姚英彪;陈越佳;王璇;曾宪彬
分类号 G06F12/02(2006.01)I 主分类号 G06F12/02(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 杜军
主权项 一种嵌入式内存数据片上片外分配方法,其特征在于包括如下步骤:步骤1.利用编译器和仿真器工具提取具体应用程序的信息;步骤2.对这些信息建立TCG模型;步骤3.提出数据分配方法将TCG值大的数据对象分配到SPM;步骤4.提出数据布局方法将TCG值大的数据对象映射到不同的Cache组以避免冲突;步骤1所述的具体应用程序的信息,包括数据对象的大小、生命周期、访问次数、时间局部性和空间局部性;所述的时间局部性是由时间关系图TRG来表示;空间局部性是由最大连续访问次数来表示;步骤2所述的TCG模型,其内容包括步骤1提取的数据对象的大小、生命周期、访问次数、时间局部性和空间局部性因素,其模型公式如下:TCG=(访问次数*生命周期*TRG值)/(最大连续访问次数*对象大小);步骤3所述的数据分配方法,具体包括如下步骤:3‑1.将全部数据对象按照TCG值降序排列,并初始化,然后分配到片外内存,作为待分配数据对象;3‑2.在所有待分配数据对象中,依降序顺序选择第一个满足容量小于或等于便笺式存贮器剩余容量的数据对象,将该数据对象分配到片上便笺式存贮器;3‑3.重复步骤3‑2,直到所有待分配数据对象容量均大于便笺式存贮器剩余容量,则结束;步骤4所述的数据布局方法包含如下步骤:4‑1.计算剩余待分配数据对象中数据对象需要的高速缓存组数,计算公式如下:组数=数据对象大小/高速缓存组大小;4‑2.将高速缓存当前组号分配给数据对象,并将缓存当前组号加一,同时数据对象所需组数减一;4‑3.重复步骤4‑2,直到数据对象所需组数为零;4‑4.重复步骤4‑1、4‑2和4‑3,直到剩余待分配数据对象全部分配完成。
地址 310018 浙江省杭州市下沙高教园区2号大街