Nothing Special   »   [go: up one dir, main page]

CN109947555A - 数据处理装置、数据发送方法及计算设备 - Google Patents

数据处理装置、数据发送方法及计算设备 Download PDF

Info

Publication number
CN109947555A
CN109947555A CN201711402439.7A CN201711402439A CN109947555A CN 109947555 A CN109947555 A CN 109947555A CN 201711402439 A CN201711402439 A CN 201711402439A CN 109947555 A CN109947555 A CN 109947555A
Authority
CN
China
Prior art keywords
data
busy signal
node chip
chip
processing equipment
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.)
Pending
Application number
CN201711402439.7A
Other languages
English (en)
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.)
Bitmain Technologies Inc
Beijing Bitmain Technology Co Ltd
Original Assignee
Beijing Bitmain Technology 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 Beijing Bitmain Technology Co Ltd filed Critical Beijing Bitmain Technology Co Ltd
Priority to CN201711402439.7A priority Critical patent/CN109947555A/zh
Priority to PCT/CN2018/122789 priority patent/WO2019120294A1/en
Publication of CN109947555A publication Critical patent/CN109947555A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17325Synchronisation; Hardware support therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明公开了一种数据处理装置、数据发送方法及计算设备。该数据处理装置包括串联连接的多个节点芯片,节点芯片设置有忙信号输入管脚和忙信号输出管脚,节点芯片的忙信号输出管脚耦接至下一级节点芯片的忙信号输入管脚,所述忙信号输入管脚和忙信号输出管脚用于控制每个节点芯片在上行通信方向上的数据发送。本发明实施例能够有效避免串联节点芯片之间的数据发送的冲突,通过较少的指令交互实现串联节点芯片的计算任务的分配,并实现串联节点芯片组的快速故障诊断。

Description

