Method and apparatus for adding advanced instructions in an extensible processor architecture
First Claim
1. A processor extension language that enables the description of VLIW instructions for execution by corresponding logic in addition to core instructions for execution by a microprocessor core, the description including a configurable characteristic of the VLIW instructions.
1 Assignment
0 Petitions
Accused Products
Abstract
A system for adding advanced instructions to a microprocessor includes a language for formally capturing the new instructions and a method for generating hardware implementations and software tools for the extended processors. The extension language provides for additions of VLIW instructions, complex load/store instructions, more powerful description styles using functions, more powerful register operands, and a new set of built-in modules. The method is capable of generating fully-pipelined micro-architectural implementations for the new instructions in the form of synthesizable HDL descriptions which can be processed by standard CAD tools. The method is also capable of generating software components for extending software development tools for the microprocessor with new instructions.
45 Citations
28 Claims
- 1. A processor extension language that enables the description of VLIW instructions for execution by corresponding logic in addition to core instructions for execution by a microprocessor core, the description including a configurable characteristic of the VLIW instructions.
- 8. A processor extension language that enables the description of load/store instructions for execution by corresponding logic in addition to core instructions for execution by a microprocessor core, the description including a configurable word manipulation that is automatically performed in conjunction with the load/store instructions.
- 14. A processor extension language that enables the description of complex instructions for execution by corresponding logic in addition to core instructions for execution by a microprocessor core, the description including a configurable function definition.
- 17. A processor extension language that enables the description of enhanced register file instructions for execution by corresponding logic in addition to core instructions for execution by a microprocessor core, the description including a configurable operand register interface.
- 22. A processor extension language that enables the description of exceptions that are raised during execution of instructions by corresponding extension logic in addition to core instructions for execution by a microprocessor core.
-
28. A processor extension language that enables the description of complex instructions for execution by corresponding hardware logic in addition to core instructions for execution by a microprocessor core, wherein the description comprises a built-in module definition that is part of the processor extension language, the module definition being one of an addition with carry-in module, an N-number addition module, a carry-save adder module, a signed and unsigned comparison module, a multiply-accumulate module, a multiply module, a partial-product multiply module, a n-way multiplexor module, a n-way priority selector module, and a n-way 1-hot selector module.
Specification