芯片串联电路、计算设备及通信方法与流程

文档序号:16429335发布日期:2018-12-28 20:01阅读:432来源:国知局
芯片串联电路、计算设备及通信方法与流程

本发明涉及芯片技术领域,具体涉及一种芯片串联电路、计算设备及通信方法。

背景技术

在信息化时代中,算力芯片得到了越来越广泛的使用。在实际使用中,为了提升算力,一个完整的芯片串联电路通常由串联连接的多级芯片构成,各级芯片能够分别处理对应的控制指令,从而提升整个电路的处理能力。

在图1所示的现有技术的芯片串联电路中,各级芯片的输入接口以及输出接口分别与控制电路相连接。控制电路将控制指令传输至用于处理该控制指令的芯片,由该芯片依据控制指令进行相应的处理后将处理结果传输回控制电路。

发明人在实现本发明的过程中发现,上述方式至少存在如下缺陷:从控制电路发出控制指令的第一时间点至芯片返回响应数据的第二时间点之间的时间长度是不确定的,具体取决于与该控制指令相对应的芯片的具体位置:距离控制电路越近的芯片返回响应数据的时间越短,距离控制电路越远的芯片返回响应数据的时间越长。相应地,控制电路需要分别根据每条控制指令所对应的芯片的位置确定响应数据的获取时机,从而使控制电路的控制方式较为复杂,并且,也不利于准确地确定各条控制指令的获取时机,容易导致确定出的获取时机过早或过迟。其中,当确定出的获取时机过早时,相应的芯片还未处理完毕,因此,容易导致响应数据获取失败;当确定出的获取时机过迟时,相应的芯片早已处理完毕,因此,不利于及时处理响应数据,容易产生滞后问题。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的芯片串联电路、计算设备及通信方法。

本发明提供了一种芯片串联电路,包括:芯片串联电路,包括:串联连接的n级芯片,所述n为大于1的整数;其中,所述n级芯片中的每级芯片具有用于传输控制指令的第一接收端和第一发送端,以及用于传输响应数据的第二接收端和第二发送端;并且,第一级芯片的第一接收端与控制电路相连,第n级芯片的第二发送端与所述控制电路相连;其中,第s级芯片用于通过本级芯片的第一接收端接收来自所述控制电路的控制指令,针对所述控制指令进行处理,以得到处理后的响应数据;其中,所述第s级芯片为所述n级芯片中的任意一级芯片,所述s为大于0,且小于或者等于n的整数;并且,当s大于0且小于n时,所述第s级芯片进一步用于在得到处理后的响应数据之后,通过本级芯片的第二发送端将所述处理后的响应数据传输至第s+1级芯片的第二接收端;当s等于n时,所述第s级芯片进一步用于在得到处理后的响应数据之后,通过本级芯片的第二发送端将所述处理后的响应数据传输至所述控制电路。

本发明还提供了一种用于区块链的计算设备,包括:上述任一所述的芯片串联电路以及控制电路。

本发明还提供了一种基于上述任一所述的计算设备的通信方法,包括:

所述控制电路向所述芯片串联电路发送控制指令,当检测到所述控制指令发送完毕后开始计时;

当计时时间达到预设处理时长时,获取所述芯片串联电路返回的与控制指令相对应的响应数据。

在本发明提供的芯片串联电路中,由第n级芯片的第二发送端与控制电路相连,相应地,每级芯片在得到处理后的响应数据之后,通过本级芯片的第二发送端将处理后的响应数据传输至下一级芯片的第二接收端,直至通过第n级芯片的第二发送端传输至控制电路。由此可见,在本发明提供的方式中,改变了响应数据的传输方式,使响应数据与控制指令均沿上级芯片至下级芯片的方向逐级传输。无论响应数据由哪个芯片产生,其对应的响应数据均需传输至第n级芯片,并由第n级芯片提供给控制电路。在该方式中,从控制电路发出控制指令的第一时间点至芯片返回响应数据的第二时间点之间的时间长度是确定的,与该控制指令相对应的芯片的具体位置无关。相应地,控制电路无需分别根据每条控制指令所对应的芯片的位置确定响应数据的获取时机,只要根据芯片的总数量以及传输时延等因素统一设置一个获取时长即可。也就是说,针对每一个芯片,控制电路发出控制指令至接收响应数据的时间长度是确定的并不随着芯片的变化而发生变化。从而使控制电路的控制方式简单高效,并且,也有利于准确地确定各条控制指令的获取时机,避免出现确定出的获取时机过早或过迟的问题。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了现有技术中的芯片串联电路的结构示意图;