数据处理装置、数据发送方法及计算设备
技术领域
本发明涉及数据处理技术领域,特别是涉及一种数据处理装置、数据发送方法及计算设备。
背景技术
目前,随着机器学习尤其是深度学习技术在各领域的应用和发展,对计算装置的数据处理能力提出了更高的要求。GPU处理芯片因为其优于传统CPU的强大的图形处理和并行运算能力,已广泛应用于各领域的数据运算任务,成为通用的深度学习计算平台。
然而,单一GPU架构的计算能力仍然受限,无法满足深度学习、哈希运算等对高强度的数据计算能力的需求。为此,申请号为CN 201610312586.4的中国发明专利申请提出了一种扩展数据处理装置的运算能力的方案,如图1所示。该方案提出了一种由多个节点芯片串联连接的数据处理装置,该数据处理装置经由位于下行通信方向的首级节点芯片的外部接口接收数据处理任务,通过串行连接的各级节点芯片对数据处理任务进行运算处理,并通过首级节点芯片的外部接口返回数据处理结果。该方案中节点芯片的数量可以根据数据处理任务的运算能力需求进行扩展,并且只需要一个节点芯片与外部设备进行通信连接,不占用外部设备的通信接口,因此,可以提供较强的易于扩展的数据处理能力。
虽然上述现有技术将节点芯片串联连接,每个节点芯片都负责一部分计算处理,加快了数据处理速度,但是各节点芯片之间进行数据发送很容易产生冲突。并且,该数据处理装置接收外部设备传输的数据处理任务,需要在各节点芯片之间分配数据处理任务,如何在多个节点芯片之间分配任务以减少信令的交互也是需要考虑的问题。此外,在串联的各节点芯片处理同一数据处理任务时,可能存在某个节点芯片发生宕机的故障情况,从而造成整个节点芯片组无法正常工作,如何快速进行节点芯片的故障诊断也是需要解决的问题。
发明内容
为了解决上述问题,本发明提出一种数据处理装置、数据发送方法及计算设备。
根据本发明的一方面,提出一种数据处理装置,所述数据处理装置包括多个依次串联连接的节点芯片,其中:
位于下行通信方向的首级节点芯片通过外部接口接收命令信号,传输给一个以上的节点芯片进行处理,并通过外部接口返回数据;
所述节点芯片设置有忙信号输入管脚和忙信号输出管脚,位于下行通信方向的节点芯片的忙信号输出管脚耦接至下一级节点芯片的忙信号输入管脚,所述忙信号输入管脚和忙信号输出管脚用于控制相应节点芯片在上行通信方向上的数据发送。
可选地,所述忙信号输出管脚为低/高电平时,指示可以转发下一级节点芯片返回的数据;所述忙信号输出管脚为高/低电平时,指示本级节点芯片或者上一级节点芯片将要或正在发送数据。
可选地,当节点芯片的忙信号输入管脚为高/低电平时,该节点芯片的忙信号输出管脚也为高/低电平。
可选地,本级节点芯片有数据等待发送时,当检测到所述忙信号输入管脚为高/低电平时,等待所述忙信号输入管脚转为低/高电平时,再发送数据;当检测到所述忙信号输入管脚为低/高电平时,立即发送数据;和/或,
本级节点芯片有数据等待发送时,将所述忙信号输出管脚输出为高/低电平,当数据发送完成后将所述忙信号输出管脚输出为低/高电平。
可选地,本级节点芯片正在发送数据时,若检测到所述忙信号输入管脚为高/低电平,继续发送数据,直至缓存队列中的全部数据发送完成。
可选地,本级节点芯片的所述忙信号输出管脚输出为高/低电平后,等待预定的保护间隔时间,再进行数据的传输。
可选地,所述保护间隔时间根据节点芯片之间采取同步或异步通信模式而分别设定。
可选地,所述保护间隔时间根据信号或命令的传输时延和/或芯片的运算速度来设置。
可选地,所述节点芯片包括控制单元和多个运算算子,所述运算算子分为两组或者多组,每组运算算子包括两个或多个串联连接的运算算子,每组运算算子中的首级运算算子与所述控制单元连接。
可选地,所述运算算子包括:运算部件和存储部件;其中:
所述运算部件与上级运算算子的存储部件连接,用于读取上级运算算子存储部件中存储的数据并进行运算;
所述运算部件与存储部件连接,用于将运算得到的数据存储在存储部件中,供下级运算算子调用。
可选地,所述首级节点芯片的数据输出单元与外部控制装置的数据输入单元连接,用于将数据处理装置的运算结果返回给外部控制装置;上级节点芯片的数据输入单元与下级节点芯片的数据输出单元连接,用于接收下级节点芯片运算后得到的数据;所述首级节点芯片的一个或多个数据输入单元与外部控制装置的一个或多个数据输出单元连接,以接收外部控制装置的数据输入或者命令输入,上级节点芯片的一个或多个数据输出单元与下级节点芯片的一个或多个数据输入单元连接,用于向下级节点芯片发送数据输入或者命令输入。
可选地,所述数据处理装置还包括信号转换单元,将两个节点芯片连接,用于进行信号电压适配。
可选地,还包括一个或多个时钟晶体,所述时钟晶体的时钟信号输出接口与所述数据处理装置中的一个节点芯片的时钟信号输入接口连接。
根据本发明的另一方面,提出一种应用于上述数据处理装置的数据发送方法,所述方法包括如下步骤:
本级节点芯片判断缓存队列中是否有等待发送的数据,如果有,则检测所述忙信号输入管脚是否为高/低电平;
如果所述忙信号输入管脚为高/低电平,则等待所述忙信号输入管脚从高/低电平变为低/高电平后,开始发送缓存队列中的数据;
如果所述忙信号输入管脚为低/高电平,则立即发送缓存队列中的数据。
可选地,还包括:本级节点芯片检测到所述忙信号输入管脚为高/低电平时,将所述忙信号输出管脚也输出为高/低电平。
可选地,还包括:
当本级节点芯片判断缓存队列中有等待发送的数据时,将所述忙信号输出管脚输出为高/低电平,当数据发送完成后将所述忙信号输出管脚输出为低/高电平。
可选地,还包括:本级节点芯片正在发送缓存队列中的数据时,若检测到所述忙信号输入管脚为高/低电平,继续发送数据,直至缓存队列中的全部数据发送完成。
可选地,还包括:本级节点芯片的所述忙信号输出管脚输出为高/低电平后,等待预定的保护间隔时间,再进行数据的传输。
根据本发明再一方面,还提出一种计算设备,所述计算设备包括外部控制单元和上述任一数据处理装置,所述数据处理装置通过外部接口与外部控制装置通信连接。
相比现有技术,本发明的一些实施方式通过配置忙信号输入输出管脚来控制串联节点芯片之间的数据发送,有效避免了节点芯片之间的数据发送冲突;通过控制单元和节点芯片之间较少的指令交互实现了串联节点芯片的计算任务的分配,充分利用了串联节点芯片的计算能力,并且实现了串联节点芯片组的快速故障诊断。
附图说明
图1是现有技术中一种数据处理装置的结构示意图;
图2是根据本发明一实施例的数据处理装置的结构示意图;
图3是根据本公开一实施例的节点芯片的结构框图;
图4是根据本公开一实施例的运算算子的结构框图;
图5是根据本发明一实施例的数据发送方法的流程图;
图6是根据本发明另一实施例的数据发送方法的流程图;
图7是根据本发明另一实施例的数据发送方法的流程图;
图8是根据本发明一实施例的任务分配方法的流程图;
图9是根据本发明另一实施例的任务分配方法的流程图;
图10是根据本发明另一实施例的任务分配方法的流程图;
图11是根据本发明一实施例的故障诊断方法的流程图;
图12是根据本发明另一实施例的故障诊断方法的流程图;
图13是根据本发明一实施例的计算设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
图2是根据本发明一实施例的数据处理装置10的结构示意图。如图2所示,所述数据处理装置10包括多个依次串联连接的节点芯片20,其中:
位于下行通信方向的首级节点芯片通过外部接口接收外部控制装置的命令信号,传输给一个以上的节点芯片进行处理,并通过外部接口向外部控制装置返回计算数据;
所述节点芯片20设置有忙信号输入管脚BI和忙信号输出管脚BO,位于下行通信方向的节点芯片20的忙信号输出管脚BO耦接至下一级节点芯片的忙信号输入管脚BI,所述忙信号输入管脚和忙信号输出管脚用于控制相应节点芯片20在上行通信方向上的数据发送。
在一些实施方式中,所述节点芯片20可以采用ASIC专用集成电路、GPU、DSP或FPGA芯片实现。
在一些实施方式中,忙信号输出管脚BO为低/高电平时,指示可以转发下一级节点芯片返回的数据,忙信号输出管脚BO为高/低电平时,指示本级节点芯片或者上一级节点芯片将要或正在发送数据。
在一些实施方式中,当节点芯片20的所述忙信号输入管脚BI为高/低电平时,该节点芯片的所述忙信号输出管脚BO相应地也为高/低电平。
在一些实施方式中,本级节点芯片20的缓存队列FIFO中有等待发送的数据时,当检测到自身的忙信号输入管脚BI为高/低电平时,需要等待所述忙信号输入管脚BI转为低/高电平时,才可以发送数据;当检测到自身的忙信号输入管脚BI为低/高电平时,可以立即发送数据。
在一些实施方式中,当本级节点芯片20正在发送数据时,如果检测到自身的所述忙信号输入管脚BI为高/低电平时,数据发送不受影响,即继续发送数据,直至缓存队列FIFO中的全部数据发送完成。
在一些实施方式中,本级节点芯片20的缓存队列FIFO中有等待发送的数据时,将其自身的忙信号输出管脚BO输出为高/低电平,当数据发送完成后将其自身的忙信号输出管脚BO输出为低/高电平。本发明实施例中,当节点芯片接收复位信号时,其忙信号输出管脚BO就可以变为低/高电平。
在一些实施方式中,本级节点芯片20的所述忙信号输出管脚BO输出为高/低电平后,会等待预定的保护间隔时间GAP,再进行数据的传输。
设定保护间隔时间GAP是为了在本级节点芯片需要发送数据时,还要保证下一级节点芯片没有同时在发送数据。下一级节点芯片发送数据包含两种可能的情形:一是下一级节点芯片正在发送自己的数据,二是下一级节点芯片正在转发更往后的节点芯片发送的数据。
如果本级节点芯片在需要发送数据时,其将忙信号输出管脚BO输出为高/低电平,此时即便下一级节点芯片没有数据正在被转发,也需要等待一个保护间隔时间GAP,这是为了避免当忙信号输出管脚BO刚刚被置为高/低电平的时候,下一级节点芯片已经开发发送数据了。具体实施时,保护间隔时间GAP至少要有8比特的数据传输时间,比如可以设定保护间隔时间GAP是16比特的数据传输时间。
如果有下一级节点芯片正在发送数据,本级节点芯片也要等待一个保护间隔时间GAP,以确保下一级节点芯片的数据发送结束,然后再开始发送本级节点芯片的数据。由于在此之前本级节点芯片的忙信号输出管脚BO已经输出为高/低电平,那么下一级节点芯片后续就不会再继续发送数据了。
实际应用中还有一种情形,当数据处理装置的首级节点芯片需要发送数据的时候,其把忙信号输出管脚BO输出为高/低电平,等链路上最后一级节点芯片检测到忙信号输入管脚BI为高/低电平的时候,已经经过了N级延时。如果最后一级节点芯片在没有检测到忙信号输入管脚BI为高/低电平时,就已经往上行通信方向发送数据,那么它发送出去的数据信号,也是需要经过N级延时才到达首级节点芯片。因此,在设定保护间隔时间GAP时,这两个N级延时,也要控制在保护间隔时间GAP之内。
在一些实施方式中,设定保护间隔时间GAP还需要根据节点芯片之间采用的不同通信模式进行设定。以256个节点芯片串联为例,具体而言:
1)当节点芯片采用异步串行通信模式(UART)时,考虑到节点芯片内部的线延时、PCB延时,这种异步通信模式下,采用16比特的UART传输时间作为保护间隔时间等待是足够的。
2)当节点芯片采用同步串行通信模式时,在256个节点芯片级联的情况下,考虑到从忙信号输出管脚BO到忙信号输入管脚BI的延时时间,而数据在每一级节点芯片转发需要一个时钟周期,总体延时就需要256个时钟周期。因此,在实际电路中可以设定等待512个时钟周期。
在一些实施方式中,所述保护间隔时间根据信号或命令的传输时延和/或芯片的运算速度来设置。
图3是根据本公开一实施例的节点芯片的结构框图,如图3所示,在该实施例中,所述节点芯片包括:控制单元201、两组或者多组运算算子202和一个或多个输入输出接口203,其中:
所述控制单元201与所述输入输出接口203连接,用于与外部进行数据交换;
每组运算算子包括两个或多个串联连接的运算算子。
一个节点芯片上通常都需要设置多个运算算子,为了节省布线空间,降低布线复杂度,更方便控制单元的控制,可以根据节点芯片的可用面积、运算算子的工作特点、运算算子的性能、运算算子的功能或其他因素将多个运算算子分为两组或多组运算算子组,并使每一组运算算子中的运算算子互相串联连接。
上述仅为示例性的说明,在实际操作中,本领域技术人员可根据实际应用的需要对于运算算子进行分组,本公开对于具体分组方法不作具体限定。
在本公开一实施方式中,每组运算算子中的首级运算算子与所述控制单元连接。
由于每组运算算子中的运算算子互相串联连接,因此,每组运算算子中只要有一个运算算子与控制单元连接就可以了。在本公开一实施方式中,可使每组运算算子中的首级运算算子与所述控制单元连接,所述首级运算算子通常是距离控制单元最近的运算算子,这样就可以进一步地节省布线空间,降低布线复杂度。
上述仅为示例性的说明,在实际操作中,本领域技术人员可根据实际应用的需要选择与控制单元连接的运算算子,本公开对其不作具体限定。
在本公开一实施方式中,所述输入输出接口203为两个,分设在所述节点芯片的两端,两个输入输出接口均与所述控制单元连接,使控制单元通过输入输出接口与外部进行数据交换。
上述仅为示例性的说明,在实际操作中,本领域技术人员可根据实际应用的需要选择输入输出接口的安设位置,本公开对其不作具体限定。
图4是根据本公开一实施例的运算算子202的结构框图,如图4所示,在本公开一实施方式中,所述运算算子202包括:一个或多个运算部件2021、一个或多个存储部件2022和时钟输入接口2023,其中:
所述运算部件2021与上级运算算子的存储部件2022连接,用于读取上级运算算子存储部件2022中存储的数据并进行运算;
所述运算部件2021与存储部件2022连接,用于将运算得到的数据存储在存储部件2022中,供下级运算算子调用;
所述时钟输入接口2023与所述控制单元的时钟输出接口连接。
在该实施方式中,通过互相串联的运算算子的逐级数据连接,每个运算算子都能够获取自己需要的数据,而且这种串联结构能够节省布线空间,降低布线复杂度。
进一步地,所述运算算子由微电子电路组成,而所述微电子电路由COMS管、NMOS管组成。
在实际应用中,本领域技术人员可根据实际应用的需要选择与运算目的相匹配的运算算子和存储单元,本公开对于运算算子和存储单元的选择、相关型号不作具体限定。
在一些实施方式中,所述首级节点芯片的数据输出单元与外部控制装置的数据输入单元连接,用于将数据处理装置的运算结果返回给外部控制装置;上级节点芯片的数据输入单元与下级节点芯片的数据输出单元连接,用于接收下级节点芯片运算后得到的数据;所述首级节点芯片的一个或多个数据输入单元与外部控制装置的一个或多个数据输出单元连接,以接收外部控制装置的数据输入或者命令输入,上级节点芯片的一个或多个数据输出单元与下级节点芯片的一个或多个数据输入单元连接,用于向下级节点芯片发送数据输入或者命令输入。
在一些实施方式中,所述数据处理装置还包括信号转换单元,将两个节点芯片连接,用于进行信号电压适配。
在一些实施方式中,还包括一个或多个时钟晶体,所述时钟晶体的时钟信号输出接口与所述数据处理装置中的一个节点芯片的时钟信号输入接口连接。
图5是基于本发明数据处理装置10的数据发送方法的一个实施方式的流程图。如图5所示,基于所述数据处理装置的数据发送方法包括以下步骤:
步骤S1,本级节点芯片判断缓存队列中是否有等待发送的数据;
步骤S2,如果有,则检测所述忙信号输入管脚是否为高/低电平;
步骤S3,如果所述忙信号输入管脚为高/低电平,则等待所述忙信号输入管脚从高/低电平变为低/高电平后,开始发送缓存队列中的数据;
步骤S4,如果所述忙信号输入管脚为低/高电平,则立即发送缓存队列中的数据。
在一些实施方式中,所述数据发送方法进一步包括:
本级节点芯片检测到所述忙信号输入管脚为高/低电平时,将所述忙信号输出管脚也输出为高/低电平。
图6是基于本发明数据处理装置10的数据发送方法的另一个实施方式的流程图。如图6所示,基于所述数据处理装置的数据发送方法包括以下步骤:
步骤S11,本级节点芯片判断缓存队列中是否有等待发送的数据;
步骤S12,如果有,则将所述忙信号输出管脚输出为高/低电平;
步骤S13,检测所述忙信号输入管脚是否为高/低电平;
步骤S14,如果所述忙信号输入管脚为低/高电平,则立即发送缓存队列中的数据;
步骤S15,判断所述缓存队列中的数据是否发送完成;
步骤S16,如果所述缓存队列中的数据已经发送完成,则将所述忙信号输出管脚输出为低/高电平;
步骤S17,如果所述缓存队列中的数据还没有发送完成时检测到所述忙信号输入管脚为高/低电平,则继续发送数据直至缓存队列中的全部数据发送完成。
图7是基于本发明数据处理装置10的数据发送方法的另一个实施方式的流程图。如图7所示,在图6所述实施例的基础上,所述基于所述数据处理装置的数据发送方法,在步骤S12之后还包括以下步骤:
步骤S18,在本级节点芯片的所述忙信号输出管脚输出为高/低电平后,等待预定的保护间隔时间,再进行数据的传输,以确保下一级节点芯片不会同时发送数据。
在一些实施方式中,所述保护间隔时间根据节点芯片之间采取同步或异步通信模式而分别设定。
如之前所示本发明的一些实施例,通过配置忙信号输入输出管脚来控制串联节点芯片之间的数据发送,并且结合保护间隔时间的设置,有效避免了节点芯片之间的数据发送冲突。
图8是基于本发明数据处理装置10的任务分配方法的一个实施方式的流程图。如图8所示,所述基于所述数据处理装置的任务分配方法适用于控制单元,所述方法包括以下步骤:
步骤S21,向所述数据处理装置的节点芯片发送命令,使得节点芯片进入去活状态;
步骤S22,向所述数据处理装置的节点芯片发送地址分配命令,依次为各节点芯片分配芯片地址;
步骤S23,根据各节点芯片的芯片地址,为各节点芯片分配计算任务。
在一些实施方式中,所述向所述数据处理装置的节点芯片发送命令,使得节点芯片进入去活状态的步骤包括:
向所述数据处理装置的各节点芯片分别发送命令,使得各节点芯片依次进入去活状态。
在一些实施方式中,所述向所述数据处理装置的节点芯片发送命令,使得节点芯片进入去活状态的步骤包括:
向所述数据处理装置的所有节点芯片发送一次命令,使得各节点芯片同时进入去活状态。
图9是基于本发明数据处理装置10的任务分配方法的另一个实施方式的流程图。如图9所示,在图8所示实施例基础上,所述基于所述数据处理装置的任务分配方法,在步骤S23之后还包括以下步骤:
步骤S24,节点芯片根据为其分配的计算任务,执行一次或多次哈希运算。
具体而言,哈希运算可以包括加密哈希运算或哈希碰撞运算。
图10是基于本发明数据处理装置10的任务分配方法的另一个实施方式的流程图。如图10所示,所述任务分配方法适用于节点芯片,所述方法包括以下步骤:
步骤S31,接收控制单元发送的地址分配命令;
步骤S32,判断节点芯片当前是否处于去活状态;
步骤S33,当节点芯片处于去活状态时,解析控制单元发送的地址分配命令,将为其分配的芯片地址保存至寄存器,并转入激活状态;
步骤S34,当节点芯片处于激活状态时,该节点芯片不解析控制单元发送的地址分配命令,直接将其转发给下一级节点芯片。
数据处理装置10采用的任务输入命令格式包括HCN字段、起始随机数偏移量SNO字段。HCN字段用于控制每个节点芯片的计算次数,例如,假设执行的计算任务需要2^32次计算,即随机数nonce从初值开始递增,遍历2^32个数值,则对于32个节点芯片串联连接,每个节点芯片只需要计算2^27步。起始随机数偏移量SNO字段包括一个数字。
数据处理装置10采用的SetAddress地址分配命令格式包括芯片地址ChipAddr字段,ChipAddr字段指定单个节点芯片的芯片地址。每个节点芯片的计算任务由SNO和ChipAddr字段中的数值确定。
对于芯片地址的分配,首先,控制单元发出一个ChainInactive命令将一个节点芯片转入去活(Inactive)状态。具体实施中,可以所有节点芯片一起进入去活(Inactive)状态,也可以一个一个设置去活(Inactive)状态。然后,控制单元向这个节点芯片发送SetAddress地址分配命令,来给该节点芯片分配任意地址。
在去活(Inactive)状态下,节点芯片会解析SetAddress地址分配命令并在寄存器中保存其地址,然后转入激活(Active)状态。具体实施中,分配地址后的节点芯片可以根据控制单元的命令进入激活(Active)状态,也可以解析地址分配命令后自动进入激活(Active)状态。
在激活(Active)状态下,节点芯片不解析SetAddress地址分配命令,直接将其转发给下一级节点芯片。对于N个节点芯片串联,控制单元需要依次发出N个SetAddress命令来一个一个给节点芯片分配任意地址。例如,对于256颗节点芯片级连的矿机,控制CPU需要连续发出256个SetAddress地址分配命令才能完成所有节点芯片的地址设置。
图11是基于本发明数据处理装置10的故障诊断方法的一个实施方式的流程图。如图11所示,所述基于所述数据处理装置的故障诊断方法适用于控制单元,所述方法包括以下步骤:
步骤S41,向所述数据处理装置的节点芯片发送工作状态查询命令;
步骤S42,所述数据处理装置的各节点芯片依次转发所述工作状态查询命令;
步骤S43,判断各节点芯片的芯片地址是否与所述工作状态查询命令中指定的芯片地址相匹配;
步骤S44,若节点芯片的芯片地址与所述工作状态查询命令中指定的芯片地址相匹配,返回寄存器数据;
步骤S45,根据节点芯片返回的寄存器数据,判断节点芯片的工作状态。
在一些实施方式中,所述故障诊断方法进一步包括:
若检测发现未接收到与所述工作状态查询命令中指定的芯片地址相匹配的节点芯片返回的寄存器数据,则判断该节点芯片发生故障。
图12是基于本发明数据处理装置10的故障诊断方法的另一个实施方式的流程图。如图12所示,所述基于所述数据处理装置的故障诊断方法适用于控制单元,所述方法包括以下步骤:
步骤S51,向所述数据处理装置的节点芯片发送工作状态查询命令;
步骤S52,所述数据处理装置的各节点芯片依次转发所述工作状态查询命令;
步骤S53,判断所述工作状态查询命令是否指定了查询全部节点芯片的工作状态;
步骤S54,如果是,则各节点芯片依次返回寄存器数据;
步骤S55,根据节点芯片返回的寄存器数据,判断节点芯片的工作状态。
在一些实施方式中,所述故障诊断方法进一步包括:
当所述工作状态查询命令指定了查询全部节点芯片的工作状态时,控制单元根据接收到的节点芯片返回的寄存器数据的数目,判断哪些节点芯片发生故障。
当节点芯片接收到控制单元的工作状态查询命名后,首先转发给下一级节点芯片,对于芯片地址与命令中地址相匹配的节点芯片会通过UART接口把相应寄存器的数值(例如,正在运算的数值)返回给控制单元。控制单元可以根据收到的节点芯片应答的数目来确定装置中的芯片数目。从而,可以利用命令进行节点芯片组的故障诊断,如果正在工作的时候某个节点芯片出现了故障,一方面可以从数据处理装置的哈希率应该基本可以判断出来,也可以根据哪个节点芯片长时间不回复运算数值来加以判断。
图13是基于本发明一实施例的计算设备40的结构示意图。如图13所示,所述计算设备40包括前述数据处理装置10和控制单元30,所述数据处理装置10通过外部接口与所述控制单元30通信连接。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (19)

