螺旋高速缓存电源管理、自适应大小调整和接口操作的制作方法

xiaoxiao2020-08-01  7

专利名称:螺旋高速缓存电源管理、自适应大小调整和接口操作的制作方法
技术领域
本发明涉及高速缓冲存储器,更具体地说,涉及螺旋高速缓冲存储器中的电源管理、自适应大小调整和接口操作。
背景技术
在现今的高速缓冲存储器系统中,在存取最频繁存取的值所需的时间与最短存取时间内可提供的此类值的数目之间存在权衡。例如,在传统多级高速缓存层级中,一级(Li) 高速缓存针对特定数目的值提供一致存取时间,并且某些系统中的控制电路和其他算法特性用于维护Ll高速缓存内的最频繁存取的值。但是,由于物理布线约束以及电子系统受电子信号传播速度的限制,因此Ll高速缓存越大,典型Ll高速缓存的(固定)存取时间越长。类似地,当为了缩短存取时间而减小Ll高速缓存的大小时,未存储在Ll高速缓存内的频繁存取的值的数目将增加。未存储在Ll高速缓存内的值因此被存储在存储器层级的更高阶级别(例如,L2高速缓存)中,L2高速缓存的存取时间损失远大于Ll高速缓存的存取时间损失,这是因为典型高速缓冲存储器系统是包含性的,也就是说,存储器层级的较高级别包含下一较低级别高速缓存中存储的所有值。在实际应用中,给定的较高级别高速缓冲存储器一般远大于下一较低级的高速缓冲存储器,并且给定诸如RC线延迟之类的上述传播速度约束以及裸片互连中电场传播固有速度的最终限制,较高级别的高速缓存将慢得多,通常在比下一较低级别的高速缓冲存储器慢10到100倍的量级。此外,存储器层级中较大的高级别高速缓存将增加功耗,虽然可以将高速缓冲存储器分成可单独进行电源管理的分区,但是这种电源管理需要在分区之间重新组织和移动数据以便减小高速缓存的大小不会损害正确性或导致性能降低。进而,由于需要在高速缓存中重新组织数据,因此相对于数据流的速率,执行电源管理操作的速度必然较低。此外,此类高速缓冲存储器系统中采用的典型高速缓存控制算法通常一次处理一个对高速缓存级别的未完成请求。如果存取请求“未命中”高速缓存,则此存取将停止或失败,因此请求源(例如,下一较低编号的高速缓存级别或Ll高速缓存未命中情况下的处理器存储器存取逻辑)必须重试存取。所述请求从处理器向高速缓冲存储器的更高阶级别传播,但是稍后在Ll级别处重试请求确保了当依赖于请求值的硬件线程等待所述请求成功时,仍为其他可执行的指令提供对所述高速缓存的存取。可提供停止整个处理器流水线的备选方法,但是性能损失将更为严重。最后,一般由高速缓冲存储器层级中的控制结构(例如,高速缓存控制器)实施高速缓冲存储器层级中值的组织,所述控制结构根据诸如最近最少使用(LRU)之类的方案衡量存取频率并组织高速缓存级别以使用驱逐(cast-out)逻辑将最频繁存取的值保持在低阶高速缓存中。提出了除上述传统高速缓冲存储器和层级以外的解决方案,其允许将多个请求流水线化,但是需要强制使用固定的最差存取延迟和缓冲来控制流水线信息流。进而,提出了非传统高速缓冲存储器,其具有非一致存取延迟并且在不使用其他存取度量和驱逐逻辑的情况下进行组织,但是相对于目前高速缓冲存储器的操作而言,它总体上仅提供了很小的潜在改进,其方式是交换高速缓存表项以便缓慢地将频繁存取的值迁移到“较近的”位置,同时将不常使用的值迁移到“较远的”位置。此类非一致高速缓冲存储器还需要额外的通路来执行交换,并且通常是路由系统,其中使用开关电路执行特定高速缓存组(cache bank)的选择。因此,希望提供一种可以支持多个未完成请求,针对频繁存取的值提供非常低的存取延迟,以及在不需要复杂的区域密集型路由电路以及LRU和驱逐逻辑的情况下提供此类操作的高速缓冲存储器和高速缓存操作方法。进而,希望提供此类在不需要重新组织高速缓存内容的情况下应用电源管理且具有改进的响应性的高速缓存。