图2a示出了本发明一个实施例的芯片串联电路的一种具体的结构示意图;

图2b示出了本发明另一个实施例的芯片串联电路的一种具体的结构示意图;

图3示出了本发明提供的一种用于区块链的计算设备的结构示意图;

图4示出了控制电路的一种具体结构示意图;

图5示出了本发明提供的一种基于上述计算设备的通信方法的流程图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图2a示出了本发明一个实施例提供的一种芯片串联电路的示意图。在图2a所示的电路中,来自控制电路的控制指令从第一级芯片开始逐级传输至与该控制指令相对应的至少一级芯片(即:控制指令沿上级芯片至下级芯片的顺序朝向远离控制电路的方向传输)。相应地,每级芯片依据与本级芯片对应的控制指令完成相应的处理并得到响应数据之后,将本级芯片得到的响应数据通过上一级芯片逐级往前反馈,并最终经由第一级芯片逐级传输回控制电路(即:响应数据沿下级芯片至上级芯片的顺序朝向控制电路传输),如芯片串联电路包括n级芯片,第m-1级芯片是第m级芯片的上级芯片,第m+1级芯片是第m级芯片的下级芯片。如图2a所示,该芯片串联电路由三个串联连接的芯片11、芯片12以及芯片13构成(图2a仅为示意性的,实际情况中芯片数量可能更多)。其中,芯片11为第一级芯片,芯片12为第二级芯片,芯片13为第三级芯片。来自控制电路的控制指令直接发送给芯片11,由芯片11判断该控制指令是否对应于本芯片,若是,则直接对控制指令进行处理后通过芯片11返回至控制电路,此时,控制指令和响应数据仅通过芯片11传输至控制电路;若否,将该控制指令传输给芯片12,芯片12判断该控制指令是否对应于本芯片,若是,芯片12将该控制指令传输至芯片11,并通过芯片11返回至控制电路,此时,控制指令和响应数据需通过芯片11以及芯片12传输至控制电路;若否,芯片12将该控制指令传输给芯片13,芯片13判断该控制指令是否对应于本芯片,若是,芯片13对控制指令进行处理后传输至芯片12,并通过芯片12传输至芯片11以便最终通过芯片11返回至控制电路,此时,控制指令和响应数据需通过芯片11、芯片12以及芯片13传输至控制电路。

发明人在实现本发明的过程中发现,在图2a所示的芯片串联电路中,从控制电路发出控制指令的第一时间点至芯片返回响应数据的第二时间点之间的时间长度随芯片位置不同而不同。因此,为了便于控制电路准确地确定各条控制指令的获取时机,本发明的又一实施例还提供了另一种形式的芯片串联电路。具体地,该芯片串联电路包括:串联连接的n级芯片,n为大于1的整数;其中,n级芯片中的每级芯片具有用于传输控制指令的第一接收端和第一发送端,以及用于传输响应数据的第二接收端和第二发送端;并且,第一级芯片的第一接收端与控制电路相连,第n级芯片的第二发送端与控制电路相连;其中,第s级芯片用于通过本级芯片的第一接收端接收来自控制电路的控制指令,针对控制指令进行处理,以得到处理后的响应数据;其中,第s级芯片为n级芯片中的任意一级芯片,s为大于0,且小于或者等于n的整数。并且,当s大于0且小于n时,第s级芯片进一步用于在得到处理后的响应数据之后,通过本级芯片的第二发送端将处理后的响应数据传输至第s+1级芯片的第二接收端;当s等于n时,第s级芯片进一步用于在得到处理后的响应数据之后,通过本级芯片的第二发送端将处理后的响应数据传输至控制电路。

为了便于理解,图2b示出了本发明实施例的芯片串联电路的一种具体的结构示意图。图2b为了便于绘制,仅以三个芯片为例进行说明,即:n等于3,s的取值可能为1、2或3。实际情况中,芯片数量可能远大于三。

如图2b所示,每级芯片具有用于传输控制指令的第一接收端和第一发送端,以及用于传输响应数据的第二接收端和第二发送端;并且,第一级芯片21的第一接收端与控制电路相连,第三级芯片23的第二发送端与控制电路相连。其中,每级芯片用于通过本级芯片的第一接收端接收来自控制电路的控制指令,针对所述制指令进行处理,以得到处理后的响应数据。并且,第一级芯片21和第二级芯片22进一步用于在得到处理后的响应数据之后,通过本级芯片的第二发送端将处理后的响应数据传输至下一级芯片的第二接收端;第三级芯片23进一步用于在得到处理后的响应数据之后,通过本级芯片的第二发送端将处理后的响应数据传输至控制电路。

