用于大型数据缓存的有效标签存储制造技术

技术编号:9698664 阅读:90 留言:0更新日期:2014-02-21 12:10
本发明专利技术公开了一种用于在计算机系统中实现数据缓存的装置、方法和介质。所述装置包括第一数据缓存、第二数据缓存和缓存逻辑。所述缓存逻辑被配置成在所述第一数据缓存中缓存存储器数据。在所述第一数据缓存中缓存所述存储器数据包括在所述第一数据缓存中存储所述存储器数据并在所述第二数据缓存中,而非在所述第一数据缓存中存储对应于所述存储器数据的标签数据。

【技术实现步骤摘要】
【国外来华专利技术】用于大型数据缓存的有效标签存储专利技术背景构建更强大的计算机处理器的主要困难是处理内核可执行计算的速度与处理内核可从其上的存储器检索数据以执行那些计算的速度之间相差悬殊。尽管近年来已针对“存储器间隙”做出了很多努力,但是处理能力仍继续超过存储器的速度。此外,由于当今的计算机处理器逐渐地变成多核(即包括多个计算单元,每个计算单元均被配置成执行软件指令的对应流),对存储器带宽的需求持续增长。为什么对存储器(例如,晶片外动态随机存取存储器)的访问已不足以满足对增长的多核处理器的吞吐量需求的一个原因是1/0(输入/输出)引脚的有限可扩展性。堆栈存储器或3D堆栈是最近的提案,其通过将存储器直接堆栈在处理器上来解决该限制,从而显著地减少在处理器与存储器之间的线延迟。例如,可使用结合有密集、低延迟、高带宽的垂直互连的多层活性硅构造堆栈存储器电路。与传统的晶片外DRAM相比,堆栈存储器提供了增加的数据带宽、减少的延迟和较低的能量要求。存储器堆栈还能使计算机设计师合并不同的存储器技术,如高速CMOS (互补金属氧化物半导体)、高密度的DRAM、eDRAM和/或其它。堆栈存储器技术已用于实现大型最末级数据缓存(即缓存层次结构的最低级别),如L4缓存。对于适应现代应用的相当大的存储器占用和/或多核处理器的高存储器需求而目,大型最末级缓存可能是理想的。使用堆栈存储器(即堆栈存储器缓存)实现大型最末级缓存具有数个优点。例如,可通过硬件而非软件管理该类缓存,这可允许缓存轻易地适应应用相变并且避免与晶片内和晶片外的数据传送相关联的转址旁路缓冲器(TLB)的清空。此外,由于传统缓存是使用无效率地消耗芯片空间的快速但昂贵的静态存储器(例如,SRAM)而实现的,因此它们的生产成本高、具有小容量并且在固定的配置(例如,关联性、块大小等)中进行配置的。与此相反,可使用动态存储器(例如,DRAM)实现堆栈存储器缓存,与用于构建传统缓存的静态存储器相比,动态存储器更便宜且更密集。对应地,堆栈存储器缓存可按低于传统的基于SRAM的技术的成本提供大型最末级缓存。专利技术概要本专利技术公开了一种用于在计算机系统中实现数据缓存的装置、方法和介质。装置包括第一数据缓存、第二数据缓存和缓存逻辑。缓存逻辑被配置成在第一数据缓存中缓存存储器数据。在第一数据缓存中缓存存储器数据包括在第一数据缓存中存储存储器数据并在第二数据缓存中,而非在第一数据缓存中存储对应于存储器数据的标签数据。在一些实施例中,第一数据缓存可在运行时间动态地重新配置。例如,软件(例如,操作系统)可通过修改第一数据缓存和/或第二数据缓存的一个或多个配置寄存器而修改第一数据缓存的大小、块大小、块的数量、关联级别和/或其它参数。在一些实施例中,响应于对在一个或多个处理器上执行的工作负荷的特定特征的检测,软件可重新配置第一数据缓存。在各种实施例中,第一和第二数据缓存可实现数据缓存层次结构中的相应级别。例如,第一数据缓存可实现在缓存层次结构中位于由第二数据缓存实现的级别下方的级别(例如,第一数据缓存实现L4缓存且第二数据缓存实现L3缓存)。在一些实施例中,第一数据缓存可以是大型最末级缓存,其可使用堆栈存储器而实现。附图简述图1为示出根据一些实施例的包括具有L3-实现的标签阵列的可重新配置的L4数据缓存的处理器各组件的框图。图2为示出根据一些实施例的给定缓存可将给定的存储器地址分解成的各字段的框图。图3a为示出根据各实施例的可如何保留一些L3缓存块以存储L4标签的框图。图3b示出根据一些实施例的可用于存储缓存标签的标签结构。图4a示出根据一些实施例的L3缓存逻辑可包括的用于实现可重新配置的L4缓存的各寄存器。图4b示出根据一些实施例的L4缓存逻辑可包括的用于实现可重新配置的L4缓存的各寄存器。图5为示出根据一些实施例的用于查阅存储在L3缓存中的L4标签以确定L4缓存是否存储有与给定 存储器地址对应的数据的方法的流程图。图6示出在DRAM页上的缓存块的实例布置,其中每一页均存储有物理连续的存储器。图7为示出根据一些实施例的用于定位与给定的物理地址对应的L4缓存块的方法的流程图。图8为示出根据一些实施例的在运行时间对L4缓存进行重新配置的方法的流程图。图9为示出根据一些实施例的用于可重新配置的缓存实施方式的配置寄存器的4个实例配置的表。图10为示出根据一些实施例的被配置成利用如本文所述的堆栈DRAM缓存的计算机系统的框图。【具体实施方式】本说明书包括参考“一个实施例”或“实施例”。短语“在一个实施例中”或“在实施例中”的出现并不一定是指相同的实施例。可通过任何符合本公开的合适方式结合特定特性、结构或特征。术语。以下段落提供了用于在本公开(包括所附权利要求)中所发现术语的定义和/或语境:“包括”。该术语是开放式的。如在所附权利要求中所使用的,该术语并不排除附加的结构或步骤。考虑一个权利要求,其叙述:“一种装置,包括一个或多个处理单元……”这样的权利要求并不排除包括附加组件(例如,网络接口单元、图形电路等)的装置。“被配置成”。各单元、电路或其它组件均可被描述或要求为“被配置成”执行一个任务或多个任务。在这样的语境下,“被配置成”用于通过指示单元/电路/组件包括在操作中执行那项任务或那些任务的结构(例如,电路系统)而表示结构的内涵。同样的,单元/电路/组件可以被说成是被配置成执行任务即使当指定的单元/电路/组件当前并未操作(例如,未开启)。与“被配置成”语言一同使用的单元/电路/组件包括硬件一例如,电路,存储有可执行以实现操作等的程序指令的存储器等。叙述单元/电路/组件“被配置成”执行一个或多个任务明确地王旨在调用35U.S.C.§ 112的第6段以用于该单元/电路/组件。此外,“被配置成”可包括通用结构(例如,通用电路系统),其由软件和/或固件(例如,执行软件的FPGA或通用处理器)所操控以按能够执行待裁决任务的方式操作。“被配置成”还可包括使加工过程(例如,半导体制造设施)适于制造适于实现或执行一个或多个任务的设备(例如,集成电路)。“第一”、“第二”等。如本文所使用的,这些术语用作位于其之后的名词的标记且不暗示任何类型的顺序(例如,空间上、时间上、逻辑上等)。例如,在具有8个处理元件或内核的处理器中,术语“第一”和“第二”处理元件可用于指8个处理元件中的任意两个。换句话说,“第一”和“第二”处理元件不限于逻辑处理单元O和I。“基于”。如本文所使用的,该术语用于描述影响确定的一个或多个因素。该术语并不排除可能会影响确定的附加因素。即,确定可仅基于那些因素或至少部分地基于那些因素。考虑短语“基于B确定A”。虽然B可能是影响对A的确定的因素,但是这样的短语并不排除对A的确定还基于C。在其它情况下,可仅基于B而确定A。由于处理器需要支持应用的越来越大的存储器占用以及多编程级别的增加,缓存的大小正在以极高的速度增加。堆栈存储器承诺提供显著的大芯片区域,其可用于实现大型最末级DRAM缓存,且该缓存的大小范围从几百兆字节至未来更大。在构建大的堆栈DRAM缓存中的一个困难是需支持这样的缓存的标签阵列的大小会消耗显著的芯片区域。缓存通常被组织成两个单独的阵列:数据阵列和标签阵列。数据阵列条目持有源自相应存储器块的存储器数本文档来自技高网...