1.一种数据处理装置,其特征在于,所述数据处理装置包括多个依次串联连接的节点芯片,其中:
位于下行通信方向的首级节点芯片通过外部接口接收命令信号,传输给一个以上的节点芯片进行处理,并通过外部接口返回数据;
所述节点芯片设置有忙信号输入管脚和忙信号输出管脚,位于下行通信方向的节点芯片的忙信号输出管脚耦接至下一级节点芯片的忙信号输入管脚,所述忙信号输入管脚和忙信号输出管脚用于控制相应节点芯片在上行通信方向上的数据发送。
2.根据权利要求1所述的数据处理装置,其特征在于,所述忙信号输出管脚为低/高电平时,指示可以转发下一级节点芯片返回的数据;所述忙信号输出管脚为高/低电平时,指示本级节点芯片或者上一级节点芯片将要或正在发送数据。
3.根据权利要求1或2所述的数据处理装置,其特征在于,当节点芯片的忙信号输入管脚为高/低电平时,该节点芯片的忙信号输出管脚也为高/低电平。
4.根据权利要求2所述的数据处理装置,其特征在于,本级节点芯片有数据等待发送时,当检测到所述忙信号输入管脚为高/低电平时,等待所述忙信号输入管脚转为低/高电平时,再发送数据;当检测到所述忙信号输入管脚为低/高电平时,立即发送数据;和/或,
本级节点芯片有数据等待发送时,将所述忙信号输出管脚输出为高/低电平,当数据发送完成后将所述忙信号输出管脚输出为低/高电平。
5.根据权利要求2所述的数据处理装置,其特征在于,本级节点芯片正在发送数据时,若检测到所述忙信号输入管脚为高/低电平,继续发送数据,直至缓存队列中的全部数据发送完成。
6.根据权利要求4所述的数据处理装置,其特征在于,本级节点芯片的所述忙信号输出管脚输出为高/低电平后,等待预定的保护间隔时间,再进行数据的传输。
7.根据权利要求6所述的数据处理装置,其特征在于,所述保护间隔时间根据节点芯片之间采取同步或异步通信模式而分别设定。
8.根据权利要求6所述的数据处理装置,其特征在于,所述保护间隔时间根据信号或命令的传输时延和/或芯片的运算速度来设置。
9.根据权利要求1所述的数据处理装置,其特征在于,所述节点芯片包括控制单元和多个运算算子,所述运算算子分为两组或者多组,每组运算算子包括两个或多个串联连接的运算算子,每组运算算子中的首级运算算子与所述控制单元连接。
10.根据权利要求9所述的数据处理装置,其特征在于,所述运算算子包括:运算部件和存储部件;其中:
所述运算部件与上级运算算子的存储部件连接,用于读取上级运算算子存储部件中存储的数据并进行运算;
所述运算部件与存储部件连接,用于将运算得到的数据存储在存储部件中,供下级运算算子调用。
11.根据权利要求1所述的数据处理装置,其特征在于,所述首级节点芯片的数据输出单元与外部控制装置的数据输入单元连接,用于将数据处理装置的运算结果返回给外部控制装置;上级节点芯片的数据输入单元与下级节点芯片的数据输出单元连接,用于接收下级节点芯片运算后得到的数据;所述首级节点芯片的一个或多个数据输入单元与外部控制装置的一个或多个数据输出单元连接,以接收外部控制装置的数据输入或者命令输入,上级节点芯片的一个或多个数据输出单元与下级节点芯片的一个或多个数据输入单元连接,用于向下级节点芯片发送数据输入或者命令输入。
12.根据权利要求1所述的数据处理装置,其特征在于,所述数据处理装置还包括信号转换单元,将两个节点芯片连接,用于进行信号电压适配。
13.根据权利要求1所述的数据处理装置,其特征在于,还包括一个或多个时钟晶体,所述时钟晶体的时钟信号输出接口与所述数据处理装置中的一个节点芯片的时钟信号输入接口连接。
14.一种应用于权利要求1-13任一项所述的数据处理装置的数据发送方法,其特征在于,所述方法包括如下步骤:
本级节点芯片判断缓存队列中是否有等待发送的数据,如果有,则检测所述忙信号输入管脚是否为高/低电平;
如果所述忙信号输入管脚为高/低电平,则等待所述忙信号输入管脚从高/低电平变为低/高电平后,开始发送缓存队列中的数据;
如果所述忙信号输入管脚为低/高电平,则立即发送缓存队列中的数据。
15.根据权利要求14所述的数据发送方法,其特征在于,还包括:
本级节点芯片检测到所述忙信号输入管脚为高/低电平时,将所述忙信号输出管脚也输出为高/低电平。
16.根据权利要求14所述的数据发送方法,其特征在于,还包括:
当本级节点芯片判断缓存队列中有等待发送的数据时,将所述忙信号输出管脚输出为高/低电平,当数据发送完成后将所述忙信号输出管脚输出为低/高电平。
17.根据权利要求14或16所述的数据发送方法,其特征在于,还包括:
本级节点芯片正在发送缓存队列中的数据时,若检测到所述忙信号输入管脚为高/低电平,继续发送数据,直至缓存队列中的全部数据发送完成。
18.根据权利要求17所述的数据发送方法,其特征在于,还包括:
本级节点芯片的所述忙信号输出管脚输出为高/低电平后,等待预定的保护间隔时间,再进行数据的传输。
19.一种计算设备,其特征在于,所述计算设备包括外部控制单元和权利要求1-13任一项所述的数据处理装置,所述数据处理装置通过外部接口与外部控制装置通信连接。
CN201711402439.7A 2017-12-21 2017-12-21 数据处理装置、数据发送方法及计算设备 Pending CN109947555A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201711402439.7A CN109947555A (zh) 2017-12-21 2017-12-21 数据处理装置、数据发送方法及计算设备
PCT/CN2018/122789 WO2019120294A1 (en) 2017-12-21 2018-12-21 Data-processing apparatus, data transmission method, and computing system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711402439.7A CN109947555A (zh) 2017-12-21 2017-12-21 数据处理装置、数据发送方法及计算设备

