EDN China > 技术文章 > 微处理器与DSP > CPU/GPU > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

小心确定下一代处理器的采用时点

2011年12月30日 ?? 收藏0

当我还是一名年轻的嵌入系统开发人员时,我最先学到的说法之一是“躲避1.0版本”。那时,一款新处理器面世后,几乎没人期望能有一个立即可用的编译器。用一种新处理器或开发工具就意味着自己的开发团队要经历越来越多的痛苦,才能确定哪些能正常工作,要怎样做才能使系统获得需要的东西。

供应商们会用现有产品的升级版来告知用户,已被验证的产品系列增加了新的特性与能力;这种做法有助于减少推出全新产品及未验证产品所面临的挑战。供应商通常会采用累加主要版本代号的方式,作为自己产品线重大发布的标志,如2.0,或者在产品线中推出一个新的系列名称。新产品系列的重大发布可能跨越并使用多个已有的产品线。例如,德州仪器公司最近推出的Hercules安全微控制器系列就跨越了TMS570和RM4x产品线。TI新的微控制器是基于已验证的处理器系列,但以一种适应垂直市场(本例中是安全应用)的方式,封装了新的或不同的外设与特性。

今天最新的处理器都要比其前代复杂得多。它们可能带有新的外设、专用的加速器,以及更多的处理核心,这些处理核心可能不与主处理器核心共享同一种架构。新特性可能意味着开发社区对系统的某些部分缺乏或没有直接的经验,不知道如何最好地使用新器件的特性。为了尽可能减小开发人员使用新处理器的学习曲线,将这些系统的复杂性封装起来,供应商必须在推出处理器的同时,提供相应的开发工具、驱动、电路板,以及支持IP(知识产权)。

不幸的是,“凭内情下赌注”这一说法中包含的智慧也适用于市场上已有产品系列的重大更新,因为客户尚未坚定地在真实世界充分应用其所包含的新特性与功能。一个采用新产品或重大升级的开发团队可能会遭遇到修改项目时间表与工程资源的痛苦、成本和风险。于是,有些开发团队就采用了一种策略,即在自己的设计中避免使用最新一两个版本的部件。

这类策略的意图并不是要避免使用最新版本所支持的功能,而是要避免被迫重做设计某个部分的风险,因为在系统做最终工程化修改及调整,以获得量产前的最优性能与产量时,使用与管理这一新功能的方式发生了变化。这类策略依赖于供应商通过版本命名法及产品可用日期告知系统已有足够的稳定性,更多的工程修改也不太可能造成开发团队的重复劳动。尽管这种策略容易使用,但它却可能使开发团队在最佳时点(一款新处理器或开发工具早期生命周期的这一时点,为一个设计提供了率先上市的最大机会,而开发工作的风险最低)数月后才采用一款新处理器或工具,从而丢失了率先上市的可能优势(图1)。

图1,最佳采用点为首次上市的设计提供了一个最好的机会,并且有最小的附加开发风险。
图1,最佳采用点为首次上市的设计提供了一个最好的机会,并且有最小的附加开发风险。

采用的最佳时点

新处理器的第一个用户就是早期采用者,它拥有最大的先入市窗口机会,但在处理器达到正常或量产数月以后,他们可能要花费比开发人员更多的工程资源。随着处理器首次面世后进入正常的生命周期,新处理器用户所面临的风险数量与严重程度都会逐步减小(见附文“风险的来源”)。

在硅片与开发工具都具备了足够的成熟度,并且已有一些人用新处理器做过工作后,普通采用者就会接受新处理器。普通采用者希望有一组稳定的开发工具、IP块或软件,并期望有可用的新处理器支持人员,这样就可以集中自己的工程资源尽快完成设计,而无需在超出自己专业的领域上做过多的工程劳动。换句话说,新功能的使用要简单直接,有良好的定义,如使用现成的驱动、库或API(应用编程接口)。

以前有两个动手项目曾描述了在早期采用者的预期与现实之间可能存在的一些障碍(参考文献1与2)。两个项目都涉及一个近期推出的系统,在同一只器件中包含了一个ARM核心与一个DSP核心。其中一些挑战是:了解怎样让学习中的工程支持人员去配置和使用系统与软件;使用那些“新鲜出炉”的驱动以满足项目的截止时间,以及仅有一个主机-工作站的配置选择,因为其它替代配置还需要几个月时间才能使用。

