位置 :  主页 > 六合彩结果 >

118心水论坛:并行开发硬件和软件的力量 虚拟样机如何降低高风险

118心水论坛  2000年,一家统治技术市场的公司股票暴跌75%,受到“老龄化PC业务像信天翁一样悬而未决”的拖累。相比之下,全球智能手机业务预计将从美国增长2010年为698亿美元,到2014年为1,500.3亿美元
 
由于智能手机,平板电脑和其他系统的激增,所谓的嵌入式系统,其所谓的栖息在其他系统中,已经被隐藏在全球数十亿消费者的手中。嵌入式系统的基本特征 - 严格的尺寸和功率限制,系统资源的精确分配以及实时或接近实时的执行 - 是当今主导消费者体验的袖珍多功能设备的最佳平台匹配,但是。
 
“但”是一个很大的问题。硬件,软件和硬件/软件集成的复杂性源于这些小型设备中如此众多功能的融合,这促使硬件和软件创新几乎以惊人的速度发展,同时将硬件和软件融合在市场中的开发方法 - 设备已经落后了。随着软件开发等待可用硬件的顺序开发仍然是当前的行业标准。但顺序开发往往无法在版本周期和季节性市场窗口内提供优质产品,这些窗口统治着当今的消费者空间。 2010年EE Times对嵌入式设备开发的市场研究报告称,56%的项目完成得很晚。在动荡的市场中,这种延迟并非微不足道。
 
随着时间,成本和质量成为整个设备供应链的关键问题,半导体公司和OEM都在转向虚拟原型设计,以缩短开发周期,并花时间更好地集成并更全面地测试新产品。虚拟原型代表了正在开发的系统的全功能软件模型,并执行未修改的生产代码,已成为早期和更快的软件开发的主流工具,允许团队在硬件可用性之前远程开发,集成,测试和分析软件。

融合,复杂和竞争
 
相机,视频,电话,音乐,电子邮件,3D游戏,社交网络,GPS,互联网浏览,语音和手势识别,云门户,数据通信中心,内容创建以及消费 - 作为当今的消费者,我们希望我们的智能手机能够做到过去是十几种独立产品的作品。随着商业,娱乐和社交应用之间的界限模糊,我们要求他们安全地托管我们的个人和专业数据。因为我们在这些设备上进行购买和银行业务,所以我们期望它们具有坚不可摧的安全开放式架构。我们希望他们能够立即响应我们的触摸并在应用程序之间移动而不会出现故障或延迟。我们需要丰富的功能,超长的电池寿命和不断提高的多标准通信速度。设备在性能和电源管理之间的协调程度已经成为其在市场中表现如何的决定因素。
 
这是一个多变,快节奏的市场。下表显示了全球移动和智能手机的1Q12市场数据,说明了业务量以及其中运营商的命运能够上升和下降的速度。看一下最后一栏,报告市场份额的同比变化,可以看作是一个版本制造或破坏公司的力量的证据。
 
嵌入式设备始终依赖于自定义硬件。广泛的使用案例 - 机器人臂控制器,机顶盒,军用,网络路由器,住宅网关,用于各种汽车功能的微控制器等等 - 产生了同样广泛的硬件平台和架构。即使是最简单的单功能设备开发项目,这种标准化的缺失也增加了时间和风险。
 
融合推动创新
 
摩尔定律观察到,集成电路上的晶体管数量大约每两年翻一番,估计的速度可能超过了当今芯片或SoC系统的出现。硅工艺技术的不断进步推动了半导体行业的快速创新,首先关注实现多处理的多核架构,然后迫使从专用集成电路(ASIC)转向SoC设计。
 
SoC,包括至少一个或通常更多的应用处理器(CPU),一个或多个数字信号处理器(DSP),用于高分辨率图形的数据处理引擎(DPE),用于高速蜂窝通信的接口,蓝牙,WLAN和其他外围设备相比独立的ASIC,设计,制造测试和集成的时间要多几个数量级,而且成本高。它不仅将大量软件加载到一个芯片上,而且还需要大量的研发投资,只有在其上构建的设备大量出货并赢得可观的市场份额时才能恢复。
 
