您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术如何在SoC器件中平衡嵌入式软件的关键作用? 正文
如何在SoC器件中平衡嵌入式软件的关键作用?

如何在SoC器件中平衡嵌入式软件的关键作用?

点击数:7408 次   录入时间:03-04 11:56:25   整理:http://www.55dianzi.com   嵌入式系统-技术

     多核环境vs并行化

    主持人—Gartner的John Barber:对于那些利用了并行化架构的设计,多核环境构成了一大挑战。如果我们能克服这一挑战,TenSILICa的多核推想就可能成真?

    Tensilica—Steve Roddy:我认为关键在于我们整个行业尝试并应用通用型计算的架构,还是去应用更适合于嵌入式计算的技术。我曾经对两种情况进行了比较:分别将一个嵌入了Pentium内核的器件和一个嵌入式设计提交流片前进行了对比。嵌入式设计利用了如下的优势,即功能度可以划分为独立的小系统,并在独立的模块中实现,从而能实现优化的功能度。过往,这些都是硬件上的模块,你在通用型的主控上有软件API(应用程序接口),让编程者访问这些硬件上存在的资源。如果你尝试过一个20~30万门阵列模块,这是一种很正常的设计风格。正是因为这些模块可能恰好是处理器,用处理器进行设计将具有更高的效率,而且用处理器进行设计将更宽容一些。你如果以处理器作为设计的基础引擎的话,则在交付流片后还可以对其进行重新编程。你有更多的处理器,也不必改变使用的模式,并不意味着你现在要面对另外的15个处理器,而你必须了解另外15种可编程设计。如果你给编程者所提供的是定义良好的API,以便访问内核-内核的资源。一般的编程者都可以轻松地应对这样的编程任务,只有SoC设计者需要知道某个模块是处理器,了解并行化软件的内核是如何运作的。

    Wipro—Siby Abraham:我与你们的看法有一点不同。如今,谈到嵌入式软件工程,为了利用好多核架构,你必须拥有编译器、编程语言。随着你进入更高性能水平,这些工具显得更为重要。在功能被清晰划分的地方,我同意你们的看法。但是,我们越来越多地看到,应用中所采用的处理器数量增长很快,而性能如何提高也将成问题。

    Tensilica—Steve:随着时间的推移,软件的工作变得愈来愈重要。那些目前业界的标准化组织正在着手进行标准的制定,多核组织已经建立了一个工作组,着手制定关于API的标准,使之能根据多核的特点来分配workload。随着时间的推移,人们必须推出基础架构,使开发者不必去面对多核带来的复杂性,不必让一个半导体公司的客户、软件工程师,打开说明书去查清其芯片架构的每一个细节,我们不能强迫每个工程师去了解清楚芯片上的每一个细节。

    MIPS科技—Jack Browne:我认为,如果你考察器件的复杂性,130nm的SoC上市前成本是1300~1500万美元;90nm时,成本是3000万美元。人们推出了ASSP,他们不是针对某个具体问题进行定制的ASIC。在今天的65nm和45nm节点上,人们的设计方法是大量地复用。所以80%的设计是复用的。我们需要API来推进这些开发工作,我们可以划分各种东西,划分音频CODEC(编/解码器),此后,我可以将其放到任何一个设计中。但是,除了API,还应该有一个平台化的架构,以便保证你的上市时间。

    为了实现这一点,我们需要厂商能提供电子系统级的模型,这样软件人员不用去读说明书。只要有一张CD,上面有可执行的芯片模型,它的运行速度足够快。所以,你能够实现你的应用。于是,当芯片被取回来时,你就有相应的软件了。你可以解决芯片上存在的缺陷。而你可以实现相应的并行化,让芯片上的各个部分能工作。

    代码编写人力不足?

    问:嵌入式软件的代码的行数每年以46%的速度增长。而编写代码所动用的人力,则以7.5%的年均增长率成长。你看,这里的障碍在于人力的缺乏?

    MIPS—Jack:人们解决这个问题的方式同样是复用。每一件产品不能从一张白纸起步—公司采取这种策略的话,就会倒闭。你必须推出相互间有继承性的产品线。一个好的例子就是802.11。它最早是以小带宽的b开始的,而g则成为主流,而去年圣诞节,802.11n也降低到了100美元的价位,达到了消费类的空间。软件也是这样运作的。复杂性在于,你必须让数据包能四处移动,而且让吞吐率提高2个数量级。如果你第一个软件行不通的话,你在开发第二款产品时就必须重新编写,而这样的公司是没法生存的。我们这个行业对于那些策略上犯错误的公司是很残酷的。

    Mentor—Bill Chown:我继续扩展这个话题,80%的程序是复用的。但是并不是每个软件都有那么高的复用率。随着软件的不断开发,越来越多的软件形成了软件包、软件栈,从而能被方便地复用。因此,并不需要人力也增长46%来解决这个问题。我发现复用的一个问题是,我的手机包含了手机厂商从1990年以来编写的所有软件—这里面实在有些是垃圾。

    问:软件46%的增长速度与人力7.5%的增长速度间的差距将会逐年增大,你们最终会遇到人力方面的问题?

    Mentor—Bill:我们会发现类似的情况曾经发生过:在硬件空间中,如今的自动化技术已经无法进一步产生动力了。因此,我们就必须引入新的人力,以便在硬件上能进一步提升其层次。看看软件领域,头号的软件工具是什么?是VI。VI中不是全套的自动化工具,它的自动化是在不断提升的,当然不一定与你提到的人力的增长速度同步。它的发展速度当然与软件代码的行数的增加是一致的。在软件空间中,自动化是一个非常开放的领域,作为我们这样的自动化厂商来说,软件业已经习惯了VI的价格,试图说服他们,自动化的价格与VI的价格不太一样,将是一项有趣的挑战。

    Tensilica—Steve:正如Bill提到的那样,也许现在复用是过多了,这会影响到用户的体验。

    协议栈已成熟?

    问:当Jack提及802.11时,实际上谈论的是两种不同的软件。他所说的是协议栈,与Paul实际谈到的软件是不一样的。这个说法对吗?协议栈现在是一个比较成熟的技术了。

    MIPS—Jack:随着程序的行数,例如电视的操作系统软件从100万行程序进步到300~800万行,我再添加50万行,就可以形成相应的环境中间件,则我一旦编写完一套软件包,就可以在其他任何地方使用。你应该看到的挑战是——上市的时间。设计工程师们要完成足够好的设计。我进行的设计满足了客户的需求,而Steve所做的设计超出了用户的需求,其设计开销也是我的2倍,而且所花的时间更长,则在市场上我将会取胜。我经常遇到同行谈技术上挑战的困惑:我的设计更好,但为什么我的竞争对手能卖出去,而我却不能?答案是:当设计足够好的时候,客户就愿意为任何别的东西付钱。这就是为什么以前人们为了努力将程序缩小20%而付钱的时代早已一去不复返的原因,因为内存已经很便宜了。我在买新手机时,只要花20美元就可以买到一张1GB的内存卡。