Publications (1)

Publication Number Publication Date
CN109947555A true CN109947555A (zh) 2019-06-28

Family

ID=66993987

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711402439.7A Pending CN109947555A (zh) 2017-12-21 2017-12-21 数据处理装置、数据发送方法及计算设备

Country Status (2)

Country Link
CN (1) CN109947555A (zh)
WO (1) WO2019120294A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113742270A (zh) * 2020-05-27 2021-12-03 合肥君正科技有限公司 一种芯片级联并行计算系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114628957B (zh) * 2022-03-31 2023-07-14 苏州浪潮智能科技有限公司 应用于socket插座的防呆装置及socket插座

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102163184A (zh) * 2011-03-22 2011-08-24 中兴通讯股份有限公司 一种基于专用多芯片串行互连接口的主从传输系统及方法
CN103793344A (zh) * 2012-10-31 2014-05-14 华为技术有限公司 处理数据冲突的方法及系统
CN204883694U (zh) * 2015-06-30 2015-12-16 深圳市茁迩科技发展有限公司 级联系统
CN105528988A (zh) * 2016-02-15 2016-04-27 京东方科技集团股份有限公司 一种栅极驱动电路、触控显示面板及显示装置
CN105760324A (zh) * 2016-05-11 2016-07-13 北京比特大陆科技有限公司 数据处理装置和服务器
KR20160140440A (ko) * 2015-05-29 2016-12-07 캐논 가부시끼가이샤 정보처리장치, 그 제어방법, 및 스토리지
CN206178765U (zh) * 2016-11-07 2017-05-17 北京得瑞领新科技有限公司 Ssd单元及ssd设备
CN107357205A (zh) * 2017-07-18 2017-11-17 深圳市博昊电子有限公司 一种被控设备及链式控制系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101471554B1 (ko) * 2007-07-23 2014-12-11 삼성전자주식회사 파워 업시 피크 전류를 줄이는 멀티칩 패키지
TWI386826B (zh) * 2008-03-11 2013-02-21 Rdc Semiconductor Co Ltd 双端邏輯元件的方位決定方法
US8320149B2 (en) * 2010-02-04 2012-11-27 Richtek Technology Corporation, R.O.C. Multi-chip module with master-slave analog signal transmission function

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102163184A (zh) * 2011-03-22 2011-08-24 中兴通讯股份有限公司 一种基于专用多芯片串行互连接口的主从传输系统及方法
CN103793344A (zh) * 2012-10-31 2014-05-14 华为技术有限公司 处理数据冲突的方法及系统
KR20160140440A (ko) * 2015-05-29 2016-12-07 캐논 가부시끼가이샤 정보처리장치, 그 제어방법, 및 스토리지
CN204883694U (zh) * 2015-06-30 2015-12-16 深圳市茁迩科技发展有限公司 级联系统
CN105528988A (zh) * 2016-02-15 2016-04-27 京东方科技集团股份有限公司 一种栅极驱动电路、触控显示面板及显示装置
CN105760324A (zh) * 2016-05-11 2016-07-13 北京比特大陆科技有限公司 数据处理装置和服务器
CN206178765U (zh) * 2016-11-07 2017-05-17 北京得瑞领新科技有限公司 Ssd单元及ssd设备
CN107357205A (zh) * 2017-07-18 2017-11-17 深圳市博昊电子有限公司 一种被控设备及链式控制系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113742270A (zh) * 2020-05-27 2021-12-03 合肥君正科技有限公司 一种芯片级联并行计算系统