由此可见,在上述方式中,针对每一个芯片,控制电路发出控制指令至接收响应数据的时间长度是确定的,例如,针对图2b中的芯片21,控制电路发出控制指令至接收响应数据的时间长度是时长1;针对图2b中的芯片22,控制电路发出控制指令至接收响应数据的时间长度也是时长1;针对图2b中的芯片23,控制电路发出控制指令至接收响应数据的时间长度也是时长1,并不随着芯片的变化而发生变化。从而使控制电路的控制方式简单高效,并且,也有利于准确地确定各条控制指令的获取时机,避免出现确定出的获取时机过早或过迟的问题。下面详细介绍图2b所示的芯片串联电路的工作原理。具体地,芯片串联电路的工作过程包括两个阶段,第一阶段为控制指令的接收及处理阶段,第二阶段为响应数据的传输阶段。

第一阶段:控制指令的接收及处理阶段。

芯片串联电路通过第一级芯片与控制电路相连,控制电路用于发送各种形式的控制指令。相应地,来自控制电路的所有控制指令都由第一级芯片的第一接收端负责接收,第一级芯片接收后再根据具体情况将接收到的控制指令沿各级芯片依次传输至对应的芯片。其中,控制指令的形式可能包括多种,如,一条控制指令对应一级芯片,或者一条控制指令对应全部芯片,又或者,一条控制指令对应部分控制芯片,当然,上述只是几种示例,在此不做具体限定。

例如,每条控制指令仅对应于一级芯片,相应地,第s级芯片接收到控制指令后,需判断该控制指令是否对应于本级芯片,若是,则针对该控制指令进行处理,以得到响应数据;若否,则通过第s级芯片的第一发送端将该控制指令传输至第s+1级芯片的第一接收端,以供第s+1级芯片执行上述处理。由于第s级芯片为n级芯片中的任意一级,因此,实际上,各级芯片依次执行上述处理,直至控制指令传输至对应的一级芯片。

又如,每条控制指令所对应的芯片级数不确定,可能对应于两级芯片,也可能对应于三级芯片,相应地,第s级芯片接收到控制指令后,需判断该控制指令中是否包含对应于本级芯片的指令内容,若是,则获取该控制指令中包含的对应于本级芯片的指令内容,并针对该控制指令中包含的对应于本级芯片的指令内容进行处理,以得到响应数据;若否,则通过第s级芯片的第一发送端将该控制指令传输至第s+1级芯片的第一接收端,以供第s+1级芯片执行上述处理,需要说明的是,控制指令中可能并不包括第s+1级芯片的指令内容,此时,第s+1级芯片将该控制指令传输至第s+2级芯片即可,以此类推。

另外,前面描述的是第s级芯片判断出该控制指令中不包含对应于本级芯片的指令内容,需要注意的是,第s级芯片可能判断出该控制指令中包含对应于本级芯片的指令内容,此时,仍需进一步判断控制指令中是否进一步包含对应于第s级芯片的后级芯片的指令内容,当控制指令中进一步包含对应于第s级芯片的后级芯片的指令内容时,第s级芯片进一步将控制指令传输至第s+1级芯片的第一接收端。

再如,每条控制指令中均包含对应于n级芯片中的每一级芯片的指令内容。相应地,第s级芯片接收到控制指令后,一方面,获取控制指令中包含的对应于本级芯片的指令内容,针对对应于本级芯片的指令内容进行处理,以得到处理后的响应数据;另一方面,当s小于n(即:第s级芯片并非最后一级芯片)时,将控制指令传输至第s+1级芯片的第一接收端,以供下一级芯片获取对应的指令内容。

在上述几种形式的控制指令中,可进一步通过多种方式设置控制指令的指令内容与芯片级数之间的对应关系。例如,在第一种设置方式中,通过芯片标识来设置控制指令的指令内容与芯片级数之间的对应关系。具体地,控制指令中包含至少一个芯片标识,芯片标识的具体数量与该控制指令所对应的芯片级数相对应。当控制指令中包含多个芯片标识时,每个芯片标识分别对应于一段指令内容。相应地,第s级芯片具体用于:确定控制指令中包含本级芯片的芯片标识时,获取控制指令中包含的对应于本级芯片的指令内容。又如,在第二种设置方式中,通过预设的字段映射关系来设置控制指令的指令内容与芯片级数之间的对应关系。具体地,该字段映射关系用于设定控制指令中包含的各个字段的字段位置与其对应的芯片之间的对应关系。比如,当芯片级数总共为n级时,该字段映射关系中包含n个字段的字段位置与其对应的芯片之间的对应关系。若某个字段为空,则说明该控制指令中并包含对应于相应芯片的指令内容。相应地,第s级芯片具体用于:根据上述预设的字段映射关系获取控制指令中包含的对应于本级芯片的指令内容。上述的两种设置方式可通用于三种控制指令中的任意一种。除上述两种设置方式外,本领域技术人员还可以灵活采用其他方式设置控制指令与芯片之间的对应关系。

