一种Cache的分配方法和装置制造方法及图纸

技术编号:11608951 阅读:40 留言:0更新日期:2015-06-17 08:14
本发明专利技术适用于调整缓存领域,提供了一种Cache的分配方法和装置,该方法包括:获取所述Cache缺失率寄存器所记录的进程号的Cache缺失率;判断所述进程号的Cache缺失率是否高于预设的Cache缺失率阈值;如果所述进程号的Cache缺失率高于预设的Cache缺失率阈值,调整Cache组标记寄存器、进程号寄存器增加所述进程号对应存储组。本发明专利技术通过每个进程的缺失率分配Cache空间的大小,可以有效减少同一个进程的数据因存放在无序的不同的组内而被经常替换的情况;通过在硬件内部设置寄存器组区,根据硬件内部寄存器组区数据来调整每个进程的Cache的大小,调整更加及时,效率更高。

【技术实现步骤摘要】

本专利技术属于高速缓存领域,尤其涉及一种Cache的分配方法和装置
技术介绍
随着现代化电子设备对处理器性能的要求越来越高,使得优化处理器的内部结构变得越来越重要。为了提高处理器的运行效率,减少处理器访问主存的时间,在处理器与主存之间引入了高速缓存存储器(Cache)。通过将处理器使用次数较多数据暂时存储放在Cache,由于Cache的读写速度比主存要高得多,接近于处理器的速度,从而对于提高处理器的效率有极其重要的效果。通过引入Cache,使得处理器可以更高效率的获取数据,能够提高处理器的运算效率。然而,由于Cache的容量远远小于主存的容量,而在Cache中只能存放主存的一部分数据,使得Cache与主存间需要建立一定的映射关系,在处理器访问主存前,会先在Cache中确定是否有数据命中,如果不命中则需要访问主存。因此,要尽可能减少Cache中的数据缺失,从而提高处理器获取数据的速度。目前使用较多的Cache与主存间的映射方式为路组关联映射策略,将Cache按照与主存相同行大小划分多个大小相同的存储组,一行主存中的数据只能存储到固定的几个Cache存储组中,但可存储在存储组内任意的Cache行中,由于处理器处理不同的程序的数据时,对主存的访问不是均匀的,容易造成Cache中的一部分数据经常被替换,而某些部分的数据却很少访问,不利于增加Cache的命中率和提高处理器的性能。
技术实现思路
本专利技术的目的在于提供一种Cache的分配方法,以解决现有技术由于处理器处理不同的程序的数据时,对主存的访问不均匀,容易造成Cache中的一部分数据经常被替换,而某些部分的数据很少访问的问题,从而增加Cache的命中率和提高处理器的性能。本专利技术的实现方法如下:一种Cache的分配方法,将Cache存储器包括若干个大小相同的存储组,所述存储组中包括数据及状态存储区、地址标签存储区和寄存器组区,所述寄存器组区包括处理器进程号寄存器、Cache缺失率寄存器和Cache组标记寄存器,所述方法包括:获取所述Cache缺失率寄存器所记录的进程号的Cache缺失率;判断所述进程号的Cache缺失率是否高于预设的Cache缺失率阈值;如果所述进程号的Cache缺失率高于预设的Cache缺失率阈值,调整Cache组标记寄存器、进程号寄存器增加所述进程号对应存储组。本专利技术的另一目的在于提供一种Cache的分配装置,其特征在于,Cache存储器包括若干个大小相同的存储组,所述存储组中包括数据及状态存储区、地址标签存储区和寄存器组区,所述寄存器组区包括处理器进程号寄存器、Cache缺失率寄存器和Cache组标记寄存器,所述装置包括:获取单元,用于获取所述Cache缺失率寄存器所记录的进程号的Cache缺失率;判断单元,用于判断所述进程号的Cache缺失率是否高于预设的Cache缺失率阈值;第一调整单元,用于如果所述进程号的Cache缺失率高于预设的Cache缺失率阈值,调整Cache组标记寄存器、进程号寄存器增加所述进程号对应存储组。在本专利技术中,Cache存储器包括若干个大小相同的存储组,在每个存储组中包括处理器进程号寄存器、Cache缺失率寄存器和Cache组标记寄存器,通过由Cache缺失率寄存器所记录的进程号的Cache缺失率,判断所述进程号的Cache缺失率是否高于预设的Cache缺失率阈值,如果所述进程号的Cache缺失率高于预设的Cache缺失率阈值,调整Cache组标记寄存器、进程号寄存器增加所述进程号对应存储组。本专利技术通过基于硬件内部进程号来识别不同的进程,根据每个进程的缺失率分配Cache空间的大小,可以有效减少同一个进程的数据因存放在无序的不同的组内而被经常替换的情况;其次,本专利技术通过在硬件内部设置寄存器组区,通过硬件内部寄存器组区数据来调整每个进程的Cache的大小,相对于软件根据应用程序来调整Cache的方法响应更加及时,调整效率更高。【附图说明】图1是本专利技术第一实施例提供Cache存储器的数据划分示意图;图2是本专利技术第一实施例提供的Cache的分配方法的实现流程图;图3是本专利技术第二实施例提供的Cache的分配方法的实现流程图;图4是本专利技术第三实施例提供的Cache的分配装置的结构示意图。【具体实施方式】为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术实施例中所述Cache缺失率,是指处理器读取指令或者数据时,数据未能在Cache中命中的概率。本专利技术实施例所述处理器在处理实际程序时,处理器内部按照硬件内部进程号转换进程号的有效地址为实际地址,其中,所述硬件内部进程号可用于读取指令与数据存储,与主存中实际运行的程序的地址存在对应关系。由于一个应用程序往往会占用一个或者几个硬件内部进程号,通过硬件内部进程号为整体来调整其占用Cache的资源,可以有效减少同一个进程的数据因放置在无序的不同的组内而被经常替换的情况。本专利技术所述Cache的分配方法,Cache存储器包括若干个大小相同的存储组,所述存储组中包括数据及状态存储区、地址标签存储区和寄存器组区,所述寄存器组区包括处理器进程号寄存器、Cache缺失率寄存器和Cache组标记寄存器,所述方法包括:获取所述Cache缺失率寄存器所记录的进程号的Cache缺失率;判断所述进程号的Cache缺失率是否高于预设的Cache缺失率阈值;如果所述进程号的Cache缺失率高于预设的Cache缺失率阈值,调整Cache组标记寄存器、进程号寄存器增加所述进程号对应存储组。Cache存储器包括若干个大小相同的存储组,在每个存储组中包括处理器进程号寄存器、Cache缺失率寄存器和Cache组标记寄存器,由Cache缺失率寄存器所记录的进程号的Cache缺失率,判断所述进程号的Cache缺失率是否高于预设的Cache缺失率阈值,如果所述进程号的Cache缺失率高于预设的Cache缺失率阈值,调整Cache组标记寄存器、进程号寄存器增加所述进程号对应存储组。本专利技术通过基于硬件内部进程号来识别不同的进程,根据每个进程的缺失率分配Cache空间的大小,可以有效减少同一个进程的数据因存放在无序的不同的组内而被经常替换的情况;其次,本专利技术通过在硬件内部设置寄存器组区,通过硬件内部寄存器组区数据来调整每个进程的Cache的大小,相对于软件根据应用程序来调整Cache的方法响应更加及时,调整效率更高。实施例一:在本专利技术实施例中,Cache存储器包括若干个大小相同的存储组,所述存储组中包括数据及状态存储区、地址标签存储区和寄存器组区,所述寄存器组区包括处理器进程号寄存器、Cache缺失率寄存器和Cache组标记寄存器。如图1所示,将Cache存储器分成数据及状态存储区、地址标签存储区和相应的三个寄存器组区,其中,数据及状态存储区用于存储数据与存储器状态,地址标签存储区用于地址的命中比较,三个寄存器定义如下:I)处理器进程号寄存器:用于存储当前Cache的存储组的处理器进程号,用于区分不同的进程的标记。2) Cache缺失率寄存器:实时记录当前存储组的Cache缺失率值,本文档来自技高网...

【技术保护点】
一种Cache的分配方法,其特征在于,其中的Cache存储器包括若干个大小相同的存储组,所述存储组中包括数据及状态存储区、地址标签存储区和寄存器组区,所述寄存器组区包括处理器进程号寄存器、Cache缺失率寄存器和Cache组标记寄存器,所述方法包括:获取所述Cache缺失率寄存器所记录的进程号的Cache缺失率;判断所述进程号的Cache缺失率是否高于预设的Cache缺失率阈值;如果所述进程号的Cache缺失率高于预设的Cache缺失率阈值,调整Cache组标记寄存器、进程号寄存器增加所述进程号对应存储组。

【技术特征摘要】

【专利技术属性】
技术研发人员:康海容邱均华钱少雄施懿
申请(专利权)人:深圳市国微电子有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1