版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1.背景介绍 1.1. Tensilica 介绍 Ten silica是一个迅速成长的公司,公司主要产品是在专业性应用程序微处理 器上,为现今高容量嵌入式系统提供最优良的解决方案。公司成立于1997年7 月,该公司的投资者包括三家声名卓著的创投公司:Oak Investment Partners Worldview Technology Partners 和 Foundation Capital,与高科技电子业内著名的 五家公司:Cisco Systems Inc,Matsushita Electric In dustrial Compa ny Ltd, Altera Corporation,
2、NEC Corporation 和 Conexant Systems Tensilica 的创始人为 Chris Rowe n,同时也是第一任 CEO,他原来曾任职于In tel,Sta nford, MIPS,SGI和 Synopsys同时他也是可重构处理思想的提出者和实践者。 Ten silica公司创立的目的则是提供一种可以实现可重构的、核基于ASIC的、 拥有对应软件开发工具的专用微处理器解决方法。通过前期技术上的发展以及三 轮融资,Xtensa处理器诞生了。图1展示了 Tensilica公司创业起步阶段的发展 状况: 1997 1998 1999 2000 idea try 呂nps
3、 exploration open offics build team plan initial development trial selliing fulll selling勺 2,0 development .0 devslopmer Fou hJ nded L4 Early Te am Xtj: f TL nsa 1.0 Xtcnss 1.5 ij Xtensa 2.1 3 $2.3M A round $10.6M B round$20M C round first custom亡 图1: Ten silica公司创业起步阶段的发展状况 Ten silica公司于2013年3月被Cad
4、e nee公司以3.8亿的价格收购,为Cade nee 在当时最大的一次收购。Tensilica公司2012年销售额为4400万美元,收购价超 过其营业额的八倍,这也充分显示了Te nsilica公司的价值。 1.2. SOC处理器 在如今复杂的SOC设计中可以看到有很多种的嵌入式处理器,从通用的处 理器到专用的处理器。 通用的嵌入式处理器虽然可以很好的处理各种的控制任务,但当遇到像神经 网路处理、基带数据包处理、图像处理、音频处理以及信息加密处理这中复杂的 大数据处理时,它们的结构、处理方法以及带宽的限制使其显示出极大地劣势。 而且对于内存大小、cache尺寸和总线接口等的可选择性较小,一般
5、是通过提升 频率来提高性能,限制较大 芯片设计者也曾将目光转向硬接线逻辑(设计RTL级blocks)来提升某些 主要功能的性能。不过RTL设计的设计周期很长,而且验证所花费的时间更长, 同时它也缺少必要的可编程性和灵活性。 Xtensa LX系列处理器具有很强的可重构性和可拓展性,是进行复杂密集型 数字信号处理应用的理想之选,而一个固化的RTL应用也只能作为其他选择。 Xte nsa处理器具有不同于其它传统式的嵌入式处理器核心,改变了单芯片系统 的设计规则。采用Xtensa的技术时,系统设计工程师可以挑选所需的单元架构, 再加上自创的新指令与硬件执行单元,就可以设计出比其它传统方式强大数倍的
6、处理器核心。Xte nsa生产器可以针对每一个处理器的特殊组合,自动有效地产 生出一套包括操作系统,完善周全的软件工具。可以自由装组的Xte nsa处理器, 其设计方式弹性大,功效高,是所有高合成的单芯片系统的最佳选择。它采用硬 件可重构加软件编程的方式,既提升了处理器的运算性能又通过软件便于实现控 制。 2. Xtensa处理器的结构 对于Xtensa处理器结构,接下来分硬件结构和指令集架构两部分分别介绍。 2.1. Xtensa处理器的硬件结构 纯硬件的系统便于进行计算,不便于实现控制,而软件系统则正好相反(如 图2),Xtensa处理器正好利用了两者的优势来进行处理器设计,它采用硬件可
7、重构加软件编程的方式,既提升了处理器的运算性能又通过软件便于实现控制。 Hardware Software 图2软硬件在计算和控制方面的优劣势 2 Xtensa LX7处理器结构如图3所示 Prwffisor Controls Trace Port On-Chip Debug CoreSIght iMing and Trace iPerformance Monitors lExcepfon Support Exception Handling Registers Iristructlon Fetch t Decode VLIW (FLIX) Parallel Base ISA E 耀KiWod
8、 Pipelines Execution IT Wide Pipeline Instrudioo IntmctiQn RAM Memory Management and Error Instruction ROM Protectioo Instruction Cache Data-Address Watch R.egister Insilructian-Address Watd) Rgg話特厚 Time 压 IlntefTit Control GIF 32 GPIO 32 D 巧 ign 即Defined Queues, Poms, and Lookups Externsl Interface
9、 Wswc Fte Siam Optional Functional Unit, Processor I rrt efface Control Prefetch Wtite Buffer iDMA Designer-Defined FuiKliDnal Units System Bus _ Dita Cache Deiignef-Delined DataLod/ Data Laad/5tare Unit Store Un it I Data Memoty Management and! Error Praitectfon Data RAMs * XLMI Hlh-Speed Interface
10、) R1L FIFO, Memory Standard Block Configurable SlMk |_ Optional BlockConfigurable Option | Designer-Defined Bl(Kk _| Extemal Block 图3 Xtensa LX7处理器结构图 由上图可以看到,Xtensa LX7处理器的硬件结构包含基本模块、可重构模 块、可选择模块、用户定义模块、功能模块、以及拓展模块。Xtensa LX7处理 器以基本模块为核心,SOC开发者可以根据需要的功能在功能模块通过编码或 者图形界面选择相应的模块进行组合或者对可重构模块进行对应重构来优化运
11、算的性能,并能够使用户在较短的时间内设计出面向特定应用的处理器。 基本模块包含Instruction Fetch/Decode模块,用来进行指令的抓取和译码; Base ALU模块,是一个基本的32位的ALU ;控制模块和一些寄存器模块,用 来实现控制和寄存。 可重构模块包含 Instruction/Data Memory Management and Error Protection模 块,用来实现对指令和数据存储器尺寸、奇偶校验和ECC的重构;Data Load/Store 模块,用来重构Load/Store通路的位宽以及单双向;Base Register File模块,可 重构Regis
12、ter的尺寸;Processor In terface Con tro 模块,可以实现对接口不再对系 统总线进行依赖,可以实现对in terface port和queue的重构;Write Buffer模块, 可以实现对1-32个buffer的选择;iDMA模块,通过重构实现接口直接读取处 理器的本地数据;还有Instruction/Data的一些存储(Cache RAMs和ROMs)、 一些寄存器(Data-Address Watch Rrgisters Instruction-Address Watch Registe) 以及timer和中断控制同样是可充配置的 用户自定义模块包含 Des
13、ig ner-Defi ned Fu nctio nal Un its,用来实现基础功能 之外的用户自定义的一些功能; 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个管理特殊功能
14、的寄存器,32或64个普通功能32 位寄存器。这些32位寄存器都设有加速运作功能的窗口。下面分别介绍一些 Xtensa处理器ISA的特性。 2.2.1. 基础性质 Xte nsa处理器有大量的可重构的选项,可以让用户获取实现所需功能和性能 的逻辑;高效能的16/24位指令集和用户自定义的可变长度指令集(长度为 4-16bytes的任意值)使内存长度和性能达到最佳状态;选用 5-7级ISA流水来 对不同的内存进行加速;拓展的DSP也可实现最高31级流水;可选择的队列 (FIFO)、端口( GPIO)和查找接口有着几乎无限的I/O带宽来进行数据的传输, 不受系统带宽的影响;可以选择通过硬件的预取来
15、降低内存的延迟; 自动生成细 粒度的门控时钟可以实现功耗的降低;可以通过 FLIX来实现指令的并行。 2.2.2. 兼容性 兼容性是Xtensa处理器ISA的根本,因为只有具有很强的兼容性才能很好 的应用到第三方的应用软件和开发工具上去。所有的可重构、可拓展的Xte nsa 处理器都对主要的操作系统、调试工具以及输入校验设备兼容。同时所有版本的 处理器都向上兼容,同时用户自定义的指令可以重复使用。 2.2.3. 拓展性 Xte nsa处理器可以很方便的将指令无缝的添加到处理器的数据通路中。任何 相关的C数据类型、软件工具链和需要的进行综合的EDA脚本都是自动生成。 数据通路、相关的指令以及C数
16、据类型都是用TIE( Ten silica In structio n Exte nsion) 语言来写的。 2.24可重构性 Xte nsa处理器提供预验证的模块,当用户的设计需要时随时可以将其添加到 设计中去,可以又快又好的实现所需设计。 所有可重构的选项如图4所示。由图 可知可重构的部分包含:在不同的应用下选用不同的DSP (HiFi DSPs for Audio/Voice/Speech, Vision P5 and P6 DSPs for Imaging and Vision,ConnX BBE16EP, BBE32EP and BBE64EP DSPs Fusion F1 DSP,
17、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个输入可选择输入 buffer;多重自定义长 度的接口是数据通过FIFO进出
18、;FLIX的长度可选,最高128bits;数据和指定 的Cache采用4路组相连,最大为128K,运用write-back和write-through的cache 写入协议;可选择的对本地内存的奇偶校验和ECC。 动态功耗和漏电流功耗较小;通过中断控制来进行片上调试;可选择的16 位处理器ID,支持大规模并行阵列结构;支持第三方的 JTAG debug probe进行 片上调试的硬件。 3.通过Xtensa处理器为SOC设计增加灵活性和拓展 性 Cade nee为Soc设计者提供可以通过软件编程使其设计更加灵活性和长寿命 的解决方案,以及对于特定的应用提供定制处理器。现在用户可以通过TIE (
19、Ten silica In structio n Exte nsion)语言设计一款功能、指令设定可拓展原始处理 器设计者从未想过的特性。 TIE语言可以描述指令、寄存器、拓展单元和I/O,然后这些会自动生成并 添加到处理器中。TIE语言与verilog类似,用来描述希望的指令、操作数、编 码和执行语义。TIE文件是Xtensa处理器发生器的输入文件,处理器发生器自动 的建立重构的处理器和完整的软件工具链,该软件工具链包含所有的可重构的功 能和新的TIE指令。 TIE语言可以让用户将产品性能提升和创造其独特性。 Xtensa处理器的拓展 性可以将优化的特性添加或者应用到任何需要优化处理器成本、
20、 功耗、应用性能 的平台上。 31灵活性 就像你可以从一系列预先确定的功能选项中选择特定的功能来提升处理器 的性能,现在可以创造可以提升标准或者自定义算法指令以及更大的带宽的数据 接口。通过使用提供的工具,应用的热点可以被定义,同时添加用来更高性能处 理这些热点的指令,从而不再需要提升时钟频率或者重写大量的软件。 3.2.独一性 对于通用处理器固化的功能,不同算法运算可能性能会有差异。通用处理器 在进行通用计算时有优势,但是不擅长计算任何一个特定的算法。Xte nsa处理器 为用户提供了通过能够加速特定算法的硬件来区别的高性能的执行各种算法(其 思想如图5所示)。这意味着只要用户定义的处理器达
21、到了在相同软件上执行的 性能,该设计就不可能被复制。 Add logic that optimizes and ditterentiaies your solution Designer Defined and software tools are fully campatible Ftegtefef Files + Processor State + Single-Issue FurKttanal Units Uing ALU Designer-Defined Functional Units Using Multi-Issue VLIW (FLIX) 图5 Xtensa LX7处理器提供的
22、添加用户定义的功能和接口的思想 33通过FLIX进行并行操作 由图5可知,用户自定义功能的实现是通过 FLIX oFLIX结构使得Xtensa LX7 处理器称为一个VLIW处理器,如果需要可以实现2-30的并行。FLIX指令的长 度为4bytes到16bytes之间的任意值。这种可变长度的 FLIX指令可以与Xtensa 处理器标准的16/32 bits指令无缝混合,所以不会有模式转换上的损失。图 6展 示了用户使用FLIX创造VLIW进行2-30级的并行操作 通过FLIX (可变长度指令字)Xtensa处理器可以除去在使用 VLIW时指令 寄存器的冗余损失。事实上,使用FLIX的Xtensa可以同时提供高性能和晓得代 码长度。使用FLIX的损失是很小的,只是增加了 2000个门用来进行指令的控 制和译码,但是带来的好处是很大的。 Xtensa的C/C+编译器自动的从源代码中提取出并行操作并将多种操作加 到FLIX中,所以即使不通过额外的软件资源同样可以获得并行计算好处。通过 这种方法,一个three-issue的Xtensa LX7处理器在一个较低的频率下运行也可 以达到对应其他设备在相当高时钟频率下的性能。 Designer-Defined FLIX Instruction Formats with DesignerDefined Number of
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025下半年广东省江门开平市事业单位招聘职员128人历年高频重点提升(共500题)附带答案详解
- 2025下半年四川省广元市事业单位考试招聘13人高频重点提升(共500题)附带答案详解
- 2025上海大学行政管理岗位及部分教育辅助岗位公开招聘19人高频重点提升(共500题)附带答案详解
- 2025上半年贵州遵义市事业单位招聘1985人历年高频重点提升(共500题)附带答案详解
- 2025上半年四川自贡贡井区事业单位聘用工作人员120人历年高频重点提升(共500题)附带答案详解
- 2025上半年四川泸州古蔺县事业单位招聘工作人员189人历年高频重点提升(共500题)附带答案详解
- 高科技企业总经理招聘合同样本
- 2024年大宗货物运输与智能仓储解决方案合同范本3篇
- 万能工团队招聘合同
- 羽毛球运动员晋升制度
- 装修材料合同范例
- 共用线路三方协议合同范例
- 战略规划的关键要点
- 个人自检自查报告范文
- 食品买卖合同范本
- 期末素养质量检测卷(试题)-2024-2025学年三年级上册数学人教版
- 质控竞聘课件
- 2024年房地产开发商与承建商之间的工程承包合同
- 2024-2025学年高二上学期期中家长会-家校同频共话成长 课件
- 语文-句子成分划分名师公开课获奖课件百校联赛一等奖课件
- 班组安全争先创优竞赛活动考核细则表
评论
0/150
提交评论