实现高速缓存一致性机制的方法和系统技术方案

技术编号:2889089 阅读:195 留言:0更新日期:2012-04-11 18:40
在数据处理系统内实现支持非包含的高速缓存存储器分级体系的高速缓存一致性机制的方法和系统被揭示。按照本发明专利技术的方法和系统,存储器分级体系包括一个主高速缓存存储器、一个副高速缓存存储器和一个主存储器。主高速缓存存储器和副高速缓存存储器是非包含的。另外,在主高速缓存内提供第一个状态比特和第二个状态比特,与主高速缓存的每个高速缓存存储行有关。作为一个优选实施例,第一个状态比特只有当主高速缓存存储器中相应的高速缓存存储行在改写方式下已被改变时才被置位,而第二个状态比特只有当在副高速缓存存储器中也存在相应的高速缓存存储行时才被置位。这样一来,通过利用主高速缓存存储器中的第一个状态比特和第二个状态比特可以保持主高速缓存存储器和副高速缓存存储器之间的高速缓存一致性。(*该技术在2018年保护过期,可自由使用*)

【技术实现步骤摘要】

技术介绍
本专利技术总的来说涉及数据处理系统,具体来说涉及在高性能数据处理系统内使用的高速缓存存储器。再进一步具体地说,本专利技术涉及在高性能数据处理系统内实现支持非包含的高速缓存存储器分级体系的高速缓存一致性机制的方法和系统。包含多级高速缓存存储器的计算机体系结构已成为一个特别感兴趣的领域,并且是近几年中日益增长的技术。以前主要的研究已解决了两级高速缓存存储器分级体系及用于操作这种高速缓存存储器分级体系的有关协议,以使处理器在满足系统的高速缓存一致性要求的同时,达到最高的性能。两级高速缓存存储器分级体系是由不同大小和速度的两个高速缓存存储器组成的一个高速缓存存储器系统。一般来说,第一个高速缓存存储器常称为主高速缓存或L1高速缓存,它的存取时间较快,每比特的成本较高,而第二个存储器常称为副高速缓存或L2高速缓存,它的存取时间较慢但每比特的成本也较低。一般来说,较小较快的主高速缓存在芯片上而较大较慢的次高速缓存在芯片外,尽管在有些高性能处理器设计中,芯片内的副高速缓存也相当常见。一致性存储器系统的主要目的是为存储器分级体系内的所有存储器装置提供信息的相同拷贝,以便能实现资源共享的同步和合作用途。要不然,当无意中使用了信息的旧的过时的拷贝时,就会发生问题。因此,在一个称为“包含”的方案下,主高速缓存通常被设计成包含一个存储在副高速缓存中的数据子集。这个包含方案在主高速缓存和副高速缓存之间提供一定程度的冗余度,因此至主高速缓存的总线流量可能被降低。然而,包含方案也存在缺点。一个缺点是要求从主高速缓存至系统存储器的附加逐出(cast-out),以便当在副高速缓存中被置换的高速缓存存储行与在主高速缓存中的那个存储行不同且在副高速缓存中被置换的高速缓存存储行处于“改变”状态时,适应行重填写操作。另外,在主高速缓存中具有与副高速缓存中被置换的高速缓存存储行相同地址的高速缓存存储行需要被逐出到系统存储器,因为按照包含方案它不能在主调整缓存中单独存在。虽然,如果包含的限制经由一个非包含的高速缓存存储器分级体系被放宽的话将改善高速缓存的性能,但是为了在主高速缓存和副高速缓存之间保持一致性,必须使用特殊的协议。本专利技术试图提供支持非包含的主高速缓存和副高速缓存的一个高速缓存一致性机制。如前所述,本专利技术的一个目的正是为此提供数据处理的一个改进方法和系统。本专利技术的另一个目的是为高性能数据处理系统内所使用的高速缓存存储器提供一个改进的方法和系统。本专利技术的还有一个目标是为支持高性能数据处理系统内的非包含的高速缓存存储器分级体系提供一个实现高速缓存一致性机制的改进的方法和系统。上述目的如下面所述来达到。按照本专利技术的方法和系统,高性能数据处理系统内的存储器分级体系包括一个主高速缓存存储器、一个副高速缓存存储器和一个主存储器。主高速缓存存储器和副高速缓存存储器是非包含的。另外,在主高速缓存内提供第一个状态比特和第二个状态比特,与主高速缓存的每个高速缓存存储行有关。作为优选实施例,第一个状态比特只有当主高速缓存存储器中相应的高速缓存存储行在改写方式下已被改变时才被置位,而第二个状态比特只有当在副高速缓存存储器中也存在相应的高速缓存存储行时才被置位。这样一来,通过利用主高速缓存存储中的第一个状态比特和第二个状态比特可以保持主高速缓存存储器和副高速缓存存储器之间的高速缓存一致性。在以下详细的描述中,本专利技术所述的所有目标、特性和优点会显而易见。通过参照下面一个解释性的实施例的详述,其时与所附的附图一起阅读,将会更好地理解本专利技术的内容,以及优选的使用方式,进一步的目标和其优点,附图包括附图说明图1是与本专利技术最佳实施例对应的具有多级非包含的高速缓存存储器分级体系的典型数据处理系统的方块图;图2是与本专利技术的优选实施例对应的主高速缓存的构造方块图;图3是与本专利技术的优选实施例对应的在主高速缓存中状态比特字段的详细说明;图4是与本专利技术的优选实施例对应的副高速缓存的构造方块图;图5a是与本专利技术的优选实施例对应的利用L比特和C比特的行填写操作的高速逻辑流程图;图5b是与本专利技术的优选实施例对应的主高速缓存的行置换操作的高级逻辑流程图;图5c是与本专利技术的优选实施例对应的副高速缓存的行置换操作的高级逻辑流程图;图6是与本专利技术的优选实施例对应的从主高速缓存的逐出操作的高级逻辑流程图;图7是与本专利技术的优选实施例对应的对主高速缓存进行存储操作的高级逻辑流程图。本专利技术可以在多级非包含的高速缓存存储器分级体系数据处理系统中实现。不难明白,本专利技术的特性也可以运用于具有主高速缓存和副高速缓存的各种数据处理系统中或要求多副高速缓存存储器存取的地方。现在参照附图,具体参照图1,其示出与本专利技术的优选实施例对应的安装有多级非包含的高速缓存存储器分级体系的典型数据处理系统的方块图。在图1中,仅示出一个单一的处理器104;然而,本专利技术的特性在多个处理器系统中也是有用的。处理器104具有CPU106,CPU106可以是超标量RISC型,处理器104构成一个单片装置,包括片内指令高速缓存107和片内数据高速缓冲108。两个高速缓存107、108都是主高速缓存,用片内总线结构内的单独路径连接到CPU106。指令高速缓存107经由高速缓存控制器109a被连接到片内总线105,而数据高速缓存108经由高速缓存控制器109b被连接到片内总线105。副高速缓存110经由高速缓存控制器111也被连接到片内总线105。副高速缓存110通常要比指令高速缓存107和数据高速缓存108大得多,对副高速缓存110的存取要比对指令高速缓存107和数据高速缓存108的存取稍微慢一些。CPU106经由总线接口112也被连接到系统总线113,在总线接口112中实现片内总线105和系统总线113之间的定时和控制转换。此外,主存储器115和磁盘存储装置116被连接到系统总线113。指令高速缓存107和数据高速缓存108可以通过有效(即未转换过的)地址以及通过实际(即物理的)地址寻址。因此,在处理器104片内的总线105内有许多地址总线,包括有效地址总线、实际地址总线和指令地址总线。可是,副高速缓存110通常是仅用实际地址寻址。如所示的那样,存储器分级体系是从最快的到最慢的,从最小的到最大的,以及从每比特最贵的到每比特最便宜的,相继从主高速缓存107、108到副高速缓存110、到主存储器115和到磁盘存储装置116。通常,主存储器115包含磁盘存储装置中的内容的一个子集,副高速缓存110包含主存储器中的内容的一个子集。然而,由于主高速缓存107、108与副高速缓存110之间为不包含的关系,因此高速缓存107、108中的每一个均可能包含与副高速缓存110中的内容无关的信息。CPU106可以在一个处理器周期内存取主高速缓存107、108,然而它可能花好几个处理器周期存取副高速缓存110。如果在高速缓存107、108和副高速缓存110中发生高速缓存“错漏”,那么主存储器115被存取以执行一个高速缓存行组充填操作一用来自主存储器115的包含被寻址数据的一个等效比特区段置换一个高速缓存行。这个高速缓存行充填操作必须被执行,以便满足那个需要进行的发生过高速缓存“错漏”的所试图的高速缓存存取。如果主存储器115没有包含所需进行的高速缓存行组本文档来自技高网...

【技术保护点】
在数据处理系统内实现高速缓存一致性机制的方法,其中所说的数据处理系统包括一个主高速缓存存储器、一个副高速缓存存储器和一个主存储器,其中所说的主高速缓存存储器和所说的副高速缓存存储中是非包含的,所说的方法包括如下步骤:提供与所说的主高速缓存内每个高速缓存存储行有关的第一个状态比特和第二个状态比特;只有当所说的主高速缓存存储器中相应的高速缓存存储行在改写方式下已被一个存储操作修改时,才置位所说的第一个状态比特;只有当在所说的主高速缓存和所说的副高速缓存中都存在相应的高速缓存存储行时,才置位所说的第二个状态比特;以及利用所说的第一个状态比特和所说的第二个状态比特保持所说的主高速缓存和所说的副高速缓存之间的高速缓存一致性。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:DA希克斯PP刘MJ迈费尔德RP辛
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1