这些项目都有一个重要经验,那就是早期采用者必须知道,拥有抢在竞争对手前进入市场的能力就要承担如下风险:所采用的组件可能还处于制造或测试周期内;或者为了赶时间需要独自建立这些组件,而这些组件的晚期采用者却可以毫无困难地获得;或者这两种情况同时出现。获得的报偿是,早期采用者也许能够抢先竞争对手几个月时间,发布自己的全新并有重要差异化功能的产品。

但早期采用者并不是要承担所有开发风险(参考文献3)。处理器供应商通常会与早期采用者结成一个战略联盟,后者能够较早获得硅片、软件、工具、工程团队,以及专门的FAE(现场应用工程师)。早期采用者的明显例子包括将支持新处理器的工具供应商,以及将成为新处理器第一个重要用户的战略合作伙伴公司。战略合作伙伴公司在制定和测试处理器规格中通常是关键角色,能使它们最好地满足目标应用的要求。

寻找拐点

所有人都成为一家处理器供应商的早期采用伙伴是不现实的。那么,较小的设计工作室是否必须在处理器达到正常可用后才去使用?还是说,他们可以在早期采纳的风险曲线上找到“拐点”,从而给自己建立一个竞争优势?供应商可提供很多工程与营销资源,如FAE、数据表,以及应用说明,以协助公共工程社区决定何时采用某款处理器。但重要的是知道每种资源有各自不同的时间表与可靠性,这取决于公司捕捉与传播工程变动的过程(图2)。

在有人先发现一个错误,以及公布正式补丁这两个事件之间通常有不小的时间间隔;而一个正式补丁的认证与实施、文档的更新、补丁的发布、更新文档的出版,以及相关开发人员感知到新处理器的变化,这之间持续的时间更长。

图2,工程变动要通过一系列小组,变动发生有一个时间,送至对开发人员开放的各种信息通道又有一个时间,两者之间会产生一个延迟。
图2,工程变动要通过一系列小组,变动发生有一个时间,送至对开发人员开放的各种信息通道又有一个时间,两者之间会产生一个延迟。

直接与FAE一起工作,通常能获得有关新处理器的最可靠、准确和及时的信息,因为FAE可以直接从工程小组获得正式的信息,而要等待工程变动审核部门的结果,则会有数天乃至数周的延误。FAE提供了专业的判断,知道何时该分享一个供应商正在考虑,但尚未正式采纳的工程变动。

从社区性支持论坛也能找到有关新处理器使用的最新信息。论坛通常能联系起各个开发人员,以及处理器供应商的工程师。某些情况下,处理器的原开发人员也会加入到论坛中。活动的论坛可以为开发人员提供一个咨询的场所,同时还能阅读或参加一些讨论,例如如何应对处理器运行时遇到的一些意外问题等。论坛也提供了寻找已通过认证的正式补丁信息的方法;但是,由于它们是静态和稳定的资源,因此它不是寻找非正式补丁信息的好地方。开发社区论坛的实例有Atmel公司的AVR Freaks以及德州仪器公司的e2e论坛。提供一个社区论坛需要积极的管理,以确保论坛中的资料都有意义且准确。如果缺乏积极的管理,则会遇到“信噪比”问题,即论坛会充斥垃圾帖子以及错误甚至有意无意的误导性帖子。

知识库可以作为技术支持团队的补充,它是一个相关文档的宝藏,可为开发社区提供信息。知识库可以包括:调试信息、应用说明、论文、白皮书、数据表、勘误表、错误清单、程序实例、用户手册、硬件支持文档、可下载软件、已归档的软件,以及对常见问题的回答等。运转一个知识库并不需要与论坛相同水平的积极管理,因为它的活跃程度要低些。

有时候,人们会使用IRC(互联网中继聊天)通道,参与活跃的开发社区会话,如BeagleBoard。这些通道提供了一种更快方式,可以咨询问题以及参与来回的对话;但是,这些通道的用户应与FAE和供应商一起检查所看到任何信息的可靠性,因为这些对话缺乏完全的控制。

很多公司都提供电子邮件服务,当某个处理器系列或开发工具的文档有更新时通知开发人员。这种服务为开发人员提供了可靠的信息,但依赖于电子邮件的通知可能意味着获得最新信息的时间要晚于其它的渠道。电子邮件通知适用于那些想知道发生什么变动,但并不打算立即做出选择的开发人员。

