CN113608914B - 一种芯片、芯片的功能安全检测方法、介质和电子设备 - Google Patents

一种芯片、芯片的功能安全检测方法、介质和电子设备 Download PDF

Info

Publication number
CN113608914B
CN113608914B CN202110913904.3A CN202110913904A CN113608914B CN 113608914 B CN113608914 B CN 113608914B CN 202110913904 A CN202110913904 A CN 202110913904A CN 113608914 B CN113608914 B CN 113608914B
Authority
CN
China
Prior art keywords
processing unit
data processing
service
instruction
detection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110913904.3A
Other languages
English (en)
Other versions
CN113608914A (zh
Inventor
吕达夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ARM Technology China Co Ltd
Original Assignee
ARM Technology China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ARM Technology China Co Ltd filed Critical ARM Technology China Co Ltd
Priority to CN202110913904.3A priority Critical patent/CN113608914B/zh
Publication of CN113608914A publication Critical patent/CN113608914A/zh
Application granted granted Critical
Publication of CN113608914B publication Critical patent/CN113608914B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)

Abstract

本申请涉及功能安全技术领域,公开了一种芯片、芯片的功能安全检测方法、介质和电子设备。该芯片包括数据处理单元和检测处理单元;检测处理单元用于周期性地向数据处理单元发送功能安全检测指令;数据处理单元用于执行芯片的至少部分数据处理任务,并在接收到检测处理单元发送的功能安全检测指令的情况下,执行功能安全检测指令得到执行结果,并将执行结果发送给检测处理单元;检测处理单元还用于根据执行结果确定数据处理单元的工作状态是否正常。如此,本申请实施例在一定程度上能够有效地且及时地检测出用于处理数据的处理单元中存在硬件损坏、老化等因素导致的逻辑运算出现错误的问题。

Description

