芯片的扫频装置、方法和电子设备

文档序号:799445 发布日期:2021-04-13 浏览:37次 >En<

阅读说明:本技术 芯片的扫频装置、方法和电子设备 (Frequency sweeping device and method for chip and electronic equipment ) 是由 严献平 杨鑫 于 2019-10-10 设计创作,主要内容包括:本申请实施例公开了一种芯片的扫频装置、方法和电子设备,能够提高芯片的工作频率和算力。该芯片的扫频装置包括:N组芯片,设置于电路板上,其中,该N组芯片中的每组芯片包括至少一个芯片,N为大于1的正整数;控制器,连接于该N组芯片,用于依次对该N组芯片进行扫频测试,并确定该N组芯片中每组芯片的工作频率。(The embodiment of the application discloses a frequency sweeping device and method of a chip and electronic equipment, and the frequency sweeping device and method can improve the working frequency and computing power of the chip. The frequency sweeping device of the chip comprises: the chip module comprises N groups of chips arranged on a circuit board, wherein each group of chips in the N groups of chips comprises at least one chip, and N is a positive integer greater than 1; and the controller is connected with the N groups of chips and is used for sequentially carrying out frequency sweep test on the N groups of chips and determining the working frequency of each group of chips in the N groups of chips.)

芯片的扫频装置、方法和电子设备

技术领域

本申请涉及芯片技术领域,并且更为具体地,涉及一种芯片的扫频装置、方法和电子设备。

背景技术

随着信息技术的发展,在人工智能(Artificial Intelligence,AI)、数字凭证处理等领域中,对进行数据运算处理的芯片的算力要求不断快速提升。

目前,在一些数据处理专用的装置中,处理器采用多个芯片进行计算,以提高数据处理的速度。一般情况下,对多个芯片进行扫频确定其统一的工作频率。若多个芯片中的某个芯片性能较差时,其带来的木桶效应会造成其它多个芯片的工作频率偏低,影响其它多个芯片的算力,从而影响装置的系统性能。

因此,如何解决在扫频过程中由于性能较差的芯片带来的木桶效应,提高多个芯片的工作频率和算力,是一项亟待解决的问题。

发明内容

本申请实施例提供了一种芯片的扫频装置、方法和电子设备,能够提高芯片的工作频率和算力。

第一方面,提供一种芯片的扫频装置,包括:N组芯片,设置于电路板上,其中,该N组芯片中的每组芯片包括至少一个芯片,N为大于1的正整数;

控制器,连接于该N组芯片,用于依次对该N组芯片进行扫频测试,并确定该N组芯片中每组芯片的工作频率。

在本申请实施例的技术方案中,控制器不是同时对N组芯片中的所有芯片进行扫频测试得到所有芯片统一的工作频率,而是依次对N组芯片进行扫频测试并分别得到每组芯片的工作频率,减小N组芯片中性能较差的芯片对其它芯片的影响,避免该芯片产生木桶效应,提高多个芯片的工作频率,从而提高多芯片的算力和系统性能。

在一种可能的实现方式中,该N组芯片的数据线串联,该电路板包括M个电压域,M为大于1的正整数,该至少一个芯片位于该M个电压域。

在一种可能的实现方式中,该N组芯片中的每组芯片包括M个芯片,该M个芯片分别位于该M个电压域。

在该实现方式中,每组芯片的M个芯片分别位于M个电压域,其中,一组芯片进行扫频测试时,该组芯片的测试不会影响相同电压域上其它芯片,扫频测试得到N组芯片的工作频率最高。

在一种可能的实现方式中,该N组芯片在该电路板上呈N列排列,该M个电压域上的芯片在该电路板上呈M行排列。

在一种可能的实现方式中,位于该电路板上同一个电压域的芯片不同时进行扫频测试。

在一种可能的实现方式中,该控制器用于:从该N组芯片中的第a组芯片开始,按照位置顺序依次对该N组芯片进行扫频测试,其中,1≤a≤N,且a为正整数。

在一种可能的实现方式中,该控制器用于:

对于所述N组芯片中的第k组芯片,其中,1≤k≤N,且k为正整数,将该第k组芯片的测试频率设置为X个测试频率中的第i个测试频率,并对该第k组芯片发送测试数据,其中,该X个测试频率依次递增,X为大于1的正整数,2≤i≤X,且i为正整数;

获取并判断该第k组芯片中每个芯片的随机数的数量是否在第一阈值范围内,以确定该第k组芯片的工作频率,其中,该随机数为该第k组芯片中每个芯片接收测试数据后生成的数据。

在一种可能的实现方式中,该控制器用于:判断该第k组芯片中每个芯片的随机数的数量均在第一阈值范围内,且i+1≤X时,采用该X个测试频率中的第i+1个测试频率对该第k组芯片进行扫频测试;

判断该第k组芯片中每个芯片的随机数的数量均在第一阈值范围内,且i+1>X时,确定该第k组芯片的工作频率为该X个测试频率中的第X个测试频率;

判断该第k组芯片中至少一个芯片的随机数的数量在第一阈值范围外时,确定该第k组芯片的工作频率为该X个测试频率中的第i-1个测试频率。

在一种可能的实现方式中,将该N组芯片中除第k组芯片外其它组芯片的测试频率设置为该X个测试频率中的第一个测试频率。

在一种可能的实现方式中,该控制器用于:

对于所述N组芯片中的第k组芯片,其中,1≤k≤N,且k为正整数,将该第k组芯片的测试频率设置为Y个测试频率中的第j个测试频率,并对该第k组芯片发送测试数据,其中,该Y个测试频率依次递减,Y为大于1的正整数,2≤j≤Y,j为正整数;

获取并判断该第k组芯片中每个芯片的随机数的数量是否在第一阈值范围内,以确定该第k组芯片的工作频率,其中,该随机数为该第k组芯片中每个芯片接收测试数据后生成的数据。

在一种可能的实现方式中,该控制器用于:判断该第k组芯片中至少一个芯片的随机数的数量在第一阈值范围外,且j+1<Y时,采用该Y个测试频率中的第j+1个测试频率对该第k组芯片进行扫频测试;

判断该第k组芯片中至少一个芯片的随机数的数量在第一阈值范围外,且j+1=Y时,确定该第k组芯片的工作频率为该Y个测试频率中的第Y个测试频率;

判断该第k组芯片中每个芯片的随机数的数量均在第一阈值范围内时,确定该第k组芯片的工作频率为该Y个测试频率中的第j个测试频率。

在一种可能的实现方式中,所述控制器还用于:将该N组芯片中除该第k组芯片外其它组芯片的测试频率设置为该Y个测试频率中的第Y个测试频率。

在一种可能的实现方式中,该控制器用于:

对于所述N组芯片中的第k组芯片,其中,1≤k≤N,且k为正整数,将该第k组芯片的测试频率设置为该Z个测试频率中的第w个测试频率,并对该第k组芯片发送测试数据,其中,该Z个测试频率依次递增或依次递减,Z为大于1的正整数,2≤w≤Z,且w为正整数;

获取并判断该第k组芯片中所有芯片的随机数的数量总和是否在第二阈值范围内,以确定该第k组芯片的工作频率,其中,该随机数为该第k组芯片中每个芯片接收测试数据后生成的数据。

在一种可能的实现方式中,当Z个测试频率依次递增时,Z可以等于上述X,当Z个测试频率依次递减时,Z可以等于上述Y。

在一种可能的实现方式中,该扫频装置还包括:存储器,用于存储该N组芯片中每组芯片的工作频率。

第二方面,提供一种芯片的扫频方法,包括:依次对电路板上的N组芯片进行扫频测试,其中,该N组芯片中的每组芯片包括至少一个芯片,N为大于1的正整数;确定该N组芯片中每组芯片的工作频率。

在一种可能的实现方式中,该N组芯片的数据线串联,该电路板包括M个电压域,M为大于1的正整数,该至少一个芯片位于该M个电压域。

