Blank bit and processor instructions employing the blank bit
AssigneeIXYS CH GmbH
InventorGyle D. Yearsley
Life of this patent
Estimating the term…
Abstract
Reading a value into a register, checking to see if the value is a NULL, and then jumping out of a loop if the value is a NULL is a common task that processors perform. To speed performance of such a task, a novel “blank bit” is added to the flag register of a processor. When a first instruction (arithmetic, logic or load) is executed, the instruction operands are checked to see if any is a NULL character value. Information on the result of the check is stored in the blank bit. Execution of a second instruction uses the information stored in the blank bit to determine whether or not a second operation (for example, a jump) will be performed. By using the first and second instructions in a loop, the number of instructions executed to check for NULLs at the end of strings and arrays is reduced.
Claims14
A method comprising:
- (a) executing a first instruction, comprising:
- storing a first value in a bit if a first operand of the first instruction is equal to zero, otherwise storing a second value in the bit;
- and
- after the storing in (a) performing a first operation associated with the first instruction using the first operand;
- and
- (b) executing a second instruction, comprising:
- performing a second operation associated with the second instruction if the bit is storing the first value, otherwise not performing the second operation.
An integrated circuit, comprising:
- a flag register, wherein the flag register comprises a zero bit, a blank bit, a carry bit, and an overflow bit;
- and
- means for executing a machine code instruction, wherein execution of the machine code instruction involves:
- 1) storing a first value in the blank bit if both a first operand and a second operand of an arithmetic operation are equal to zero or if either the first operand or the second operand of the arithmetic operation is equal to zero, otherwise storing a second value in the blank bit, 2) then performing the arithmetic operation using the first operand and the second operand, and 3) storing the first value in the zero bit if a result of the arithmetic operation is zero, otherwise storing the second value in the zero bit.
Dependencies are inferred from the claim text.