专利名称:基于虚存机制的指令片上异构存储资源动态分配的电路的利记博彩app
技术领域:
本实用新型涉及嵌入式片上存储器领域,特别涉及一种基于虚存机制的对指令片上异构存储资源(指令Cache和指令SPM)的动态分配的电路。
背景技术:
随着微电子技术的发展,以S0C(SyStem-0n-a-Chip)为基础的嵌入式计算平台日 益成熟。然而,由于处理器速度与外部存储器速度的差距不断增大,SoC存储子系统已经成 为系统性能、功耗和成本的瓶颈。因此如何优化存储子系统的架构及管理策略,一直是嵌入 式系统研究的热点。作为传统片上存储器,Cache由硬件管理,大部分情况下对软件透明,能自动装载 频繁访问的指令和数据到片上存储器中。然而,Cache的高功耗、占用芯片面积大、程序执 行时间不可预知等缺点一直限制其在嵌入式系统中的广泛运用。尤其是Cache的组关联特 性,可能导致被映射到同一 Cache行的不同程序内容,反复相互替换(即Cache抖动),从 而增加了额外访问主存SDRAM的成本,最终增大了系统性能与能耗开销。与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缺失,甚至引起Cache抖动,最终抵消SPM的优化收益。Cache缺失时需要访问主存并将新的内容换入Cache存储器中,引起的性能和能 耗开销较大。由于Cache的组关联特性,被映射到同一 Cache行的内容可能反复相互替换, 带来大量的访存操作,最终导致系统性能急剧降低,系统能耗急剧增加,这就是Cache冲 突。通过增大Cache容量、增大组关联数等方法,可以减小Cache冲突,但是这样又会引入 新的芯片面积并增加单次Cache读写时间及能耗。目前有研究指出Cache冲突是造成系统 性能和能耗瓶颈的重要原因,因此他们将容易引起Cache冲突的程序段放入SPM,以此得到 性能和能耗的收益。将容易引起Cache冲突的页选入SPM中,不仅可以降低Cache冲突,还能由单次访问SPM与Cache的能耗差获得更多收益。但是这些研究都采用静态方式优化, 即在程序执行过程中SPM中的内容不发生改变,没有充分利用Cache冲突在在时间维上的 局部性,降低了 SPM的利用率。并且,这些设计对SPM的管理依赖于对源程序跳转指令的修 改,是一种侵入式的优化。由于对SPM内容的更改需要软件显示的进行,因此一般对SPM进行动态管理的研 究都是通过“打桩”的形式,即在需要优化的程序核心循环前后,手工插入代码搬运指令,从 而完成对程序内容的换入换出。在程序映像中插入新的指令,需要依赖对源码的分析,并且 新的指令很可能引起共存架构中Cache行为的变化,最终导致更多Cache冲突。目前针对Cache和SPM共存架构中指令部分的研究,一般需要对程序进行侵入式 的分析,需要在用户程序中插入、修改部分代码,以实现在程序执行过程中内容的动态换入 换出。到目前为止,还未有相关研究涉及基于虚存管理、利用时隙方法、不需要修改程序源 码地将程序的指令内容动态映射到片上SPM的电路。
发明内容本实用新型的目的在于克服现有片上存储子系统的不足,基于虚存机制的指令片 上异构存储资源动态分配的电路,采用容量较小的指令SPM在程序执行过程中缓冲程序指 令执行热点,同时减少指令Cache缺失、降低由冲突带来的额外访存,最终提高微处理器运 行的速度并降低系统能耗。为实现上述目的,本实用新型提供一种基于虚存机制的指令片上异构存储资源 动态分配的电路,其特征在于设有处理器内核、存储管理单元MMU、指令部分路由器、指令 Cache、指令SPM存储器及指令SPM控制器、直接内存访问控制器DMA、总线、中断控制器、时 钟模块、外部存储器接口以及片外主存SDRAM;处理器内核发出对指令访问的虚拟地址,经 过内存管理单元MMU转换为物理地址后,根据其旁路转换缓冲TLB的标志位状态,进过指令 部分路由器,将物理地址发送到指令Cache及指令SPM控制器两者之一;如果指令SPM控制 器接收物理地址,则对物理地址译码后访问指令SPM存储器;时钟模块在时钟中断时发出 中断信号,由中断控制器响应,在中断处理程序中调用指令SPM控制器;指令SPM控制器包 含一块SPM区域寄存器,指令SPM控制器根据SPM区域寄存器的信息,配置DMA控制器的源 地址、目的地址以及搬运长度,DMA控制器经过高速AHB总线和外部存储器接口,根据片外 主存SDRAM中的程序内容对指令SPM存储器中的内容进行更改,指令SPM控制器同时配置 时钟模块的长度信息并使能时钟模块。所述存储管理单元采用两级旁路转换缓冲TLB的架构,其中一级为指令、数据分 离的TLB,二级为指令、数据统一的TLB;内核发出对指令访问的地址时,首先发送到一级指 令TLB,如果一级TLB命中则将转换后的物理地址发送到指令Cache或指令SPM控制器;如 果一级TLB不命中,地址发送到二级统一 TLB,如果二级TLB命中则将转换后的物理地址发 送到指令Cache或指令SPM控制器;如果二级TLB不命中,需要访问外部存储器中的页表, 进行虚拟地址_物理地址转换。所述每块TLB由一块Tag存储阵列、两块SRAM存储阵列、地址译码电路、Hit逻 辑、读写控制逻辑和输入输出驱动电路构成Tag部分为24位,处理器内核发出虚拟地址经 过地址译码逻辑之后,高24位将和Tag存储器中保存的虚拟页号进行比较,Hit逻辑用于判断是否命中,如果命中则根据两块SRAM的内容进行地址转换,如果不命中需要访问下一 级TLB或者主存;第一块SRAM为20位,用于标志位的存放,包括本实用新型利用保留位新 扩展出的S位,当地址完成转换后,会根据S位的数值将物理地址发送到指令Cache或指令 SPM控制器;第二块SRAM位24位,用于存放物理地址的页号。所述指令SPM控制器还根据时钟模块中对于时隙的记录,将配置信息加载到SPM 区域寄存器中,SPM区域寄存器是一个32位的寄存器,第0位为使能位,第1位至第3位为 标志页大小的位,其具体对应的基地址由高位地址给出,根据其页大小占用位数不等;在时 钟中断时,指令SPM控制器根据SPM区域寄存器的内容配置DMA控制器的源地址、目的地址 以及搬运长度,对指令SPM存储器中的内容进行更改。所述时钟模块设有一个专用于记录时隙个数的寄存器,在每个时钟中断时自动加 1,用于标明当前时隙个数;由SPM控制器根据当前时隙配置时钟模块的定时长度,并设置 时钟模块为One-shot模式,当数值自减为0时,发出时钟中断,由中断控制器接管。上述电路中涉及到TLB的结构的修改。传统的MMU的页最小仅支持IKByte/虚拟 页的管理,而基于虚存机制的指令片上异构存储资源动态分配的管理中,SPM的最小管理粒 度即为MMU的页大小。如果使用较大的页进行管理,对于较为分散的程序指令部分,不能很 好利用SPM的面积。因此本实用新型将对ARMv5TEJ标准PTEs架构中二级页表项第6位到 第9位的保留位作了扩展,并修改TLB的Tag(标签)存储器和比较电路,实现对256Byte/ 虚拟页和512Byte/虚拟页的支持,这样在SPM存储器的动态管理时可以充分利用片上存储 器的面积。TLB主要包括以下几个部分一块Tag存储阵列、两块SRAM存储阵列、地址译码 电路、Hit (命中)逻辑、读写控制逻辑和输入输出驱动电路。一个虚拟地址通常由页号和 偏移地址组成,工作时,处理器内核送出32位的虚拟地址,将虚拟地址的高位页号与Tag中 的虚拟页号进行对比。由于增加了对更细粒度页的支持,页号也相应变长,本实用新型最大 支持24位的Tag比较,即支持最小的页为256Byte/虚拟页。512Byte/虚拟页时,Tag仅需 要用到前23位;TLB同时还可支持22位、20位、16位或12位的对比,分别对应微页、小页、 大页和段的转换方式。上述电路中也涉及到TLB状态位的修改。TLB的状态位一般是存储在SRAM中的访 问控制信息,例如页表的访问权限、地址转换方式和页表所属的域的等。为了表明一个页是 在指令SPM中还是指令Cache中,本实用新型利用TLB预留的状态位,在TLB中增加S位以 实现必需的访问控制。使用特殊的S位可以使MMU在进行地址翻译的同时确定出实际应该 访问的物理地址,并将该地址发给需要访问的片上存储器(指令Cache或者指令SPM存储 器)。如果不使用S位,地址经过MMU的虚拟地址-物理地址的转换之后,需要同时将地址 发向指令Cache和指令SPM控制器,指令Cache的比较电路和指令SPM控制器的寻址逻辑 同时开始工作。由于指令仅可能在一种存储器中,两种寻址逻辑都要消耗一定的能耗。设 计S位,可以在地址转换的时候判断将地址发送到指令Cache和指令SPM控制器两者之一, 以节省一定功耗。上述电路中还涉及到TLB架构的修改。使用更细粒度的微页,每个页表项描述的地址空间就会相应缩短,此时若不重新设计TLB,则可能由于频繁的TLB缺失带来大量的主 存访问,从而降低性能和增大能耗因此。因此,本实用新型在修改MMU页的同时,对TLB的 入口数、关联度和层次进行分析,减少由微页管理带来的系统能耗成本。引入两级TLB可以达到性能和能耗的折衷,因此本实用新型设计了指令、数据分离的一级TLB和统一的二级 TLB。通过优化选择,本实用新型最终选择使用8个入口的数据uTLB、16个入口的指令uTLB 以及64个入口、32路组关联的统一 TLB (2级TLB)。在这种配置下,可以将引入微页代价降 到最小。上述电路中需要设计新的指令SPM控制器。指令SPM控制器在程序执行过程中动 态高效的将程序指令部分换入换出SPM,利用片上AHB高速总线的Burst特性,避免对指令 Cache以及数据Cache的二次污染。指令SPM控制器中增加了一组专用于记录写回地址以 及虚存页大小的SPM区域寄存器,包括1.该组寄存器将负责在某虚存页重映射在SPM时 记录其对应的主存地址,此地址将在该虚存页被换出便签存储器时作为专用DMA的目的地 址;2.该组寄存器中负责记录虚存页大小的位将用于配置专用DMA搬运长度;3.该组寄存 器中的使能位负责控制该页内容是否可用。与现有技术相比,本实用新型具有以下优点及显著效果 (1)基于虚存管理的思想,可以解决搬运指令段造成地址空间不连续、必须修改源 码等问题。虚存机制可以提供虚拟连续、物理离散的地址空间,将部分指令执行的热点或者 容易引起指令Cache冲突的程序段搬运到指令SPM存储器中,通过对页表项进行修改,可以 形成虚拟地址连续的空间。这样,可以不需要在用户程序中显示的增加SPM的搬运代码,仅 在中断处理程序中完成对程序的优化,实现对程序非侵入式的分析和优化。(2)本实用新型充分利用程序执行的时间局部性特点,利用时钟模块将程序划分 为不同时隙,继而将每个时隙中频繁访问以及容易导致指令Cache冲突的页,利用虚存管 理的机制重定位到SPM,从而获得相较于静态优化更为可观的性能和能耗收益,最终动态的 利用了有限的指令SPM存储器资源,降低程序的能耗,提升系统性能。
图1为基于虚存机制的指令片上异构存储资源动态分配的电路;图2为支持512Byte/虚拟页、256Byte/虚拟页的TLB的修改;图3存储管理电路的设计图4为指令SPM控制器的寄存器的设计;图5为利用时隙分析方法对指令片上异构存储资源的系统流程图;图6为迭代求解示意图;图7为采用本实用新型优化方法对系统能耗进行优化的试验结果具体实施方式
以下结合附图与具体实施方式
对本实用新型作进一步详细描述。图1所示为系统框图,包括处理器内核、存储管理单元MMU、指令部分路由器、指令 Cache、指令SPM存储器及指令SPM控制器、直接内存访问控制器DMA、总线(包括高速AHB 总线)、中断控制器、时钟模块、外部存储器接口以及片外主存SDRAM。在原有架构上需要进 行增加的部分包括TLB中S位、指令SPM控制器,需要修改的地方包括内存管理单元MMU、时 钟模块等。处理器内核发出对指令访问的虚拟地址,经过内存管理单元(MMU)转换为物理地址后,根据其旁路转换缓冲TLB的标志位状态,进过指令部分路由器,将物理地址发送到指 令Cache及指令SPM控制器两者之一;如果指令SPM控制器接收物理地址,则对物理地址 译码后访问指令SPM存储器;时钟模块在时钟中断时发出中断信号,由中断控制器响应,在 中断处理程序中调用指令SPM控制器;指令SPM控制器包含一块SPM区域寄存器,指令SPM 控制器根据SPM区域寄存器的信息,配置DMA控制器的源地址、目的地址以及搬运长度,DMA 控制器经过高速AHB总线和外部存储器接口,根据片外主存SDRAM中的程序内容对指令SPM 存储器中的内容进行更改,指令SPM控制器同时配置时钟模块的长度信息并使能时钟模 块。图2所示为TLB架构的修改,以支持512Byte/虚拟页和256Byte/虚拟页和S状 态位。传统的MMU的页最小仅支持IKByte/虚拟页的管理,而基于虚存机制的指令片上异 构存储资源动态分配的管理中,SPM的最小管理粒度即为MMU的页大小。如果使用较大的 页进行管理,对于较为分散的程序指令部分,不能很好利用SPM的面积。因此本实用新型将 对ARMv5TEJ标准PTEs架构中二级页表项第6位到第9位的保留位作了扩展,并修改TLB 的Tag存储器和比较电路,实现对256Byte/虚拟页和512Byte/虚拟页的支持。需要在调 整原有的地址转换电路,修改TLB的结构,以增加对512Byte/虚拟页和256Byte/虚拟页的 支持,这样在指令SPM存储器的动态管理时可以充分利用片上存储器的面积。TLB主要包括 以下几个部分一块Tag存储阵列、两块SRAM存储阵列、地址译码电路、Hit逻辑、读写控制 逻辑和输入输出驱动电路。一个虚拟地址通常由页号和 偏移地址组成,工作时,处理器内核 送出32位的虚拟地址,将虚拟地址的高位页号与Tag中的虚拟页号进行对比。由于增加了 对更细粒度页的支持,页号也相应变长,本实用新型最大支持24位的Tag比较,即支持最小 的页为256Byte/虚拟页。512Byte/虚拟页时,Tag仅需要用到前23位;TLB同时还可支持 22位、20位、16位或12位的对比,分别对应微页、小页、大页和段的转换方式。TLB的状态位一般是存储在SRAM中的访问控制信息,例如页表的访问权限、地址 转换方式和页表所属的域的等。为了表明一个页是在指令SPM存储器中还是指令Cache中, 本实用新型利用TLB预留的状态位,在TLB中增加S位以实现必需的访问控制。使用特殊 的S位可以使MMU在进行地址翻译的同时确定出实际应该访问的物理地址,并将该地址发 给需要访问的片上存储器(指令Cache或者指令SPM存储器)。在时钟中断处理之后,继续 执行基准测试程序时就能根据SPM位的置位情况,在物理地址-虚拟地址翻译的同时决定 后续访问的片上存储器类型。图3所示为存储管理电路的设计。本实用新型采用2级TLB的设计。这是因为使 用更细粒度的微页,每个页表项描述的地址空间就会相应缩短,此时若不重新设计TLB,则 可能由于频繁的TLB缺失带来大量的主存访问,从而降低性能和增大能耗因此。因此,本实 用新型在修改MMU页的同时,对TLB的入口数、关联度和层次进行分析,减少由微页管理带 来的系统能耗成本。引入两级TLB可以达到性能和能耗的折衷,因此本实用新型设计了指 令、数据分离的一级TLB和统一的二级TLB。本实用新型仅针对程序的指令部分的电路进行 设计,因此仅有指令部分包含SPM存储器和SPM控制器。处理器内核需要访问程序指令部 分时,首先将虚拟地址发送到MMU。一级TLB的指令部分开始工作,如果页表项在TLB中, 则一级TLB命中,地址根据TLB中S标志位发送到SPM或Cache中;如果一级TLB不命中, 则访问二级统一 TLB ;二级TLB不命中,则需要根据主存中的页表,进行虚拟地址-物理地址转换。通过优化选择,本实用新型最终选择使用8个入口的数据uTLB、16个入口的指令 uTLB以及64个入口、32路组关联的统一 TLB (2级TLB)。在这种配置下,可以将引入微页代 价降到最小。 图4为指令SPM控制器的寄存器设计。传统的SPM控制器设计较为简单,无法实 现动态地址映射机制所要求的更为复杂的指令SPM动态分配策略。因此本实用新型在传统 SPM控制器的基础上通过增加一组用于记录写回地址的寄存器,即SPM区域寄存器。将传统 的、仅能实现寻址功能的SPM控制器扩展为支持不同粒度SPM管理,并能通过主动配置专用 DMA实现其内容动态换入换出的先进SPM控制器。SPM区域寄存器的第0位为EN位,该位 在系统初始化时会被置0,当对SPM某页第一次做DMA换入操作时,将该位置1 ;区域寄存器 的第1位至第3位来确定的页大小,本研究可以针对不同大小的MMU页做设计空间探索,因 此需要对页大小做说明。不同指令页所对应的基地址由高位地址给出,根据其页大小占用 位数不等,例如128Byte/虚拟页的页基地址为第7位到第31位,4096Byte/虚拟页的页基 地址为第12位到第31位。其余位为保留位。指令SPM控制器根据SPM区域寄存器中的内容完成对DMA的配置。相较于传统的、 通过LDR/STR指令执行SPM内容的换入换出,DMA在很大程度上利用了主存SDRAM与片上 高速总线AHB的BURST特性,从而降低了传输的成本与中断延时。指令SPM控制器通过对 DMA源地址、目的地址和搬运长度的配置,使能DMA。之后DMA控制器将申请总线,完成片上 指令SPM存储器内容的动态更新。图5所示为利用时隙分析方法对指令片上异构存储资源进行动态管理的方法的 系统流程图。在程序分析阶段,第一步通过收集到的指令Cache的trace/跟踪信息,建立指令 Cache时隙访问图。基于指令Cache时隙访问图可以实现对程序非侵入式的分析。第二步, 进行数学抽象我们通过对指令Cache访问图进行数学建模以描述各指令页之间的权重分 布,继而通过权重分布的变化定量描述各备选节点的状态对能耗函数的影响,最终由整数 非线性规划求得整体能耗收益最优时每个节点的状态。第三步,可以得到在每个时隙中,最 有优化价值的页号,这些页号在程序执行的过程中会被动态的换入到指令SPM存储器中。 第四步,通过迭代对时隙长度进行调整,如图6所示。由于每个时隙内由于消除了大量指令 Cache缺失,从而获得了能耗和性能两方面的收益,而性能上的收益会直接导致本时隙程序 执行时间缩短,从而导致下一个时隙开始的时间点偏移,因此需要通过迭代求解的方法,统 计出每个时隙在优化前后时间的差距并将其校正。在完成上述步骤后,可以得到调整后的 每个时隙的具体长度以及每个时隙内需要搬入指令SPM存储器的页内容。在程序执行阶段,当时钟模块到时时,处理器内核将接受到中断控制器发出的中 断请求,然后系统进入IRQ模式。在异常模式下,可以完成对页表项的修改及指令SPM存储 器中内容的换入换出,以适应下一个时隙的程序访存模态。进入时钟中断的具体过程为第 一步,在进入该模式并保存相关的环境变量后,利用时钟模块的时隙寄存器得到当前的时 隙数,从而得到该时隙所需要的配置信息,包括需要动态换入指令页的页号及调整后的时 隙长度。第二步,指令SPM控制器得到当前时隙指令SPM存储器中应该缓冲的主存地址空 间信息和相关标志位。第三步,指令SPM控制器将加载本时隙需要写入指令SPM存储器页 的主存地址到对应的映射区间寄存器,并开始页表项的更新操作。第四步,完成页表项更新后,指令SPM控制器将负责加载映射区间寄存器中主存地址到DMA的源地址寄存器,并加载 指令SPM存储器对应页的物理地址到DMA的目的地址寄存器,然后开始DMA的换入操作。最 后,中断处理程序将时钟模块的时隙寄存器加1,为下一个时隙做准备,并恢复中断前的环 境变量,退出中断处理程序,处理器内核开始继续执行时钟中断以前的基准测试程序。 图7所示为使用本实用新型提出的基于虚存机制的指令片上异构存储资源动态 分配的电路所得到的能耗收益。对比试验采用实际芯片中常见的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%。
权利要求一种基于虚存机制的指令片上异构存储资源动态分配的电路,其特征在于设有处理器内核、存储管理单元MMU、指令部分路由器、指令Cache、指令SPM存储器及指令SPM控制器、直接内存访问控制器DMA、总线、中断控制器、时钟模块、外部存储器接口以及片外主存SDRAM;处理器内核发出对指令访问的虚拟地址,经过内存管理单元MMU转换为物理地址后,根据其旁路转换缓冲TLB的标志位状态,进过指令部分路由器,将物理地址发送到指令Cache及指令SPM控制器两者之一;如果指令SPM控制器接收物理地址,则对物理地址译码后访问指令SPM存储器;时钟模块在时钟中断时发出中断信号,由中断控制器响应,在中断处理程序中调用指令SPM控制器;指令SPM控制器包含一块SPM区域寄存器,指令SPM控制器根据SPM区域寄存器的信息,配置DMA控制器的源地址、目的地址以及搬运长度,DMA控制器经过高速AHB总线和外部存储器接口,根据片外主存SDRAM中的程序内容对指令SPM存储器中的内容进行更改,指令SPM控制器同时配置时钟模块的长度信息并使能时钟模块。
2.根据权利要求1所述的基于虚存机制的指令片上异构存储资源动态分配的电路,其 特征在于存储管理单元采用两级旁路转换缓冲TLB的架构,其中一级为指令、数据分离 的TLB,二级为指令、数据统一的TLB;内核发出对指令访问的地址时,首先发送到一级指令 TLB,如果一级TLB命中则将转换后的物理地址发送到指令Cache或指令SPM控制器;如果 一级TLB不命中,地址发送到二级统一 TLB,如果二级TLB命中则将转换后的物理地址发送 到指令Cache或指令SPM控制器;如果二级TLB不命中,需要访问外部存储器中的页表,进 行虚拟地址_物理地址转换。
3.根据权利要求2所述的基于虚存机制的指令片上异构存储资源动态分配的电路,其 特征在于每块TLB由一块Tag存储阵列、两块SRAM存储阵列、地址译码电路、Hit逻辑、读 写控制逻辑和输入输出驱动电路构成Tag部分为24位,处理器内核发出虚拟地址经过地 址译码逻辑之后,高24位将和Tag存储器中保存的虚拟页号进行比较,Hit逻辑用于判断是 否命中,如果命中则根据两块SRAM的内容进行地址转换,如果不命中需要访问下一级TLB 或者主存;第一块SRAM为20位,用于标志位的存放,包括本实用新型利用保留位新扩展出 的S位,当地址完成转换后,会根据S位的数值将物理地址发送到指令Cache或指令SPM控 制器;第二块SRAM位24位,用于存放物理地址的页号。
4.根据权利要求1或2或3所述的基于虚存机制的指令片上异构存储资源动态分配的 电路,其特征在于指令SPM控制器还根据时钟模块中对于时隙的记录,将配置信息加载到 SPM区域寄存器中,SPM区域寄存器是一个32位的寄存器,第0位为使能位,第1位至第3 位为标志页大小的位,其具体对应的基地址由高位地址给出,根据其页大小占用位数不等; 在时钟中断时,指令SPM控制器根据SPM区域寄存器的内容配置DMA控制器的源地址、目的 地址以及搬运长度,对指令SPM存储器中的内容进行更改。
5.根据权利要求1或2或3所述的基于虚存机制的指令片上异构存储资源动态分配的 电路,其特征在于时钟模块设有一个专用于记录时隙个数的寄存器,在每个时钟中断时自 动加1,用于标明当前时隙个数;由SPM控制器根据当前时隙配置时钟模块的定时长度,并 设置时钟模块为One-shot模式,当数值自减为0时,发出时钟中断,由中断控制器接管。
专利摘要一种基于虚存机制的指令片上异构存储资源动态分配的电路,处理器内核发出对指令访问的虚拟地址,经过内存管理单元(MMU)转换为物理地址后,根据其旁路转换缓冲TLB的标志位状态,进过指令部分路由器,将物理地址发送到指令Cache及指令SPM控制器两者之一;如果指令SPM控制器接收物理地址,则对物理地址译码后访问指令SPM存储器;时钟模块在时钟中断时发出中断信号,由中断控制器响应,在中断处理程序中使用指令SPM控制器;指令SPM控制器包含一块SPM区域寄存器,指令SPM控制器根据SPM区域寄存器的信息,配置DMA控制器的源地址、目的地址以及搬运长度,DMA控制器经过高速AHB总线和外部存储器接口,根据片外主存SDRAM中的程序内容对指令SPM存储器中的内容进行更改,指令SPM控制器同时配置时钟模块的长度信息并使能时钟模块。
文档编号G06F12/10GK201570016SQ200920282530
公开日2010年9月1日 申请日期2009年12月25日 优先权日2009年12月25日
发明者凌明, 张阳, 李冰, 梅晨, 武建平, 王欢 申请人:东南大学