在一种可能的实现方式中,该N组芯片中的每组芯片的数量相等,均包括M个芯片,该M个芯片分别位于该M个电压域。

在一种可能的实现方式中,该N组芯片在该电路板上呈N列排列,该M个电压域上的芯片在该电路板上呈M行排列。

在一种可能的实现方式中,位于该电路板上同一个电压域的芯片不同时进行扫频测试。

在一种可能的实现方式中,该依次对N组芯片进行扫频测试,包括:

从该N组芯片中的第i组芯片开始,按照位置顺序依次对该N组芯片进行扫频测试,其中,1≤i≤N,且i为正整数。

在一种可能的实现方式中,该依次对N组芯片进行扫频测试,包括:

对于所述N组芯片中的第k组芯片,其中,1≤k≤N,且k为正整数,将该第k组芯片的测试频率设置为该X个测试频率中的第i个测试频率,并对该第k组芯片发送测试数据,其中,该X个测试频率依次递增,X为大于1的正整数,2≤i≤X,且i为正整数;

获取并判断该第k组芯片中每个芯片的随机数的数量是否在阈值范围内,以确定该第k组芯片的工作频率,其中,该随机数为该第k组芯片中每个芯片接收测试数据后生成的数据。

在一种可能的实现方式中,该获取并判断该第k组芯片中每个芯片的随机数的数量是否在阈值范围内,以确定该第k组芯片的工作频率,包括:

判断该第k组芯片中每个芯片的随机数的数量均在第一阈值范围内,且i+1≤X时,采用该X个测试频率中的第i+1个测试频率对该第k组芯片进行扫频测试;

判断该第k组芯片中每个芯片的随机数的数量均在第一阈值范围内,且i+1>X时,确定该第k组芯片的工作频率为该X个测试频率中的第X个测试频率;

判断该第k组芯片中至少一个芯片的随机数的数量在第一阈值范围外时,确定该第k组芯片的工作频率为该X个测试频率中的第i-1个测试频率。

在一种可能的实现方式中,该依次对N组芯片进行扫频测试,还包括:将该N组芯片中除第k组芯片外其它组芯片的测试频率设置为该X个测试频率中的第一个测试频率。

在一种可能的实现方式中,该依次对N组芯片进行扫频测试,包括:

对于所述N组芯片中的第k组芯片,其中,1≤k≤N,且k为正整数,将该第k组芯片的测试频率设置为Y个测试频率中的第j个测试频率,并对该第k组芯片发送测试数据,其中,该Y个测试频率依次递减,Y为大于1的正整数,2≤j≤Y,j为正整数;

获取并判断该第k组芯片中每个芯片的随机数的数量是否在第一阈值范围内,以确定该第k组芯片的工作频率,其中,该随机数为该第k组芯片中每个芯片接收测试数据后生成的数据。

在一种可能的实现方式中,该获取并判断该第k组芯片的随机数的数量是否在阈值范围内,以确定该第k组芯片的工作频率,包括:

判断该第k组芯片中至少一个芯片的随机数的数量在第一阈值范围外,且j+1<Y时,采用该Y个测试频率中的第j+1个测试频率对该第k组芯片进行扫频测试;

判断该第k组芯片中至少一个芯片的随机数的数量在第一阈值范围外,且j+1=Y时,确定该第k组芯片的工作频率为该Y个测试频率中的第Y个测试频率;

判断该第k组芯片中每个芯片的随机数的数量均在第一阈值范围内时,确定该第k组芯片的工作频率为该Y个测试频率中的第j个测试频率。

在一种可能的实现方式中,该依次对N组芯片进行扫频测试,还包括:将该N组芯片中除该第k组芯片外其它组芯片的测试频率设置为该Y个测试频率中的第Y个测试频率。

在一种可能的实现方式中,该依次对N组芯片进行扫频测试,包括:

对于所述N组芯片中的第k组芯片,其中,1≤k≤N,且k为正整数,将该第k组芯片的测试频率设置为Z个测试频率中的第w个测试频率,并对该第k组芯片发送测试数据,其中,该Z个测试频率依次递增或依次递减,Z为大于1的正整数,2≤w≤Z,且w为正整数;

获取并判断该第k组芯片中所有芯片的随机数的数量总和是否在第二阈值范围内,以确定该第k组芯片的工作频率,其中,该随机数为该第k组芯片中每个芯片接收测试数据后生成的数据。

在一种可能的实现方式中,当Z个测试频率依次递增时,Z可以等于上述X,当Z个测试频率依次递减时,Z可以等于上述Y。

在一种可能的实现方式中,该扫频方法还包括:存储该N组芯片中每组芯片的工作频率。

第三方面,提供一种电子设备,包括:如第一方面或第一方面的任一可能的实现方式中的芯片的扫频装置。

第四方面,提供一种芯片的扫频装置,包括处理器和存储器,该存储器用于存储程序代码,该处理器用于调用该程序代码执行第二方面或第二方面的任一可能的实现方式中的扫频方法。

第五方面,提供一种计算机存储介质,用于存储程序代码,该程序代码用于执行第二方面或第二方面的任一可能的实现方式中的扫频方法。

第六方面,提供一种处理装置,包括:N组芯片,设置于电路板上,该N组芯片中的每组芯片包括至少一个芯片,N为大于1的正整数;

其中,该N组芯片中每组芯片中每个芯片的工作频率相同,该N组芯片中至少两组芯片的工作频率不同。

在一种可能的实现方式中,该N组芯片为处理器芯片,用于进行数据计算;该N组芯片设置于该电路板多个电压域上。

在一种可能的实现方式中,该N组芯片的数据线串联,该多个电压域并联。

在一种可能的实现方式中,该电路板包括M个电压域,M为大于1的正整数;该N组芯片中的一组芯片中的多个芯片位于该M个电压域。

在一种可能的实现方式中,该N组芯片中的每组芯片均包括M个芯片,该M个芯片分别位于该M个电压域。

在一种可能的实现方式中,该M个电压域中,至少两个电压域上的芯片的工作频率之和相等。

在一种可能的实现方式中,该N组芯片在该电路板上呈N列排列,该M个电压域上的芯片在该电路板上呈M行排列。

在一种可能的实现方式中,该处理装置还包括:控制器,连接于该N组芯片,用于控制该N组芯片中的每个芯片工作在工作频率下。

在一种可能的实现方式中,该控制器还用于:确定该N组芯片中每组芯片的工作频率。

在一种可能的实现方式中,该控制器用于:依次对该N组芯片进行扫频测试,并确定该N组芯片中每组芯片的工作频率。

在一种可能的实现方式中,该处理装置还包括:存储器,用于存储该N组芯片中每组芯片的工作频率。

第七方面,提供一种电子设备,包括:如第六方面或第六方面的任一可能的实现方式中的芯片的扫频装置。

附图说明

图1是本申请可以适用的电子设备的示意性框图;

图2是根据本申请实施例的一种芯片扫频装置的示意性框图;

图3是根据本申请实施例的一种芯片扫频方法的示意性流程图;

图4是根据本申请实施例的算力板上多芯片的工作频率示意图;

图5是根据本申请实施例的一种芯片扫频装置的示意性结构图;

图6是根据本申请实施例的N组芯片的工作频率示意图;

图7是根据本申请另一实施例的一种芯片扫频装置的示意性结构图;

图8是根据本申请另一实施例的一种芯片扫频方法的示意性流程图;

图9是根据本申请另一实施例的一种芯片扫频方法的示意性流程图;

图10是根据本申请另一实施例的一种芯片扫频方法的示意性流程图;

图11是根据本申请另一实施例的一种芯片扫频方法的示意性流程图;

图12是根据本申请另一实施例的一种芯片扫频方法的示意性流程图;

图13是根据本申请另一实施例的一种芯片扫频方法的示意性流程图;

图14是根据本申请另一实施例的一种芯片扫频装置的示意性结构图;

图15是根据本申请另一实施例的一种芯片扫频装置的示意性结构图;

