Instruction and Logic for Cache-Based Speculative Vectorization
    2.
    发明申请
    Instruction and Logic for Cache-Based Speculative Vectorization 有权
    基于缓存的投机向量化的指令和逻辑

    公开(公告)号:US20150186183A1

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

    申请号:US14143576

    申请日:2013-12-30

    IPC分类号: G06F9/48 G06F9/30

    摘要: A processor includes a decoder to decode an instruction, a scheduler to schedule the instruction, and an execution unit to execute the instruction. The instruction is to load a memory operation applicable to a quantity of addresses into an execution vector. The execution vector includes a plurality of vector positions for respective addressees. The instruction is further to evaluate, for a given address in the execution vector at a vector position, whether a cache indicates that a previous memory operation was performed at a higher vector position than the vector position of the given address. The instruction is also to determine, based on the evaluation whether the cache indicates that the previous memory operation was performed at a higher vector position than the vector position of the given address, whether the memory operation will cause a memory error.

    摘要翻译: 处理器包括解码指令的解码器,调度指令的调度器以及执行指令的执行单元。 该指令是将适用于一定数量的地址的存储器操作加载到执行向量中。 执行向量包括用于各个收件人的多个向量位置。 该指令进一步评估对于向量位置处的执行向量中的给定地址,缓存是否指示在比给定地址的向量位置更高的向量位置执行先前的存储器操作。 该指令还基于评估来确定缓存是否指示在比给定地址的向量位置更高的向量位置执行先前的存储器操作,该存储器操作是否将引起存储器错误。

    Fast Biased Locks
    4.
    发明申请
    Fast Biased Locks 审中-公开
    快速偏置锁

    公开(公告)号:US20120054394A1

    公开(公告)日:2012-03-01

    申请号:US12873766

    申请日:2010-09-01

    IPC分类号: G06F17/00 G06F12/00

    CPC分类号: G06F9/526

    摘要: Access by multiple threads to a common resource can be controlled using a bias-lock having a single owner thread selected from among the plurality of threads. The bias-lock includes an n-process lock for which non-owner processes compete and a 2-process lock for which the owner and non-owner holder of the n-process lock compete. The owner of the bias-lock can be switched to one of the non-owner threads without suspending the owner thread. An asymmetric lock can be used to eliminate the need for the 2-process lock. Bias-locks can further be extended to provide read/write bias locking mechanisms.

    摘要翻译: 可以使用具有从多个线程中选择的单个所有者线程的偏置锁来控制多个线程到公共资源的访问。 偏置锁包括非所有者进程竞争的n进程锁和n进程锁的所有者和非所有者持有者竞争的2进程锁。 偏置锁的所有者可以切换到非所有者线程之一,而不会挂起所有者线程。 可以使用非对称锁来消除对2进程锁的需要。 可以进一步扩展偏压锁以提供读/写偏置锁定机制。

    METHOD AND APPARATUS FOR SPECULATIVE VECTORIZATION
    5.
    发明申请
    METHOD AND APPARATUS FOR SPECULATIVE VECTORIZATION 有权
    用于频谱分析的方法和装置

    公开(公告)号:US20160092234A1

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

    申请号:US14497833

    申请日:2014-09-26

    IPC分类号: G06F9/38

    摘要: An apparatus and method for speculative vectorization. For example, one embodiment of a processor comprises: a queue comprising a set of locations for storing addresses associated with vectorized memory access instructions; and execution logic to execute a first vectorized memory access instruction to access the queue and to compare a new address associated with the first vectorized memory access instruction with existing addresses stored within a specified range of locations within the queue to detect whether a conflict exists, the existing addresses having been previously stored responsive to one or more prior vectorized memory access instructions.

    摘要翻译: 一种用于推测矢量化的装置和方法。 例如,处理器的一个实施例包括:队列,其包括用于存储与向量化存储器访问指令相关联的地址的一组位置; 以及执行逻辑,以执行第一向量化存储器访问指令以访问队列,并将与第一向量化存储器访问指令相关联的新地址与存储在队列内的指定范围内的现有地址进行比较,以检测冲突是否存在, 先前已存储的存储的地址响应于一个或多个先前的向量化存储器访问指令而被存储。

    SPECULATIVE NON-FAULTING LOADS AND GATHERS
    6.
    发明申请
    SPECULATIVE NON-FAULTING LOADS AND GATHERS 有权
    非分散负载和加速度

    公开(公告)号:US20140181580A1

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

    申请号:US13725907

    申请日:2012-12-21

    IPC分类号: G06F9/30 G06F11/07

    摘要: According to one embodiment, a processor includes an instruction decoder to decode an instruction to read a plurality of data elements from memory, the instruction having a first operand specifying a storage location, a second operand specifying a bitmask having one or more bits, each bit corresponding to one of the data elements, and a third operand specifying a memory address storing a plurality of data elements. The processor further includes an execution unit coupled to the instruction decoder, in response to the instruction, to read one or more data elements speculatively, based on the bitmask specified by the second operand, from a memory location based on the memory address indicated by the third operand, and to store the one or more data elements in the storage location indicated by the first operand.

    摘要翻译: 根据一个实施例,处理器包括指令解码器,用于解码从存储器读取多个数据元素的指令,该指令具有指定存储位置的第一操作数,指定具有一个或多个位的位掩码的第二操作数,每个位 对应于数据元素之一,以及指定存储多个数据元素的存储器地址的第三操作数。 所述处理器还包括执行单元,响应于所述指令,所述执行单元基于所述第二操作数指定的位掩码,从存储器位置推测性地读取一个或多个数据元素,所述执行单元基于由所述存储器地址 并且将一个或多个数据元素存储在由第一操作数指示的存储位置中。

    APPARATUS AND METHOD FOR SELECTING ELEMENTS OF A VECTOR COMPUTATION
    7.
    发明申请
    APPARATUS AND METHOD FOR SELECTING ELEMENTS OF A VECTOR COMPUTATION 审中-公开
    选择矢量计算要素的装置和方法

    公开(公告)号:US20130332701A1

    公开(公告)日:2013-12-12

    申请号:US13996521

    申请日:2011-12-23

    IPC分类号: G06F9/30

    摘要: An apparatus and method are described for selecting elements to be used in a vector computation. For example, a method according to one embodiment includes the following operations: specifying whether to identify the first, last or next after last active element of an input mask register using an immediate value; identifying the first, last or next after last active element in the input mask register according to the immediate value; reading a value from an input vector register corresponding to the identified first, last or next after last active element in the input mask register; and writing the value to an output vector register.

    摘要翻译: 描述了用于选择要在向量计算中使用的元素的装置和方法。 例如,根据一个实施例的方法包括以下操作:使用立即值来指定是否识别输入屏蔽寄存器的第一,最后或下一个有效元素; 根据立即值识别输入屏蔽寄存器中的最后一个或最后一个有效元素; 从输入矢量寄存器读取对应于输入屏蔽寄存器中识别的第一,最后或下一个最后有效元件的值; 并将该值写入输出向量寄存器。

    APPARATUS AND METHOD FOR PROPAGATING CONDITIONALLY EVALUATED VALUES IN SIMD/VECTOR EXECUTION
    8.
    发明申请
    APPARATUS AND METHOD FOR PROPAGATING CONDITIONALLY EVALUATED VALUES IN SIMD/VECTOR EXECUTION 有权
    在SIMD / VECTOR执行中传播有条件评估值的装置和方法

    公开(公告)号:US20140189323A1

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

    申请号:US13997183

    申请日:2011-12-23

    IPC分类号: G06F9/30

    摘要: An apparatus and method for propagating conditionally evaluated values. For example, a method according to one embodiment comprises: reading each value contained in an input mask register, each value being a true value or a false value and having a bit position associated therewith; for each true value read from the input mask register, generating a first result containing the bit position of the true value; for each false value read from the input mask register following the first true value, adding the vector length of the input mask register to a bit position of the last true value read from the input mask register to generate a second result; and storing each of the first results and second results in bit positions of an output register corresponding to the bit positions read from the input mask register.

    摘要翻译: 用于传播有条件评估值的装置和方法。 例如,根据一个实施例的方法包括:读取输入屏蔽寄存器中包含的每个值,每个值是真值或假值,并具有与其相关联的位位置; 对于从输入掩码寄存器读取的每个真值,生成包含真值的位位置的第一结果; 对于从输入屏蔽寄存器读取的每个错误值跟随第一个真实值,将输入屏蔽寄存器的向量长度加到从输入屏蔽寄存器读取的最后一个真值的位位置,以产生第二个结果; 并将每个第一结果和第二结果存储在与从输入屏蔽寄存器读取的位位置对应的输出寄存器的位位置中。