社区导航

 

搜索
查看: 20593|回复: 65
打印 上一主题 下一主题

[资料分享] 【社区大讲堂】系列之可配置处理器技术入门(10本《复杂SOC设计》等你拿!)

[复制链接]

95

TA的帖子

0

TA的资源

至上芯片

Rank: 13Rank: 13Rank: 13Rank: 13

跳转到指定楼层
楼主
发表于 2008-10-7 10:20 | 只看该作者 |倒序浏览 |阅读模式

Tensilica活动获奖人员如下:(请各位网友将您的论坛昵称标注好,并将具体通讯地址及联系电话发到我的邮箱:wangtingting@sonata9.com中,收到您的邮件后我们立刻将书寄出,谢谢!)

flyingdsp  
xiaoxif  
njlianjian   
hongniu602,
lovedata,


Tensilica倾力奉献的可配置处理器技术入门

资料已经更新完毕,希望大家继续保持高涨的提问激情!谢谢!
对于热心提问的朋友,还有10本图书《复杂SOC设计》等你拿哦!


                                                        主讲专家:李冉




                                           现任美国泰思立达(
Tensilica)公司中国区代表

特长:嵌入式

李冉简介:

    加盟美国泰思立达(Tensilica)公司之前,李冉先生就职于Intel 中国公司,负责Intel IXP网络处理器在中国市场的产品推广工作。加盟Intel 中国公司之前,李冉先生就职于美国爱梅格工业公司, Tornado/Vxworks RTOS 产品线FAE 经理, 蓝牙和红外产品线的市场产品专员。加盟美国爱梅格工业公司之前,李冉先生任职于电子部第六研究所华科通信公司,是EIM601局用程控交换机的嵌入式软件开发工程师。李冉先生对中国本地嵌入式工业和IC工业有着丰富的产品知识和近十年的高科技产品本地市场推广的经验。

可配置处理器详述

         可配置处理器,不仅比标准的嵌入式微处理器更快,而且可以做更多工作。有些可配置处理器甚至可以代替 ASIC 和系统芯片(SOC)中的手工编码 RTL。
 
      一个全功能、可配置处理器工具包由一个预定义的基础处理器核心和一个设计工具环境所组成,可以为特定的应用需求对基础处理器进行重要的改变。可配置性的典型形式有:对内存、外部总线宽度、握手协议以及常用处理器外部设备进行增加、删除和修改等。可扩展处理器是可配置处理器的一个重要的超集,它也为系统设计者提供了向处理器中增加指令的能力,而原来处理器架构的设计者可能根本没有考虑过这些指令。

      美国泰思立达公司(Tensilica),是可配置处理器核心开发的先行者之一,公司1999年开始引入这种自动化的、可配置微处理器技术,用于片上系统SOC设计。这种技术的核心是该公司的Xtensa处理器产生器,该产生器基于服务器应用程序,可以产生优化的32位处理器核用于嵌入式应用,用户可以自己进行功能扩展定义,以建立针对片上系统SOC中某些特定任务应用的微处理器核。

         Tensilica中国区总经理李冉先生则形象地将“可配置”描述为软硬件之间的界限可以根据用户需要而变化,并有助于用户实现产品差异化。除了手动配置以外,Tensilica还提供可用于自动处理器配置与扩展的XPRES编译器。

讲座组织形式:

     为期一周(10.1310.17)的文字讲座,
         
         每天就一个知识点进行详细讲解;
         
具体方式:

          a、在相应讲座帖子跟帖,发问;

          b
、专家会在讲座期间给与解答。

讲座涉及内容:

           1、微处理器技术的发展历史,以及处理器需要配置的原因

           2、TensilicaXtensa可配置处理器架构为例,探讨可配置处理器的开发原理

           3、Xtensa架构打破输入/输出瓶颈

           4、Xtensa架构提高计算性能

           5、XPRES编译器的使用

礼品图片:


简介

  本书综合介绍可扩展的处理器架构、用于指令集扩展的工具以及用于嵌入式系统的多处理器SOC架构。全书共分三部分,第一部分对众多SOC设计问题及其解决方案进行了高层次的介绍。第二部分对可扩展的处理器、传统处理器以及硬连线的逻辑电路之间的比较进行了详细的讨论。最后一部分则给出一系列详细的例子,来进一步说明新的SOC设计方法的可用性。全书使用了来自Tensilica公司的Xtensa架构和Tensilica指令扩展语言,精确描述与这个新方法相关的实践问题和机遇。

    本书主要面向从事复杂SOC设计的架构设计师、电路设计师和程序设计师,也可供高等院校相关专业师生参考。

作者简介

  Chirs Rowen博士,Tensilica公司(在高产量系统中,该公司在使用专用微处理器的自动生成方面居于领先地位)的总裁、CEO和创始人。他在斯坦福大学参与了CISC结构的最初研发工作,帮助创建了MIPS Computer Systems公司,并曾在Synopsys公司任Design Reuse Group(设计复用集团)的副总裁和总经理。他拥有斯坦福大学的电气工程学博士学位。
此帖出自单片机论坛

Xtensa和XPRES简介.rar

198.45 KB, 下载次数: 21

采用可配置处理器实现多处理器SoC设计.rar

69。92 KB, 下载次数: 23

基于Xtensa开发Video加速引擎.rar

135.81 KB, 下载次数: 21

0

7

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

沙发
发表于 2008-10-7 10:25 | 只看该作者

系列之可配置处理器技术入门第一讲

微处理器技术发展历史

  在介绍可配置处理器开发原理之前,我们先回顾一下处理器发展的历史。大约在二十世纪七十年代出现了第一代处理器,这个时期的处理器设计只是简单地追求性能,从4位处理器到早期的16位和32位微处理器。这种性能的提升奠定了二十世纪八十年代个人计算机PC和工作站的基础。个人计算机和工作站的增长使得微处理器设计进入了二十世纪八十年代的第二代微处理器研制时期。第三代精简指令集RISC设计时代发生在二十世纪九十年代。在这个时期,即使像X86这样坚定的复杂指令集CISC处理器也假装成精简指令集RISC体系结构。在最初的这三代处理器的成长和发展过程中,微处理器设计专家将处理器设计成固定的、单个的和可重用的模块。但是,在二十世纪九十年代随着专用集成电路ASIC和片上系统SOC制造技术的发展为微处理器设计进入第四代(即后RISC、可配置处理器)打下了坚实的基础。


处理器为何需要配置?

   首先,频率并不代表性能。低功耗的针对特殊应用的而设计的处理器架构比频率高得多的通用处理器性能可能更好。所以频率代表性能的结论只能局限于同样的架构的基础上。同时过高频的率意味着更高的功耗。

     其次,应用的发展对处理器的需求越来越多样化。我们可以看到单颗通用处理器的极限已经到来,通用处理器需要处理的应用越来越复杂,需要多内核的支持。最大半导体公司Intel的多核的产品策略足以证明这一点。另外,后PC时代是消费电子产品的时代,通用的CPUDSP都无法满足多种应用的要求。针对特殊应用设计的SOC要求能够灵活设计针对应用的最优化处理器:性能好、功耗低、面积小、大I/O带宽……

    综上所述,应用的需求的发展促进了可配置处理器技术的产生和发展。


这是整理的一篇可配置处理器的文章,希望可以对大家有些用途:

------------------------------soso---------------------------------------------


叫板ARM、MIPS,可配置处理器走向何方?
http://www.sonata9.com/news/Original_article/200810/article_22541.html

7

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

板凳
发表于 2008-10-7 10:27 | 只看该作者

系列之可配置处理器技术入门第二讲

基本架构和开发流程

    以TensilicaXtensa可配置处理器架构为例,探讨可配置处理器的开发原理。