图2b中是以芯片串联电路包括三级芯片为例,在实际应用中可能包括三级以上,但是多级芯片与三级芯片的工作原理是类似的,第一级芯片与芯片21的工作原理类似,最后一级芯片的工作原理与芯片23的工作原理类似,中间任意一芯片的工作原理与芯片22的工作原理类似,在此不一一详述。

由此可见,在前两种形式的控制指令实现方式中,第s级芯片进一步用于:当判断出控制指令中不包含对应于本级芯片的指令内容时,将控制指令传输至第s+1级芯片的第一接收端。在第三种形式的控制指令实现方式中,第s级芯片则无需进行判断,直接获取对应于本级芯片的指令内容后将控制指令传输至下一级芯片即可。具体实现时,可根据具体场景灵活选择适宜的控制指令实现方式。例如,在任务类型适宜拆分为多个并行处理的子任务的应用场景中,可以采用第三种形式的控制指令,以便将一个任务拆分为多个分别对应于每级芯片的子任务,以便由每级芯片根据获取到的对应于本级芯片的指令内容执行对应的子任务,从而实现多个子任务的并发处理。又如,在任务类型不适宜拆分,且每个任务需由同一个芯片统一处理时,可以采用第一种形式的控制指令。总之,本领域技术人员可灵活选择控制指令的实现方式。另外,对于同一个芯片串联电路而言,为了提升其通用性,可通用于各种类型的控制指令,此时,为了便于识别,可以在每个控制指令的指令起始位置携带用于标识该控制指令属于哪一种类型的类型标识,以便于芯片根据相应的类型标识选择对应的处理方式。

第二阶段:响应数据的传输阶段。

每级芯片通过第一阶段得到处理后的响应数据之后,需要将该响应数据传输给控制电路。具体传输时,当s大于0且小于n时,第s级芯片进一步用于在得到处理后的响应数据之后,通过本级芯片的第二发送端将处理后的响应数据传输至第s+1级芯片的第二接收端;当s等于n时,第s级芯片进一步用于在得到处理后的响应数据之后,通过本级芯片的第二发送端将处理后的响应数据传输至控制电路。具体到图2b所示的实施例中,第一级芯片的响应数据传输至第二级芯片,再经由第三级芯片传输至控制电路。第二级芯片的响应数据传输至第三级芯片,由第三级芯片传输至控制电路。第三级芯片的响应数据直接传输至控制电路。由此可见,所有芯片产生的响应数据均通过下一级芯片依次传输至最后一级芯片,最终由最后一级芯片传输至控制电路。

具体实施时,为了尽量缩小传输时延,减少控制电路的等待时间,每一级芯片产生响应数据之后都在第一时间将本级芯片产生的响应数据传输至下一级芯片,并且,每一级芯片接收到来自上一级芯片的响应数据之后都在第一时间将接收到的响应数据传输至下一级芯片。

可选地,为了防止各级芯片之间的数据传输通道过于繁忙,避免各级芯片之间在短时间内多次传输响应数据所导致的数据拥塞等情况的发生,每一级芯片产生响应数据之后,可以将来自上一级芯片的响应数据与本级芯片的响应数据进行打包处理后一并传输至下一级芯片。在该方式中,除第一级芯片之外,其他各级芯片均需要将来上一级芯片的响应数据与本级芯片的响应数据进行打包处理。具体地,当s大于1且小于n时,第s级芯片具体用于:将接收到的来自第s-1级芯片发送的响应数据与本级芯片处理后的响应数据进行打包处理,得到包含第s-1级芯片发送的响应数据与本级芯片处理后的响应数据的打包结果,通过本级芯片的第二发送端将打包结果传输至第s+1级芯片的第二接收端;当s等于n时,第s级芯片具体用于:将接收到的来自第s-1级芯片发送的响应数据与本级芯片处理后的响应数据进行打包处理,得到包含第s-1级芯片发送的响应数据与本级芯片处理后的响应数据的打包结果,通过本级芯片的第二发送端将打包结果传输至控制电路。由此可见,在该种方式中,第s-1级芯片发送的响应数据实质上包含了第s-1级芯片产生的响应数据以及位于第s-1级芯片之前的各级芯片产生的响应数据的打包结果。具体到图2b所示的实施例中,第一级芯片的响应数据传输至第二级芯片,第二级芯片将第一级芯片的响应数据与本级芯片的响应数据进行打包处理,并将打包结果作为第二级芯片的响应数据传输至第三级芯片。第三级芯片接收到第一级芯片的响应数据与第二级芯片的响应数据的打包结果之后,进一步将第三级芯片的响应数据添加进去并执行打包处理,从而得到包含第一级芯片的响应数据、第二级芯片的响应数据以及第三级芯片的响应数据的打包结果并传输至控制电路。

