IP Library Granted Patent US 7,617,388
Granted Patent B2
US 7,617,388 · App. 11/644,001 · Granted Nov 10, 2009

Virtual instruction expansion using parameter selector defining logic operation on parameters for template opcode substitution

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,617,388
App. No.
11/644,001
Granted
Nov 10, 2009
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 an example, each expanded instruction is based on an instruction template and includes a new parameter for use with the instruction template. The new parameter is generated by performing a logical operation from the parameter selector on one or more parameter of the virtual instruction.

Claims (38)

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 referenced by the index including at least one instruction template and at least one parameter selector that defines a logical operation to perform on the at least one parameter; and

substitution logic that forms a sequence of at least one expanded instruction each expanded instruction of the sequence based on a respective instruction template of the virtual instruction expansion store and comprising an opcode and a new parameter for use with the respective instruction template, the new parameter generated by performing the logical operation corresponding to the respective instruction template only on one or more parameters of the at least one parameter.

2. The microprocessor of claim 1 , wherein bits of the opcode are formed by substituting a translation of bits of the at least one parameter into the at least one instruction template.

3. The microprocessor of claim 1 , wherein bits of the opcode are formed by zero-extending at least one bit of the at least one parameter.

4. The microprocessor of claim 1 , further comprising:

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

5. The microprocessor of claim 4 , further comprising:

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

6. 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.

7. The microprocessor of claim 6 , wherein the first parameter includes at least three bits.

8. The microprocessor of claim 7 , wherein the second parameter includes at least five bits.

9. A method for generating a sequence of at least one expanded instruction from a virtual instruction, 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, the parameter selector defining a logical operation to perform on one or more of the at least one parameter; and

forming a sequence of at least one expanded instruction each expanded instruction of the sequence based on a respective instruction template and comprising an opcode and a new parameter for use with the respective instruction template, the new parameter generated by performing the logical operation corresponding to the respective instruction template only on one or more parameters of the at least one parameter.

10. The method of claim 9 , wherein the forming step comprises:

substituting at least one bit of the at least one parameter into respective the instruction template.

11. The method of claim 9 , wherein the forming step comprises:

substituting a translation of bits of the at least one parameter into the respective instruction template.

12. The method of claim 9 , wherein the forming step comprises:

zero-extending at least one bit of the at least one parameter.

13. The method of claim 9 , 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.

14. The method of claim 13 , 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.

15. 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 referenced by the index including at least one instruction template and at least one parameter selector that defines a logical operation to perform on the at least one parameter; and

substitution logic that forms a sequence of at least one expanded instruction each expanded instruction of the sequence based on a respective instruction template of the at least one instruction template and comprising an opcode and a new parameter for use with the respective instruction template, the new parameter generated by performing the logical operation corresponding to the respective instruction template only on one or more parameters of the at least one parameter.

16. The computer readable medium of claim 15 , wherein bits of the opcode are formed by substituting a translation of bits of the at least one parameter into the at least one instruction template.

17. The computer readable medium of claim 15 , wherein bits of the opcode are formed by zero-extending at least one bit of the at least one parameter.

18. The computer readable medium of claim 15 , wherein the microprocessor includes:

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

19. The computer readable medium of claim 18 , wherein the microprocessor includes:

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

20. The computer readable medium 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.

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

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

Assignments (5)
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 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2008
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: MIPS TECHNOLOGIES, INC.
Reel/Frame 021985/0015 →
SECURITY AGREEMENT Recorded Aug 24, 2007
From: MIPS TECHNOLOGIES, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 019744/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2007
From: KISSELL, KEVIN D.; PARALOGOS S.A.R.L.; MIPS TECHNOLOGIES INTERNATIONAL AG
To: MIPS TECHNOLOGIES, INC.
Reel/Frame 019159/0872 →