XTENSA处理器调研_第1页
XTENSA处理器调研_第2页
XTENSA处理器调研_第3页
XTENSA处理器调研_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1. 背景介绍1.1.Tensilica 介绍Tensilica 是一个迅速成长的公司,公司主要产品是在专业性应用程序微处理器上,为现今高容量嵌入式系统提供最优良的解决方案。公司成立于1997 年 7 月,该公司的投资者包括三家声名卓着的创投公司:Oak Investment Partners, Worldview Technology Partners和 Foundation Capital,与高科技电子业内着名的五家公司:Cisco Systems,Inc,MatsushitaElectric Industrial Company Ltd , Altera Corporation , NE

2、C Corporation 和 Conexant Systems。Tensilica 的创始人为 Chris Rowen,同时也是第一任 CEO,他原来曾任职于 Intel,Stanford,MIPS, SGI 和 Synopsys,同时他也是可重构处理思想的提出者和实践者。Tensilica 公司创立的目的则是提供一种可以实现可重构的、核基于ASIC 的、拥有对应软件开发工具的专用微处理器解决方法。通过前期技术上的发展以及三轮融资, Xtensa 处理器诞生了。图 1 展示了 Tensilica 公司创业起步阶段的发展状况:图 1: Tensilica 公司创业起步阶段的发展状况Tensil

3、ica 公司于 2013 年 3 月被 Cadence公司以 3.8 亿的价格收购,为 Cadence在当时最大的一次收购。 Tensilica 公司 2012 年销售额为 4400 万美元,收购价超过其营业额的八倍,这也充分显示了 Tensilica 公司的价值。1.2.SOC 处理器在如今复杂的 SOC 设计中可以看到有很多种的嵌入式处理器,从通用的处理器到专用的处理器。通用的嵌入式处理器虽然可以很好的处理各种的控制任务,但当遇到像神经网路处理、基带数据包处理、图像处理、音频处理以及信息加密处理这中复杂的大数据处理时,它们的结构、处理方法以及带宽的限制使其显示出极大地劣势。而且对于内存大小

4、、 cache 尺寸和总线接口等的可选择性较小,一般是通过提升频率来提高性能,限制较大。芯片设计者也曾将目光转向硬接线逻辑(设计RTL 级 blocks)来提升某些主要功能的性能。不过 RTL 设计的设计周期很长,而且验证所花费的时间更长,同时它也缺少必要的可编程性和灵活性。Xtensa LX 系列处理器具有很强的可重构性和可拓展性,是进行复杂密集型数字信号处理应用的理想之选,而一个固化的RTL 应用也只能作为其他选择。Xtensa 处理器具有不同于其它传统式的嵌入式处理器核心,改变了单芯片系统的设计规则。采用 Xtensa 的技术时,系统设计工程师可以挑选所需的单元架构, 再加上自创的新指令

5、与硬件执行单元,就可以设计出比其它传统方式强大数倍的处理器核心。 Xtensa 生产器可以针对每一个处理器的特殊组合,自动有效地产生出一套包括操作系统,完善周全的软件工具。可以自由装组的 Xtensa 处理器,其设计方式弹性大,功效高,是所有高合成的单芯片系统的最佳选择。它采用硬件可重构加软件编程的方式,既提升了处理器的运算性能又通过软件便于实现控制 1 。2. Xtensa 处理器的结构对于 Xtensa 处理器结构,接下来分硬件结构和指令集架构两部分分别介绍。2.1.Xtensa 处理器的硬件结构纯硬件的系统便于进行计算, 不便于实现控制,而软件系统则正好相反(如图 2),Xtensa处理

6、器正好利用了两者的优势来进行处理器设计,它采用硬件可重构加软件编程的方式,既提升了处理器的运算性能又通过软件便于实现控制。图 2 软硬件在计算和控制方面的优劣势2Xtensa LX7 处理器结构如图3 所示。图 3 Xtensa LX7 处理器结构图 3由上图可以看到, Xtensa LX7 处理器的硬件结构包含基本模块、可重构模块、可选择模块、用户定义模块、功能模块、以及拓展模块。 Xtensa LX7 处理器以基本模块为核心, SOC 开发者可以根据需要的功能在功能模块通过编码或者图形界面选择相应的模块进行组合或者对可重构模块进行对应重构来优化运算的性能,并能够使用户在较短的时间内设计出面

