一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

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

2021-11-05 22:16:00 来源:中国专利 TAG:


1.本技术涉及功能安全技术领域,特别涉及一种芯片、芯片的功能安全检测方法、介质和电子设备。


背景技术:

2.在车载、机器人等各个工业领域,车载、机器人中的芯片是否在正常工作,亦或是芯片处在非正常工作状态能否被及时检测出来,一直备受人们关注。
3.但是,目前,车载、机器人中的芯片存在硬件损坏、老化等因素导致的逻辑运算等功能出现错误的功能安全问题,且该问题不能被及时的检测出来。


技术实现要素:

4.本技术实施例提供了一种芯片、芯片的功能安全检测方法、介质和电子设备。
5.第一方面,本技术实施例提供了一种芯片,所述芯片包括数据处理单元和检测处理单元;
6.所述检测处理单元用于周期性地向所述数据处理单元发送功能安全检测指令;
7.所述数据处理单元用于执行所述芯片的至少部分数据处理任务,并在接收到所述检测处理单元发送的功能安全检测指令的情况下,执行所述功能安全检测指令得到执行结果,并将所述执行结果发送给所述检测处理单元;
8.所述检测处理单元还用于根据所述执行结果确定所述数据处理单元的工作状态是否正常。
9.可以理解,本技术实施例中的数据处理单元或者检测处理单元可以包括处理器,或者处理器和集成电路的集合,处理器可以为微处理器、数字信号处理器、微控制器等,和/或其任何组合,可以是单核处理器,多核处理器等,和/或其任何组合。
10.可以理解,检测处理单元用于周期性地向数据处理单元发送功能安全检测指令,其中,功能安全检测指令中携带用于验证数据处理单元的功能安全的预设数据;数据处理单元用于在接收到检测处理单元发送的功能安全检测指令的情况下,执行功能安全检测指令得到逻辑运算结果;检测处理单元从数据处理单元获取逻辑运算结果;检测处理单元用于将逻辑运算结果与预先存储的逻辑运算结果比较,若逻辑运算结果与预先存储的逻辑运算结果相同,则确定数据处理单元为正常工作状态;若逻辑运算结果与预先存储的逻辑运算结果不相同,则确定数据处理单元为异常工作状态。
11.如此,本技术实施例在一定程度上能够有效地且及时地检测出用于处理数据的处理单元中存在硬件损坏、老化等因素导致的逻辑运算出现错误的问题。
12.在上述第一方面的一种可能的实现中,所述数据处理单元包括数据处理模块、第一寄存器、第二寄存器、第一中断线和总线;
13.所述处理模块分别与所述第一寄存器、所述第二寄存器和所述第一中断线连接;
14.所述第一寄存器、所述第二寄存器和所述第一中断线通过总线与所述检测处理单
元连接;
15.其中,所述第一寄存器用于存储功能安全检测指令;所述第二寄存器用于存储执行结果;
16.所述第一中断线用于在所述数据处理模块执行所述功能安全检测指令得到所述执行结果的情况下,向所述检测处理单元传输中断指令,所述检测处理单元用于在接收到所述中断指令的情况下,从所述数据处理单元读取执行结果。
17.可以理解,第一寄存器可以指下文中的寄存器132、第二寄存器可以指下文中的寄存器133、第一中断线可以指下文中的中断线134。
18.在上述第一方面的一种可能的实现中,所述芯片还包括业务处理单元;所述业务处理单元分别与所述数据处理单元和所述检测处理单元连接;
19.所述数据处理单元用于在接收到所述业务处理单元发送的业务指令的情况下,执行所述业务指令得到业务结果;
20.所述业务处理单元用于在接收到所述检测处理单元发送的所述数据处理单元为异常工作状态的情况下,不从所述数据处理单元读取业务结果。
21.在上述第一方面的一种可能的实现中,所述数据处理单元包括第三寄存器、第四寄存器和第二中断线;
22.所述第三寄存器、所述第四寄存器和所述第二中断线通过总线与所述检测处理单元连接;
23.其中,所述第三寄存器用于存储业务指令;所述第三寄存器用于存储业务结果;所述第二中断线用于在所述数据处理单元执行所述业务指令得到所述业务指令结果的情况下,向所述检测处理单元发送中断指令,所述业务处理单元用于在接收到所述数据处理单元发送的中断指令,且接收到所述检测处理单元发送的所述数据处理单元为正常工作状态的情况下,从所述数据处理单元读取业务结果。
24.可以理解,第一寄存器可以指下文中的寄存器135、第二寄存器可以指下文中的寄存器136、第一中断线可以指下文中的中断线137。
25.在上述第一方面的一种可能的实现中,所述数据处理单元用于在同时接收到所述功能安全检测指令和所述业务指令的情况下,优先处理所述功能安全检测指令。
26.可以理解的是,在其他一些实施例中,为了在数据处理单元130的功能安全出现错误的情况下,能尽快上报给检测处理单元110,功能安全检测响应的优先级要高于正常业务响应的优先级。具体地,在数据处理单元130同时被检测处理单元110和业务处理单元120唤醒并读取到寄存器132中存储的功能安全检测指令和寄存器132中存储的业务指令的情况下,先执行功能安全检测指令,将根据功能安全检测指令执行的运算结果存储在寄存器133,再执行业务执指令,并将根据业务指令执行的业务执行结果发送给寄存器136。
27.在其他一些实施例中,即使处理模块131正在执行业务指令,当处理模块131响应于功能安全检测指令,也会暂停执行业务指令,先执行完功能安全检测指令,再执行业务指令。
28.在上述第一方面的一种可能的实现中,所述业务处理单元为中央处理单元。
29.在上述第一方面的一种可能的实现中,所述功能安全检测指令携带用于验证所述数据处理单元功能安全的操作数,所述执行结果为所述数据处理单元基于所述操作数得到
的逻辑运算结果。
30.第二方面,本技术实施例提供了一种芯片的功能安全检测方法,所述芯片包括数据处理单元和检测处理单元;
31.所述检测处理单元周期性地向所述数据处理单元发送功能安全检测指令;
32.所述数据处理单元在接收到所述检测处理单元发送的功能安全检测指令的情况下,执行所述功能安全检测指令得到执行结果,并将所述执行结果发送给所述检测处理单元;其中,所述数据处理单元用于执行所述芯片的至少部分数据处理任务;
33.所述检测处理单元根据所述执行结果确定所述数据处理单元的工作状态是否正常。
34.在上述第二方面的一种可能的实现中,所述芯片还包括业务处理单元;所述业务处理单元分别与所述数据处理单元和所述检测处理单元连接;所述方法还包括:
35.所述数据处理单元在接收到所述业务处理单元发送的业务指令的情况下,执行所述业务指令得到业务结果;
36.所述业务处理单元在接收到所述检测处理单元发送的所述数据处理单元为异常工作状态的情况下,不从所述数据处理单元读取业务结果;
37.所述业务处理单元在接收到所述检测处理单元发送的所述数据处理单元为正常工作状态的情况下,从所述数据处理单元读取业务结果。
38.第三方面,本技术实施例提供了一种电子设备,所述电子设备包括第一方面任一项所述的芯片。
39.第四方面,本技术实施例提供了一种计算机可读介质,所述可读介质中存储有指令,当所述指令在所述电子设备上运行时,使得所述电子设备执行如第二方面任一项所述的芯片的功能安全检测方法。
附图说明
40.图1根据本技术的一些实施例,示出了一种具有功能安全检测功能的芯片100的结构示意图;
41.图2根据本技术实施例中,示出了一种基于图1中芯片100的另一种芯片100的结构示意图;
42.图3根据本技术实施例,示出了一种实现本技术技术方案提供的功能安全检测功能的片上系统100的结构示意图;
43.图4根据本技术实施例,示出了一种对称算法处理模块1312b的结构示意图。
具体实施方式
44.本技术的说明性实施例包括但不限于芯片、芯片的功能安全检测方法、介质和电子设备,该芯片可以为应用在车载或机器人等电子设备中的芯片,且该芯片能够检测出芯片中因为硬件损坏、老化等因素导致的芯片结构中的逻辑运算等功能出现错误的功能安全问题。
45.为了更好地说明本技术技术方案,下文中先对本技术涉及的术语“功能安全”、“中断线”和“总线”进行解释。
46.(1)功能安全
47.所谓功能安全,是指芯片出现错误时,该错误可以被检测到,并向其他关联部件上报错误。例如,以芯片中的逻辑运算部件(例如与运算、或运算等逻辑运算部件)为例,功能安全可以是指芯片中的逻辑运算部件的逻辑运算正常,在芯片中的逻辑运算部件无法进行正常的逻辑运算的情况下,向芯片中或者芯片外的其他部件上报错误。
48.(2)中断线
49.用于传输中断信号,该中断信号用于迫使中央处理器(central processing unit,cpu)等部件根据中断信号暂停正在执行的程序,转而去进行中断事件的处理;中断处理完毕后,又返回被中断的程序处,继续执行下去。
50.(3)总线
51.总线(bus)是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束,按照计算机所传输的信息种类。
52.如背景技术中提到的,现有技术中存在芯片硬件损坏、老化等因素导致的逻辑运算等功能出现错误的功能安全问题,且该问题不能被及时地被检测出来。为了解决该问题,本技术实施例公开了一种芯片,通过在芯片结构中至少设置两个处理单元来对芯片的功能安全进行检测。例如,其中数据处理单元用于进行数据处理,另一个检测处理单元用于对数据处理单元进行功能安全检测,以检测数据处理单元(例如下文中提到的数据处理单元130和加解密引擎130)是否存在因芯片硬件损坏、老化等因素导致的逻辑运算等功能出现错误的工作状态。
53.例如,检测处理单元可以周期性地向数据处理单元发送功能安全检测指令,其中,该功能安全检测指令中携带用于验证功能安全的操作数,数据处理单元在接收到检测处理单元发送的功能安全检测指令后,根据功能安全检测指令中携带的用于验证功能安全的操作数执行逻辑运算,得到逻辑运算结果。数据处理单元在执行完逻辑运算后,向检测处理单元发送逻辑运算结果,检测处理单元可以根据逻辑运算结果确定数据处理单元的工作状态是否正常。
54.可以理解,本技术实施例中的数据处理单元或者检测处理单元可以包括处理器,或者处理器和集成电路的集合,处理器可以为微处理器、数字信号处理器、微控制器等,和/或其任何组合,可以是单核处理器,多核处理器等,和/或其任何组合。
55.如此,本技术实施例在一定程度上能够有效且及时地检测出数据处理单元中存在的硬件损坏、老化等因素导致的逻辑运算出现错误的问题。
56.例如,在一个适用于本技术技术方案的结构中,图1根据本技术的一些实施例,示出了一种具有功能安全检测功能的芯片100的结构示意图。如图1所示,该芯片100包括数据处理单元130和检测处理单元110,数据处理单元130包括接口1,该接口1包括寄存器132、寄存器133、中断线134和处理模块131。中断线134可以为数据处理单元130的中断引脚。
57.其中,接口1中的寄存器132、寄存器133和中断线134通过总线与检测处理单元110连接;总线107可以是高级高性能总线(advanced high

performance bus,ahb),也可以是其他类型的数据总线,在此不做限制。
58.其中,检测处理单元110用于周期性地向数据处理单元130发送功能安全检测指令,其中,该功能安全检测指令中携带用于验证功能安全的操作数。
59.数据处理单元130用于将接收到的功能安全检测指令存储在寄存器132中,寄存器132用于存储功能安全检测指令,且寄存器132用于在存储功能安全检测指令的情况下唤醒处理模块131读取寄存器132中的该功能安全检测指令,寄存器132向处理模块131发送该功能安全检测指令后,处理模块131执行该功能安全检测指令得到逻辑运算结果(下文中简称运算结果),并在在执行完功能安全检测指令后,唤醒寄存器133从处理模块131读取该逻辑运算结果,寄存器133存储该逻辑运算结果,并通过中断线134向检测处理单元110发送中断指令。
60.检测处理单元110用于在通过中断线134接收到数据处理单元130发送的中断指令的情况下,暂停正在执行的程序,从数据处理单元130的寄存器133读取运算结果,将运算结果与检测处理单元110预先存储的运算结果比较,若运算结果与预先存储的运算结果相同,则确定数据处理单元130为正常工作状态,睡眠并等待下一个验证周期。若运算结果与预先存储的运算结果不相同,则确定数据处理单元130为异常工作状态。
61.如此,本技术实施例能够有效地检测出用于处理数据的数据处理单元130中存在的硬件损坏、老化等因素导致的逻辑运算出现错误的问题。
62.检测处理单元110和数据处理单元130可以包括处理器,或者处理器和集成电路的集合,处理器可以为微处理器、数字信号处理器、微控制器等,和/或其任何组合。检测处理单元110和数据处理单元130可以是单核处理器,多核处理器等,和/或其任何组合。
63.检测处理单元110可以为中央处理单元,如arm架构的处理单元,例如arm cortex

