面对下一波消费电子热浪,软件开发环境该何去何从?
扫描二维码
随时随地手机看文章
你是否觉得“软件开发环境”这个词汇听着就如podcast(即“播客”,是iPod和Broadcast合成新造的时髦词汇,这里指代新奇的词汇)一样新奇?软件开发环境这个词曾经用在手机上,而现在正成为多功能集成的“牺牲品”。你是否对消费电子下一波的功能集成心存疑虑呢?
低廉,高速,高功效,高可靠性的芯片一直以来推动着消费电子的增长,然而目前的设计方法在研发更为高性能的芯片时失效,人们担心电子产业会止步于发展下一代平台的门槛前,于是迫切需要创新的思维来指导多个层次的设计和验证-包括硬件、软件、架构以及验证。
消费电子市场上第一代平台的典型产品有飞利浦(Phillip)的nExperia,德州仪器(Texas Instrument)的OMAP,意法半导体(STMicroelectronics)的Nomadik。nExperia平台构架下的芯片硅片上集成了3个处理器以及约20个专用硬件模块。一个平台的研发需要大约200亿到1000亿美元的巨额投资,除上市时间外,市场上产品的生存周期也需要优化以获得满意的投资回报。这反过来促进了在处理器上更为灵活地使用软件的趋势。
然而,功耗成为重要的制约的因素。桌面处理器停留在4GHz,嵌入式处理器同样由于功耗和时钟频率的限制而止步在1GHz。如果使用10个功耗只有原来单个处理器1/100的处理器来做代替,我们可以得到相同的处理性能却只拥有原先1/10的功耗。但现实是,产业界仍然缺少在多个处理器上高效分配和执行软件的方法。
这样的状况可能意味着电子产业短期发展会受阻,同时也为积极把握它的人们提供了长远的机遇。随着产业向前推进,开发和设计多处理器系统级芯片(MPSoC)将需要软件、硬件乃至设计流程无缝接合的开发环境所提供的统一的系统设计自动化手段。
这样的改变也将对电子产业进行重构。就如nExperia变成了软件公司,公司内软件研发人员的数量超过了硬件设计人员。随着每个MPSoC中平均使用的处理器的数量的增长,以及编程者发现现有的工具无法胜任新的多处理器或多核芯片,这种趋势变得愈发显著。
谁将抓住这个发展机遇呢?这需要认识MPSoC对软件开发环境的提出的基本要求。软件开发者不能等待芯片来调试软件,因为芯片本身也融入了软件。硬件开发者意识到MPSoC结构的定义和划分已经成为了软件问题的一部分。
花费了大量的精力却没能满足目标应用市场的需求实在是不幸的结果。多处理器和多核因此更需要灵活性。处理器的数量以及相应的配置需要依据应用软件要求而定。首先,为了评估不同的配置选项,设计团队需要使用超越现有工具能力的工具进行软硬件协同的快速仿真。目前,基于单芯片的指令集仿真器的软件能以数百万指令每秒(MIPS)的速度进行仿真。当目标为10个、20个甚至50个处理器并试图跑一个重要的应用部分(如30秒的多媒体音视频)时,目前方法所能提供的仿真能力并不能有效地同比提升以满足需求。
其次,现在的嵌入式调试方案都是基于单处理器,没有考虑应用程序分配到10、20甚至50个处理器时的并行调试的要求。
最后,现在的公司都在开发面向单处理器的应用。缺少现实的实践使得应用编程中并行设计的描述,以及如何在MPSoC平台上映射和分配软件仍然存在很大的未知性。
谁来面对这个挑战? 硬件一方还是软件一方? 谁来进行投资? 谁愿意承担风险?
硬件设计师习惯于花钱进行快速的仿真和调试,而软件设计者在开源的时代里用着几乎免费的工具如GCC和GDB。软件研发人员希望得到芯片的同时得到软件开发环境,这种期望使得这样的趋势愈加明显。垂直集成半导体厂商如德州仪器和飞利浦深知这点,因此最近雇佣了比硬件研发更多的软件研发人员来为他们的芯片提供支持。
需求以及未来趋势的关键点就在于新的系统设计自动化模式唯有软硬件设计者的合作才可行。硬件厂商支持着这一切,在提供芯片的同时向用户——软件开发者提供支持他们芯片平台的软件开发环境。否则软件开发者将会依据自己的应用需求而转向使用别的编程更加便捷的MPSoC。
为这样的系统设计提供新的方法学就成为另一个巨大的挑战,尤其需要打破EDA与嵌入式软件间的陈规旧律。当一个设计团队能够为一系列不同的处理器设计功能,顺畅地调试并同时验证软硬件,这样的设计模式将带来极大的好处。新的设计方式所提供更为低廉、高效、高功耗以及高稳定度的芯片,也将加速消费电子的增长。
当且仅当系统设计自动化成为现实,消费电子下一波的集成才能成为可能。当我们仅仅用一个设备如手中的PDA,在与孩子通话的同时正确地计算出方位,我们会回想现在并欣然微笑。
那么,我们可以决定何去何从了吧?
来源:零八我的爱0次