System and method for load and store queue allocations at address generation time

    公开(公告)号:US11086628B2

    公开(公告)日:2021-08-10

    申请号:US15236882

    申请日:2016-08-15

    Inventor: John M. King

    Abstract: A system and method for load queue (LDQ) and store queue (STQ) entry allocations at address generation time that maintains age-order of instructions is described. In particular, writing LDQ and STQ entries are delayed until address generation time. This allows the load and store operations to dispatch, and younger operations (which may not be store and load operations) to also dispatch and execute their instructions. The address generation of the load or store operation is held at an address generation scheduler queue (AGSQ) until a load or store queue entry is available for the operation. The tracking of load queue entries or store queue entries is effectively being done in the AGSQ instead of at the decode engine. The LDQ and STQ depth is not visible from a decode engine's perspective, and increases the effective processing and queue depth.

    Unified store queue for reducing linear aliasing effects

    公开(公告)号:US10303480B2

    公开(公告)日:2019-05-28

    申请号:US14067564

    申请日:2013-10-30

    Abstract: Embodiments herein provide for improved store-to-load-forwarding (STLF) logic and linear aliasing effect reduction logic. In one embodiment, a load instruction to be executed is selected. Whether a first linear address associated with said load instruction matches a linear address of a store instruction of a plurality of store instructions in a queue is determined. Data associated with said store instruction for executing said load instruction is forwarded, in response to determining that the first linear address matches the linear address of the store instruction.

    TECHNIQUES FOR HANDLING CACHE COHERENCY TRAFFIC FOR CONTENDED SEMAPHORES

    公开(公告)号:US20180081810A1

    公开(公告)日:2018-03-22

    申请号:US15268798

    申请日:2016-09-19

    Abstract: The techniques described herein improve cache traffic performance in the context of contended lock instructions. More specifically, each core maintains a lock address contention table that stores addresses corresponding to contended lock instructions. The lock address contention table also includes a state value that indicates progress through a series of states meant to track whether a load by the core in a spin-loop associated with semaphore acquisition has obtained the semaphore in an exclusive state. Upon detecting that a load in a spin-loop has obtained the semaphore in an exclusive state, the core responds to incoming requests for access to the semaphore with negative acknowledgments. This allows the core to maintain the semaphore cache line in an exclusive state, which allows it to acquire the semaphore faster and to avoid transmitting that cache line to other cores unnecessarily.

    SYSTEM AND METHOD FOR LOAD AND STORE QUEUE ALLOCATIONS AT ADDRESS GENERATION TIME

    公开(公告)号:US20180046463A1

    公开(公告)日:2018-02-15

    申请号:US15236882

    申请日:2016-08-15

    Inventor: John M. King

    Abstract: A system and method for load queue (LDQ) and store queue (STQ) entry allocations at address generation time that maintains age-order of instructions is described. In particular, writing LDQ and STQ entries are delayed until address generation time. This allows the load and store operations to dispatch, and younger operations (which may not be store and load operations) to also dispatch and execute their instructions. The address generation of the load or store operation is held at an address generation scheduler queue (AGSQ) until a load or store queue entry is available for the operation. The tracking of load queue entries or store queue entries is effectively being done in the AGSQ instead of at the decode engine. The LDQ and STQ depth is not visible from a decode engine's perspective, and increases the effective processing and queue depth.

    CHECKPOINTING REGISTERS FOR TRANSACTIONAL MEMORY
    25.
    发明申请
    CHECKPOINTING REGISTERS FOR TRANSACTIONAL MEMORY 有权
    检查交易记录寄存器

    公开(公告)号:US20140244978A1

    公开(公告)日:2014-08-28

    申请号:US13781403

    申请日:2013-02-28

    Inventor: John M. King

    CPC classification number: G06F9/384 G06F9/30098 G06F9/3857 G06F9/3863

    Abstract: The present invention provides a method and apparatus for checkpointing registers for transactional memory. Some embodiments of the apparatus include first rename logic configured to map up to a predetermined number of architectural registers to corresponding first physical registers that hold first values associated with the architectural registers. The mapping is responsive to a transaction modifying one or more of the first values associated with the architectural registers. Some embodiments of the apparatus also include microcode configured to write contents of the first physical registers to a memory in response to the transaction modifying first values associated with a number of the architectural registers that is larger than the predetermined number.

    Abstract translation: 本发明提供了一种用于检查事件存储器的寄存器的方法和装置。 该装置的一些实施例包括第一重命名逻辑,其被配置为将高达预定数量的架构寄存器映射到相应的第一物理寄存器,该第一物理寄存器保存与架构寄存器相关联的第一值。 映射响应于修改与架构寄存器相关联的一个或多个第一值的事务。 该装置的一些实施例还包括被配置为响应于事务修改将第一物理寄存器的内容写入存储器的微代码,修改与多于该预定数量的多个架构寄存器相关联的第一值。

    Systems and methods for tracking data cache miss requests with data cache tags

    公开(公告)号:US12072803B1

    公开(公告)日:2024-08-27

    申请号:US17855681

    申请日:2022-06-30

    Inventor: John M. King

    CPC classification number: G06F12/0811 G06F9/30043 G06F12/0891 G06F2212/1021

    Abstract: The disclosed computer-implemented method for tracking miss requests using data cache tags can include generating a data cache miss request associated with data requested in connection with a cacheline and allocating a miss address buffer entry for the miss request. Additionally, the method can include, setting a fill-pending flag associated with the cacheline in response to the data associated with the data cache miss request being absent from a first data cache, and de-allocating the miss address buffer entry. In the event that another load or store operation requests the same data associated with the cacheline while the fill-pending flag is set, the method can include monitoring for a fill response associated with the miss request until the fill response is received. Upon receipt of the fill response, the method can include re-setting the fill-pending flag associated with the cacheline.

    Techniques for performing store-to-load forwarding

    公开(公告)号:US11113056B2

    公开(公告)日:2021-09-07

    申请号:US16698808

    申请日:2019-11-27

    Abstract: A technique for performing store-to-load forwarding is provided. The technique includes determining a virtual address for data to be loaded for the load instruction, identifying a matching store instruction from one or more store instruction memories by comparing a virtual-address-based comparison value for the load instruction to one or more virtual-address-based comparison values of one or more store instructions, determining a physical address for the load instruction, and validating the load instruction based on a comparison between the physical address of the load instruction and a physical address of the matching store instruction.

    SYSTEM AND METHOD FOR A LIGHTWEIGHT FENCING OPERATION

    公开(公告)号:US20190187990A1

    公开(公告)日:2019-06-20

    申请号:US15846457

    申请日:2017-12-19

    CPC classification number: G06F9/30043 G06F9/30145

    Abstract: A system and method for a lightweight fence is described. In particular, micro-operations including a fencing micro-operation are dispatched to a load queue. The fencing micro-operation allows micro-operations younger than the fencing micro-operation to execute, where the micro-operations are related to a type of fencing micro-operation. The fencing micro-operation is executed if the fencing micro-operation is the oldest memory access micro-operation, where the oldest memory access micro-operation is related to the type of fencing micro-operation. The fencing micro-operation determines whether micro-operations younger than the fencing micro-operation have load ordering violations and if load ordering violations are detected, the fencing micro-operation signals the retire queue that instructions younger than the fencing micro-operation should be flushed. The instructions to be flushed should include all micro-operations with load ordering violations.

Patent Agency Ranking