图16是根据本申请另一实施例的一种芯片扫频装置的示意性结构图;

图17是根据本申请实施例的一种处理装置的示意性结构图;

图18是根据本申请另一实施例的一种处理装置的示意性结构图。

具体实施方式

下面将结合附图,对本申请实施例中的技术方案进行描述。

应理解,本文中的具体的例子只是为了帮助本领域技术人员更好地理解本申请实施例,而非限制本申请实施例的范围。

还应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

还应理解,本说明书中描述的各种实施方式,既可以单独实施,也可以组合实施,本申请实施例对此并不限定。

除非另有说明,本申请实施例所使用的所有技术和科学术语与本申请的技术领域的技术人员通常理解的含义相同。本申请中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本申请的范围。本申请所使用的术语“和/或”包括一个或多个相关的所列项的任意的和所有的组合。

首先,介绍能够执行本申请实施例适用的电子设备的逻辑结构图。该电子设备可以为数字凭证的处理设备,也可以为其它用于针对专用业务进行运算处理的电子设备,例如计算服务器、通信设备、高性能个人计算机等等,本申请实施例对此不做限定。

如图1所示,电子设备10可以包括电源模块110、处理模块120、控制模块130、存储模块140、接口模块150以及散热模块160。应当理解,电子设备10的组件可以比图示具有更少或更多的组件,或者具有不同的组件配置。图1所示的各种组件可以用硬件、软件或软硬件的组合来实现,包括一个或多个信号处理和/或专用集成电路。

电源模块110用于为电子设备10中的其它模块提供电源,可以包括交流-直流转换器(AC to DC converter)、直流-直流转换器(DC to DC converter)以及低压差线性稳压器(Low Dropout Regulator,LDO),用于输出不同的直流电压,以满足不同芯片和电路的电压需求。

处理模块120为用于专用计算的计算处理模块,其可以包括多个用于计算的芯片。当电子模块10为数字凭证的处理设备时,该处理模块120可以包括一块或者多块算力板(也称之为运算板),多个芯片(chip),也称为集成电路(integrated circuit,IC)呈阵列排列在一块或者多块算力板上,用于进行哈希(hash)运算求解哈希值,从而获取数字凭证。

在该处理模块120中,多个芯片的数据线串联连接,多个芯片运算得到的数据通过该数据线传输给控制模块130,换言之,该多个芯片的运算得到的数据通过一个数据传输接口传输给控制模块130,多个芯片的运算数据通过该一个数据传输接口依次传输给控制模块130,而不是每个芯片的数据线均与控制模块130连接,同步传输给控制模块130。

此外,在该处理模块120中,多个芯片分布在多个电压域上,而不是分布在同一个电压域上,多个电压域并联连接。采用该多个电压域的设计方式,使得不同电压域上的芯片不相互影响,提高多个芯片工作的稳定性和可靠性。

可选地,该算力板上的芯片可以为专用集成电路(Application SpecificIntegrated Circuit,ASIC)芯片、图形处理器(Graphics Processing Unit,GPU)芯片、中央处理器(Central Processing Unit,CPU)芯片、现场可编程门阵列(Field ProgrammableGate Array,FPGA)芯片中的任意一种,本申请实施例对此不做限定。

控制模块130可以为一种系统级芯片(System on a Chip,SOC),用于连接控制电子设备10中的其它模块,保证各个模块间的有序进行和数据通信。该控制模块130可以包括微控制器(Microcontroller Unit,MCU),微处理器(Microprocessor),数字信号处理器(Digital Signal Processor,DSP)、模拟数字转换器(Analog-to-digital converter,ADC)、数字模拟转换器(Digital to analog converter,DAC)以及提供时间脉冲信号的振荡器(Electronic Oscillator)和锁相环电路(Phase Locked Loops,PLL)等等。

其中,控制模块130可以通过锁相环等时钟电路产生不同的时钟信号,从而控制处理模块120中的多个芯片工作在不同的工作频率。此外,控制模块130还可以通过微控制器以及微处理器等电路产生测试数据,并传输给处理模块120中的多个芯片,并接收多个芯片产生的随机数据并进行处理。换言之,控制模块130可以用于控制处理模块120中多个芯片的工作以及接收处理该多个芯片的数据。

此外,控制模块130还可以通过网口与外部网络连接,通过网络设置控制模块130,从而控制电子设备10的运行。

存储模块140可以包括一个或多个双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM),闪存(flash)等存储单元,用于存储运算中的数据以及软件程序等等。其中,软件程序用于控制电子设备10中的硬件模块运行。

具体地,存储模块140中的软件程序包括操作系统(Operating System,OS)以及通信指令集等等,其中,操作系统用于控制和管理常规系统任务,例如内存管理、存储控制以及电源管理等等,以及有助于各种软硬件之间通信的各种软件组件和/或驱动器。该操作系统包括但不限于:Linux,Unix,Windows或者Vxworks等嵌入式操作系统。通信指令集包括用于处理经过接口模块150接收的数据的软件组件,有助于经接口模块与其它设备进行通信。

接口模块150可以包括不同的连线接口,例如通用串行总线(Universal SerialBus,USB)、以太网(Ethernet,ETH)、通用异步收发传输(Universal AsynchronousReceiver/Transmitter,UATR)和串行外设接口(Serial Peripheral Interface Bus,SPI)等,用于直接或者经网络连接多种不同的外部设备。

此外,电子设备10还包括散热模块160,该散热模块160可以为风扇(Fan),水冷系统或者其它用于对电子设备10散热的装置。电源模块110用于给该散热模块160供电,并且控制模块130用于控制该散热模块160工作。

在电子设备10中,对计算任务的处理速度和处理能力取决于处理模块120。特别地,在数字凭证的处理设备中,该设备的系统性能绝大部分取决于算力板的算力,也即算力板计算哈希函数输出的速度。算力板的算力由其上多个芯片的算力决定,算力板上每一个芯片的算力都会影响设备整体的系统性能。此外,芯片的算力与其工作频率息息相关,工作频率越高,每秒计算的次数越多,芯片的算力越强。

通常,可以通过扫频测试得到一块算力板上多个芯片的工作频率。由于多个芯片的厂家、制造工艺等因素的不同,不同的芯片的性能也会有不同的差异,即不同的芯片的最高工作频率不同,当芯片工作在超过其最高工作频率的频率上时,该芯片可能会发生异常。在现有技术中,对算力板上所有的芯片进行统一扫频测试,所有芯片同一个工作频率下工作。

图2示出了一种现有的芯片扫频装置,如图2所示,芯片扫频装置200包括控制器210、算力板220以及电源230。其中,算力板220上设置有多个芯片IC,该算力板220可以为上述处理模块120中的一例,也可以为其它承载多个芯片,并为多个芯片提供电连接的电学元件。控制器210可以为上述控制模块130中的一例,为扫频装置200的系统芯片,或者为其它具有控制功能的电学元件,可以控制算力板220上多个芯片的工作。电源230用于给芯片扫频装置200上的电学器件进行供电,其具体可以为上述电源模块中的一例。

如图2所示,多个芯片呈X行Y列阵列排列在算力板220上。可选地,在一种实施方式中,每一行Y个芯片位于一个电压域上,X个电压域呈X行分布在算力板220上,其中,X,Y一般为大于1的正整数。

具体地,一个电压域上的Y个芯片并联采用一个电压域供电,不同电压域上的芯片采用不同的电压域供电,换言之,不同电压域上的芯片电压互不影响,但相同电压域上的芯片电压会相互影响。

可选地,该X个电压域的电压可以相同或者不同,不同的电压域控制多个芯片能够提高算力板220的稳定性,使整个算力板的电源电压均匀。

此外,一个电压域上的Y个芯片的数据线串联连接,用于传输数据信号。且一个电压域上的首尾两个芯片分别与其相邻的电压域上芯片连接,传输数据信号。例如,如图2所示,第二行的第一个芯片IC2,1与下一行的第一个芯片即IC3,1连接,第二行的最后一个芯片IC2,Y与上一行的最后一个芯片即IC1,Y连接。

