针对指令的可重构片上统一存储器管理方法

文档序号:6353145阅读:317来源:国知局
专利名称:针对指令的可重构片上统一存储器管理方法
技术领域
本发明涉及一种可重构片上统一存储器,尤其涉及一种利用虚存机制实现对该可 重构片上统一存储器的动态管理,具体给出该存储器的电路和动态管理方法。
背景技术
随着微电子技术的发展,以SoC (System-on-a-Chip)为基础的嵌入式计算平台日 益成熟。然而,由于处理器速度与外部存储器速度的差距不断增大,SoC存储子系统已经成 为系统性能、功耗和成本的瓶颈。因此如何优化存储子系统的架构及管理策略,一直是嵌入 式研究的热点。Cache与SPM(Scratch-Pad Memory,便签存储器)是最常见的传统的片上存储器。 Cache由硬件管理,大部分情况下对软件透明,能自动装载最近访问的指令和数据到片上存 储器中。然而,Cache的高功耗、占用面积大、程序执行时间不可预知等不足一直限制其在 嵌入式系统中的广泛运用。尤其是Cache的组关联特性,可能导致被映射到同一 Cache行 的不同程序内容,由于访存规律,反复相互替换,从而增大了系统性能与能耗的开销,即出 现Cache抖动。与Cache相比,SPM是一种高速片上存储器,通常由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冲突,但是这样又会弓I 入新的芯片面积并提升单次Cache读写时间及能耗,而且高关联度的Cache中某些路中存 在大量的空闲的存储块,浪费了宝贵的片上存储资源。目前有研究指出Cache冲突是造成 系统性能和能耗瓶颈的重要原因,因此他们将容易引起Cache冲突的程序段放入SPM,以此得到性能和能耗的收益。将容易引起Cache冲突的页选入SPM中,不仅可以通过降低Cache 冲突而降低系统能耗,提升系统性能,还能由单次访问SPM与Cache的能耗差获得更多收 益。但是这些研究都是基于静态的电路设计,即在程序执行中Cache的关联度和SPM的大 小不会改变。研究表明,不同的应用程序甚至统一程序的不同阶段具有不同的访存特性,这 种固定的存储架构并不能适应访存特性的变化。由于对SPM内容的更改需要软件显示的进行,因此一般对SPM进行动态管理的研 究都是通过“打桩”的形式,即在需要优化的程序核心循环前后,手工插入代码搬运指令,从 而完成对程序内容的换入换出。在程序映像中插入新的指令,需要依赖对源码的分析,并且 新的指令很可能引起共存架构中Cache行为的变化,例如产生更多的冲突。目前针对Cache和SPM共存架构中指令部分的研究,一般需要对程序进行侵入式 的分析,需要在用户程序中插入、修改部分代码,以实现在程序执行过程中内容的动态换入 换出。针对可重构架构的研究多是针对可重构Cache的研究,在程序运行过程中尝试性的 改变Cache的参数以求得能耗最低,但无法对程序性能进行提高。到目前为止,还未有相关 研究涉及针对程序指令部分,利用虚存管理方式,动态管理可重构片上统一存储器的方法。

