Multi-level multiprocessor speculation mechanism
    81.
    发明授权
    Multi-level multiprocessor speculation mechanism 有权
    多级多处理器推测机制

    公开(公告)号:US06748518B1

    公开(公告)日:2004-06-08

    申请号:US09588483

    申请日:2000-06-06

    IPC分类号: G06F930

    摘要: Disclosed is a processor, which reduces issuing of unnecessary barrier operations during instruction processing. The processor comprises an instruction sequencing unit and a load store unit (LSU) that issues a group of memory access requests that precede a barrier instruction in an instruction sequence. The processor also includes a controller, which in response to a determination that all of the memory access requests hit in a cache affiliated with the processor, withholds issuing on an interconnect a barrier operation associated with the barrier instruction. The controller further directs the load store unit to ignore the barrier instruction and complete processing of a next group of memory access requests following the barrier instruction in the instruction sequence without receiving an acknowledgment.

    摘要翻译: 公开了一种处理器,其减少在指令处理期间发出不必要的屏障操作。 处理器包括指令排序单元和负载存储单元(LSU),其发出在指令序列中的屏障指令之前的一组存储器访问请求。 处理器还包括控制器,其响应于确定在处理器附属的高速缓存中的所有存储器访问请求,在互连上保留与屏障指令相关联的屏障操作。 控制器进一步引导加载存储单元忽略屏障指令,并且在指令序列中的屏障指令之后的下一组存储器访问请求完成处理而不接收到确认。

    High speed lock acquisition mechanism with time parameterized cache coherency states
    82.
    发明授权
    High speed lock acquisition mechanism with time parameterized cache coherency states 有权
    具有时间参数化高速缓存一致性状态的高速锁定采集机制

    公开(公告)号:US06629212B1

    公开(公告)日:2003-09-30

    申请号:US09437187

    申请日:1999-11-09

    IPC分类号: G06F1200

    CPC分类号: G06F12/0815

    摘要: A multiprocessor data processing system requires careful management to maintain cache coherency. In conventional systems using a MESI approach, two or more processors will often compete for ownership of a common cache line. As a result, ownership of the cache line will frequently “bounce” between multiple processors, which causes a significant reduction in cache efficiency. The preferred embodiment provides a modified MESI state which holds the status of the cache line static for a fixed period of time, which eliminates the bounce effect from contention between multiple processors.

    摘要翻译: 多处理器数据处理系统需要仔细管理以保持高速缓存一致性。 在使用MESI方法的常规系统中,两个或多个处理器通常将竞争公用高速缓存行的所有权。 因此,高速缓存行的所有权将在多个处理器之间频繁地“反弹”,这导致高速缓存效率的显着降低。 优选实施例提供修改的MESI状态,其将高速缓存行的状态保持固定的固定时间段,从而消除了来自多个处理器之间的争用的反弹效应。

    Multiprocessor speculation mechanism with imprecise recycling of storage operations
    83.
    发明授权
    Multiprocessor speculation mechanism with imprecise recycling of storage operations 有权
    多处理器推测机制,存储操作不正确的回收

    公开(公告)号:US06606702B1

    公开(公告)日:2003-08-12

    申请号:US09588606

    申请日:2000-06-06

    IPC分类号: G06F9312

    摘要: Disclosed is a method of operating a processor, by which a speculatively issued load request, which fetches incorrect data, is recycled. An instruction sequence, which includes a barrier instruction and a load instruction that follows the barrier instruction in program order, is received for execution. In response to the barrier instruction, a barrier operation is issued on an interconnect. Following, in response to the load instruction and while the barrier operation is pending, a load request is issued to memory. When a pre-determined type of invalidate, which is affiliated with the load request, is received before the receipt of an acknowledgment for the barrier operation, data that is returned by memory in response to the load request is discarded and the load request is re-issued. The pre-determined type of invalidate includes, for example, a snoop invalidate.

    摘要翻译: 公开了一种操作处理器的方法,通过该方法,回收了推测性发出的载入请求,其提取不正确的数据。 接收指令序列,其中包括按程序顺序跟随障碍指令的障碍指令和加载指令,以执行。 响应于屏障指令,在互连上发出屏障操作。 接下来,响应于加载指令,并且当屏障操作正在等待时,向存储器发出加载请求。 当在接收到屏障操作的确认之前接收到与加载请求相关联的预定类型的无效时,丢弃由存储器响应于加载请求而返回的数据,并且重新加载请求 -发行。 预定类型的无效包括例如窥探无效。

    Extended cache coherency protocol with a “lock released” state
    84.
    发明授权
    Extended cache coherency protocol with a “lock released” state 失效
    具有“锁定释放”状态的扩展缓存一致性协议

    公开(公告)号:US06549989B1

    公开(公告)日:2003-04-15

    申请号:US09437184

    申请日:1999-11-09

    IPC分类号: G06F1200

    CPC分类号: G06F12/0831

    摘要: A multiprocessor data processing system requires careful management to maintain cache coherency. Conventional systems using a MESI approach sacrifice some performance with inefficient lock-acquisition and lock-retention techniques. The disclosed system provides additional cache states, indicator bits, and lock-acquisition routines to improve cache performance. In particular, as multiple processors compete for the same cache line, a significant amount of processor time is lost determining if another processor's cache line lock has been released and attempting to reserve that cache line while it is still owned by the other processor. The preferred embodiment provides an additional cache state which specifically indicates that a processor has released its lock on a cache line after it has performed any necessary modifications.

    摘要翻译: 多处理器数据处理系统需要仔细管理以保持高速缓存一致性。 使用MESI方法的常规系统通过低效的锁定采集和锁定保留技术来牺牲一些性能。 所公开的系统提供附加的高速缓存状态,指示符位和锁定采集例程以提高高速缓存性能。 特别地,由于多个处理器竞争相同的高速缓存行,所以丢失了大量的处理器时间,这确定了另一个处理器的高速缓存行锁定是否已被释放,并尝试在该另一个处理器仍然拥有的情况下保留该高速缓存行。 优选实施例提供了附加高速缓存状态,其特别地指示处理器在执行任何必要的修改之后已经在高速缓存线上释放其锁定。

    Protocol for transferring modified-unsolicited state during data intervention
    85.
    发明授权
    Protocol for transferring modified-unsolicited state during data intervention 有权
    缓存一致性协议,提供来自中间缓存的标志,以指示修改的高速缓存行的释放

    公开(公告)号:US06349369B1

    公开(公告)日:2002-02-19

    申请号:US09437180

    申请日:1999-11-09

    IPC分类号: G06F1200

    CPC分类号: G06F12/0831

    摘要: A novel cache coherency protocol provides a modified-unsolicited (MU) cache state to indicate that a value held in a cache line has been modified (i.e., is not currently consistent with system memory), but was modified by another processing unit, not by the processing unit associated with the cache that currently contains the value in the MU state, and that the value is held exclusive of any other horizontally adjacent caches. Because the value is exclusively held, it may be modified in that cache without the necessity of issuing a bus transaction to other horizontal caches in the memory hierarchy. The MU state may be applied as a result of a snoop response to a read request. The read request can include a flag to indicate that the requesting cache is capable of utilizing the MU state. Alternatively, a flag may be provided with intervention data to indicate that the requesting cache should utilize the modified-unsolicited state.

    摘要翻译: 一种新颖的高速缓存一致性协议提供修改的非请求(MU)高速缓存状态,以指示保持在高速缓存行中的值已被修改(即,当前不符合系统存储器),但是被另一个处理单元修改,而不是由 与当前包含MU状态的值的高速缓存相关联的处理单元,并且该值被保持为任何其他水平相邻的高速缓存。 因为该值是唯一保留的,所以可以在该高速缓存中修改该值,而不需要向存储器层级中的其他水平高速缓存发出总线事务。 作为对读取请求的窥探响应的结果,可以应用MU状态。 读取请求可以包括用于指示请求的高速缓存能够利用MU状态的标志。 或者,可以向标记提供干预数据,以指示请求的高速缓存应该利用修改的未经请求的状态。

    Method and system for communication in which a castout operation is cancelled in response to snoop responses
    86.
    发明授权
    Method and system for communication in which a castout operation is cancelled in response to snoop responses 失效
    用于通信的方法和系统,其中响应于窥探响应取消了退出操作

    公开(公告)号:US06349367B1

    公开(公告)日:2002-02-19

    申请号:US09368228

    申请日:1999-08-04

    IPC分类号: G06F1300

    CPC分类号: G06F12/0831 G06F12/0804

    摘要: An effectively “conditional”, cast out operation or cast out portion of a combined operation including a related data access may be cancelled by the combined response to the operation. The combined response logic receives coherency state and/or LRU position information for cache lines corresponding to the cast out victim within snoopers and vertically in-line storage. The combined response logic may also receive information regarding the presence of shared or invalid cache lines in snoopers or lower level storage within the congruence class for the victim, or information regarding the read-once nature of the data access target. Based on these responses, the combined response logic determines whether the cast out should be cancelled and, if so, selects and drives the appropriate combined response code.

    摘要翻译: 可以通过对操作的组合的响应来取消有效的“有条件”,丢弃包括相关数据访问在内的组合操作的部分。 组合的响应逻辑在窥探者和垂直的在线存储器中接收对应于被丢弃的受害者的高速缓存行的相关性状态和/或LRU位置信息。 组合的响应逻辑还可以接收关于在受害者的同余类中的窥探者或低级存储器中存在共享或无效高速缓存行的信息,或者关于数据访问目标的一次读取性质的信息。 基于这些响应,组合的响应逻辑确定是否应该取消推出,如果是,则选择并驱动适当的组合响应代码。

    Multiprocessor system bus transaction for transferring exclusive-deallocate cache state to lower lever cache
    87.
    发明授权
    Multiprocessor system bus transaction for transferring exclusive-deallocate cache state to lower lever cache 失效
    多处理器系统总线事务,用于将独占解除缓存状态转移到低级缓存

    公开(公告)号:US06314498B1

    公开(公告)日:2001-11-06

    申请号:US09437197

    申请日:1999-11-09

    IPC分类号: G06F1208

    CPC分类号: G06F12/0831 G06F12/0811

    摘要: A cache coherency protocol uses a “Exclusive-Deallocate” (ED) coherency state to indicate that a particular value is currently held in an upper level cache in an exclusive, unmodified form (not shared with any other caches of the computer system, including caches associated with the same processing unit), so that the value can conveniently be modified without any lower level bus transactions since no lower level caches have allocated a line for the value. If the value is subsequently modified in the upper level cache, its coherency state is simply switched to “modified” without the need for any bus transactions. Conversely, if the value is evicted from the upper level cache without ever having been modified, it can be loaded into the lower level cache with a coherency state indicating that the lower level cache contains the unmodified value exclusive of all other caches in other processing units of the computer system. If the value is initially loaded into the upper level cache from a cache of another processing unit, or from a lower level cache of the same processing unit, then the upper level cache may be selectively programmed to mark the cache line with the ED state.

    摘要翻译: 高速缓存一致性协议使用“独占解除分配”(ED)一致性状态来指示特定值当前以独占未修改的形式(不与计算机系统的任何其他高速缓存共享,包括高速缓存)保持在高级缓存中 与相同的处理单元关联),使得该值可以方便地被修改而没有任何较低级别的总线事务,因为没有较低级别的高速缓存已经为该值分配了一行。 如果该值随后在高级缓存中被修改,则其一致性状态被简单地切换到“修改”,而不需要任何总线事务。 相反,如果该值从上级缓存中被逐出而没有被修改,则可以将其加载到具有一致性状态的相关性状态中,该相关性状态指示低级缓存包含其他处理单元中所有其他高速缓存的排他性的未修改值 的计算机系统。 如果该值最初从另一处理单元的高速缓存或相同处理单元的较低级高速缓存加载到高级缓存中,则可以选择性地编程高级缓存以用ED状态标记高速缓存行。

    Multiprocessor system bus with combined snoop responses implicitly updating snooper LRU position
    88.
    发明授权
    Multiprocessor system bus with combined snoop responses implicitly updating snooper LRU position 失效
    具有组合侦听响应的多处理器系统总线隐式更新snooper LRU位置

    公开(公告)号:US06279086B1

    公开(公告)日:2001-08-21

    申请号:US09368227

    申请日:1999-08-04

    IPC分类号: G06F1208

    摘要: Upon snooping a combined data access and cast out/deallocate operation initiating by a horizontal storage device, snoop logic determines, from LRU position information appended to the combined response to the combined operation, whether the coherency state and/or LRU position of the victim may be upgraded within the subject storage device. If so, the coherency state or LRU position is upgraded to improve global data storage management. For instance, a cache line within a snooping storage device may be altered to assume the coherency state of the victim within the storage device initiating the combined operation to improve data storage management under a given replacement policy.

    摘要翻译: 在窥探组合的数据访问并且通过水平存储设备推出/取消分配操作时,窥探逻辑从附加到对组合操作的组合响应的LRU位置信息确定受害者的相关性状态和/或LRU位置是否可以 在主题存储设备内进行升级。 如果是这样,则一致性状态或LRU位置被升级以改进全局数据存储管理。 例如,可以改变窥探存储设备内的高速缓存行,以假定存储设备内的受害者的一致性状态发起组合操作,以改善给定替换策略下的数据存储管理。

    Multiprocessor system bus with system controller explicitly updating snooper cache state information
    89.
    发明授权
    Multiprocessor system bus with system controller explicitly updating snooper cache state information 失效
    具有系统控制器的多处理器系统总线显式更新窥探缓存状态信息

    公开(公告)号:US06275909B1

    公开(公告)日:2001-08-14

    申请号:US09368226

    申请日:1999-08-04

    IPC分类号: G06F1300

    CPC分类号: G06F12/0831 G06F12/0811

    摘要: Combined response logic for a bus receives a combined data access and cast out/deallocate operation initiating by a storage device within a specific level of a storage hierarchy with a coherency state of the cast out/deallocate victim appended. Snoopers on the bus drive snoop responses to the combined operation with the coherency state and/or LRU position of locally-stored cache lines corresponding to the victim appended. The combined response logic determines, from the coherency state information appended to the combined operation and the snoop responses, whether a coherency upgrade is possible. If so, the combined response logic selects a snooper storage device to upgrade the coherency state of a respective cache line corresponding to the victim, and appends an upgrade directive to the combined response. The snooper selected to upgrade the coherency state of a cache line corresponding the victim may be randomly chosen or, as an optimization, be chosen for having the highest LRU position for the respective cache line.

    摘要翻译: 总线的组合响应逻辑接收组合的数据访问,并且通过存储分层结构的特定级别中的存储设备发起/撤销分配操作,所述存储层级具有附加的转出/取消分配的受害者的一致性状态。 总线驱动器侦听器上的侦听器响应于与所附加的受害者对应的本地存储的缓存线的相关性状态和/或LRU位置的组合操作。 组合响应逻辑从附加到组合操作和窥探响应的一致性状态信息确定是否可以进行一致性升级。 如果是这样,组合的响应逻辑选择窥探存储设备来升级与受害者相对应的相应高速缓存行的一致性状态,并且将升级指令附加到组合响应。 选择用于升级与受害者相对应的高速缓存线的相关性状态的窥探者可以被随机选择,或者作为优化被选择以具有用于相应高速缓存行的最高LRU位置。

    Optimizing compiler for generating store instructions having memory hierarchy control bits
    90.
    发明授权
    Optimizing compiler for generating store instructions having memory hierarchy control bits 失效
    优化用于生成具有存储器层级控制位的存储指令的编译器

    公开(公告)号:US06249911B1

    公开(公告)日:2001-06-19

    申请号:US09368756

    申请日:1999-08-05

    IPC分类号: G06F1518

    CPC分类号: G06F8/4442

    摘要: An optimizing compiler for generating STORE instructions having memory hierarchy control bits is disclosed. The compiler first converts a first STORE instruction to a second STORE instruction. The compiler then provides an operation code field within the second instruction for indicating an updating operation. The compiler further provides a vertical write-through level field within the second instruction for indicating a vertical memory level and a horizontal memory level within a multi-level memory hierarchy to which the updating operation should be applied.

    摘要翻译: 公开了一种用于生成具有存储器层级控制位的存储指令的优化编译器。 编译器首先将第一个STORE指令转换为第二个STORE指令。 然后,编译器在第二指令内提供用于指示更新操作的操作码字段。 编译器进一步提供第二指令内的垂直写通电平字段,用于指示应应用更新操作的多级存储器层级内的垂直存储器级别和水平存储器级别。