Area and power efficient mechanism to wakeup store-dependent loads according to store drain merges

    公开(公告)号:US11243773B1

    公开(公告)日:2022-02-08

    申请号:US17120371

    申请日:2020-12-14

    IPC分类号: G06F9/38

    摘要: A computer system, includes a store queue that holds store entries and a load queue that holds load entries sleeping on a store entry. A processor detects a store drain merge operation call and generates a pair of store tags comprising a first store tag corresponding to a first store entry to be drained and a second store tag corresponding to a second store entry to be drained. The processor determines the pair of store tags an even-type store tag or an odd-type store tag. The processor disables the odd store tag included in the even-type store tag pair when detecting the even-type store tag pair, and wakes up a first load entry dependent on the even store tag and a second load entry dependent on the odd store tag based on the even store tag included in the even-type store tag pair while the odd store tag is disabled.

    Writing store data of multiple store operations into a cache line in a single cycle

    公开(公告)号:US11520704B1

    公开(公告)日:2022-12-06

    申请号:US17364495

    申请日:2021-06-30

    摘要: A load-store unit (LSU) of a processor core determines whether or not a second store operation specifies an adjacent update to that specified by a first store operation. The LSU additionally determines whether the total store data length of the first and second store operations exceeds a maximum size. Based on determining the second store operation specifies an adjacent update and the total store data length does not exceed the maximum size, the LSU merges the first and second store operations and writes merged store data into a same write block of a cache. Based on determining that the total store data length exceeds the maximum size, the LSU splits the second store operation into first and second portions, merges the first portion with the first store operation, and writes store data of the partially merged store operation into the write block.

    Preventing hazard flushes in an instruction sequencing unit of a multi-slice processor

    公开(公告)号:US10761854B2

    公开(公告)日:2020-09-01

    申请号:US15132835

    申请日:2016-04-19

    IPC分类号: G06F9/38

    摘要: Preventing hazard flushes in an instruction sequencing unit of a multi-slice processor including receiving a load instruction in a load reorder queue, wherein the load instruction is an instruction to load data from a memory location; subsequent to receiving the load instruction, receiving a store instruction in a store reorder queue, wherein the store instruction is an instruction to store data in the memory location; determining that the store instruction causes a hazard against the load instruction; preventing a flush of the load reorder queue based on a state of the load instruction; and re-executing the load instruction.