www.55dianzi.com

    低功耗标准化

    问:软件对于SoC的低功耗来说已经成为一个关键性的因素。现在低功耗的标准化吸引了人们的密切关注,几家组织已经希望我们能在不久的将来制定出大家都同意的标准。

    MIPS—Jack:影响功耗的问题有两个:一是漏电,为了保证晶体管的速度,现在的栅叠层只有3个分子厚。芯片上一半的功耗都可归结为漏电。现在有许多制造方面的信息,用于解决漏电问题。另一方面,是多核和单核之间的差别。一个双倍频运行的处理器内核,其功耗将低于多个以一半的频率运行的内核的总功耗。如果你能把任务分解为若干部分,我可以在多个内核上分配这些任务,我可以关闭其中的若干个内核 。我的手机可以通过802.11网络来实现,我不需要开启GSM无线部分。这些系统的定义都可以由客户通过OEM(委托制造)来完成。你可以看到许多其他的重点,可以是标准化,等等。我们之所以从事这些工作,其原因就是设法赚钱。客户可不愿意付钱,但他们的确需要解决方案。随着时间飞轮的转动,我想,我们今天却没有达到我们所需要的吸引力。

    TenSILICa—Steve:我认为要降低功耗,现在层的划分太过于分明。在EDA界对共用的流程的讨论,通过信息的交换,一个针对具体架构的设计实现,可以快速优化,以便实现功耗的降低,但是在架构层次上实现,这里是实现大幅度节能的地方,无论它是像Jack所说的那样,可以把任务分配给多个更小的处理器,并针对特定的功能对处理器进行任何优化,还是我们对数据流的架构进行设计,提供ESL层次的建模。如果你灌入总线的数据太多,而且影响到了速度,这也许就要在不同的模块间实现直接连接。通过硬件和软件方面的建模而实现更高层次上的建模,则可以实现极大的节约,并了解你的架构选择的影响,以及它是否合适。

    互操作和可移植的标准化

    问:如何看待开放标准架构的发展潮流,因为这实现了系统间的互操作性,尤其在嵌入式系统间的互操作性和可移植性方面?

    Tensilica—Steve:这的确是开放式架构的事,这又回到了并行化的问题。互操作性真正起作用的地方,趋向于我们首先要解决的部分,互操作性在实践中突出的地方,是我们的具体应用间的通信机制,而不是这些应用间的互作用机制,完全在系统层次上。是否要实现某种程度上的互操作,不妨去看看流程流向哪里。

    MIPS—Jack:另一个推动互操作性发展的动力是如下的事实:软件的品质要达到可以投产的程度。一旦我拥有802.11解决方案,所有的协议都已经解决。我经过验证,证明其不会丢失包,或者失去对某些包的存储。这就是我们的下一件产品努力的方向。我要在我的膝上机上装上无线LAN,我希望我的手机装上无线LAN,我希望我的照相机也装上无线LAN。但是一天结束时,我不用为多出来的价值而付费。所以我希望软件能够工作,我并不太在乎它有点过大。因为我面临的挑战,是保证推向市场的产品能像我所宣称的那样工作。

[1] [2]  下一页


本文关键字:如何  平衡  嵌入式软件  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术