Method for securing a program
    3.
    发明授权

    公开(公告)号:US09892016B2

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

    申请号:US15342698

    申请日:2016-11-03

    摘要: A method for securing a first program, the first program including a finite number of program points and evolution rules associated to program points and defining the passage of a program point to another, the method including defining a plurality of exit cases and, when a second program is used in the definition of the first program, for each exit case, definition of a branching toward a specific program point of the first program or a declaration of branching impossibility, defining a set of properties to be proven, each associated with one of the constitutive elements of the first program, said set of properties comprising the branching impossibility as a particular property and establishment of the formal proof of the set of properties.

    Cache for patterns of instructions with multiple forward control transfers

    公开(公告)号:US09632791B2

    公开(公告)日:2017-04-25

    申请号:US14160242

    申请日:2014-01-21

    申请人: Apple Inc.

    摘要: Techniques are disclosed relating to a cache for patterns of instructions. In some embodiments, an apparatus includes an instruction cache and is configured to detect a pattern of execution of instructions by an instruction processing pipeline. The pattern of execution may involve execution of only instructions in a particular group of instructions. The instructions may include multiple backward control transfers and/or a control transfer instruction that is taken in one iteration of the pattern and not taken in another iteration of the pattern. The apparatus may be configured to store the instructions in the instruction cache and fetch and execute the instructions from the instruction cache. The apparatus may include a branch predictor dedicated to predicting the direction of control transfer instructions for the instruction cache. Various embodiments may reduce power consumption associated with instruction processing.

    Relative offset branching in a fixed-width reduced instruction set computing architecture
    9.
    发明授权
    Relative offset branching in a fixed-width reduced instruction set computing architecture 有权
    固定宽度精简指令集计算架构中的相对偏移分支

    公开(公告)号:US09563427B2

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

    申请号:US14291693

    申请日:2014-05-30

    摘要: Embodiments relate to a system for relative offset branching in a reduced instruction set computing (RISC) architecture. One aspect is a system that includes memory and a processing circuit communicatively coupled to the memory. The system is configured to perform a method that includes fetching a branch instruction from an instruction stream having a fixed instruction width. A relative offset value is acquired from the instruction stream. The relative offset value is formatted as an offset relative to a program counter value and sized as a multiple of the fixed instruction width. The relative offset value is added with the program counter value to form a branch target address value. The branch target address value is loaded into a program counter based on the branch instruction. Execution of the instruction stream is redirected to a next instruction based on the branch target address value in the program counter.

    摘要翻译: 实施例涉及在精简指令集计算(RISC)架构中相对偏移分支的系统。 一个方面是包括存储器和通信地耦合到存储器的处理电路的系统。 该系统被配置为执行包括从具有固定指令宽度的指令流获取分支指令的方法。 从指令流获取相对偏移值。 相对偏移值被格式化为相对于程序计数器值的偏移量,并且被设置为固定指令宽度的倍数。 相对偏移值加上程序计数器值,形成分支目标地址值。 分支目标地址值根据分支指令加载到程序计数器中。 基于程序计数器中的分支目标地址值,将指令流的执行重定向到下一条指令。

    Auxiliary branch prediction with usefulness tracking
    10.
    发明授权
    Auxiliary branch prediction with usefulness tracking 有权
    辅助分支预测与有用性跟踪

    公开(公告)号:US09507598B1

    公开(公告)日:2016-11-29

    申请号:US14969492

    申请日:2015-12-15

    IPC分类号: G06F9/30

    摘要: According to an aspect, management of auxiliary branch prediction in a processing system including a primary branch predictor and an auxiliary branch predictor is provided. A congruence class of the auxiliary branch predictor is located based on receiving a primary branch predictor misprediction indicator corresponding to a mispredicted target address of the primary branch predictor. An entry is identified in the congruence class having an auxiliary usefulness level set to a least useful level with respect to one or more other entries of the congruence class. Auxiliary data corresponding to the mispredicted target address is installed into the entry. The auxiliary usefulness level of the entry is reset to an initial value based on installing the auxiliary data.

    摘要翻译: 根据一方面,提供了在包括主分支预测器和辅助分支预测器的处理系统中辅助分支预测的管理。 基于接收到与主分支预测器的错误预测目标地址相对应的主分支预测器误预测指标来定位辅助分支预测器的同余类。 在一致类中标识一个条目,其中辅助有用性级别相对于一致性类别的一个或多个其他条目设置为最低有用级别。 与错误的目标地址相对应的辅助数据安装在条目中。 根据安装辅助数据,将条目的辅助功能级别重置为初始值。