发明内容
本发明提供了如权利要求1所述的方法以及相应的装置和计算机程序。本发明体现在螺旋高速缓冲存储器和操作方法中。所述螺旋高速缓冲存储器包含多个块(tile),所述块具有用于存储值的存储位置,每个块可以是诸如直接映射高速缓存或关联高速缓存之类的较小高速缓冲存储器。始终在到最前端块的接口处提供请求值,从高速缓存自身或包括所述高速缓存的存储器层级的更高阶级别提供这些值。如果高速缓存已满,则通过经由后备存储器接口逐出值来释放存储位置以便存储请求值。可以提供缓冲器和流控制逻辑来防止被写入后备存储器的逐出值溢出。所述螺旋高速缓存支持多个未完成请求,无需在向高速缓存发出另一请求之前将值返回到最前端块。可以通过将高速缓存分成可按块调整的活动和不活动部分来执行螺旋高速缓存的电源管理。划分不活动部分和活动部分的边界可以由全局控制逻辑来设置,也可以由块自身内的单独逻辑/控制算法来自动确定。通过下面对附图中所示的本发明优选实施例的更具体的描述,本发明的上述和其他目的、特征和优点将变得显而易见。


在所附权利要求中说明了被认为是本发明特性的新颖特征。但是,当结合附图阅读时,通过参考以下对本发明的详细说明,可以最佳地理解发明本身以及优选使用方式,进一步的目的和优点,其中相同的标号指示相同的组件,这些附图是图1A-1C是示出根据本发明的实施例的螺旋高速缓存内的放置技术的优点的画图示意图;图2是示出根据本发明的实施例的螺旋高速缓存内的值的动态重新排列的画图示意图;图3是根据本发明的实施例的螺旋高速缓存的方块图;图4A-4C是示出图3的螺旋高速缓存内的几何重试的方块图;图5是图3的螺旋高速缓存的方块图,示出了操作期间数据流的收缩时间线;图6是示出图3的螺旋高速缓存内的高速缓存微操作的时序图;图7A-7B是示出修改为在独占层级中结合移至前端放置策略的存储器层级的方
4块图,图7C是包括根据本发明的实施例的螺旋高速缓存的存储器层级的方块图;图8A和8B是示出根据本发明的实施例的螺旋高速缓存中的电源管理技术的方块图;图9是示出根据本发明的实施例的块管理式电源管理技术的流程图。
具体实施例方式简介本发明包括存储器电路以及操作方法,它们可体现在高速缓冲存储器结构中,所述高速缓冲存储器结构在结构上被组织为螺旋形并且自组织其内容以将最近存取的值放置在最前端中央存储位置,同时在每次存取时将其他值后移到除最前端中央存储位置之外的位置。所形成的体系结构提供根据本发明的实施例的行为,所述行为在到平铺结构的最前端块的接口处提供每个请求值,同时通过将不常请求的值逐出到后备存储器来为频繁请求的值腾出空间。所述螺旋结构还实现了电源管理,其通过根据可按块调整的边界将存储器划分为活动部分和不活动部分而降低存储器电路功耗。所述螺旋高速缓存的基本原理是传统的一致存取延迟随机存取存储器(RAM)模型对于单芯片体系结构不再有效。当今高时钟频率下跨大型裸片的信号传播延迟在数十个时钟周期的量级。同时,单芯片集成的优点使得大型片上高速缓冲存储器成为必要。大型而快速的高速缓冲存储器长期以来被视为难题,因为大型存储器需要较大空间范围,而快速存储器需要较小空间范围以便最小化传播延迟。根据本发明的螺旋高速缓存通过基本连续地动态移动高速缓存行而提供大型快速的高速缓存。根据本发明的螺旋高速缓存的关键特征包括1.小型快速(例如直接映射)高速缓存的平铺体系结构在技术和物理限制下平衡线延迟和缓存存取时间;2.使用移至前端试探动态地放置和替换高速缓存行且理论上保证最大存取时间;3.所述螺旋高速缓存的N个块的行为类似N-路关联高速缓存而没有诸如最近最少使用(LRU)计数器之类的传统簿记成本;4.所述螺旋高速缓存体系结构提供了能够保持多个存储器存取同时处于工作状态的无冲突收缩流水线,而没有路由或切换延迟并且无需数据缓冲来实现流控制;以及5.所述螺旋高速缓存体系结构实现自适应电源管理,所述自适应电源管理维护一组活动块中的值的工作集的压缩副本,同时能够使可动态调整的一组不活动块处于断电状态。如上所述,虽然提出了高速缓冲存储器的收缩体系结构,但在这些设计中,无论处于高速缓冲存储器中的哪个位置,针对每个请求值都存在最差存取延迟。在此类设计中,请求必须传送到高速缓冲存储器的远端,然后在返回处理器或其他请求方的路上遍历每个区块(或本发明使用的术语中的“块”)。所述螺旋高速缓冲存储器在每次存取时不会经历最差延迟。相反,大多数存取产生只存取最前端块的最佳延迟,因此所述螺旋高速缓存提供了改进的性能。其他流水线存储器体系结构需要内部缓冲器来控制通过一维存储器块层级的数据流。本发明的存储阵列不需要内部流控制缓冲器并且不限于一维设计。实际上,如以下实例中描述的螺旋高速缓存中体现的本发明的存储阵列利用欧几里得空间维度来减小最差存取延迟。根据本发明的一个实施例的存储阵列可以被视为所谓的非一致高速缓存体系结构(NUCA),所述非一致高速缓存体系结构可被实现为螺旋高速缓存。动杰高谏缓存放置为了减小频繁存取的值的存取时间并且如上所述,在此披露的示意性存储阵列在存取期间进行动态自组织以将较频繁存取的值放置到螺旋中心处的最前端位置,并将不常存取的值放置到螺旋外侧。对于大型快速VLSI设计而言,主要设计约束在于跨线的信号传播延迟,提供了以下说明以解释本发明的存储器体系结构的优点。空间存储器樽型为了说明线延时,下面通过示例引入了一种存储器模型,其中可以将宽度与一维存储器阵列的每个单元关联,如图IA中所示。当处理器P向存储单元7发出加载请求时, 请求信号跨存储单元1至6传播到存储单元7,并且存储单元7中存储的数据以相反方向传播回处理器P。为了使收缩实施方式提供存储单元1-7之间的移动(将作为螺旋高速缓存中的值移动机制进一步详细描述),必须在一个时钟周期内跨一个存储单元传送信号。如果存储单元1-7被实现为1位存储器,则所示存储器阵列的空间范围可以很小并且将支持高时钟频率以满足收缩设计的一个时钟周期要求。但是,如果存储单元被实现为较大的存储器结构,例如直接映射高速缓存或组关联高速缓存,则可以分配与存储器阵列的存取延迟匹配的时钟频率。存储器阵列越小,跨存储器阵列传送的信号的传播延迟就越短,因此与存储器阵列的存取延迟匹配的时钟频率就越高。第i个单元的存取延迟是从处理器P到单元 I的往返传播时间,表示为、=2x,或、=2i个时钟周期(假设信号在一个时钟周期内通过一个存储单元的距离)。因此,在所述示例中,存取存储单元7所需的时间X7是14个时钟周期。在下面的说明中,使用空间存储器模型比较高速缓存的放置算法。放置算法高速缓存放置算法确定程序地址到存储器位置(通常为高速缓存行)的映射。在常规高速缓存设计中,使用诸如最近最少使用(LRU)之类的放置算法来管理组关联体系结构的相同组(也称为同余类)内的行。在上面给定的空间存储器模型中,放置算法对平均存取延迟具有直接影响,即使整个工作集适合高速缓存并且没有由于冲突的未命中而发生逐出也是如此。可以使用样例存取跟踪观察不同放置算法对平均存取延迟的影响load A、load B、load C、load C、load B、load B。最简单的高速缓存放置算法(直接映射高速缓存设计中采用其变型)将行地址的最低有效位解释为高速缓存行的索引。现在参考图1B,提供了一个实例,其中映射从地址到存储器单元索引,其中地址A的值存储在存储单元7中,地址B的值存储在存储单元10 中,地址C的值存储在存储单元2中。要指出的是,上面的映射排除了处理器对值放置距离进行任何控制。可以通过计算样例存取跟踪的平均存取延迟来评估放置算法的有效性。假设高速缓存初始为空,由指令load A导致的第一次存取需要后备存储器存取,对应于地址 A的加载值存储在存储单元7中,则产生t7= 14个时钟周期的高速缓存存取延迟。接下来的两个加载指令load B和load C也需要后备存储器存取,而其余的三个指令直接在高速缓存外部提供。下表I中给出了存取延迟(以周期为单位)。
权利要求
1.一种在存储设备内缓存多个值的方法,其中所述存储设备包括在至少一个电通路中具有有序排列的多个存储块,所述至少一个电通路从所述多个存储块中的最前端存储块到所述多个存储块中的最后端存储块而互连所述多个存储块,所述方法包括将所述多个值存储在多个存储块中;在输入接口处接收对所述值的请求;响应于所述请求,通过与所述最前端存储块耦合的第一输出接口提供来自所述最前端存储块的所请求的值,其中在响应于对在所述输入接口处发出的先前请求值的先前请求而在所述第一输出接口处提供所述先前请求值之前,向所述输入接口发出多个请求;以及响应于腾空所述最前端存储块中的存储位置以存储特定的请求值,将所述多个值中除了所述最前端存储块中存储的值以外的一个值从第二输出接口逐出到存储器层级的更高阶级别。
2.如权利要求1中所述的方法,其中仅在所述多个存储块均被值占据时才执行所述逐出,并且进一步包括如果所述多个存储块未均被占据,则从所述存储器层级接收其他值而不逐出所述多个值之一。
3.如权利要求1中所述的方法,还包括将所述多个值中被逐出的值缓冲在队列中;以及根据流控制逻辑的操作来防止所述被逐出的值将输入溢出到所述存储器层级的更高阶级别。
4.如权利要求1中所述的方法,其中所述逐出从可动态选择的块位置逐出所述多个值之一,由此根据对所述可动态选择的块位置的选择来动态地调整存储电路的有效大小,并且其中所述方法进一步包括选择所述可动态选择的块位置以设置所述存储电路的有效大
5.如权利要求4中所述的方法,还包括移除从与所述可动态选择的块位置相邻的块延伸且远离所述最前端块的一组不活动块内的至少一个存储元件的电力,由此停用所述存储电路的不活动部分以降低所述存储电路中的功耗。
6.如权利要求4中所述的方法,其中所述移除包括在所述多个存储块内分别地判定是否要进入断电状态;以及其中响应于判定应进入断电状态,所述多个存储块进入断电状态。
7.一种装置,包括适于执行根据任一上述方法权利要求的方法的所有步骤的部件。
8.一种计算机程序,包括当所述计算机程序在计算机系统上执行时,用于执行根据任一上述方法权利要求的方法的所有步骤的指令。
全文摘要
一种螺旋高速缓冲存储器,通过自组织以始终将请求值移至螺旋高速缓冲存储器的最前端存储块而为频繁存取的值提供低存取延迟。如果所述螺旋高速缓存需要逐出值以便为移至所述最前端块的值腾出空间,则通过将值从所述高速缓存逐出到后备存储器来腾出空间。使用缓冲器连同流控制逻辑来防止逐出值的写入溢出到总体较慢的后备存储器。所述螺旋高速缓存中的块可以是单个存储位置,也可以组织为某种形式的高速缓冲存储器,例如直接映射高速缓存或组关联高速缓存。通过将所述螺旋高速缓存划分成可按块调整的活动和不活动分区,可以降低所述高速缓存的功耗。块产生的或全局的断电决策可以设置所述分区的大小。
文档编号G06F12/12GK102216914SQ200980145056
公开日2011年10月12日 申请日期2009年11月10日 优先权日2008年11月13日
发明者M·菲尔高, V·斯特伦彭 申请人:国际商业机器公司

最新回复(0)