Value-based memory coherence support
    11.
    发明授权
    Value-based memory coherence support 有权
    基于价值的记忆一致性支持

    公开(公告)号:US07412567B2

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

    申请号:US11413243

    申请日:2006-04-28

    IPC分类号: G06F12/00

    摘要: In one embodiment, a processor comprises a coherence trap unit and a trap logic coupled to the coherence trap unit. The coherence trap unit is also coupled to receive data accessed in response to the processor executing a memory operation. The coherence trap unit is configured to detect that the data matches a designated value indicating that a coherence trap is to be initiated to coherently perform the memory operation. The trap logic is configured to trap to a designated software routine responsive to the coherence trap unit detecting the designated value. In some embodiments, a cache tag in a cache may track whether or not the corresponding cache line has the designated value, and the cache tag may be used to trigger a trap in response to an access to the corresponding cache line.

    摘要翻译: 在一个实施例中,处理器包括相干陷阱单元和耦合到相干陷波单元的陷波逻辑。 相干陷阱单元还被耦合以接收响应于处理器执行存储器操作而访问的数据。 相干陷阱单元被配置为检测数据与指示要发起的相干陷阱的指定值匹配以相干地执行存储器操作。 陷阱逻辑被配置为响应于相干陷阱单元检测到指定值而陷入指定的软件例行程序。 在一些实施例中,高速缓存中的高速缓存标签可以跟踪对应的高速缓存行是否具有指定值,并且可以使用高速缓存标签来响应对对应的高速缓存行的访问来触发陷阱。

    Software-accessible hardware support for determining set membership
    12.
    发明授权
    Software-accessible hardware support for determining set membership 有权
    用于确定集成员资格的软件可访问硬件支持

    公开(公告)号:US08788766B2

    公开(公告)日:2014-07-22

    申请号:US12708376

    申请日:2010-02-18

    IPC分类号: G06F12/00 G06F13/00 G06F13/28

    CPC分类号: G06F9/30021 G06F9/30018

    摘要: A method and processor supporting architected instructions for tracking and determining set membership, such as by implementing Bloom filters are disclosed. The apparatus includes storage arrays (e.g., registers) and an execution core configured to store an indication that a given value is a member of a set, including by executing an architected instruction having an operand specifying the given value, wherein executing comprises applying a hash function to the value to determine an index into one of the storage arrays and setting a bit of the storage array corresponding to the index. An architected query instruction is later executed to determine if a query value is not a member of the set, including by applying the hash function to the query value to determine an index into the storage array and determining whether a bit at the index of the storage array is set.

    摘要翻译: 公开了一种支持用于跟踪和确定集合成员资格的架构指令的方法和处理器,例如通过实现Bloom过滤器。 该装置包括存储阵列(例如,寄存器)和被配置为存储给定值是组的成员的指示的执行核心,包括通过执行具有指定给定值的操作数的架构化指令,其中执行包括应用散列 函数到该值以确定一个索引到一个存储阵列中并设置与该索引对应的存储阵列的位。 稍后执行架构化查询指令以确定查询值是否不是该集合的成员,包括通过将哈希函数应用于查询值来确定存储阵列中的索引并确定存储器的索引处的位 数组被设置。

    Multiprocessing systems employing hierarchical spin locks
    13.
    发明授权
    Multiprocessing systems employing hierarchical spin locks 有权
    采用分层旋转锁的多处理系统

    公开(公告)号:US07529844B2

    公开(公告)日:2009-05-05

    申请号:US10422454

    申请日:2003-04-24

    IPC分类号: G06F15/16

    CPC分类号: G06F9/526

    摘要: A method for controlling a software lock acquirable by processors in a plurality of nodes of a multiprocessing system is disclosed. The method comprises a first processor of a first node of the plurality of nodes acquiring the lock, and the first processor selectively releasing the lock in a first state that allows other processors within the first node to acquire the lock but that prevents processors in a remote node of the plurality of nodes from obtaining the lock. In another embodiment, a method comprises a first processor of a first node attempting to acquire the lock, the first processor determining whether another processor within the same node is remotely spinning on the lock, and the first processor remotely spinning on the lock in response to determining that another processor in the same node is not remotely spinning on the software lock.

    摘要翻译: 公开了一种用于控制由多处理系统的多个节点中的处理器获取的软件锁定的方法。 该方法包括:多个节点中的第一节点的第一处理器获取锁定,并且第一处理器选择性地释放锁,该第一状态允许第一节点内的其他处理器获取锁定,但是防止处于远程 多个节点的节点获得锁定。 在另一个实施例中,一种方法包括尝试获取锁的第一节点的第一处理器,第一处理器确定同一节点内的另一个处理器是否在锁上进行远程旋转,并且第一处理器响应于 确定同一节点中的另一个处理器不会在软件锁上远程旋转。

    Instructions to set and read memory version information
    14.
    发明授权
    Instructions to set and read memory version information 有权
    设置和读取内存版本信息的说明

    公开(公告)号:US08751736B2

    公开(公告)日:2014-06-10

    申请号:US13196514

    申请日:2011-08-02

    IPC分类号: G06F12/02

    摘要: Systems and methods for providing additional instructions for supporting efficient memory corruption detection in a processor. A physical memory may be a DRAM with a spare bank of memory reserved for a hardware failover mechanism. Version numbers associated with data structures allocated in the memory may be generated so that version numbers of adjacent data structures are different. A processor determines that a fetched instruction is a memory access instruction corresponding to a first data structure within the memory. For instructions that are not a version update instruction, the processor compares the first version number and second version number stored in a location in the memory indicated by the generated address and flags an error if there is a mismatch. For version update instructions, the processor performs a memory access operation on the second version number with no comparison check.

    摘要翻译: 用于提供用于在处理器中支持有效的内存损坏检测的附加指令的系统和方法。 物理存储器可以是DRAM,其具有为硬件故障转移机制保留的备用存储体。 可以生成与分配在存储器中的数据结构相关联的版本号,使得相邻数据结构的版本号不同。 处理器确定所提取的指令是与存储器内的第一数据结构相对应的存储器访问指令。 对于不是版本更新指令的指令,处理器比较存储在由生成的地址指示的存储器中的位置中的第一版本号和第二版本号,并且如果存在不匹配则标记错误。 对于版本更新指令,处理器对第二版本号执行存储器访问操作,而不进行比较检查。

    Maximizing encodings of version control bits for memory corruption detection
    15.
    发明授权
    Maximizing encodings of version control bits for memory corruption detection 有权
    最大化版本控制位的编码,以进行内存损坏检测

    公开(公告)号:US08572441B2

    公开(公告)日:2013-10-29

    申请号:US13198904

    申请日:2011-08-05

    IPC分类号: G06F11/00 G06F11/10

    摘要: Systems and methods for maximizing a number of available states for a version number used for memory corruption detection. A physical memory may be a DRAM comprising a plurality of regions. Version numbers associated with data structures allocated in the physical memory may be generated so that version numbers of adjacent data structures in a virtual address space are different. A reserved set and an available set of version numbers are associated with each one of the plurality of regions. A version number in a reserved set of a given region may be in an available set of another region. The processor detects no memory corruption error in response to at least determining a version number stored in a memory location in a first region identified by a memory access operation is also in a reserved set associated with the first region.

    摘要翻译: 用于最大化用于内存损坏检测的版本号的可用状态数量的系统和方法。 物理存储器可以是包括多个区域的DRAM。 可以生成与物理存储器中分配的数据结构相关联的版本号,使得虚拟地址空间中的相邻数据结构的版本号不同。 保留集合和可用的版本号集合与多个区域中的每一个相关联。 给定区域的保留集合中的版本号可以在另一区域的可用集合中。 响应于至少确定存储在由存储器访问操作识别的第一区域中的存储器位置中的版本号也处于与第一区域相关联的保留集中,处理器不检测存储器损坏错误。

    INSTRUCTIONS TO SET AND READ MEMORY VERSION INFORMATION
    16.
    发明申请
    INSTRUCTIONS TO SET AND READ MEMORY VERSION INFORMATION 有权
    设置和读取存储器版本信息的说明

    公开(公告)号:US20130036276A1

    公开(公告)日:2013-02-07

    申请号:US13196514

    申请日:2011-08-02

    IPC分类号: G06F12/00 G06F9/30

    摘要: Systems and methods for providing additional instructions for supporting efficient memory corruption detection in a processor. A physical memory may be a DRAM with a spare bank of memory reserved for a hardware failover mechanism. Version numbers associated with data structures allocated in the memory may be generated so that version numbers of adjacent data structures are different. A processor determines that a fetched instruction is a memory access instruction corresponding to a first data structure within the memory. For instructions that are not a version update instruction, the processor compares the first version number and second version number stored in a location in the memory indicated by the generated address and flags an error if there is a mismatch. For version update instructions, the processor performs a memory access operation on the second version number with no comparison check.

    摘要翻译: 用于提供用于在处理器中支持有效的内存损坏检测的附加指令的系统和方法。 物理存储器可以是DRAM,其具有为硬件故障转移机制保留的备用存储体。 可以生成与分配在存储器中的数据结构相关联的版本号,使得相邻数据结构的版本号不同。 处理器确定所提取的指令是与存储器内的第一数据结构相对应的存储器访问指令。 对于不是版本更新指令的指令,处理器比较存储在由生成的地址指示的存储器中的位置中的第一版本号和第二版本号,并且如果存在不匹配则标记错误。 对于版本更新指令,处理器对第二版本号执行存储器访问操作,而不进行比较检查。

    METHOD AND APPARATUS FOR USING UNUSED BITS IN A MEMORY POINTER
    17.
    发明申请
    METHOD AND APPARATUS FOR USING UNUSED BITS IN A MEMORY POINTER 有权
    在存储器中使用未使用位的方法和装置

    公开(公告)号:US20120246437A1

    公开(公告)日:2012-09-27

    申请号:US13069337

    申请日:2011-03-22

    IPC分类号: G06F12/10 G06F12/02

    摘要: The disclosed embodiments provide a system that uses unused bits in a memory pointer. During operation, the system determines a set of address bits in a address space that will not be needed for addressing purposes during program operation. Subsequently, the system stores data associated with the memory pointer in this set of address bits. The system masks this set of address bits when using the memory pointer to access the memory address associated with the memory pointer. Storing additional data in unused pointer bits can reduce the number of memory accesses for a program and improve program performance and/or reliability.

    摘要翻译: 所公开的实施例提供了使用存储器指针中的未使用位的系统。 在操作期间,系统确定地址空间中的一组地址位,在编程操作期间不需要寻址目的。 随后,系统将与存储器指针相关联的数据存储在该组地址位中。 当使用存储器指针访问与存储器指针相关联的存储器地址时,系统将对该组地址位进行掩蔽。 将附加数据存储在未使用的指针位中可以减少程序的存储器访问次数,并提高程序性能和/或可靠性。