IP Library Granted Patent US 7,162,621
Granted Patent B2
US 7,162,621 · App. 09/788,682 · Granted Jan 9, 2007

Virtual instruction expansion based on template and parameter selector information specifying sign-extension or concentration

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,162,621
App. No.
09/788,682
Granted
Jan 9, 2007
Kind
B2
Abstract

An extendable instruction set architecture is provided. In an embodiment, a microprocessor includes a memory, a virtual instruction expansion store, and substitution logic. The memory stores at least one virtual instruction that includes an index and at least one parameter. The virtual instruction expansion store includes at least one instruction template and at least one parameter selector. The substitution logic forms a sequence of at least one expanded instruction. In a example, the substitution logic sign-extends the at least one parameter to form an immediate value of the at least one expanded instruction in a manner specified by the at least one parameter selector. In another example, the substitution logic concatenates a first parameter and a second parameter of the virtual instruction to form an immediate value of the at least one expanded instruction in a manner specified by the at lest one parameter selector.

Claims (41)

1. A microprocessor providing an extendable instruction set architecture, the microprocessor comprising:

a memory for storing at least one virtual instruction that includes an index and at least one parameter;

a virtual instruction expansion store including at least one instruction template and at least one parameter selector; and

substitution logic that forms a sequence of at least one expanded instruction, wherein the substitution logic sign-extends the at least one parameter to form an immediate value of the at least one expanded instruction in a manner specified by the at least one parameter selector.

2. The microprocessor of claim 1 , further comprising:

a virtual start table coupled to the virtual instruction expansion store.

3. The microprocessor of claim 2 , further comprising:

a virtual program counter coupled between the virtual start table and the virtual instruction expansion store.

4. The microprocessor of claim 1 , wherein the virtual instruction includes a first parameter having a first number of bits and a second parameter having a second number of bits.

5. The microprocessor of claim 4 , wherein the first parameter includes at least three bits.

6. The microprocessor of claim 5 , wherein the second parameter includes at least five bits.

7. A method for generating a sequence of at least one expanded instruction from a virtual instruction, the method comprising:

receiving a virtual instruction that includes an index and at least one parameter;

identifying an instruction template and a parameter selector based on the index; and

sign-extending the at least one parameter of the virtual instruction to form an immediate value of the at least one expanded instruction in a manner specified by the at least one parameter selector.

8. The method of claim 7 , wherein the receiving step comprises receiving a virtual instruction including a first parameter having a first number of bits and a second parameter having a second number of bits.

9. The method of claim 8 , wherein the receiving step comprises receiving a virtual instruction including a first parameter having at least three bits and a second parameter having at least five bits.

10. A computer-readable medium comprising a microprocessor embodied in software, the microprocessor including:

a memory for storing at least one virtual instruction that includes an index and at least one parameter;

a virtual instruction expansion store including at least one instruction template and at least one parameter selector; and

substitution logic that forms a sequence of at least one expanded instruction, wherein the substitution logic sign-extends the at least one parameter to form an immediate value of the at least one expanded instruction in a manner specified by the at least one parameter selector.

11. The computer readable medium of claim 10 , wherein the microprocessor is embodied in hardware description language software.

12. The computer readable medium of claim 11 , wherein the microprocessor is embodied in one of Verilog hardware description language software and VHDL hardware description language software.

13. The computer-readable medium of claim 10 , wherein the virtual instruction includes a first parameter having a first number of bits and a second parameter having a second number of bits.

14. The computer-readable medium of claim 13 , wherein the first parameter has at least three bits and the second parameter has at least five bits.

15. A microprocessor providing an extendable instruction set architecture, the microprocessor comprising:

a memory for storing at least one virtual instruction that includes an index and at least one parameter;

a virtual instruction expansion store including at least one instruction template and at least one parameter selector; and

substitution logic that forms a sequence of at least one expanded instruction, wherein the substitution logic concatenates a first parameter and a second parameter of the virtual instruction to form an immediate value of the at least one expanded instruction in a manner specified by the at least one parameter selector.

16. The microprocessor of claim 15 , further comprising:

a virtual start table coupled to the virtual instruction expansion store.

17. The microprocessor of claim 16 , further comprising:

a virtual program counter coupled between the virtual start table and the virtual instruction expansion store.

18. The microprocessor of claim 15 , wherein the virtual instruction includes a first parameter having a first number of bits and a second parameter having a second number of bits.

19. The microprocessor of claim 18 , wherein the first parameter includes at least three bits.

20. The microprocessor of claim 19 , wherein the second parameter includes at least five bits.

21. A method for generating a sequence of at least one expanded instruction from a virtual instruction, the method comprising:

receiving a virtual instruction that includes an index, a first parameter, and a second parameter;

identifying an instruction template and a parameter selector based on the index; and

concatenating the first parameter and the second parameter of the virtual instruction to form an immediate value of the at least one expanded instruction in a manner specified by the at least one parameter selector.

22. The method of claim 21 , wherein the receiving step comprises receiving a virtual instruction including a first parameter having at least three bits and a second parameter having at least five bits.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2014
From: BRIDGE CROSSING, LLC
To: ARM FINANCE OVERSEAS LIMITED
Reel/Frame 033074/0058 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2013
From: MIPS TECHNOLOGIES, INC.
To: BRIDGE CROSSING, LLC
Reel/Frame 030202/0440 →