谁负责该软件?
 
创建复杂SoC的时间和费用与行业商业模式相结合,为半导体供应商提供了帮助客户更快地进入市场的紧迫利益。 OEM需要一个“完整”的产品,以便他们可以开始创新;半导体公司希望获得快速投资回报;因此,今天,半导体公司发现自己处于软件业务中,对从各种级别调解,管理和区分设备的软件承担越来越大的责任,从电源和内存管理到系统安全,再到必备应用程序。
 
为特定设备类型提供最佳软件参考堆栈的半导体公司 - 例如机顶盒或机器到机器应用 - 在这些市场垂直市场中获得牵引力。原始设备制造商希望新的SoC能够通过流行的操作系统进行预先验证,并配备板级支持包(BSP),以便在整个生态系统中快速启动软件开发。因此,半导体公司正在承担传统上由嵌入式软件供应商执行的软件开发任务。最近由半导体供应商收购嵌入式软件公司 - 例如Cavium Networks的Monta Vista软件,英特尔的Wind River Systems公司 - 强调了有价值的软件不仅仅是为了区分终端产品,而是为了让芯片公司与原始设备制造商保持竞争优势。
 
竞争对手硅片公司愿意围绕开源计划做出共同的事业,例如Yocto项目,该项目寻求跨多种架构标准化嵌入式Linux的工具和SDK生成,Linaro是一个整合和优化开源Linux软件的非盈利组织。 ARM架构的工具证明了为当今复杂的设备开发高质量软件的难度和紧迫性,以及跨设备平台的应用程序可移植性需求。


软件复杂性
 
在移动设备中,第一个软件开发任务是创建引导ROM代码以弥合硬件和软件之间的差距。 Boot ROM代码是您按下手机上的“on”按钮时首先执行的代码。它启动关键安全功能并准备SoC以使操作系统启动并运行。这包括初始化所有子系统和外围设备,如USB端口,例如,设置内存控制器等。 Boot ROM是在其他软件可以集成之前必须工作的软件,之后可以加载巨大的后硅验证套件来测试SoC的各个方面,然后才能启动操作系统,之后开发团队可以开始攀登软件堆栈。
 
这里的延迟可能会危及软件开发计划甚至在它开始之前;并且,鉴于所涉及的系统的复杂性,确实会发生延迟。让测试套件运行的几个月的恐怖故事就像它们的成本一样普遍。一开始硬件和软件之间的顺序依赖性可以缩短最后集成,测试和验证的可用时间。不仅时间表而且产品质量受到威胁。

正如倒金字塔所暗示的那样,随着开发的进展,软件内容在规模和复杂性方面都呈指数级增长。嵌入式软件开发的每个传统阶段 - 从“低级”工程,如硬件支持和验证,到设备驱动程序开发,操作系统,以及支持大量应用程序的中间件,都增加了数百万行代码。在当今的设备中执行代码加载的庞大规模和复杂的工作软件都会带来错误的机会,并要求在组件和系统级别进行严格的测试和验证。这项工作既费时又费力。
 
在芯片和操作系统开发任务之间曾经明确分离的地方,硅公司现在拥​​有更广泛的软件堆栈,以便将时间节省下来传递给客户。在某种程度上,这种转变反映了Linux等开源操作系统的日益普及,这种操作系统本身并未针对嵌入式开发和Android平台进行本地优化。更重要的是硬件复杂性推动变革的方式 - 以及软件堆栈的责任。今天的电路板支持包不仅必须支持高度复杂的品牌特定SoC,它们也是大约50%电源管理代码的站点。驱动程序开发和集成与BSP紧密结合。随着这些元素的重要性飙升,软件开发半成品的数量和复杂性也将大幅增加。有人会争辩说,硅供应商承担的软件任务是当今设备开发中最具挑战性的。
 