尽早采用某款处理器可能给你带来更多的风险,让你手忙脚乱。同样,如采用处理器的时间超过了最佳时点,则意味着可能错失上市的先机。要获得新处理器的最佳采用时点,需要勤奋与积极努力的工作。很多资源都可以帮助完成这种工作,共同让您判断出该处理器在风险-采用曲线上的位置。

参考文献

1.Cravotta, Robert, “Forge ahead?”?EDN, March 6, 2003, pg 51.

2.Cravotta, Robert, “Embedded-processing platforms: a second look,”?EDN, Nov 9, 2006, pg 54.

3.Cravotta, Robert, “Welcome to the jungle: early adoption in embedded development,”?EDN, Oct 30, 2003, pg 38.

附文:

风险的来源

随着现代处理器在一个封装内提供更多功能与片上资源,一名开发人员要学习和了解整个系统各部分的工作原理,也变得越来越困难和耗时。提高开发人员生产率的一个有效方法是采用操作系统、BIOS、驱动、软件库、开发套件,以及有丰富功能的软件开发工具包。不过,这些生产力工具的建立与测试都要花时间,一般是从实际处理器可用以后的数月时间。

早期采用者可能要在没有这些生产力工具的情况下,使用该处理器。这个问题的一个解决方法是使用仿真器,或用一个与新处理器相类似的现有处理器;相应的风险是,新处理器采用完全不同的方式去实现某些功能,早期采用者将需要重新做系统的某个部分,以适合这些差异。

开发工具供应商显然是早期采用新处理器的候选人,因为他们要为一般采用者提供所依赖的工具。开发工具供应商要为每种处理器提供多个工具版本,因为其客户群不会自动使用最新版工具。转向最新版本也许能使用到早期版本不支持的新功能。无论何种情况,业务场景都决定了转向最新版的风险。虽然早期采用者问题可能有细节上的差异,但无论是FPGA、板级或软件工具的供应商,问题都基本类似。

Pentek公司副总裁Rodger Hosking分享了自己公司在支持新FPGA方面的经历。FPGA开发工具最多一年时间就可能要因硬件变动而修改, 因为制造商仍然在完善硅片。在此期间,硬件供应商仍然在不断修改系统IP(知识产权),以改进系统中各部分的性能。考虑采购某款新FPGA的开发人员经常会问,供应商是否已在某个速度下做了测试,以及什么工具能够支持这种性能水平。这些问题的答案很关键,因为有时候,新硅片并不会立即支持预期顶级时钟速率下的所有功能。对这两个问题的详细回答有助于可能的采用者了解新产品的成熟性和稳定性,明确如果马上在项目中采用该FPGA,需要做什么工程化工作。

德州仪器公司BeagleBoard专家Jason Kridner从为BeagleBoard社区提供板级资源支持的角度做了评论。影响一个新电路板稳定性的重要因素包括互连与处理器间的通信。目标处理器的ISA(指令集架构)或专用处理引擎出现一个会影响系统时序的变化后,系统要花数周时间才能变得稳定。支持软件(包括提供的核心、驱动与操作系统)封装了这些变动。软件中这些变动的例子可以使一个驱动支持某个特定DMA(直接内存访问)模式,或激活一个矢量处理器。另外一种可能发生并造成再次劳动与延迟的变动是用类似器件替换电路板上的某只器件,如存储器芯片;替换可能造成系统内的一系列变化时,要花数周时间做测试与部署。

LynuxWorks公司营销副总裁Robert Day指明了软件工具供应商要面临的各种不同风险。为一些处理器提供早期支持是比较容易的事情,如英特尔的处理器,因为其嵌入版采用了PC或服务器架构,它们会领先于嵌入器件几个月时间。与之相比,ARM处理器IP核心的首次面世时间,以及实际硅片首次出现时间,两者之间会出现长得多的延迟。嵌入处理器的开发工具根本上要关注嵌入系统的约束。

但是,为嵌入处理器提供的软件开发工具要包含对最终设备所包含特性的验证。这个问题的重要性在于,每个许可证的ARM处理器实例都可能揭示出预期特性与缺失特性之间的相异之处。ARM核心的一个例子是,一个Cortex-A8移植并未实现ARM的TrustZone技术,这是一个全系统的安全方案。英特尔的一个例子是Atom核心缺少虚拟化支持。处理器核心的一个实例有时会缺少所有可能设定的特性。


?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