Variable delay branch system
First Claim
1. A process for a pipeline computer operation of branching from an existing sequence of instructions to a branch sequence of instructions under control of data in said existing sequence of instructions, the process including the steps of:
- fetching instructions of said existing sequence and detecting a branch command in an instruction of the existing sequence to designate a branch instruction;
fetching said branch instruction to initiate a branch sequence of instructions;
executing instructions of said existing sequence of instructions to detect a split command in an instruction of the existing sequence indicating a time to branch; and
branching from said existing sequence of instructions to said branch sequence of instructions under control of said split command to establish said branch sequence of instructions for execution as the existing sequence of instructions.
1 Assignment
0 Petitions
Accused Products
Abstract
In a pipeline computer, current instructions executed in sequence are monitored for conditional and unconditional branch commands, as well as the readiness of condition codes, the meeting of branch conditions and split commands. A branch command initiates an interval of delay which affords prefetching target instructions while using pipeline contents to prevent a pipeline break and avoid lost time. Detection of a branch command actuates a register to store a sequence of target instructions. Unless a branch command is conditional, subsequent detection (delayed) of a split command shifts the stored target instructions into operation as the current instructions. For a conditional branch command, a jump or split to the target instructions is performed only if the condition is met. Otherwise the current instruction sequence is restored pending another branch command. Dual instruction registers, program counters and address registers alternate to accommodate branch jumps with considerable time savings by effective programming.
-
Citations
16 Claims
-
1. A process for a pipeline computer operation of branching from an existing sequence of instructions to a branch sequence of instructions under control of data in said existing sequence of instructions, the process including the steps of:
-
fetching instructions of said existing sequence and detecting a branch command in an instruction of the existing sequence to designate a branch instruction; fetching said branch instruction to initiate a branch sequence of instructions; executing instructions of said existing sequence of instructions to detect a split command in an instruction of the existing sequence indicating a time to branch; and branching from said existing sequence of instructions to said branch sequence of instructions under control of said split command to establish said branch sequence of instructions for execution as the existing sequence of instructions. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A branch structure for use with a pipeline computer including an instruction source for providing sequences of instructions, certain of which instructions include branch commands or split commands, and means for executing said instructions of a sequence, said system comprising:
-
instruction storage means for receiving current and target sequences of instructions from said instruction source and supplying instructions identified as the current sequence to said means for executing said instructions; means controlled by a branch command in an instruction to store a target sequence of instructions in said instruction storage; and means controlled by the occurrence of a split command in an instruction to shift said instruction storage from supplying said current sequence of instructions to supply said target sequence of instructions which target sequence of instructions accordingly is established as the current sequence of instructions. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A branch structure for use with a pipeline computer including an instruction source for providing sequences of instructions, certain of which instructions include branch commands or split commands, and means for executing said instructions of a sequence, said system comprising:
-
a first set of processor elements including a first instruction buffer, a first address register and a first program counter; a second set of processor elements including a second instruction buffer, a second address register and a second program counter; control means for advancing a current sequence of instructions by the operation of one of said first or second sets of processor elements; branch means for detecting a branch command in said current sequence of instructions to specify a branch operation by setting a target sequence of instructions in said other of said first or second sets of processor elements; split means for detecting a split command in said current sequence of instructions to specify implementing a previously detected branch command; and means to implement a branch from said current sequence of instructions to said target sequence of instructions under control of said branch means and said split means. - View Dependent Claims (16)
-
Specification