基于虚存机制的指令片上异构存储资源动态分配的方法

文档序号:6586633阅读:204来源:国知局
专利名称:基于虚存机制的指令片上异构存储资源动态分配的方法
技术领域
本发明涉及嵌入式片上存储器领域,特别涉及一种基于虚存机制的指令片上异构 存储资源(包括指令Cache和指令SPM)动态分配的方法。
背景技术
随着微电子技术的发展,以SoC(System-on-a-Chip)为基础的嵌入式计算平台日 益成熟。然而,由于处理器速度与外部存储器速度的差距不断增大,SoC存储子系统已经成 为系统性能、功耗和成本的瓶颈。因此如何优化存储子系统的架构及管理策略,一直是嵌入 式研究的热点。 作为传统片上存储器,Cache由硬件管理,大部分情况下对软件透明,能自动装载 频繁访问的指令和数据到片上存储器中。然而,Cache的高功耗、占用面积大、程序执行时 间不可预知等不足一直限制其在嵌入式系统中的广泛运用。尤其是Cache的组关联特性, 可能导致被映射到同一 Cache行的不同程序内容,由于访存规律,反复相互替换,从而增大 了系统性能与能耗的开销,即出现Cache抖动。与Cache相比,SPM (Scratch-Pad Memory, 便签存储器)是一种高速片上存储器,通常由SRAM实现,是现代嵌入式系统中一个非常重 要的系统框架设计考虑因素。SPM处于处理器可直接访问的地址空间之内,由于传统的SPM 控制器不包含任何辅助管理数据的逻辑电路,SPM中的所有内容必须经由软件显式的管理, 相对于对程序员透明的Cache,增加了程序管理的复杂性。由于没有管理逻辑电路带来的额 外代价,相较于传统Cache, SPM硬件实现更为简单、单次访问功耗更低、占用芯片面积更小 而且访问时间可预知。综上,Cache和SPM各具优势且存在互补性,因此对Cache和SPM共 存的异构存储器存储资源进行研究,可以充分利用两者优势,从而最大限度降低系统能耗、 提升系统性能。 —些针对嵌入式片上存储器的研究的主要分析单纯配置Cache或单纯配置SPM的 架构,不能很好的利用两者互补的特性。直接将仅针对SPM的优化算法或仅针对Cache的 优化算法运用到两者共存的架构中,不能达到整体性能最优化,在一种存储体上取得的优 化收益可能被另一种存储器的开销所抵消,甚至引入更多系统性能与能耗的额外开销。例 如针对SPM的优化算法将某段主存的内容搬运到SPM,从而得到了性能与能耗的收益。然 而搬运代码本身可能对指令Cache造成污染、引起Cache优化算法的失效,从而造成额外的 Cache缺失,抵消SPM的优化收益。 Cache缺失时需要实际访外存操作并将新的内容换入Cache行,开销较大,这被称 为Cache缺失的惩罚。由于Cache的组关联特性,被映射到同一 Cache行内容可能反复相互 替换,带来大量的访存操作,从而导致系统性能急剧降低,系统能耗急剧增加,这就是Cache 的冲突。通过增大Cache容量、增大组关联数等方法,可以减小Cache冲突,但是这样又会 引入新的芯片面积并提升单次Cache读写时间及能耗。目前有研究指出Cache冲突是造成 系统性能和能耗瓶颈的重要原因,因此他们将容易引起Cache冲突的程序段放入SPM,以此 得到性能和能耗的收益。将容易引起Cache冲突的页选入SPM中,不仅可以通过降低Cache冲突而降低系统能耗,提升系统性能,还能由单次访问SPM与Cache的能耗差获得更多收 益。但是这些研究都是基于静态的设计,即在程序执行中SPM中的内容不发生改变,没有充 分的利用Cache冲突在在时间维上的局部性,降低了 SPM的利用率。并且,这些设计对SPM 的管理依赖于对源程序跳转指令的修改,是一种侵入式的分析。 由于对SPM内容的更改需要软件显示的进行,因此一般对SPM进行动态管理的研 究都是通过"打桩"的形式,即在需要优化的程序核心循环前后,手工插入代码搬运指令,从 而完成对程序内容的换入换出。在程序映像中插入新的指令,需要依赖对源码的分析,并且 新的指令很可能引起共存架构中Cache行为的变化,例如产生更多的冲突。
目前针对Cache和SPM共存架构中指令部分的研究, 一般需要对程序进行侵入式 的分析,需要在用户程序中插入、修改部分代码,以实现在程序执行过程中内容的动态换入 换出。到目前为止,还未有相关研究涉及基于虚存管理、利用时隙方法、不需要修改程序源 码地将程序的指令内容动态映射到片上SPM的方法。

