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

控制片上计算系统的方法、片上计算系统及芯片与流程

2022-11-12 11:36:24 来源:中国专利 TAG:


1.本技术实施例涉及集成电路领域,尤其涉及一种控制片上计算系统的方法、片上计算系统及芯片。


背景技术:

2.随着算力的提升,以太坊工作量证明芯片的规模和面积不断扩大,生产过程中模块产生缺陷的概率也不断增大,使得芯片的良率下降。
3.另一方面,随着芯片规模的增大,大量闲置模块持续工作也会产生较高的功耗。


技术实现要素:

4.本技术实施例提供了一种控制片上计算系统的方法,包括:主控模块向片上计算系统的工作模块对应的自检模块发送自检指令;所述主控模块如果没有收到所述自检模块的响应或者所述主控模块根据所述自检模块返回的自检结果判断所述工作模块工作异常,则所述主控模块配置所述工作模块的部分或整体不工作或重新配置所述工作模块的功能;当所述工作模块的部分或整体配置为不工作时,如果所述工作模块具有关联的工作模块,则所述主控模块将所述工作模块关联的工作模块的部分或整体配置为不工作或重新配置所述工作模块关联的工作模块的功能。
5.本技术实施例提供了一种片上计算系统,包括:工作模块组和自检模块组;所述工作模块组包括:n个第一计算模块、交叉开关模块、m个存储控制器模块和m个存储器;所述交叉开关模块包括n个输入端口和m个输出端口并且形成n*m条路由路径;n个第一计算模块与所述交叉开关模块的n个输入端口一一对应连接;m个存储控制器模块的输入端与所述交叉开关模块的m个输出端口一一对应连接;m个存储控制器模块的输出端与m个存储器一一对应连接;n和m为正整数;所述自检模块组包括多个自检模块;每一个自检模块与一个工作模块对应;所述第一计算模块,用于通过所述交叉开关模块和任意一个存储控制器模块访问对应的存储器;所述自检模块,用于检测对应的工作模块的功能并上报自检结果供判断所述工作模块是否工作异常;任意一个工作模块,用于在被判断为工作异常时,被配置为部分或整体不工作或被重新配置功能,在所述工作模块具有关联的工作模块时,所述关联的工作模块被配置为部分或整体不工作或被重新配置功能;其中,所述工作模块包括以下模块的至少一种:第一计算模块、交叉开关模块和存储控制器模块。
6.本技术实施例提供了一种芯片,包括上述片上计算系统。
7.本技术实施例提供的控制片上计算系统的方法,片上计算系统的工作模块具有对
应的自检模块,主控模块向工作模块对应的自检模块发送自检指令,所述主控模块如果没有收到所述自检模块的响应或者所述主控模块根据所述自检模块返回的自检结果判断所述工作模块工作异常,则所述主控模块配置所述工作模块的部分或整体不工作或重新配置所述工作模块的功能。通过关闭工作异常的工作模块的部分或整体,能够降低片上计算系统的运行风险,提升片上计算系统的运行可靠性,降低功耗。当所述工作模块的部分或整体配置为不工作时,如果所述工作模块具有关联的工作模块,则所述主控模块将所述关联的工作模块的部分或整体配置为不工作或重新配置所述关联的工作模块的功能。关闭工作异常的工作模块的关联模块能够进一步提升片上计算系统的运行可靠性,并且降低功耗。
8.在阅读并理解了附图和详细描述后,可以明白其他方面。
附图说明
9.附图用来提供对本技术技术方案的理解,并且构成说明书的一部分,与本技术实施例一起用于解释本技术的技术方案,并不构成对本技术技术方案的限制。
10.图1为本技术实施例的一种控制片上计算系统的方法的流程图;图2为本技术实施例的一种片上计算系统的结构示意图;图3为本技术实施例的一种第一自检单元组和第一计算模块的连接示意图;图4为本技术实施例的一种交叉开关模块的输入端口的连接示意图;图5为本技术实施例的一种交叉开关模块的输出端口的连接示意图;图6为本技术实施例的一种第二计算模块的连接示意图。
具体实施方式
11.本技术描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本技术所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
12.本技术包括并设想了与本领域普通技术人员已知的特征和元件的组合。本技术已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由所附权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由所附权利要求限定的独特的发明方案。因此,应当理解,在本技术中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
13.本技术实施例提供了一种控制片上计算系统的方法。如图1所示,一种控制片上计算系统的方法,包括:步骤s10,主控模块向片上计算系统的工作模块对应的自检模块发送自检指令;步骤s20,所述主控模块如果没有收到所述自检模块的响应或者所述主控模块根据所述自检模块返回的自检结果判断所述工作模块工作异常,则所述主控模块配置所述工
作模块的部分或整体不工作或重新配置所述工作模块的功能;步骤s30,当所述工作模块的部分或整体配置为不工作时,如果所述工作模块具有关联的工作模块,则所述主控模块将所述工作模块关联的工作模块的部分或整体配置为不工作或重新配置所述工作模块关联的工作模块的功能。
14.本技术实施例提供的控制片上计算系统的方法,片上计算系统的工作模块具有对应的自检模块,主控模块向工作模块对应的自检模块发送自检指令,所述主控模块如果没有收到所述自检模块的响应或者所述主控模块根据所述自检模块返回的自检结果判断所述工作模块工作异常,则所述主控模块配置所述工作模块的部分或整体不工作或重新配置所述工作模块的功能。通过关闭工作异常的工作模块的部分或整体,能够降低片上计算系统的运行风险,提升片上计算系统的运行可靠性,降低功耗。当所述工作模块的部分或整体配置为不工作时,如果所述工作模块具有关联的工作模块,则所述主控模块将所述关联的工作模块的部分或整体配置为不工作或重新配置所述关联的工作模块的功能。关闭工作异常的工作模块的关联模块能够进一步提升片上计算系统的运行可靠性,并且降低功耗。
15.在一些示例性的实施方式中,所述工作模块包括以下模块的至少一种:第一计算模块、交叉开关模块和存储控制器模块;所述片上计算系统包括n个第一计算模块、交叉开关模块、m个存储控制器模块和m个存储器;所述交叉开关模块包括n个输入端口和m个输出端口并且形成n*m条路由路径;n个第一计算模块与所述交叉开关模块的n个输入端口一一对应连接;m个存储控制器模块的输入端与所述交叉开关模块的m个输出端口一一对应连接;m个存储控制器模块的输出端与m个存储器一一对应连接;n和m为正整数。
16.在一些示例性的实施方式中,每个第一计算模块对应一个自检模块;第i个第一计算模块的自检模块用于检查第i个第一计算模块是否工作异常;1≤i≤n。
17.在一些示例性的实施方式中,所述第一计算模块用于执行第一计算任务。
18.在一些示例性的实施方式中,所述第一计算任务包括:加密运算。
19.在一些示例性的实施方式中,所述片上计算系统还包括一个第二计算模块;所述工作模块还包括第二计算模块。
20.在一些示例性的实施方式中,所述第二计算模块用于执行第二计算任务。
21.在一些示例性的实施方式中,所述第二计算任务包括:有向无环图(directed acyclic graph,简称dag)计算。
22.在一些示例性的实施方式中,所述第一计算模块对应的自检模块与所述第一计算模块集成在一起。
23.在一些示例性的实施方式中,所述第二计算模块对应的自检模块与所述第二计算模块集成在一起。
24.在一些示例性的实施方式中,所述交叉开关模块包括n个自检模块,第i个自检模块用于检查经过所述交叉开关模块第i个输入端口的路径是否为通路;1≤i≤n。
25.在一些示例性的实施方式中,每个存储控制器模块对应一个自检模块;第j个存储控制器模块的自检模块用于检查第j个存储控制器模块和第j个存储器是否工作异常;1≤j≤m。
26.在一些示例性的实施方式中,所述方法还包括:
主控模块控制第i个第一计算模块和第i个交叉开关模块自检模块分时连接至交叉开关模块的第i个输入端口;第一计算模块对应的自检模块与所述第一计算模块集成在一起;1≤i≤n。
27.在一些示例性的实施方式中,所述方法还包括:主控模块控制交叉开关模块的第j个输出端口和第j个存储控制器模块的自检模块分时连接至第j个存储控制器模块的输入端;1≤j≤m。
28.在一些示例性的实施方式中,所述方法还包括:所述主控模块配置工作模块对应的自检模块的工作时间。
29.在一些示例性的实施方式中,所述方法还包括:所述主控模块配置工作模块之间的关联关系。
30.在一些示例性的实施方式中,主控模块如果判断第j个存储控制器模块工作异常,则将第j个存储控制器模块配置为不工作,并且关闭交叉开关模块的第j个输出端口;1≤j≤m。
31.在一些示例性的实施方式中,主控模块如果判断第i个第一计算模块工作异常,则将第i个第一计算模块配置为不工作,并且关闭交叉开关模块的第i个输入端口;1≤i≤n。
32.本技术实施例提供了一种片上计算系统。如图2所示,一种片上计算系统,包括:工作模块组和自检模块组;所述工作模块组包括:n个第一计算模块、交叉开关模块、m个存储控制器模块和m个存储器;所述交叉开关模块包括n个输入端口和m个输出端口并且形成n*m条路由路径;n个第一计算模块与所述交叉开关模块的n个输入端口一一对应连接;m个存储控制器模块的输入端与所述交叉开关模块的m个输出端口一一对应连接;m个存储控制器模块的输出端与m个存储器一一对应连接;n和m为正整数;所述自检模块组包括多个自检模块;每一个自检模块与一个工作模块对应;所述第一计算模块,用于通过所述交叉开关模块和任意一个存储控制器模块访问对应的存储器;所述自检模块,用于检测对应的工作模块的功能并上报自检结果供判断所述工作模块是否工作异常;任意一个工作模块,用于在被判断为工作异常时,被配置为部分或整体不工作或被重新配置功能,在所述工作模块具有关联的工作模块时,所述关联的工作模块被配置为部分或整体不工作或被重新配置功能;其中,所述工作模块包括以下模块的至少一种:第一计算模块、交叉开关模块和存储控制器模块。
33.本技术实施例提供的片上计算系统包括工作模块组和自检模块,所述工作模块组包括:n个第一计算模块、交叉开关模块、m个存储控制器模块和m个存储器;所述第一计算模块,用于通过所述交叉开关模块和任意一个存储控制器模块访问对应的存储器;所述自检模块组包括多个自检模块;每一个自检模块与一个工作模块对应;所述自检模块用于检测对应的工作模块的功能并上报自检结果供判断所述工作模块是否工作异常;任意一个工作模块用于在被判断为工作异常时,被配置为部分或整体不工作或被重新配置功能,在所述工作模块具有关联的工作模块时,所述关联的工作模块被配置为部分或整体不工作或被重
新配置功能。本技术实施例提供的片上计算系统中的工作模块的功能可以被对应的自检模块进行检测,通过关闭工作异常的工作模块的部分或整体,能够降低片上计算系统的运行风险,降低功耗。关闭工作异常的工作模块的关联模块能够进一步提升片上计算系统的运行可靠性,并且降低功耗。
34.在一些示例性的实施方式中,m个存储器分别是dram(dynamic random access memory,动态随机存取存储器)存储空间的m个存储块(bank)。
35.在一些示例性的实施方式中,所述工作模块组中的每个工作模块的功能以及部分或整体是否工作通过软件独立配置。
36.在一些示例性的实施方式中,所述工作模块组中的多个工作模块的功能以及部分或整体是否工作通过软件统一配置。
37.在一些示例性的实施方式中,如图3所示,所述自检模块组包括:n个第一自检模块;第i个第一自检模块,用于检测第i个第一计算模块的功能;1≤i≤n。
38.在一些示例性的实施方式中,所述第一计算模块用于执行第一计算任务。
39.在一些示例性的实施方式中,所述第一计算任务包括:加密运算。
40.上述片上系统包含有n个第一计算模块,n为正整数,一般来说,2≤n≤1024。n个第一计算模块可以同时并行工作。每个第一计算模块是否工作可以通过软件进行配置。如果某个第一计算模块的晶体管有损坏导致计算功能不正常,则可以通过软件配置使该第一计算模块不工作。
41.在一些示例性的实施方式中,任意一个第一计算模块的功能通过软件独立配置;或者,多个第一计算模块的功能通过软件统一配置。
42.在一些示例性的实施方式中,任意一个第一自检模块是否工作通过软件独立配置;或者,多个第一自检模块是否工作通过软件统一配置。
43.在一些示例性的实施方式中,第一自检模块的工作时间通过软件配置。
44.在一些示例性的实施方式中,第一计算模块被配置的功能包括以下至少一种:线程数、加密运算使用的随机数。第一计算模块的线程数一般不超过512。加密运算使用的随机数一般只被使用一次且非重复。
45.在一些示例性的实施方式中,所述自检模块组包括: n个第二自检模块;第i个第二自检模块,用于检测经过交叉开关模块的第i个输入端口的路由路径是否为通路;1≤i≤n。
46.在一些示例性的实施方式中,第i个第二自检模块与第i个第一计算模块分时复用所述交叉开关模块的第i个输入端口;第i个第一计算模块与第i个第一自检模块集成在一起;1≤i≤n。
47.在一些示例性的实施方式中,如图4所示,所述片上计算系统还包括:n个第一选择器;所述第一选择器包括至少两个输入端口和一个输出端口;所述n个第一选择器的第一输入端口分别与n个第一计算模块一一连接;所述n个第一选择器的第二输入端口分别与n个第二自检模块一一连接;所述n个第一选择器的输出端口分别与交叉开关模块的n个输入端口一一连接;所述第一选择器用于从多路输入中选择一路进行输出。
48.在一些示例性的实施方式中,任意一个第二自检模块是否工作通过软件独立配置;或者,多个第二自检模块是否工作通过软件统一配置。
49.在一些示例性的实施方式中,第二自检模块的工作时间通过软件配置。
50.交叉开关模块的每个输入端口都连接一个独立的自检模块(第二自检模块),用于检测经过该输入端口的路径是否为通路。每一个第二自检模块是否工作可以通过软件独立配置,多个第二自检模块是否工作也可以通过软件统一配置。每个第二自检模块的工作时间,即在片上计算系统工作的哪个阶段使用第二自检模块也可以通过软件进行配置。
51.交叉开关模块实现从n个输入端口的任意一个端口,到m个输出端口的任意一个端口的交换。对于交叉开关模块的某个输入端口连接的第二自检模块,如果该输入端口或某个输出端口所使用的晶体管有损坏、或者某个输出端口所连接的其他模块不能正常工作,均会导致经过所述输入端口的某条路由路径断路。此时,可以关闭所述交叉开关模块的输入端口。
52.在一些示例性的实施方式中,所述自检模块组包括:m个第三自检模块;所述第三自检模块,用于检测存储控制器模块和存储器的功能。
53.在一些示例性的实施方式中,交叉开关模块的第j个输出端口和第j个第三自检模块分时连接至第j个存储控制器模块的输入端;1≤j≤m。
54.在一些示例性的实施方式中,如图5所示,所述片上计算系统还包括:m个第二选择器;所述第二选择器包括两个输入端口和一个输出端口;所述m个第二选择器的第一输入端口分别与m个交叉开关模块的输出端口一一连接;所述m个第二选择器的第二输入端口分别与m个第三自检模块一一连接;所述m个第二选择器的输出端口分别与m个存储控制器模块的输入端一一连接;所述第二选择器用于从两路输入中选择一路进行输出。
55.在一些示例性的实施方式中,任意一个第三自检模块是否工作通过软件独立配置;或者,多个第三自检模块是否工作通过软件统一配置。
56.在一些示例性的实施方式中,第三自检模块的工作时间通过软件配置。
57.在一些示例性的实施方式中,存储控制器模块的控制参数通过软件进行配置。
58.在一些示例性的实施方式中,所述存储控制器模块的控制参数包括存储控制器模块和存储器之间的控制信号的时序。
59.在一些示例性的实施方式中,存储控制器模块和存储器之间的控制信号包括以下至少一种:存储器的刷新时间、行地址信号、列地址信号、行地址选择信号、列地址选择信号、读写指示信号和写数据信号。
60.每个存储控制器模块均有一个对应的自检模块(第三自检模块),用于检测该存储控制器模块以及该存储控制器模块连接的存储器的功能。每一个第三自检模块是否工作可以通过软件进行配置,多个第三自检模块是否工作也可以通过软件统一配置。每个第三自检模块的工作时间,也即在片上计算系统工作的哪个阶段使用第三自检模块可以通过软件进行配置。
61.当存储器为dram存储器时,dram存储器可以包括多个存储块(bank),对于每一个存储块,都有一个独立的存储控制器模块进行控制。每一个存储控制器模块是否工作可以
通过软件配置。如果某一个存储控制器模块通过软件配置为不工作,则不使用该存储控制器模块控制的存储块。比如某一个存储块有坏区,或者某一个存储控制器模块所使用的晶体管有损坏,就可以通过软件配置该存储控制器模块不工作。dram每一个存储块的刷新时间也可以通过配置该存储块对应的存储控制器模块进行调整,具体的刷新时间大小可以根据dram的特性确定,不同的dram可以调整的刷新时间不同。
62.在一些示例性的实施方式中,如图6所示,所述片上计算系统还包括:第二计算模块;所述第二计算模块与第一计算模块和第二自检模块分时复用交叉开关模块的一个输入端口。
63.图6示意性地画了第二计算模块通过第一选择器1的第三输入端口连接交叉开关模块的输入端口1。在其他的实施方式中,第二计算模块可以通过任意一个第一选择器连接交叉开关模块的任意一个输入端口。
64.在一些示例性的实施方式中,当一个工作模块配置为不工作时,与所述工作模块具有关联关系的其他工作模块也可以配置为不工作;其中,第一计算模块与交叉开关模块的输入端口具有关联关系;存储控制器模块与交叉开关模块的输出端口具有关联关系。对关联的工作模块进行关闭操作,可以进一步节省片上计算系统的功耗。
65.在一些示例性的实施方式中,所述自检模块组包括:第四自检模块;所述第四自检模块,用于检测第二计算模块的功能。
66.在一些示例性的实施方式中,所述第二计算模块对应的自检模块(第四自检模块)与所述第二计算模块集成在一起;所述第二计算模块用于执行第二计算任务。
67.在一些示例性的实施方式中,所述第二计算任务包括:有向无环图(directed acyclic graph,简称dag)计算。
68.第二计算模块(dag计算模块)的数据存储位置和数据量可以通过软件进行配置。
69.在一些示例性的实施方式中,第一计算模块与对应的交叉开关模块的输入端口可以配置为同时工作或同时不工作。一个第一计算模块连接交叉开关模块的一个输入端口,如果一个第一计算模块关闭,其对应的交叉开关模块的输入端口也可以关闭。同理,如果交叉开关模块的一个输入端口关闭,其对应的第一计算模块也可以进行关闭。
70.在一些示例性的实施方式中,存储控制器模块与对应的交叉开关模块的输出端口可以配置为同时工作或同时不工作。交叉开关模块的一个输出端口连接一个存储控制器模块,如果一个交叉开关模块的输出端口关闭,其连接的存储控制器模块也可以关闭。同理,一个存储控制器模块关闭,其对应的交叉开关模块的输出端口也可以关闭。对模块中相应的部分进行关联性的关闭,会使片上计算系统的整体功耗消耗更低。
71.片上计算系统工作时可以对各个工作模块发起检测,当发现自检结果异常,能够通过软件对相应的工作模块进行配置。
72.存储控制器模块对应的第三自检模块通过软件配置为工作后,如果检测到所述存储控制器模块的功能异常,则上报给软件,由软件将所述存储控制器模块配置为关闭,在所述存储控制器模块功能正常后,再由软件将所述存储控制器模块配置为打开。
73.交叉开关模块的某个输入端口对应的第二自检模块通过软件配置为工作后,如果
检测到经过所述输入端口的路由路径异常(断路),则上报给软件,由软件将所述输入端口配置为关闭和/或由软件将所述路由路径的输出端口配置为关闭。在所述路由路径恢复通路后,再由软件将所述输入端口配置为打开和/或由软件将所述路由路径的输出端口配置为打开。
74.第一计算模块对应的第一自检模块通过软件配置为工作后,如果检测到所述第一计算模块的功能异常,则上报给软件,由软件将所述第一计算模块配置为关闭,在所述第一计算模块功能正常后,再由软件将所述第一计算模块配置为打开。
75.本公开实施例还提供了一种芯片,包括上述片上计算系统。
76.在一些示例性的实施方式中,所述芯片支持基于以太坊工作量证明机制的应用。
77.本领域普通技术人员可以理解,上文中所公开的装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献