发明内容
技术问题本发明的目的在于克服现有片上存储子系统的不足,采用一种可重 构的片上统一存储器,提出一种利用虚存机制实现对可重构存储器动态管理的方法,根据 程序执行的阶段性动态配置可重构存储器中Cache部分和SPM部分的参数,将引起Cache 冲突的指令页和频繁访问的指令页映射到SPM部分中,从而降低由冲突带来的额外访存和 Cache比较逻辑的额外能耗,最终降低系统能耗并提高微处理器运行的速度。技术方案本发明的利用虚存机制动态管理可重构片上统一存储器的方法通过 在应用程序执行过程中对处理器读取指令的跟踪及对可重构存储器中的高速缓冲存储器 Cache部分行为的跟踪,得到指令执行特性以及Cache中指令命中和缺失的时间和空间分 布,进而对指令Cache在不同阶段的相变行为图并对其进行数学抽像,根据能耗目标函数、 性能目标函数分别利用整数非线性规划的方法选出系统总能耗最优时的可重构存储器参 数配置及每个指令页的分布状态;在程序执行中通过程序相变检测器产生相变中断,在每 个阶段可重构片上统一存储器中Cache部分和便签存储器SPM(Scratch-Pad Memory)部分 的结构,并通过对页表项入口的修改、直接内存访问可重构片上统一存储器控制器的配置, 将合适的指令页映射到SPM存储器中,消除指令Cache冲突带来的额外访存以及频繁访问 Cache带来的比较逻辑额外能耗。利用程序执行不同阶段体现出不同的指令执行特性,将程序执行过程划分为不同 的阶段;在不同的阶段中获取可重构存储器中Cache的相变行为图后,利用当前阶段指令 的局部性,将Cache部分中利用率不高的路重构为SPM存储结构,将一段时间内最频繁引起 指令Cache冲突以及频繁访问的指令地址空间重映射到SPM存储部分中,而在其收益不大 时映射回主存。所说可重构片上统一存储器可以在程序运行过程中,通过配置可重构片上统一 存储器控制器的当前配置信息寄存器,将可重构存储器中的Cache部分关闭某一路的Tag bank,并将其Data bank重构为SPM使用;或者将SPM中的某一 bank对应的Tag bank打开重构为Cache使用,通过这种方式可以动态调整存储架构中Cache的关联度和SPM容量,同 时在存储器控制器中还设置有专用于记录每个程序阶段的重构配置信息的配置信息寄存 器组和记录SPM区域映射关系的SPM区域寄存器组,其作用是
1)配置信息寄存器组负责记录可重构存储器在每个程序阶段所对应的Cache部分和 SPM部分的配置信息,当程序相变检测器检测到程序阶段发生变化时,中断处理程序将该阶 段所需的配置信息从该组寄存器装载到当前配置信息寄存器中,完成对可重构存储器的动 态配置;
2)SPM区域寄存器组负责记录每个程序阶段需要换入到SPM存储部分的指令页的物理 地址,用于配置直接内存访问控制器将指令页从主存搬入到SPM存储部分,该组寄存器还 将负责在某虚存页被换出SPM存储部分时用于恢复换入前的页表项;
所说程序相变检测器在程序执行过程中统计指令的执行特性,并按照配置寄存器中配 置的检测方式及阈值,在程序阶段性发生变化时产生相变中断,在中断处理程序中可以对 可重构片上统一存储器进行配置,进而迎合程序不同阶段对存储架构的要求。可重构片上统一存储器包含Cache部分和SPM部分,这两部分可以在程序运行过 程中动态的调整参数=Cache部分的关联度,SPM部分的容量。所述的相变检测器通过实时检测处理器在运行程序过程中执行指令的特性,利用 该特性的变化判断程序相变,记录相变序号并向处理器产生中断信号。得到指令执行特性以及Cache中指令命中和缺失的时间和空间分布,利用程序执 行时表现出来的阶段性,将一段时间内最频繁引起Cache冲突和最频繁访问的地址空间重 映射到SPM存储器中,而在其收益不大时映射回主存。可重构统一片上存储器控制器在程序执行过程中利用其内部的直接内存访问控 制器动态高效的将程序指令部分换入到SPM存储部分,利用片上AHB高速总线的Burst特 性,避免通过处理器进行搬运对Cache的二次污染。在可重构片上统一存储器控制器中设置了一组专用于记录每个程序阶段可重构 存储器配置信息以及SPM存储部分地址映射关系的区域寄存器组
1)该组寄存器将负责在程序相变检测电路检测到程序阶段发生变化时,由中断处理程 序将该阶段所需的配置信息装载到当前配置信息寄存器中,完成对可重构存储器的动态配 置;
2)该组寄存器负责记录每个程序阶段需要换入到SPM存储部分的指令页的物理地址, 用于配置直接内存访问控制器将指令页从主存搬入到SPM存储部分;
3)该组寄存器将负责在某虚存页重映射在SPM存储部分时,记录其对应的主存地址, 此地址将在该虚存页被换出SPM存储部分时用于恢复换入前的页表项。有益效果本发明充分利用程序执行过程中的阶段性特点,创新性的提出了相变 行为图的概念,通过对相变行为图的分析,动态的配置可重构片上统一存储器中的Cache 部分和SPM部分的参数,适应程序执行每个阶段的访存特性,最大程度的降低系统能耗,并 一定程度的提升系统性能。利用虚存管理的思想可以方便解决传统SPM优化技术中侵入性 的修改程序代码布局的缺点。传统的优化技术多采用在程序中插入搬运指令将待优化的段 动态搬运到SPM的办法,采用虚存管理的思想,就可以将实际的物理地址与程序在编译时 分配使用的虚拟地址隔离开。这样,对于程序而言虚拟地址空间在优化前后都是连续的,但对于真实的硬件而言,已经将频繁访问的和引起Cache冲突的指令段部分重映射到SPM部 分中,从而降低了 Cache的访问次数和冲突次数,最终获得了性能和能耗上的收益。同时, 利用虚存机制对程序进行管理,可以实现对程序非侵入式的分析和优化,即不需要在用户 程序中显示的增加SPM的搬运代码,而在相变中断处理中通过配置DMA和修改页表来完成 对程序内容的换入换出。本发明将虚存管理的机制和可重构片上统一存储器有机结合,获 得相较于其他单一 Cache优化或单一 SPM优化更为可观的性能和能耗收益。