7、向特定应用的处理器。基本模块包含 Instruction Fetch/Decode模块,用来进行指令的抓取和译码; Base ALU 模块,是一个基本的 32 位的 ALU ;控制模块和一些寄存器模块,用来实现控制和寄存。可重构模块包含 Instruction/Data Memory Management and Error Protection 模块,用来实现对指令和数据存储器尺寸、奇偶校验和 ECC 的重构; Data Load/Store模块,用来重构Load/Store通路的位宽以及单双向; Base Register File模块,可重构 Register的尺寸;Processor

8、Interface Control 模块,可以实现对接口不再对系统总线进行依赖 ,可以实现对 interface、port和 queue 的重构; Write Buffer 模块,可以实现对 1-32 个 buffer 的选择; iDMA 模块,通过重构实现接口直接读取处理器的本地数据;还有Instruction/Data 的一些存储( Cache、RAMs 和 ROMs)、一些寄存器( Data-Address Watch Rrgisters、 Instruction-Address Watch Register)以及 timer 和中断控制同样是可充配置的。用户自定义模块包含 Design

9、er-Defined Functional Units,用来实现基础功能之外的用户自定义的一些功能; Designer-Defined Data Load/Store Unit,可以实现多路的 Load/Store 通路,提升性能。外部模块包含连接在数据总线上的一些外设包括RAM 、DMA 、 Device 以及一些与端口接口相连的Memory。2.2.Xtensa 处理器的 ISA这个 32 位的 Xtensa LX7 处理器的结构特色是有一套专门为嵌入式系统设计、精简而高效能的16 与24 位指令集。其基本结构拥有80 个RISC指令,其中包括32 位基本的ALU , 6 个管理特殊功能的

10、寄存器,32 或 64 个普通功能 32 位寄存器。这些都设有加速运作功能的窗口。下面分别介绍一些Xtensa 处理器 ISA 的特性。32 位寄存器2.2.1. 基础性质Xtensa 处理器有大量的可重构的选项,可以让用户获取实现所需功能和性能的逻辑;高效能的 16/24 位指令集和用户自定义的可变长度指令集(长度为 4-16bytes 的任意值)使内存长度和性能达到最佳状态; 选用 5-7 级 ISA 流水来对不同的内存进行加速; 拓展的 DSP 也可实现最高 31 级流水;可选择的队列( FIFO)、端口( GPIO)和查找接口有着几乎无限的I/O带宽来进行数据的传输,不受系统带宽的影响

11、;可以选择通过硬件的预取来降低内存的延迟;自动生成细粒度的门控时钟可以实现功耗的降低;可以通过FLIX来实现指令的并行。2.2.2. 兼容性兼容性是 Xtensa 处理器 ISA 的根本,因为只有具有很强的兼容性才能很好的应用到第三方的应用软件和开发工具上去。 所有的可重构、 可拓展的 Xtensa 处理器都对主要的操作系统、调试工具以及输入校验设备兼容。同时所有版本的处理器都向上兼容,同时用户自定义的指令可以重复使用。2.2.3. 拓展性Xtensa 处理器可以很方便的将指令无缝的添加到处理器的数据通路中。任何相关的 C 数据类型、软件工具链和需要的进行综合的 EDA 脚本都是自动生成。数据

12、通路、相关的指令以及 C 数据类型都是用 TIE (Tensilica Instruction Extension)语言来写的。2.2.4. 可重构性Xtensa 处理器提供预验证的模块, 当用户的设计需要时随时可以将其添加到设计中去,可以又快又好的实现所需设计。所有可重构的选项如图 4 所示。由图可知可重构的部分包含:在不同的应用下选用不同的 DSP (HiFi DSPs for Audio/V oice/Speech,Vision P5 and P6DSPs for Imaging and Vision ,ConnX BBE16EP, BBE32EP and BBE64EP DSPs,Fu

13、sion F1DSP,Fusion G3 DSP),实现 DSP 的重构;多重自定义长度的 GPIO ports 对外设进行控制和监测;Queue中的接口宽度可选择; 32 位乘法器与 16 位的乘法器和 MAC ;单精度 /双精度,标量 /矢量浮点数模块的选择;对于 VLIW 和一般的指令可以通过三路 64 位的 FLIX 实现交叉存取。图 4 Xtensa LX7处理器最大范围的可重构选项2.2.5. 其他性能高低字节排序的可选择; 1 或 2 个通用的 load/store unit,每个的尺寸为 32-,64-,128-,256-,512-bits 可选; 1-32 个输入可选择输入

