Tensilica Instruction Extension fa referència al llenguatge propietari que s'utilitza per personalitzar l'arquitectura central del processador Xtensa de Tensilica.[1]
Mitjançant l'ús de TIE, l'usuari pot personalitzar l'arquitectura Xtensa afegint instruccions personalitzades i fitxers de registre, instància de ports i cues TIE per a la comunicació multiprocessador i afegint extensions preconfigurades (com ara el DSP de Tensilica). Les aplicacions de programari es poden beneficiar molt de les instruccions definides per l'usuari correctament orientades, mentre que els ports TIE i les cues TIE faciliten la comunicació multiprocessador afegint interfícies d'entrada i sortida separades al nucli del processador. Mitjançant el llenguatge TIE i el conjunt d'eines Xtensa Xplorer, s'automatitza la generació i verificació de les instruccions utilitzades per ampliar l'ISA del processador. Aquesta automatització ajuda a reduir el temps de verificació del maquinari que normalment consumeix un gran percentatge de la durada del projecte d'un maquinari típic desenvolupat per a la mateixa funcionalitat.[2]
Tensilica va afegir TIE per ampliar el conjunt d'instruccions dels processadors Xtensa.
El codi TIE es pot crear de dues maneres. TIE pot ser:
La codificació manual és similar a la programació amb Verilog, un llenguatge de descripció de maquinari. La generació automàtica de codi TIE es fa mitjançant l'eina Xtensa Xpress. Això es fa compilant i executant primer el codi amb les eines Xplorer i Xtensa Xpress. Xpress analitza el codi que s'executarà al processador i genera instruccions TIE addicionals per al nucli del processador. Aquestes instruccions addicionals seran substituïdes automàticament quan el compilador C/C++ generi el codi ensamblador, evitant qualsevol intervenció manual. Això proporciona una abstracció completa de l'usuari al procés de generació automàtica de TIE.[3]