汽车功能安全之锁步核(LockStep Core)原理
深芯 2026-01-14
什么是锁步核?(LockStep Core)

首先什么是Lockstep,直译过来就是“步调一致”,Lockstep由本来是由军事语境引入,用来表示齐步行军,队伍中的所有人都执行一致的动作步伐,而后引入计算机领域,应该是用于计算机容错系统,即“使用相同的、冗余的硬件组件在同一时间内处理相同的指令,从而保持多个CPU或内存精确的同步”。

LockStep Core我们现在叫锁步核,分为Master Core 和 Checker Core,它们使用相同的输入数据,执行相同的操作,并且使用硬件比较器逐周期比较Master CPU 和Checker CPU 的输出。工作原理图如下:

  1. Master core和Checker core的输入是相同的

  2. 在Checker core输入的位置插入n个cycle的延时,通常n设置为2

  3. Master Core的输出为a[i], Checker Core的输出为b[i],两个核的算法一致

  4. a[i]进行一次“非”操作,也就是对其进行一次反转,然后插入n个cycle的延时,得到x[i]

  5. 最后x[i]和y[i]进行一次同或操作,得到cmp[i]。

  6. 如果cmp[i]等于1,说明lockstep出现错误,如果cmp[i]等于0,说明lockstep检查正常。

相同点:

  1. 两个核输入相同

  2. 处理算法逻辑相同(硬件)

不同点:

  1. Checker Core在输入端做了延时,Master Core在输出端做了延时,但是延时时间是相等的

  2. Master Core做了反转,Checker Core没有做反转,这样做是为了防止共模干扰。

所以在正常情况下,x[i]和y[i]必然是严格相反的,这样按位同或的输出值必然是0,这就证明了此时两个CPU都是正常工作的。故障通常需要连接到SMU的Alarm的寄存器上,当LockStep故障发生时,通过SMU触发系统reset。

而且LockStep是纯硬件电路的冗余与保护,所以不会影响软件运行。

在什么时候会使用锁步核?

一般在功能安全等级为ASIL C 和 ASIL D的情况下,会使能锁步核。


声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。 微信联系小助理
0
评论
  • 相关技术文库
  • 硬件
  • 原理图
  • 信号完整性
  • EMI
下载排行榜
更多
评测报告
更多
广告