Address calculation unit for an object oriented processor having differentiation circuitry for selectively operating micro-instructions
First Claim
Patent Images
1. In an object-oriented language processor that generates a microinstruction for an opcode, an address calculation unit (ACU) comprising:
- an input for receiving selection data from the microinstruction;
differentiation circuitry receiving the selection data for determining if the address calculation unit will operate on this microinstruction;
one or more inputs for receiving a local variable pointer, stack pointer, or base address;
a selecting circuit receiving one of the local variable pointer, stack pointer, and base address, for identifying the location of a specific object structure in memory;
one or more inputs for receiving a local variable number, the local variable number being indicative of a specific element in the object structure;
a scaling portion for scaling the local variable number; and
a generating portion for generating a memory address for the element contained in the object structure by using the scaled local variable number, the generating portion operating responsive to the differentiation circuitry;
wherein the generating portion generates the memory addresses in a single processor clock-cycle.
2 Assignments
0 Petitions
Accused Products
Abstract
A processor is provided with a address calculation unit so as to generate addresses for elements of object oriented data structures in one processor clock cycle.
-
Citations
16 Claims
-
1. In an object-oriented language processor that generates a microinstruction for an opcode, an address calculation unit (ACU) comprising:
-
an input for receiving selection data from the microinstruction; differentiation circuitry receiving the selection data for determining if the address calculation unit will operate on this microinstruction; one or more inputs for receiving a local variable pointer, stack pointer, or base address; a selecting circuit receiving one of the local variable pointer, stack pointer, and base address, for identifying the location of a specific object structure in memory; one or more inputs for receiving a local variable number, the local variable number being indicative of a specific element in the object structure; a scaling portion for scaling the local variable number; and a generating portion for generating a memory address for the element contained in the object structure by using the scaled local variable number, the generating portion operating responsive to the differentiation circuitry; wherein the generating portion generates the memory addresses in a single processor clock-cycle. - View Dependent Claims (2, 3)
-
-
4. An object oriented processor comprising:
-
an Address Calculation Unit (ACU), the ACU comprising; an input for receiving selection data from a microinstruction; differentiation circuitry receiving the selection data for determining if the address calculation unit will operate on this microinstruction; a selecting circuit receiving one of a local variable pointer, stack pointer, or base address for identifying the location of a specific object oriented data structures in memory; a generating portion for generating memory addresses for elements contained in the object oriented data structures; wherein the generating portion generates the addresses in a single clock-cycle. - View Dependent Claims (5, 6, 7, 8)
-
-
9. A method of calculating addresses in an object-oriented processor, the method comprising:
-
receiving a microinstruction at an Address Calculation Unit (ACU), the microinstruction having selection data in a selection argument field; evaluating the selection data to determine if the received microinstruction is coded to use the ACU executing, only if the microinstruction is coded to be used on the ACU, the following steps; a. receiving a base value reference in the microinstruction indicative of a location of an object oriented data structure; b. receiving an index reference in the microinstruction indicative of a location of an element within the object oriented data structure; c. scaling the index to produce a scaled index; and d. adding the scaled index to the base value to generate an address, wherein steps a. to d. are accomplished in a single clock cycle of the processor.
-
-
10. A processor including an Address Calculation Unit (ACU), the ACU comprising:
-
a. an input for receiving selection data from a microinstruction; b. differentiation circuitry receiving the selection data for determining if the address calculation unit will operate on this microinstruction; c. a circuit for receiving a control word from the processor; d. a circuit for receiving a stack pointer, a local variable pointer, and a base address; e. an adder circuit; f. a selecting circuit for selecting one of the stack pointer, local variable pointer and base address, the selecting circuit producing an output comprising a location of a specific object structure in memory, the output coupled to the adder; g. a circuit for receiving a local variable number, the local variable number being indicative of a specific element in the object structure; and h. a circuit for shifting the local variable number, coupled to the circuit for receiving a local variable number, the circuit for shifting producing a shifted local variable number output, the output coupled to a second port of the adder.
-
-
11. A processor comprising:
-
an Address Calculation Unit (ACU), the ACU comprising inputs for receiving arguments in a microinstruction that reference object oriented data structures, the inputs comprising; a first input for receiving an argument indicative of the location of a specific object structure; and a second input for receiving an argument indicative of the offset for a specific element in the object structure; the ACU further comprising a selection input for receiving a selection argument from the microinstruction, the selection argument being used by differentiation circuitry for determining if the microinstruction is enabled to use the ACU. - View Dependent Claims (12, 13, 14, 15, 16)
-
Specification