从动态随机存取存储器到静态随机存取存储器的预取的制作方法

文档序号:6780077阅读:108来源:国知局
专利名称:从动态随机存取存储器到静态随机存取存储器的预取的制作方法
技术领域
本发明的实施例总体上涉及集成电路领域,并且尤其涉及用于进行从动态随机存取存储器(DRAM)到静态随机存取存储器(SRAM) 的预取的系统、方法和设备。
背景技术
工业芯片设计正朝着单芯片多处理器(CMP)方向发展。与高频 单处理器相比,CMP提供的性能得到改善并且使功耗减小。CMP使 用相对简单的内核,并且依靠线程级并行(TLP)来改善性能。在 CMP上运行的应用程序必须增加TLP以有效利用内核数。然而,增加TLP加大了每个时钟上未完成的存储器请求的数量, 这也增加了存储器级并行(MLP)。此外,多线程应用程序的数据工 作区将可能随着线程数而增加。最后,由于从几个线程进行交叉存取, 增加TLP也有可能增加对共用高速缓存的存取的随机性。因此,存 储器带宽和高速缓存容量应该与内核数成比例以支持增加的MLP和 数据覆盖区。最近,有人提出将三维(3D)管芯叠置作为用于在微处理器管 芯上叠置密集的存储器管芯(例如DRAM)的可行选项。叠置允许 将完全不同的Si技术结合到管芯叠置中,而不用考虑朝着单一工艺 流程的技术集成。叠置还使用贯穿硅的通孔在管芯之间提供很高带宽 的接口。因此,CMP上存储器(例如DRAM)的3D叠置可以有效 地解决对于CMP縮放(scaling)的存储器分级障碍。DRAM通常使一个开放行保持激活直到需要另一行,以减少存取的等待时间。该技术被称为开放页策略(open page policy),并且 如果对DRAM的连续存取是针对同一开放页,则该技术以最佳状态 工作。否则,存储体关闭和预充电损失会显著增加对存储体进行存取 的总等待时间。传统上,在DRAM设计中每个存储体只有一个开放 页。


