多核环境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%的增长速度间的差距将会逐年增大,你们最终会遇到人力方面的问题?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)