METHOD AND APPARATUS FOR ENFORCING MEMORY REFERENCE ORDERING REQUIREMENTS AT THE L1 CACHE LEVEL
    1.
    发明授权
    METHOD AND APPARATUS FOR ENFORCING MEMORY REFERENCE ORDERING REQUIREMENTS AT THE L1 CACHE LEVEL 有权
    用于在L1高速缓存级别上执行存储器参考订购要求的方法和设备

    公开(公告)号:EP1984814B1

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

    申请号:EP07717171.8

    申请日:2007-02-02

    IPC分类号: G06F9/38

    摘要: One embodiment of the present invention provides a system that enforces memory reference ordering requirements, such as Total Store Ordering (TSO), at a Level 1 (L1) cache in a multiprocessor. During operation, while executing instructions in a speculative-execution mode, the system receives an invalidation signal for a cache line at the L1 cache wherein the invalidation signal is received from a cache-coherence system within the multiprocessor. In response to the invalidation signal, if the cache line exists in the L1 cache, the system examines a load-mark in the cache line, wherein the load-mark being set indicates that the cache line has been loaded from during speculative execution. If the load-mark is set, the system fails the speculative-execution mode and resumes a normal-execution mode from a checkpoint. By failing the speculative-execution mode, the system ensures that a potential update to the cache line indicated by the invalidation signal will not cause the memory reference ordering requirements to be violated during the speculative-execution mode.

    COLLAPSIBLE FRONT-END TRANSLATION FOR INSTRUCTION FETCH
    2.
    发明授权
    COLLAPSIBLE FRONT-END TRANSLATION FOR INSTRUCTION FETCH 有权
    指令获取的可折叠前端转换

    公开(公告)号:EP1994471B1

    公开(公告)日:2017-12-13

    申请号:EP07762866.7

    申请日:2007-02-01

    摘要: Address translation for instruction fetching can be obviated for sequences of instruction instances that reside on a same page. Obviating address translation reduces power consumption and increases pipeline efficiency since accessing of an address translation buffer can be avoided. Certain events, such as branch mis-predictions and exceptions, can be designated as page boundary crossing events. In addition, carry over at a particular bit position when computing a branch target or a next instruction instance fetch target can also be designated as a page boundary crossing event. An address translation buffer is accessed to translate an address representation of a first instruction instance. However, until a page boundary crossing event occurs, the address representations of subsequent instruction instances are not translated. Instead, the translated portion of the address representation for the first instruction instance is recycled for the subsequent instruction instances.

    METHOD AND APPARATUS FOR USING AN ASSIST PROCESSOR TO PREFETCH INSTRUCTIONS FOR A PRIMARY PROCESSOR
    5.
    发明授权
    METHOD AND APPARATUS FOR USING AN ASSIST PROCESSOR TO PREFETCH INSTRUCTIONS FOR A PRIMARY PROCESSOR 有权
    使用计算机的方法和仪器帮助BEFEHLSVORAUSHOLUNG FOR中央处理

    公开(公告)号:EP1316015B1

    公开(公告)日:2010-12-29

    申请号:EP01966737.7

    申请日:2001-08-30

    IPC分类号: G06F9/38

    摘要: One embodiment of the present invention provides a system that prefetches instructions by using an assist processor to perform prefetch operations in advance of a primary processor. The system operates by executing executable code on the primary processor, and simultaneously executing a reduced version of the executable code on the assist processor. This reduced version of the executable code executes more quickly than the executable code, and performs prefetch operations for the primary processor in advance of when the primary processor requires the instructions. The system also stores the prefetched instructions into a cache that is accessible by the primary processor so that the primary processor is able to access the prefetched instructions without having to retrieve the prefetched instructions from a main memory. In one embodiment of the present invention, prior to executing the executable code, the system compiles source code into executable code for the primary processor. Next, the system profiles the executable code to create instruction traces for frequently referenced portions of the executable code. The system then produces the reduced version of the executable code for the assist processor by producing prefetch instructions to prefetch portions of the instruction traces into a cache that is accessible by the primary processor. The system also inserts communication instructions into the executable code for the primary processor and into the reduced version of the executable code for the assist processor to transfer progress information from the primary processor to the assist processor. This progress information triggers the assist processor to perform the prefetch operations.

    METHOD AND STRUCTURE FOR SOLVING THE EVIL-TWIN PROBLEM
    7.
    发明公开
    METHOD AND STRUCTURE FOR SOLVING THE EVIL-TWIN PROBLEM 审中-公开
    方法与结构解决问题的邪恶的双胞胎

    公开(公告)号:EP2422270A2

    公开(公告)日:2012-02-29

    申请号:EP10721863.8

    申请日:2010-04-13

    IPC分类号: G06F9/30

    摘要: A register file, in a processor, includes a first plurality of registers of a first size, n-bits. A decoder uses a mapping that divides the register file into a second plurality M of registers having a second size. Each of the registers having the second size is assigned a different name in a continuous name space. Each register of the second size includes a plurality N of registers of the first size, n-bits. Each register in the plurality N of registers is assigned the same name as the register of the second size that includes that plurality. State information is maintained in the register file for each n-bit register. The dependence of an instruction on other instructions is detected through the continuous name space. The state information allows the processor to determine when the information in any portion, or all, of a register is valid.

    USING AN L2 DIRECTORY TO FACILITATE SPECULATIVE LOADS IN A MULTIPROCESSOR SYSTEM
    8.
    发明授权
    USING AN L2 DIRECTORY TO FACILITATE SPECULATIVE LOADS IN A MULTIPROCESSOR SYSTEM 有权
    法,用L2列表来推测负载IN A MULTI处理器系统以使得能够

    公开(公告)号:EP1399823B1

    公开(公告)日:2011-02-16

    申请号:EP02752292.9

    申请日:2002-06-26

    IPC分类号: G06F12/08

    摘要: One embodiment of the present invention provides a system that facilitates speculative load operations in a multiprocessor system. This system operates by maintaining a record at an L2 cache of speculative load operations that have returned data values through the L2 cache to associated L1 caches, wherein a speculative load operation is a load operation that is speculatively initiated before a preceding load operation has returned. In response to receiving an invalidation event, the system invalidates a target line in the L2 cache. The system also performs a lookup in the record to identify affected L1 caches that are associated with speculative load operations that may be affected by the invalidation of the target line in the L2 cache. Next, the system sends replay commands to the affected L1 caches in order to replay the affected speculative load operations, so that the affected speculative load operations take place after invalidation of the target line in the L2 cache.