一种嵌入式内存数据片上片外分配方法

文档序号:6401458阅读:582来源:国知局
专利名称:一种嵌入式内存数据片上片外分配方法
技术领域
本发明属于嵌入式内存技术领域。尤其涉及一种嵌入式内存数据片上片外分配方法。本发明能取得针对具体应用在具体内存配置上的性能最优,尤其适用于多媒体应用程序在便笺式存贮器/高速缓存混合内存结构上的性能优化。
背景技术
由于制造工艺和电路逻辑结构的差异,处理器执行部件的速度一直高于存储器读写速度,并且随着半导体工艺技术的发展,这一速度差距造成的性能差异在逐步加大。解决处理器与外存速度失配的一个重要技术就是存储系统采用分层设计,在片上集成一个小的、但速度更快的存储器来提高系统存储访问性能。片上内存结构作为嵌入式系统的重要部分,直接影响着系统的性能、功耗、成本等关键参数。片上内存结构有高速缓存Cache和便笺式存贮器SPM (Scratch-Pad Memory)两种类型。SPM相比Cache存储每位花费更少面积和功耗,因而嵌入式系统片上内存结构采取SPM/Cache的混合结构渐渐成为一种趋势。然而,SPM的容量很小和专用性,使得如何有效使用片上内存资源成为嵌入式系统设计的关键问题。现有的软件数据存储优化研究主要集中在如何增加Cache命令率,或者如何增加SPM访问次数,缺乏对采用Cache和SPM混合片上内存结构的数据内存访问优化研究。数据片上片外分配技术是一种嵌入式系统存储优化技术,利用该技术得到片上片外分配策略决定哪些数据通过SPM(称为片上)访问,哪些数据通过Cache (称为片外)访问。数据片上片外分配技术优化了数据在SPM和Cache之间的分配,可以取得对具体应用的性能最优,已经成为了嵌入式系统存储优化研究的热点。

发明内容
本发明的目的是针对现有技术的不足,提供一种嵌入式内存数据片上片外分配方法,能够实现具体应用程序在具体内存配置上的性能最优。为了解决上述技术问题,本发明采用的技术方案包括如下步骤:
步骤1.利用编译器和仿真器工具提取具体应用程序的信息;
步骤2.对这些信息建立TCG模型;
步骤3.提出数据分配方法将TCG值大的数据对象分配到SPM ;
步骤4.提出数据布局方法将TCG值大的数据对象映射到不同的Cache组以避免冲突。步骤I所述的具体应用程序的信息,包括数据对象的大小、生命周期、访问次数、时间局部性和空间局部性;所述的时间局部性是由时间关系图TRG (TemporalRelationship Graph)来表示;空间局部性是由最大连续访问次数来表示。步骤2所述的TCG模型,其内容包括步骤I提取的数据对象的大小、生命周期、访问次数、时间局部性和空间局部性因素,其模型公式如下:
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,直到剩余待分配数据对象全部分配完成。
本发明的有益效果如下:
本发明方法利用TCG模型对应用程序信息进行建模,综合考虑了 SPM的合理利用与片外内存数据对象的合理布局,优化了 SPM和Cache之间的数据分配,减少了程序消耗在数据存储访问时间和降低数据存储访问能耗,实现了具体应用程序在具体内存配置上的性能最优。


