用于多接口高速缓存中的联合高速缓存相干状态的方法和装置的制作方法

文档序号:6493871阅读:241来源:国知局
专利名称:用于多接口高速缓存中的联合高速缓存相干状态的方法和装置的制作方法
技术领域
本公开通常涉及微处理器系统,更具体的说,涉及能够跨越多个接口访问高速缓存的微处理器系统。
背景技术
为了提高微处理器的处理量,处理器可以将数据保持在一系列高速缓存中。为了在多处理器环境中使用这些高速缓存,多种高速缓存相关协议已经逐步形成。这些高速缓存相关方案可以将被称为高速缓存相干状态的属性与高速缓存中的多个高速缓存线联系起来。公共高速缓存相关协议可被称为“Illinois协议”,还被非正式地称为MESI(修改/排他/共享/无效)协议,其中每个高速缓存线可以与四个MESI状态之一相关联。其它公共高速缓存相关协议可包括另外的状态。这样,给定的高速缓存线的多个副本,或许被修改了,可以以可预测的和相关的方式存在于多处理器系统中的多个高速缓存之间。
现有的MESI状态可具有一定的性能限制属性。在一种情况下,当内部级高速缓存(例如一级高速缓存)中的修改的高速缓存线希望变成无效,并将它的修改数据向上写入外部级高速缓存(例如二级高速缓存)时,该外部级高速缓存也可以变成无效,并将它的修改数据写入甚至更外部级的高速缓存或系统存储器。如果在外部级接口上存在相当大的业务量,则这或许不是有利的。在另一种情况下,当窥探请求到达外部级高速缓存时,它必须被向下发送到任何内部级高速缓存。如果在内部级接口上方存在内部级高速缓存的相当多的使用,则这或许不是有利的。