Xtensa可配置处理器架构是可配置可扩展的微处理器技术,可以用于片上系统SOC设计。现在的SOC需要更高系统性能、更高输入/输出带宽和更高功耗利用率,
Xtensa
架构均实现提供相应的解决方案。系统设计师可根据各自的应用需求,首先配置和选择架构元素,比如:内部cache大小,总线位宽,FPU单元, DSP引擎,中断数量…
进而针对应用扩展添加全新的指令、寄存器和I/O端口来设计具有专用功能的处理器内核。这种方法甚至能提供与手工RTL设计的硬逻辑有可比性的性能、尺寸和功耗等特性。通过图1可以看到Xtensa处理器的架构。




Xtensa处理器产生器可通过TIE语言增加新的功能来自动产生用户所需要的硬件,产生硬件是经过验证的RTL代码格式。自动产生的处理器RTL代码可以和现在的SOC设计流程无缝结合,用于逻辑综合。处理器产生器还可建立与产生的处理器相匹配的系统软件。

可以说Tensilica可配置处理器技术的核心,是在于可伸缩可扩展的Xtensa处理器架构和功能强大的自动化生成工具—处理器生成器。
TIE语言(Tensilica Instruction Extension
TIE语言是Tensilica创建的一种简化的Verilog语言,可以描述全新的寄存器、执行单元、指令和I/O接口。被连同处理器配置选项一同输入处理器生成器后,可以产生定制的处理器及相关的工具链。
TIE例子:
operation BYTESWAP {out AR outR, in AR inpR}{}
{

assign outR =



{inpR[7:0],inpR[15:8],inpR[23:16],inpR[31:24]};

}


// C language syntax
#include
int a, b;
. . .
a = BYTESWAP(b);
. . .


可配置Xtensa处理器能够让设计人员对处理器进行量身定做以满足片上系统SOC中的特定任务。Xtensa设计流程,如图2所示。
      

Xtensa 处理器生成器同时可以针对特定配置和扩展,自动生成完整而有效的软件工具,包括编译器、指令集仿真器、调试器、操作系统接口等软件环境。在处理器配置信息完整的情况下,处理器生成器可以在一个小时左右生成一颗新处理器的RTL设计和软件环境。





[ 本帖最后由 Tensilica李冉 于 2008-10-14 10:35 编辑 ]

7

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

4
发表于 2008-10-7 10:27 | 只看该作者

系列之可配置处理器技术入门第三讲

打破I/O瓶颈
为了提高I/O带宽,可配置处理器必须克服总线瓶颈。 总线瓶颈问题是自Intel1971年引入第一个商用微处理器4004以来就存在的问题。每个处理器都和系统总线上的其余设计部件进行通信。总线上的流量由加载/存储部件控制。由于总线的固有特性,在任何时候,只允许一小部分数据在总线上和处理器进行通信。另外,加载/存储单元和处理器内部执行部件以及处理器局部存储器通过类似有限的总线进行通信。这种单一的、一次只能一个方向的处理器总线特性严重限制了微处理器的系统吞吐量。

为了克服处理器总线所固有的局限性,TensilicaXtensa处理器中增加了另一个特性来永远消除总线瓶颈问题。这种新的特性称为TIE(Tensilica指令扩展)端口和队列技术。采样TIE端口和队列技术,设计者可以定义多达1024个端口直接与 Xtensa处理器执行部件相连接,如图2所示。每个端口宽度可以达到1024位。这种技术的结果是可以使系统以350,000 Gbits/秒的速度与Xtensa处理器进行信息交换。这可以充分满足所有处理器的输入/输出带宽需求和采用RTL技术设计的系统需求。


[ 本帖最后由 Tensilica李冉 于 2008-10-15 08:50 编辑 ]

7

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

5
发表于 2008-10-7 10:28 | 只看该作者

系列之可配置处理器技术入门第四讲

提高计算性能

随着传统微处理器总线瓶颈的解决,处理器工程师们将注意力集中到提高Xtensa 处理器的性能上,以便使得计算性能的提高可以和通过设置TIE端口和队列来提高输入/输出带宽相匹配。

自从1999年开始引入第一个可配置Xtensa处理器以来,片上系统SOC设计师已经具备能力来自己定义新指令,定义的新指令基于多操作(例如加法运算跟随一个移位或者一个位选择操作)技术,多操作指令可以作为一条新的指令。将多个操作合并在一起成为一条新的机器指令,该技术称为操作数融合。操作数融合技术可以有效提高微处理器的计算性能。另外,片上系统SOC设计者可以在Xtensa处理器版本中添加SIMD(单指令、多数据)指令。 单指令流多数据流SIMD指令可以同时对多个数据元素执行相同的操作,该技术也可以显著提高微处理器的计算性能。

然而,操作数融合和单指令流多数据流SIMD指令仍然只是微处理器的特征,每次只能发射一条指令。为更有效提高系统性能,设计人员决定在Xtensa处理器核中增加每个时钟周期发射多条指令的能力。

从历史的观点来看,处理器设计人员可以通过两种方法来实现微处理器具备每个时钟周期可以发射多条指令的能力。其一为超标量设计技术,该技术通过复制处理器整个执行部件来保证指令译码和发射部件在每个时钟周期可以发射多条指令。采用这种方法,处理器硬件必须在应用程序代码中找到软件固有的指令级并行性。 该技术的缺点是超标量处理器用于完全复制处理器执行部件的硬件开销大,而且程序代码中缺少指令级并行性。尽管4路超标量处理器设计时可以在每个时钟周期发射4个操作, 但是实际上从通用程序代码中抽取的平均指令级并行性通常低于两个操作。

第二种方法是采用称为超长指令字VLIW的技术来保证处理器每个时钟周期发射多个操作。该方法采用一个非常长的指令字来对多个操作进行编码,有时每个指令字可以达到几百位,多个操作可以同时发射到VLIW处理器的多个执行部件。VLIW处理器的编译器负责找出应用程序代码中的指令级并行性,VLIW处理器编译器通常具有比较高的能力来识别程序中的并行性,因为编译器扫描指令的窗口范围比超标量处理器要大,而超标量处理器是采用指令译码和发射部件来对指令代码的并行性进行调度。VLIW技术从处理器硬件开销的角度来说是非常有效的,然而VLIW处理器会造成指令代码的剧烈膨胀(故需要更大的存储器),因为每条VLIW指令字都非常长,而且VLIW编译器经常不能找到足够的目标程序代码中的指令级并行性来保证处理器中的每个执行部件都保持忙碌状态。因此,VLIW处理器由于带有与代码相关的特性以及会耗尽片上的指令存储器,故对深度嵌入式应用的处理器而言也不是一个理想的选择。

因此,我们的处理器设计人员开发了一种变种VLIW结构,称为可变长度指令扩展FLIX技术,用于Xtensa处理器。和VLIW指令一样,FLIX指令可以将多个独立的指令操作进行编码,变成一个FLIX指令字,该指令字宽度为32位或者64位,如图3所示。和所有设计人员定义的TIE指令一样,FLIX指令均是可选择的,并且它们可以和Xtensa处理器现有的1624位指令自由地混合在一起。因此,采用FLIX指令就避免了代码膨胀问题,同时应用程序代码执行速度更快,而不是使得程序代码变得很长。



由于提高了输入/输出带宽和计算性能,因此基于Xtensa 处理器的片上系统SOC设计通常可以以比基于固定指令集体系结构ISA的处理器更低的时钟频率进行运行,这些低频的时钟频率可以保证系统有更低的SOC系统功耗。然而,Xtensa处理器还可以通过扩展的内部时钟门控技术来保证系统有更低的系统功耗,时钟门控技术是由TIE指令进行自定义扩展的。

[ 本帖最后由 Tensilica李冉 于 2008-10-16 10:16 编辑 ]

7

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

6
发表于 2008-10-7 10:29 | 只看该作者

可配置处理器技术入门之第五讲

C to TIE设计过程自动化的工具-XPRES编译器
可配置Xtensa LX处理器能够让设计人员对处理器进行量身定做以满足片上系统SOC中的特定任务。为了弥补手工定做的过程,Tensilica设计了一个称为XPRES (Xtensa PRrocessor Extension Synthesis)的自动化定做工具,该工具可以对用C或者C++写的应用程序代码进行自动分析,然后将TIE定义提交给Xtensa处理器生成器,进而产生所需要的处理器。因此,XPRES编译器作为一个前端C/C++处理器,形成Xtensa设计流程,如图1所示。



XPRES编译器的一个最大优点是可以对已有的C/C++应用程序代码进行分析,也不需要对代码修改就可以将其应用于XPRES编译器。分析完成后,XPRES编译器从操作数据流图中导出TIE指令扩展信息,数据流图是从提交的应用程序代码中产生的。图2表示出了数据流图的一个实例。从这些数据流图中可以看出,XPRES编译器能够自动用TIE语言为Xtensa LX处理器定义融合操作、SIMD指令和FLIX指令。




然而,XPRES编译器不能从C/C++应用程序代码中推断出一些关键的工程设计目标。尤其是它不能判断出系统设计的理想性能目标(“越快越好”是很少作为设计目标的,因为这样的设计目标在许多情况下将会导致功耗代价。),而且它也不能判断出门数约束,因为这些约束是不会在软件应用程序代码中出现的。因此,XPRES编译器产生一系列设计选项在性能(用时钟周期数来表示)和门数之间进行折中,同时编译器可以通过图的方式画出这些选项,让设计团队来选择他们所需要的合适选项,如图3所示。在图3所示的例子中,设计团队选择了一个由XPRES编译器产生的处理器,该处理器可以将系统性能提高10倍,但新增加的硬件门数不超过两万门。




3: 处理器设计选项的可视化描述(设计选项由XPRES编译器产生,针对用C/C++编写的专门应用)



XPRES编译器速度非常快,它通常只需运行几分钟或者几十分钟。因此,XPRES编译器是一个非常有效的设计工具,适合快速设计空间的开发。Xtensa LX处理器核与XPRES编译器结合在一起建立起一套非常有效的设计工具以提升设计团队的设计效率,极大地缩小了完成一个片上系统SOC设计所需要的RTL验证时间,同时缩短了整个SOC的设计周期。




[ 本帖最后由 Tensilica李冉 于 2008-10-17 11:31 编辑 ]

108

TA的帖子

0

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

7
发表于 2008-10-7 21:23 | 只看该作者
虽然 这方面不了解 借此机会了解了解 谢谢这么好的机会哦

6

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

8
发表于 2008-10-7 21:46 | 只看该作者
我是一个单片机的菜鸟  弱弱的问下什么是SOC  ?

2万

TA的帖子

74

TA的资源

管理员

Rank: 13Rank: 13Rank: 13Rank: 13

9
发表于 2008-10-7 21:53 | 只看该作者
我理解的就是一个性能比较高的芯片,将以前cpu和外围电路组成的系统,如今都做到一个芯片上,即一个芯片一个系统。
具体的到时请专家帮忙解答吧!

不管是哪年,都要加油!继续为中国电子行业做出小小的贡献吧! 扣扣 1206973913


2万

TA的帖子

74

TA的资源

管理员

Rank: 13Rank: 13Rank: 13Rank: 13

10
发表于 2008-10-7 21:54 | 只看该作者
原帖由 wen06990234 于 2008-10-7 21:23 发表
虽然 这方面不了解 借此机会了解了解 谢谢这么好的机会哦


嗬嗬,一块学习!

不管是哪年,都要加油!继续为中国电子行业做出小小的贡献吧! 扣扣 1206973913


371

TA的帖子

0

TA的资源

裸片初长成(初级)

Rank: 10Rank: 10Rank: 10

11
发表于 2008-10-7 23:47 | 只看该作者
学习过,借此机会深入下。支持LZ!

9

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

12
发表于 2008-10-8 13:59 | 只看该作者
我也想学习学习,哈哈
快讲哈

159

TA的帖子

0

TA的资源

五彩晶圆(初级)

Rank: 7Rank: 7Rank: 7

13
发表于 2008-10-8 14:08 | 只看该作者
了解一下
理解后不劳记住,就不能成为知识!
我的博客 http://home.sonata9.com/?77246

404

TA的帖子

0

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

14
发表于 2008-10-8 16:11 | 只看该作者
呵呵 不错 这书我看过 当时是想用TENSILICA的可配置DSP芯片而学的

9

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

15
发表于 2008-10-8 16:20 | 只看该作者
我是大四电子信息工程专业的学生,对这个技术很感兴趣,很期待开讲!

2万

TA的帖子

74

TA的资源

管理员

Rank: 13Rank: 13Rank: 13Rank: 13

16
发表于 2008-10-8 22:09 | 只看该作者
原帖由 flyingdsp 于 2008-10-8 16:11 发表
呵呵 不错 这书我看过 当时是想用TENSILICA的可配置DSP芯片而学的


Flying 可以说说自己的学习感受哦!可配置的概念还不为大多数人所熟知阿!你先扫扫盲呗,呵呵

不管是哪年,都要加油!继续为中国电子行业做出小小的贡献吧! 扣扣 1206973913


2万

TA的帖子

74

TA的资源

管理员

Rank: 13Rank: 13Rank: 13Rank: 13

17
发表于 2008-10-8 22:09 | 只看该作者
原帖由 hongniu602 于 2008-10-8 16:20 发表
我是大四电子信息工程专业的学生,对这个技术很感兴趣,很期待开讲!


希望可以帮助你!

不管是哪年,都要加油!继续为中国电子行业做出小小的贡献吧! 扣扣 1206973913


2万

TA的帖子

74

TA的资源

管理员

Rank: 13Rank: 13Rank: 13Rank: 13

18
发表于 2008-10-8 22:10 | 只看该作者
原帖由 lovedata 于 2008-10-7 23:47 发表
学习过,借此机会深入下。支持LZ!


又是个高手,争取问倒专家阿!嗬嗬

不管是哪年,都要加油!继续为中国电子行业做出小小的贡献吧! 扣扣 1206973913


2万

TA的帖子

74

TA的资源

管理员

Rank: 13Rank: 13Rank: 13Rank: 13

19
发表于 2008-10-8 22:11 | 只看该作者
原帖由 tangjekey 于 2008-10-8 13:59 发表
我也想学习学习,哈哈
快讲哈


请耐心等待哦!下个星期一开始,呵呵,可以先预留问题,越早专家回复的就会越及时哦!

不管是哪年,都要加油!继续为中国电子行业做出小小的贡献吧! 扣扣 1206973913


572

TA的帖子

0

TA的资源

裸片初长成(初级)

Rank: 10Rank: 10Rank: 10

20
发表于 2008-10-8 23:34 | 只看该作者

预习

上学的时候,总习惯于预习.这样效果会更好,为此:
从楼主公司的Tensilica站上下载了两份文件Xtensa LX,这是主要内容(其中简体中文版不可以Copy的),贴出来.供大家预习之用.
若李冉先生以为此为不妥,我会尽快删除
这个题目太好了,希望大家踊跃参与,也希望楼主能在技术层面之外,也介绍一下涉及开发成本的信息(如器件、开发工具的价格等等),以便进一步快速拓展可配置处理器技术和SOC器件的应用。


[ 本帖最后由 xiaoxif 于 2008-10-8 23:38 编辑 ]

xtensalx_sc.pdf

6。12 MB, 下载次数: 31

xtensalx_tc.pdf

1.92 MB, 下载次数: 23


您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 1/4 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( )

GMT+8, 2020-4-6 19:50 , Processed in 0.556591 second(s), 19 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表
内蒙古快三走势图 北京pk10 五分时时彩 亿信彩票开户 小米彩票登陆 澳门最有名彩票网站 内蒙古快三走势图 pk10机器人 幸运时时彩 幸运时时彩开奖结果