Claims Analysis
Total Claims: 12
Claim 1
Independent Claim
512 words
Apparatus for executing a conditional branch instruction for use in a computer system of the type that includes memory means for storing data, including instructions, the memory means further including means for providing the stored data in response to a memory address, the conditional branch instruction defining a branch condition and a branch address of a target instruction, the apparatus for executing a conditional branch instruction comprising: instruction queue means coupled to the memory means for receiving an instruction stream therefrom and including means for storing portions of the instructions prior to execution of the instructions, wherein a beginning portion of an instruction includes a part or all of a next instruction to be executed, the beginning portion being stored, during a first cycle which is a last cycle of execution of a preceding instruction, at a head of the instruction queue means, the instruction queue means further including means, responsive to an occurrence of a dispatch operation during the first cycle, for outputting the beginning portion and for advancing a following portion contained in the instruction queue means to the head of the instruction queue means, the instruction queue means further including means, responsive to an occurrence of a conditional fetch operation, for loading a target instruction of the conditional fetch operation into the head of the instruction queue means unless completion of the conditional fetch operation is inhibited; first address computation means, coupled to the head of the instruction queue means and also to the memory means, for responding to the dispatch operation, the first address computation means including means for computing an address defined in the beginning portion and also including means for retaining the computed address, the first address computation means, when the beginning portion is associated with a conditional branch instruction, to compute a branch address; and instruction interpretation means, coupled to the head of the instruction queue means and to the first address computation means, for causing performance of the dispatch operation, the instruction interpretation means including means for receiving the beginning portion in the first cycle and, responsive to the receipt of the beginning portion within the first cycle, for initiating an interpretation of the beginning portion in a second cycle immediately following the first cycle, the instruction interpretation means further including means, responsive during the second cycle when the beginning portion is interpreted to be a conditional branch instruction, for performing a conditional fetch operation using the retained computed address and for determining whether a branch condition indicates that the conditional branch is to be taken, wherein if the conditional branch is determined not to be taken, the instruction interpretation means includes means for inhibiting, during the second cycle, a completion of the conditional fetch operation and for causing instead the dispatch operation to be performed, or if the conditional branch is determined to be taken, the instruction interpretation means includes means for permitting, during the second cycle, a completion of the conditional fetch operation and for causing the dispatch operation to be performed during a third cycle that immediately follows the second cycle.
Claim 2
Dependent Claim
512 words
Apparatus for executing a conditional branch instruction for use in a computer system of the type that includes memory means for storing data, including instructions, the memory means further including means for providing the stored data in response to a memory address, the conditional branch instruction defining a branch condition and a branch address of a target instruction, the apparatus for executing a conditional branch instruction comprising: instruction queue means coupled to the memory means for receiving an instruction stream therefrom and including means for storing portions of the instructions prior to execution of the instructions, wherein a beginning portion of an instruction includes a part or all of a next instruction to be executed, the beginning portion being stored, during a first cycle which is a last cycle of execution of a preceding instruction, at a head of the instruction queue means, the instruction queue means further including means, responsive to an occurrence of a dispatch operation during the first cycle, for outputting the beginning portion and for advancing a following portion contained in the instruction queue means to the head of the instruction queue means, the instruction queue means further including means, responsive to an occurrence of a conditional fetch operation, for loading a target instruction of the conditional fetch operation into the head of the instruction queue means unless completion of the conditional fetch operation is inhibited; first address computation means, coupled to the head of the instruction queue means and also to the memory means, for responding to the dispatch operation, the first address computation means including means for computing an address defined in the beginning portion and also including means for retaining the computed address, the first address computation means, when the beginning portion is associated with a conditional branch instruction, to compute a branch address; and instruction interpretation means, coupled to the head of the instruction queue means and to the first address computation means, for causing performance of the dispatch operation, the instruction interpretation means including means for receiving the beginning portion in the first cycle and, responsive to the receipt of the beginning portion within the first cycle, for initiating an interpretation of the beginning portion in a second cycle immediately following the first cycle, the instruction interpretation means further including means, responsive during the second cycle when the beginning portion is interpreted to be a conditional branch instruction, for performing a conditional fetch operation using the retained computed address and for determining whether a branch condition indicates that the conditional branch is to be taken, wherein if the conditional branch is determined not to be taken, the instruction interpretation means includes means for inhibiting, during the second cycle, a completion of the conditional fetch operation and for causing instead the dispatch operation to be performed, or if the conditional branch is determined to be taken, the instruction interpretation means includes means for permitting, during the second cycle, a completion of the conditional fetch operation and for causing the dispatch operation to be performed during a third cycle that immediately follows the second cycle.
Claim 3
Dependent Claim
51 words
The apparatus for executing a conditional branch instruction set forth in claim 1 and wherein: the second cycle is automatically extended when a branch condition indicates that the conditional branch is not to be taken and the dispatch operation is performed during the second cycle while the second cycle is extended.
Claim 4
Dependent Claim
71 words
The apparatus for executing a conditional branch instruction set forth in claim 1 and wherein: the instruction interpretation means provides a load head signal during the second cycle when a conditional branch is to be taken and the instruction queue means includes means, responsive to the load head signal, for loading a target instruction of the conditional branch instruction into the head of the instruction queue means during the second cycle.
Claim 5
Dependent Claim
122 words
The apparatus for executing a conditional branch instruction set forth in claim 1 and further comprising: second address computation means coupled to the first address computation means and to the memory means for receiving the retained computed address from the first address computation means and for computing an address of a next portion of the instruction stream to be added to a tail of the instruction queue means, the second address computation means including means for providing the address of the next portion to the memory means at a later time and wherein, when a conditional branch is determined to be taken, the first address computation means provides the retained stored address to he second address computation means during the second cycle.
Claim 6
Dependent Claim
108 words
The apparatus for executing a conditional branch instruction set forth in claim 4 and wherein: the target instruction is located at a beginning of an instruction portion and wherein the target instruction is of a type having a length that permits the entire target instruction portion to be loaded into the instruction queue means; and the second address computation means includes means for responding to the load head signal by loading and incrementing the retained computed address so as to point to an instruction portion, stored within the memory means, that follows the instruction portion loaded into the instruction queue means in response to the load head signal.
Claim 7
Dependent Claim
176 words
The apparatus for executing a conditional branch instruction set forth in claim 1 and wherein: the computer system employs virtual addresses to specify the location of data in the system and physical addresses corresponding to the virtual addresses to address the data stored in the memory means; and the first address computation means includes virtual address computation means coupled to the head of the instruction queue means for responding to a dispatch operation by computing a virtual address defined in the beginning portion of an instruction, the virtual address computation means further including means for retaining and outputting the computed virtual address, and physical address transformation means coupled to the virtual address computation means and to the memory means, the physical address transformation means being responsive to a dispatch operation and including means for receiving the computed virtual address, means for generating a physical address corresponding to the computed virtual address, means for retaining the corresponding physical address, and means responsive to a conditional fetch operation for providing the retained physical address to the memory means.
Claim 8
Dependent Claim
64 words
The apparatus for executing a conditional branch instruction set forth in claim 6 and wherein: the instruction interpretation means provides a load head signal during the second cycle when a conditional branch is to be taken and the instruction queue means responds to the load head signal by loading the target instruction into the head of the instruction queue means during the second cycle.
Claim 9
Dependent Claim
96 words
The apparatus for executing a conditional branch instruction set forth in claim 6 and further comprising: second address computation means coupled to the physical address computation means and to the memory means, the second address computation means including means for receiving the retained physical address during a second cycle when a conditional branch is taken, means for computing a physical address of a next portion of the instruction stream to be added to a tail of the instruction queue means, and means for providing the computed physical address to the memory means at a later time.
Claim 10
Dependent Claim
135 words
The apparatus for executing a conditional branch instruction set forth in claim 8 and wherein: the instruction interpretation means includes means, coupled to the second address computation means, for providing a load head signal thereto during a second cycle when a conditional branch is to be taken; the target instruction is located at a beginning of an instruction portion and wherein the target instruction is of a type having a length that permits the entire target instruction portion to be loaded into the instruction queue means; and the second address computation means includes means, responsive to the load head signal, for loading and incrementing the retained physical address to point to an instruction portion in the memory means following the instruction portion loaded into the instruction queue means in response to the load head signal.
Claim 11
Dependent Claim
106 words
The apparatus for executing a conditional branch instruction set forth in claim 6 and wherein: each instruction includes format information at the beginning of the instruction, the format information specifying a length of and a type of instruction; the virtual address computation means includes instruction address means responsive to the format information and to an occurrence of a dispatch operation for computing and retaining the virtual address of a next instruction in the instruction queue means; and the virtual address computation means includes means, responsive to a conditional branch being taken, for loading, during the second cycle, the instruction address means with the retained virtual address.
Claim 12
Dependent Claim
69 words
The apparatus for executing a conditional branch instruction set forth in claim 10 and wherein: the instruction interpretation means includes means, coupled to the virtual address computation means, for providing a load head signal thereto during a second cycle when a conditional branch is to be taken, and wherein the virtual address computation means includes means for loading the instruction address means in response to the load head signal.