一种芯片、芯片的功能安全检测方法、介质和电子设备
技术领域
本申请涉及功能安全技术领域,特别涉及一种芯片、芯片的功能安全检测方法、介质和电子设备。
背景技术
在车载、机器人等各个工业领域,车载、机器人中的芯片是否在正常工作,亦或是芯片处在非正常工作状态能否被及时检测出来,一直备受人们关注。
但是,目前,车载、机器人中的芯片存在硬件损坏、老化等因素导致的逻辑运算等功能出现错误的功能安全问题,且该问题不能被及时的检测出来。
发明内容
本申请实施例提供了一种芯片、芯片的功能安全检测方法、介质和电子设备。
第一方面,本申请实施例提供了一种芯片,所述芯片包括数据处理单元和检测处理单元;
所述检测处理单元用于周期性地向所述数据处理单元发送功能安全检测指令;
所述数据处理单元用于执行所述芯片的至少部分数据处理任务,并在接收到所述检测处理单元发送的功能安全检测指令的情况下,执行所述功能安全检测指令得到执行结果,并将所述执行结果发送给所述检测处理单元;
所述检测处理单元还用于根据所述执行结果确定所述数据处理单元的工作状态是否正常。
可以理解,本申请实施例中的数据处理单元或者检测处理单元可以包括处理器,或者处理器和集成电路的集合,处理器可以为微处理器、数字信号处理器、微控制器等,和/或其任何组合,可以是单核处理器,多核处理器等,和/或其任何组合。
可以理解,检测处理单元用于周期性地向数据处理单元发送功能安全检测指令,其中,功能安全检测指令中携带用于验证数据处理单元的功能安全的预设数据;数据处理单元用于在接收到检测处理单元发送的功能安全检测指令的情况下,执行功能安全检测指令得到逻辑运算结果;检测处理单元从数据处理单元获取逻辑运算结果;检测处理单元用于将逻辑运算结果与预先存储的逻辑运算结果比较,若逻辑运算结果与预先存储的逻辑运算结果相同,则确定数据处理单元为正常工作状态;若逻辑运算结果与预先存储的逻辑运算结果不相同,则确定数据处理单元为异常工作状态。
如此,本申请实施例在一定程度上能够有效地且及时地检测出用于处理数据的处理单元中存在硬件损坏、老化等因素导致的逻辑运算出现错误的问题。
在上述第一方面的一种可能的实现中,所述数据处理单元包括数据处理模块、第一寄存器、第二寄存器、第一中断线和总线;
所述处理模块分别与所述第一寄存器、所述第二寄存器和所述第一中断线连接;
所述第一寄存器、所述第二寄存器和所述第一中断线通过总线与所述检测处理单元连接;
其中,所述第一寄存器用于存储功能安全检测指令;所述第二寄存器用于存储执行结果;
所述第一中断线用于在所述数据处理模块执行所述功能安全检测指令得到所述执行结果的情况下,向所述检测处理单元传输中断指令,所述检测处理单元用于在接收到所述中断指令的情况下,从所述数据处理单元读取执行结果。
可以理解,第一寄存器可以指下文中的寄存器132、第二寄存器可以指下文中的寄存器133、第一中断线可以指下文中的中断线134。
在上述第一方面的一种可能的实现中,所述芯片还包括业务处理单元;所述业务处理单元分别与所述数据处理单元和所述检测处理单元连接;
所述数据处理单元用于在接收到所述业务处理单元发送的业务指令的情况下,执行所述业务指令得到业务结果;
所述业务处理单元用于在接收到所述检测处理单元发送的所述数据处理单元为异常工作状态的情况下,不从所述数据处理单元读取业务结果。
在上述第一方面的一种可能的实现中,所述数据处理单元包括第三寄存器、第四寄存器和第二中断线;
所述第三寄存器、所述第四寄存器和所述第二中断线通过总线与所述检测处理单元连接;
其中,所述第三寄存器用于存储业务指令;所述第三寄存器用于存储业务结果;所述第二中断线用于在所述数据处理单元执行所述业务指令得到所述业务结果的情况下,向所述业务处理单元发送中断指令,所述业务处理单元用于在接收到所述数据处理单元发送的中断指令,且接收到所述检测处理单元发送的所述数据处理单元为正常工作状态的情况下,从所述数据处理单元读取业务结果。
可以理解,第一寄存器可以指下文中的寄存器135、第二寄存器可以指下文中的寄存器136、第一中断线可以指下文中的中断线137。
在上述第一方面的一种可能的实现中,所述数据处理单元用于在同时接收到所述功能安全检测指令和所述业务指令的情况下,优先处理所述功能安全检测指令。
可以理解的是,在其他一些实施例中,为了在数据处理单元130的功能安全出现错误的情况下,能尽快上报给检测处理单元110,功能安全检测响应的优先级要高于正常业务响应的优先级。具体地,在数据处理单元130同时被检测处理单元110和业务处理单元120唤醒并读取到寄存器132中存储的功能安全检测指令和寄存器132中存储的业务指令的情况下,先执行功能安全检测指令,将根据功能安全检测指令执行的运算结果存储在寄存器133,再执行业务执指令,并将根据业务指令执行的业务执行结果发送给寄存器136。
在其他一些实施例中,即使处理模块131正在执行业务指令,当处理模块131响应于功能安全检测指令,也会暂停执行业务指令,先执行完功能安全检测指令,再执行业务指令。
在上述第一方面的一种可能的实现中,所述业务处理单元为中央处理单元。
在上述第一方面的一种可能的实现中,所述功能安全检测指令携带用于验证所述数据处理单元功能安全的操作数,所述执行结果为所述数据处理单元基于所述操作数得到的逻辑运算结果。
第二方面,本申请实施例提供了一种芯片的功能安全检测方法,所述芯片包括数据处理单元和检测处理单元;
所述检测处理单元周期性地向所述数据处理单元发送功能安全检测指令;
所述数据处理单元在接收到所述检测处理单元发送的功能安全检测指令的情况下,执行所述功能安全检测指令得到执行结果,并将所述执行结果发送给所述检测处理单元;其中,所述数据处理单元用于执行所述芯片的至少部分数据处理任务;
所述检测处理单元根据所述执行结果确定所述数据处理单元的工作状态是否正常。
在上述第二方面的一种可能的实现中,所述芯片还包括业务处理单元;所述业务处理单元分别与所述数据处理单元和所述检测处理单元连接;所述方法还包括:
所述数据处理单元在接收到所述业务处理单元发送的业务指令的情况下,执行所述业务指令得到业务结果;
所述业务处理单元在接收到所述检测处理单元发送的所述数据处理单元为异常工作状态的情况下,不从所述数据处理单元读取业务结果;
所述业务处理单元在接收到所述检测处理单元发送的所述数据处理单元为正常工作状态的情况下,从所述数据处理单元读取业务结果。
第三方面,本申请实施例提供了一种电子设备,所述电子设备包括第一方面任一项所述的芯片。
第四方面,本申请实施例提供了一种计算机可读介质,所述可读介质中存储有指令,当所述指令在所述电子设备上运行时,使得所述电子设备执行如第二方面任一项所述的芯片的功能安全检测方法。
附图说明
图1根据本申请的一些实施例,示出了一种具有功能安全检测功能的芯片100的结构示意图;
图2根据本申请实施例中,示出了一种基于图1中芯片100的另一种芯片100的结构示意图;
图3根据本申请实施例,示出了一种实现本申请技术方案提供的功能安全检测功能的片上系统100的结构示意图;
图4根据本申请实施例,示出了一种对称算法处理模块1312b的结构示意图。
具体实施方式
本申请的说明性实施例包括但不限于芯片、芯片的功能安全检测方法、介质和电子设备,该芯片可以为应用在车载或机器人等电子设备中的芯片,且该芯片能够检测出芯片中因为硬件损坏、老化等因素导致的芯片结构中的逻辑运算等功能出现错误的功能安全问题。
为了更好地说明本申请技术方案,下文中先对本申请涉及的术语“功能安全”、“中断线”和“总线”进行解释。
(1)功能安全
所谓功能安全,是指芯片出现错误时,该错误可以被检测到,并向其他关联部件上报错误。例如,以芯片中的逻辑运算部件(例如与运算、或运算等逻辑运算部件)为例,功能安全可以是指芯片中的逻辑运算部件的逻辑运算正常,在芯片中的逻辑运算部件无法进行正常的逻辑运算的情况下,向芯片中或者芯片外的其他部件上报错误。
(2)中断线
用于传输中断信号,该中断信号用于迫使中央处理器(Central ProcessingUnit,CPU)等部件根据中断信号暂停正在执行程序,转而去进行中断事件的处理;中断处理完毕后,又返回被中断的程序处,继续执行下去。
(3)总线
总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束, 按照计算机所传输的信息种类。
如背景技术中提到的,现有技术中存在芯片硬件损坏、老化等因素导致的逻辑运算等功能出现错误的功能安全问题,且该问题不能被及时地被检测出来。为了解决该问题,本申请实施例公开了一种芯片,通过在芯片结构中至少设置两个处理单元来对芯片的功能安全进行检测。例如,其中数据处理单元用于进行数据处理,另一个检测处理单元用于对数据处理单元进行功能安全检测,以检测数据处理单元(例如下文中提到的数据处理单元130和加解密引擎130)是否存在因芯片硬件损坏、老化等因素导致的逻辑运算等功能出现错误的工作状态。
例如,检测处理单元可以周期性地向数据处理单元发送功能安全检测指令,其中,该功能安全检测指令中携带用于验证功能安全的操作数,数据处理单元在接收到检测处理单元发送的功能安全检测指令后,根据功能安全检测指令中携带的用于验证功能安全的操作数执行逻辑运算,得到逻辑运算结果。数据处理单元在执行完逻辑运算后,向检测处理单元发送逻辑运算结果,检测处理单元可以根据逻辑运算结果确定数据处理单元的工作状态是否正常。
可以理解,本申请实施例中的数据处理单元或者检测处理单元可以包括处理器,或者处理器和集成电路的集合,处理器可以为微处理器、数字信号处理器、微控制器等,和/或其任何组合,可以是单核处理器,多核处理器等,和/或其任何组合。
如此,本申请实施例在一定程度上能够有效且及时地检测出数据处理单元中存在的硬件损坏、老化等因素导致的逻辑运算出现错误的问题。
例如,在一个适用于本申请技术方案的结构中,图1根据本申请的一些实施例,示出了一种具有功能安全检测功能的芯片100的结构示意图。如图1所示,该芯片100包括数据处理单元130和检测处理单元110,数据处理单元130包括接口1,该接口1包括寄存器132、寄存器133、中断线134和处理模块131。中断线134可以为数据处理单元130的中断引脚。
其中,接口1中的寄存器132、寄存器133和中断线134通过总线与检测处理单元110连接;总线107可以是高级高性能总线(advanced high-performance bus,AHB),也可以是其他类型的数据总线,在此不做限制。
其中,检测处理单元110用于周期性地向数据处理单元130发送功能安全检测指令,其中,该功能安全检测指令中携带用于验证功能安全的操作数。
数据处理单元130用于将接收到的功能安全检测指令存储在寄存器132中,寄存器132用于存储功能安全检测指令,且寄存器132用于在存储功能安全检测指令的情况下唤醒处理模块131读取寄存器132中的该功能安全检测指令,寄存器132向处理模块131发送该功能安全检测指令后,处理模块131执行该功能安全检测指令得到逻辑运算结果(下文中简称运算结果),并在在执行完功能安全检测指令后,唤醒寄存器133从处理模块131读取该逻辑运算结果,寄存器133存储该逻辑运算结果,并通过中断线134向检测处理单元110发送中断指令。
检测处理单元110用于在通过中断线134接收到数据处理单元130发送的中断指令的情况下,暂停正在执行的程序,从数据处理单元130的寄存器133读取运算结果,将运算结果与检测处理单元110预先存储的运算结果比较,若运算结果与预先存储的运算结果相同,则确定数据处理单元130为正常工作状态,睡眠并等待下一个验证周期。若运算结果与预先存储的运算结果不相同,则确定数据处理单元130为异常工作状态。
如此,本申请实施例能够有效地检测出用于处理数据的数据处理单元130中存在的硬件损坏、老化等因素导致的逻辑运算出现错误的问题。
检测处理单元110和数据处理单元130可以包括处理器,或者处理器和集成电路的集合,处理器可以为微处理器、数字信号处理器、微控制器等,和/或其任何组合。检测处理单元110和数据处理单元130可以是单核处理器,多核处理器等,和/或其任何组合。
检测处理单元110可以为中央处理单元,如Arm 架构的处理单元,例如ArmCortex-R52,或者如Arm 架构的功能安全岛。
数据处理单元130可以为图形处理单元(graphics processing unit,GPU),现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA),图像信号处理单元(imagesignal processor,ISP),控制器,视频编解码器,数字信号处理单元(digital signalprocessor,DSP),基带处理单元,和/或神经网络处理单元(neural-network processingunit,NPU)、加解密引擎(encrypt/decrypt engine)等。
图2根据本申请实施例中,示出了一种基于图1中芯片100的另一种芯片100的结构示意图,图2中芯片100的结构与图1中芯片100的结构的不同之处在于,在图1中芯片100的结构的基础上,图2还包括接口2和业务处理单元120。接口2包括寄存器135、寄存器136和中断线137,其中,寄存器135、寄存器136和中断线137通过总线与业务处理单元120连接;总线107可以是高级高性能总线(advanced high-performance bus,AHB),也可以是其他类型的数据总线,在此不做限制。
业务处理单元120可以为中央处理单元(central processing unit,CPU)等。
为了避免业务处理单元120向数据处理单元130发送业务指令(例如对待处理处理数据进行加密)的情况下,数据处理单元130向业务处理单元120反馈异常的业务执行结果。因此,需要在业务处理单元120接收到检测处理单元110发送的数据处理单元130为异常工作状态的情况下,不从数据处理单元130的寄存器136中读取业务结果。具体地,如图2所示,可以将业务处理单元120与检测处理单元110连接,便于业务处理单元120得到数据处理单元130的工作状态。
业务处理单元120用于向数据处理单元130发送业务指令,数据处理单元130将接收到的业务指令存储在寄存器135中,寄存器135用于在存储业务指令的情况下唤醒处理模块131读取寄存器135中的该业务指令,寄存器135将业务指令发送至处理模块131,以使得处理模块131执行该业务指令得到业务结果;将业务结果存储在寄存器136中,并通过中断线137向业务处理单元120发送中断指令。
业务处理单元120用于在通过中断线137接收到处理模块131发送的中断指令的情况下,暂停正在执行的程序,从寄存器136中读取业务结果。
此外,其他一些实施例中,检测处理单元110读取存储在寄存器133的运算结果,判断从数据处理单元130获取到的运算结果与预先存储的运算结果是否相同,在判断出从数据处理单元130获取到的运算结果与预先存储的运算结果不相同的情况下,向业务处理单元120发送逻辑运算处于异常工作状态的信息(上报错误),业务处理单元120便可以向用户提示该逻辑运算操作异常的消息。业务处理单元120用于在接收到检测处理单元110发送的数据处理单元130为异常工作状态的情况下,即使响应于通过中断线137发送的中断信号,也不从数据处理单元130的寄存器136中读取业务结果。
此外,可以理解的是,在其他一些实施例中,在检测处理单元110判断出从检测处理单元110获取到的逻辑运算结果与预先存储的逻辑运算结果不相同的情况下,不向业务处理单元120发送逻辑运算处于异常工作状态的信息,而是检测处理单元110解决该逻辑运算操作异常的问题,例如重新启动数据处理单元130进行数据处理。
此外,可以理解的是,在其他一些实施例中,为了在数据处理单元130的功能安全出现错误的情况下,能尽快上报给检测处理单元110,功能安全检测响应的优先级要高于正常业务响应的优先级。具体地,在数据处理单元130同时被检测处理单元110和业务处理单元120唤醒并读取到寄存器132中存储的功能安全检测指令和寄存器132中存储的业务指令的情况下,先执行功能安全检测指令,将根据功能安全检测指令执行的运算结果存储在寄存器133,再执行业务执指令,并将根据业务指令执行的业务执行结果发送给寄存器136。
在其他一些实施例中,即使处理模块131正在执行业务指令,当处理模块131响应于功能安全检测指令,也会暂停执行业务指令,先执行完功能安全检测指令,再执行业务指令。
芯片100在接收数据处理指令的情况下,会对接收的数据进行处理,且数据处理的准确度往往依赖于算术逻辑单元(arithmetic and logic unit)工作的准确度。下面以图2中的数据处理单元130为加解密引擎130为例对本申请技术方案做进一步说明。图3根据本申请实施例,示出了一种实现本申请技术方案提供的功能安全检测功能的芯片100的结构示意图。
在加解密引擎130中,存在用于摘要、对称算法和非对称算法的多种逻辑运算部件,例如,图3为本申请实施例提供的一种数据处理单元130的结构示意图,如图3所示:
在该结构示意图中,加解密处理模块131包括决策逻辑加解密处理模块1311以及逻辑运算部件1312。逻辑运算部件1312包括摘要算法处理模块1312a、对称算法处理模块1312b和非对称算法处理模块1312c。
其中,决策逻辑处理单元1311用于根据接收的指令确定执行该指令的部件,并将指令相应的分发给逻辑运算部件1312中对应的部件。具体地,在一些实施例中,业务处理单元120发送的业务指令中携带待处理的数据和待处理数据的数据处理类型,逻辑运算部件1312用于根据业务指令中的数据处理类型决定向摘要算法处理模块1312a、对称算法处理模块1312b和非对称算法处理模块1312c中的任意一个或者多个部件发送指令。例如,若数据处理类型为对称算法处理类型,则向对称算法处理模块1312b发送对待处理数据进行对称算法处理的指令。
摘要算法处理模块1312a可以用于对业务指令中携带的待处理数据进行摘要算法处理,对称算法处理模块1312b可以用于对业务指令中携带的待处理数据进行对称算法处理,非对称算法处理模块1312c可以用于对业务指令中携带的待处理数据进行非对称算法处理。摘要算法处理模块1312a还可以用于对功能安全指令中携带的操作数进行逻辑运算,对称算法处理模块1312b还可以用于对功能安全指令中携带的操作数进行逻辑运算,非对称算法处理模块1312c还可以用于对功能安全指令中携带的操作数进行逻辑运算。
寄存器132包括摘要检验指令队列(Command queue)存储模块132a、对称算法检测指令队列存储模块132b和非对称算法检测指令队列存储模块132c。其中,摘要检验指令队列(Command queue)存储模块132a、对称算法检测指令队列存储模块132b和非对称算法检测指令队列存储模块132c分别用于存储对应于摘要算法处理模块1312a、对称算法处理模块1312b和非对称算法处理模块1312c的功能安全检测指令。
寄存器133用于存储逻辑运算部件1312的逻辑运算结果。其中,寄存器133包括摘要算法应答(Event queue)寄存器133a、对称算法应答寄存器133b和非对称算法应答寄存器133c。其中,摘要算法应答(Event queue)寄存器133a、对称算法应答寄存器133b和非对称算法应答寄存器133c分别用于存储对应于摘要算法处理模块1312a、对称算法处理模块1312b和非对称算法处理模块1312c的功能安全检测指令的运算结果。
寄存器135包括摘要算法业务指令队列存储模块134a、对称算法业务指令队列存储模块135b和非对称算法业务指令队列存储模块134c。其中,摘要算法业务指令队列存储模块134a、对称算法业务指令队列存储模块135b和非对称算法业务指令队列存储模块134c分别用于存储对应于摘要算法处理模块1312a、对称算法处理模块1312b和非对称算法处理模块1312c的业务指令。
寄存器136用于存储逻辑运算部件1312根据业务指令执行的数据处理结果。其中,寄存器136包括摘要算法执行结果寄存器136a、对称算法执行结果寄存器136b和非对称算法执行结果寄存器136c。摘要算法执行结果寄存器136a、对称算法执行结果寄存器136b和非对称算法执行结果寄存器136c分别用于存储对应于摘要算法处理模块1312a、对称算法处理模块1312b和非对称算法处理模块1312c的业务指令的执行结果。
上述结构中的摘要算法对称算法处理模块1312b2a、对称算法对称算法处理模块1312b2b和非对称算法对称算法处理模块1312b2c在执行业务指令对应的逻辑运算的过程中可能出现逻辑运算错误的问题,为了解决这个问题,下面以业务指令为对称加密业务指令为例说明本申请技术方案。
业务处理单元120用于向加解密引擎130发送业务指令,加解密引擎130将接收到的业务指令存储在对称算法业务指令队列存储模块135b中,且对称算法业务指令队列存储模块135b用于在存储业务指令的情况下唤醒对称算法处理模块1312b读取对称算法业务指令队列存储模块135b中的该业务指令,对称算法业务指令队列存储模块135b通过决策逻辑处理模块1311将业务指令发送至对称算法处理模块1312b,以使得对称算法处理模块1312b执行该业务指令,对称算法处理模块1312b执行业务指令得到业务结果,将运算结果通过决策逻辑处理模块1311存储在对称算法执行结果寄存器136b中,并通过决策逻辑处理模块1311和中断线137向业务处理单元120发送中断指令。
且在对称算法处理模块1312b执行该业务指令的过程中,检测处理单元110在周期性地向数据处理单元130发送功能安全检测指令的情况下,该功能安全检测指令中携带用于验证功能安全的操作数。加解密引擎130用于将接收到的功能安全检测指令存储在对称算法检测指令队列存储模块132b中,对称算法检测指令队列存储模块132b用于存储功能安全检测指令,且对称算法检测指令队列存储模块132b用于在存储功能安全检测指令的情况下唤醒对称算法处理模块1312b读取对称算法检测指令队列存储模块132b中的该功能安全检测指令,对称算法检测指令队列存储模块132b通过决策逻辑处理模块1311向对称算法处理模块1312b发送该功能安全检测指令后,对称算法处理模块1312b执行该功能安全检测指令得到逻辑运算结果(下文中简称运算结果),并在在执行完功能安全检测指令后,通过决策逻辑处理模块1311唤醒对称算法应答对称算法应答寄存器133bb从对称算法处理模块1312b读取该逻辑运算结果,对称算法应答对称算法应答寄存器133bb存储该逻辑运算结果,并通过中断线134向检测处理单元110发送中断指令。
检测处理单元110用于在接收到中断指令,读取存储在对称算法应答寄存器133b的运算结果,判断从数据处理单元130获取到的运算结果与预先存储的运算结果是否相同,在判断出从数据处理单元130获取到的运算结果与预先存储的运算结果相同的情况下,向业务处理单元120发送加解密引擎130处于正常工作状态的信息,业务处理单元120在通过中断线137接收到对称算法处理模块1312b发送的中断指令的情况下,从对称算法执行结果寄存器136b中读取业务结果。
在判断出从数据处理单元130获取到的运算结果与预先存储的运算结果不相同的情况下,向业务处理单元120发送加解密引擎130处于异常工作状态的信息(上报错误),业务处理单元120便可以向用户提示该逻辑运算操作异常的消息,即使业务处理单元120在通过中断线137接收到对称算法处理模块1312b发送的中断指令的情况下,暂停正在执行的程序,也不从对称算法执行结果寄存器136b中读取业务结果。
可以理解,逻辑运算之中,包括与运算(AND)、或运算(OR)、非(NOT)运算、异或运算(XOR)等,且逻辑运算部件1312可能涉及大量逻辑运算,为了简化说明,下面以图3中的对称算法处理模块1312b对数据进行对称算法处理的异或(XOR)运算逻辑单元为例说明本申请技术方案。
例如,图4根据本申请实施例,示出了一种对称算法处理模块1312b的结构示意图。如图4所示,该结构示意图中包括异或运算逻辑单元10,异或运算逻辑单元10包括两个数据输入端A和B以及A和B异或结果输出端。
异或运算逻辑单元10接收业务指令,业务指令携带待加密操作数(待加密数据)A和秘钥操作数B,异或运算逻辑单元10利用秘钥操作数B对待加密操作数(待加密数据)A 对数据进行对称加密处理,但是异或运算逻辑单元10可能存在硬件损坏或老化导致操作数A和操作数B的异或结果出现错误而不易被发现的问题。
本申请实施例中,功能安全检测指令中包括A操作数和B操作数据,例如A操作数=0b1010, B操作数=0b1111,检测处理单元110计算A 异或 B,得到A与B的异或结果和检测处理单元110预先存储的结果(例如0b0101)比较,如果结果相同,则认为异或运算逻辑单元10正常工作;如果结果不同,则认为异或运算逻辑单元10出错,向业务处理单元120发送异或运算逻辑单元10异常工作的信息,业务处理单元120便不会从对称算法执行结果存储模块136b读取对称算法执行结果。
基于上面的描述,在一些实施例中,本申请实施例还公开了一种电子设备,该电子设备包括上述的芯片。电子设备可以为机器人和车载设备等。
基于上面的描述,在一些实施例中,本申请实施例还公开了一种芯片的功能安全检测方法,例如,对应于图2,检测处理单元110周期性地向数据处理单元130发送功能安全检测指令,其中,该功能安全检测指令中携带验证功能安全的操作数。
数据处理单元130将接收到的功能安全检测指令存储在寄存器132中,寄存器132存储功能安全检测指令,且寄存器132在存储功能安全检测指令的情况下唤醒处理模块131读取寄存器132中的该功能安全检测指令,寄存器132向处理模块131发送该功能安全检测指令后,处理模块131执行该功能安全检测指令得到逻辑运算结果(下文中简称运算结果),并在在执行完功能安全检测指令后,唤醒寄存器133从处理模块131读取该逻辑运算结果,寄存器133存储该逻辑运算结果,并通过中断线134向检测处理单元110发送中断指令。
检测处理单元110在通过中断线134接收到数据处理单元130发送的中断指令的情况下,暂停正在执行的程序,从数据处理单元130的寄存器133读取运算结果,将运算结果与检测处理单元110预先存储的运算结果比较,若运算结果与预先存储的运算结果相同,则确定数据处理单元130为正常工作状态,睡眠并等待下一个验证周期。若运算结果与预先存储的运算结果不相同,则确定数据处理单元130为异常工作状态。
如此,本申请实施例能够有效地检测出用于处理数据的数据处理单元130中存在的硬件损坏、老化等因素导致的逻辑运算出现错误的问题。
为了避免业务处理单元120向数据处理单元130发送业务指令(例如对待处理处理数据进行加密)的情况下,数据处理单元130向业务处理单元120反馈异常的业务执行结果。因此,需要在业务处理单元120接收到检测处理单元110发送的数据处理单元130为异常工作状态的情况下,不从数据处理单元130的寄存器136中读取业务结果。具体地,如图2所示,可以将业务处理单元120与检测处理单元110连接,便于业务处理单元120得到数据处理单元130的工作状态。
业务处理单元120向数据处理单元130发送业务指令,数据处理单元130将接收到的业务指令存储在寄存器135中,寄存器135在存储业务指令的情况下唤醒处理模块131读取寄存器135中的该业务指令,寄存器135将业务指令发送至处理模块131,以使得处理模块131执行该业务指令得到业务结果;将运算结果存储在寄存器136中,并通过中断线137向业务处理单元120发送中断指令。
业务处理单元120在通过中断线137接收到处理模块131发送的中断指令的情况下,暂停正在执行的程序,从寄存器136中读取业务结果。
此外,其他一些实施例中,检测处理单元110读取存储在寄存器133的运算结果,判断从数据处理单元130获取到的运算结果与预先存储的运算结果是否相同,在判断出从数据处理单元130获取到的运算结果与预先存储的运算结果不相同的情况下,向业务处理单元120发送逻辑运算处于异常工作状态的信息(上报错误),业务处理单元120便可以向用户提示该逻辑运算操作异常的消息。业务处理单元120在接收到检测处理单元110发送的数据处理单元130为异常工作状态的情况下,即使响应于通过中断线137发送的中断信号,也不从数据处理单元130的寄存器136中读取业务结果。
此外,可以理解的是,在其他一些实施例中,在检测处理单元110判断出从检测处理单元110获取到的逻辑运算结果与预先存储的逻辑运算结果不相同的情况下,不向业务处理单元120发送逻辑运算处于异常工作状态的信息,而是检测处理单元110解决该逻辑运算操作异常的问题,例如重新启动数据处理单元130进行数据处理。
此外,可以理解的是,在其他一些实施例中,为了在数据处理单元130的功能安全出现错误的情况下,能尽快上报给检测处理单元110,功能安全检测响应的优先级要高于正常业务响应的优先级。具体地,在数据处理单元130同时被检测处理单元110和业务处理单元120唤醒并读取到寄存器132中存储的功能安全检测指令和寄存器132中存储的业务指令的情况下,先执行功能安全检测指令,将根据功能安全检测指令执行的运算结果存储在寄存器133,再执行业务执指令,并将根据业务指令执行的业务执行结果发送给寄存器136。
在其他一些实施例中,即使处理模块131正在执行业务指令,当处理模块131响应于功能安全检测指令,也会暂停执行业务指令,先执行完功能安全检测指令,再执行业务指令。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性电子设备可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,电子设备可读介质可以包括用于以电子设备(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的电子设备可读存储器。因此,电子设备可读介质包括适合于以电子设备(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的电子设备可读介质。
虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。

Claims (10)

1.一种芯片,其特征在于,所述芯片包括数据处理单元、检测处理单元和业务处理单元,所述业务处理单元分别与所述数据处理单元和所述检测处理单元连接;
所述检测处理单元用于周期性地向所述数据处理单元发送功能安全检测指令;
所述数据处理单元用于执行所述芯片的至少部分数据处理任务,并在接收到所述检测处理单元发送的功能安全检测指令的情况下,执行所述功能安全检测指令得到执行结果,并将所述执行结果发送给所述检测处理单元;
所述检测处理单元还用于根据所述执行结果确定所述数据处理单元的工作状态是否正常;
所述数据处理单元用于在接收到所述业务处理单元发送的业务指令的情况下,执行所述业务指令得到业务结果;
所述业务处理单元用于在接收到所述检测处理单元发送的所述数据处理单元为异常工作状态的情况下,不从所述数据处理单元读取业务结果。
2.根据权利要求1所述的芯片,其特征在于,所述数据处理单元包括数据处理模块、第一寄存器、第二寄存器、第一中断线和总线;
所述数据处理模块分别与所述第一寄存器、所述第二寄存器和所述第一中断线连接;
所述第一寄存器、所述第二寄存器和所述第一中断线通过总线与所述检测处理单元连接;
其中,所述第一寄存器用于存储功能安全检测指令;所述第二寄存器用于存储执行结果;
所述第一中断线用于在所述数据处理模块执行所述功能安全检测指令得到所述执行结果的情况下,向所述检测处理单元传输中断指令,所述检测处理单元用于在接收到所述中断指令的情况下,从所述数据处理单元读取执行结果。
3.根据权利要求1所述的芯片,其特征在于,所述数据处理单元包括第三寄存器、第四寄存器和第二中断线;
所述第三寄存器、所述第四寄存器和所述第二中断线通过总线与所述检测处理单元连接;
其中,所述第三寄存器用于存储业务指令;所述第三寄存器用于存储业务结果;所述第二中断线用于在所述数据处理单元执行所述业务指令得到所述业务结果的情况下,向所述业务处理单元发送中断指令,所述业务处理单元用于在接收到所述数据处理单元发送的中断指令,且接收到所述检测处理单元发送的所述数据处理单元为正常工作状态的情况下,从所述数据处理单元读取业务结果。
4.根据权利要求1所述的芯片,其特征在于,所述数据处理单元用于在同时接收到所述功能安全检测指令和所述业务指令的情况下,优先处理所述功能安全检测指令。
5.根据权利要求4所述的芯片,其特征在于,在所述数据处理单元执行所述业务指令期间,接收到所述功能安全检测指令,则暂停处理所述业务指令,优先处理所述功能安全检测指令,在所述功能安全检测指令执行后,恢复所述数据处理单元对所述业务指令的处理。
6.根据权利要求1所述的芯片,其特征在于,所述业务处理单元为中央处理单元。
7.根据权利要求1所述的芯片,其特征在于,所述功能安全检测指令携带用于验证所述数据处理单元功能安全的操作数,所述执行结果为所述数据处理单元基于所述操作数得到的逻辑运算结果。
8.一种芯片的功能安全检测方法,其特征在于,所述芯片包括数据处理单元、检测处理单元和业务处理单元,所述业务处理单元分别与所述数据处理单元和所述检测处理单元连接;
所述检测处理单元周期性地向所述数据处理单元发送功能安全检测指令;
所述数据处理单元在接收到所述检测处理单元发送的功能安全检测指令的情况下,执行所述功能安全检测指令得到执行结果,并将所述执行结果发送给所述检测处理单元;其中,所述数据处理单元用于执行所述芯片的至少部分数据处理任务;
所述检测处理单元根据所述执行结果确定所述数据处理单元的工作状态是否正常;
所述数据处理单元在接收到所述业务处理单元发送的业务指令的情况下,执行所述业务指令得到业务结果;
所述业务处理单元在接收到所述检测处理单元发送的所述数据处理单元为异常工作状态的情况下,不从所述数据处理单元读取业务结果;
所述业务处理单元在接收到所述检测处理单元发送的所述数据处理单元为正常工作状态的情况下,从所述数据处理单元读取业务结果。
9.一种电子设备,其特征在于,所述电子设备包括权利要求1至7中任一项所述的芯片。
10.一种计算机可读介质,其特征在于,所述可读介质中存储有指令,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求8所述的芯片的功能安全检测方法。
CN202110913904.3A 2021-08-10 2021-08-10 一种芯片、芯片的功能安全检测方法、介质和电子设备 Active CN113608914B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110913904.3A CN113608914B (zh) 2021-08-10 2021-08-10 一种芯片、芯片的功能安全检测方法、介质和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110913904.3A CN113608914B (zh) 2021-08-10 2021-08-10 一种芯片、芯片的功能安全检测方法、介质和电子设备

Publications (2)

Publication Number Publication Date
CN113608914A CN113608914A (zh) 2021-11-05
CN113608914B true CN113608914B (zh) 2024-04-26

Family

ID=78308000

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110913904.3A Active CN113608914B (zh) 2021-08-10 2021-08-10 一种芯片、芯片的功能安全检测方法、介质和电子设备

Country Status (1)

Country Link
CN (1) CN113608914B (zh)

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02294739A (ja) * 1989-05-09 1990-12-05 Hitachi Ltd 障害検出方式
JPH05216852A (ja) * 1992-02-06 1993-08-27 Hitachi Ltd データ処理装置
JPH10275139A (ja) * 1997-01-31 1998-10-13 Kawasaki Steel Corp 1チップマイクロコンピュータのテスト方法及び1チップマイクロコンピュータ
KR20000037966A (ko) * 1998-12-03 2000-07-05 강병호 소프트웨어 비정상 동작 상태 감지 및 절체 기능을 갖는프로세서 이중화 제어 장치
JP2000305782A (ja) * 1999-04-22 2000-11-02 Matsushita Electric Ind Co Ltd 演算装置
JP2002091792A (ja) * 2000-07-26 2002-03-29 Internatl Business Mach Corp <Ibm> 通常モードでの命令実行中にハードウェア・テストを実行するプロセッサおよび方法
JP2004362368A (ja) * 2003-06-06 2004-12-24 Sony Corp プロセッサおよび例外処理方法
CN1798072A (zh) * 2004-12-29 2006-07-05 华为技术有限公司 一种通信设备单板及其控制方法
CN1808999A (zh) * 2006-02-23 2006-07-26 烽火通信科技股份有限公司 信号处理单元cpu故障的检测方法及装置
CN104461798A (zh) * 2014-11-12 2015-03-25 中国航天科技集团公司第九研究院第七七一研究所 一种用于处理器算术逻辑单元指令的随机数验证方法
CN105207848A (zh) * 2015-09-25 2015-12-30 浪潮(北京)电子信息产业有限公司 一种基于嵌入式芯片的SerDes误码率检测方法及系统
CN108022637A (zh) * 2017-11-27 2018-05-11 上海联影医疗科技有限公司 医疗成像设备自适应方法和自适应医疗成像系统
CN109471753A (zh) * 2018-09-04 2019-03-15 深圳市宝德计算机系统有限公司 服务器数据保护方法、装置及计算机可读存储介质
CN111679945A (zh) * 2020-06-12 2020-09-18 地平线(上海)人工智能技术有限公司 处理器的检测方法、装置及计算机可读存储介质
CN112099412A (zh) * 2020-09-22 2020-12-18 郑州嘉晨电器有限公司 一种微控制单元的安全冗余架构
CN112783690A (zh) * 2019-11-08 2021-05-11 上海博泰悦臻电子设备制造有限公司 死机处理方法及装置
CN112817807A (zh) * 2020-02-28 2021-05-18 加特兰微电子科技(上海)有限公司 芯片检测方法、装置和存储介质
CN113127285A (zh) * 2021-06-17 2021-07-16 北京燧原智能科技有限公司 一种错误数据调试方法、装置、芯片及计算机设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120066551A1 (en) * 2010-09-15 2012-03-15 Alexandre Palus Run-time Verification of CPU Operation

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02294739A (ja) * 1989-05-09 1990-12-05 Hitachi Ltd 障害検出方式
JPH05216852A (ja) * 1992-02-06 1993-08-27 Hitachi Ltd データ処理装置
JPH10275139A (ja) * 1997-01-31 1998-10-13 Kawasaki Steel Corp 1チップマイクロコンピュータのテスト方法及び1チップマイクロコンピュータ
KR20000037966A (ko) * 1998-12-03 2000-07-05 강병호 소프트웨어 비정상 동작 상태 감지 및 절체 기능을 갖는프로세서 이중화 제어 장치
JP2000305782A (ja) * 1999-04-22 2000-11-02 Matsushita Electric Ind Co Ltd 演算装置
JP2002091792A (ja) * 2000-07-26 2002-03-29 Internatl Business Mach Corp <Ibm> 通常モードでの命令実行中にハードウェア・テストを実行するプロセッサおよび方法
JP2004362368A (ja) * 2003-06-06 2004-12-24 Sony Corp プロセッサおよび例外処理方法
CN1798072A (zh) * 2004-12-29 2006-07-05 华为技术有限公司 一种通信设备单板及其控制方法
CN1808999A (zh) * 2006-02-23 2006-07-26 烽火通信科技股份有限公司 信号处理单元cpu故障的检测方法及装置
CN104461798A (zh) * 2014-11-12 2015-03-25 中国航天科技集团公司第九研究院第七七一研究所 一种用于处理器算术逻辑单元指令的随机数验证方法
CN105207848A (zh) * 2015-09-25 2015-12-30 浪潮(北京)电子信息产业有限公司 一种基于嵌入式芯片的SerDes误码率检测方法及系统
CN108022637A (zh) * 2017-11-27 2018-05-11 上海联影医疗科技有限公司 医疗成像设备自适应方法和自适应医疗成像系统
CN109471753A (zh) * 2018-09-04 2019-03-15 深圳市宝德计算机系统有限公司 服务器数据保护方法、装置及计算机可读存储介质
CN112783690A (zh) * 2019-11-08 2021-05-11 上海博泰悦臻电子设备制造有限公司 死机处理方法及装置
CN112817807A (zh) * 2020-02-28 2021-05-18 加特兰微电子科技(上海)有限公司 芯片检测方法、装置和存储介质
CN111679945A (zh) * 2020-06-12 2020-09-18 地平线(上海)人工智能技术有限公司 处理器的检测方法、装置及计算机可读存储介质
CN112099412A (zh) * 2020-09-22 2020-12-18 郑州嘉晨电器有限公司 一种微控制单元的安全冗余架构
CN113127285A (zh) * 2021-06-17 2021-07-16 北京燧原智能科技有限公司 一种错误数据调试方法、装置、芯片及计算机设备

Also Published As

Publication number Publication date
CN113608914A (zh) 2021-11-05

Similar Documents

Publication Publication Date Title
US9823983B2 (en) Electronic fault detection unit
CN113192237B (zh) 支持tee和ree的物联网设备以及实现tee和ree间通信的方法
CN111859391A (zh) 可信执行体、拟态逃逸快速识别方法及拟态防御架构
CN116257472B (zh) 接口控制方法、装置、电子设备及存储介质
US20150234759A1 (en) Method and apparatus using high-efficiency atomic operations
US6789258B1 (en) System and method for performing a synchronization operation for multiple devices in a computer system
CN113395348B (zh) 一种车载芯片、功能故障检查方法及电子设备
CN112990495A (zh) 一种车辆售后诊断的方法、装置、系统及存储介质
CN113608914B (zh) 一种芯片、芯片的功能安全检测方法、介质和电子设备
CN104346306B (zh) 高完整性dma操作的系统和方法
JPH0738183B2 (ja) 中央処理装置間通信処理方式
JP5537140B2 (ja) 安全制御装置、及びその安全制御プログラム
WO2021111639A1 (ja) コントローラ
EP1761856B1 (en) Computer system and method for queuing interrupt messages in a device coupled to a parallel communications bus
JPS634209B2 (zh)
JP6813513B2 (ja) プロセッサシステムのプログラムカウンタ構造を保護する方法及び装置並びに中断要求の処理を監視する方法及び装置
US20200004706A1 (en) Information processing device and information processing method
JP2008503834A (ja) 並列通信バスを介して割り込みメッセージを伝送するためのコンピュータシステムおよび方法
JPH09160840A (ja) バス通信装置
US7500154B2 (en) Method and system for generating a console log
US10528467B2 (en) Information processing device and information processing method
CN102033799B (zh) 中断接脚的异常状态侦测方法
CN116701032A (zh) 一种数据交换方法、装置、电子芯片及存储介质
JPH0335346A (ja) マルチコンピュータシステムにおける相互診断方式
CN114265627A (zh) 一种修改bios参数适配智能网卡的方法、系统及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant