Vector compare-and-exchange operation
    1.
    发明授权
    Vector compare-and-exchange operation 有权
    向量比较和交换操作

    公开(公告)号:US08996845B2

    公开(公告)日:2015-03-31

    申请号:US12644529

    申请日:2009-12-22

    IPC分类号: G06F15/00 G06F15/76 G06F9/30

    摘要: A vector compare-and-exchange operation is performed by: decoding by a decoder in a processing device, a single instruction specifying a vector compare-and-exchange operation for a plurality of data elements between a first storage location, a second storage location, and a third storage location; issuing the single instruction for execution by an execution unit in the processing device; and responsive to the execution of the single instruction, comparing data elements from the first storage location to corresponding data elements in the second storage location; and responsive to determining a match exists, replacing the data elements from the first storage location with corresponding data elements from the third storage location.

    摘要翻译: 通过以下操作来执行向量比较和交换操作:通过处理设备中的解码器进行解码,指定在第一存储位置,第二存储位置和第二存储位置之间的多个数据元素的向量比较和交换操作的单个指令, 和第三存储位置; 发出由处理装置中的执行单元执行的单个指令; 并且响应于所述单个指令的执行,将来自所述第一存储位置的数据元素与所述第二存储位置中的相应数据元素进行比较; 并且响应于确定匹配存在,用来自第三存储位置的相应数据元素从第一存储位置替换数据元素。

    SYNCHRONIZING SIMD VECTORS
    2.
    发明申请
    SYNCHRONIZING SIMD VECTORS 有权
    同步SIMD矢量图

    公开(公告)号:US20110153989A1

    公开(公告)日:2011-06-23

    申请号:US12644529

    申请日:2009-12-22

    IPC分类号: G06F9/30 G06F9/312

    摘要: A vector compare-and-exchange operation is performed by: decoding by a decoder in a processing device, a single instruction specifying a vector compare-and-exchange operation for a plurality of data elements between a first storage location, a second storage location, and a third storage location; issuing the single instruction for execution by an execution unit in the processing device; and responsive to the execution of the single instruction, comparing data elements from the first storage location to corresponding data elements in the second storage location; and responsive to determining a match exists, replacing the data elements from the first storage location with corresponding data elements from the third storage location.

    摘要翻译: 通过以下操作来执行向量比较和交换操作:通过处理设备中的解码器进行解码,指定在第一存储位置,第二存储位置和第二存储位置之间的多个数据元素的向量比较和交换操作的单个指令, 和第三存储位置; 发出由处理装置中的执行单元执行的单个指令; 并且响应于所述单个指令的执行,将来自所述第一存储位置的数据元素与所述第二存储位置中的相应数据元素进行比较; 并且响应于确定匹配存在,用来自第三存储位置的相应数据元素从第一存储位置替换数据元素。

    METHOD, APPARATUS, AND SYSTEM FOR TRANSACTIONAL SPECULATION CONTROL INSTRUCTIONS
    5.
    发明申请
    METHOD, APPARATUS, AND SYSTEM FOR TRANSACTIONAL SPECULATION CONTROL INSTRUCTIONS 审中-公开
    方法,装置和系统的交互式分析控制指令

    公开(公告)号:US20140379996A1

    公开(公告)日:2014-12-25

    申请号:US13997245

    申请日:2012-02-02

    IPC分类号: G06F9/52 G06F12/08 G06F9/46

    摘要: An apparatus and method is described herein for providing speculative escape instructions. Specifically, an explicit non-transactional load operation is described herein. During execution of a speculative code region (e.g. a transaction or critical section) loads are normally tracked in a read set. However, a programmer or compiler may utilize the explicit non-transactional read to load from a memory address into a destination register, while not adding the read/load to the transactional read set. Similarly, a non-transactional store is also provided. Here, a transactional store is performed and not added to a write set during speculative code execution. And the store may be immediately globally visible and/or persistent (even after an abort of the speculative code region). In other words, speculative escape operations are provided to ‘escape’ a speculative code region to perform non-transactional memory accesses without causing the speculative code region to abort or fail.

    摘要翻译: 这里描述了一种用于提供推测逃逸指令的装置和方法。 具体地,本文描述了显式的非事务性加载操作。 在推测性代码区域(例如交易或关键部分)的执行期间,通常在读取集合中跟踪负载。 然而,程序员或编译器可以利用显式的非事务性读取从存储器地址加载到目标寄存器中,而不将读取/加载添加到事务读取集合。 同样,也提供非事务存储。 这里,在推测性代码执行期间执行事务存储并且不添加到写入集合。 并且商店可能立即全局可见和/或持久(即使在推测性代码区域中止之后)。 换句话说,提供推测性逃避操作以“逃逸”推测性代码区域以执行非事务性存储器访问,而不会导致推测性代码区域中止或失败。

    Concurrent Execution of Critical Sections by Eliding Ownership of Locks
    7.
    发明申请
    Concurrent Execution of Critical Sections by Eliding Ownership of Locks 审中-公开
    通过确定锁定所有权并行执行关键部分

    公开(公告)号:US20110225375A1

    公开(公告)日:2011-09-15

    申请号:US13113432

    申请日:2011-05-23

    IPC分类号: G06F12/00

    摘要: One embodiment of the present invention provides a system that facilitates avoiding locks by speculatively executing critical sections of code. During operation, the system allows a process to speculatively execute a critical section of code within a program without first acquiring a lock associated with the critical section. If the process subsequently completes the critical section without encountering an interfering data access from another process, the system commits changes made during the speculative execution, and resumes normal non-speculative execution of the program past the critical section. Otherwise, if an interfering data access from another process is encountered during execution of the critical section, the system discards changes made during the speculative execution, and attempts to re-execute the critical section.

    摘要翻译: 本发明的一个实施例提供一种通过推测性地执行代码的关键部分来有助于避免锁定的系统。 在操作期间,系统允许进程在程序中推测性地执行代码的关键部分而不首先获得与关键部分相关联的锁定。 如果该过程随后完成关键部分而没有遇到来自另一进程的干扰数据访问,则系统进行在推测执行期间所做的更改,并且通过关键部分恢复程序的正常非推测性执行。 否则,如果在执行关键部分期间遇到来自其他进程的干扰数据访问,则系统将丢弃在推测执行期间所做的更改,并尝试重新执行临界部分。

    Concurrent execution of critical sections by eliding ownership of locks
    9.
    发明授权
    Concurrent execution of critical sections by eliding ownership of locks 有权
    通过查看锁的所有权并发执行关键部分

    公开(公告)号:US07962699B2

    公开(公告)日:2011-06-14

    申请号:US12843828

    申请日:2010-07-26

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

    摘要: One embodiment of the present invention provides a system that facilitates avoiding locks by speculatively executing critical sections of code. During operation, the system allows a process to speculatively execute a critical section of code within a program without first acquiring a lock associated with the critical section. If the process subsequently completes the critical section without encountering an interfering data access from another process, the system commits changes made during the speculative execution, and resumes normal non-speculative execution of the program past the critical section. Otherwise, if an interfering data access from another process is encountered during execution of the critical section, the system discards changes made during the speculative execution, and attempts to re-execute the critical section.

    摘要翻译: 本发明的一个实施例提供一种通过推测性地执行代码的关键部分来有助于避免锁定的系统。 在操作期间,系统允许进程在程序中推测性地执行代码的关键部分而不首先获得与关键部分相关联的锁定。 如果该过程随后完成关键部分而没有遇到来自另一进程的干扰数据访问,则系统进行在推测执行期间所做的更改,并且通过关键部分恢复程序的正常非推测性执行。 否则,如果在执行关键部分期间遇到来自其他进程的干扰数据访问,则系统将丢弃在推测执行期间所做的更改,并尝试重新执行临界部分。

    Critical section detection and prediction mechanism for hardware lock elision
    10.
    发明申请
    Critical section detection and prediction mechanism for hardware lock elision 有权
    硬件锁定检测的关键部分检测和预测机制

    公开(公告)号:US20080115042A1

    公开(公告)日:2008-05-15

    申请号:US11599009

    申请日:2006-11-13

    IPC分类号: H03M13/51

    摘要: A method and apparatus for detecting lock instructions and lock release instruction, as well as predicting critical sections is herein described. A lock instruction is detected with detection logic, which potentially resides in decode logic. A lock instruction entry associated with the lock instruction is stored/created. Address locations and values to be written to those address location of subsequent potential lock release instruction are compared to the address loaded from by the lock instruction and the value load by the lock instruction. If the addresses and values match, it is determined that the lock release instruction matches the lock instruction. A prediction entry stores a reference to the lock instruction, such as a last instruction pointer (LIP), and an associated value to represent the lock instruction is to be elided upon subsequent detection, if it is determined that the lock release instruction matches the lock instruction.

    摘要翻译: 这里描述了用于检测锁定指令和锁定释放指令以及预测关键部分的方法和装置。 检测逻辑检测到锁定指令,这可能存在于解码逻辑中。 存储/创建与锁定指令相关联的锁定指令条目。 将要写入后续潜在锁定释放指令的地址位置的地址位置和值与通过锁定指令加载的地址和锁定指令的值负载进行比较。 如果地址和值匹配,则确定锁定释放指令与锁定指令匹配。 预测条目存储对诸如最后指令指针(LIP)的锁定指令的引用,并且如果确定锁定解除指令与锁定相匹配,则在后续检测时将要消除表示锁定指令的关联值 指令。