[发明专利]一种全硬件双核锁步处理器容错系统有效
申请号: | 202010356342.2 | 申请日: | 2020-04-29 |
公开(公告)号: | CN111581003B | 公开(公告)日: | 2021-12-28 |
发明(设计)人: | 黄凯;陈群;蒋小文 | 申请(专利权)人: | 浙江大学;南方电网科学研究院有限责任公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F11/16 |
代理公司: | 杭州浙科专利事务所(普通合伙) 33213 | 代理人: | 孙孟辉 |
地址: | 310013 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 硬件 双核锁步 处理器 容错 系统 | ||
1.一种全硬件双核锁步处理器容错系统,包括主处理器、从处理器和硬件容错模块,所述硬件容错模块包括:故障检测模块、故障恢复模块和故障隔离模块;所述主处理器和从处理器具有相同的输入信号,所述主处理器对外输出信号,所述从处理器不对外输出信号;所述故障隔离模块用于阻止主处理器和从处理器的错误写操作以及对外部状态进行回滚操作,所述外部状态包括外部的存储器状态、外围接口或系统IP状态、主处理器和从处理器内部的缓存的状态;
其特征在于,所述存储器挂载在主处理器和从处理器的数据总线上,通过建立写操作缓冲区完成存储器的故障隔离,所述写操作缓冲区包括写地址缓冲区、写数据缓冲区、PC缓冲区和故障PC缓冲区,每个由3个寄存器组成;所述写地址缓冲区保存的是每次写操作对应的写地址,所述写数据缓冲区保存的是每次写操作对应的写数据,所述PC缓冲区保存的是每次写操作对应的当前退休指令的PC,所述故障PC缓冲区保存的是发生故障后至主处理器和从处理器被复位这段时间内执行过的指令的PC。
2.如权利要求1所述的一种全硬件双核锁步处理器容错系统,其特征在于,所述故障检测模块通过硬连线将主处理器和从处理器的内部相关信号拉出并作对比检测,所述相关信号包括主处理器和从处理器中的内部控制状态寄存器的信号、总线接口的信号以及Cache接口的信号;其中所述内部控制状态寄存器包括:通用寄存器,程序计数器、状态寄存器、以及处理器内部紧耦合IP的相关控制状态寄存器。
3.如权利要求1所述的一种全硬件双核锁步处理器容错系统,其特征在于,所述故障恢复模块进行故障恢复包括以下两个步骤:
a.在没有发生故障时,将正确节点上的主处理器和从处理器状态信息保存至回滚缓冲区;所述正确节点为在发生故障之前,主处理器和从处理器正常运行,没有因瞬时错误发生而导致主处理器和从处理器出现状态不一致时的某个执行点;所述状态信息为主处理器和从处理器内部的控制状态寄存器值;
b.在发生故障后,主处理器和从处理器进行硬件复位,复位完成后,主处理器和从处理器重新从0地址取指,同时更改指令总线上0地址的内容,并将回滚缓冲区中保存在正确节点上的状态信息置入主处理器和从处理器,使主处理器和从处理器从上一次保存的正确节点重新执行指令。
4.如权利要求3所述的一种全硬件双核锁步处理器容错系统,其特征在于,所述状态信息置入主处理器和从处理器具体为:在主处理器和从处理器内部找到相关的控制状态寄存器,并在所述控制状态寄存器的条件赋值中增加待恢复状态信息这一数据来源,当检测到置位信号这一脉冲信号后,所述控制状态寄存器中的值将被顺利恢复;所述置位信号为主处理器和从处理器硬件复位完成的脉冲信号。
5.如权利要求1所述的一种全硬件双核锁步处理器容错系统,其特征在于,所述主处理器和从处理器对存储器的每次写操作都将被暂时存放到写操作缓冲区中;当存满三个写操作后,主处理器和从处理器再次发起写操作时,将写操作缓冲区中第一次存入的写地址非0的写操作发出,以此类推;当主处理器和从处理器需要从存储器中读取数据时,将此时的读地址与写操作缓冲区中的地址匹配,若地址匹配一致且地址非0,则将写操作缓冲区中保存的数据返回给主处理器和从处理器;当发生故障需进行状态回滚时,写操作缓冲区将对应PC与当前故障PC缓冲区中的PC值相同的写操作无效,即将写操作缓冲区中对应的写操作地址置为0;当除主处理器和从处理器以外的主机需要访问存储器时,软件上保证被主处理器和从处理器向存储器的无用地址进行三次写操作,使当前写操作缓冲区中保留的写操作更新到存储器中。
6.如权利要求1所述的一种全硬件双核锁步处理器容错系统,其特征在于,所述外围接口以及系统IP挂载在主处理器和从处理器的系统总线上,对主处理器和从处理器的写操作进行三个周期的延迟,读操作时序不变。
7.如权利要求1所述的一种全硬件双核锁步处理器容错系统,其特征在于,所述主处理器和从处理器内部的缓存为:在写通工作模式下,发生故障时,则在故障恢复期间将以下8个缓存行无效:
当缓存中没有读数据错误时,将主处理器缓存最后4个写操作地址,从处理器缓存最后4个写操作地址作为需要无效的缓存行地址;
当缓存中出现读出数据错误时,将读出数据错误的1个地址,主处理器缓存最后3个写操作地址,从处理器缓存最后4个写操作地址作为需要无效的缓存行地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学;南方电网科学研究院有限责任公司,未经浙江大学;南方电网科学研究院有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010356342.2/1.html,转载请声明来源钻瓜专利网。