【技术保护点】
一种装置,其包括:第一数据缓存;第二数据缓存;以及缓存逻辑,其被配置成通过下列方式在所述第一数据缓存中缓存存储器数据:在所述第一数据缓存中存储所述存储器数据;以及在所述第二数据缓存中,而非在所述第一数据缓存中存储对应于所述存储器数据的标签数据。

【技术特征摘要】
【国外来华专利技术】2011.05.10 US 13/104,8651.一种装置,其包括: 第一数据缓存; 第二数据缓存;以及 缓存逻辑,其被配置成通过下列方式在所述第一数据缓存中缓存存储器数据: 在所述第一数据缓存中存储所述存储器数据;以及 在所述第二数据缓存中,而非在所述第一数据缓存中存储对应于所述存储器数据的标签数据。2.根据权利要求1所述的装置,其中所述第一和第二数据缓存实现处理器的数据缓存层次结构中的相应级别。3.根据权利要求2所述的装置,其中由所述第一数据缓存实现的所述级别在所述缓存层次结构中位于由所述第二数据缓存实现的所述级别的下方。4.根据权利要求1所述的装置,其中使用堆栈存储器在所述处理器上实现所述第一数据缓存。5.根据权利要求4所述的装置,其中: 所述堆栈存储器被组织成多个存储器页,其中所述缓存逻辑被配置成在每个存储器页中存储对应于物理系统存储器的连续区域的存储器数据。6.根据权利要求1·所述的装置,其中所述第一数据缓存可在运行时间动态地重新配置。7.根据权利要求6所述的装置,其中所述第一数据缓存可在运行时间动态地重新配置以修改所述第一数据缓存的大小、块大小、块的数量或关联级别。8.根据权利要求6所述的装置,其中响应于操作系统做出的确定,所述第一数据缓存在运行时间通过所述操作系统动态地重新配置,其中所述确定取决于所述处理器的工作负荷的一个或多个特征。9.根据权利要求6所述的装置,其中重新配置所述第一数据缓存包括修改所述第一数据缓存的一个或多个配置寄存器,其中所述配置寄存器可用于确定存储有对应于所述第一数据缓存的给定块的标签信息的所述第二数据缓存的块。10.根据权利要求6所述的装置,其中所述重新配置包括,操作系统执行下列操作: 冻结在所述处理器上执行的一个或多个线程的执行; 获取将所述处理器连接至系统存储器的存储器总线上的锁定; 将脏块写回至存储器中; 使所述第一数据缓存中的数据无效; 释放在所述存储器总线上的所述锁定;以及 恢复所述一个或多个线程的执行。11.一种方法,其包括: 处理器在第一数据缓存中缓存由所述处理器访问的存储器数据; 所述处理器在第二数据缓存中,而非在所述第一数据缓存中存储用于所述访问的存储器数据的标签数据。12.根据权利要求11所述的方法,其中所述第一和第二数据缓存实现所述处理器的数据缓存层次结构中的相应级别,其中由所述第一数据缓存实现的所述级别位于由所述第二数据缓存实现的所述级别的...

【专利技术属性】
技术研发人员:钟在雄尼兰詹·孙达拉拉詹
申请(专利权)人:超威半导体公司
类型:
国别省市:

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

1