锁步核(lock-step core)、软件冗余设计与可分核(Split-Lock)的比较

这是一篇翻译文,原文题目为:Evolving safety systems: Comparing Lock-Step, redundant execution and Split-Lock technologies
原文地址:https://community.arm.com/developer/ip-products/system/b/embedded-blog/posts/comparing-lock-step-redundant-execution-versus-split-lock-technologies

为了满足汽车功能安全(如ISO26262),有许多有用的措施来规避E/E系统异常崩溃造成的不必要伤害。

1. lock-step core(锁步核)

锁步核是实现高诊断覆盖度(检测错误发生的能力)的一种传统方法。实现方法是:两个核运行同样的程序,将结果输入一个比较逻辑中,周期性比较两个核的输出结果是否相同。如果相同,则继续运行;否则,则需要采取一定的措施。如果一段时间后错误还是存在,可能重启或者重新检查。**锁步核的设计是固定在芯片设计中的,所以没有可调整性。容易看出,锁步核虽然用了两个核,但其实只起到一个核的作用。**这种方法已经在微控制器和复杂度较低的微处理器领域经过多年的成功验证。

在这里插入图片描述

2. Redundant execution(冗余执行)

对于高性能处理器来说往往复杂度高、不确定性大,实现lock-step很难。软件冗余执行就是一种可选方案。
假设两个独立应用执行在两个不同的CPU和或者是两个虚拟机上,这两个应用的结果输出到一个被称为“safety island” 的核中,由这个核负责决策和执行。这个核使用单独的时钟和电源,且有很高的安全性能。这种方案提升了系统复杂度,但是软件执行更加灵活。lock-step的比较机制是固化在芯片中的,而“safety island” 是一个单独的核。
这个方案在需要高安全性和高性能的场景可能会得到广泛应用。

在这里插入图片描述

3. Split-Lock(可分核)

以上两种方案可有优劣,ARM在 Cortex-A76AE上集成了一种叫 ‘Split-Lock’的技术来集成上述两种方案的优点。‘Split-Lock’可以被配置成两种模式:‘split mode’,两个CPU可以独立执行不同的程序或任务; ‘lock mode’ ,两个CPU执行锁步模式。
这种技术可以支持如果两个CPU中的一个损坏,可以在降级模式下继续运行,即只运行好的那个CPU。这对自动驾驶系统是很重要的能力。

  • 36
    点赞
  • 213
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值