14、buffer; 多重自定义长度的接口是数据通过 FIFO 进出; FLIX 的长度可选,最高 128bits;数据和指定的 Cache采用 4 路组相连,最大为 128K,运用 write-back 和 write-through 的 cache写入协议;可选择的对本地内存的奇偶校验和 ECC。动态功耗和漏电流功耗较小;通过中断控制来进行片上调试;可选择的16 位处理器ID ,支持大规模并行阵列结构;支持第三方的JTAG debug probe进行片上调试的硬件。3. 通过 Xtensa 处理器为 SOC设计增加灵活性和拓展性Cadence为 Soc 设计者提供可以通过软件编程使其设计更加灵活

15、性和长寿命的解决方案,以及对于特定的应用提供定制处理器。现在用户可以通过TIE ( Tensilica InstructionExtension)语言设计一款功能、指令设定可拓展原始处理器设计者从未想过的特性。TIE 语言可以描述指令、 寄存器、拓展单元和 I/O ,然后这些会自动生成并添加到处理器中。 TIE 语言与 verilog 类似,用来描述希望的指令、操作数、编码和执行语义。 TIE 文件是 Xtensa处理器发生器的输入文件, 处理器发生器自动的建立重构的处理器和完整的软件工具链,该软件工具链包含所有的可重构的功能和新的TIE 指令。TIE 语言可以让用户将产品性能提升和创造其独特

16、性。 Xtensa 处理器的拓展性可以将优化的特性添加或者应用到任何需要优化处理器成本、功耗、应用性能的平台上。3.1.灵活性就像你可以从一系列预先确定的功能选项中选择特定的功能来提升处理器的性能,现在可以创造可以提升标准或者自定义算法指令以及更大的带宽的数据接口。通过使用提供的工具,应用的热点可以被定义,同时添加用来更高性能处理这些热点的指令,从而不再需要提升时钟频率或者重写大量的软件。3.2.独一性对于通用处理器固化的功能,不同算法运算可能性能会有差异。通用处理器在进行通用计算时有优势,但是不擅长计算任何一个特定的算法。Xtensa 处理器为用户提供了通过能够加速特定算法的硬件来区别的高性

17、能的执行各种算法(其思想如图5 所示)。这意味着只要用户定义的处理器达到了在相同软件上执行的性能,该设计就不可能被复制。图 5 Xtensa LX7 处理器提供的添加用户定义的功能和接口的思想3.3.通过 FLIX 进行并行操作由图 5 可知,用户自定义功能的实现是通过FLIX 。FLIX 结构使得 Xtensa LX7 处理器称为一个 VLIW处理器,如果需要可以实现2-30 的并行。 FLIX 指令的长度为4bytes 到16bytes 之间的任意值。这种可变长度的FLIX 指令可以与 Xtensa 处理器标准的 16/32 bits指令无缝混合,所以不会有模式转换上的损失。图 6 展示了

18、用户使用 FLIX 创造 VLIW 进行 2-30 级的并行操作通过 FLIX (可变长度指令字) Xtensa 处理器可以除去在使用 VLIW 时指令寄存器的冗余损失。事实上,使用 FLIX 的 Xtensa 可以同时提供高性能和晓得代码长度。 使用 FLIX 的损失是很小的,只是增加了 2000 个门用来进行指令的控制和译码,但是带来的好处是很大的。Xtensa 的 C/C+编译器自动的从源代码中提取出并行操作并将多种操作加到FLIX 中,所以即使不通过额外的软件资源同样可以获得并行计算好处。通过这种方法,一个three-issue的 Xtensa LX7 处理器在一个较低的频率下运行也可以达到对应其他设备在相当高时钟频率下的性能。图 6. 用户使用 FLIX 创造 VLIW 进行 2-30 级的并行操作还有关于接口的可重构方法,以及对应的软件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论