一种异构SoC芯片多核处理器软错误检测系统和方法技术方案

技术编号:35774873 阅读:21 留言:0更新日期:2022-12-01 14:18
本发明专利技术公开了一种异构SoC芯片多核处理器软错误检测系统和方法,所述系统包括APU应用单元和RPU错误检测单元,其中,APU应用单元包括核心应用模块和数据采样模块,核心应用模块将三份核心应用分别部署在不同内核中;数据采样模块用于在预设时间采集核心应用模块中不同内核中核心应用的现场信息;RPU错误检测单元包括数据接收模块和软错误检测模块,数据接收模块用于接收采样数据并依据不同内核的采样数据到达时间进行初步的超时判断,当存在某个内核超时,则判定故障内核,若均未超时,则软错误检测模块用于对采样信息进行软错误检测。本发明专利技术定时器与用户代码相互独立,不再需要对用户代码进行分析,提高了工程设计人员的效率。率。率。

【技术实现步骤摘要】
一种异构SoC芯片多核处理器软错误检测系统和方法


[0001]本专利技术属于软错误检测
,具体涉及一种异构SoC芯片多核处理器软错误检测系统和方法。

技术介绍

[0002]受地磁场捕获,近地空间环境存在着大量能产生辐射效应的空间辐射粒子。目前已知空间辐射粒子主要由质子、电子、α粒子、重离子、γ射线等组成,并在近地空间形成了地球辐射带。当能量足够高的空间辐射粒子撞击集成电路PN结时,PN结会发生逻辑状态翻转或电路失效,这种系统故障的现象被称为单粒子效应。2010年,美国赛灵思厂商推出了“FPGA+处理器”的SoC芯片,并为第一产品命名为Zynq

7000。Zynq

7000将ARM Cortex

A9 MPCore处理器系统与可编程逻辑FPGA紧密集成在同一芯片上,使得Zynq系列器件具有灵活性、可配置性和高性能等诸多特点。因此,Zynq器件一经推出,便吸引了包括美国宇航局NASA在内的众多航天单位兴趣。此后,赛灵思厂商进一步推出了“FPGA+ARM Cortex

A53四核处理器+ARM Cortex

R5双核处理器”的MPSoC芯片,处理性能得到大幅提升。
[0003]目前主要存在两类针对Zynq多核处理器的软错误检测方法。第一类方法中,双核处理器作为Zynq

7000器件的重点应用对象,以双核比对的方式运行,检查电路在FPGA内单独设置。第二类方法是将Zynq MPSoC器件为防护对象,FPGA是应用功能的承担主体,多核处理器则承担整个任务的调度角色。多核处理器以三核比对的方式运行,信息比对单元则由具有锁步机制的实时处理单元承担。三核比对的方式不仅具有检测软错误的能力,还有确定出错内核的能力。两种方法都在汇编语言级实现软错误检测,具体为将任务的汇编代码依据一定规则划分为基本块,并在每个基本块的结尾设置检查点,基本块起到定位处理器软错误发生位置的功能。当任务运行到检查点时,任务将规定的变量信息发送给检查电路或信息比对单元,由检查电路或信息比对单元判断处理器中是否发生单粒子软错误。
[0004]现有技术的缺点在于:1)技术实现级别是汇编语言,而目前的任务中,常常是大型的C语言代码,工程难度大;2)现有技术中基本块的划分规则繁琐,对于大型任务来说,基本块划分需要耗费大量精力,效率低下;3)双核比对的方式,无法定位故障内核,对后续故障内核的恢复是不利的;4)大型航天任务中,多以FPGA为功能核心,因而FPGA逻辑资源紧缺,专为处理器设计检查电路需要挤占设计FPGA的逻辑资源。

技术实现思路

[0005]为了解决现有技术中存在的上述问题,本专利技术提供了一种异构SoC芯片多核处理器软错误检测系统和方法。本专利技术要解决的技术问题通过以下技术方案实现:
[0006]本专利技术的一个方面提供了一种异构SoC芯片多核处理器软错误检测系统,包括APU应用单元和RPU错误检测单元,其中,
[0007]所述APU应用单元包括核心应用模块和数据采样模块,所述核心应用模块将完全一致的三份核心应用分别部署在不同的处理器内核中并对三份核心应用设置预定的运行
时间;所述数据采样模块用于在预设时间采集所述核心应用模块中不同内核中核心应用的现场信息;
[0008]所述RPU错误检测单元包括数据接收模块和软错误检测模块,所述数据接收模块用于接收来自所述数据采样模块所获得的采样数据并依据不同内核的采样数据到达时间进行初步的超时判断,当存在某个内核超时,则直接判定当前内核为故障内核,若多个内核的采样时间均未超时,则将所述采集数据传递至所述软错误检测模块,所述软错误检测模块用于对所述采样信息进行软错误检测,获得故障位置和故障类型。
[0009]在本专利技术的一个实施例中,所述核心应用模块中还包括采样定时器,当所述采样定时器的定时中断触发时,每个内核均切换至数据采样模块,以进行对核心应用模块中不同内核中核心应用的数据采样工作。
[0010]在本专利技术的一个实施例中,所述核心应用模块中不同内核的运行时间满足:
[0011][0012]其中,t1表示第一个内核开始运行的起始时间,t2表示第二个内核开始运行的起始时间,t3表示第三个内核开始运行的起始时间,Δt1表示第一个内核与第二个内核的时间差,Δt2表示第二个内核与第三个内核的时间差,Δt表示第一个内核和第三个内核的时间差,T
m
表示核心应用模块每次的运行时间。
[0013]在本专利技术的一个实施例中,所述数据采样模块包括数据采样组件和数据发送组件,其中,
[0014]所述数据采样组件用于获得检测核心应用模块单粒子软错误的关键信息,包括内核ID以及通用寄存器、浮点寄存器、程序计数器、堆栈指针寄存器、程序状态寄存器中的数据;
[0015]所述数据发送组件用于向所述数据接收模块发送中断掩码,以告知所述RPU错误检测单元完成数据采样任务。
[0016]在本专利技术的一个实施例中,所述数据接收模块包括信息记录组件、计时组件和初步故障分析组件,其中,
[0017]所述信息记录组件接收和保存来自所述数据采样模块的不同内核的采样数据;
[0018]所述计时组件用于在收到所述APU应用单元发起的起始中断请求时,记录每个中断到达的时间和中断内核到达的顺序,构成内核向量O=<F,S,T,Δt
FS
,Δt
ST
>,其中,F表示接收到的第一个内核编号,S表示接收到的第二个内核编号,T表示接收到的第三个内核编号,Δt
FS
表示第一个内核和第二个内核采样信号到达的时间差,Δt
ST
表示第二个内核和第三个内核采样信号到达的时间差;
[0019]所述初步故障分析组件根据所述计时组件提供的内核向量O,判断每个内核是否提前发出中断或者是否超时未发出中断,初步分析异常内核,更新内核异常状态E
i