发明内容
本发明的目的在于克服现有片上存储子系统的不足,提供基于虚存机制的指令片 上异构存储资源动态分配的方法,采用容量较小的指令SPM存储器在程序执行过程中缓冲 频繁访问以及容易引起指令Cache冲突的程序,对程序的指令部分进行优化,从而提高微 处理器运行的速度并降低系统能耗。 为实现上述目的,本发明采取的技术方案是一种基于虚存机制对指令片上异构 存储资源动态分配的方法,其特征在于通过对应用程序执行过程中处理器内核对指令 Cache访问的跟踪,得到指令Cache命中和缺失的时间和空间分布,由该空间分布得到指令 Cache的时隙访问图,包括命中权重,缺失关系及权重,并对其进行数学抽象,根据能耗目标 函数、性能目标函数分别利用整数非线性规划的方法选出系统总能耗最优时每个指令页的 状态,得到每个时隙中最有优化价值指令页的页号,利用迭代求解方法,对时隙大小进行调 整,在程序执行中通过时钟中断,使用指令SPM控制器实现页表项入口的修改以及直接内 存访问控制器DMA的配置,将指令访问热点及容易引起指令Cache冲突的地址空间动态重 映射到片上指令SPM存储器中,消除指令Cache冲突带来的额外访存。
所述得到指令Cache的时隙访问图,并对其进行数学抽象后,利用程序执行时表 现出来的时间局部性,将每个时隙内最频繁访问以及容易引起指令Cache冲突的指令页按 照收益大小排列,指令SPM存储器的大小除以匪U页大小是优化的指令页个数,根据这个数 选择最有优化价值的指令页,将其重映射到指令SPM存储器中。 所说虚存机制是在TLB中增加S位,用于标志该页内容在指令SPM存储器中,减少 额外Cache比较的能耗开销,同时,修改TLB使之支持对512Byte/虚存页以及256Byte/虚 存页,从而将指令访问热点及容易引起指令Cache冲突的地址空间抽离出来,而避免对大 量优化价值不大的地址空间做重映射。 所说指令SPM控制器在程序执行过程中动态高效的将程序指令部分换入换出指 令SPM存储器,利用片上AHB高速总线的Burst特性,避免对指令Cache以及数据Cache的 二次污染。指令SPM控制器中增加了一组专用于记录写回地址以及虚存页大小的指令SPM 区域寄存器,其作用是1)该组寄存器将负责在某虚存页重映射在指令SPM存储器时记录其对应的主存地址,此地址将在该虚存页被换出便签存储器时作为DMA的目的地址;2)该
组寄存器中负责记录虚存页大小的位将用于配置DMA搬运长度;3)该组寄存器中的使能位
负责控制该页内容是否可用。 本发明方法具体可按以下步骤实现 (1)建立虚存管理的机制 虚存管理机制可以通过修改页表项,形成物理分离、逻辑连续的地址空间,这样就 可以实现将部分程序页的地址映射到SPM中。相对于传统的动态SPM优化技术,利用虚存 完成地址空间映射关系的更改,可以实现对程序源代码和编译后生成的二进制映像的完全 非侵入式优化。为了适应对Cache和SPM动态管理的方法,本发明需要对原有的存储硬件 进行改进。 一是在TLB中增加S位以实现必需的访问控制。使用S位可以使MMU在进行 地址翻译的同时确定出实际应该访问的物理地址,并将该地址发给需要访问的片上指令存 储器,即指令Cache和指令SPM控制器二者之一。二是通过修改TLB的译码逻辑,增加对 512Byte/虚拟页、256Byte/虚拟页支持。传统的TLB仅支持最小IK Byte/虚拟页的管理, 而Cache是按行组织的,每行仅32-64Bytes,在程序执行的一段时间内出现指令Cache的访 问热点以及容易引起Cache冲突的地址空间大多小于传统TLB支持的最小虚存页大小,无 法充分利用SPM容量。本发明将利用传统页表项入口中的保留位,并修改TLB的Tag存储 器和比较电路,实现对256Byte/虚拟页和512Byte/虚拟页的支持。
(2)时隙访问图的建立 本发明通过分析指令Cache访存特性,包括命中特性和缺失特性,对共存架构的 存储器进行优化。本发明提出"时隙访问图"概念,从时间和空间上对Cache命中和缺失进 行分析。时隙访问图根据对指令Cache的trace信息(包括命中信息和缺失信息),对其进 行数学抽象。由于本发明采用虚存管理机制对程序指令部分进行管理,程序指令部分的划 分粒度即为匪U的页大小,时隙访问图将按页进行抽象,访问图包括指令页本身的权重, 即指令Cache命中次数;页冲突图, 一种定量描述被映射到同一指令Cache行中的不同程序 内容之间替换关系的矢量图,包括不同的指令页相互引起指令Cache缺失的方向以及替代 次数。建立时隙访问图之后,需要对其进行数学建模以描述各页之间的权重分布,最终由整 数非线性规划求得不同时隙中整体能耗收益最优时每个页的状态。这样就得到在每个时隙 中最有优化价值的指令页,这些页在程序执行的过程中会被动态的换入到SPM中。
(3)时隙长度的迭代求解 本研究利用时隙对程序进行动态管理。时钟中断可以实现对程序的时隙划分, 仅需要在每个时隙开始的时候,重新加载时钟模块计数器,当计数器自减到0时产生时钟 中断,处理器内核将接受到中断处理模块发出的中断请求,系统进入IRQ模式,完成对指令 SPM存储器内容的换入换出,最终实现对指令SPM的动态管理。 通过时钟中断对程序执行时间标记,需知道某个时隙具体的长度。在建立时隙冲 突图时,是等长的划分整个时隙的。但是在对程序进行优化时,由于降低指令Cache冲突使 得性能提升,即程序执行时间变短,使得时隙的长度有了变化。因此,我们需要采用迭代求 解的方法,对优化后的时隙长度进行调整。调整后的时隙长度,及(1)中所确定的每个时隙 中需要放入SPM中的页号,在每次时钟中断的时候,加载到时钟模块的时隙寄存器中。
(4)利用指令SPM控制器完成动态管理
5
在程序执行阶段,时钟模块在时隙结束时会发出中断信号,由中断控制器接管,在 中断处理程序中,可以使用指令SPM控制器,可以完成对页表项的修改及指令SPM存储器中 内容的换入换出,以适应下一个时隙的程序访存模态。 在时钟中断中,SPM内容换入换出操作是通过指令SPM控制器来完成的。进入中断 后,指令SPM控制器需要完成第一,利用时钟模块的时隙寄存器得到当前的时隙,确定当 前的时隙配置信息的偏移;第二,对本时隙需要写入SPM页进行页表项的更新操作;第三, 配置DMA进行换入操作。 传统的SPM控制器设计较为简单,无法实现动态地址映射机制所要求的更为复杂 的SPM动态分配策略。因此本发明在传统SPM控制器的基础上通过增加一组用于记录写 回地址的寄存器,即SPM区域寄存器,将传统的、仅能实现寻址功能的SPM控制器扩展为支 持不同粒度SPM管理,并能通过主动配置DMA实现其内容动态换入换出的指令SPM控制器。 DMA可以在指令SPM控制器的配置下将指令块动态换入换出SPM,相较于传统的、通过LDR/ STR指令执行SPM内容的换入换出,DMA在很大程度上利用了主存SDRAM与片上高速总线 AHB的BURST特性,从而降低了传输的成本与中断延时。 本发明的优点及显著效果利用虚存管理的思想可以实现对程序指令部分的非侵 入优化,时隙访问图的分析方法可以充分利用程序的局部性。采用虚存管理的思想,可以 将实际的物理地址与虚拟地址隔离开。这样,在不同时隙中,可以通过修改页表项,并通过 DMA,完成对指令SPM存储器中内容的换入换出,对于CPU而言地址空间在优化前后都是连 续的,但对于真实的硬件而言,已经将经常访问以及频繁引起指令Cache冲突的部分程序 指令内容放入指令SPM存储器,从而降低了指令Cache冲突的次数,并由Cache和SPM的 单次访问能耗差,最终获得了性能和能耗上的收益。同时,基于虚存机制对程序进行管理, 可以实现对程序非侵入式的分析和优化,即不需要在用户程序中显示的增加SPM的搬运代 码,而在中断处理中通过配置DMA和修改页表来完成对程序内容的换入换出。另外,本发明 充分利用程序执行的时间局部性特点,创新提出了时隙访问图的概念,继而通过SPM动态 分配算法将每个时隙内导致Cache冲突的页利用虚存管理的机制重定位到SPM,从而获得 相较于静态优化更为可观的性能和能耗收益,最终动态的利用了有限的片上SPM资源,降 低程序的能耗,提升系统性能。