如果我们的图表将挑战戏剧化,那么它也暗示了一个解决方案。即使软件内容增加,硬件和软件之间的依赖性也会随着开发进程的增加而降低。一个足以让软件开发在物理板开始之前启动的硬件模拟成为一个神奇的子弹。由于他们在堆栈中的责任,半导体供应商正在采用虚拟原型作为实现其市场目标的一种方式。
 
多核挑战
 
多核编程,调试和测试要求许多工程学院尚未教授的新学科,尽管多处理现在是复杂系统中负载平衡功率和内存资源的可接受方式,并且CPU和数据处理引擎(DPE)的数量是根据VDC 2011年的嵌入式市场调查,31.6%的嵌入式工程师没有使用/编程多核和/或多处理器设计的经验6,但市场上的每一款新移动设备都采用多个处理器来满足这一需求。它的工作量。硅供应商正积极购买具有多核编程技能的工程师,但很难找到对硬件和软件功能有深刻理解的人才。最开明的公司在整个设计和开发过程中促进硬件和软件团队之间的沟通,这有助于优化多个核心的成功编排。不幸的是,这仍然是例外,而不是规则。
 
功率和性能:并发问题
 
拥有大量铃声和口哨以及没有电池持久功率的移动设备注定要让消费者失望。要开发解决电源管理和最佳性能的并发和相互依赖问题的解决方案,需要复杂的多核编程技能和对硬件功能的深入了解。软件程序员不会解决设备能够做什么,而是如何使用它。向硬件平台添加相对较新的电源管理单元(PMU)旨在解决问题,但PMU必须正确地线程化到操作系统,驱动程序和应用程序中才能完成其工作,这是一项复杂的软件开发任务。是什么让这个问题如此具有挑战性,即使性能影响功率和反向,它们也不是同一个问题。这个精致复杂的华尔兹舞需要两个同样成功的舞者。

安全:越来越多的关注
 
安全性的许多方面以及开放式软件体系结构的固有漏洞也增加了移动设备设计的复杂性。许多有希望的方法有助于安全而不是绝对的。通过SoC激活身份验证并使用此功能在操作系统中创建安全区域就是这样一种策略。虚拟机管理程序是位于BSP之上并管理多个客户机操作系统执行的虚拟硬件平台,也用于实现安全性。使用虚拟机(VM)在单个设备上分离个人和业务数据有助于保护敏感的业务信息。虽然这些和其他举措有助于缓解消费者的焦虑,但大多数安全功能的现实目标是将黑客攻击的成本降低到足以阻止活动.7与我们其他人一样,犯罪分子希望获得积极的投资回报率。
 
团队的形状:向软件倾斜
 
开发团队构成的变化也反映了软件感知价值的上升。嵌入式行业的资深人士记得有一天,软件之间的关系很糟糕,在开发的最后阶段受到了打击。今天,根据行业分析师VDC的说法,平均设备工程团队有33名成员,其中40%是软件工程师.8软件现在占新产品开发成本的近一半 - 在2011年VDC调查受访者中占47%。最有说服力,开发,调试和测试嵌入式软件所需的12-18个月现在等于实现复杂的新硬件设计所需的时间。
 
值得注意的是,在采用传统嵌入式开发方法的团队中,在同一个团队中工作并不意味着协同工作。
 
一旦定义了体系结构,就会创建硬件和软件规范,硬件和软件团队独立工作,直到软件和芯片在开发周期的后期相遇。在今天的大多数公司中,硬件/软件鸿沟很少被划分。一个王国的公民不会流利地说另一个王国的语言,他们也不会以同样的方式看世界。硬件思维必然是面向细节的,而软件开发人员往往是更抽象的思想家。大多数情况下,即使他们希望解决的问题确实是多学科的,这些必要的思维也是孤立地按顺序工作的。