Also Published As

Publication number Publication date
WO2019120294A1 (en) 2019-06-27

Similar Documents

Publication Publication Date Title
CN109947605A (zh) 故障诊断方法
CN101383712B (zh) 一种片上网络的路由节点微结构
CN102970247B (zh) 一种有效的时间触发网络通信时间调度方法
CN110995598B (zh) 一种变长报文数据处理方法和调度装置
CN102446158A (zh) 多核处理器及多核处理器组
CN103595627A (zh) 基于多播维序路由算法的NoC路由器及其路由算法
CN109947555A (zh) 数据处理装置、数据发送方法及计算设备
US9411656B2 (en) Load balance connections per server in multi-core/multi-blade system
CN104717152A (zh) 一种实现接口缓存动态分配的方法和装置
CN111193971B (zh) 一种面向机器学习的分布式计算互连网络系统及通信方法
CN110825210B (zh) 片上系统的时钟树结构的设计方法、装置、设备及介质
CN109933433B (zh) 一种gpu资源调度系统及其调度方法
CN108462659A (zh) 网络交换设备及其数据传输方法
CN105991315A (zh) 一种sdn中的链路保护方法、交换设备及网络控制器
CN109947556A (zh) 任务分配方法
CN109101451A (zh) 芯片串联电路、计算设备及通信方法
CN105094990A (zh) 一种高效的实现大规模数据交换的系统及其方法
CN103152275A (zh) 一种适用于片上网络的可配置交换机制的路由器
CN116155843B (zh) 一种基于pynq的脉冲神经网络芯片数据通信方法及系统
US20160085706A1 (en) Methods And Systems For Controlling Ordered Write Transactions To Multiple Devices Using Switch Point Networks
CN115757251A (zh) 一种数据传输系统、方法、设备以及介质
TW202147141A (zh) 用於數位貨幣的計算裝置和計算系統
CN105049377B (zh) 基于Crossbar架构的AFDX交换机数据总线结构及数据交换方法
CN208819202U (zh) 一种嵌入式多类型接口数据分发系统
CN104243191B (zh) 实现消息跟踪的方法及系统

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190628