[0020]在本专利技术的一个实施例中,所述软错误检测模块包括相似度分析组件、故障原因分析组件以及故障模型匹配组件,其中,
[0021]所述相似度分析组件用于接收来自所述数据接收模块的每个内核的数据和异常
状态并计算内核数据的总体相似度;
[0022]所述故障原因分析组件用于根据预先设定的异常比特数量计算规则和故障内核定位算法进行故障原因分析和定位;
[0023]所述故障模型匹配组件用于根据所述故障原因分析和定位结果获得故障模型。
[0024]本专利技术的另一方面提供了一种异构SoC芯片多核处理器软错误检测方法,包括:
[0025]S1:将完全一致的三份核心应用分别部署在不同的处理器内核中并对三份核心应用设置预定的时间差值;
[0026]S2:在预设时间采集不同内核中核心应用的现场信息;
[0027]S3:依据来自不同内核的采集数据的到达时间进行初步的超本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种异构SoC芯片多核处理器软错误检测系统,其特征在于,包括APU应用单元和RPU错误检测单元,其中,所述APU应用单元包括核心应用模块和数据采样模块,所述核心应用模块将完全一致的三份核心应用分别部署在不同的处理器内核中并对三份核心应用设置预定的运行时间;所述数据采样模块用于在预设时间采集所述核心应用模块中不同内核中核心应用的现场信息;所述RPU错误检测单元包括数据接收模块和软错误检测模块,所述数据接收模块用于接收来自所述数据采样模块所获得的采样数据并依据不同内核的采样数据到达时间进行初步的超时判断,当存在某个内核超时,则直接判定当前内核为故障内核,若多个内核的采样时间均未超时,则将所述采集数据传递至所述软错误检测模块,所述软错误检测模块用于对所述采样信息进行软错误检测,获得故障位置和故障类型。2.根据权利要求1所述的异构SoC芯片多核处理器软错误检测系统,其特征在于,所述核心应用模块中还包括采样定时器,当所述采样定时器的定时中断触发时,每个内核均切换至数据采样模块,以进行对核心应用模块中不同内核中核心应用的数据采样工作。3.根据权利要求1所述的异构SoC芯片多核处理器软错误检测系统,其特征在于,所述核心应用模块中不同内核的运行时间满足:其中,t1表示第一个内核开始运行的起始时间,t2表示第二个内核开始运行的起始时间,t3表示第三个内核开始运行的起始时间,Δt1表示第一个内核与第二个内核的时间差,Δt2表示第二个内核与第三个内核的时间差,Δt表示第一个内核和第三个内核的时间差,T
m
表示核心应用模块每次的运行时间。4.根据权利要求1所述的异构SoC芯片多核处理器软错误检测系统,其特征在于,所述数据采样模块包括数据采样组件和数据发送组件,其中,所述数据采样组件用于获得检测核心应用模块单粒子软错误的关键信息,包括内核ID以及通用寄存器、浮点寄存器、程序计数器、堆栈指针寄存器、程序状态寄存器中的数据;所述数据发送组件用于向所述数据接收模块发送中断掩码,以告知所述RPU错误检测单元完成数据采样任务。5.根据权利要求1所述的异构SoC芯片多核处理器软错误检测系统,其特征在于,所述数据接收模块包括信息记录组件、计时组件和初步故障分析组件,其中,所述信息记录组件接收和保存来自所述数据采样模块的不同内核的采样数据;所述计时组件用于在收到所述APU应用单元发起的起始中断请求时,记录每个中断到达的时间和中断内核到达的顺序,构成内核向量O=<F,S,T,Δt
FS
,Δt
ST
>,其中,F表示接收到的第一个内核编号,S表示接收到的第二个内核编号,T表示接收到的第三个内核编号,Δt
FS
表示第一个内核和第二个内核采样信号到达...

【专利技术属性】
技术研发人员:闫允一乔良全赖晓玲丁嘉鑫张晋新
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1