另外,进一步可选地,在上述方式中,为了兼顾传输时延以及通道繁忙度,上文提到的来自第s-1级芯片发送的响应数据可以特指符合预设条件的响应数据,以防止第s级芯片无限制地等待上一级芯片的响应数据所导致的时延增大问题。该预设条件可由本领域技术人员根据实际场景灵活设置:

第一种形式的预设条件为:当第s级芯片接收到第s-1级芯片发送的响应数据的时间与第s级芯片产生与本级芯片对应的响应数据的时间之间的时间间隔不大于预设间隔阈值(例如1秒)时,第s级芯片将接收到的来自第s-1级芯片发送的响应数据与本级芯片处理后的响应数据进行打包处理;反之,则不执行打包操作,以使第s级芯片接收到的来自第s-1级芯片发送的响应数据与本级芯片处理后的响应数据分开传输。该方式充分考虑了响应数据之间的时间差,避免了因无限制地等待所导致的时延增大问题。

第二种形式的预设条件为:当第s级芯片接收到的第s-1级芯片发送的响应数据所对应的控制指令与第s级芯片产生的响应数据所对应的控制指令为同一条控制指令时,第s级芯片将接收到的来自第s-1级芯片发送的响应数据与本级芯片处理后的响应数据进行打包处理;反之,则不执行打包操作,以使第s级芯片接收到的来自第s-1级芯片发送的响应数据与本级芯片处理后的响应数据分开传输。具体地,该方式尤其适用于上文提到的第三种形式的控制指令,即:一条控制指令对应于多个并发执行的子任务,相应地,每级芯片负责根据该控制指令中与本芯片对应的指令内容进行处理并得到响应数据。为了便于识别响应数据与控制指令之间的对应关系,通常,在每级芯片产生的响应数据中会携带对应的控制指令的指令标识,相应地,第s级芯片根据接收到的响应数据中携带的指令标识判断接收到的响应数据与本级芯片本次产生的响应数据是否对应于同一控制指令。该方式将同一控制指令所对应的各级响应数据进行打包处理,至少具备如下效果:一方面,同一控制指令所对应的各个响应数据的产生时间差较小,不会产生较大的传输时延;另一方面,针对同一控制指令所对应的各个响应数据进行打包还有利于控制电路的后续处理。

由此可见,在本实施例中,对响应数据的传输路径进行了改变,经改变之后,控制指令所对应的指令数据流与响应数据所对应的响应数据流互为同向数据流。所谓同向数据流是指:算力芯片的指令和数据的传送在该计算链路上是同一方向传输的。具体地,控制指令所对应的指令数据流与响应数据所对应的响应数据流均沿第s级芯片至第s+1级芯片的路径传输。例如,第i级芯片的第一发送端与第i+1级芯片的第一接收端相连,用于将控制指令传输给第i+1级芯片,其中,i为大于0且小于n的整数。由此可见,从第一级芯片开始,每一级芯片(除最后一级芯片之外)均负责将控制指令传输给下一级芯片,因此,控制指令所对应的指令数据流沿第s级芯片至第s+1级芯片的路径传输。又如,第m级芯片的第二接收端与第m-1级芯片的第二发送端相连,用于接收来自第m-1级芯片的响应数据,其中,m为大于1且不大于n的整数。由此可见,从第二级芯片开始,每一级芯片(除第一级芯片之外)均负责从上一级芯片获取响应数据,因此,响应数据所对应的响应数据流也沿第s级芯片至第s+1级芯片的路径传输。由此可见,在该方式中,对于任一芯片而言,该芯片所对应的控制指令均从第一级芯片开始传输,而该芯片所对应的响应数据均从最后一级芯片发送至控制电路。换言之,对于任一芯片所对应的任一控制指令而言,该控制指令从控制电路中发送完毕的时间点直至该控制指令所对应的响应数据传输回控制电路的时间点之间的差值为固定的预设处理时长。该预设处理时长与芯片位置无关,可根据以下中的至少一个确定:多级芯片的总个数n、每级芯片之间的传输时延、以及芯片内部的处理时延。

