Patents
Literature
Patsnap Eureka AI that helps you search prior art, draft patents, and assess FTO risks, powered by patent and scientific literature data.

8 results about "Indirect branch" patented technology

An indirect branch (also known as a computed jump, indirect jump and register-indirect jump) is a type of program control instruction present in some machine language instruction sets. Rather than specifying the address of the next instruction to execute, as in a direct branch, the argument specifies where the address is located. An example is 'jump indirect on the r1 register', which means that the next instruction to be executed is at the address in register r1. The address to be jumped to is not known until the instruction is executed. Indirect branches can also depend on the value of a memory location.

Apparatuses and methods for speculative execution side channel mitigation

Methods and apparatuses relating to mitigations for speculative execution side channels are described. Speculative execution hardware and environments that utilize the mitigations are also described. For example, three indirect branch control mechanisms and their associated hardware are discussed herein: (i) indirect branch restricted speculation (IBRS) to restrict speculation of indirect branches, (ii) single thread indirect branch predictors (STIBP) to prevent indirect branch predictions from being controlled by a sibling thread, and (iii) indirect branch predictor barrier (IBPB) to prevent indirect branch predictions after the barrier from being controlled by software executed before the barrier.
Owner:INTEL CORP

Reduction of data transfer overhead

PCT designated stage expiredWO2025106196A2Next instruction address formationSoftware testing/debuggingIndirect branchOperations research
Aspects of the disclosure are directed to reduction of data transfer overhead. In accordance with one aspect, increment a function call counter for an executed function call; decrement the function call counter for an executed return from function call; infer the indirect branch address based on a function call counter value and when a cumulative count of received executed atoms indicates a return from function call has been executed; oversaturate the function call counter at a maximum counter value if the function call counter contains the maximum counter value and a subsequent function call is executed; and undersaturate the function call counter at a minimum counter value if the function call counter contains the minimum counter value and a subsequent return from function call is executed.
Owner:QUALCOMM INC

Indirect Branch Predictor and Prediction Method Based on Global History Classification

The present invention discloses an indirect branch predictor based on global history classification and a prediction method, belonging to the field of branch predictor design for processors. The indirect branch predictor based on global history classification includes: a single target address prediction module, a multi-target address prediction module, a target address arbitration module, and a multiplexing module; the present invention can respectively utilize the prediction advantages of the instruction path history and the direction history, select more reasonable historical information for prediction according to the confidence level, thereby further improving the prediction accuracy of the indirect branch predictor; moreover, the predictor adopted in the present invention can be implemented by using different indirect branch predictors according to actual design requirements, so as to meet the performance and area requirements of various processors. Therefore, the present invention can reasonably utilize hardware resources and has better applicability in the design of different types of processors.
Owner:JIANGNAN UNIV

Data processing apparatus and method for runtime integrity attestation

A data processing apparatus (110) for executing an application with runtime integrity proof is provided. The data processing apparatus (110) comprises processing circuitry (111) for executing a modified version (143) of an application machine code (141) defining the application. The modified version (143) of the application machine code (141) includes one or more direct or indirect branch instructions, and one or more machine code instructions, the one or more machine code instructions being one or more target instructions for the one or more direct or indirect branch instructions. During the execution of the modified version (143) of the application machine code (141), the processing circuitry (111) is further configured to update a first register value in a first register and a second register value in a second register, and to update the modified version (143) of the application machine code (141) based on the first register value and the second register value. And / or triggering an exception if the one or more direct or indirect branch instructions are for instructions of the modified version (143) of the application machine code (141) instead of the one or more target instructions.
Owner:HUAWEI TECH CO LTD

Reduction of data transfer overhead

Aspects of the disclosure are directed to reduction of data transfer overhead. In accordance with one aspect, increment a function call counter for an executed function call; decrement the function call counter for an executed return from function call; infer the indirect branch address based on a function call counter value and when a cumulative count of received executed atoms indicates a return from function call has been executed; oversaturate the function call counter at a maximum counter value if the function call counter contains the maximum counter value and a subsequent function call is executed; and undersaturate the function call counter at a minimum counter value if the function call counter contains the minimum counter value and a subsequent return from function call is executed.
Owner:QUALCOMM INC

COMPUTER PROGRAM PRODUCT, COMPUTER SYSTEM AND METHOD FOR SIMULTANEOUSLY PREDICTING BRANCH ADDRESSES AND UPDATING REGISTER CONTENT

A computer program product designed to simplify processing in a data processing environment, wherein the computer program product features: a computer-readable storage medium that is readable by a processing circuit and stores instructions for carrying out a procedure which includes: Predictions, using a processor of the data processing environment, of a predicted value to be used in a register-indirect branch, wherein the predicted value has a target address to which a register-indirect branch is to point according to the prediction; Storing the predicted value at a selected memory location accessible to one or more instructions of the data processing environment, wherein the storage is performed concurrently with the processing of the register-indirect branch, where, within the limits of a single architecture-defined instruction, the predicted destination address is stored at the selected memory location and in a program counter to redirect the instruction call to the predicted destination address; and Using the predicted value in speculative processing that includes register-indirect branching, wherein at least some of the one or more instructions are instructions of a code to which the register-indirect branch is supposed to refer according to the prediction, and wherein the use includes accessing the predicted value from the selected memory location by the at least some of the one or more instructions as part of the speculative processing.
Owner:INTERNATIONAL BUSINESS MACHINE CORPORATION

Data Processing Apparatus and Method for Runtime Integrity Attestation

A data processing apparatus includes a processing circuitry configured to execute a modified version of an application machine code defining the application. The modified version of the application machine code comprises one or more direct or indirect branch instructions and one or more machine code instructions being one or more target instructions for the one or more direct or indirect branch instructions. During the execution of the modified version of the application machine code, the processing circuitry is further configured to update a first register value in a first register and a second register value in a second register and to trigger an exception, based on the first register value and the second register value and / or when the one or more direct or indirect branch instructions target an instruction of the modified version of the application machine code.
Owner:HUAWEI TECH CO LTD

Reduction of data transfer overhead

Aspects of the disclosure are directed to reduction of data transfer overhead. In accordance with one aspect, increment a function call counter for an executed function call; decrement the function call counter for an executed return from function call; infer the indirect branch address based on a function call counter value and when a cumulative count of received executed atoms indicates a return from function call has been executed; oversaturate the function call counter at a maximum counter value if the function call counter contains the maximum counter value and a subsequent function call is executed; and undersaturate the function call counter at a minimum counter value if the function call counter contains the minimum counter value and a subsequent return from function call is executed.
Owner:QUALCOMM INC