Tensilica 是一个迅速成长的公司,公司主要产品是在专业性应用程序微处理器上,为现今高容量 嵌入式系统 提供最优良的解决方案。公司成立于1997年7月,该公司的投资者包括三家声名卓著的创投公司:Oak Investment Partners, Worldview Technology Partners 和 Foundation Capital, 与高科技电子业内著名的五家公司:Cisco Systems,Inc,Matsushita Electric Industrial Company Ltd, Altera Corporation,NEC Corporation 和 Conexant Systems。Tensilica的创始人为Chris Rowen,同时也是第一任CEO,他原来曾任职于Intel,Stanford,MIPS,SGI和Synopsys,同时他也是可重构处理思想的提出者和实践者。Tensilica公司创立的目的则是提供一种可以实现可重构的、核基于ASIC的、拥有对应软件开发工具的专用微处理器解决方法。
其 HIFI 系列产品的主要应用包括:

1.寄存器window的 概念可以将物理寄存器和逻辑寄存器(ISA寄存器)分离开来,在设计上增加了一层抽象,可以避免在 函数调用 的时候频繁的压栈和出栈操作,下图展示在64个物理寄存器上实现的寄存器窗口,虽然ISA仅仅定义了16个AR寄存器,但是实际微架构设计时不限物理寄存器的数量的,当然,成本是随着微架构寄存器的数目增加而增加的。

更具体的一个映射的例子:

物理寄存器数量是有限的,如果嵌套多层调用call4/8/12,则一定会发生覆盖原来寄存器窗口的情况,覆盖发生时,Xtensa通过寄存器窗口异常来处理这种情况。寄存器窗口机制中,任何地方引用a0-a3都不会产生register window异常,用户在c或者汇编代码里面可以任意使用,因为在任意环境里,当前逻辑窗口的寄存器,要么无覆盖发生,要么已经在call/entry指令中进行了压 栈 保存。a4-a15的高位寄存器引用会触发低位寄存器的覆盖检测,哪怕没有显示的使用低位寄存器,触发的顺序是先进行overflow4,然后overflow8至overflow12.
entry指令的执行伪码:


2.ESP32和HIFI3/4/5的区别

HIFI3/4/5的ISA是一样的,区别可能在于资源的数量。

总结:
VLIW示意图,slot是执行单元,每个能力不同,需要注意指令不能存在结构相关。

3.根据谷歌到的关于xtensa的资料,提取到的一些关于VLIW应用场景和用法的一些信息,一共包括十种指令打包格式,每种格式在所用资源,应用场景,指令长度方面有所差异。

关于 NX 可扩展处理器架构需要补充说明。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删