图1为利用虚存机制实现对可重构片上统一存储器动态管理的系统框图; 图2为修改后的TLB页表项示意图3可重构片上统一存储器示意图; 图4为相变行为图示意图5为利用虚存机制对可重构片上统一存储器进行动态管理的方法的系统流程图。
具体实施例方式本发明方法具体可按以下步骤实现 (1)建立虚存管理的机制
虚存管理机制可以通过修改页表项,形成物理分离、逻辑连续的地址空间,这样就可以 实现将部分程序页的地址映射到可重构存储器的SPM部分中。相对于传统的动态SPM优化 技术,利用虚存完成地址空间映射关系的更改,可以实现对程序源代码和编译后生成的二 进制映像的完全非侵入式优化。为了适应对Cache和SPM动态管理的方法,提高SPM部分 的利用率,本发明需要对原有的MMU硬件进行改进。通过修改TLB的译码逻辑,增加对512 Bytes/虚拟页、256 Bytes/虚拟页支持。传统的TLB仅支持最小IK Bytes/虚拟页的管理, 而Cache是按行组织的,每行仅32-64Bytes,在程序执行的一段时间内出现指令Cache冲突 或频繁访问的的地址空间大多小于传统TLB支持的最小虚存页大小,为了对优化粒度进行 细化,提高SPM利用率,本发明将利用传统页表项入口中的保留位,修改TLB的Tag存储器 和比较电路,实现对256 Bytes/虚拟页和512 Bytes/虚拟页的支持。(2)相变行为图的建立
本发明通过分析可重构存储器中Cache部分的访问行为对可重构存储器进行动态优 化,因为Cache行为表现出明显的程序阶段性,因此本发明创新性的提出“相变行为图”概 念,从时间和空间上对Cache行为进行分析。相变行为图根据对可重构存储器Cache部分 的trace信息,对其进行数学抽象。相变行为图是一种定量描述被映射到同一 Cache行中 不同程序指令段之间替换关系和访问行为的加权矢量图。由于本发明采用虚存管理机制对 程序指令部分进行管理,程序的划分粒度即为MMU的页大小,Cache行为将按页进行抽象, 并对其进行数学建模以描述各页之间的权重分布,最终由整数非线性规划求得不同时隙中 整体能耗及性能收益最优时可重构存储器的最优配置以及每个页的映射状态。这样就可以 得到在每个阶段中最有优化价值的页,在程序发生相变时对存储器进行重构并将这些页动 态的换入到SPM部分中。(3)程序相变分析本研究利用程序的相变对可重构存储器进行动态管理。程序的运行过程往往可分为 不同的程序阶段,在每个程序阶段内,程序的行为特征基本不变,体现在对存储器结构的要 求、每周期运行的指令数等。本发明利用相变检测器实时检测处理器每周期运行的指令数, 当程序发生相变时产生硬件中断,处理器内核将接收到中断处理模块发出的中断请求,系 统进入中断模式,完成对可重构处理器的结构调整,并对SPM存储部分进行重映射。(4)利用可重构存储器控制器完成动态管理
在程序执行阶段,当相变检测模块检测到程序阶段性变换时,处理器内核在异常模式 下,通过对可重构存储器控制器的配置,完成对存储器的重构以及页表项的修改和SPM存 储器中内容的换入,以适应该阶段的程序访存模态。在相变中断中,存储器的重构是通过配置重构存储器控制器来完成的第一,查找 相变检测模块中的相变记录寄存器找到当前阶段的配置信息存储位置;第二,将配置信息 加载到可重构存储器控制器中的当前配置寄存器,以调整Cache部分和SPM部分的参数;第 三,对本阶段中要映射到SPM部分的指令页进行页表项更新操作;第四,配置DMA寄存器将 要映射到SPM部分的指令页从主存中搬运到SPM部分中;第五,使能可重构存储器,处理器 进入正常程序执行过程。本发明所涉及的可重构存储器控制器,将涉及到以下寄存器组第一,当前配置信 息寄存器,用于将可重构存储器中的某一 Bank配置为Cache或者SPM ;第二,上下文配置信 息寄存器组,其中每个寄存器对应一个程序阶段中的存储器配置,用于在程序阶段性变化 时加载到当前配置信息寄存器;第三,SPM区域寄存器组,记录每个程序阶段SPM的映射情 况,用于在页换入换出SPM部分时通过读取该寄存器组来修改页表项;第二,DMA传输控制 寄存器,通过配置DMA实现主存内容动态换入到SPM存储部分,相较于传统的、通过LDR/STR 指令执行数据SPM存储器内容的换入换出,DMA在很大程度上利用了主存SDRAM与片上高 速总线AHB的BURST特性,从而降低了传输的成本与中断延时。下面结合附图与具体实施方式
对本发明作进一步详细描述。图1所示为系统框图,包括处理器内核、相变检测器、存储管理单元MMU、指令部分 路由器、可重构片上统一存储器、可重构存储器控制器、专用直接内存访问控制器DMA、总 线、中断控制器、时钟模块、外部存储器接口以及片外主存SDRAM。在原有架构上需要进行增 加的部分包括相变检测器、可重构片上统一存储器、可重构存储器控制器。处理器内核发出访问指令的虚拟地址,经过内存管理单元(MMU)转换为物理地址 后,根据其旁路转换缓冲TLB的标志位状态,进过指令部分路由器,将物理地址发送到可重 构存储器中的Cache部分、SPM部分或者片外存储器;相变检测器实时检测CPU的取指情 况,当检测到相变时发出中断信号,由可重构存储器控制器和中断控制器响应,在中断处理 程序中配置可重构存储器控制器;可重构存储器控制器包含当前配置信息寄存器,一组上 下文配置信息寄存器和SPM区域寄存器,控制器根据SPM区域寄存器的信息,配置DMA控制 器的源地址、目的地址以及搬运长度,DMA控制器经过高速AHB总线和外部存储器接口,根 据片外主存SDRAM中的程序内容对SPM存储部分中的内容进行更改。图2所示为对指令TLB页表项的修改,以支持512 Bytes/虚拟页和256 Bytes/虚 拟页。传统的MMU的页最小仅支持IK Bytes/虚拟页的管理,而基于虚存机制的指令片上 异构存储资源动态分配的管理中,SPM的最小管理粒度即为MMU的页大小。如果使用较大的页进行管理,对于较为分散的程序指令部分,不能很好利用SPM部分的面积。因此本发明将 对ARMv5TEJ标准PTCs架构中二级页表项第2位进行修改,由于对指令来说不需要Buffer, 所以将原B位作为Size扩展位,并修改TLB的Tag存储器和比较电路,实现对256 Bytes/ 虚拟页和512 Bytes/虚拟页的支持。需要调整原有的地址转换电路,修改TLB的结构,以 增加对512 Bytes/虚拟页和256 Bytes/虚拟页的支持,这样在指令SPM存储器的动态管 理时可以充分利用片上存储器的面积。TLB主要包括以下几个部分一块Tag存储阵列、两 块SRAM存储阵列、地址译码电路、Hit逻辑、读写控制逻辑和输入输出驱动电路。一个虚拟 地址通常由页号和偏移地址组成,工作时,CPU送出32位的虚拟地址,将虚拟地址的高位页 号与Tag中的虚拟页号进行对比。由于增加了对更细粒度页的支持,页号也相应变长,本发 明最大支持M位的Tag比较,即支持最小的页为256 Bytes/虚拟页。512 Bytes/虚拟页 时,Tag仅需要用到前23位;TLB同时还可支持22位、20位、16位或12位的Tag比较,分别 对应微页、小页、大页和段的转换方式。图3所示为可重构存储器结构图。包括可重构存储器控制器、tag存储阵列、data 存储阵列、专用DMA等。存储体部分基于4路组关联Cache结构,最大的不同是tag存储阵 列和data存储阵列可以被可重构存储器控制器控制。控制器中有一组当前配置信息寄存 器Current_CS_reg,其中C1-C4分别用于控制一路tag存储阵列及其对应的data存储阵 列。当Ci为1时,tagi将被关闭,datai作为SPM存储部分;当Ci为0时,tagi将被打开, datai作为Cache存储部分。控制器中还有一组SPM区域寄存器,可以用于存储每个程序阶 段的SPM部分与主存的映射关系。另外控制器中还设置一组上下文配置信息寄存器,是为 了在程序发生相变时,能够迅速进行相变上下文的切换,使可重构存储器在最短的时间内 完成存储体的重构并利用专用DMA对SPM存储部分进行快速映射。从结构图中可以看出, 当将某一路配置为SPM部分时,可以减少由于tag比较逻辑带来的额外功耗,并且data部 分由软件不可寻址变为软件可寻址。图4为相变行为图的示意图。由于程序执行存在较为明显的程序阶段性,相变行 为图根据程序的阶段性特点,划分程序执行的整个过程为若干个阶段,并在不同阶段内部 分别得到各自的访存行为图,并根据行为图获得可重构存储器在各个程序阶段的最佳存储 配置。通过动态分配算法将每个时隙内导致Cache冲突的页以及频繁访问的页利用虚存管 理的机制重定位到SPM存储部分,基于程序阶段特性的动态优化可以利用有限的片上存储 资源,获得相较于固定存储结构更为可观的性能和能耗收益。图5所示为利用虚存机制对可重构片上统一存储器进行动态管理的方法的系统 流程图。在程序分析阶段,第一步将可重构处理器所有bank配置为Cache,通过收集到的 Cache部分的跟踪信息,建立程序相变行为图。基于相变行为图可以实现对程序非侵入式的 分析。第二步,进行数学抽象,通过对相变行为图进行数学建模以描述各指令页在程序执行 过程中的访问情况以及各页之间的关系,继而通过分析不同程序阶段各指令页权重分布的 变化来定量描述各备选节点的状态对能耗函数的影响,最终由整数非线性规划求得整体能 耗收益最优时每个节点的状态。第三步,根据第二步的分析结果得到在每个程序阶段,所需 要存储器的最佳配置,确定可重构存储器每个程序阶段的重构配置信息。第四步,根据重构 后的存储结构分配,即Cache部分和SPM部分的参数,决定每个程序阶段需要映射到SPM部分的指令页页号以及在SPM部分中的区域分布,得到SPM区域寄存器组的值。在完成上述 步骤后,可以得到程序执行过程中每个阶段的存储器配置信息以及SPM存储部分的区域映 射关系。 在程序执行阶段,首先将配置信息寄存器和SPM区域寄存器的值加载到可重构存 储器控制器中。当程序相位发生变化时,处理器内核将接受到中断控制器发出的中断请求, 然后系统进入中断模式。在中断模式下,通过加载上下文配置信息寄存器中的配置信息到 当前配置信息寄存器中,完成对可重构存储器的重新配置,页表项的修改及SPM存储器中 内容的换入换出,以适应当前程序阶段的程序访存模态。中断处理的具体过程为第一步, 在进入中断模式并保存相关的环境变量后,由于需要对存储器进行重新配置以及修改页 表,关闭可重构存储器中的Cache部分和MMU。第二步,读取相变计数寄存器得到当前的程 序阶段号。第三步,读取当前阶段区域寄存器,修改需要映射到SPM的指令页所对应的页表 项。第四步,加载上下文配置信息寄存器中的配置信息到当前配置信息寄存器中,可重构存 储器控制器根据当前配置信息寄存器配置存储器结构。第五步,配置专用DMA,加载映射区 域寄存器中主存地址到DMA的源地址寄存器,并加载SPM存储部分对应页的物理地址到DMA 的目的地址寄存器,然后使能DMA将需要映射到SPM的指令页搬运到SPM部分。第六步,DMA 搬运结束后,使能Cache和MMU,并恢复中断前的环境变量,退出中断处理程序,处理器内核 开始继续执行中断以前的程序。
权利要求
1.一种利用虚存机制动态管理可重构片上统一存储器的方法,其特征在于通过在应 用程序执行过程中对处理器读取指令的跟踪及对可重构存储器中的高速缓冲存储器Cache 部分行为的跟踪,得到指令执行特性以及Cache中指令命中和缺失的时间和空间分布,进 而对指令Cache在不同阶段的相变行为图并对其进行数学抽像,根据能耗目标函数、性能 目标函数分别利用整数非线性规划的方法选出系统总能耗最优时的可重构存储器参数配 置及每个指令页的分布状态;在程序执行中通过程序相变检测器产生相变中断,在每个阶 段可重构片上统一存储器中Cache部分和便签存储器SPM部分的结构,并通过对页表项入 口的修改、直接内存访问可重构片上统一存储器控制器的配置,将合适的指令页映射到SPM 存储器中,消除指令Cache冲突带来的额外访存以及频繁访问Cache带来的比较逻辑额外 能耗。
2.根据权利要求1所述的利用虚存机制对可重构片上统一存储器动态管理的方法,其 特征在于可重构片上统一存储器包含Cache部分和SPM部分,这两部分可以在程序运行过 程中动态的调整参数=Cache部分的关联度,SPM部分的容量。
3.根据权利要求1所述的利用虚存机制对可重构片上统一存储器动态管理的方法,其 特征在于所述的相变检测器通过实时检测处理器在运行程序过程中执行指令的特性,利 用该特性的变化判断程序相变,记录相变序号并向处理器产生中断信号。
4.根据权利要求1所述的利用虚存机制对可重构片上统一存储器动态管理的方法,其 特征在于得到指令执行特性以及Cache中指令命中和缺失的时间和空间分布,利用程序 执行时表现出来的阶段性,将一段时间内最频繁引起Cache冲突和最频繁访问的地址空间 重映射到SPM存储器中,而在其收益不大时映射回主存。
5.根据权利要求1所述的利用虚存机制对可重构片上统一存储器动态管理的方法,其 特征在于可重构统一片上存储器控制器在程序执行过程中利用其内部的直接内存访问控 制器动态高效的将程序指令部分换入到SPM存储部分,利用片上AHB高速总线的Burst特 性,避免通过处理器进行搬运对Cache的二次污染。
6.根据权利要求1所述的利用虚存机制对可重构片上统一存储器动态管理的方法,其 特征在于在可重构片上统一存储器控制器中设置了一组专用于记录每个程序阶段可重构 存储器配置信息以及SPM存储部分地址映射关系的区域寄存器组1)该组寄存器将负责在程序相变检测电路检测到程序阶段发生变化时,由中断处理程 序将该阶段所需的配置信息装载到当前配置信息寄存器中,完成对可重构存储器的动态配 置;2)该组寄存器负责记录每个程序阶段需要换入到SPM存储部分的指令页的物理地址, 用于配置直接内存访问控制器将指令页从主存搬入到SPM存储部分;3)该组寄存器将负责在某虚存页重映射在SPM存储部分时,记录其对应的主存地址, 此地址将在该虚存页被换出SPM存储部分时用于恢复换入前的页表项。
全文摘要
本发明公开了一种利用虚存机制实现针对指令的可重构片上统一存储器管理方法,可以在程序运行过程中动态调整可重构统一存储器中的Cache部分和SPM(Scratch-PadMemory)部分的参数以适应程序执行不同阶段对存储架构的需求。该方法对程序运行不同阶段的访存行为进行分析,得到指令部分的相变行为图,并对其进行数学抽象。根据能耗目标函数、性能目标函数,利用整数非线性规划的方法得到每个程序阶段的可重构存储器配置信息并选出需要优化的程序指令部分,尽可能的将Cache中冲突严重的和频繁访问的代码段,借助于虚存管理机制映射到SPM部分中,由此不仅可以减少由于反复填充Cache带来的访外存能耗,而且可以减少Cache中的比较逻辑带来的额外能耗,并提升系统性能。
文档编号G06F12/08GK102073596SQ201110007310
公开日2011年5月25日 申请日期2011年1月14日 优先权日2011年1月14日
发明者凌明, 张阳, 梅晨, 武建平, 王欢, 翟婷婷 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1