《标签和数据共同存储在物理行中的DRAM高速缓存.pdf》由会员分享,可在线阅读,更多相关《标签和数据共同存储在物理行中的DRAM高速缓存.pdf(19页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103959260 A (43)申请公布日 2014.07.30 CN 103959260 A (21)申请号 201280059143.9 (22)申请日 2012.11.21 13/307,776 2011.11.30 US G06F 12/08(2006.01) G06F 12/12(2006.01) G11C 7/10(2006.01) (71)申请人 超威半导体公司 地址 美国加利福尼亚州 (72)发明人 加布里埃尔H洛 马克D希尔 (74)专利代理机构 上海胜康律师事务所 31263 代理人 李献忠 (54) 发明名称 标签和数据共同存储在物理行中的 DR。
2、AM 高 速缓存 (57) 摘要 本发明公开了一种用于在计算系统的大型基 于行的存储器中进行有效高速缓存数据存取的系 统和方法。计算系统包括处理单元和集成三维 (3D)动态随机存取存储器(DRAM)。 所述处理单元 将3DDRAM用作高速缓存。 所述 3D DRAM 的存储器 阵列组中的多行中的每一行至少存储多个高速缓 存标签和由所述多个高速缓存标签指示的多条相 应高速缓存线。响应于从所述处理单元接收存储 器请求, 所述 3D DRAM 根据所述接收的存储器请 求在由所述接收的存储器请求内的高速缓存标签 指示的给定高速缓存线上执行存储器存取。可以 使用单个复杂 DRAM 事务而不是使用多个 D。
3、RAM 事 务来降低延迟和功耗。 (30)优先权数据 (85)PCT国际申请进入国家阶段日 2014.05.30 (86)PCT国际申请的申请数据 PCT/US2012/066217 2012.11.21 (87)PCT国际申请的公布数据 WO2013/081932 EN 2013.06.06 (51)Int.Cl. 权利要求书 2 页 说明书 11 页 附图 5 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书11页 附图5页 (10)申请公布号 CN 103959260 A CN 103959260 A 1/2 页 2 1. 一种动态随机存取存储器 (。
4、DRAM), 其包括 : 多个行, 其中每一行被配置来至少存储(i)多个高速缓存标签和(ii)由所述多个高速 缓存标签指示的多个高速缓存线 ; 和 控制电路, 其被配置来 : 接收存储器请求 ; 和 根据所述接收的存储器请求在由所述接收的存储器请求内的第一高速缓存标签指示 的给定高速缓存线上执行存储器存取, 其中执行所述存储器存取包括存储所述给定高速缓 存线的所述多个行的各自行的单个读取。 2.根据权利要求1所述的DRAM, 其中所述控制电路还被配置来确定所述接收的存储器 请求内的所述第一高速缓存标签与存储在所述各自行中的所述多个高速缓存标签的第二 高速缓存标签匹配。 3.根据权利要求2所述的。
5、DRAM, 其中所述多个行的每个行还被配置来存储对应于所述 多个高速缓存标签的元数据, 其中所述元数据包括下列中的至少一个 : 高速缓存替换状态、 脏位、 有效位和高速缓存一致性值。 4.根据权利要求3所述的DRAM, 其中用存储所述给定高速缓存线的所述各自行的单个 读取执行所述存储器存取包括基于所述存储器存取更新所述元数据。 5. 一种系统级封装 (SIP), 其包括 : 位于第一芯片上的处理单元, 其被配置来生成存储器请求 ; 和 位于第二芯片上的动态随机存取存储器 (DRAM), 其包括多个行, 其中所述 DRAM 被耦接 到所述第一芯片且被配置来 : 在所述多个行的相同行中至少存储多个。
6、高速缓存标签和由所述多个高速缓存标签指 示的多条高速缓存线 ; 从所述处理单元接收存储器请求 ; 和 根据所述接收的存储器请求在由所述接收的存储器请求内的第一高速缓存标签指示 的给定高速缓存线上执行存储器存取, 其中执行所述存储器存取包括存储所述给定高速缓 存线的所述多个行的各自行的单个读取。 6.根据权利要求5所述的系统, 其中所述DRAM还被配置来确定所述接收的存储器请求 内的所述第一高速缓存标签与存储在所述各自行中的所述多个高速缓存标签的第二高速 缓存标签匹配。 7. 根据权利要求 6 所述的系统, 其中所述第二高速缓存标签在所述各自行内的位置指 示所述给定高速缓存线在所述各自行内的位置。
7、。 8.根据权利要求7所述的系统, 其中所述DRAM还被配置来在所述多个行的相同行中存 储对应于所述多个高速缓存标签的元数据, 其中所述元数据包括下列中的至少一个 : 高速 缓存替换状态、 脏位、 有效位和高速缓存一致性值。 9. 根据权利要求 8 所述的系统, 其中用存储所述给定高速缓存线的所述各自行的单个 读取执行所述存储器存取包括基于所述存储器存取更新所述元数据。 10. 根据权利要求 7 所述的系统, 其中所述存储器请求包括所述第一高速缓存标签和 识别所述各自行的 DRAM 地址。 11. 根据权利要求 7 所述的系统, 其中所述 DRAM 是三维 (3D) 集成电路 (IC)。 权 。
8、利 要 求 书 CN 103959260 A 2 2/2 页 3 12. 根据权利要求 11 所述的系统, 其中所述处理单元是下列中的至少一个 : 通用微处 理器、 图形处理单元 (GPU)、 加速处理单元 (APU) 和现场可编程门阵列 (FPGA)。 13. 一种方法, 其包括 : 在动态随机存取存储器 (DRAM) 的多个行的相同行中至少存储一个或多个高速缓存标 签和由所述一个或多个高速缓存标签指示的一条或多条高速缓存线 ; 从耦接到所述 DRAM 的处理单元接收存储器请求 ; 和 根据所述接收的存储器请求在由所述接收的存储器请求内的第一高速缓存标签指示 的给定高速缓存线上执行存储器存取。
9、, 其中执行所述存储器存取包括存储所述给定高速缓 存线的各自行的单个读取。 14. 根据权利要求 13 所述的方法, 其还包括确定所述接收的存储器请求内的所述第一 高速缓存标签与存储在所述各自行中的所述一个或多个高速缓存标签的第二高速缓存标 签匹配。 15. 根据权利要求 14 所述的方法, 其中所述第二高速缓存标签在所述各自行内的位置 指示所述给定高速缓存线在所述各自行内的位置。 16. 根据权利要求 15 所述的方法, 其还包括在所述一个或多个行的相同行中存储对应 于所述多个高速缓存标签的元数据, 其中所述元数据包括下列中的至少一个 : 高速缓存替 换状态、 脏位、 有效位和高速缓存一致性。
10、值。 17. 根据权利要求 16 所述的方法, 其中用存储所述给定高速缓存线的所述各自行的单 个读取执行所述存储器存取包括基于所述存储器存取更新所述元数据。 18. 根据权利要求 15 所述的方法, 其还包括在所述存储器请求内除发送识别所述各自 行的 DRAM 地址以外还发送所述第一高速缓存标签。 19. 根据权利要求 15 所述的方法, 其中所述 DRAM 是三维 (3D) 集成电路 (IC)。 20. 根据权利要求 18 所述的方法, 其中所述处理单元是下列中的至少一个 : 通用微处 理器、 图形处理单元 (GPU)、 加速处理单元 (APU) 和现场可编程门阵列 (FPGA)。 权 利 。
11、要 求 书 CN 103959260 A 3 1/11 页 4 标签和数据共同存储在物理行中的 DRAM 高速缓存 0001 发明背景 技术领域 0002 本发明涉及计算系统, 且更特定来说涉及用于在计算系统的大型基于行的存储器 中进行有效高速缓存数据存取。 0003 相关领域的描述 0004 随着半导体制造过程推进以及晶粒上几何尺寸减小, 半导体芯片提供更多功能和 性能。然而, 现代处理技术和可能限制潜在益处的集成电路设计仍然出现设计问题。一个 问题是在二维平面布局芯片的相继代中每单位长度的互连延迟继续增加。而且, 个别芯片 之间的高电阻抗增加延迟。 此外, 由于这些较长信号路径上增加的寄生。
12、电容, 遍历片外到另 一晶粒的信号可能显著增加这些信号的功耗 ( 例如, 增加 10 到 100 倍 )。 0005 另一设计问题是存取许多数据的大多数软件应用程序通常受存储器限制, 因为计 算时间通常由存储器带宽确定。片外动态随机存取存储器 (DRAM) 的存储器存取延迟可以 是数百到超过一千个时钟周期, 且处理器设计中增加的核心数量已加重了存储器带宽问 题。近来, 已经在包括垂直和水平集成到单个电路中的两层或更多层有源电子组件的三维 集成电路 (3D IC) 中取得了进步。被称为系统级封装 (SiP) 或芯片堆叠多芯片模块 (MCM) 的 3D 封装通过将单独芯片堆叠成单个封装而节约空间。。
13、这些层内的组件使用芯片上信号 发送进行通信 ( 无论是垂直的或水平的 )。这种信号发送经由已知的二维平面布局电路提 供减小的互连信号延迟。 0006 上文描述中的制造趋势可以导致微处理器封装内的千兆字节集成存储器。 在一些 情况下, 额外的芯片上存储器件可以用作基于行的存储器, 诸如在存取片外存储器之前用 作最后一级高速缓存 (LLC)。通过额外存储器实现的降低缺失率有助于隐藏处理器与其片 外存储器之间的延迟间隙。 然而, 对于这种额外的集成存储器来说, 基于行的存储器的高速 缓存存取机制可能是低效的。将大型标签数据阵列 ( 诸如多千兆字节高速缓存的数百兆字 节 ) 放置在微处理器晶粒上可能是。
14、不切实际且昂贵的。 0007 增大额外集成存储器的数据高速缓存线的尺寸, 诸如从64字节线增加到4千字节 (KB)线, 减少集成存储器中的高速缓存线的数量和相应标签的尺寸。 然而, 脏位和一致性信 息仍可以维持在原始高速缓存线 (64 字节线 ) 尺寸的粒度。此外, 数据转移可能消耗过多 带宽, 因为当仅将一些字节作为目标时, 可以对整个 4KB 线进行存取。 0008 使用DRAM存取机制, 同时存储并存取集成DRAM中的额外高速缓存的标签和数据, 消散许多功率。此外, 这些机制消耗许多带宽, 尤其是高度相关封装上高速缓存, 且消耗太 多时间, 因为标签和数据是以顺序方式读出。因此, 封装上。
15、 DRAM 提供许多额外数据存储, 而 高速缓存和 DRAM 存取机制效率低下。 0009 鉴于上述内容, 需要用于在计算系统的大型基于行的存储器中进行有效高速缓存 数据存取的有效方法和系统。 说 明 书 CN 103959260 A 4 2/11 页 5 发明概要 0010 设想用于在计算系统的大型基于行的存储器中进行有效高速缓存数据存取的系 统和方法。 0011 在一个实施方案中, 计算系统包括处理单元和集成动态随机存取存储器 (DRAM)。 处理单元的实例包括通用微处理器、 图形处理单元 (GPU)、 加速处理单元 (APU) 等。集成 DRAM 可以是三维 (3D)DRAM 且可以包括。
16、在具有处理单元的系统级封装 (SiP) 中。处理单元 可以将 3D DRAM 用作高速缓存。 0012 在各个实施方案中, 3D DRAM 可以存储标签阵列和数据阵列两者。3D DRAM 的存 储器阵列组中的多个行中的每个行可以存储一个或多个高速缓存标签和由所述一个或多 个高速缓存标签指示的一个或多个相应高速缓存线。响应于从处理单元接收存储器请求, 3DDRAM 可以根据所述接收的存储器请求在由所述接收的存储器请求内的缓存标签指示的 给定高速缓存线上执行存储器存取。 执行存储器存取可以包括存储给定高速缓存线的多个 行的各自行的单个读取。可以使用单个复杂 DRAM 事务而不是使用多个 DRAM 。
17、事务来降低延 迟和功耗。 0013 在参考下列描述和附图后, 将进一步明白这些和其它实施方案。 0014 附图简述 0015 图 1 是计算系统的一个实施方案的总体框图。 0016 图 2 是系统级封装 (SiP) 的实施方案的总体框图。 0017 图 3 是计算系统的另一实施方案的总体框图。 0018 图 4 是用来存取高速缓存存储配置的顺序步骤的一个实施方案的总体框图。 0019 图 5 是用于进行有效封装中 DRAM 存取的方法的一个实施方案的总体流程图。 0020 尽管本发明可以具有各种修改和替代形式, 但是在附图中通过举例的方式示出具 体实施方案, 且在本文进行详细描述。然而, 应理。
18、解, 附图和其详细描述不旨在将本发明限 于所公开的特定形式, 而是相反地, 本发明涵盖落在如随附权利要求所定义的本发明的精 神和范畴内的所有修改、 等效物和替代形式。 具体实施方式 0021 在下列描述中, 阐述大量具体细节来提供对本发明的透彻理解。 然而, 本领域的普 通技术人员应认识到本发明可以在不具有这些具体细节的情况下实行。在一些实例中, 尚 未详细示出众所周知的电路、 结构和技术来避免混淆本发明。 0022 参考图 1, 示出计算系统 100 的一个实施方案的总体框图。如所示, 微处理器 110 可以包括连接到对应的一个或多个高速缓存存储器子系统 124a-124b 的一个或多个处理。
19、 器核心 122a-122b。微处理器还可以包括接口逻辑 140、 存储器控制器 130、 系统通信逻辑 126 和共享缓存存储器子系统 128。在一个实施方案中, 微处理器 110 的所示功能被合并在 单个集成电路上。在另一实施方案中, 所示功能被合并在计算机主板上的芯片组中。 0023 在一个实施方案中, 微处理器 110 是移动计算机、 智能电话、 或平板计算机 ; 台式 计算机 ; 服务器 ; 或其它内的独立系统。 在一个实施方案中, 系统通信逻辑116是系统总线。 在另一实施方案中, 微处理器110合并逻辑126中的系统总线控制器, 所述系统总线控制器 利用各种协议中的一个将处理器核。
20、心 122a-122b 连接到磁盘存储器 162、 DRAM170、 外围输 说 明 书 CN 103959260 A 5 3/11 页 6 入 / 输出 (I/O) 装置、 其它处理单元 ( 诸如另一通用微处理器, 其也可以称为中央处理单元 (CPU)、 图形处理单元(GPU)、 加速处理单元(APU)、 现场可编程门阵列(FPGA)、 或其它)。 在 这样一个实施方案中, 系统通信逻辑126可以替换或合并存储器控制器130和接口逻辑140 的功能。 0024 简单提供计算系统 100 中的组件的进一步描述。虽然计算系统 100 在一个实施方 案中被示为包括通用微处理器 110, 但是在用于。
21、其它目的的其它实施方案中, 微处理器 110 可以用另一类型的处理器单元替换。 其它类型的处理单元可以包括图形处理单元(GPU)、 现 场可编程门阵列 (FPGA) 或加速处理单元 (APU)。一般来说, APU 是包括额外处理能力的芯 片。这种额外处理能力可以用来加速通用 CPU 外部的一种或多种类型的计算。在一个实施 方案中, APU可以包括与GPU、 FPGA或其它处理单元集成在相同晶粒上的通用CPU, 因此改进 这些单元之间的数据转移速率, 同时降低功耗。在其它实施方案中, APU 可以包括视频处理 和其它专用加速器。 0025 无论在计算系统 100 中使用的给定类型的处理单元为何,。
22、 由于软件应用程序存取 越来越多的数据, 存储器子系统使用越来越缓慢。延迟变得更加重要。可以使用更多的芯 片上存储器存储来降低互连延迟。例如, 高速缓存存储器子系统 124a-124b 中的每个可以 针对处理器核心 122a-122b 的各自一个降低存储器延迟。此外, 微处理器 110 可以包括共 享的高速缓存子系统 128 而在向片外 DRAM170 和 / 或片外磁盘存储器 162 存取之前作为最 后一级高速缓存 (LLC)。 0026 通过由高速缓存存储器子系统124a-124b和128提供的额外存储器实现的降低缺 失率有助于隐藏处理器核心 122a-122b 的给定芯与片外存储器之间的。
23、延迟间隙。然而, 高 速缓存存储器子系统124a-124b和128中的每个使用的实际面积有限。 因此, 限制高速缓存 存储器子系统 124a-124b 和 128 中的每个的各自大小且仍将大量存取发送给片外存储器, 诸如 DRAM170 和 / 或磁盘存储器 162。 0027 继续尝试降低存储器延迟, 可以使用其它技术来提供其它芯片上存储器存储。虽 然图 1 中未示出, 但是在一个实施方案中, 微处理器 110 可以使用三维集成电路 (3D IC) 来 提供最后一级高速缓存 (LLC)。随后在图 2 和图 3 的描述中提供计算系统的这样一个实施 方案的其它细节。3D 集成 DRAM 可以提供。
24、低延迟互连和明显大量额外芯片上存储器存储两 者来减少片外存储器存取。 微处理器110内的接口逻辑可以为3D集成DRAM提供地址转化。 3D 集成 DRAM 内的控制逻辑可以变更 3D 集成 DRAM 内的多个存储器阵列组中的多个行的给 定行的存取所使用的典型步骤。在进一步描述使用 3D IC 的实施方案之前, 提供图 1 所示 的计算系统 100 中的组件的进一步描述。 0028 处理器核心 122a-122b 中的每个可以包括用于根据给定的指令集执行指令的电 路。例如, 可以选择 x86 指令集架构 (ISA)。替代地, 可以选择 Alpha、 PowerPC 或任何其它 指令集架构。在一个。
25、实施方案中, 处理器核心 122a-122b 中的每个可以包括用于处理给定 ISA 的指令的超标量、 多线程微架构。 0029 高速缓存存储器子系统124a-124b和128可以包括被配置来存储数据块的高速缓 存存储器。如本文所使用,“块” 是存储在连续存储器位置中的一组字节, 其被视为用于一致 性目的的单位。如本文所使用, 术语 “高速缓存块” 、“块” 、“缓存线” 和 “线” 中的每个可互 换。在一些实施方案中, 块也可以是高速缓存中的分配和重新分配的单位。块中字节数可 说 明 书 CN 103959260 A 6 4/11 页 7 以根据设计选择而发生变化, 且可以具有任何尺寸。 此外。
26、, 术语 “高速缓存标签” 、“高速缓存 线标签” 和 “缓存块标签” 中的每个可互换。 0030 高速缓存存储器子系统124a-124b和128中的每个可以包括高速缓存存储器或高 速缓存阵列, 其连接到相应的缓存控制器。高速缓存存储器子系统 124a-124b 和 128 可以 实施为高速缓存阶层。位于处理器核心 122a-122b 附近的高速缓存 ( 阶层内 ) 可以根据需 要集成到处理器核心 122a-122b 中。这个高速缓存层级可以是多级阶层的一级 (L1)。在一 个实施方案中, 高速缓存存储器子系统124a-124b每个表示L2高速缓存结构且共享的高速 缓存存储器子系统 128 表。
27、示 L3 高速缓存结构。在另一实施方案中, 高速缓存存储器子系统 114 每个表示 L1 高速缓存结构, 且共享的高速缓存子系统 118 表示 L2 高速缓存结构。其它 实施方案是可行的且被设想。 0031 一般来说, 处理器核心 122a-122b 分别向高速缓存存储器子系统 124a-124b 存取 以获得数据和指令。如本文所使用, 有关高速缓存存储器子系统的术语 “存取” 指执行如果 相应的请求地址的请求数据驻留在高速缓存中则可能导致高速缓存命中的读取或写入请 求操作。 替代地, 如果所请求数据未驻留在高速缓存中, 那么读取或写入操作可以导致高速 缓存缺失。 0032 如果高速缓存缺失发。
28、生, 诸如在高速缓存存储器子系统 124a-124b 的各自子系统 中或在共享的高速缓存存储器子系统 128 中未发现请求块, 那么读取请求可以生成且被传 输到存储器控制器 130。存储器控制器 130 可以转化对应于请求块的地址且通过存储器总 线 150 将读取请求发送到片外 DRAM170。片外 DRAM170 可以通过 I/O 控制器和总线 160 以 及存储器总线 150 填充来自片外磁盘存储器 162 的数据。 0033 具有请求块的相应高速缓存填充线可以从片外 DRAM170 传送到高速缓存存储器 子系统 124a-124b 的相应一个, 以便完成原始的读取或写入请求。高速缓存填充。
29、线可以放 置在一个或多个高速缓存层级中。此外, 高速缓存填充线可以放置在高速缓存内的相应集 合内。如果在相应集合内没有可用方式, 那么通常最近最少使用 (LRU) 算法确定集合内的 哪种方式将其数据逐出并由高速缓存填充线数据替换。通常, 分配指以特定高速缓存方式 ( 继特定高速缓存之后发生高速缓存缺失 ) 存储从高速缓存阶层的较低层级取得的高速缓 存填充线。 0034 片外磁盘存储器 162 可以提供非易失性随机存取二次数据存储。在一个实施方案 中, 片外磁盘存储器 162 可以包括一个或多个硬盘驱动器 (HDD)。HDD 通常包括一个或多个 旋转磁盘, 每个涂覆有磁媒介。这些磁盘以每分钟数千。
30、转的速率旋转。磁致动器负责将磁 读取 / 写入装置定位在旋转磁盘上。 0035 在另一实施方案中, 片外磁盘存储器162使用固态磁盘(SSD)。 固态磁盘也可以称 为固态驱动器。SSD 可以模仿 HDD 接口, 但是 SSD 使用固态存储器而非使用 HDD 中所见的机 电装置来存储持久性数据。例如, SSD 可以包括闪速存储器组。 0036 片外 DRAM170 可以是将每位数据存储在集成电路内的独立电容器中的动态随机 存取存储器类型。电容器可以充电或放电。可以使用这两种状态来表示位的两个逻辑值。 DRAM170 的每一位可以使用单个晶体管和一个电容器。与芯片上同步 RAM(SRAM) 中所用。
31、的 六个晶体管相比, DRAM 可以达到更高密度。不同于 HDD 和闪速存储器, DRAM170 可以是易失 性存储器, 而非非易失性存储器。当电力移除时, DRAM170 可能快速丢失其数据。 说 明 书 CN 103959260 A 7 5/11 页 8 0037 片外 DRAM170 可以包括多通道存储器架构。这种类型的架构可以通过在片外 DRAM170 与存储器控制器 130 之间添加更多的通信通道而提高数据到存储器控制器 130 的 转移速度。多通道架构使用多个存储器模块和能够支持多通道的主板和 / 或卡。 0038 在一个实施方案中, 存储器模块中的每个可以各自具有针对存储器控制器。
32、 130 的 各自接口的相同协议。协议的一个实例是协议的双倍数据速率 (DDR) 类型。协议可以确定 信息转移所用的值, 诸如每个时钟周期的数据量、 信号电压电平、 信号定时、 信号和时钟相 位以及时钟频率。协议实例包括 DDR2SDRAM、 DDR3SDRAM、 GDDR4( 图形双倍数据速率, 版本 4)SDRAM 和 GDDR5( 图形双倍数据速率, 版本 5)SDRAM。存储器控制器 130 可以包括用于与 存储器通道建立连接并遵循相应协议的控制电路。此外, 存储器控制器 130 可以包括用于 对存储器请求进行排队的请求队列。 0039 现在参考图 2, 示出系统级封装 (SiP)20。
33、0 和 240 的实施方案的总体框图。可以在 计算系统内使用三维 (3D) 封装。这种类型的封装可以称为系统级封装 (SiP)。SiP 包括一 个或多个三维集成电路 (3D IC)。3D IC 包括垂直和 / 或水平集成到单个电路中的两层或 更多层有源电子组件。在一个实施方案中, 可以使用基于内插器的集成, 其中 3D IC 可以放 置为与处理单元 220 紧邻。替代地, 3D IC 可以直接堆叠在另一 IC 顶部。 0040 晶粒堆叠技术是实现将多个单独硅(集成芯片)块一起物理堆叠在具有高带宽和 低延迟互连的相同封装中的制造过程。 晶粒可以并排堆叠在硅内插器上或直接彼此垂直堆 叠在顶部。 S。
34、iP的一个配置是将一个或多个DRAM芯片与处理单元紧邻堆叠和/或堆叠在处 理单元的顶部上。通过堆叠 DRAM 芯片, 处理器单元可以实现系统的极大高速缓存。在一个 实施方案中, 这种大高速缓存的尺寸可以是数百 MB( 或更多 ) 等级。 0041 如所示, 在一个实施方案中, SiP200 可以包括处理单元 220 和通过水平低延迟互 连 210 与处理单元 220 通信的一个或多个三维 (3D)DRAM230 和 232。再者, 处理单元 220 可 以是通用 CPU, 其也可以称为微处理器 ; 图形处理单元 (GPU) ; 加速处理单元 (APU) ; 现场可 编程门阵列 (FPGA) 或。
35、利用基于行的存储器的其它数据处理装置, 诸如高速缓存。 0042 封装内水平低延迟互连 210 提供长度减小的互连信号对未使用 SiP 时长片外互 连。封装内水平低延迟互连 210 可以使用特定信号和协议, 如同在电路板上的独立封装中 安装芯片 ( 诸如处理单元 220 以及 3D DRAM230 和 232) 一样。SiP200 还可以包括到达封装 外部连接 214 的背部通孔或硅块穿孔 212。封装外部连接 214 可用于输入 / 输出 (I/O) 信 号和功率信号。 0043 在另一实施方案中, SiP240 包括直接堆叠在处理单元 220 顶部上的 3D DRAM250。 虽然未示出,。
36、 但是对于 SiP200 和 SiP240 中的每个, 多个芯片或装置层可以彼此堆叠在顶 部, 其中直接垂直互连 216 穿过其中。可以在不同装置层之间穿过的垂直互连 216 的尺寸 和密度是基于用来制造 3D IC 的基础技术改变。 0044 现在参考图 3, 示出使用三维 (3D)DRAM 的计算系统 300 的一个实施方案的总体框 图。先前描述的电路和逻辑编号相同。计算系统 300 可以使用三维 (3D) 封装, 诸如先前描 述的系统级封装 (SiP)。计算系统 300 可以包括 SiP310。在一个实施方案中, SiP310 可以 包括先前描述的处理单元220和通过低延迟互连340通信。
37、的3D DRAM330。 封装中低延迟互 连 340 可以是水平的和 / 或垂直的, 其长度短于未使用 SiP 时的长片外互连。 0045 虽然 SiP310 的一个实施方案被示为使用 DRAM 存储器技术, 但是使用基于行的存 说 明 书 CN 103959260 A 8 6/11 页 9 取方案的其它存储技术 ( 包括一个或多个行缓冲器或其它等效结构 ) 是可行的且被设想。 其它存储器技术的实例包括相变存储器、 自旋扭矩转移电阻式存储器、 记忆电阻器等。 0046 处理单元 220 可以包括用于执行计算和由软件应用程序描述的算法工作的执行 引擎 322。在一个实施方案中, 执行引擎 322。
38、 可以包括通用 CPU 的一个或多个处理器核心。 在另一实施方案中, 执行引擎322可以包括着色器、 其它图形处理块和GPU的单指示多数据 (SIMD) 管线来执行至少进行图形渲染的数据中心操作和 3D 图形应用程序。根据给定算法 进行数据处理的电路的其它实例是可行的且被设想。 0047 处理单元 220 可以与封装外存储器通信, 诸如通过存储器控制器 326、 存储器总线 150和I/O控制器和总线160与磁盘存储器162通信。 如所示, 在一个实施方案中, 计算系统 300可以不包括封装外DRAM170, 其包括在先前描述的计算系统100中。 封装上3D DRAM330 可以提供极大的封装。
39、上存储器存储, 其减少封装外存储器存取量且隐藏长存储器延迟。在 另一实施方案中, 计算系统 300 仍可以包括封装外 DRAM170。 0048 处理单元 220 可以包括到 I/O 装置和其它处理单元的接口逻辑。为方便阐明, 没 有示出这个接口逻辑。处理单元 220 也可以包括用于与 3D DRAM330 通信的接口逻辑 324。 在这通信中使用的协议、 地址格式和接口信号可以类似于封装外 DRAM170 所使用的协议、 地址格式和接口信号。然而, 当 3D DRAM330 用作最后一级高速缓存 (LLC) 时, 可以对这通 信进行调整。例如, 从处理单元 220 发送到 3D DRAM33。
40、0 的存储器请求可以包括除识别存储 器阵列组 332a-332b 中的一个内的各自行的 DRAM 地址以外的高速缓存标签。所接收的高 速缓存标签可用来比较存储在 3D DRAM330 内所识别给定行中的高速缓存标签。 0049 类似于其它 DRAM 拓扑结构, 3D DRAM330 可以包括多个存储器阵列组 332a-332b。 组 332a-332b 中的每一组可以包括行缓冲器 334a-334b 的各自一个。行缓冲器 334a-334b 中的每一个可以将数据存储在存储器阵列组 332a-332b 内的多个行的存取行中。所存取行 可以由所接收的存储器请求中的 DRAM 地址识别。控制逻辑 3。
41、36 可以在所接收的存储器请 求中的高速缓存标签与存储在行缓冲器中的一个或多个高速缓存标签之间执行标签比较。 此外, 控制逻辑可以通过使用高速缓存标签比较结果而非所接收的 DRAM 地址内的位字段 而变更行缓冲器的列存取。 0050 控制逻辑 336 可以更新存储在行缓冲器内的元数据。元数据可以至少包括最近最 少使用 (LRU) 值、 脏位和高速缓存一致性值。控制逻辑 336 可以使所识别行和行缓冲器的 存取同步以将多个 DRAM 事务改变成单个复杂事务。这单个复杂事务可以执行 3D DRAM330 内的数据和控制线的启动和预充电一次来存取识别行且执行一次来将存储在行缓冲器内 的修改内容放回到。
42、所识别行。下文作出进一步描述。 0051 现在参考图 4, 示出图示用来存取高速缓存存储配置 400 的顺序步骤的一个实施 方案的总体框图。 可以用各种方式将数据存储在3D DRAM内。 例如, 给定存储器阵列组内的 每一行可以使用集合相关高速缓存组织存储数据。所存储的数据可以划分成高速缓存线。 每一行也可以存储与相同行内的高速缓存线对应的高速缓存标签。此外, 每一行可以存储 与给定高速缓存线对应的元数据, 诸如替换状态、 高速缓存一致性状态、 脏位等。 0052 虽然高速缓存存储配置400的一个实施方案被描述为使用DRAM存储器技术, 但是 使用基于行的存取方案的其它存储器技术(包括一个或多。
43、个行缓冲器或其它等效结构)是 可行的且被设想。 其它存储器技术的实例包括相变存储器、 自旋扭矩转移电阻式存储器、 记 说 明 书 CN 103959260 A 9 7/11 页 10 忆电阻器等。 0053 图 4 示出 3D DRAM 内的一个或多个存储器阵列组中的给定组。存储器阵列组 430 可以包括多个行 432a-432k。行 432a-432k 中每一行可以存储用于 N 路集合相关高速缓存 组织的高速缓存标签和高速缓存线, 其中 N 是大于 1 的整数。可以选择不同数量的路, 诸如 8 路、 16 路、 32 路或其它。例如, 行 432a 将高速缓存标签存储在字段 434a-434。
44、d 中。行 432a 可将相应高速缓存线的数据部分存储在字段 438a-438d 中。因此, 存储器阵列组 430 将高 速缓存组织的标签阵列和数据阵列组合成单个物理结构。每一行的部分, 诸如行 432a 中的 字段4343a-434d, 用来保存对应于存储在剩余行(诸如字段438a-438d)中的数据元素的标 签条目。 0054 存储器阵列组 430 的行 432a-432k 中的标签存储可以是 3D DRAM 的总尺寸的固定 部分。在一个实施方案中, 高速缓存线或高速缓存块的数据部分存储 64 字节数据。其它尺 寸是可行的且被设想。然而, 高速缓存线的尺寸可能因存储器阵列组 430 中使用。
45、的高速缓 存存储配置400而不会发生变化。 高速缓存存储配置400和顺序步骤可以允许具有3D DRAM 的总体尺寸的标签存储标量, 同时允许高速缓存线尺寸保持相同, 诸如 64 字节大小。处理 单元内的标签存储可以不使用芯片上 SRAM 存储。 0055 在一个实施方案中, 存储器阵列组 430 使用 30 路集合相关高速缓存组织。行 432a-432k 中的每一行可以具有足够空间来存储 32 路, 但是可以使用所述路中的 2 路来存 储相应的高速缓存标签信息。在一个实例中, 高速缓存线是 64 字节且高速缓存标签是 4 字 节。在本实例中, 2 条高速缓存线提供 2 条线 64 字节 128。
46、 字节存储。在本实例中, 标签 存储被放置在通常由两条高速缓存线占用的空间中。对于 30 条高速缓存线, 标签存储使用 30 路 4 字节 120 字节。可以使用额外 8 字节来存储额外元数据 ( 诸如额外信息 ) 来改 进替换决策、 预取提示、 分析数据、 脏位、 高速缓存一致性状态等。 0056 行 432a-432k 中的每一行可以存储与所存储的高速缓存线对应的元数据。例如, 行 432a 将状态元数据存储在字段 436a 中。所存储的元数据可以至少包括每个相应的高速 缓存线的以下至少一个或多个 : 有效位、 指示拥有相应高速缓存块的源的高速缓存块所有 者编码、 结合高速缓存控制器采用的。
47、高速缓存替换算法使用的最近最少使用 (LRU) 逐出信 息、 指明诸如被修改、 排除、 拥有、 共享、 无效或其它的高速缓存一致性状态的指示 ; 脏位、 预 取提示信息、 分析数据等。其它类型的状态信息是可行的且被设想。 0057 继续存储器阵列组 430 的行中所存储的信息, 行 432k 可以以类似于行 432a 的格 式存储信息。例如, 行 432k 可以将标签存储在字段 434m-434q 中, 将状态元数据存储在字 段 436k 中, 且将相应高速缓存线的数据部分存储在字段 438m-438q 中。应注意, 虽然存储 在行 432a-432k 中的信息以特定顺序且以连续空间示出, 但。
48、是数据存储的其它放置无论是 否连续都是可行的且被设想。可以基于设计折衷选择特定存储配置。 0058 行缓冲器 440 可以存储从行 432a-432k 中的选定行读出的数据和元数据。行 缓冲器 440 可以将类似存储配置用作行 432a-432k。例如, 行缓冲器 440 可以针对字段 444a-444d 中的集合相关高速缓存组织的 N 路存储高速缓存标签信息。行缓冲器 440 可以 将相应高速缓存线的数据部分存储在字段 448a-448d 中。行缓冲器 440 可以将状态信息 ( 诸如相应的状态元数据 ) 存储在字段 446 中。 0059 在一个实例中, 高速缓存线是 64 字节, 高速缓。
49、存标签是 4 字节, 且存储器阵列组 说 明 书 CN 103959260 A 10 8/11 页 11 430 使用 30 路集合相关高速缓存组织。行 432a-432k 中的每一行可以使用 2 路进行标签 存储且使用 30 路进行数据存储。2 路也可以包括元数据存储。因此, 行 432a-432k 中的每 一行包括 32 路 64 字节 / 路 2,048 字节或 2 千字节 (KB) 存储。类似地, 行缓冲器 440 包括 2KB 存储。行 432a-432k 中的每一行可以使用 DRAM 存储器技术来进行信息存储。然 而, 行缓冲器 440 可以使用寄存器、 SRAM 单元或其它存储机制。因此, 对行缓冲器 440 重复 存取可以比对行 432a-432k 中的任何一行重复存取更高效。 0060 3D DRAM 可以存储相应处理单元的极大封装内存储器存储。这大型存储器存储可 以用作最后一级高速缓存。在一个实施方案中, 高速缓存线或高速缓存块的数据部分存储 64字节数据。 其它尺寸是可行的且被设想。 3D DRAM的尺。