由于芯片串联电路中包含的芯片总个数是固定不变的,实际情况中,每级芯片之间的传输时延以及芯片内部的处理时延也可以通过具体的电路的性能进行估算,因此,该预设处理时长对于控制电路而言为固定值,有利于控制电路准确估算获取响应数据的时延。

综上可知,在本实施例提供的芯片串联电路中,可通过一种高速全双工同步通信总线(serialperipheralinterface,简称spi,串行外设接口)进行通讯。另外,上述n级芯片中的每级芯片进一步具有数据采样时钟以及数据发送时钟,其中,作为发送端的芯片中的数据发送时钟能够与作为接收端的芯片中的数据采样时钟相互校准,以调整时钟相位。

图3示出了本发明提供的一种用于区块链的计算设备的结构示意图,包括:上述的芯片串联电路以及控制电路。其中,图3中的芯片串联电路包含n级芯片,每级芯片中进一步示出了数据采样时钟(sck_i)以及数据发送时钟(sck_o)。实质上,图2b所示的芯片串联电路中的每级芯片也包含数据采样时钟以及数据发送时钟,图2b未示出。另外,在图3中,为了便于绘图,通过up_rx表示第一接收端,up_tx表示第一发送端,down_rx表示第二接收端,down_tx表示第二发送端。

具体地,控制电路进一步用于:当检测到控制指令发送完毕后开始计时,当计时时间达到预设处理时长时,获取芯片串联电路返回的与控制指令相对应的响应数据。具体实施时,控制电路可通过至少两种方式来获取响应数据:

第一种方式为:当计时时间达到预设处理时长时,向芯片串联电路发送用于获取响应数据的获取命令,以获取芯片串联电路返回的与控制指令相对应的响应数据。在该种方式中,各级芯片不是主动上报响应数据,而是根据来自控制电路的获取命令被动返回响应数据。

第二种方式为:当计时时间达到预设处理时长时,查询并获取芯片串联电路返回的与控制指令相对应的响应数据。在该种方式中,各级芯片能够主动上报响应数据。例如,各级芯片可将响应数据主动传输给控制电路,具体可将响应数据存储在控制电路中的预设位置。相应地,控制电路需要在预设处理时长到达时,从预设位置查询是否已存在对应的响应数据,并在查询结果为是时,获取相应的响应数据;若查询结果为否,则发送提醒命令提醒芯片串联电路回传响应数据。在该种方式中,各级芯片可以主动传输响应数据,控制电路只需查询是否已存在响应数据,并根据查询结果进行处理即可。

实际情况中,可根据需要灵活设定芯片串联电路为主动上报或被动响应模式。

本实施例中的控制电路包括:现场可编程门阵列(fpga,field-programmablegatearray)、和/或微控制单元(mcu,microcontrollerunit)等。

为了便于理解,图4示出了控制电路的一种具体结构示意图。如图4所示,控制电路具体包括以下几个模块:

任务发送队列模块(taskqueue),用于存储向芯片发送的任务;

时钟发生模块(clockgenerator);

数据接收模块(data_queue),用于接收芯片产生的数据;

任务解码模块(cmd_decodemodule);

数据接收控制逻辑模块(controllogic);

接口模块(tx_rx_phy),用于完成数据的收发;

数据接收解码模块(rec_decodemodule);

数据接收时钟调整模块(timing_adjust)。

具体地,taskqueue模块用来存储芯片的任务和指令,并将任务和指令转换成8比特或16比特数据后,将数据发送到cmd_decodemodule模块,cmd_decodemodule模块将数据解码处理之后将8比特或16比特的数据送入tx_rx_phy模块。同时tx_rx_phy模块会输出one_cmd_send_overflag信号,该信号用于表示一个完整的指令发送结束,与一个完整的指令的最后一个比特位对齐。等到(n-1)个sck_i时钟的整数倍,输出recv_start_enx信号,就开始采集数据。若芯片对指令的延时时间为1个时钟周期,则需要等待(n-1)个时钟。此时在tx_rx_phy模块,开始接收算力芯片返回的响应数据。在tx_rx_phy模块中,包含一个timing_adjust模块,该模块用来调整一下接收时钟的时钟相位,以便可以正确的采集数据。将接收到芯片的返回数据转换为8比特或16比特的数据后,输出至rec_decodemodule模块,在该模块中进行数据的解码,并把数据存储到data_queue模块。至此完成了算力芯片的数据发送和接收。