当一个电压域上Y个芯片并联在一起使用同一个电压源供电时,如果其中某个芯片性能较差,造成其最高工作频率较低,若控制器210使其工作在某个高于最高工作频率的频率下时,该芯片会产生异常,可能会拉低整个电压域的电源电压,从而使该电压域下的其他所有芯片均无法正常工作。

针对上述芯片扫频装置200,本申请实施例提供一种芯片扫频方法20,扫频得到上述算力板220上多个芯片的工作频率。可选地,该扫频方法20的执行主体可以为上述控制器210。

图3示出了该芯片扫频方法20的流程示意图。

S210:将算力板上多个芯片的频率设置为第i测试频率Fi

具体地,控制器将算力板上多个芯片的测试工作频率设置为第i测试频率Fi,该第i测试频率Fi为W个测试频率F1~Fw中的第i个,W个测试频率从小到大依次递增,W为大于1的正整数,1≤i≤W,i为正整数。

S220:对多个芯片发送测试数据(pattern)。

具体地,控制器对多个芯片发送一个或多个测试数据,多个芯片中的每个芯片接收相同的该一个或多个测试数据,并对该一个或多个测试数据进行运算,在此过程中,多个芯片将运算得到的结果发送给控制器210,其中,运算结果可以是芯片对于该一个或多个测试数据产生得到的随机数(nonce)或者是哈希值等运算数据,该随机数为哈希运算中随机数的随机数,其范围在0~232之间,或者其它的数值范围,本申请实施例对此不做限定。针对该测试数据进行多次哈希运算,得到多个随机数,单位时间内产生的随机数数量越多,则芯片的计算能力越强,即算力板的算力越高。

S230:接收并判断该多个芯片产生的随机数的数量是否在阈值范围内。

具体地,当芯片工作正常时,单位时间内,芯片工作过程中产生的随机数的数量相对较多,而当芯片工作异常时,单位时间内,芯片计算过程中产生的随机数相对较少。因此,可以针对多个芯片整体设定一个阈值范围,当多个芯片产生的随机数的数量在阈值范围内时,此时多个芯片的算力满足需求。或者,也可以针对多个芯片中每个芯片设定一个阈值范围,判断每个芯片产生的随机数数量是否在阈值范围内,若在阈值范围内,则说明芯片工作正常,若在阈值范围外,则说明芯片工作异常。

此外,多个芯片产生的随机数通过串联的数据线传输给控制器,该控制器接收多个芯片中每个芯片输出的随机数数量,可以对多个芯片整体的随机数数量进行判断是否在阈值范围内,也可以对多个芯片中每个芯片输出的随机数数量进行判断是否在阈值范围内。

S241:若该多个随机数数量在阈值范围内,则将i加1,采用第i+1测试频率Fi+1对算力板上多个芯片进行扫频测试。

具体地,多个芯片中每一个芯片输出的随机数数量均在阈值范围内时,则每一个芯片均工作正常,或者多个芯片整体输出的随机数数量在阈值范围内时,算力板的算力满足需求,此时,控制器将算力板上多个芯片的测试工作频率设置为第i+1测试频率Fi+1,该第i+1测试频率Fi+1>Fi,采用第i+1测试频率Fi+1对算力板上多个芯片进行扫频测试,该过程可以参考上述步骤S210至步骤S230。。

S242:若该多个随机数数量在阈值范围外,则确定多个芯片的工作频率为第i-1测试频率Fi-1

具体地,多个芯片中任意一个芯片输出的随机数的数量在阈值范围之外,或者多个芯片整体输出的随机数的数量在阈值范围之外时,此时,结束扫频测试,将算力板上多个芯片的工作频率确定为第i-1测试频率Fi-1。即,扫频测试结束后,在算力板上多个芯片的正常工作过程中,该多个芯片的工作频率即为Fi-1

应理解,对于图2中算力板220上电压域的排列方式,在另一种实施方式中,每一列X个芯片可以位于一个电压域上,算力板220上共纵向分布Y个电压域。上述扫频方法20同样适用于该实施方式中的算力板,此处不再赘述。

由于算力板上同一个电压域上的多个芯片并联使用一个电压源,因此,同一个电压域上只要有一个芯片异常,则可能会造成该电压域上所有的芯片工作异常,造成较大影响。因此,在上述扫频过程中,若测试频率Fi超过了某个芯片的最高频率,则该异常芯片所在电压域上所有芯片可能会产生异常,该电压域上的芯片产生的随机数数量减少,此时多个芯片整体的随机数可能无法达到阈值范围;或者,在扫频过程中,只要有一个芯片在测试频率Fi下工作异常,随机数数量不在阈值范围内,则算力板上所有芯片的工作频率则小于该测试频率Fi

图4示出了一例算力板上多芯片的工作频率示意图。

如图4所示,算力板上共分布有6行10列芯片,其中,第2行第3列的的芯片IC2,3为算力板上性能较差的芯片,对算力板上的多芯片进行扫频测试时,IC2,3在超过250MHz的测试频率下工作异常,此时,按照上述扫频方法20得到算力板上60个芯片的工作频率均为250MHz。

综上,控制器210采用上述扫频方法20对算力板220上多个芯片进行扫频测试时,最终确定的多个芯片统一的工作频率为多个芯片中性能最差的芯片的正常工作频率,而其它芯片均未达到自身最高工作频率,即未达到最优的工作状态。换言之,某个性能较差的芯片会形成木桶效应,造成无法采用扫频方法20确定算力板上每个芯片的最高工作频率,使算力板达到最优的工作状态,从而影响整个系统的性能。

基于此,本申请实施例提供一种芯片的扫频方法和扫频装置,通过对多个芯片进行分组,并分别进行扫频测试,减小性能差的芯片对其它芯片的影响,避免该芯片产生木桶效应,从而提高多个芯片的工作频率,从而提高多芯片的算力和系统性能。

图5示出了本申请实施例提供的一种芯片扫频装置的示意图。

如图5所示,该芯片扫频装置300包括:

N组芯片320,设置于电路板上,其中,该N组芯片320中的每组芯片包括至少一个芯片,N为大于1的正整数;

控制器310,连接于上述N组芯片320,用于依次对该N组芯片320进行扫频测试,并确定该N组芯片320中每组芯片的工作频率。

可选地,在本申请实施例中,N组芯片320中的芯片可以与图1中处理模块120中的芯片相同,可以为ASIC芯片、GPU芯片、CPU芯片或者FPGA芯片中的任意一种,用于进行数据运算,以实现多种类型的任务数据处理,例如音频、视频、图像、信号、数字等多种不同类型的数据处理。

可选地,N组芯片320中的多个芯片的数据线串联以传输数据信号。

可选地,如图5所示,该N组芯片320可以呈N列纵向排列在电路板上,N组芯片IC1~ICN如图5中的虚线框所示。也可以呈N行横向排列在电路板上,本申请实施例对此不做限定。下文以及图示均以N组芯片320呈N列纵向排列进行举例说明,横向排列方式的相关技术方案可以参照纵向排列方式,此处不再赘述。

在本申请实施例中,上述电路板用于承载该N组芯片320,并对该N组芯片320进行电连接。

应理解,该电路板包括但不限于印刷电路板(Printed Circuit Board,PCB)、柔性电路板(Flexible Printed Circuit board,PFC),或者软件结合板(Soft and hardcombination plate),本申请实施例对此不做限定。

还应理解,在数字凭证的处理设备中,上述电路板和N组芯片的组合也可以称之为算力板,本申请实施例中的电路板和N组芯片不限于为数字凭证的处理设备中的算力板,而可以为任意场景中的电路板和N组芯片,本申请实施例对此也不做限定。

可选地,上述控制器310可以为图1中控制模块130中的一例,为扫频装置300的系统芯片,或者为其它具有控制功能的电学元件,可以控制N组芯片320工作。