图1为指令片上异构存储器的系统框图;
图2为指令SPM控制器的寄存器的设计;
图3为时隙冲突的示例图; 图4为利用时隙分析方法对指令片上存储资源进行管理的系统流程图;
图5为迭代求解示意图; 图6为采用本发明优化方法对系统能耗进行优化的试验结果。
具体实施例方式
下面结合附图与具体实施方式
对本发明作进一步详细描述。 本发明通过对应用程序执行过程中指令Cache访问的跟踪,得到指令Cache命中和缺失的时间和空间分布,继而由该分布得到指令Cache的时隙访问图,包括指令页本身权重(即Cache命中次数)以及指令页之间的冲突图。冲突图是一种定量描述被映射到同一 Cache行中不同程序内容之间替换关系的矢量图。通过对Cache时隙访问进行数学抽像,利用整数非线性规划的方法可以确定系统总能耗最优时每个指令页的状态,从而得到每个时隙中最有优化价值指令页的页号。之后,根据迭代求解方法,对时隙大小进行调整。根据每个时隙中需要优化的指令页和调整后的时隙大小信息,在程序执行中利用时钟中断,通过指令SPM控制器实现页表项入口的修改、DMA的配置等步骤,从而频繁访问以及容易引起指令Cache冲突的地址空间动态重映射到SPM中,最终消除指令Cache冲突带来的额外访存,并由Cache和SPM的单次访问能耗差获得更多的系统能耗收益。 图1所示为在原有架构上需要进行增加和修改的部分,包括TLB中S位、指令SPM控制器、DMA、时钟模块。 TLB中S位数为增加,是为了适应本研究所必需的访问控制。使用特殊的S位可以使匪U在进行地址翻译的同时确定出实际应该访问的物理地址,并将该地址发给需要访问的片上存储器(指令Cache或者指令SPM控制器)。需要指出的是对该SPM位的计算是在算法阶段完成的,用于标明在特定时隙内需要重映射到SPM的页,而真实的置位操作是在每个时隙结束时的时钟中断中完成的。由此,在时钟中断处理之后,继续执行基准测试程序时就能根据SPM位的置位情况,在物理地址-虚拟地址翻译的同一个时钟周期内决定后续访问的片上存储器类型。S位的增加可以减少片上寻址的能耗。如果不使用S位,地址经过匪U的虚拟地址_物理地址的转换之后,需要同时将地址发向指令Cache或者指令SPM控制器,Cache的比较电路和SPM的寻址逻辑同时开始工作。由于指令仅可能在一种存储器中,两种寻址逻辑都要消耗一定的能耗。设计S位,可以在地址转换的时候判断地址发送到指令Cache或者指令SPM控制器,以节省一定功耗。 图2为指令SPM控制器的寄存器设计。传统的SPM控制器设计较为简单,无法实现动态地址映射机制所要求的更为复杂的SPM动态分配策略。因此本发明在传统SPM控制器的基础上通过增加一组用于记录写回地址以及页大小的寄存器,即SPM区域寄存器。将传统的、仅能实现寻址功能的SPM控制器扩展为支持不同粒度SPM管理,并能通过主动配置DMA实现其内容动态换入换出的指令SPM控制器。由于本研究可以针对不同大小的匪U页做设计空间探索,因此需要对页大小做说明。SPM区域寄存器的第0位为EN位,该位在系统初始化时会被置0,当对SPM某页第一次做DMA换入操作时,将该位置1 ;区域寄存器的第1位至第3位来确定的页大小,其具体对应的基地址由高位地址给出,根据其页大小占用位数不等。 DMA可以在指令SPM控制器的配置下将指令块动态换入换出指令SPM存储器,相较于传统的、通过LDR/STR指令执行SPM内容的换入换出,DMA在很大程度上利用了主存SDRAM与片上高速总线AHB的BURST特性,从而降低了传输的成本与中断延时。对DMA的控制主要由指令SPM控制器完成,指令SPM控制器通过读取加载到主存的配置信息,在不同的时隙按需求将需要更新部分信息加载到DMA控制器的对应控制寄存器中,从而完成对DMA的配置。之后DMA控制器将申请总线,按照指令SPM控制器的配置通过DMA操作将需要的内容换入换出指令SPM存储器,从而完成指令SPM存储器内容的动态更新。
时钟中断是动态调整SPM内容的基础。由于程序执行通常具有比较明显的时间局部性,因此程序指令段也存在类似的特性,指令Cache出现缺失也具有类似的时间局部性特征,如果充分利用,则能在很大程度上充分利用SPM面积,最终通过动态调整SPM内容得到更好的能耗收益。当时钟模块的时钟计数寄存器自减到0时,处理器内核将接受到中断处理模块发出的中断请求,然后系统进入IRQ模式。之后,指令SPM控制器根据对区域寄存器中的内容,完成对SPM内容换入换出的操作,最终实现对指令SPM控制器的动态管理。
图3为时隙访问的示例图。由于程序执行存在较为明显的时间局部性,时隙访问图根据划分程序执行的整个过程为均匀长度的时隙,并在不同时隙内部分别得到各自的Cache访问图。访问图包括指令页的本身权重(即指令Cache命中次数)以及与其他节点之间的关系(包括指令页之间的冲突关系和冲突次数)。由于指令Cache的命中率较高,因此最优节点的选择需要同时考虑到Cache命中和缺失之间的关系。但是将指令页重定位到SPM中的能耗收益是不同的,命中收益为Cache和SPM的单次访问能耗差。对缺失的优化收益较大,这是由于Cache缺失时,Cache的硬件会自动地发起行填充的过程,需要经由外部总线访问SDRAM并填充到Cache体中,除此之外Cache不命中还会引入两次Cache读的能量消耗,这是因为第一次读Cache发现不命中,而第二次读发生在行填充完成之后将Cache中有效数据读出;当发生冲突的指令页放入SPM之后,消除了 Cache缺失,访问能耗仅为对SPM的访问能耗,因此对缺失优化的能耗收益要高于对命中的优化。由于指令Cache的命中率较高,必须同时考虑Cache的命中和缺失信息。时隙访问图可以充分的考虑Cache的访问特性,根据不同时隙的特性,选择出最有优化价值的指令页。 通过SPM动态分配算法将每个时隙内导致Cache冲突的页利用虚存管理的机制重定位到SPM,基于时隙的动态优化可以利用了有限的片上SPM资源,获得相较于静态优化更为可观的性能和能耗收益。 图4所示为利用时隙分析方法对指令片上异构存储资源进行动态管理的方法的系统流程图。在程序分析阶段,第一步通过收集到的指令Cache的trace/跟踪信息,建立指令Cache时隙访问图。基于指令Cache时隙访问图可以实现对程序非侵入式的分析。第二步,进行数学抽象,通过对指令Cache访问图进行数学建模以描述各指令页之间的权重分布,继而通过权重分布的变化定量描述各备选指令页的状态对能耗函数的影响,最终由整数非线性规划求得整体能耗收益最优时每个指令页的状态。第三步,将每个时隙内最频繁访问以及容易引起指令Cache冲突的指令页按照收益大小排列,指令SPM存储器的大小除以MMU页大小是可以优化的指令页个数,根据这个数选择最有优化价值的指令页,将其重映射到指令SPM存储器中。例如,指令SPM存储器为4K Byte,匪U页大小为512Byte时,这样可以被优化的指令页的个数就为4K Byte除以512Byte,为8个,在选择时将每个时隙中最有优化价值的8个指令页放入指令SPM存储器。这样得到在每个时隙中,最有优化价值的指令页号,这些指令页在程序执行的过程中会被动态的换入到指令SPM存储器中。第四步,通过迭代对时隙长度进行调整,如图5所示。由于每个时隙内由于消除了大量指令Cache缺失,从而获得了能耗和性能两方面的收益,而性能上的收益会直接导致本时隙程序执行时间縮短,从而导致下一个时隙开始的时间点偏移,因此需要通过迭代求解的方法,统计出每个时隙在优化前后时间的差距,将其校正。在完成上述步骤后,可以得到调整后的每个时隙的具体长度以及每个时隙内需要搬入SPM的页的内容。 在程序执行阶段,当时钟模块到时时,处理器内核将接受到中断处理模块发出的中断请求,然后系统进入IRQ模式。在异常模式下,可以完成对页表项的修改及指令SPM存储器中内容的换入换出,以适应下一个时隙的程序访存模态。进入时钟中断的具体过程为第一步,在进入该模式并保存相关的环境变量后,利用时钟模块的时隙寄存器得到当前的时隙数,从而得到该时隙所需要的配置信息,包括需要动态换入指令页的页号及调整后的时隙长度。第二步,指令SPM控制器将利用该值得到当前时隙指令SPM存储器中应该缓冲的主存地址空间信息和相关标志位。第三步,指令SPM控制器将加载本时隙需要写入SPM页的主存地址到对应的映射区间寄存器,并开始页表项的更新操作。第四步,完成页表项更新后,指令SPM控制器将负责加载映射区间寄存器中主存地址到DMA的源地址寄存器,并加载SPM对应页的物理地址到DMA的目的地址寄存器,然后开始DMA的换入操作。最后,中断处理程序将时钟模块的时隙寄存器加l,为下一个时隙做准备,并恢复中断前的环境变量,退出中断处理程序,处理器内核开始继续执行时钟中断以前的基准测试程序。
图6所示为使用本发明基于虚存机制的指令片上异构存储资源动态分配的方法所得到的能耗收益。对比试验采用实际芯片中常见的16K Byte 4路组关联的指令Cache,优化试验采用4K Byte直接关联的指令Cache及8K Byte的指令SPM存储器,利用时隙分析方法对指令异构存储资源进行动态管理。根据Cacti3. 2对片上存储器面积的计算,优化试验所用的4K直接关联Cache与4K的SPM的面积之和,与对比试验8K Byte 4路组关联Cache相比,芯片面积降低19. 0%,系统能耗平均降低12. 7%,最高降低22. 3%,同时,系统执行时间平均降低15. 9%,最高降低25. 6% 。
9
权利要求
一种基于虚存机制对指令片上异构存储资源动态分配的方法,其特征在于通过对应用程序执行过程中处理器内核对指令Cache访问的跟踪,得到指令Cache命中和缺失的时间和空间分布,由该空间分布得到指令Cache的时隙访问图,包括命中权重,缺失关系及权重,并对其进行数学抽象,根据能耗目标函数、性能目标函数分别利用整数非线性规划的方法选出系统总能耗最优时每个指令页的状态,得到每个时隙中最有优化价值指令页的页号,利用迭代求解方法,对时隙大小进行调整,在程序执行中通过时钟中断,使用指令SPM控制器实现页表项入口的修改以及直接内存访问控制器DMA的配置,将指令访问热点及容易引起指令Cache冲突的地址空间动态重映射到片上指令SPM存储器中,通过指令Cache和指令SPM的单次访问能耗差,以及减少指令Cache缺失带来的额外访存,降低系统能耗。
2. 根据权利要求1所述的基于虚存机制对指令片上异构存储资源动态分配的方法,其 特征在于得到指令Cache的时隙访问图,并对其进行数学抽象后,利用程序执行时表现出 来的时间局部性,将每个时隙内最频繁访问以及容易引起指令Cache冲突的指令页按照收 益大小排列,指令SPM存储器的大小除以匪U页大小是优化的指令页个数,根据这个数选择 最有优化价值的指令页,将其重映射到指令SPM存储器中。
3. 根据权利要求1所述的基于虚存机制对指令片上异构存储资源动态分配的方法,其 特征在于所说虚存机制是在旁路转换缓冲TLB中增加S位,用于标志该页内容在指令SPM 存储器中,减少额外Cache比较的能耗开销,同时,修改TLB使之支持对512Byte/虚存页以 及256Byte/虚存页,从而将指令访问热点及容易引起指令Cache冲突的地址空间抽离出 来,而避免对大量优化价值不大的地址空间做重映射。
4. 根据权利要求1所述的基于虚存机制对指令片上异构存储资源动态分配的方法, 其特征在于指令SPM控制器在程序执行过程中动态高效的将程序指令部分换入换出指令 SPM控制器,利用片上AHB高速总线的Burst特性,避免对指令Cache以及数据Cache的二 次污染。
5. 根据权利要求4所述的基于虚存机制对指令片上异构存储资源动态分配的方法, 其特征在于在指令SPM控制器中增加了一组专用于记录写回地址以及虚存页大小的指令 SPM控制寄存器1) 该组寄存器将负责在某虚存页重映射在指令SPM存储器时记录其对应的主存地址, 此地址将在该虚存页被换出指令SPM存储器时作为DMA的目的地址;2) 该组寄存器中负责记录虚存页大小的位将用于配置DMA搬运长度;3) 该组寄存器中的使能位负责控制该页内容是否可用。
全文摘要
本发明公开了一种基于虚存机制对指令片上异构存储资源动态分配的方法,充分利用指令片上存储资源,包括指令Cache和指令SPM。本发明采用时隙分析方法,对高频率引起指令Cache命中和缺失的时间和空间分布进行分析,得到指令Cache的时隙访问图,并对其进行数学抽象。根据能耗目标函数、性能目标函数,利用整数非线性规划的方法选出不同时隙中需要优化的程序指令部分,利用时钟模块对不同的程序阶段进行划分,在时钟中断时,使用指令SPM控制器,将有优化价值的指令页动态重映射到片上指令SPM存储器中,由此可以避免因指令Cache冲突引起的额外访存,同时由Cache和SPM的单次访问能耗差获得能耗收益。本发明方法对指令片上异构存储的充分利用,可以降低系统能耗,提升系统性能。
文档编号G06F12/08GK101763316SQ200910264520
公开日2010年6月30日 申请日期2009年12月25日 优先权日2009年12月25日
发明者凌明, 张阳, 李冰, 梅晨, 武建平, 王欢 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1