图1为本发明方法的流程 图2为本发明方法提出的TCG模型结构 图3为本发明方法中的SPM/Cache数据分配方法流程 图4为本发明方法中的固定Cache数据布局方法流程图。
具体实施例方式下面结合具体实施方式
和附图对本发明进行详细描述。如图1所示,本实施方式中首先利用编译器和仿真器工具提取具体应用程序的信息:①选择GCC-2.7.1-MIPS编译器的-03优化选项静态编译应用程序得到MIPS汇编代码;②选择MIPS仿真器对片上内存进行配置,包括容量大小、访问延迟和组织方式(替换策略、写策略、写缺失策略和关联方式)等,开启性能统计工具,进行程序的数据存储访问性能的仿真。其次对这些信息建立TCG模型;然后利用SPM/Cache数据分配方法将TCG值大的数据对象分配到SPM ;最后利用固定Cache数据布局方法将TCG值大的数据对象映射到不同的Cache组以避免冲突。所述的具体应用程序的信息,包括数据对象的大小、生命周期、访问次数、时间局部性和空间局部性;所述的时间局部性是由时间关系图TRG (Temporal RelationshipGraph)来表示;空间局部性是由最大连续访问次数来表示。
如图2所示,所述的TCG模型,其内容包括步骤I提取的数据对象的大小、生命周期、访问次数、时间局部性和空间局部性因素,其模型公式如下:
TCG=(访问次数*生命周期*TRG值)/ (最大连续访问次数*对象大小)。其中,时间关系图TRG(Temporal Relationship Graph)和 TRG 值可参看 N.Gloy,T.Blockwell, M.D.Zorn 论文题目 Procedure placement using temporal orderinginformation后参照文本。如图3所示,本实施方式中的SPM/Cache数据分配的目的是将最容易发生冲突的数据对象分配到SPM中,包括如下步骤:
Stepl、将全部数据对象按照TCG值降序排列,并初始化,然后分配到片外内存,作为待分配数据对象;
Step2、在所有待分配数据对象中,依降序顺序选择第一个满足容量小于或等于便笺式存贮器剩余容量的数据对象,将该数据对象分配到片上便笺式存贮器SPM ;
Step3、重复步骤Step2,直到所有待分配数据对象容量均大于便笺式存贮器剩余容量,则结束。如图4所示,本实施方式中的固定Cache数据布局具有两个目标:①减少Cache缺失的次数;②减少片外内存空间(即数据布局完后减少片外内存中的洞),包括如下步骤:
Step4、计算剩余的i个待分配数据对象中每个数据对象需要的高速缓存组数j,计算公式如下:
组数j=数据对象大小/高速缓存组大小;
Step5、将高速缓存当前组号setNO分配给数据对象,并将缓存当前组号setNO加一,同时数据对象所需组数j减一;
St印6、重复步骤4-5,直到数据对象所需组数j为零;
Step7、重复步骤4-4、4-5和4_6,直到剩余的i个待分配数据对象全部分配完成。
权利要求
1.一种嵌入式内存数据片上片外分配方法,其特征在于包括如下步骤: 步骤1.利用编译器和仿真器工具提取具体应用程序的信息; 步骤2.对这些信息建立TCG模型; 步骤3.提出数据分配方法将TCG值大的数据对象分配到SPM ; 步骤4.提出数据布局方法将TCG值大的数据对象映射到不同的Cache组以避免冲突;步骤I所述的具体应用程序的信息,包括数据对象的大小、生命周期、访问次数、时间局部性和空间局部性;所述的时间局部性是由时间关系图TRG来表示;空间局部性是由最大连续访问次数来表示; 步骤2所述 的TCG模型,其内容包括步骤I提取的数据对象的大小、生命周期、访问次数、时间局部性和空间局部性因素,其模型公式如下: 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,直到剩余待分配数据对象全部分配完成。
全文摘要
本发明涉及一种嵌入式内存数据片上片外分配方法。片上内存作为嵌入式系统的关键部分,直接影响着系统的整体性能。本发明首先提出了TCG模型作为衡量数据对象引起Cache缺失的新标准,综合考虑了绝大部分关键因素,比如数据对象大小、生命周期、访问次数、时间局部性和空间局部性等。其次提出SPM/Cache数据分配方法将最容易发生冲突(TCG值大)的数据对象分配到SPM。然后提出固定Cache数据布局方法将TCG值大的数据对象映射到不同的Cache组来避免冲突。本发明方法使得片上内存硬件和其上运行的软件更加匹配,减少程序访问存储系统的时间,从而提高系统整体性能。
文档编号G06F12/02GK103218304SQ20131011468
公开日2013年7月24日 申请日期2013年4月3日 优先权日2013年4月3日
发明者姚英彪, 陈越佳, 王璇, 曾宪彬 申请人:杭州电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1