具体地,在本申请实施例中,当N组芯片320中每组芯片包括一个芯片时,控制器310可以用于对每个芯片进行扫频测试,分别得到每个芯片的工作频率,当N组芯片320中每组芯片包括多个芯片时,控制器310可以用于对多个芯片进行扫频测试,对同一组的多个芯片确定工作频率,该同一组的多个芯片可以位于同一电压域,或者分别位于多个不同的电压域,或者部分位于同一电压域,部分位于不同电压域,本申请实施例对此不做限定。

换言之,控制器310不是同时对N组芯片320中的所有芯片进行扫频测试得到所有芯片统一的工作频率,而是依次对N组芯片进行扫频测试并分别得到每组芯片的工作频率,每组芯片的工作频率可能相同或者不同,且每组芯片的扫频过程不受其它组芯片的影响,因此,N组芯片中性能较差的芯片的扫频测试不会影响到其它芯片的扫频测试,换言之,对其它芯片进行扫频测试时,不会由于性能较差的芯片影响,使得其它芯片扫频测试得到的工作频率偏低,而影响整个N组芯片以及芯片扫频装置的性能。

图6示出了一例N组芯片的工作频率示意图。

如图6所示,上述N组芯片呈6行10列排列,每一列芯片为一组,共包括10组芯片,其中,第2行第3列的芯片IC2,3为N组芯片中性能较差的芯片,对N组芯片依次进行扫频测试时,IC2,3在超过250MHz的测试频率下工作异常,此时,确定IC2,3所在的第三组芯片IC3的工作频率为250MHz,而不影响其它组芯片的工作频率,其它组确定的工作频率均高于250MHz,因此,与图4中的多芯片的工作频率相比,本申请实施例确定得到多芯片的工作频率较高,能够优化多芯片的工作性能。

可选地,在一种可能的实施方式中,该电路板上只有一个电压域,N组芯片中的至少一个芯片均位于同一个电压域上。

可选地,在另一种可能的实施方式中,该电路板上有M个电压域,N组芯片位于M个电压域上,其中M为大于1的正整数。

针对于电路板上M个电压域的实施方式,N组芯片和M个电压域有多种相对位置关系,下文分多种情况进行分别说明。

第一种情况

图7示出了第一种情况下,上述N组芯片和M个电压域的排列方式和位置关系,M、N为大于1的正整数。

如图7所示,N组芯片IC1~ICN呈N列纵向排列,M个电压域V1~VM呈M行横向排列。具体地,N组芯片中的每组芯片包括M个芯片,该M个芯片分别位于M个电压域上。且M个电压域中每个电压域上分别设置N个芯片,该N个芯片分别属于不同组芯片。换言之,在第一种情况中,N组芯片的每组芯片中的不同芯片分别位于不同的电压域上。

与图2类似,位于同一个电压域上的N个芯片并联采用同一个电源供电,N个芯片的数据线串联以传输数据信号。

在该情况下,上述控制器310可以采用芯片扫频方法30对该N组芯片依次进行扫频测试,在此过程中,电路板上同一电压域上的芯片不同时进行扫频测试,可以避免同一电压域上性能较差的芯片对该电压域上其它芯片造成影响。

可选地,图8示出了一种芯片扫频方法30的示意性流程框图。

S310:依次对上述N组芯片中进行扫频测试,N为大于1的正整数。

可选地,在图7所示的扫频装置300中,每组芯片包括M个芯片,该M个芯片分别位于上述M个电压域上,M为大于1的正整数。

S320:确定N组芯片中每组芯片的工作频率。

可选地,对N组芯片中的每组芯片依次进行扫频测试的过程中,可以按照任意顺序对N组芯片进行扫频测试,例如,先对偶数组芯片依次进行扫频测试,然后再对奇数组芯片依次进行扫频测试。或者其它任意顺序,依次完成N组芯片中每组芯片的扫频测试即可,本申请实施例对具体的扫频测试顺序不做具体限定。

可选地,按照位置顺序依次对N组芯片中的每组芯片进行扫频测试的过程中,对N组芯片中的第a组芯片ICa扫频测试完成后,确定第a组芯片的工作频率,再对第a+1组芯片ICa+1或者第a-1组芯片ICa-1进行扫频测试,确定第a+1组芯片或者第a-1组芯片的工作频率。其中,1≤a≤N,且a为正整数。

可选地,可以从N组芯片中的第一组芯片开始进行扫频测试,直至对第N组芯片扫频测试完成,或者可以从N组芯片中的第N组芯片开始进行扫频测试,直至对第一组芯片扫频测试完成;还可以从N组芯片中的任意一组开始进行扫频测试,例如,从第a组芯片开始进行扫频测试,对第N组芯片扫频测试完成后,对第一组芯片开始进行扫频测试,直至对第a-1组芯片扫频测试完成,本申请实施例对初始扫频的芯片组不做具体限定。

可选地,在一种可能的实施方式中,对于N组芯片中的每组芯片采用X个测试频率F1,F2,……,FX进行扫频测试,其中该X个测试频率依次递增,X为大于1的正整数。

此处需要说明的是,该X个测试频中的第一个测试频率F1较低,该N组芯片中的每个芯片在该第一个测试频率F1下均工作正常。

下面,结合图9至图11详细说明本申请实施例中,对于N组芯片中的任意一组芯片,例如第k组芯片进行扫频测试的过程,其中,1≤k≤N,且k为正整数。

图9示出了一种芯片扫频方法30的示意性流程框图。

S311:将第k组芯片的测试频率设置为X个测试频率中的第i个测试频率Fi,其中,2≤i≤X,且i为正整数。

具体地,上述控制器310控制第k组芯片的工作频率为第i个测试频率Fi。可选地,控制器310连接第k组芯片中每个芯片的时钟线,该控制器310产生频率为第i个测试频率Fi的时钟信号CLKi,并通过时钟线将该时钟信号CLKi传输给第k组芯片中每个芯片,该第k组芯片中的每个芯片的时钟信号均为CLKi

S312:对第k组芯片发送测试数据。

在第k组芯片均工作在时钟信号CLKi时,控制器310向第k组芯片中的每个芯片发送同一个测试数据。具体地,控制器310产生测试数据后,通过输入信号线将测试数据发送给第k组芯片中的每个芯片。该每个芯片接收测试数据后,会运算产生多个随机数以及其它运算数据。

可选地,该步骤中的测试数据以及随机数与图3中步骤S220中描述的测试数据以及随机数相同,相关特征可以参见上述描述,此处不再赘述。

S321:获取并判断第k组芯片的随机数的数量是否在阈值范围内;其中,该随机数为第k组芯片接收测试数据后生成的数据。

具体地,每个芯片产生的随机数或者其它运算数据可以通过输出信号线发送给控制器310,该控制器310接收该随机数或者其它运算数据,并判断该随机数或者其它运算数据是否在阈值范围内。

可选地,可以判断第k组芯片中所有芯片的随机数数量总和是否在阈值范围内。

可选地,还可以判断第k组芯片中每一个芯片的随机数数量是否在阈值范围内。

S322:根据判断结果确定第k组芯片的工作频率。

具体地,基于上述判断随机数的数量或者其它运算数据是否在阈值范围内的结果,确定第k组芯片的工作频率。

可选地,对于第k组芯片按照X个测试频率的排列顺序进行扫频测试。即采用第i个测试频率对第k组芯片进行扫频测试后,采用大于第i个测试频率的测试频率,例如第i+1个测试频率对第k组芯片进行扫频测试。

图10示出了一种具体的芯片扫频方法30的示意性流程框图。

如图10所示,在该芯片扫频方法30中,上述步骤S321和步骤S322具体可包括以下步骤。

S3210:获取第k组芯片的随机数的数量。

可选地,获取第k组芯片的每一个芯片的随机数的数量。

具体地,控制器310接收第k组芯片的每一个芯片在第i个测试频率Fi下产生的随机数,并获取该第k组芯片中每一个芯片的随机数的数量。

