Ricardo E. Gonzales Tensilica, Inc.
The advent of configurable, extensible, and synthesizable processors has significantly changed the system design methodology. These configurable processors cores offer at least two unique advantages compared to hard-cores or pre-packaged components. First, they allow the system designer to define new instructions tailored to the application. Second, they are easier to integrate in a large ASIC. As recent EEMBC results show, designer-defined instructions can significantly increase application performance at a modest hardware cost.
In this talk I will describe Xtensa, a configurable and extensible processor. I will begin by presenting an overview of the Xtensa; the Xtensa instruction set architecture (ISA), the current hardware implementation, and the configuration, extension and generation process. I will then describe how the system designer or application developer can customize and extend the base ISA using the Tensilica Instruction Extension (or TIE) language. Using DES as an example, I will show how to identify possible new instructions, how to evaluate the performance and cost of these instructions, and how to verify the correctness of the new instructions. I will show that adding application-specific instructions can significantly increase application performance for a modest hardware cost. Finally to demonstrate the power of TIE I will describe Vectra, a high-performance DSP instruction set developed entirely in TIE.