由此可见,本发明中的计算设备可以采用同步串行控制方法进行控制,该方法改变了响应数据的传输路径。例如,在图2a中,各个芯片的响应数据的传输路径分别如每级芯片内部的虚线所示。芯片11的数据传输方向如芯片11内部的虚线所示,芯片12的数据传输方向如芯片12内部的虚线所示,芯片13的数据传输方向如芯片13内部的虚线所示,即:每个芯片均通过前级芯片接控制指令,而每个芯片的响应数据均向前传输至第一级芯片,即通过前级芯片反馈至控制电路。在该方式中,通信控制方式较为复杂,每一颗芯片的计算值和反馈值(即响应数据)相对于控制电路的到达时间都是不确定的,控制电路在获取某一颗算力芯片返回的响应数据的时候,需要去定位该芯片在该链路的位置,结合位置确定出该芯片的响应数据的反馈时间。因此增加了控制电路控制的复杂度。然而,在图2b以及图3中,各个芯片的响应数据的传输路径是一致的,如图2b及图3中的虚线所示,即:每个芯片的响应数据均向后传输至最后一级芯片。每个芯片的控制指令与响应数据的总的路径是相同的,由此一来,无论控制电路给该链路上的任何一颗算力芯片发送指令,在发送完完整指令之后,都会在预设处理时长之后有数据返回,这极大地简化了算力芯片计算数据的获取方式。例如,假设算力芯片在接收到一条完整的指令之后,在下一个时钟周期的时候,就会有返回码输出。那么采用同向数据流的方式,算力芯片的返回值是在确定时间内返回至控制电路的。这个时间和该链路上的芯片数量有关系。在发送完特定某一颗芯片的完整的一条指令之后,以该指令的最后一个bit为起点,在间隔n-1的时钟周期(具体时钟周期的数量还需综合考虑芯片传输时延以及处理速度等因素)后,就会得到该芯片的返回值(假设该芯片此刻有返回值)。

另外,由于当前区块链数据挖掘需要用到大量的算力芯片进行计算和网络节点数据的挖掘。相应地,本实施例可以针对区块链数据挖掘中使用的算力芯片,提出一种基于芯片串联电路的便捷的串行通信控制方法,以便用于控制同向数据流连接的算力芯片。由此可见,本实施例中的控制指令可以根据矿池中的挖矿数据或区块链网络获取,并且,响应数据能够用于提供给矿池或区块链网络。

图5示出了本发明提供的一种基于上述计算设备的通信方法,包括:

步骤s510:控制电路向芯片串联电路发送控制指令,当检测到控制指令发送完毕后开始计时。

步骤s520:当计时时间达到预设处理时长时,获取芯片串联电路返回的与控制指令相对应的响应数据。关于上述各个步骤的具体实现方式可参照上述实施例中相应部分的描述,此处不再赘述。

最后,需要注意的是:以上列举的仅是本发明的具体实施例子,当然本领域的技术人员可以对本发明进行改动和变型,倘若这些修改和变型属于本发明权利要求及其等同技术的范围之内,均应认为是本发明的保护范围。

本发明还公开了a1.一种芯片串联电路,包括:串联连接的n级芯片,所述n为大于1的整数;其中,所述n级芯片中的每级芯片具有用于传输控制指令的第一接收端和第一发送端,以及用于传输响应数据的第二接收端和第二发送端;并且,第一级芯片的第一接收端与控制电路相连,第n级芯片的第二发送端与所述控制电路相连;

其中,第s级芯片用于通过本级芯片的第一接收端接收来自所述控制电路的控制指令,针对所述控制指令进行处理,以得到处理后的响应数据;其中,所述第s级芯片为所述n级芯片中的任意一级芯片,所述s为大于0,且小于或者等于n的整数;

并且,当s大于0且小于n时,所述第s级芯片进一步用于在得到处理后的响应数据之后,通过本级芯片的第二发送端将所述处理后的响应数据传输至第s+1级芯片的第二接收端;当s等于n时,所述第s级芯片进一步用于在得到处理后的响应数据之后,通过本级芯片的第二发送端将所述处理后的响应数据传输至所述控制电路。