r52,或者如arm架构的功能安全岛。
64.数据处理单元130可以为图形处理单元(graphics processing unit,gpu),现场可编程逻辑门阵列(field programmable gate array,fpga),图像信号处理单元(image signal processor,isp),控制器,视频编解码器,数字信号处理单元(digital signal processor,dsp),基带处理单元,和/或神经网络处理单元(neural

network processing unit,npu)、加解密引擎(encrypt/decrypt engine)等。
65.图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),也可以是其他类型的数据总线,在此不做限制。
66.业务处理单元120可以为中央处理单元(central processing unit,cpu)等。
67.为了避免业务处理单元120向数据处理单元130发送业务指令(例如对待处理处理数据进行加密)的情况下,数据处理单元130向业务处理单元120反馈异常的业务执行结果。因此,需要在业务处理单元120接收到检测处理单元110发送的数据处理单元130为异常工作状态的情况下,不从数据处理单元130的寄存器136中读取业务结果。具体地,如图2所示,可以将业务处理单元120与检测处理单元110连接,便于业务处理单元120得到数据处理单元130的工作状态。
68.业务处理单元120用于向数据处理单元130发送业务指令,数据处理单元130将接收到的业务指令存储在寄存器135中,寄存器135用于在存储业务指令的情况下唤醒处理模
块131读取寄存器135中的该业务指令,寄存器135将业务指令发送至处理模块131,以使得处理模块131执行该业务指令得到业务结果;将业务结果存储在寄存器136中,并通过中断线137向业务处理单元120发送中断指令。
69.业务处理单元120用于在通过中断线137接收到处理模块131发送的中断指令的情况下,暂停正在执行的程序,从寄存器136中读取业务结果。
70.此外,其他一些实施例中,检测处理单元110读取存储在寄存器133的运算结果,判断从数据处理单元130获取到的运算结果与预先存储的运算结果是否相同,在判断出从数据处理单元130获取到的运算结果与预先存储的运算结果不相同的情况下,向业务处理单元120发送逻辑运算处于异常工作状态的信息(上报错误),业务处理单元120便可以向用户提示该逻辑运算操作异常的消息。业务处理单元120用于在接收到检测处理单元110发送的数据处理单元130为异常工作状态的情况下,即使响应于通过中断线137发送的中断信号,也不从数据处理单元130的寄存器136中读取业务结果。
71.此外,可以理解的是,在其他一些实施例中,在检测处理单元110判断出从检测处理单元110获取到的逻辑运算结果与预先存储的逻辑运算结果不相同的情况下,不向业务处理单元120发送逻辑运算处于异常工作状态的信息,而是检测处理单元110解决该逻辑运算操作异常的问题,例如重新启动数据处理单元130进行数据处理。
72.此外,可以理解的是,在其他一些实施例中,为了在数据处理单元130的功能安全出现错误的情况下,能尽快上报给检测处理单元110,功能安全检测响应的优先级要高于正常业务响应的优先级。具体地,在数据处理单元130同时被检测处理单元110和业务处理单元120唤醒并读取到寄存器132中存储的功能安全检测指令和寄存器132中存储的业务指令的情况下,先执行功能安全检测指令,将根据功能安全检测指令执行的运算结果存储在寄存器133,再执行业务执指令,并将根据业务指令执行的业务执行结果发送给寄存器136。
73.在其他一些实施例中,即使处理模块131正在执行业务指令,当处理模块131响应于功能安全检测指令,也会暂停执行业务指令,先执行完功能安全检测指令,再执行业务指令。
74.芯片100在接收数据处理指令的情况下,会对接收的数据进行处理,且数据处理的准确度往往依赖于算术逻辑单元(arithmetic and logic unit)工作的准确度。下面以图2中的数据处理单元130为加解密引擎130为例对本技术技术方案做进一步说明。图3根据本技术实施例,示出了一种实现本技术技术方案提供的功能安全检测功能的芯片100的结构示意图。
75.在加解密引擎130中,存在用于摘要、对称算法和非对称算法的多种逻辑运算部件,例如,图3为本技术实施例提供的一种数据处理单元130的结构示意图,如图3所示:
76.在该结构示意图中,加解密处理模块131包括决策逻辑加解密处理模块1311以及逻辑运算部件1312。逻辑运算部件1312包括摘要算法处理模块1312a、对称算法处理模块1312b和非对称算法处理模块1312c。
77.其中,决策逻辑处理单元1311用于根据接收的指令确定执行该指令的部件,并将指令相应的分发给逻辑运算部件1312中对应的部件。具体地,在一些实施例中,业务处理单元120发送的业务指令中携带待处理的数据和待处理数据的数据处理类型,逻辑运算部件1312用于根据业务指令中的数据处理类型决定向摘要算法处理模块1312a、对称算法处理
模块1312b和非对称算法处理模块1312c中的任意一个或者多个部件发送指令。例如,若数据处理类型为对称算法处理类型,则向对称算法处理模块1312b发送对待处理数据进行对称算法处理的指令。
78.摘要算法处理模块1312a可以用于对业务指令中携带的待处理数据进行摘要算法处理,对称算法处理模块1312b可以用于对业务指令中携带的待处理数据进行对称算法处理,非对称算法处理模块1312c可以用于对业务指令中携带的待处理数据进行非对称算法处理。摘要算法处理模块1312a还可以用于对功能安全指令中携带的操作数进行逻辑运算,对称算法处理模块1312b还可以用于对功能安全指令中携带的操作数进行逻辑运算,非对称算法处理模块1312c还可以用于对功能安全指令中携带的操作数进行逻辑运算。
79.寄存器132包括摘要检验指令队列(command queue)存储模块132a、对称算法检测指令队列存储模块132b和非对称算法检测指令队列存储模块132c。其中,摘要检验指令队列(command queue)存储模块132a、对称算法检测指令队列存储模块132b和非对称算法检测指令队列存储模块132c分别用于存储对应于摘要算法处理模块1312a、对称算法处理模块1312b和非对称算法处理模块1312c的功能安全检测指令。
80.寄存器133用于存储逻辑运算部件1312的逻辑运算结果。其中,寄存器133包括摘要算法应答(event queue)寄存器133a、对称算法应答寄存器133b和非对称算法应答寄存器133c。其中,摘要算法应答(event queue)寄存器133a、对称算法应答寄存器133b和非对称算法应答寄存器133c分别用于存储对应于摘要算法处理模块1312a、对称算法处理模块1312b和非对称算法处理模块1312c的功能安全检测指令的运算结果。
81.寄存器135包括摘要算法业务指令队列存储模块134a、对称算法业务指令队列存储模块135b和非对称算法业务指令队列存储模块134c。其中,摘要算法业务指令队列存储模块134a、对称算法业务指令队列存储模块135b和非对称算法业务指令队列存储模块134c分别用于存储对应于摘要算法处理模块1312a、对称算法处理模块1312b和非对称算法处理模块1312c的业务指令。
82.寄存器136用于存储逻辑运算部件1312根据业务指令执行的数据处理结果。其中,寄存器136包括摘要算法执行结果寄存器136a、对称算法执行结果寄存器136b和非对称算法执行结果寄存器136c。摘要算法执行结果寄存器136a、对称算法执行结果寄存器136b和非对称算法执行结果寄存器136c分别用于存储对应于摘要算法处理模块1312a、对称算法处理模块1312b和非对称算法处理模块1312c的业务指令的执行结果。
83.上述结构中的摘要算法对称算法处理模块1312b2a、对称算法对称算法处理模块1312b2b和非对称算法对称算法处理模块1312b2c在执行业务指令对应的逻辑运算的过程中可能出现逻辑运算错误的问题,为了解决这个问题,下面以业务指令为对称加密业务指令为例说明本技术技术方案。
84.业务处理单元120用于向加解密引擎130发送业务指令,加解密引擎130将接收到的业务指令存储在对称算法业务指令队列存储模块135b中,且对称算法业务指令队列存储模块135b用于在存储业务指令的情况下唤醒对称算法处理模块1312b读取对称算法业务指令队列存储模块135b中的该业务指令,对称算法业务指令队列存储模块135b通过决策逻辑处理模块1311将业务指令发送至对称算法处理模块1312b,以使得对称算法处理模块1312b执行该业务指令,对称算法处理模块1312b执行业务指令得到业务结果,将运算结果通过决
策逻辑处理模块1311存储在对称算法执行结果寄存器136b中,并通过通过决策逻辑处理模块1311和中断线137向业务处理单元120发送中断指令。
85.且在对称算法处理模块1312b执行该业务指令的过程中,检测处理单元110在周期性地向数据处理单元130发送功能安全检测指令的情况下,该功能安全检测指令中携带用于验证功能安全的操作数。加解密引擎130用于将接收到的功能安全检测指令存储在对称算法检测指令队列存储模块132b中,对称算法检测指令队列存储模块132b用于存储功能安全检测指令,且对称算法检测指令队列存储模块132b用于在存储功能安全检测指令的情况下唤醒对称算法处理模块1312b读取对称算法检测指令队列存储模块132b中的该功能安全检测指令,对称算法检测指令队列存储模块132b通过决策逻辑处理模块1311向对称算法处理模块1312b发送该功能安全检测指令后,对称算法处理模块1312b执行该功能安全检测指令得到逻辑运算结果(下文中简称运算结果),并在在执行完功能安全检测指令后,通过决策逻辑处理模块1311唤醒对称算法应答对称算法应答寄存器133bb从对称算法处理模块1312b读取该逻辑运算结果,对称算法应答对称算法应答寄存器133bb存储该逻辑运算结果,并通过中断线134向检测处理单元110发送中断指令。
86.检测处理单元110用于在接收到中断指令,读取存储在对称算法应答寄存器133b的运算结果,判断从数据处理单元130获取到的运算结果与预先存储的运算结果是否相同,在判断出从数据处理单元130获取到的运算结果与预先存储的运算结果相同的情况下,向业务处理单元120发送加解密引擎130处于正常工作状态的信息,业务处理单元120在通过中断线137接收到对称算法处理模块1312b发送的中断指令的情况下,从对称算法执行结果寄存器136b中读取业务结果。
87.在判断出从数据处理单元130获取到的运算结果与预先存储的运算结果不相同的情况下,向业务处理单元120发送加解密引擎130处于异常工作状态的信息(上报错误),业务处理单元120便可以向用户提示该逻辑运算操作异常的消息,即使业务处理单元120在通过中断线137接收到对称算法处理模块1312b发送的中断指令的情况下,暂停正在执行的程序,也不从对称算法执行结果寄存器136b中读取业务结果。
88.可以理解,逻辑运算之中,包括与运算(and)、或运算(or)、非(not)运算、异或运算(xor)等,且逻辑运算部件1312可能涉及大量逻辑运算,为了简化说明,下面以图3中的对称算法处理模块1312b对数据进行对称算法处理的异或(xor)运算逻辑单元为例说明本技术技术方案。
89.例如,图4根据本技术实施例,示出了一种对称算法处理模块1312b的结构示意图。如图4所示,该结构示意图中包括异或运算逻辑单元10,异或运算逻辑单元10包括两个数据输入端a和b以及a和b异或结果输出端。
90.异或运算逻辑单元10接收业务指令,业务指令携带待加密操作数(待加密数据)a和秘钥操作数b,异或运算逻辑单元10利用秘钥操作数b对待加密操作数(待加密数据)a对数据进行对称加密处理,但是异或运算逻辑单元10可能存在硬件损坏或老化导致操作数a和操作数b的异或结果出现错误而不易被发现的问题。
91.本技术实施例中,功能安全检测指令中包括a操作数和b操作数据,例如a操作数=0b1010,b操作数=0b1111,检测处理单元110计算a异或b,得到a与b的异或结果和检测处理单元110预先存储的结果(例如0b0101)比较,如果结果相同,则认为异或运算逻辑单元10正
常工作;如果结果不同,则认为异或运算逻辑单元10出错,向业务处理单元120发送异或运算逻辑单元10异常工作的信息,业务处理单元120便不会从对称算法执行结果存储模块136b读取对称算法执行结果。
92.基于上面的描述,在一些实施例中,本技术实施例还公开了一种电子设备,该电子设备包括上述的芯片。电子设备可以为机器人和车载设备等。
93.基于上面的描述,在一些实施例中,本技术实施例还公开了一种芯片的功能安全检测方法,例如,对应于图2,检测处理单元110周期性地向数据处理单元130发送功能安全检测指令,其中,该功能安全检测指令中携带验证功能安全的操作数。
94.数据处理单元130将接收到的功能安全检测指令存储在寄存器132中,寄存器132存储功能安全检测指令,且寄存器132在存储功能安全检测指令的情况下唤醒处理模块131读取寄存器132中的该功能安全检测指令,寄存器132向处理模块131发送该功能安全检测指令后,处理模块131执行该功能安全检测指令得到逻辑运算结果(下文中简称运算结果),并在在执行完功能安全检测指令后,唤醒寄存器133从处理模块131读取该逻辑运算结果,寄存器133存储该逻辑运算结果,并通过中断线134向检测处理单元110发送中断指令。
95.检测处理单元110在通过中断线134接收到数据处理单元130发送的中断指令的情况下,暂停正在执行的程序,从数据处理单元130的寄存器133读取运算结果,将运算结果与检测处理单元110预先存储的运算结果比较,若运算结果与预先存储的运算结果相同,则确定数据处理单元130为正常工作状态,睡眠并等待下一个验证周期。若运算结果与预先存储的运算结果不相同,则确定数据处理单元130为异常工作状态。
96.如此,本技术实施例能够有效地检测出用于处理数据的数据处理单元130中存在的硬件损坏、老化等因素导致的逻辑运算出现错误的问题。
97.为了避免业务处理单元120向数据处理单元130发送业务指令(例如对待处理处理数据进行加密)的情况下,数据处理单元130向业务处理单元120反馈异常的业务执行结果。因此,需要在业务处理单元120接收到检测处理单元110发送的数据处理单元130为异常工作状态的情况下,不从数据处理单元130的寄存器136中读取业务结果。具体地,如图2所示,可以将业务处理单元120与检测处理单元110连接,便于业务处理单元120得到数据处理单元130的工作状态。
98.业务处理单元120向数据处理单元130发送业务指令,数据处理单元130将接收到的业务指令存储在寄存器135中,寄存器135在存储业务指令的情况下唤醒处理模块131读取寄存器135中的该业务指令,寄存器135将业务指令发送至处理模块131,以使得处理模块131执行该业务指令得到业务结果;将运算结果存储在寄存器136中,并通过中断线137向业务处理单元120发送中断指令。
99.业务处理单元120在通过中断线137接收到处理模块131发送的中断指令的情况下,暂停正在执行的程序,从寄存器136中读取业务结果。
100.此外,其他一些实施例中,检测处理单元110读取存储在寄存器133的运算结果,判断从数据处理单元130获取到的运算结果与预先存储的运算结果是否相同,在判断出从数据处理单元130获取到的运算结果与预先存储的运算结果不相同的情况下,向业务处理单元120发送逻辑运算处于异常工作状态的信息(上报错误),业务处理单元120便可以向用户提示该逻辑运算操作异常的消息。业务处理单元120在接收到检测处理单元110发送的数据
处理单元130为异常工作状态的情况下,即使响应于通过中断线137发送的中断信号,也不从数据处理单元130的寄存器136中读取业务结果。
101.此外,可以理解的是,在其他一些实施例中,在检测处理单元110判断出从检测处理单元110获取到的逻辑运算结果与预先存储的逻辑运算结果不相同的情况下,不向业务处理单元120发送逻辑运算处于异常工作状态的信息,而是检测处理单元110解决该逻辑运算操作异常的问题,例如重新启动数据处理单元130进行数据处理。
102.此外,可以理解的是,在其他一些实施例中,为了在数据处理单元130的功能安全出现错误的情况下,能尽快上报给检测处理单元110,功能安全检测响应的优先级要高于正常业务响应的优先级。具体地,在数据处理单元130同时被检测处理单元110和业务处理单元120唤醒并读取到寄存器132中存储的功能安全检测指令和寄存器132中存储的业务指令的情况下,先执行功能安全检测指令,将根据功能安全检测指令执行的运算结果存储在寄存器133,再执行业务执指令,并将根据业务指令执行的业务执行结果发送给寄存器136。
103.在其他一些实施例中,即使处理模块131正在执行业务指令,当处理模块131响应于功能安全检测指令,也会暂停执行业务指令,先执行完功能安全检测指令,再执行业务指令。
104.在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性电子设备可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,电子设备可读介质可以包括用于以电子设备(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(cd

roms)、磁光盘、只读存储器(rom)、随机存取存储器(ram)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的电子设备可读存储器。因此,电子设备可读介质包括适合于以电子设备(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的电子设备可读介质。
105.虽然通过参照本技术的某些优选实施例,已经对本技术进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本技术的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献