S3211:判断第k组芯片中每个芯片的随机数的数量均在第一阈值范围内,且i+1≤X时;

S3221:采用X个测试频率中的第i+1个测试频率对第k组芯片进行扫频测试。

S3212:判断第k组芯片中每个芯片的随机数的数量均在第一阈值范围内,且i+1>X时;

S3222:确定第k组芯片的工作频率为X个测试频率中的第X个测试频率。

S3213:判断第k组芯片中至少一个芯片的随机数的数量在第一阈值范围外时;

S3223:确定第k组芯片的工作频率为X个测试频率中的第i-1个测试频率。

具体地,获取第k组芯片中每一个芯片在第i个测试频率Fi下的随机数的数量后,对每一个芯片的随机数的数量进行判断。例如,在如图5所示的芯片扫频装置300中,每一组芯片包括M个芯片,即在本申请实施例中,第k组芯片包括M个芯片,对该M个芯片中每一个芯片的随机数的数量进行判断。

当第k组芯片中每一个芯片的随机数的数量均在第一阈值范围内时,说明第k组芯片中每一个芯片在第i个测试频率下均工作正常,且每一个芯片在第i个测试频率Fi下算力达到预设的算力要求,换言之,第i个测试频率Fi为满足第k组芯片预设要求的工作频率。

在此情况下,当i+1≤X时,即第i+1个测试频率为最后一个测试频率FX或者还未到达FX时,还可以采用第i+1个测试频率对第k组芯片进行扫频测试,测试该第i+1个测试频率是否为满足预设要求的工作频率。

同样的,当第i+1个测试频率满足预设要求,则继续对第k组芯片采用第i+2个测试频率进行扫频测试,依次进行,直至采用最后一个测试频率第X个测试频率FX对第k组芯片进行扫频测试。后续采用第i+1个测试频率乃至第X个测试频率对第k组芯片进行扫频测试的方法与上述扫频方法30相同,此处不再赘述。

特别地,当第i个测试频率即为最后一个测试频率第X个测试频率时,即i+1>X时,此时结束扫频测试,将第k组芯片的工作频率确定为第X个测试频率。

上面阐述了第k组芯片中每一个芯片的随机数的数量在第一阈值范围内的情况,相对的,而当第k组芯片中至少一个芯片的随机数的数量在第一阈值范围外时,则说明该至少一个芯片在第i个测试频率下工作异常,第i个测试频率不能使第k组芯片中每个芯片正常工作,换言之,第i个测试频率Fi不为满足第k组芯片预设要求的工作频率。

在本申请实施例中,在确定第i-1个测试频率Fi-1为满足第k组芯片预设要求的工作频率的基础上,再采用第i个测试频率Fi进行扫频测试,当第i个测试频率Fi不满足第k组芯片预设要求,第i-1个测试频率满足第k组芯片预设要求时,则确定第k组芯片的工作频率确定为第i-1个测试频率。

图11示出了另一种具体的芯片扫频方法30的示意性流程框图。

如图11所示,在该芯片扫频方法30中,上述步骤S321和步骤S322具体可包括以下步骤。

S3210:获取第k组芯片的随机数的数量。

可选地,获取第k组芯片的所有芯片的随机数的数量总和。

S3214:判断第k组芯片中所有芯片的随机数的数量总和在第二阈值范围内,且i+1≤X时;

S3221:采用X个测试频率中的第i+1个测试频率对第k组芯片进行扫频测试。

S3215:判断第k组芯片中所有芯片的随机数的数量总和在第二阈值范围内,且i+1>X时;

S3222:确定第k组芯片的工作频率为X个测试频率中的第X个测试频率。

S3216:判断第k组芯片中所有芯片的随机数的数量总和在第二阈值范围外时;

S3223:确定第k组芯片的工作频率为X个测试频率中的第i-1个测试频率。

具体地,在本申请实施例中,获取第k组芯片中每一个芯片在第i个测试频率Fi下的随机数的数量后,对第k组芯片中所有芯片的随机数的数量求和,对该随机数的数量总和进行判断。例如,在如图5所示的芯片扫频装置300中,每一组芯片包括M个芯片,即在本申请实施例中,第k组芯片包括M个芯片,对该M个芯片的随机数的数量总和进行判断。

当第k组芯片中所有芯片的随机数的数量总和在第二阈值范围内时,说明第k组芯片在第i个测试频率Fi下算力达到预设的算力要求,换言之,第i个测试频率Fi为满足第k组芯片预设要求的工作频率。

在此情况下,当i+1≤X时,即第i+1个测试频率为最后一个测试频率FX或者还未到达FX时,还可以采用第i+1个测试频率对第k组芯片进行扫频测试,测试该第i+1个测试频率是否为满足预设要求的工作频率。

特别地,当第i个测试频率即为最后一个测试频率第X个测试频率时,即i+1>X时,此时结束扫频测试,将第k组芯片的工作频率确定为第X个测试频率。

相对的,而当第k组芯片中所有芯片的随机数的数量总和在第二阈值范围外时,则说明第k组芯片在第i个测试频率Fi下的算力没有达到预设的算力要求,换言之,第i个测试频率Fi不为满足第k组芯片预设要求的工作频率。当第i个测试频率Fi不为满足预设要求的工作频率时,则确定第k组芯片的工作频率确定为第i-1个测试频率。

应理解,在本申请的扫频方法30中,在对k组芯片进行扫频测试的过程中,可以从第二个测试频率F2开始进行扫频测试,也可以从第二个测试频率之后的任意一个测试频率开始测试,本申请实施例对此不做限定。

可选地,在上述扫频方法30中,在对N组芯片中的第k组芯片进行扫频测试时,将N组芯片中除第k组芯片外其它组芯片的测试频率设置为相同的频率。

可选地,将其它组芯片的测试频率设置为X个测试频率中的第一个测试频率F1,由于N组芯片中的每个芯片在测试频率F1下均能正常工作,因此,在保证N组芯片的正常工作的情况下,对第N组芯片中的第k组芯片进行扫频测试,其测试结果更为准确。

可选地,在另一种可能的实施方式中,对于N组芯片中的每组芯片采用Y个测试频率F1,F2,……,FY进行扫频测试,其中该Y个测试频率依次递减,Y为大于1的正整数。

此处需要说明的是,该Y个测试频中的第Y个测试频率FY较低,该N组芯片中的每个芯片在该第Y个测试频率FY下均工作正常。

下面,结合图12和图13详细说明本申请实施例中,对于N组芯片中的任意一组芯片,例如第k组芯片进行扫频测试的过程,其中,1≤k≤N,且k为正整数,N为大于1的正整数。

图12示出了一种芯片扫频方法40的示意性流程框图。

S411:将第k组芯片的测试频率设置为Y个测试频率中的第j个测试频率Fj,其中,2≤j≤Y,且j为正整数。

S412:对第k组芯片发送测试数据。

S421:获取并判断第k组芯片的随机数的数量是否在阈值范围内;其中,该随机数为第k组芯片接收测试数据后生成的数据。

可选地,可以判断第k组芯片中所有芯片的随机数数量总和是否在阈值范围内。可选地,还可以判断第k组芯片中每一个芯片的随机数数量是否在阈值范围内。

S422:根据判断结果确定第k组芯片的工作频率。

具体地,基于上述判断随机数的数量或者其它运算数据是否在阈值范围内的结果,确定第k组芯片的工作频率。

可选地,上述步骤S411至步骤S422与图9中步骤S311至步骤S322类似,相关方案可以参见上述描述,此处不再赘述。

可选地,对于第k组芯片按照Y个测试频率的排列顺序进行扫频测试。即采用第j个测试频率对第k组芯片进行扫频测试后,采用小于第j个测试频率的测试频率,例如第j+1个测试频率对第k组芯片进行扫频测试。

图13示出了一种具体的芯片扫频方法40的示意性流程框图。

如图13所示,在该芯片扫频方法40中,上述步骤S421和步骤S422具体可包括以下步骤。:

