Extensión de instrucción Tensilica


Tensilica Instruction Extension hace referencia al lenguaje patentado que se utiliza para personalizar la arquitectura del núcleo del procesador Xtensa de Tensilica .

Al usar TIE, el usuario puede personalizar la arquitectura Xtensa agregando instrucciones personalizadas y archivos de registro, creando instancias de puertos y colas TIE para comunicación multiprocesador y agregando extensiones preconfiguradas (como el DSP de Tensilica). Las aplicaciones de software pueden beneficiarse enormemente de las instrucciones definidas por el usuario correctamente dirigidas, mientras que los puertos TIE y las colas TIE facilitan la comunicación multiprocesador al agregar interfaces de entrada y salida separadas al núcleo del procesador. Utilizando el lenguaje TIE y el toolkit Xtensa Xplorer, se automatiza la generación y verificación de las instrucciones utilizadas para extender el procesador ISA. Tal automatización ayuda a reducir el tiempo de verificación del hardware que normalmente consume un gran porcentaje de la duración del proyecto de un hardware típico desarrollado para la misma funcionalidad.

La codificación manual es similar a la programación usando Verilog , un lenguaje de descripción de hardware . La generación automática de código TIE se realiza mediante la herramienta Xtensa Xpress. Esto se hace compilando y ejecutando primero el código usando las herramientas Xplorer y Xtensa Xpress. Xpress analiza el código que se ejecutará en el procesador y genera instrucciones TIE adicionales para el núcleo del procesador. Estas instrucciones adicionales se sustituirán automáticamente cuando el compilador C/ C++ genere el código ensamblador, evitando cualquier intervención manual. Esto proporciona una abstracción de usuario completa para el proceso de generación automática de TIE.

Las instrucciones extendidas TIE se denominan "operaciones" en lenguaje TIE. Dado que el compilador TIE genera intrínsecos del compilador para cada operación TIE, las instrucciones TIE se pueden invocar directamente utilizando la semántica de llamadas a funciones del lenguaje C. El compilador de C se encarga de traducir los intrínsecos de TIE en las instrucciones apropiadas para ejecutarse en el código ensamblador que se genera.

El compilador TIE se utiliza para compilar código escrito en lenguaje TIE. El compilador TIE automatiza la generación de adiciones de instrucciones de hardware definidas por el diseñador al núcleo del procesador.

Una vez que el código se ha compilado con el compilador TIE, se requieren un mínimo de dos niveles de verificación y prueba para verificar la funcionalidad.