Decomposition of instructions into branch and sequential...

Electrical computers and digital processing systems: processing – Processing control – Generating next microinstruction address

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C712S244000, C712S245000

Reexamination Certificate

active

06205544

ABSTRACT:

FIELD OF THE INVENTION
This invention relates generally to processor instructions, and more particularly to an architecture in which these instructions are decomposed into separate branch and sequential code sections.
BACKGROUND OF THE INVENTION
Many techniques have been introduced in processor technology to improve the execution performance of code by processors. One such category of techniques that provide simultaneous, or parallel, processing within a computer is known as pipelining. It refers to overlapping operations by moving data or instructions into a conceptual pipe with all stages of the pipe processing simultaneously. For example, while one instruction is being executed, the computer is decoding the next instruction.
With techniques such as pipelining, an issue that can affect performance is the treatment of branches within code. For example, when an execution engine of a processor reaches a branch instruction within the code, it must decide whether to stop all processing until that branch has been evaluated, or continue on one path or another of the branch. Such issues have been resolved to some extent by various techniques called branch prediction. In branch prediction, a given path of the prediction is initially executed in a speculative manner, until it can be determined that the particular path is indeed the correct path. If it is, processing can continue; otherwise, however, the initial execution is wasted.
Thus, during the execution of a program, the execution engine is rarely surprised by the arrival at a branch. However, once a basic block of code is entered, every instruction in that basic block is enabled for execution. Unfortunately, since branches tend to exist at the bottom of basic blocks, the engine must fetch all intervening sequential (that is, non-branch) instructions before encountering the branch.
One particular type of branch prediction involves the insertion of additional hint instructions in the basic block of code. These additional instructions are problematic, however.
The latency at which these instructions take effect, for example, may vary with the execution engine such that their position in the code should vary also. For these and other reasons, there is a need for the present invention.
SUMMARY OF THE INVENTION
The invention provides for the decomposition of instructions into separate sequential and branch instruction code sections. In one embodiment, a system includes a first store to store a first code section including only branch instructions, and a second store to store a second code section including only sequential instructions. In another embodiment, the system also includes a processor having a first engine to process the branch instructions, and a second engine to process the sequential instructions.


REFERENCES:
patent: Re. 35794 (1998-05-01), Johnson
patent: 4991080 (1991-02-01), Emma et al.
patent: 5485629 (1996-01-01), Dulong
patent: 5588118 (1996-12-01), Mandava et al.
patent: 5805878 (1998-09-01), Rahman et al.
patent: 0284364 (1988-09-01), None
patent: 0401992 (1990-12-01), None
patent: 0463977 (1992-01-01), None

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Decomposition of instructions into branch and sequential... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Decomposition of instructions into branch and sequential..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Decomposition of instructions into branch and sequential... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2435298

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.