用于实现组合式数据/相关性高速缓存的方法和装置制造方法及图纸

技术编号:2834205 阅读:229 留言:0更新日期:2012-04-11 18:40
公开了一种实现用于共享存储器的多处理器的组合式数据/相关性高速缓存的方法和装置。该组合式数据/相关性高速缓存包括具有多个条目的系统高速缓存。该方法包括:构建具有多个条目的系统高速缓存目录,其中条目的数量与系统高速缓存的条目的数量相等。该构建步骤包括指定用于每一条目的多个子条目,该指定由可用于执行系统高速缓存相关性功能的多个子条目确定。该构建步骤还包括:提供用于每一条目的子条目逻辑指示符;以及经由子条目逻辑指示符,将用于每一条目的子条目中的一个映射到系统高速缓存。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及数据高速緩存,并且尤其涉及用于实现组合式数据/ 相关性高速緩存的方法和装置。
技术介绍
在大的共享存储器的多处理器中,通过要求各个处理器级高速緩 存的内容作为系统高速緩存的子集,能够利用单个系统高速緩存目录阵列(directory array)提供存储器的最近存取内容的系统级高速緩 存、以及用于处理全系统高速緩存相关性的有效装置.不幸的是,当 处理器高速緩存的组合大小足够大时,由于高效工作所需的系统高速 緩存的大小变得太大,所以该子集规则变得不合实际。尽管对此的一 种可能的解决方案是维护两个目录(一个用于系统高速緩存, 一个用 于所有处理器高速緩存内容),但这大大地使设计复杂化。使用两个 单独的目录来实现相同的任务,要求更多逻辑,以便使两个目录的内 容同步化(要么是使它们不同,要么是如果允许覆盖则管理它们), 以及执行任何系统存储器存取(这要求查找两个目录和在每一个目录 中釆取适当的动作).
技术实现思路
本专利技术的方面提供了一种实现用于共享存储器的多处理器的组 合式数据/相关性高速緩存的方法和装置。组合式数据/相关性高速緩 存包括具有多个条目的系统高速緩存。该方法包括构建具有多个条目的系统高速緩存目录,其中条目的 数量等于系统高速緩存的条目的数量.所述构建包括指定用于每一条目的多个子条目,其由可用于执行系统高速緩存相关性功能的多个子条目确定。所述构建还包括提供用于每一条目的子条目逻辑指示符, 以及经由子条目逻辑指示符将用于每一条目的子条目中的一个映射 到系统高速緩存。本专利技术可实现用来提供足够大以包含所有处理器高速緩存目录 条目的单个系统高速緩存目录,但仅用足够的系统高速緩存备份由处 理器存取的最近部分数据。在此还描述和要求保护了对应于上述概述的方法的系统和计算 机程序产品。通过本专利技术的技术,实现了另外的特征和优点。在此详细地描述 本专利技术的其他实施例和方面,并且它们被视为所要求保护的专利技术的一 部分。为了更好地理解本专利技术以及其优点和特征,需参考说明书和附 图。附图说明在下文中,将参考附图通过例子更详细地描述本专利技术的实施例,其中图1是现有技术中利用系统高速緩存结构的共享存储器的多处 理器的系统框图2是由示例性实施例中的组合式数据/相关性高速緩存利用的 改进的同余类(congruence class); 以及图3A-3B是描述了经由示例性实施例中的组合式数据/相关性髙 速緩存结构执行查找和安装过程的处理过程的流程图.具体实施方式部分参考附困通过例子说明了本专利技术的优选实施 例以及优点和特征。具体实施例方式根据示例性实施例,提供了用于共享存储器的多处理器的单个系 统高速緩存目录和系统级高速緩存.系统高速緩存目录的大小足以包 含所有底层处理器高速緩存目录的条目。使系统高速緩存的大小适合 于给定的限制、诸如所需存取时间和合理芯片面积。系统高速緩存目 录条目的最新部分被映射到系统高速緩存。该结构充当高速緩存(用 于由处理器需要的最近存取的存储器数据)和全系统高速緩存相关性 控制器(通过维护哪些处理器具有存储器的哪些部分的副本以及它们 处于何种状态的记录)。通过使用单个目录,能利用一次查找和所引 起的动作集,维护高速緩存管理和高速緩存相关性管理这两种工作。为了对
技术介绍
加以说明,现在,将参考图l,描述用在现有技 术中的包括系统高速緩存和目录组件的共享存储器的多处理器系统 100。在图1的共享存储器的多处理器环境中,处理器P!和P2中的每 一个都具有其自己的处理器高速緩存集(d和C2用于P以及C3 和C4用于P2),其包含在处理器上执行的最近工作的数据以及指令 的副本。应当理解,任意数目的处理器和处理器高速緩存可以被包括 在图1的系统100中。为了在这种环境中有效地工作,可以将系统控制结构用于控制资源存取,确保高速緩存相关性等。该系统控制结构可以是多级的;然而,为了示例说明的目的,在此描述了单级。应当 理解,可以以与单级实现方式类似的方式实现到多级的扩展。系统控制结构包括两个元件系统高速緩存和系统高速緩存相关 性。与处理器高速緩存类似,系统高速緩存是在该系统的控制下所有 处理器的所有最新指令和数据的高速緩存。它执行两个关鍵作用当 数据过时或者从处理器高速緩存移除时,将数据重新提供给处理器高 速緩存;以及当其他处理器需要存取数据时,将数据提供给其他处理 器(可能经由其他系统高速緩存).系统髙速緩存相关性涉及记录跟踪(recordkeeping).通常, 每次需要存储器或其改变时,不能存取存储器,这是因为相对于处理器速度来说,存取时间太大了。因此,经由处理器(例如Pp PJ各 自的处理器高速緩存(例如d ~ C4 )维护存储器到处理器的单个相关视图的任务经由系统高速緩存目录102落在系统控制结构上,通过维 护哪些处理器(Pn P2)已经高速緩存了它们正有效使用的存储器的哪些部分的记录,当另一处理器需要存取存储器的相同部分时,系统 控制能采用适当的动作,显而易见的是,如果足够大地构建系统高速緩存来实现两个任务 (通过要求所有处理器高速緩存作为系统高速緩存内容的一部分来 实现,否则称为子集规则),则不存在问题,但是,如果由于实际原 因,这种高速緩存太大,则可能要求重新设计系统,或者可能不会利 用系统高速緩存。作为替换,可以利用子集规则,其有效地限制了可 用于处理器的处理器高速緩存的有效部分,或者是具有两个单独的系 统高速緩存目录(即, 一个用于管理高速緩存, 一个用于管理高速緩 存相关性),以及所引起的使其工作所需的复杂性。举例来说,假定系统高速緩存由N=C*A个条目组成,其中,C 表示同余类的数量(其中,每一同余类表示对应于C个可能值中的一 个的存储器的地址集),A表示每一同余类的结合性(associativity) (能共享用来选择同余类的相同地址映射的高速緩存条目的数量).典型的计算机高速緩存设计具有这种结构,以及具有类似的C^A 结构的相应高速緩存目录(例如102),由此,每一目录条目表示相 应的高速緩存目录,并且包含诸如高速緩存条目的存储器地址、存取 数据的最后一个处理器、以及相对于存储器内容是否改变了数据之类 的信息。最后,存在用于每一同余类的一些形式的LRU(最近最少使 用的)逻辑(例如,逻辑列106)来管理该同余类内的从最近最少使 用的到最近最多使用的(MRU)条目。LRU逻辑的两个最普遍用途 是更新和安装.通过在目录中查找和找到一个地址,通常使其成为MRU条目, 以及替代位于它和MRU位置间的所有那些条目,来执行更新.当在 目录中未找到地址时,执行安装,由此为其清空一个位置。此时选择 LRU条目并用新条目替代,然后使新条目成为MRU。根据示例性实施例,提供了组合式数据/相关性高速緩存结构, 其利用实际大小的单个系统高速緩存,其中,仅目录中的最近条目在 高速緩存中具有相应的条目。现在转到图2,将描述用于实现组合式数据/相关性高速緩存的改进的同余类200。继图1中所述的示例性高 速緩存系统100之后,假定多个条目N,,不足以提供有效的系统高速 緩存相关性,但是2*1^个条目是足够的。系统高速緩存可以保持为N 个条目,但是,可以加宽每一系统高速緩存目录条目,以便包含两个 单独的地址(例如,子1或子本文档来自技高网
...

【技术保护点】
一种实现用于共享存储器的多处理器的组合式数据/相关性高速缓存的方法,该组合式数据/相关性高速缓存包括具有多个条目的系统高速缓存,该方法包括:构建具有多个条目的系统高速缓存目录,其中条目的数量与系统高速缓存的条目的数量相等,该构建步骤 包括:指定用于每一条目的多个子条目,该指定由可用于执行系统高速缓存相关性功能的多个子条目确定;提供用于每一条目的子条目逻辑指示符;以及经由子条目逻辑指示符,将用于每一条目的子条目中的一个映射到系统高速缓存。

【技术特征摘要】
【国外来华专利技术】US 2005-2-11 11/056,8091.一种实现用于共享存储器的多处理器的组合式数据/相关性高速缓存的方法,该组合式数据/相关性高速缓存包括具有多个条目的系统高速缓存,该方法包括构建具有多个条目的系统高速缓存目录,其中条目的数量与系统高速缓存的条目的数量相等,该构建步骤包括指定用于每一条目的多个子条目,该指定由可用于执行系统高速缓存相关性功能的多个子条目确定;提供用于每一条目的子条目逻辑指示符;以及经由子条目逻辑指示符,将用于每一条目的子条目中的一个映射到系统高速缓存。2. 如权利要求l所述的方法,其中,通过将与系统高速緩存有 关的同余类的数量乘以每一同余类的结合性,确定系统高速緩存中的 条目的数量。3. 如权利要求l所述的方法,进一步包括检查系统高速緩存 目录中的子条目以寻找一个地址,该检查步骤结合查找操作来执行, 所述方法进一步包括响应于在子条目之一中找到所述地址,执行下述中的至少一个 更新用于该子条目的相应条目的子条目逻辑指示符;以及 处理根据查找操作利用的子条目之一。4. 如权利要求l所述的方法,进一步包括检查系统高速緩存 目录中的子条目以寻找一个地址,该检查步骤结合查找操作来执行, 所述方法进一步包括响应于未能在子条目之一 中找到所述地址,安装对应于查找操作 的数据。5. 如权利要求4所述的方法,其中,所述安装步骤包括识别对应于与该地址有关的同余类的最近最少使用的逻辑指示符; 识别用于对应于最近最少使用的逻辑指示符的条目的最近最多使用的子条目和最近最少使用的子条目;从系统高速緩存目录移除最近最少使用的子条目,并用该地址替 换最近最少使用的子条目;用与该地址有关的数据替换与最近最多使用的子条目有关的系 统高速緩存条目内容;以及将最近最多使用的指示符应用到同余类中的最近最少使用的条 目;以及将最近最多使用的指示符应用到具有该地址的新安装的子条目。6. —种组合式数据/相关性高速緩存结构,用于为共享存储器的 多处理器提供高速緩存功能和全系统高速緩存相关性功能,该組合式 数据/相关性高速緩存结构包括包括多个条目的系统高速緩存;包括数量与系统高速緩存中的条目的数量相等的多个条目的系 统高速緩存目录;与系统高速緩存目录的每一条目有关的多...

【专利技术属性】
技术研发人员:布鲁斯瓦加尔帕克金马克剀斯兰格斯顿
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1