Multi-level tracking of in-use state of cache lines
    3.
    发明授权
    Multi-level tracking of in-use state of cache lines 有权
    多级跟踪缓存行的使用状态

    公开(公告)号:US09348591B2

    公开(公告)日:2016-05-24

    申请号:US13992729

    申请日:2011-12-29

    IPC分类号: G06F9/30 G06F9/38

    摘要: This disclosure includes tracking of in-use states of cache lines to improve throughput of pipelines and thus increase performance of processors. Access data for a number of sets of instructions stored in an instruction cache may be tracked using an in-use array in a first array until the data for one or more of those sets reach a threshold condition. A second array may then be used as the in-use array to track the sets of instructions after a micro-operation is inserted into the pipeline. When the micro-operation retires from the pipeline, the first array may be cleared. The process may repeat after the second array reaches the threshold condition. During the tracking, an in-use state for an instruction line may be detected by inspecting a corresponding bit in each of the arrays. Additional arrays may also be used to track the in-use state.

    摘要翻译: 该公开内容包括跟踪高速缓存行的使用状态以提高管道的吞吐量,从而提高处理器的性能。 可以使用第一阵列中的使用中的阵列跟踪存储在指令高速缓存中的多组指令的访问数据,直到这些集合中的一个或多个的数据达到阈值条件。 然后可以将第二阵列用作在使用中的阵列在将微操作插入流水线之后跟踪指令集。 当微操作从管道退出时,可以清除第一个阵列。 该过程可能在第二个阵列达到阈值条件之后重复。 在跟踪期间,可以通过检查每个阵列中的相应位来检测用于指令行的使用状态。 附加阵列也可用于跟踪使用状态。

    PROTECTING THE INTEGRITY OF BINARY TRANSLATED CODE
    4.
    发明申请
    PROTECTING THE INTEGRITY OF BINARY TRANSLATED CODE 有权
    保护二进制翻译代码的完整性

    公开(公告)号:US20140245273A1

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

    申请号:US13991894

    申请日:2011-12-29

    IPC分类号: G06F9/45

    CPC分类号: G06F8/41 G06F8/52 G06F21/64

    摘要: The technologies provided herein relate to protecting the integrity of original code that has been optimized. For example, a processor may perform a fetch operation to obtain specified code from a memory. During execution, the code may be optimized and stored in a portion of the memory. The processor may obtain the optimized code from the portion of the memory. An entry of a first table may be modified to indicate a relationship between the particular code and the optimized code. One or more entries of a second table may be modified to specify the one or more physical memory locations. Each of the one or more entries of the second table may correspond to the entry of the first table. The processor may execute the optimized code when each of the one or more entries of the second table are valid.

    摘要翻译: 本文提供的技术涉及保护已经优化的原始代码的完整性。 例如,处理器可以执行取出操作以从存储器获得指定的代码。 在执行期间,代码可以被优化并存储在存储器的一部分中。 处理器可以从存储器的一部分获得优化的代码。 可以修改第一表的条目以指示特定代码和优化的代码之间的关系。 可以修改第二表的一个或多个条目以指定一个或多个物理存储器位置。 第二表中的一个或多个条目中的每一个可对应于第一表的条目。 当第二表的一个或多个条目中的每一个有效时,处理器可以执行优化的代码。

    Method and apparatus for pipeline inclusion and instruction restarts in a micro-op cache of a processor
    7.
    发明申请
    Method and apparatus for pipeline inclusion and instruction restarts in a micro-op cache of a processor 有权
    用于处理器的微操作缓存中的管道包含和指令重新启动的方法和装置

    公开(公告)号:US20100138608A1

    公开(公告)日:2010-06-03

    申请号:US12317959

    申请日:2008-12-31

    IPC分类号: G06F12/00

    摘要: Methods and apparatus for instruction restarts and inclusion in processor micro-op caches are disclosed. Embodiments of micro-op caches have way storage fields to record the instruction-cache ways storing corresponding macroinstructions. Instruction-cache in-use indications associated with the instruction-cache lines storing the instructions are updated upon micro-op cache hits. In-use indications can be located using the recorded instruction-cache ways in micro-op cache lines. Victim-cache deallocation micro-ops are enqueued in a micro-op queue after micro-op cache miss synchronizations, responsive to evictions from the instruction-cache into a victim-cache. Inclusion logic also locates and evicts micro-op cache lines corresponding to the recorded instruction-cache ways, responsive to evictions from the instruction-cache.

    摘要翻译: 公开了用于指令重新启动并包含在处理器微操作高速缓存中的方法和装置。 微操作高速缓存的实施例具有方式存储字段来记录存储相应宏指令的指令高速缓存方式。 与存储指令的指令 - 高速缓存行相关联的指令缓存使用指示在微操作高速缓存命中时被更新。 可以使用微操作高速缓存线中记录的指令高速缓存方式来定位使用中的指示。 受害者缓存释放微操作在微操作高速缓存未命中同步之后的微操作队列中排队,响应于从指令缓存到受害缓存的驱逐。 包含逻辑还定位并排除对应于所记录的指令 - 高速缓存方式的微操作高速缓存行,以响应于来自指令高速缓存的逐出。

    EFFICIENT METHOD AND APPARATUS FOR EMPLOYING A MICRO-OP CACHE IN A PROCESSOR
    8.
    发明申请
    EFFICIENT METHOD AND APPARATUS FOR EMPLOYING A MICRO-OP CACHE IN A PROCESSOR 有权
    在处理器中使用微型高速缓存的有效方法和设备

    公开(公告)号:US20090249036A1

    公开(公告)日:2009-10-01

    申请号:US12060239

    申请日:2008-03-31

    IPC分类号: G06F9/30

    摘要: Methods and apparatus for using micro-op caches in processors are disclosed. A tag match for an instruction pointer retrieves a set of micro-op cache line access tuples having matching tags. The set is stored in a match queue. Line access tuples from the match queue are used to access cache lines in a micro-op cache data array to supply a micro-op queue. On a micro-op cache miss, a macroinstruction translation engine (MITE) decodes macroinstructions to supply the micro-op queue. Instruction pointers are stored in a miss queue for fetching macroinstructions from the MITE. The MITE may be disabled to conserve power when the miss queue is empty-likewise for the micro-op cache data array when the match queue is empty. Synchronization flags in the last micro-op from the micro-op cache on a subsequent micro-op cache miss indicate where micro-ops from the MITE merge with micro-ops from the micro-op cache.

    摘要翻译: 公开了在处理器中使用微操作高速缓存的方法和装置。 指令指针的标签匹配检索一组具有匹配标签的微操作高速缓存行访问元组。 该集合存储在匹配队列中。 来自匹配队列的线路访问元组用于访问微操作高速缓存数据阵列中的高速缓存行以提供微操作队列。 在微操作缓存未命中时,宏指令转换引擎(MITE)解码宏指令以提供微操作队列。 指令指针存储在从MITE获取宏指令的小队列中。 当缺席队列为空时,MITE可能会被禁用以节省电力,而当匹配队列为空时,也可以为微操作高速缓存数据阵列。 随后微操作高速缓存未命中的微操作高速缓存中的最后一个微操作中的同步标志指示来自MITE的微操作与微操作高速缓存的微操作合并。

    Correlated address prediction
    9.
    发明授权
    Correlated address prediction 有权
    相关地址预测

    公开(公告)号:US06438673B1

    公开(公告)日:2002-08-20

    申请号:US09475063

    申请日:1999-12-30

    IPC分类号: G06F1200

    摘要: A microprocessor having a correlated address predictor, and methods of performing correlated address prediction. A first table memory can be populated by a plurality of buffer entries. Each buffer entry can include a first buffer field to store a first tag based on an instruction pointer and a second buffer field to store an address history. A second table memory can be populated by a plurality of link entries. Each link entry can include a first link field to store a link tag based on an address history and a second link field to store a predicted address. A first comparator can be in communication with the first table memory and an instruction pointer input. A second comparator can be in communication with the first table memory and the second table memory. An output in communication with the second table memory.

    摘要翻译: 具有相关地址预测器的微处理器,以及执行相关地址预测的方法。 第一表存储器可以由多个缓冲器入口填充。 每个缓冲器条目可以包括基于指令指针存储第一标签的第一缓冲区域和用于存储地址历史的第二缓冲区域。 第二表存储器可以由多个链接条目填充。 每个链接条目可以包括基于地址历史存储链接标签的第一链接字段和用于存储预测地址的第二链接字段。 第一比较器可以与第一表存储器和指令指针输入通信。 第二比较器可以与第一表存储器和第二表存储器通信。 与第二表存储器通信的输出。