2015 年 3 月 13 日
作者:Chris A. Ciufo,Extension Media 嵌入式领域主编
2015 年 1 月,我对 ARM® 的 Chris Turner 进行了长时间的访谈。Chris 是 Cortex®-R 处理器系列 CPU 集团的产品营销总监。 “R”代表实时,包括最适合安全优先系统(如汽车的制动和转向系统)的处理器。 ARM 于十二月和一月先后公布了其针对安全优先应用的规划以及将 Cortex-R5 定位于汽车和相关系统,我们的访谈紧随这之后进行。 编辑过的节选如下。
编者注:在采访时,ARM 还未公布新的 Cortex-A72 处理器,因此 Chris 建议我也应算入下一代的 ADAS 和 IVI 设备。 此外,在刚刚过去的两周里,ARM 合作方发布了两则面向汽车行业的重大公告:来自 Freescale 的 Xilinx Zynq UltraSoC+ 和 S32V 图像处理器。
要点
Chris (C2) Ciufo:ARM 在 2015 年 1 月的新闻稿中谈到功能安全性在包括汽车在内的许多市场中“日益重要”。 此类市场中正在大力推广 Cortex-R5 的使用。 你能否跟我们谈一谈这些市场呢?
Chris Turner:当然。 虽然这项工作的主要推力一直是汽车行业,但我们的嵌入式微控制器已在工业和自动化系统中使用了许多年。 [最近发布产品]的真正推力来自汽车行业,他们中的现代汽车对电子设备和软件的依赖性正迅速提高。 汽车中的各种电子控制单元分布着约 100 个处理器并呈上升趋势,如果将这些软件的代码加总到一起,可能要超过 1 亿行。
整个行业也在如此向前发展。 还有称作高级驾驶员辅助系统 (ADAS) 的主动安全系统,我们正迅速走向行业称之为协作安全性的时代,即车辆向彼此和向公路发送无线信号,以避免发生碰撞和缓解交通拥堵。 此外,还有整个互连汽车概念,在其中,你会看到手机将与汽车仪表盘的车载信息娱乐 (IVI) 系统进行更加紧密的集成,因此,像地图之类的应用将从手机屏幕转移到车载显示屏上。
世界各地的汽车从业人员都做得很好。 无论对于[汽车制造商] OEM 还是面向汽车 OEM 的全球最大主要子系统供应商(第 1’ 层)来说,汽车都是一个很好的行业。 他们正在共同迎接这一挑战。 但它并不单单涉及安全系统。 举例来说,下一套排放和发动机控制/动力系统标准需要电子设备,混动车辆也是如此。 缺少精密的电子控制,就无法满足这些标准的要求。 如果我们看一下车辆的排放数据,特别是在欧洲很普遍的柴油发动机,就知道这里也离不开电子设备。 因此,提升燃油效率和减少排放也非常依赖于电子设备。
C2:ARM 如何融入汽车市场?
Turner:关键在于看清汽车电子设备的发展方向,ARM 对这个市场非常感兴趣,并且我认为,我们会成为汽车行业的中坚力量。 要做到这一点,我们并不只依靠 Cortex-M(微控制器)、Cortex-R(实时)和 Cortex-A(应用程序处理器)等处理器,我们还有系统 IP、物理 IP 和多种多样的其他 ARM 产品。 汽车行业对 IP 的需求非常广泛。 你会在传感器中看到最小的微控制器,带有集成功率器件的稍大微控制器用于电机控制,例如座椅调节器或车窗升降器[电动车窗]等。 所有类型的安全系统和保护系统中也都需要处理器,而混动车型等车辆的动力传动系统电机控制中则需要实时核心。
我们的 Cortex-A 应用核心非常适合用于 IVI 系统和 ADAS 计算机视觉系统。 ARM 已以各种形式存在于车辆中的所有这些插座之中。 而且不要忘了,手机和通信基础设施中也有我们的身影,我们的一些合作伙伴正在研究新的车辆间专用短程通信 (DSRC) 系统。 ARM 能够满足所有汽车应用的需求。
C2:这些安全优先市场是否需要 ARM 做出业务上的变更?
Turner:ARM 的业务模型非常适合汽车行业。 我们发现,随着汽车电子设备市场 加速驶入快车道,会出现许多的协同机会。 汽车在某些方面很像智能手机。 汽车消费者,特别是年轻人,希望车辆好看、舒适并拥有其期望的一切功能,但电子设备将成为未来实现差异化的因素。 我可以想象消费者大叫:“哇,快看这个,我只要把这个插到这里,它就能在那里用了。”直到一年前,关键的问题还只是蓝牙能否与消费者自己的手机协作。
但继续向前发展的话,对消费者来说,电子设备的功能和板载安全功能就会出现差异了。 与此同时,政府也开始强制要求汽车集成其中某些功能,如自动紧急制动或自动刹车的朝前系统。 互连车辆、车辆间联网等功能日后将能够挽救生命。
ARM 为巨大的市场和 ARM 将与之关联的技术带来了诸多好处,ARM 的商业模式非常适合汽车行业。 这是因为多元化的合作伙伴提供了多样化的半导体产品,但它们可能都包含 ARM IP,所有这些产品都可享受到 ARM 生态系统的优势。
C2:能具体谈谈 ARM 核心在其中某些应用中的使用情况吗?
Turner:从硬件角度看,我们的 Cortex-A53 和 Cortex A57 ARMv8-A big.LITTLE™ 组合在 ADAS 计算机视觉系统和 IVI 系统中都得到了应用。 我怀疑现在出货的当前这一代产品可能搭配的是 Cortex-A7 和 Cortex-A15。 基于 ARMv8 的核心正在开发之中,可能于今年进入汽车市场。 因此我们的产品在此类应用中得到了非常广泛的应用。
C2:能谈谈你们最近的新闻发布会的主题“Cortex-R 处理器”吗?
Turner:借助 Cortex-R 处理器,特别是 Cortex-R5,我们将可在电机控制和底盘控制应用(如制动和转向)方面大展身手。 此外,Cortex-R 处理器还广泛应用于各类仪表之中(需要一定程度的安全认证),并在速度表和里程表中使用;这些仪器受到严格的管制。
Cortex-R5 是汽车应用的理想之选。 一般说来,Cortex-R 配置文件是我们在安全相关的硬件设计方面投资最多的部分。 我们努力研发用于检测和控制电子设备中故障的功能,如存储器中位翻转之类的软错误导致的随机故障。 它们可能在任何时间点随机出现,原因可能包括辐射颗粒或设备老化导致的晶体管或存储器单元故障。 这些错误可能存在于存储器中,甚至可能存在于处理器本身之中。 因此,在 Cortex-R,特别是 Cortex-R5 的配置文件中,我们在设计时加入了一整套功能,用以检测并控制此类错误(借助错误校正代码 (ECC) 和“锁步”配置)。
Cortex-R 配置文件(特别是 Cortex-R5)中的 ECC 旨在解决软硬错误。 通常,在面向服务器之类的处理器中,加入 ECC 是为了实现软错误校正,但在 Cortex-R 中的还可校正硬错误。 我所说的硬错误是指位发生翻转,但你无法对其执行写入操作或将其翻转回来。 它被卡住了;死掉了。 事实上,我们可以在处理器中针对这些硬错误“打补丁”,使其只使用特殊的缓存,且我们还有避免出现故障的内存位置继续发展的机制。
这类事情可能表明系统存在导致更严重故障的风险,必须通过事件总线予以上报。 然后,芯片设计人员可以将它们扫到其看门狗或其在芯片中内置的任何安全机制中。
另一点需要注意的是,其中某些功能已经内置于我们的处理器很长时间了。 例如,我们在 2006 年首次发布的 Cortex-R4 中就包含此类功能。 它们被发扬光大并增强之后,被集成到了 2010 年发布的 Cortex-R5 中。
C2:请讲解一下什么是双核锁步机制以及为什么 ARM 要提供该机制。
Turner:它本质上是两个 CPU 之间的一种投票机制。 就是合成了一整颗 CPU 的冗余副本。 该处理器不只是组合逻辑的集合,它里面也包含大量的正反器。所有寄存器和“管道”中约包含 50000 个正反器,它们中的每一个都能翻转,而那时系统将出问题。
在非安全优先的系统中,可能只有内存保护系统,但在必须具有高安全完整性级别的制动或转向系统中,设计者可能还会使用双核锁步合成机制。 基本上是有两个 CPU 在运行,并且它们需要保持同步。 如果它们之间在每个周期的基础上出现任何差异,则表明出现了错误。
C2:ARM 打算通过 Cortex-R 系列将安全优先系统推向何种标准?
Turner:当汽车行业汇集在一起并决定需要采用统一的语言来解决功能性安全并推荐供应链上下游都将遵从的最佳实践时,一组人聚集在一起对行业标准 IEC 61508 进行了审视。 之后,他们制订了汽车行业的特殊标准编号 ISO 26262,并于 2011 年 11 月发布[编者注:见图]。
该标准规定了供应链中的每个组件应如何着手指定其组件功能以检测、管理和控制故障的最佳实践。 此外,该规范还涉及如何描述这些故障,既包含故障分析衡量标准,又包含一份书面说明,描述其工作原理及供应链上游的后续人员预期的应用方式(这些在他们的设计中称作“假定用途”)。 这些原则适用于供应链上下游,并在 ARM 的 CPU 设计中得到了很好的遵循。
ARM 遵从的部分功能性安全标准。
C2:ARM 的哪些功能与 ISO 26262 有关?
Turner:我刚才已经提到了这些功能中的一部分,比如锁步。 但是,我们还未谈到我们提供的其他检测系统,它在 Cortex-R 处理器及其内存保护单元中用于检测系统故障。 它位于寻址路径中,可编程,以确保软件的不同部分(即软件的上下文)仅对允许其访问的内存外设区域进行寻址。 因此,这是另一种故障控制和检测机制,但其监管的是软件的行为,因而更多地应用于软件方面。 [编者注:图中显示了 Turner 先生 提到的一些功能。]
中央区块中显示了 ARM Cortex-R5 内置的一些功能。 但是,其他的安全功能还在开发之中,或包含在 ARM 的“安全包”中。
C2:内存保护单元是否能配合安全优先的操作系统(如 SYSGO、Wind River 或 QNX 推出的使用系统管理程序的操作系统)工作?
Turner:所以说,被视为适合安全相关应用的操作系统必然会十分重视对内存保护单元的编程。 它所做的是为了确保运行于操作系统之上的用户应用程序不会覆盖操作系统本身。
C2:系统管理程序系统还允许一个 CPU 执行许多工作,非常适合用于减少系统模块。 汽车行业和 ARM 会采用这一技术吗?
Turner:可以说这马上就会实现。 如果你去了解下一代 IVI 系统中正在发生的改变,就会发现此类技术正在得到应用。 我们还设计了一个新的实时架构,具体内容你可以参考我们的公告。 你可能对我们的 ARMv8-A 架构很熟悉,它适合于引入 64 位处理的应用。 此外,我们还推出了新的适用于实时处理的架构 ARMv8-R,它仍为 32 位架构,这对现时的汽车应用已经足够了。 它引入了系统管理程序权限级别,允许在实时安全优先的应用中进行虚拟化。
这对我们来说算不上新闻,但我们公布该架构是为了让行业知道我们正在致力于这项工作,我们希望我们的生态系统合作伙伴,特别是生产面向汽车行业的实时操作系统的合作伙伴,适当了解我们这方为合伙关系所做的事情。 我们正在开发实现该架构的 CPU,今天不会发布有关该架构的任何产品。
C2::SoC 上的外设也是安全优先的吗?
Turner:它们仍使用 AMBA® 总线;更高性能的汽车会使用称作“AXI”的新型 AMBA 加速总线。它本质上是一种更快的多级总线,能够一次执行多个待处理事务。 我们在 Cortex-R5 中所做的事情之一是设置在处理器各个端口(AXI 进出 CPU 的位置)上的总线保护机制。 它在数据离开处理器时附加一项 ECC 检查,然后在数据返回处理器时进行检查和纠正。 这是 Cortex-R5 中的另一个故障检测和纠正特性。
C2:关于 Cortex-R5,你们在新闻稿中提到了“安全包”一词。 那是什么?
Turner:就 Cortex-R5 来说,ARM 所做的一件重要事情就是:我们重新回到了该处理器的开发阶段,并重写了其规格。 不只是在顶级层面,而且一直深入到 VERILOG 源文件中各个块级别。 然后,我们再重新执行每个块、单元级别、顶级的验证。 结果,我们现在能够确认该处理器是在符合 ISO 26262 中建议的流程下开发完成的。 之后,我们还为该处理器编写了必要的“安全手册”,在其中说明了我们的半导体合作伙伴究竟该如何着手使用这些故障检测和控制功能,以及我们期望他们如何应用这些功能。
该文档并不简短;约有 150 页长,文字的技术性很强。 它为这款遵从 ISO 26262 建议的处理器内置的故障控制机制提供了分析记录,以便我们的半导体合作伙伴将它们融入该芯片的开发工作之中。 因此,当他们将芯片交付给第一层客户(通常为 Bosch、Denso、TRW 等)时,可进而提供完整设备的安全手册,并在必要时引用 ARM 的信息。
值得一提的是,Cortex-R5 本身并未更改。 我们只是应用了必要的流程。 ARM 设计工作中的那些流程以及记录该信息的各种评估现已设立,因此,我们可以将其应用到其他处理器。 这是一项艰难的工作,因为 [26262] 标准发布于 2011 年 11 月,我们现在就发布了相关的产品。
我们做的第一件事是用了 2012 年大部分的时间与已活跃于该领域的半导体合作伙伴合作。 该新闻稿中提到了他们中的一部分。 例如,Texas Instruments 已交付基于 Cortex-R4 的产品,他们编写了安全文档,但与 ARM 的关系更多是临时性的。 他们跟我们说:“这是怎么工作的?”我们在回信中写明细节,“它的原理是这样的”。然后他们说:“你们验证过吗?”我们说:“是的,我们是这样验证的。”这是老套的行事方式,实际上非常可靠,但没有阅读 26262 标准后所具备的完备性。该标准在一个文档中汇聚了所有的最佳实践。
C2:有没有哪里提供有关 Cortex-R5 安全包的更多信息?
Turner:没有。 因为当我们销售 Cortex-R5 处理器 IP 并被我们的半导体合作伙伴采用时,它能够以许多不同的方式加以应用。 合作伙伴可能会将不同的东西连接到不同的总线上,可能合成或不合成浮点单元,可能在内存保护单元中拥有不同的区域数,可能实施或不实施 ECC 方案。 ECC 方案可能有不同的“块”大小(即 ECC 位保护的位宽)。 他们可以做很多很多的事情。 我们对所有这些选项进行了说明。 但我认为,将该信息发布到公共领域可能会有误导性,因为它并不一定会反映任何特定设备中的情况。 因此,当半导体制造商公布其设备的安全手册时,他们只会提供 ARM 给予他们的适合其特定实现环境的信息。
我的一位同事 Lauri Ora 先生 刚刚发布了一份关于 ARM 和安全优先应用的白皮书。 他是我们公司的安全经理,是这些领域的专家,他的白皮书位于此处。
C2:截至 2015 年 2 月发稿时,ARM 公布了 mbed™ IoT 入门套件。 能谈谈 ARM 是如何将安全应用到 mbed 操作系统中的吗?
Turner:关于这两者联用的场合,你能想到上百万种。 今天,当然是通过传统的实时操作系统来实现。
C2:ARM 新的 Cortex-M7 微控制器核心的安全性如何?
Turner:我很高兴你提到它。 我们正打算公布这款处理器,因为 Cortex-R5 是当今 TI、Spansion 及其他公司在安全优先应用(如汽车)中采用的处理器。 未来,我们将为在此类应用将使用的、硬件中具有此类特性的许多处理器生产类似的安全包。 因此,我们实际上会为某些已经推出的 Cortex-M 甚至是在汽车 ADAS 系统中用于计算机视觉计算的 Cortex-A 处理器推出此类安全包。
将来,这几乎将成为一项常规业务。 日后,我们面向此类应用推出的任意一款处理器(包括 Cortex-M7 处理器)都会提供此类信息和数据。
C2:Chris,感谢您抽时间接受采访,您让我感到很亲切。
Turner:你对 ARM 如此感兴趣、如此见多识广,而且对我们所做的事如此热心,能够跟你交谈很开心。 我们都对未来充满期盼。
本文由 ARM 赞助。