借助实例而不是限制,利用附图来说明本发明,其中类似的参考数字指的是类似的元件,并且其中图1是根据一个实施例的在多接口上可访问的高速缓存的示意图。
图2是示出根据一个实施例的联合高速缓存相干状态的图表。
图3A和3B是示出根据本公开的一个实施例利用处于排他-共享状态的高速缓存工作的图。
图4是示出根据本公开的一个实施例利用处于修改-无效状态的高速缓存工作的图。
图5是示出根据本公开的一个实施例利用处于修改-共享状态的高速缓存工作的图。
图6是示出根据本公开的一个实施例利用处于排他-无效状态的高速缓存工作的图。
图7是示出根据本公开的一个实施例利用处于共享-无效状态的高速缓存工作的图。
图8是根据本公开的一个实施例的处理器系统的示意图。
具体实施例方式
以下说明描述了用于在多处理器环境中促进高速缓存之间的相干性的技术。在下面的说明中,列出了大量具体细节,例如逻辑实施方式、软件模块分配、总线信令技术,以及操作细节,以便提供对本发明的更全面的理解。然而,本领域的技术人员将认识到,在没有这些具体细节的情况下可以实施本发明。在其它实例中,为了不模糊本发明,没有详细示出控制结构、门电平电路和全软件指令序列。在所包括的说明的情况下,本领域的技术人员将不需要过多实验就能够实施适当的功能性。本发明以处理器的形式公开,例如由Intel公司制造的Pentium 4级机器,其可以使用Illinois或(采用非正式术语)MESI(修改/排他/共享/无效)高速缓存相干性协议。然而,本发明可采用使用高速缓存的其它形式的处理器来实施,并且其可以实施其它形式的高速缓存相干性协议。在图中所示的一些实施例中,在处理器及其存储器和高速缓存之间示出的接口可以示为总线或点对点接口。然而,当用点对点接口代替总线时和用总线代替点对点接口时可以实施本发明。
现在参考图1,示出根据一个实施例的在多接口上可访问的高速缓存的示意图。多处理器系统100可包括处理器130、150、和系统存储器110。在一个实施例中,这些可以与接口连接,该接口是系统总线140。在其它实施例中,可使用其它接口,包括处理器130、150和系统存储器110之间的点对点接口。在一个实施例中,内部级高速缓存,例如L1高速缓存132、152,可以与相应的处理器130、150耦接。然而,外部级高速缓存,例如L2高速缓存136、156,可以与两个接口而不是与一个接口和处理器耦接。在图1的实施例中,与L2高速缓存136、156耦接的接口分别是系统总线140和桥式接口134、154。
当L1高速缓存132从L2高速缓存136载入高速缓存线时,L1高速缓存132中的高速缓存线的副本通常将占用与L2高速缓存136中的高速缓存线相关联的高速缓存相干状态。例如,如果L2高速缓存136中的高速缓存线具有相干状态E,则L1高速缓存132中的该高速缓存线的副本也将具有相干状态E。L1高速缓存132中的高速缓存线的副本将得到该E状态,即使没有意图要修改高速缓存线。更具有限制性的S状态可以由L1高速缓存132使用,但是尽管如此仍然传送E状态。
在另一实例中,如果L2高速缓存136中的高速缓存线和L1高速缓存132中的该高速缓存线的副本处于M状态,则如果另一高速缓存希望使该高速缓存线处于E状态,那么L2高速缓存136中的高速缓存线和L1高速缓存132中的该高速缓存线的副本都将需要以连续的方式改变到I状态。这将需要相对长的时间段,并会干扰L1高速缓存132和处理器130之间的其它交换的时序。
为了更有效地处理前两段中所讨论的情形,在一个实施例中,当与从系统总线140相比从桥式接口134观察时,L2高速缓存136可显示不同的高速缓存相干状态。这种联合高速缓存相干状态可显示单独的接口内传统高速缓存相干状态的性能。将联合高速缓存相干状态表示为“AB”,其中“A”是从外部接口(离处理器内核较远)观察的高速缓存相干状态,以及“B”是从内部接口(离处理器内核较近)观察的高速缓存相干状态。在一个实施例中,如果L2高速缓存136具有处于ES状态的高速缓存线,则L1高速缓存132可接收处于S状态的该高速缓存线的副本。处于S状态的该副本对于处理器130的使用是足够的。并且当系统总线140上的另一代理,例如处理器150,希望具有处于S状态的该高速缓存线时,由于L1高速缓存132中的高速缓存线的副本已经处于S状态,因此窥探(snooping)可停止在L2高速缓存136处。由于减少了窥探处理的数目,因此这可以增强桥式接口134上的传送性能。
在另一实施例中,认为L2高速缓存136和L1高速缓存132每一个具有处于M状态的高速缓存线的副本。在那些情况下,其中处理器130将对高速缓存线不执行任何另外的修改,与等待直到在稍后时刻产生强制(或明确的,即非推测性的)的无效相反的是,推测地使L1高速缓存132中的高速缓存线无效或许是有利的。因此,在一个实施例中,L1高速缓存132中的高速缓存线可被推测地无效到I状态,但是L2高速缓存136中的高速缓存线的副本可被提升到MI状态。采用这种方式,L1高速缓存132中的高速缓存线的副本被无效,但是从系统总线140上的代理的观点来看,L2高速缓存136中的高速缓存线的副本可保持在M状态。修改的高速缓存线从L2高速缓存136最终写回到系统存储器110可被推迟以提高系统性能。在其它实施例中,MI状态也可以支持明确无效的情况。
现在参考图2,示出根据一个实施例的联合高速缓存相干状态的图表。该图表示出对于通过内部接口以及通过外部接口可访问的高速缓存的可能的联合高速缓存相干状态,但是在各个实施例中,可以实施来自该图表的各个状态组,而不可以实施其它状态组。在一个实施例中,对于高速缓存线存在联合状态,其中外部接口的高速缓存相干状态与内部接口的高速缓存相干状态相比具有同等或较小限制的特权。例如,该两个高速缓存相干状态可以是相同的,假定简单的MESI高速缓存状态沿该图表的对角线向下。但是另外可存在联合状态,其中外部接口的高速缓存线的高速缓存相干状态与内部接口的高速缓存相干状态相比具有较小限制的特权。在一个实施例中,内部接口的高速缓存线的高速缓存相干状态可以是S,而外部接口的该高速缓存线的高速缓存相干状态可以是E或者甚至是M。类似地,在另一实施例中,内部接口的高速缓存线的高速缓存相干状态可以是I,而外部接口的该高速缓存线的高速缓存相干状态可以是S、E、或者甚至是M。
图2图表中的一种特殊情形是当高速缓存线的高速缓存相干状态对于外部接口是M,而对于内部接口是E时。该图表将该联合状态简单地识别为M状态。由于从E过渡到M当前是允许的而无需给出通知,因此这可以被理解。为此,不需要ME状态,并且仅M状态可以足够满足需要。
观察图2的联合高速缓存相干状态的一种方式在于,内部接口状态显示了在高速缓存分级结构的内部级处可用的最大高速缓存线状态权利。换句话说,高速缓存线状态可在该内部级处默默地或者在给出通知的情况下来降级。应当注意,从E和S状态的降级,例如E转到S、E转到I、或者S转到I,可以不需要通知或数据传送到高速缓存分级结构的外部级。然而,从M状态的降级会要求高速缓存分级结构中的外部级在处理中给出修改数据,其有时被称为回写操作。
现在参考图3A,示出根据本公开的一个实施例的能够在排他-共享ES状态下工作的高速缓存的操作图。最初,L2高速缓存136中的高速缓存线322可以处于E状态。当高速缓存线的副本被L1高速缓存312请求时,高速缓存线322的状态可被提升350到ES。接着,高速缓存线320的副本可传送到具有状态S的L1高速缓存312。
如果另一高速缓存需要该高速缓存线的话,具有状态S的高速缓存线320的副本可以是有利的。认为在外部接口336的远端处的高速缓存332窥探来确定任何其它高速缓存是否具有副本。当窥探处理360询问L2高速缓存316时,由于L1高速缓存312中的高速缓存线320的副本已经处于S状态,因此可以直接将高速缓存线322的副本提升362到S状态。这使得在桥式接口314上不需要任何另外的窥探处理。由此,在该实施例中,内部接口上的窥探处理减少。
在另一实施例中,ES高速缓存线状态可以指示同级(和外部级高速缓存)识别被具有ES线状态的高速缓存所专有(即处于排他或E状态)的高速缓存线。当高速缓存分级结构在内部级处具有带有ES状态的高速缓存线时,外部级包括的高速缓存应带有具有E状态的该高速缓存线。
在一个实施例中,当外部级准许排他访问高速缓存线而内部级仅要求共享访问时,高速缓存线可以获取ES状态。将共享高速缓存线权利传送到内部级,同时保持准许排他权利的认识,这可被认为是可用于性能改善的添加的信息。
在一个实施例中,ES状态高速缓存线应当被窥探到S状态或I状态以便同级访问该高速缓存线。ES状态可允许窥探请求改变到S状态,以便如上所述使得高速缓存线状态从ES很快地减小到S而不需要窥探内部级。这可以与E状态高速缓存线形成对比,其将必须发出内部级窥探请求改变到S状态,并等待结果,以保持包含和相干性。ES状态还可以帮助窥探请求改变到I状态。这些窥探应当窥探内部级以保持相干性,但是将不需要等待窥探结果。相应地,对排他访问ES状态高速缓存线的内部级请求可被很快地准许,并且高速缓存线状态从ES状态转变到E状态。
现在参考图3B,示出根据本公开的另一实施例的能够在排他-共享ES状态下工作的高速缓存的操作图。最初,L2高速缓存316中的高速缓存线366和L1高速缓存312中的高速缓存线364可以处于I状态(即没有任何一个高速缓存具有处于有效状态的特定高速缓存线)。当处理器310请求高速缓存线的副本时,它导致在L1高速缓存312中高速缓存未命中。因此,L1高速缓存312将发送对高速缓存线的请求370到L2高速缓存316,其中它又导致高速缓存未命中,不过这次是在L2高速缓存316中。如果窥探揭示其它高速缓存332不具有处于有效状态的高速缓存线,则L2高速缓存可将另外的请求373发送到系统存储器。
当存储器340将所请求的高速缓存线传送374到L2高速缓存316时,可以将新驻留的高速缓存线副本366从I状态提升376到EI状态。当L2高速缓存316接着将高速缓存线发送378到L1高速缓存312时,可以将新驻留的高速缓存线副本364从I状态提升380到S状态。当这发生时,可以进一步将L2高速缓存316中的高速缓存线366从EI状态提升382到ES状态。
现在参考图4,示出根据本公开的一个实施例的能够在修改-无效MI状态下工作的高速缓存的操作图。最初,L1高速缓存412中的高速缓存线420和L2高速缓存416中的高速缓存线422的副本可以处于M状态。当L1高速缓存412确定高速缓存线420的副本不会出现未来的修改或其它使用时,它可以决定以便推测性地使高速缓存线420无效。在一个实施例中,这可通过高速缓存线420进行从M到I状态的转变450、并接着将修改数据452发送到高速缓存线422来发生。此时,高速缓存线422可从M状态转变454到MI状态。在其它实施例中,MI状态也可以支持明确无效的实例。
当高速缓存线422处于MI状态时,它可能不需要立即将高速缓存线422中的修改数据发送到存储器440。相反,它可以等待直到根据诸如最近最少使用(LRU)策略的高速缓存线置换策略来使该线无效或从L2高速缓存416中驱逐出为止,并在那时发送修改的数据。在其它情况下,高速缓存线422当处于MI状态时可以接收窥探请求改变到I状态。当这发生时,高速缓存线422应当快速地将修改的数据发送到存储器440,但不必窥探降至L1高速缓存412中的高速缓存线420,因为其已经处于I状态。
在一个实施例中,MI高速缓存线状态可以指示L2高速缓存中修改的数据(以及在同级之间的专有权),并可以指示高速缓存线在任何内部级高速缓存中都不存在于有效状态。高速缓存线由于从内部级总线接收到M状态数据而可以到达MI状态,并跟随或伴有以下通知,即高速缓存线的所有副本在内部级高速缓存中已经被无效。该通知可以是高速缓存线置换(通常称为“容量驱逐(capacity eviction)”或明确的回写操作)的自主通知,或者是由于注入无效处理。MI状态还可以由接收所有内部级高速缓存已经使它们的高速缓存线副本无效的通知的MS状态高速缓存线引起。保持高速缓存线在任何内部级高速缓存中都不处于有效状态的信息避免了需要窥探内部级高速缓存以便服务引入的外部级窥探。保持到M状态数据允许将当前数据快速传送到最近修改该数据的高速缓存级(时间局部性优化)。
在一个实施例中,MI状态高速缓存线应当被窥探到S状态或I状态,以便同级访问该高速缓存线。在这两种情况下,可发出立即的“修改数据”响应,并且具有该修改数据的有效立即的可用性,两者都不需要窥探内部级。这与M状态高速缓存线形成对比,其应当发出内部级窥探,其后等待结果,以保持包含和相干性,并可能获得当前数据。相应地,对访问MI状态高速缓存线的内部级请求可被很快准许。该高速缓存线状态可以对于来自内部级的排他访问请求转变到M,或者对于来自内部级的共享访问请求转变到MS。
现在参考图5,示出根据本公开的一个实施例的能够在修改-共享MS状态下工作的高速缓存的操作图。在图5实施例中,最初,L1高速缓存512中的高速缓存线520可以处于I状态,而L2高速缓存516中的高速缓存线522可以处于MI状态。高速缓存线520可以希望重新读取高速缓存线522中的修改数据。因此,请求552可以被发送到L2高速缓存516,使它将修改数据传送556到L1高速缓存512,其后使高速缓存线522从MI状态转变554到MS状态。接着可发生使高速缓存线520从I状态到S状态的另一转变550。
在一个实施例中,MS高速缓存线状态可以指示L2高速缓存中的修改数据(以及在同级之间的专有权),并可以指示高速缓存线在内部级高速缓存中可以处于S状态。由于如上所述对共享访问的内部级请求命中MI状态线,因此高速缓存线可以到达MS状态。或者,MS状态可以由从内部级总线接收M状态数据引起,其跟随有(或伴有)在所有内部级高速缓存中所有高速缓存线副本都已经降级至S状态(或被无效)的通知。保留高速缓存线在任何内部级高速缓存中都没有被修改的信息避免了为当前数据窥探内部级高速缓存的需要。保持在M状态数据允许将当前数据以及修改该数据的权利一起快速传送到最近修改该数据的高速缓存级(另一时间局部性优化)。
在一个实施例中,MS状态高速缓存线应当被窥探到S状态以便同级访问该高速缓存线。在这种情况下,可发出同时“修改数据”响应,并且具有该修改数据的迅速可用性,而不需要等待内部级窥探完成。由此,在该具体实施例中,内部接口上的窥探处理减少。这与M状态高速缓存线形成对比,其应当发出内部级窥探,其后等待结果,以保持包含和相干性,并可能获得当前数据。相应地,对访问MS状态高速缓存线的内部级请求可被很快准许。对于来自内部级的排他访问请求,该高速缓存线状态可以转变到M,或者对于来自内部级的共享访问请求,该高速缓存线状态可以保持在MS状态。
现在参考图6,示出根据本公开的一个实施例的能够在排他-无效EI状态下工作的高速缓存的操作图。在图6实施例中,认为最初L1高速缓存612中的高速缓存线620和L2高速缓存616中的高速缓存线622处于E状态。如果L1高速缓存612确定高速缓存线620应当被推测地无效,则可以向L2高速缓存616发送请求650,并且可以使高速缓存线622从E状态转变654到EI状态。同时,可以使高速缓存线620从E状态转变652到I状态。在其它实施例中,EI状态也可以支持明确无效的实例。
如果另一个高速缓存,例如高速缓存632,需要处于E状态的高速缓存线632的副本,则它可以发送窥探660,其可以启动使高速缓存线622从EI状态到I状态的转变662。由于已知高速缓存线690的副本已经处于I状态,因此该窥探660可以不需要被发送到L1高速缓存612上。由此,在该实施例中,桥式接口614上的窥探处理减少。
在一个实施例中,EI高速缓存线状态可以指示L2高速缓存中的高速缓存线的专有权,并可以指示高速缓存线不处于任何内部级高速缓存中。由于E状态或ES状态高速缓存线接收到所有高速缓存线副本已经在内部级高速缓存中被无效的通知,因此高速缓存线可以到达EI状态。保留高速缓存线在任何内部级高速缓存中都不处于有效状态的信息避免了对窥探内部级高速缓存的需要。保持在E状态允许快速传送当前数据以及准许E状态或S状态访问内部级。
在一个实施例中,EI状态高速缓存线应当被窥探到SI状态、S状态或I状态,以便同级访问该高速缓存线。引入对排他访问EI状态线的请求产生了对窥探的快速‘清除’响应,同时将该高速缓存线转变到I状态而不需要窥探内部级。引入对共享访问EI状态线的请求的情形需要策略决定或者通过指示对窥探的立即‘命中’响应来保留该线、同时使高速缓存线转变到SI状态或S状态,或者通过驱逐出EI状态线来去除并用发信令‘清除’窥探结果(两个策略都不需要窥探内部级)。这些结果与E状态高速缓存线形成对比,其应当发出内部级窥探,其后等待结果,以便保持包含和相干性,并可能获得当前数据。相应地,对访问EI状态高速缓存线的内部级请求可被很快准许。该高速缓存线状态可以对于来自内部级的排他访问请求转变到E,或者对于来自内部级的共享访问请求转变到ES。
现在参考图7,示出根据本公开的一个实施例的能够在共享-无效SI状态下工作的高速缓存的操作图。在图7实施例中,认为最初L1高速缓存712中的高速缓存线720和L2高速缓存716中的高速缓存线722处于S状态。如果L1高速缓存712确定高速缓存线720应当被推测地无效,则可以向L2高速缓存716发送请求750,并且可以使高速缓存线722从S状态转变754到SI状态。大约在同时,可以使高速缓存线720从S状态转变752到I状态。在其它实施例中,SI状态也可以支持明确无效的实例。
如果另一个高速缓存,例如高速缓存732,需要处于E状态的高速缓存线734的副本,则它可以发送窥探760,其可以启动使高速缓存线722从SI状态到I状态的转变762。由于已知高速缓存线720的副本已经处于I状态,因此该窥探760可以不需要被发送到L1高速缓存712上。由此,在该实施例中,桥式接口714上的窥探处理减少。
在一个实施例中,SI高速缓存线状态可以指示L2高速缓存中的共享数据,并可以指示高速缓存线在任何内部级高速缓存中都不处于任何有效状态。由于S状态线接收到所有高速缓存线副本已经在内部级高速缓存中被无效的通知,因此高速缓存线可以到达SI状态。保留高速缓存线不处于任何内部级高速缓存中的信息避免了对当服务引入的窥探时通知内部级高速缓存的需要。保持字S状态允许快速传送当前数据以及准许S状态访问内部级。引入对排他访问SI状态线的请求可以产生对窥探的快速‘清除’响应,同时使高速缓存线转变到I状态而不需要窥探内部级。该结果与S状态高速缓存线形成对比,其应当发出内部级窥探。引入对共享访问SI状态的请求被等效地处理到S状态它产生快速‘命中’响应而SI高速缓存线状态没有变化。
现在参考图8,示出根据本公开的一个实施例的处理器系统的示意图。图8系统可以包括若干个处理器,为了清楚起见仅示出了其中的两个,即处理器40、60。处理器40、60可以是图1的处理器130,包括图1的高速缓存结构。处理器40、60可以包括L1高速缓存46、66和L2高速缓存42、62。图8多处理器系统可以具有通过总线接口44、64、12、8与系统总线6连接的若干个功能。在一个实施例中,系统总线6可以是使用由Intel公司制造的Pentium 4级微处理器的前侧总线(FSB)。通过总线接口与系统总线连接的功能的通用名称是“代理”。代理的实例是处理器40、60、总线桥32和存储控制器34。在一些实施例中,存储控制器34和总线桥32可以共同称为芯片组。在一些实施例中,芯片组的功能可以与图8实施例所示的不同而在物理芯片之间划分。
存储控制器34可以允许处理器40、60从系统存储器10和基本输入/输出系统(BIOS)可擦除可编程只读存储器(EPROM)36中读取或写入。在一些实施例中,BIOS EPROM 36可以使用快闪存储器。存储控制器34可以包括总线接口8以允许存储器读取和写入被传送到和来自系统总线6的总线代理传送的数据。存储控制器34还可以跨越高性能图形接口39与高性能图形电路38连接。在特定实施例中,该高性能图形接口39可以是高级图形端口AGP接口,或以多个速度工作的AGP接口,例如4X AGP或8X AGP。存储控制器34可以跨越高性能图形接口39将数据从系统存储器10直接读取到高性能图形电路38。
总线桥32可以允许数据在系统总线6和总线16之间交换,其在一些实施例中可以是工业标准结构(ISA)总线或外围部件互连(PCI)总线。在总线16上可以存在各种输入/输出I/O设备14,其在一些实施例中包括低性能图形控制器、视频控制器和联网控制器。另一总线桥18在一些实施例中可用于允许数据在总线16和总线20之间交换。总线20在一些实施例中可以是小型计算机系统接口(SCSI)总线、集成驱动电子设备(IDE)总线、或通用串行总线(USB)总线。另外的I/O设备可以与总线20连接。这些可包括键盘和光标控制设备22,包括鼠标、音频I/O 24、通信设备26,包括调制解调器和网络接口,以及数据存储设备28。软件代码30可以存储在数据存储设备28上。在一些实施例中,数据存储设备28可以是固定的磁盘、软盘驱动、光盘驱动、磁光盘驱动、磁带、或包括快闪存储器的非易失性存储器。
在前面的说明中,已经参考本发明的具体示例性实施例描述了本发明。然而,明显地,在不脱离所附权利要求中所列出的本发明的较广的精神和范围的情况下,可以对本发明进行各种修改和改变。因此,说明和附图被认为是说明性的而没有限制性意义。
权利要求
1.一种装置,包括第一接口;不与所述第一接口直接耦接的第二接口;和可从所述第一接口和所述第二接口访问的高速缓存,以便包含高速缓存线,当从所述第一接口访问时该高速缓存线具有第一高速缓存相干状态,并且当从所述第二接口访问时具有第二高速缓存相干状态。
2.权利要求1的装置,其中当所述第二接口与处理器耦接时,所述第一高速缓存相干状态与所述第二高速缓存相干状态相比具有更高的特权。
3.权利要求2的装置,其中所述第二高速缓存相干状态将减少所述第二接口上的窥探处理。
4.权利要求2的装置,其中所述第一高速缓存相干状态是排他的,并且所述第二高速缓存相干状态是共享的。
5.权利要求2的装置,其中所述第一高速缓存相干状态是被修改的,并且所述第二高速缓存相干状态是共享的。
6.权利要求3的装置,其中所述第二高速缓存相干状态支持推测的无效。
7.权利要求6的装置,其中所述第一高速缓存相干状态是被修改的,并且所述第二高速缓存相干状态是无效的。
8.权利要求6的装置,其中所述第一高速缓存相干状态是排他的,并且所述第二高速缓存相干状态是无效的。
9.权利要求6的装置,其中所述第一高速缓存相干状态是共享的,并且所述第二高速缓存相干状态是无效的。
10.权利要求6的装置,其中所述第二高速缓存相干状态进一步支持明确的无效。
11.一种方法,包括将第一高速缓存相干状态与第一高速缓存中的第一高速缓存线相关联;将第二高速缓存相干状态与和所述第一高速缓存有内部关系的第二高速缓存中的第二高速缓存线相关联;将所述第一高速缓存相干状态转变到联合高速缓存相干状态,其包括外部接口的所述第一高速缓存相干状态和内部接口的第三高速缓存相干状态;以及将所述第二高速缓存相干状态转变到所述第三高速缓存相干状态。
12.权利要求11的方法,其中所述第一高速缓存相干状态是排他的,所述第二高速缓存相干状态是无效的,并且所述第三高速缓存相干状态是共享的。
13.权利要求11的方法,其中所述第一高速缓存相干状态是被修改的,所述第二高速缓存相干状态是被修改的,并且所述第三高速缓存相干状态是无效的。
14.一种方法,包括将第一高速缓存相干状态与第一高速缓存中的第一高速缓存线相关联;将第二高速缓存相干状态与和所述第一高速缓存有内部关系的第二高速缓存中的第二高速缓存线相关联;将所述第二高速缓存相干状态转变到无效状态;以及将所述第一高速缓存相干状态转变到联合高速缓存相干状态,其包括外部接口的所述第一高速缓存相干状态和内部接口的无效状态。
15.权利要求14的方法,其中所述第一高速缓存相干状态是被修改的。
16.权利要求14的方法,其中所述第一高速缓存相干状态是排他的。
17.权利要求14的方法,其中所述第一高速缓存相干状态是共享的。
18.一种方法,包括将第一高速缓存相干状态与第一高速缓存中的第一高速缓存线相关联;将无效状态与和所述第一高速缓存有内部关系的第二高速缓存中的第二高速缓存线相关联;将所述无效状态转变到共享状态;以及将所述第一高速缓存相干状态转变到包括内部接口的共享状态的联合高速缓存相干状态。
19.权利要求18的方法,其中所述第一高速缓存相干状态是无效的,并且所述联合高速缓存相干状态是排他一共享的。
20.权利要求18的方法,其中所述第一高速缓存相干状态是修改-无效的,并且所述联合高速缓存相干状态是修改-共享的。
21.一种装置,包括用于将第一高速缓存相干状态与第一高速缓存中的第一高速缓存线相关联的装置;用于将第二高速缓存相干状态与和所述第一高速缓存有内部关系的第二高速缓存中的第二高速缓存线相关联的装置;用于将所述第一高速缓存相干状态转变到联合高速缓存相干状态的装置,所述联合高速缓存相干状态包括外部接口的所述第一高速缓存相干状态和内部接口的第三高速缓存相干状态;以及用于将所述第二高速缓存相干状态转变到所述第三高速缓存相干状态的装置。
22.权利要求21的装置,其中所述第一高速缓存相干状态是排他的,所述第二高速缓存相干状态是无效的,并且所述第三高速缓存相干状态是共享的。
23.权利要求21的装置,其中所述第一高速缓存相干状态是被修改的,所述第二高速缓存相干状态是被修改的,并且所述第三高速缓存相干状态是无效的。
24.一种装置,包括用于将第一高速缓存相干状态与第一高速缓存中的第一高速缓存线相关联的装置;用于将第二高速缓存相干状态与和所述第一高速缓存有内部关系的第二高速缓存中的第二高速缓存线相关联的装置;用于将所述第二高速缓存相干状态转变到无效状态的装置;以及用于将所述第一高速缓存相干状态转变到联合高速缓存相干状态的装置,所述联合高速缓存相干状态包括外部接口的所述第一高速缓存相干状态和内部接口的无效状态。
25.权利要求24的方法,其中所述第一高速缓存相干状态是被修改的。
26.权利要求24的方法,其中所述第一高速缓存相干状态是排他的。
27.权利要求24的方法,其中所述第一高速缓存相干状态是共享的。
28.一种装置,包括用于将第一高速缓存相干状态与第一高速缓存中的第一高速缓存线相关联的装置;用于将无效状态与和所述第一高速缓存有内部关系的第二高速缓存中的第二高速缓存线相关联的装置;用于将所述无效状态转变到共享状态的装置;以及用于将所述第一高速缓存相干状态转变到包括内部接口的共享状态的联合高速缓存相干状态的装置。
29.权利要求28的装置,其中所述第一高速缓存相干状态是无效的,并且所述联合高速缓存相干状态是排他-共享的。
30.权利要求28的装置,其中所述第一高速缓存相干状态是修改-无效的,并且所述联合高速缓存相干状态是修改-共享的。
31.一种系统,包括可从第一接口和第二接口访问的高速缓存,以便包含高速缓存线,当从所述第一接口访问时该高速缓存线具有第一高速缓存相干状态,并且当从所述第二接口访问时具有第二高速缓存相干状态;到第三接口的总线桥;以及与所述第三接口耦接的输入-输出设备。
32.权利要求31的系统,其中当所述第二接口与处理器耦接时,所述第一高速缓存相干状态与所述第二高速缓存相干状态相比具有更高的特权。
33.权利要求31的系统,其中所述第二高速缓存相干状态将减少所述第二接口上的窥探处理。
全文摘要
公开了一种用于高速缓存相干状态的方法和装置。在一个实施例中,可跨越两个接口即内部接口和外部接口访问的高速缓存可以具有联合高速缓存相干状态。该联合高速缓存相干状态可以具有内部接口的第一状态和外部接口的第二状态,其中该第二状态与该第一状态相比具有更高的特权。在一个实施例中,这可以促进推测的无效。在其它实施例中,这可以减少内部接口上的窥探处理。
文档编号G06F12/08GK1849594SQ200480026270
公开日2006年10月18日 申请日期2004年9月10日 优先权日2003年9月12日
发明者J·吉尔伯特, K·程 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1