DEVICE, METHOD AND SYSTEM TO PREDICT AN ADDRESS COLLISION BY A LOAD AND A STORE

    公开(公告)号:US20220308876A1

    公开(公告)日:2022-09-29

    申请号:US17214698

    申请日:2021-03-26

    申请人: Intel Corporation

    IPC分类号: G06F9/30 G06F9/38

    摘要: Techniques and mechanisms for determining a relative order in which a load instruction and a store instruction are to be executed. In an embodiment, a processor detects an address collision event wherein two instructions, corresponding to different respective instruction pointer values, target the same memory address. Based on the address collision event, the processor identifies respective instruction types of the two instructions as an aliasing instruction type pair. The processor further determines a count of decisions each to forego a reversal of an order of execution of instructions. Each decision represented in the count is based on instructions which are each of a different respective instruction type of the aliasing instruction type pair. In another embodiment, the processor determines, based on the count of decisions, whether a later load instruction is to be advanced in an order of instruction execution.

    SYSTEM, METHOD, AND APPARATUS FOR ENHANCED POINTER IDENTIFICATION AND PREFETCHING

    公开(公告)号:US20200210339A1

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

    申请号:US16234135

    申请日:2018-12-27

    申请人: Intel Corporation

    IPC分类号: G06F12/0862

    摘要: System and method for prefetching pointer-referenced data. A method embodiment includes: tracking a plurality of load instructions which includes a first load instruction to access a first data that identifies a first memory location; detecting a second load instruction which accesses a second memory location for a second data, the second memory location matching the first memory location identified by the first data; responsive to the detecting, updating a list of pointer load instructions to include information identifying the first load instruction as a pointer load instruction; prefetching a third data for a third load instruction prior to executing the third load instruction; identifying the third load instruction as a pointer load instruction based on information from the list of pointer load instructions and responsively prefetching a fourth data from a fourth memory location, wherein the fourth memory location is identified by the third data.

    Increasing invalid to modified protocol occurrences in a computing system

    公开(公告)号:US10303605B2

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

    申请号:US15214895

    申请日:2016-07-20

    申请人: INTEL CORPORATION

    摘要: An example system on a chip (SoC) includes a processor, a cache, and a main memory. The SoC can include a first memory to store data in a memory line, wherein the memory line is set to an invalid state. The processor can include a processor coupled to the first memory. The processor can determine that a data size of a first data set received from an application is within a data size range. The processor can determine that an aggregate data size of the first data set and a second data set received from the application is at least a same data size as data size of the memory line. The processor can perform an invalid-to-modify (I2M) operation to change the memory line from the invalid state to a modified state. The processor can write the first data set and the second data set to the memory line.

    Instruction and logic for a cache prefetcher and dataless fill buffer
    6.
    发明授权
    Instruction and logic for a cache prefetcher and dataless fill buffer 有权
    缓存预取器和无数据填充缓冲区的指令和逻辑

    公开(公告)号:US09558127B2

    公开(公告)日:2017-01-31

    申请号:US14481266

    申请日:2014-09-09

    申请人: Intel Corporation

    IPC分类号: G06F12/08

    摘要: A processor includes a cache hierarchy and an execution unit. The cache hierarchy includes a lower level cache and a higher level cache. The execution unit includes logic to issue a memory operation to access the cache hierarchy. The lower level cache includes logic to determine that a requested cache line of the memory operation is unavailable in the lower level cache, determine that a line fill buffer of the lower level cache is full, and initiate prefetching of the requested cache line from the higher level cache based upon the determination that the line fill buffer of the lower level cache is full. The line fill buffer is to forward miss requests to the higher level cache.

    摘要翻译: 处理器包括缓存层级和执行单元。 高速缓存层级包括较低级别的缓存和较高级别的高速缓存。 执行单元包括发出存储器操作以访问高速缓存层级的逻辑。 下级高速缓存包括确定存储器操作的所请求的高速缓存行在下级高速缓存中不可用的逻辑,确定较低级高速缓存的行填充缓冲区已满,并且从较高级缓存启动所请求的高速缓存行的预取 基于下级缓存的行填充缓冲器的确定已满的高级缓存。 行填充缓冲区是将错误请求转发到更高级别的缓存。

    GATHER USING INDEX ARRAY AND FINITE STATE MACHINE

    公开(公告)号:US20160103785A1

    公开(公告)日:2016-04-14

    申请号:US14881111

    申请日:2015-10-12

    申请人: Intel Corporation

    IPC分类号: G06F15/80 G06F9/30

    摘要: Methods and apparatus are disclosed for using an index array and finite state machine for scatter/gather operations. Embodiment of apparatus may comprise: decode logic to decode a scatter/gather instruction and generate a set of micro-operations, and an index array to hold a set of indices and a corresponding set of mask elements. A finite state machine facilitates the gather operation. Address generation logic generates an address from an index of the set of indices for at least each of the corresponding mask elements having a first value. An address is accessed to load a corresponding data element if the mask element had the first value. The data element is written at an in-register position in a destination vector register according to a respective in-register position the index. Values of corresponding mask elements are changed from the first value to a second value responsive to completion of their respective loads.

    SYSTEM, METHOD, AND APPARATUS FOR ENHANCED POINTER IDENTIFICATION AND PREFETCHING

    公开(公告)号:US20230409481A1

    公开(公告)日:2023-12-21

    申请号:US18320780

    申请日:2023-05-19

    申请人: Intel Corporation

    IPC分类号: G06F12/0862

    CPC分类号: G06F12/0862 G06F2212/602

    摘要: System and method for prefetching pointer-referenced data. A method embodiment includes: tracking a plurality of load instructions which includes a first load instruction to access a first data that identifies a first memory location; detecting a second load instruction which accesses a second memory location for a second data, the second memory location matching the first memory location identified by the first data; responsive to the detecting, updating a list of pointer load instructions to include information identifying the first load instruction as a pointer load instruction; prefetching a third data for a third load instruction prior to executing the third load instruction; identifying the third load instruction as a pointer load instruction based on information from the list of pointer load instructions and responsively prefetching a fourth data from a fourth memory location, wherein the fourth memory location is identified by the third data.