S4210:获取第k组芯片的随机数的数量。

可选地,获取第k组芯片的每一个芯片的随机数的数量。

具体地,控制器310接收第k组芯片的每一个芯片在第j个测试频率Fj下产生的随机数,并获取该第k组芯片中每一个芯片的随机数的数量。

S4211:判断第k组芯片中每个芯片的随机数的数量均在第一阈值范围内;

S4221:确定第k组芯片的工作频率为Y个测试频率中的第j个测试频率。

S4212:判断第k组芯片中至少一个芯片的随机数的数量在第一阈值范围外,且j+1=Y时;

S4222:确定第k组芯片的工作频率为Y个测试频率中的第Y个测试频率。

S4213:判断第k组芯片中至少一个芯片的随机数的数量在第一阈值范围外,且j+1<Y时;

S4223:采用Y个测试频率中的第j+1个测试频率对第k组芯片进行扫频测试。

具体地,获取第k组芯片中每一个芯片在第j个测试频率Fj下的随机数的数量后,对每一个芯片的随机数的数量进行判断。

当第k组芯片中每一个芯片的随机数的数量均在第一阈值范围内时,说明第k组芯片中每一个芯片在第j个测试频率下均工作正常,且每一个芯片在第j个测试频率Fj下的算力达到预设的算力要求,换言之,第j个测试频率Fj为满足第k组芯片预设要求的工作频率。

相对的,而当第k组芯片中至少一个芯片的随机数的数量在第一阈值范围外时,则说明该至少一个芯片在第j个测试频率下工作异常,第j个测试频率不能使第k组芯片中每个芯片正常工作,换言之,第j个测试频率Fj不为满足第k组芯片预设要求的工作频率。

在此情况下,当j+1<Y时,即第j个测试频率为大于第Y-1个测试频率FY-1的测试频率时,需采用第j+1个测试频率对第k组芯片进行扫频测试,测试该第j+1个测试频率是否为满足预设要求的工作频率。

同样的,当第j+1个测试频率不能满足预设要求时,则继续对第k组芯片采用第j+2个测试频率进行扫频测试,依次进行,直至采用第Y-1个测试频率FY-1对第k组芯片进行扫频测试。后续采用第j+1个测试频率乃至第Y-1个测试频率对第k组芯片进行扫频测试的方法与上述扫频方法40相同,此处不再赘述。

特别地,当第j个测试频率即为第Y-1个测试频率FY-1时,即j+1=Y时,若FY-1仍不能满足预设要求,此时结束扫频测试,将第k组芯片的工作频率确定为第Y个测试频率FY

在本申请实施例中,在确定第j-1个测试频率Fj-1不满足第k组芯片预设要求的基础上,再采用第j个测试频率Fj进行扫频测试。当第j-1个测试频率Fj-1不满足第k组芯片预设要求,且第j个测试频率Fj满足第k组芯片预设要求时,确定第k组芯片的工作频率为第j个测试频率Fj

应理解,在本申请实施例中,除了通过判断第k组芯片中每个芯片的随机数量是否在第一阈值范围之内,确定第k组芯片的工作频率外,还可以通过判断第k组芯片中所有芯片的随机数的数量总和是否在第二阈值范围之内,确定第k组芯片的工作频率。

可选地,在上述扫频方法40中,在对N组芯片中的第k组芯片进行扫频测试时,将N组芯片中除第k组芯片外其它组芯片的测试频率设置为相同的频率。

可选地,将其它组芯片的测试频率设置为Y个测试频率中的第Y个测试频率FY,由于N组芯片中的每个芯片在测试频率FY下均能正常工作,因此,在保证N组芯片的正常工作的情况下,对第N组芯片中的第k组芯片进行扫频测试,其测试结果更为准确。

应理解,在本申请的扫频方法40中,在对k组芯片进行扫频测试的过程中,可以从第一个测试频率F1开始进行扫频测试,也可以从第一个测试频率之后的任意一个测试频率开始测试,本申请实施例对此不做限定。

还应理解,在本申请的扫频方法30和扫频方法40中,以对N组芯片中的第k组芯片进行扫频测试为例进行说明。N组芯片中其它组芯片的扫频测试方法可以与上述第k组芯片的扫频测试方法相同或者不同,例如,N组芯片中的第k组芯片采用扫频方法30进行扫频,而第k+1组芯片采用扫频方法40进行扫频,本申请实施例不做限定。

第二种情况

图14和图15示出了第二种情况下,N组芯片和M个电压域的排列方式和位置关系,M,N为大于1的正整数。

如图14所示,N组芯片IC1~ICa×N呈a×N列纵向排列,N组芯片中的每组芯片包括a列芯片,a为大于1的整数,M个电压域V1~VM呈M行横向排列。具体地,N组芯片中的每组芯片均包括a×M个芯片,该a×M个芯片分别位于M个电压域上,该M个电压域中每个电压域上设置有a×N个芯片。

可选地,N组芯片中的每组芯片可以为相邻的a列芯片,或者也可以为不相邻的a列芯片,本申请实施例不做限定。

如图15所示,N组芯片IC1~ICN呈N列纵向排列,M个电压域V1~Vb×M呈b×M行横向排列,M个电压域中的每个电压域上设置有b行芯片,b为大于1的整数。具体地,N组芯片中的每组芯片包括b×M个芯片,该b×M个芯片分别位于M个电压域上,该M个电压域中每个电压域上设置有b×N个芯片。

换言之,在第二种情况中,N组芯片的每组芯片中的部分芯片位于同一个电压域上。

在该情况下,控制器310仍可以采用上述芯片扫频方法30或者芯片扫频方法40对该N组芯片依次进行扫频测试,在此过程中,电路板上同一电压域上的部分芯片不同时进行扫频测试,例如,如图14所示,在N组芯片中的第k组芯片进行扫频测试时,其中,1≤k≤N,且k为正整数,第k组芯片中的第一芯片IC1,1和第二芯片IC1,2位于第一电压域V1上,但位于第一电压域V1上其它的芯片正常工作,不会对第一芯片IC1,1和第二芯片IC1,2造成影响,同样的,其它电压域上第k组以外的芯片不会对第k组芯片造成影响,因此,采用上述芯片扫频方法30或芯片扫频方法40同样可以在一定程度上避免同一电压域上性能较差的芯片对该电压域上其它芯片造成影响。

在本申请实施例中,芯片扫频方法30可以参考图8至图11以及上述相关步骤,芯片扫频方法40可以参考图12和图13以及上述相关步骤此处不再赘述。

应理解,在第二种情况中,N组芯片中每组芯片的数量可以相同或者不同,本申请实施例不做具体限定。例如,图14中,第一组芯片IC1包括2列芯片,第二组芯片IC2可以包括2列或者大于2列的芯片,而在图15中,第一电压域V1可以包括2行芯片,而第二电压域V2可以包括2行或者大于2行的芯片。

可选地,图16示出了另一种芯片扫频装置300的示意性结构框图。

如图16所示,芯片扫频装置300还包括:

存储器330,该存储器330用于存储N组芯片320中每组芯片的工作频率,N为大于1的正整数。

具体地,该存储器330可以为图1中存储模块140的一例。

可选地,该存储器330可以用于存储计算机可执行指令。控制器310用于访问该存储器330,并执行该计算机可执行指令,以进行上述本申请实施例的芯片扫频方法中的操作。

具体地,控制器310对N组芯片320依次进行扫频测试,确定得到每组芯片的工作频率后,将每组芯片的工作频率发送给存储器330,该存储器330对该工作频率进行存储。在扫频测试完成之后,控制器310可以从存储器330中读取N组芯片320中每组芯片的工作频率,并按照该工作频率控制N组芯片320工作。

可选地,该存储器330可以为与控制器310相互独立的两个器件,或者也可以为控制器310中的存储单元,或者还可以为N组芯片320所在的电路板上设置的存储单元,本申请实施例对此不做限定。

如图16所示,芯片扫频装置300还可以包括:

电源340,该电源340用于对芯片扫频装置300进行供电。

具体地,该电源340可以针对不同的器件以及电压要求对控制器310、N组芯片320以及存储器330进行供电,N为大于1的正整数。换言之,电源340可以包括多种电压转换电路,例如交直流转换电路或者直流-直流转换电路等,生成多路不同的电压并连接到芯片扫频装置300上不同的器件和电路。

或者,电源340为恒定的电源模块,可以为恒定的直流或者交流源模块,控制器310、N组芯片320所在的电路板、以及存储器330中均包括电压转换电路,可以将电源340的电压转换为合适的器件电压,以满足扫频装置300的工作需求。

应理解,该电源340可以为芯片扫频装置300中的电源,也可以为芯片扫频装置300的外置电源,本申请实施例对此不做限定。

本申请实施例还提供了一种电子设备,该电子设备可以包括上述本申请各种实施例的芯片扫频的装置。

本发明实施例还提供一种芯片的扫频装置,包括处理器和存储器,该存储器用于存储程序代码,该处理器用于调用该程序代码执行上述方法实施例的扫频方法。

本发明实施例还提供一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机执行上述方法实施例的方法。

本发明实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。

除上述芯片的扫频装置、扫频方法及其电子设备外,本申请还提供一种处理装置400。

如图17所示,该处理装置400包括:

N组芯片420,设置于电路板上,其中,该N组芯片420中的每组芯片包括至少一个芯片,N为大于1的正整数;

其中,该N组芯片420中每组芯片中每个芯片的工作频率相同,该N组芯片420中至少两组芯片的工作频率不同。

可选地,在本申请实施例中,N组芯片420中的芯片可以与图5、图7、图14至图16中的N组芯片320相同。

在一种可能的实施方式中,该N组芯片可以为处理器芯片,例如为ASIC芯片、GPU芯片、CPU芯片或者FPGA芯片中的任意一种,用于进行数据运算,以实现多种类型的任务数据处理,例如音频、视频、图像、信号、数字等多种不同类型的数据处理。例如,当处理装置为数字凭证的处理装置时,N组芯片为数字凭证的处理芯片,用于进行哈希运算,求解哈希值。

通过本申请实施例的方案,N组芯片在运行时,不同组的芯片的工作频率可能不同,因此,N组芯片中的所有芯片不受限于一种工作频率,可以提高不同组芯片的工作效率,提高该处理装置400的处理性能。

可选地,在本申请实施例中,该N组芯片420在电路板上的排列方式可以上述N组芯片320在电路板上的排列方式相同,例如,如图17所示,该N组芯片420可以呈N列纵向排列在电路板上,N组芯片IC1~ICN如图17中的虚线框所示。也可以呈N行横向排列在电路板上。

可选地,该N组芯片420还可以如图15所示,两列芯片为一组,或者还可以为三列或其它任意列为一组。此外,该N组芯片420也可以以两行芯片为一组,按行排列在电路板上。

应理解,除此之外,该N组芯片420中每组芯片还可以不以行列的方式排列在电路板上,例如,第一行芯片中的第一个芯片,第二行芯片中的的第二芯片,依次类推,第X行芯片中的第X个芯片为同一组芯片。在本申请实时中,具体的N组芯片的排列方式不做限制,每组芯片包括的芯片数量也不做限制。

在本申请实施例中,电路板用于承载该N组芯片420,并对该N组芯片420进行电连接。

应理解,在数字凭证的处理设备中,上述电路板和N组芯片的组合也可以称之为算力板,本申请实施例中的电路板和N组芯片不限于为数字凭证的处理设备中的算力板,而可以为任意场景中的电路板和N组芯片,本申请实施例对此也不做限定。

可选地,在本申请实施例中,该N组芯片420位于多个电压域上,该多个电压域可以相互并联,该N组芯片420的数据线串联连接。

例如,如图17所示,IC1,1与IC1,2的数据线串联连接,IC1,2与IC1,3的数据线串联连接,依次类推,按照该方式,N组芯片中的每个芯片依次串联连接,最后,通过一个数据接口输出N组芯片计算得到的数据。

可选地,如图17所示,电路板包括M个电压域,N组芯片420分布于该M个电压域上,其中,M为大于1的正整数。可选地,该M个电压域相互并联连接。

可选地,N组芯片420中的一组芯片中的多个芯片分别位于M个电压域上。

例如,如图17所示,N组芯片中的第一组芯片为IC1中包括M个芯片,该M个芯片位分别位于M个电压域上。

可选地,该第一组芯片IC1还可以只包括M-1个芯片,该M-1个芯片分别位于M-1个电压域上。可选地,该第一组芯片IC1中M个芯片还可以分布于M-1个电压域上,其中,一个电压域上分布有第一组芯片IC1中的两个芯片。

可选地,该N组芯片420中的每组芯片的数量相等,均包括M个芯片,该M个芯片分别位于M个电压域上。例如,图17中N组芯片IC1至ICN中,每组芯片的芯片数量相等。

可选地,该M个电压域中,至少两个电压域上的芯片的工作频率之和相等。

在一种可能的实施方式中,M个电压域中第一电压域和第二电压域上均分布有N个芯片,第一电压域上N个芯片的工作频率之和与第二电压域上N个芯片的工作频率之和相等。

进一步的,如图17所示,N组芯片在电路板上呈N列排列,M个电压域上的芯片在电路板上呈M行排列。M个电压域中每个电压域中均分布有N个芯片,且每个电压域中N个芯片分别属于N组芯片。由于每组芯片中每个芯片的工作频率相同,因此,M个电压域中每个电压域上N个芯片的工作频率之和均相等。

可选地,如图18所示,该处理装置400还可以包括控制器410。该控制器410用于控制上述N组芯片420在工作频率下工作。

可选地,该控制器410可以用于产生不同的频率并提供给N组芯片420中的每个芯片。

可选地,该控制器410可以为图1中控制模块130中的一例,为处理装置400的系统芯片,或者为其它具有控制功能的电学元件,控制N组芯片420工作。

可选地,在本申请实施例中,该控制410还可以用于确定N组芯片420中每组芯片的工作频率。

例如,该控制器410与上述实施例中的控制器310相同,控制器410可以用于对每个芯片进行扫频测试,分别得到每个芯片的工作频率,当N组芯片420中每组芯片包括多个芯片时,控制器410可以用于对多个芯片进行扫频测试,对同一组的多个芯片确定工作频率,该同一组的多个芯片可以位于同一电压域,或者分别位于多个不同的电压域,或者部分位于同一电压域,部分位于不同电压域,本申请实施例对此不做限定。

具体地,控制器410对N组芯片420进行扫频的过程可以参考上述实施例中,控制器310对N组芯片320进行扫频的方法,此处不再赘述。

可选地,如图18所示,该处理装置400还可以包括:

存储器430,该存储器430用于存储N组芯片420中每组芯片的工作频率,N为大于1的正整数。

具体地,该存储器430可以为图1中存储模块140的一例。

可选地,该存储器430可以为与控制器410相互独立的两个器件,或者也可以为控制器410中的存储单元,或者还可以为N组芯片420所在的电路板上设置的存储单元,本申请实施例对此不做限定。

在一种可能的实施方式中,控制器410对N组芯片420依次进行扫频测试,确定得到每组芯片的工作频率后,将每组芯片的工作频率发送给存储器430,该存储器430对该工作频率进行存储。在扫频测试完成之后,控制器410可以从存储器430中读取N组芯片420中每组芯片的工作频率,并按照该工作频率控制N组芯片420工作。

如图18所示,处理装置400还可以包括:

电源440,该电源440用于对处理装置400进行供电。

该电源440可以与图16中的电源430相同。其可以为处理装置400中的电源,也可以为处理装置400的外置电源,本申请实施例对此不做限定。

本申请实施例还提供了一种电子设备,该电子设备可以包括上述本申请各种实施例的处理装置。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

45页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:芯片的扫频装置、方法和电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!