a2.根据a1所述的芯片串联电路,其中,所述第s级芯片进一步用于:获取所述控制指令中包含的对应于本级芯片的指令内容,针对所述对应于本级芯片的指令内容进行处理,以得到处理后的响应数据。

a3.根据a2所述的芯片串联电路,其中,当s大于0且小于n时,若所述控制指令中进一步包含对应于所述第s级芯片的后级芯片的指令内容,所述第s级芯片进一步用于:将所述控制指令传输至第s+1级芯片的第一接收端,。

a4.根据a1所述的芯片串联电路,其中,当s大于0且小于n时,所述第s级芯片进一步用于:若判断出所述控制指令中不包含对应于本级芯片的指令内容,将所述控制指令传输至第s+1级芯片的第一接收端。

a5.根据a2-a4任一所述的芯片串联电路,其中,所述第s级芯片具体用于:确定所述控制指令中包含本级芯片的芯片标识时,获取所述控制指令中包含的对应于本级芯片的指令内容;和/或,

所述第s级芯片具体用于:根据预设的字段映射关系获取所述控制指令中包含的对应于本级芯片的指令内容;其中,所述字段映射关系用于设定控制指令中包含的各个字段的字段位置与其对应的芯片之间的对应关系。

a6.根据a1-a5任一所述的芯片串联电路,其中,第i级芯片的第一发送端与第i+1级芯片的第一接收端相连,用于将所述控制指令传输给第i+1级芯片,其中,i为大于0且小于n的整数。

a7.根据a1-a6任一所述的芯片串联电路,其中,第m级芯片的第二接收端与第m-1级芯片的第二发送端相连,用于接收来自第m-1级芯片的响应数据,其中,m为大于1且不大于n的整数。

a8.根据a1-a7任一所述的芯片串联电路,其中,所述n级芯片中的每级芯片进一步具有数据采样时钟以及数据发送时钟,其中,作为发送端的芯片中的数据发送时钟能够与作为接收端的芯片中的数据采样时钟相互校准,以调整时钟相位。

a9.根据a1-a8任一所述的芯片串联电路,其中,所述控制指令所对应的指令数据流与所述响应数据所对应的响应数据流互为同向数据流。

a10.根据a1-a9任一所述的芯片串联电路,其中,当s大于1且小于n时,所述第s级芯片具体用于:将接收到的来自第s-1级芯片发送的响应数据与本级芯片处理后的响应数据进行打包处理,得到包含第s-1级芯片发送的响应数据与本级芯片处理后的响应数据的打包结果,通过本级芯片的第二发送端将所述打包结果传输至第s+1级芯片的第二接收端;

当s等于n时,所述第s级芯片具体用于:将接收到的来自第s-1级芯片发送的响应数据与本级芯片处理后的响应数据进行打包处理,得到包含第s-1级芯片发送的响应数据与本级芯片处理后的响应数据的打包结果,通过本级芯片的第二发送端将所述打包结果传输至所述控制电路。

本发明还公开了b11.一种用于区块链的计算设备,包括:a1-a10任一所述的芯片串联电路以及控制电路。

b12.根据b11所述的计算设备,其中,所述控制电路进一步用于:当检测到控制指令发送完毕后开始计时,当计时时间达到预设处理时长时,获取所述芯片串联电路返回的与控制指令相对应的响应数据。

b13.根据b12所述的计算设备,其中,所述控制电路具体用于:当计时时间达到预设处理时长时,向所述芯片串联电路发送用于获取响应数据的获取命令,以获取所述芯片串联电路返回的与控制指令相对应的响应数据;或者,

所述控制电路具体用于:当计时时间达到预设处理时长时,查询并获取所述芯片串联电路返回的与控制指令相对应的响应数据。

b14.根据b12或b13所述的计算设备,其中,所述预设处理时长根据以下中的至少一个确定:多级芯片的总个数、每级芯片之间的传输时延、以及芯片内部的处理时延。

b15.根据b11-b14任一所述的计算设备,其中,所述控制电路包括:现场可编程门阵列、和/或微控制单元;

其中,所述控制指令根据矿池中的挖矿数据或区块链网络获取,并且,所述响应数据用于提供给所述矿池或区块链网络。

本发明还公开了c16.一种基于b11-b15任一所述的计算设备的通信方法,包括:

所述控制电路向所述芯片串联电路发送控制指令,当检测到所述控制指令发送完毕后开始计时;

当计时时间达到预设处理时长时,获取所述芯片串联电路返回的与控制指令相对应的响应数据。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1