以示例性而非限制性的方式示出本发明的实施例,在附图的各个 图中,相似的参考标记表示相似的元件。图1是示出根据本发明实施例实施的计算系统的所选方案的方 框图;图2是示出根据本发明实施例的块传送(block transfer)的概念图;图3是示出根据本发明实施例实施的计算系统的所选方案的高 级方框图;图4是示出其中共用L2高速缓存的实施例的高级方框图; 图5是示出其中在高速缓存分级体系中在不同级上使用预取逻 辑的实施例的高级方框图;图6是示出根据本发明实施例的块传送的所选方案的流程图; 图7是根据本发明实施例实施的半导体器件的截面图。
具体实施方式
经验表明,对DRAM的存取位置可能随访问DRAM的线程数量 的增加而更加随机。由于DRAM具有有限数量的存储体(例如16个), 所以开放页的数目会随着线程数的增加而显著增加。因此,存储体过 载的结果会显著影响系统的性能。本发明的实施例一般涉及用于进行从动态随机存取存储器(DRAM)到静态随机存取存储器(SRAM)的预取的系统、方法和 设备。在一些实施例中,将两条或更多条高速缓存线(cache line)从 DRAM中的开放页传送到SRAM。该传送可以在密集的互连(例如 管芯至管芯的通孔)上发生。如以下进一步所述,本发明的实施例可 以有效地提供适于CMP缩放的存储器资源。图1是示出根据本发明实施例实施的计算系统的所选方案的方 框图。计算系统100包括通过互连106与DRAM 104耦合的(多个) 内核102。内核102几乎可以是集成电路的任意内核逻辑,包括通用 处理内核、图形内核等。在一些实施例中,内核102是管芯(例如 CMP)上的多个内核中的一个。内核102包括指令处理逻辑108、 Ln高速缓存(例如L2高速缓 存)110以及预取(PF)逻辑112。指令处理逻辑108可以包括一个 或多个用于处理指令的单元,例如指令指针、解码逻辑、寄存器以及 Ll高速缓存。在一些实施例中,指令逻辑108还可以包括用于产生 预取提示(prefetch hint)(例如预取提示114)的逻辑。预取提示泛 指两个或更多个载入指令可能从同一高速缓存页请求数据的指示。在 一些实施例中,预取提示可以是由基于指令指针(IP)历史的步幅检 测(stride detection)机制产生的置信度值。在可选实施例中,可以用 不同的机制来产生预取提示。Ln高速缓存110和PF逻辑112通过互连116 (例如L2总线) 与指令处理逻辑108耦合。在一些实施例中,如果L1高速缓存缺失, 则将该缺失和预取提示114发送(直接或者通过存储器分级体系中的 一个或多个级)到Ln高速缓存110和/或预取逻辑112。预取逻辑112 可以至少部分基于预取提示114确定是否从DRAM 104的开放页预 取两条或更多条高速缓存线。例如,如果预取提示114指示出很有可 能多个LOAD指令将要展现流型的(streaming)行为,则PF逻辑112 可以将整个开放页的数据从DRAM 104传送到Ln高速缓存110。在一些实施例中,PF逻辑112可以包括用于例如如果互连106 的使用程度太高则调节(throttle)预取的逻辑。在这种实施例中,PF 逻辑112可以将由预取提示114提供的置信度(例如,高、中、或低) 与互连使用程度的指示进行比较,并且确定是否从DRAM 104预取 数据。这里使用的术语"数据"泛指任何类型的采用内核102可识别 的任何形式的信息,包括指令。DRAM 104几乎可以是任何形式的DRAM,包括商用DRAM、 低延时的DRAM (RLDRAM)、磁性随机存取存储器(MRAM)等。 此外,DRAM 104几乎可以具有任何数量的存储体,所述存储体几乎 具有任意的页大小。在一些实施例中,DRAM 104具有16个存储体 并且每一页是4千字节(KB)。互连106可以是广范围的管芯至管芯和/或芯片至芯片互连中的 任何一种。在一些实施例中,内核102和DRAM 104垂直叠置并且 互连106是高密度管芯至管芯通孔。在可选实施例中,内核102和 DRAM 104—起封装在多芯片模块中并且互连106在模块中的(至少) 一些芯片之间提供高密度互连。在其他的可选实施例中,内核102和 DRAM 104可以处于不同的封装中并且互连106连接这些封装。图2是示出根据本发明实施例的块传送的概念图。将DRAM 202 组织成一个或多个高速缓存页204。在一些实施例中,DRAM 202在 任意给定时间(假设器件在工作中)都有一个高速缓存页是开放的。 例如,在所示的实施例中,高速缓存页206开放。每个高速缓存页由 两条或更多条高速缓存线208组成,每条高速缓存线208具有两个或 更多个字节的数据。在一些实施例中,预取逻辑(例如图1所示的预 取逻辑112)将两条或更多条高速缓存线构成的一个块从开放DRAM 高速缓存页206传送到SRAM 210。传送一块的高速缓存线的决定可 以至少部分基于预取提示(例如图1所示的预取提示114)。下面参 照图3-7进一步说明数据从DRAM到SRAM的块传送。图3是示出根据本发明实施例实施的计算系统的所选方案的高 级方框图。系统300包括多个内核302。内核302可以是包括通用处 理内核和图形内核在内的各种内核的任何一种。在一些实施例中,每 个内核具有专用的Ll高速缓存304和专用的L2高速缓存306。此外, 每个内核(或者内核的子集)可以包括PF逻辑308。在一些实施例中,DRAM L3高速缓存310处在与包含内核302 的管芯垂直叠置的管芯上。在这种实施例中,L3总线314可以是高 密度管芯至管芯互连。大容量DRAM 312提供系统存储器并且可以 包括与内核302和DRAM L3高速缓存310分开的多个存储器件。在一些实施例中,PF逻辑308将两条或更多条高速缓存线从 DRAM L3高速缓存的开放页传送到SRAM L2高速缓存。传送一块 的高速缓存线的决定可以至少部分基于从内核302上的指令处理逻 辑(例如,图1所示的指令处理逻辑102)提供给PF逻辑308的预 取提示。此外,传送一块的高速缓存线的决定可以至少部分基于总线 314经历的使用程度。在一些实施例中,PF逻辑308可以将存储器的 一整页从DRAM L3 310传送到SRAM L2 306。图4是示出其中共用L2高速缓存的实施例的高级方框图。在所 示的实施例中,每个内核302具有专用的L1高速缓存并且这些内核 共用L2高速缓存402。如果Ll高速缓存304缺失,则将该缺失和预 取提示发送到L2高速缓存402和/或PF逻辑404。在一些实施例中, PF逻辑404至少部分基于预取提示决定是否传送来自DRAML3 310 的两条或更多条高速缓存线。此外,预取逻辑404可以基于其他因素 进行传送决定,所述其他因素包括L3总线314的使用程度。图5是示出其中在高速缓存分级体系中在不同级上使用预取逻 辑的实施例的高级方框图。在一些实施例中,可以将高速缓存缺失(例 如Ll和L2高速缓存都缺失)和预取提示发送到DRAML3高速缓存 502和/或PF逻辑504。 PF逻辑504可以至少部分基于预取提示(以及可能的其他因素,例如总线使用程度)将两条或更多条高速缓存线从大容量DRAM 312的开放页传送到DRAM L3高速缓存502。预取 逻辑308又可以将两条或更多条高速缓存线从DRAM L3高速缓存 502传送到SRAM L2高速缓存306。尽管所示的实施例显示出两级 批预取,但是应该理解的是,可以几乎在任意个级的高速缓存上,任 意多次地执行一块的高速缓存线的批传送。图6是示出根据本发明实施例的块传送的所选方案的流程图。参 照处理方框602,预取逻辑(例如,图1所示的预取逻辑112)接收 与LOAD指令相关的预取提示。在一些实施例中,由基于IP的步幅 检测算法产生预取提示。在这种实施例中,预取提示可以指示随后的 LOAD指令具有单调增加或减少的地址步幅的可能性有多大。在一些 实施例中,预取提示可以具有任何数量的值,表示关于随后的LOAD 指令是否具有单调增加或减少的地址步幅的置信程度。例如,预取提 示可以表示高、中或低的置信度。或者,可以使用几乎任何方案来表 示置信度。参照处理方框604, PF逻辑可以基于一个或多个条件或因素来调 节块预取。术语"调节"可以指包括延迟传送、取消传送、改变传送 大小等的多种行为。触发调节传送的条件可以包括其上将要发生传 送的互连的使用程度、预取提示、功率节省程度等。如虚线所示,在 一些实施例中调节机制是任选的。参照处理方框606, PF逻辑至少部分基于预取提示将两条或更 多条高速缓存线从DRAM传送到SRAM。例如,如果预取提示指示 多个LOAD指令具有单调增加或减少的地址步幅的可能性很大,则 PF逻辑可以将一块的高速缓存线传送到高速缓存中以增加所请求的 数据存储在高速缓存中的可能性。DRAM可以是高速缓存分级体系 的一部分和/或大容量存储器的元件。此外,SRAM可以存在于高速 缓存分级体系中的几乎任何一级中。图7示出根据本发明实施例的半导体器件700的截面图。器件 700可以包括封装702、管芯728、管芯730以及管芯至管芯通孔726。 一个或多个突起704-1至704-N (这里总称为"突起704")可以允许 电信号在封装702和管芯728之间传递,所述电信号包括功率、接地、 时钟和/或输入/输出(I/O)信号。管芯728可以包括一个或多个贯穿 管芯的通孔706,以使信号在凸起704和管芯730之间传递。器件700 还可以包括散热装置(heat sink) 708以考虑到散发由管芯730和域 器件700所产生的热量。管芯728和730可以包括各种层。例如,管芯728可以包括体硅 (SI)层710、有源Si层712和金属叠层714。管芯730可以包括金 属叠层720、有源Si层722以及体Si层724。如图2所示,通孔726 可以分别通过金属叠层714和720与管芯728和730互相连接。在一 个实施例中,管芯728可以比管芯730更薄。例如,管芯728可以包 括存储器件(例如随机存取存储器件),而管芯730可以包括一个或 多个处理器内核和/或共用的或专用的高速缓存。管芯730包括一个或多个PF逻辑732的实例。在一些实施例中, PF逻辑732可以将两条或更多条高速缓存线从管芯728中的DRAM 传送到管芯730中的SRAM。该传送可以通过管芯至管芯通孔726 进行。在一些实施例中,管芯至管芯通孔726的相对高的带宽能够使 PF逻辑732传送成块的多条高速缓存线而不会显著增加等待时间。器件700可以包括用于例如将其他元件集成到同一器件或系统 中的附加管芯。在这种实施例中,可以使用管芯至管芯和/或贯穿管 芯的通孔以在各个管芯之间传递信号(例如,如对于通孔726和706 所讨论的那样)。还可以作为用于存储机器可执行的指令的机器可读介质来提供 本发明实施例的元件。机器可读介质可以包括但不限于,闪速存储器、 光盘、光盘只读存储器(CD-ROM)、数字多用/视频盘(DVD) ROM、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电 可擦除可编程只读存储器(EEPROM)、磁卡或光卡、传播介质或者 适于存储电子指令的其他类型的机器可读介质。例如,本发明的实施 例可以作为计算机程序来下载,可以经由通信链路(例如调制解调器 或网络连接)以包含在载波或者其他传播介质中的数据信号的方式将 所述计算机程序从远程计算机(例如服务器)传送到请求方计算机(例 如客户机)。应该理解的是,在整个说明书中所提到的"一个实施例"或"实 施例"是指关于该实施例所述的特定的特征、结构或特性包括在本发 明的至少一个实施例中。因此,要强调且应该理解的是,在本说明书 的各个部分中两次或更多次提到的"实施例"或"一个实施例"或"可 选实施例"并不一定都指同一个实施例。此外,可以在本发明的一个 或多个实施例中适当组合特定的特征、结构或特性。类似地,应该理解的是,在以上对本发明实施例进行的说明中, 为了简化公开内容以有助于理解本发明各个方案中的一个或多个,有 时候在本发明的单个实施例、附图以及说明中将各种特征组合在一起。然而,不应将公开的该方法解释为反映如下意图所要求的主题 需要比明确记载在每个权利要求中的特征更多的特征。相反地,如所 附的权利要求书所反映的那样,发明方案在于少于前面所公开的单个 实施例的所有特征。因此,所附的权利要求书被明确并入到本申请的 说明书中。
权利要求
1、一种集成电路,包括用于提供预取提示的内核逻辑;以及耦合到所述内核逻辑的预取逻辑,所述预取逻辑用于至少部分基于所述预取提示将两条或更多条高速缓存线从动态随机存取存储器(DRAM)中的开放页传送到静态随机存取存储器(SRAM)。
2、 根据权利要求1所述的集成电路,其中所述两条或更多条高 速缓存线包括存储器页。
3、 根据权利要求1所述的集成电路,其中所述预取逻辑通过高 密度接口传送所述两条或更多条高速缓存线。
4、 根据权利要求3所述的集成电路,其中所述高密度接口为管 芯至管芯通孔。
5、 根据权利要求3所述的集成电路,其中所述高密度接口为贯 穿硅的通孔。
6、 根据权利要求1所述的集成电路,其中所述DRAM包括大容量存储器。
7、 根据权利要求1所述的集成电路,其中所述DRAM提供某一 级的高速缓存,并且所述SRAM提供更高一级的高速缓存。
8、 根据权利要求7所述的集成电路,其中所述某一级的高速缓 存是L3高速缓存,并且所述更高一级的高速缓存是L2高速缓存。
9、 根据权利要求1所述的集成电路,其中所述预取提示指示与 传送所述两条或更多条高速缓存线相关联的置信度。
10、 根据权利要求9所述的集成电路,还包括调节逻辑,其中所述调节逻辑能够至少部分基于互连使用程度和 所述预取提示调节所述两条或更多条高速缓存线的所述传送。
11、 根据权利要求8所述的集成电路,其中所述内核逻辑包括多 个处理内核中的一个。
12、 根据权利要求8所述的集成电路,其中所述内核逻辑包括图 形内核。
13、 一种方法,包括 接收与载入指令相关联的预取提示;以及至少部分基于所述预取提示,将两条或更多条高速缓存线从动态 随机存取存储器(DRAM)中的开放页传送到静态随机存取存储器 (SRAM)。
14、 根据权利要求13所述的方法,其中所述预取提示指示与传 送所述两条或更多条高速缓存线相关联的置信度。
15、 根据权利要求14所述的方法,其中所述置信度是三个或更 多个值中的一个。
16、 根据权利要求15所述的方法,其中所述三个或更多个值包 括高、中和低。
17、 根据权利要求13所述的方法,还包括 至少部分基于互连使用程度和所述预取提示调节所述两条或更多条高速缓存线的传送。
18、 根据权利要求13所述的方法,其中从所述DRAM中的开放 页传送所述两条或更多条高速缓存线包括从所述DRAM中的开放页传送高速缓存页。
19、 根据权利要求13所述的方法,其中所述DRAM包括大容量存储器。
20、 根据权利要求13所述的方法,其中所述DRAM提供某一级 的高速缓存。
21、 一种系统,包括包括动态随机存取存储器(DRAM)的第一管芯; 第二管芯,包括用于提供预取提示的内核逻辑,以及 耦合到所述内核逻辑的预取逻辑,所述预取逻辑用于至少部 分基于所述预取提示将两条或更多条高速缓存线从所述DRAM中的 开放页传送到静态随机存取存储器(SRAM);以及 耦合在所述第一管芯和第二管芯之间的互连。
22、 根据权利要求21所述的系统,其中所述两条或更多条高速缓存线包括存储器页。
23、 根据权利要求21所述的系统,其中所述互连是管芯至管芯 通孔。
24、 根据权利要求21所述的系统,其中所述DRAM提供某一级 的高速缓存,并且所述SRAM提供更高一级的高速缓存。
25、 根据权利要求21所述的系统,其中所述预取提示指示与传 送所述两条或更多条高速缓存线相关联的置信度。
26、 根据权利要求21所述的系统,其中所述内核逻辑包括多个 处理内核中的一个。
27、 根据权利要求21所述的系统,其中所述内核逻辑包括图形 内核。
全文摘要
本发明的实施例总体上涉及用于进行从动态随机存取存储器(DRAM)到静态随机存取存储器(SRAM)的预取的系统、方法和设备。在一些实施例中,预取逻辑接收与载入指令相关联的预取提示。预取逻辑可以至少部分基于预取提示将两条或更多条高速缓存线从DRAM中的开放页传送到SRAM。
文档编号G11C7/10GK101241475SQ20071030079
公开日2008年8月13日 申请日期2007年12月21日 优先权日2006年12月22日
发明者B·P·布莱克, D·W·麦考利, J·P·德瓦勒, M·M·安纳瓦莱姆 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1