目录
一、Lock-step core(锁步核)
1、锁步核概念:
是实现高诊断覆盖度(检测错误发生的能力)的一种传统方法,属于一种硬件冗余的安全设计。
2、实现原理:
两个完全相同的CPU,从同一个总线上获取相同的指令和数据并在相同的时钟周期下执行,每个时钟周期都会进行结果对比,对比的内容包括数据、地址和控制指令等。若结果相同,则程序继续执行;若结果不相同,则采取一定的安全措施例如故障记录,或者芯片重启等。
3、设计优缺点
优点:
①诊断周期短,每个周期都会进行诊断;
②一旦出现问题就会在源头解决问题,减少对后续系统的影响;
③通过硬件进行检测,原理简单,无需在程序中设置软件监控,降低复杂度;
④ 基本不占用CPU、RAM资源及Flash资源;
⑤高覆盖率
缺点:
①资源浪费,虽然使用了两个核,实际上两个核只起到了一个核的作用;
②锁步核的设计是固定在芯片设计中的,没有可调整性;
③只能用在性能要求不高,安全性要求高的核上,因为性能要求高的处理器过于复杂,输出的不确定性很高,很难实现所有输出的对比;
Delay-Lock core(延迟锁步核):为了防止两个核在容易时刻因为电流或电磁干扰出现了同样的错误,之后对比结果一致则认为没有问题的错误。可以将两个核执行的顺序稍微错位,执行的内容依旧一致,就能避免以上问题。
二、 Redundant execution(冗余执行)
1、实现原理:
假设有两个独立的应用程序分别在两个不同的CPU中执行,当执行结果可用时,它们与高安全完整性内核进行比较,以确保正确性。由于这个内核使用独立的时钟和电源,也被称为“safety island”,这个核将负责最后的“决策和启动”阶段。
2、设计优缺点
优点:提高系统性能及灵活性;
缺点:增加了系统的复杂性和交叉检查的难度。
三、分锁核(Split-Lock core)
1、实现原理
系统在启动时,可配置成两种模式
①“split mode”
:两个CPU可以独立执行不同的程序或任务,即可各干各的活;
②“lock mode”
:双MCU执行锁步,即两个MCU干一样的活。
2、设计优点
优点:
① 支持在降级模式下,系统的继续运行,不会完全关闭系统;
②结合了Lock-Step
和Redundant execution
两种方法的优势,提高了灵活性、性能、简单性等,使得高安全完整性和高计算性能相结合;
四、参考
1、锁步核(lock-step core)、软件冗余设计与可分核(Split-Lock)的比较;
2、锁步,冗余执行,以及分核锁;