计算装置、方法、板卡和计算机可读存储介质
技术领域
本披露一般地涉及数据处理。更具体地,本披露涉及一种用于对多比特位宽数值进行处理的计算装置、方法、集成电路板卡和计算机可读存储介质。
背景技术
当前,不同类型的处理器所处理的数据位宽可能有所不同。对于执行特定数据类型运算的处理器来说,其处理的数据位宽往往是有限的。例如,对于定点运算器,其通常能处理的数据位宽不超过16位,例如16位的整型数据。然而,为了节约计算成本和开销并提高计算效率,如何令位宽受限的处理器能够处理更多位宽的数据成为需要解决的一个技术问题。
发明内容
为了至少解决如上所提到的技术问题,本披露在多个方面中提出了用于对多位宽数据进行拆分的方案。通过本披露的拆分方案,可以将多位宽数据拆分成至少两个位宽较小的数据来表达,从而在处理器的处理位宽受限的场景中,可以利用两个位宽较小的数据来参与计算。
在第一方面中,本披露提供一种用于对多比特位宽数值进行处理的计算装置,其中所述多比特位宽数值包括高比特部分和低比特部分,所述计算装置包括:
输入电路,其配置成接收所述多比特位宽数值和配置信息,其中所述配置信息至少包括高比特部分或低比特部分的位宽信息;
第一分量计算电路,其配置成根据所述低比特部分的位宽信息来对所述多比特位宽数值进行计算,以获得代表所述多比特位宽数值中的所述高比特部分的第一分量;
第二分量计算电路,其配置成根据多比特位宽数值和至少关于第一分量的数值进行计算,以获得代表所述多比特位宽数值中的所述低比特部分的第二分量;以及
输出电路,其配置成输出所述第一分量和第二分量中的至少一个。
在第二方面中,本披露提供一种集成电路芯片,其包括前述的计算装置。
在第三方面中,本披露提供一种集成电路板卡,其包括前述的集成电路芯片。
在第四方面中,本披露提供一种用于对多比特位宽数值进行处理的方法,其中所述多比特位宽数值包括高比特部分和低比特部分,所述方法包括:
接收所述多比特位宽数值和配置信息,其中所述配置信息至少包括高比特部分或低比特部分的位宽信息;
根据所述低比特部分的位宽信息来对所述多比特位宽数值进行计算,以获得代表所述多比特位宽数值中的所述高比特部分的第一分量;
根据多比特位宽数值和至少关于第一分量的数值进行计算,以获得代表所述多比特位宽数值中的所述低比特部分的第二分量;以及
输出所述第一分量和第二分量中的至少一个。
在第五方面中,本披露提供一种用于对多比特位宽数值进行处理的计算装置,包括:
处理器;
存储器,其用于存储程序指令,当所述程序指令由所述至少一个处理器执行时,使得所述计算装置执行前述的方法。
在第六方面中,本披露提供一种计算机可读存储介质,其上存储有用于对多比特位宽数值进行处理以用于神经网络运算的程序指令,当所述程序指令由处理器运行时,执行前述的方法。
通过如上所提供的计算装置、集成电路板卡、方法和计算机可读存储介质,本披露的方案可以将一个多(或者高)比特位宽数值拆分为多个少(或者低)比特位宽数值来表达,从而在包括例如神经网络运算等的人工智能应用场景或其他通用场景中,不受处理器处理位宽的限制,充分发挥处理器的计算能力。进一步,在一些需要低比特位宽数值的神经网络运算场景中,本披露的方案还可以通过拆分多比特位宽数值为多个低比特位宽的表达来简化神经网络的计算,从而提高计算的效率。
附图说明
通过结合附图,可以更好地理解本披露的上述特征,并且其众多目的、特征和优点对于本领域技术人员而言是显而易见的。下面描述中的附图仅仅是本披露的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可根据这些附图获得其他的附图,其中:
图1是示出根据本披露实施例的计算装置的简化框图;
图2是示出根据本披露实施例的计算装置的详细框图;
图3是示出根据本披露实施例的用于对多比特位宽数值进行处理的流程图;
图4是示出根据本披露实施例的一种组合处理装置的结构图;以及
图5是示出根据本披露实施例的一种板卡的结构示意图。
具体实施方式
本披露的方案通过令多比特位宽(例如24位)数值由至少两个低比特(例如16位和8位)位宽分量来表达,克服了处理器位宽受限的障碍,简化了计算复杂度,从而提高了例如神经网络计算的计算效率。在一个或多个实施例中,可以根据输入的多比特位宽数值的位分布和配置信息,将该源或初始数值划分成高比特部分和低比特部分,并且针对该高比特部分和低比特部分执行拆分计算,以获取与该高比特部分和低比特部分相对应的第一分量和第二分量。由此,在实际计算中,可以利用第一分量和第二分量中的至少一个来替代源数据参与计算。在另外的实施例中,本披露的方案还可以根据配置信息将前述的源数值分解成所需的多个分量,例如对前述的第一分量和第二分量中的至少一个反复继续执行类似的拆分计算,以便获得三个以上的分量。
下面将结合附图对本披露的实施例进行详细的描述。
图1是示出根据本披露实施例的计算装置100的简化框图。在一个或多个实施例中,该计算装置100可以对多比特位宽数值进行处理以用于各类应用场景中,例如包括神经网络运算的人工智能应用或需要拆分数值以用于计算的通用场景中。这里,多比特位宽数值可以包括高比特部分和低比特部两个部分,以用于后续拆分为两个分量或更多的分量。另外,前述的神经网络运算可以包括训练神经网络中的各类运算,例如反向传播方向上的权值更新或梯度的计算。
如图1中所示,计算装置100包括输入电路102,其配置成接收多比特位宽数值和配置信息,其中所述配置信息至少包括高比特部分或低比特部分的位宽信息。例如,当多比特位宽为24位的整型数时,可以将其划分为8位的高比特部分和16位的低比特部分,也即将要拆分得到的一个8位比特位宽分量和一个16位比特位宽分量。在一个或多个实施例中,配置信息还可以包括指示低比特部分是否包含符号位的信息。例如,当以比特位来表示时,则“1”指示低比特部分包括符号位,而“0”指示低比特部分不包含符号位。附加地,配置信息还可以包括有效位信息,例如强行指定所述多比特位宽数值中的哪些比特位为有效位,以便在后续的拆分计算中针对有效位进行计算。
与输入电路102相连接的是第一分量计算电路104和第二分量计算电路106。在一个或多个实施例中,第一分量计算电路可以配置成根据低比特部分的位宽信息来对所述多比特位宽数值进行计算,以获得代表所述多比特位宽数值中的所述高比特部分的第一分量。在一个场景中,第一分量计算电路可以根据所述低比特部分的位宽信息来确定缩放系数以及利用该缩放系数对所述多比特位宽数值进行计算以获得所述第一分量。例如,当所述高比特部分的比特位宽为n1,而所述低比特部分的比特位宽为n2时,当不考虑n2中包括符号位时,缩放系数可以为2n2。相比而言,当考虑n2中包括符号位时,则缩放系数可以为2n2 -1。
在一个或多个实施例中,所述第二分量计算电路可以配置成根据多比特位宽数值和至少关于第一分量的数值进行计算,以获得代表所述多比特位宽数值中的所述低比特部分的第二分量。在一个场景中,当配置信息中指示低比特位宽部分不考虑符号位时,则可以简单地从多比特位宽数值中减去第一分量的数值来获得第二分量。这里,第一分量的数值可以是第一分量与前述的缩放系数的乘积值。在另一个场景中,当配置信息中指示低比特位宽部分考虑符号位时,则第二分量计算电路可以配置成根据所述低比特部分的位宽信息确定调整值,以及根据所述多比特位宽数值、关于所述第一分量的数值和所述调整值来进行计算,以获得所述第二分量。可以理解的是在一些场景中,前述的配置信息中也可以不包括符号位信息。在该情况下,通过例如初始的默认设置,本披露的计算装置可以配置成直接执行考虑符号位的拆分操作或执行不考虑符号位的拆分操作,而不再基于配置信息来做出是否考虑符号位的判断。
在获得可以代表所述多比特位宽数值的第一分量和第二分量后,本披露的计算装置还包括输出电路108,其可以配置成输出所述第一分量和第二分量中的至少一个。如前所述,输出电路所输出的第一分量和第二分量可以应用于神经网络中需要利用低比特位宽的数据进行的各类计算中,例如用于神经网络训练中的反向传播的权值更新和梯度计算中。在一些应用场景中,还可以直接存储获得的第一分量和第二分量来替代多比特位宽数值,以便稍后使用。在神经网络使用支持低比特位宽的定点处理器来执行定点运算的场景中,通过使用输出电路输出的低比特位宽的第一分量和第二分量来用于定点处理器的定点运算,定点处理器将摆脱不能处理多或高比特位宽数据的限制,扩展了定点处理器的计算场景并简化计算,从而也提升了计算效率并且减小计算的开销。
图2是示出根据本披露实施例的计算装置200的详细框图。从图2中看出,计算装置200不仅包括图1中的计算装置100的输入电路102、第一分量电路104、第二分量电路106和输出电路108,还进一步示出了第一和第二分量电路中包含的多个电路,以及附加地多个其他器件。由于前文已经结合图1对输入电路、第一分量和第二分量计算电路以及输出电路的功能进行了详细描述,下文将不再赘述。
如图2中所示,第一分量计算电路104可以包括缩放电路1041和舍入电路1042。在一个实施例中,该缩放电路可以通过移位电路来实现,该移位电路可以配置成根据前述的缩放系数对多比特位宽数值执行移位操作,以完成缩放。例如,当缩放系数为2n2时,利用移位电路执行移位操作即是将多比特位宽数值向高位移动n2位。当高位在多比特位宽数值的左侧而低位在其右侧时,向高位移动n2位即是向左移动n2位。在具体实现方面,此处的移位电路可以通过乘法器来构建。在对多比特位宽数值进行相应的移位操作后,在一个实施例中,第一分量计算电路还包括舍入电路1042,该舍入电路可以配置成对执行移位操作后的所述多比特位宽数值进行舍入操作,以获得所述第一分量。根据不同的应用场景,这里的舍入操作可以包括各种形式的取整运算,例如向上取整、向下取整、向零取整等取整运算。通过这样的舍入操作后,就可以获得与所述多比特位宽数值中的高比特部分相关的第一分量。
在一个或多个实施例中,第二分量计算电路106可以包括减法电路1061,其配置成从所述多比特位宽数值中减去关于第一分量的数值和所述调整值,以获得所述第二分量。在一个场景中,这里的第一分量的数值可以是第一分量与缩放系数的乘积值,而所述调整值即前述的考虑了低比特部分的符号位后的数值。通过利用减法电路从多比特位宽数值中减去乘积值和调整值,即可获得与所述多比特位宽数值中的低比特部分相关的第二分量。
进一步在图2中所示出的与输入电路102连接的类型转换器110,其可以配置成将输入的数据转换成与所述多比特位宽数值相同的数据类型,也即第一分量计算电路和第二分量计算电路支持的数据类型。通过设置的类型转换器,本披露的计算装置可以对与拆分操作支持的数据类型不同类型的数据执行拆分。例如,当本披露的计算装置支持对定点整型数值的拆分时,当输入电路接收到浮点型数值时,通过类型转换器可以将该浮点型数据转换成定点整型数据,以便由第一分量计算电路和第二分量计算电路进行拆分。
为了实现灵活地输出,本披露的计算装置200附加地还包括选择器112,该选择器可以配置成将所述第一分量和第二分量中的至少一个输出给输出电路108以便进行输出。在一个实施例中,该选择器112可以根据配置信息中包括的关于输入项的信息来选择输出第一分量、第二分量或者二者。这样的选择性输出在一些应用场景具有技术优势。例如,在仅需要第一分量或第二分量参与后续的运算中,此时输出电路并不需要将二者都予以输出,从而在输出方面节省开销。另外,当仅需要输出第一分量时,本披露的计算装置还可以仅计算第一分量并予以输出,从而进一步节省计算开销。
在一个或多个实施例中,本披露的计算装置还可以用于将多比特位宽数值分解为由用户指定或算法所需的多个分量来表达。为此,可以令前述的配置信息包括分量数目的信息。在分量数目为大于2的正整数时,本披露的计算装置根据所述配置信息来反复执行第一分量计算电路和第二分量计算电路,直到获得所述分量数目的分量。例如,对于24位比特位宽数值,当配置信息指示将其拆分成3个分量时,并且三个分量都为8比特位宽时,可以通过第一分量计算电路和第二分量计算电路将24位比特位宽数值拆分成8比特位宽的第一分量和16比特位宽的中间第二分量。接着,获得的16位宽的中间第二分量的数值被重新输入到第一分量计算电路和第二分量计算电路,以将其进一步拆分成8比特位宽的第二分量和8比特位宽的第三分量。
图3是示出根据本披露实施例的用于对多比特位宽数值进行处理的方法300的流程图。如前所述,根据配置信息,这里的多比特位宽数值包括高比特部分和低比特部分。通过方法300的处理,至少可以将多比特位宽数值拆分成代表其的第一分量和第二分量。
如图3中所示,在步骤302处,方法300接收所述多比特位宽数值和配置信息,其中所述配置信息至少包括高比特部分或低比特部分的位宽信息。通过这样的配置信息,方法300至少可以确定将要拆分的第一分量或第二分量所对应的比特位宽值。接着,在步骤304处,根据所述低比特部分的位宽信息来对所述多比特位宽数值进行计算,以获得代表多比特位宽数值中的高比特部分的第一分量。在一个实施例中,方法300可以根据所述低比特部分的位宽信息来确定缩放系数;以及利用所述缩放系数对所述多比特位宽数值进行计算以获得所述第一分量。在一个场景中,根据配置信息中包括关于低比特部分是否包含符号位的符号信息来确定缩放系数。
在计算获得代表高比特部分的第一分量后,方法300前进到步骤306。在该步骤306处,方法300根据多比特位宽数值和至少关于第一分量的数值进行计算,以获得代表所述多比特位宽数值中的所述低比特部分的第二分量。在一个实施例中,当前述配置信息中的所述符号信息指示所述低比特部分包含符号位,则所述方法300还可以包括根据所述低比特部分的比特位宽确定调整值;以及根据所述多比特位宽数值、关于所述第一分量的数值和所述调整值进行计算,以获得所述第二分量。
在获得第一分量和第二分量后,方法300前进到步骤308。在此处,方法300输出第一分量和第二分量中的至少一个。在一个实施例中,可以配置信息来选择性地输出第一分量、第二分量或者输出二者。在一些实施例中,当配置信息包括拆分后的分量数目的信息时,方法300可以根据配置信息中的分量数目来反复执行拆分操作,直到将多比特位宽数值拆分到要求的数目。例如,在一个场景中,当要求拆分的分量数目为大于2的正整数时,则方法300还可以包括根据配置信息确定所述第一分量和第二分量中的至少一个作为下一待处理的新的多比特位宽数值。接着,方法300可以根据前述新的多比特位宽数值的高比特部分和低比特部分来执行计算步骤,以获得所述新的多比特位宽数值的第一分量和第二分量。为了达到预定的分量数目,方法300可以反复执行前述的确定步骤和计算步骤,直到获得预定数目的分量。
下面将从数学计算角度来描述前述本披露的计算装置或方法所执行的拆分操作,通过下面的一系列示例性公式表达和具体数值的拆分结果,本领域技术人员可以进一步理解本披露的方案及其实施。为了描述的简明,下面以I0表示多比特位宽数值,其具有n0的比特位宽,I1为拆分后获得的第一分量,而I2为拆分后获得的第二分量,并且I0的高比特部分是n1比特位宽并且由第一分量I1来表示,而I0的低比特部分是n2比特位宽并且由I2来表示,其中n0=n1+n2。
首先,可以通过下式来计算第一分量I1:
I1=floor(I0/2n2) (1)
其中,floor是向下取整函数,2n2表示前述的缩放系数。如前所述,该缩放系数也与低比特部分是否包括符号位有关。当低比特部分不包括符号位时,则这里的缩放系数将有不同的表达(稍后将描述)。
接着,可以通过下式来计算第二分量I2:
I2=I0-I1×2n2-2n2-1 (2)
可以看出,上式(2)中的“I1×2n2”项即前述的第一分量的数值。当I1乘以缩放系数2n2时,相当于将其向高比特位方向移动n2位,而式中的“2n2-1”项即前述的调整值。如前所述,当配置信息指示低比特部分包括符号位时,通过减去该调整值,可以扩大I2数值的表示范围。在不同的拆分场景中,式中的n0、n1和n2可以取不同的正整数值,例如n0=24,n1=8,n2=16,或者n0=32,n1=16,n2=16。由于此处的公式考虑了符号位,因为通过上述公式获得的第一分量和第二分量在表达拆分前的多比特位宽数值方面更为准确,损失也较小。
上面给出了低比特部分包含符号位的情形,下面将给出低比特部分不包含符号位的计算公式,而其中符号的含义与上文相同。
首先,可以通过下式来计算第一分量I1:
I1=floor(I0/2n2-1) (3)
正如前所述,由于在本情形中并不考虑低比特部分的符号位,因此这里采用2n2-1表示前述的缩放系数,而非式(1)中的“2n2”。
接着,可以通过下式来计算第二分量I2:
I2=I0-I1×2n2-1 (4)
可以看出,由于不考虑符号位,式(4)并不具有式(2)中的调整值“2n2-1”。进一步,这里的“I1×2n2-1”项即第一分量的数值。
在不同的拆分场景中,上式中的n0、n1和n2可以取不同的正整数值,例如n0=24,n1=8,n2=16,或者n0=32,n1=16,n2=16,或n0=25,n1=9,n2=16。在一些拆分场景中,n0、n1和n2还可以满足n0<=n1+n2,例如n0=25,n1=16,n2=16,即将25位比特位宽数值拆分成两个16比特位宽分量。对于利用式(1)和式(2)计算获得的第一分量和第二分量,如前所述,由于考虑了符号位,因此获得的第一分量和第二分量在表达拆分前的多比特位宽数值方面损失更小。
下面通过表(1)和表(2)列出对具体数值的拆分结果,其中表(1)列出考虑符号位的拆分结果,而表(2)列出未考虑符号位的拆分结果。
表1
表2
图4是示出根据本披露实施例的一种组合处理装置400的结构图。如图所示,该组合处理装置400包括前述的计算装置402,其可以配置用于执行前述结合附图所描述的拆分方法。另外,该组合处理装置还包括通用互联接口404和其他处理装置406。根据本披露的计算装置402可以通过通用互联接口404与其他处理装置406进行交互,共同完成用户指定的操作,例如对多比特位宽数值进行拆分,以至少获得第一分量和第二分量。
根据本披露的方案,该其他处理装置可以包括中央处理器(“CPU”)、图形处理器(“GPU”)、人工智能处理器等通用和/或专用处理器中的一种或多种类型的处理器,其数目可以不做限制而是根据实际需要来确定。在一个或多个实施例中,该其他处理装置可以作为本披露的计算装置(其可以具体化为人工智能例如神经网络运算的相关运算装置)与外部数据和控制的接口,执行包括但不限于数据搬运,完成对计算装置的开启、停止等的基本控制;其他处理装置也可以和该计算装置协作共同完成运算任务。
根据本披露的方案,该通用互联接口可以用于在计算装置与其他处理装置间传输数据和控制指令。例如,该计算装置可以经由所述通用互联接口从其他处理装置中获取待拆分的输入数据,写入该计算装置片上的存储装置(或称存储器)。进一步,该计算装置可以经由所述通用互联接口从其他处理装置中获取控制指令,写入计算装置片上的控制缓存。替代地或可选地,通用互联接口也可以读取计算装置的存储模块中的数据并传输给其他处理装置。
可选的,该组合处理装置还可以包括存储装置408,其可以分别与所述计算装置和所述其他处理装置连接。在一个或多个实施例中,存储装置可以用于保存所述计算装置和所述其他处理装置的数据,尤其那些在计算装置或其他处理装置的内部或片上存储装置中无法全部保存的数据。
根据应用场景的不同,本披露的组合处理装置可以作为手机、机器人、无人机、视频监控设备等设备的SOC片上系统,有效降低控制部分的核心面积,提高处理速度,降低整体功耗。在此情况下,该组合处理装置的通用互联接口与设备的某些部件相连接。某些部件例如摄像头、显示器、鼠标、键盘、网卡或wifi接口。
在一些实施例里,本披露还公开了一种芯片,其包括了上述测试装置或组合处理装置。在另一些实施例里,本披露还公开了一种芯片封装结构,其包括了上述芯片。
在一些实施例里,本披露还公开了一种板卡,其包括了上述芯片封装结构。参阅图5,其提供了前述的示例性板卡,上述板卡除了包括上述芯片502以外,还可以包括其他的配套部件,该配套部件包括但不限于:存储器件504、接口装置506和控制器件508。
所述存储器件与所述芯片封装结构内的芯片通过总线连接,用于存储数据。所述存储器件可以包括多组存储单元510。每一组所述存储单元与所述芯片通过总线连接。可以理解,每一组所述存储单元可以是DDRSDRAM(“Double Data Rate SDRAM,双倍速率同步动态随机存储器”)。
DDR不需要提高时钟频率就能加倍提高SDRAM的速度。DDR允许在时钟脉冲的上升沿和下降沿读出数据。DDR的速度是标准SDRAM的两倍。在一个实施例中,所述存储器件可以包括4组所述存储单元。每一组所述存储单元可以包括多个DDR4颗粒(芯片)。在一个实施例中,所述芯片内部可以包括4个72位DDR4控制器,上述72位DDR4控制器中64bit用于传输数据,8bit用于ECC校验。
在一个实施例中,每一组所述存储单元包括多个并联设置的双倍速率同步动态随机存储器。DDR在一个时钟周期内可以传输两次数据。在所述芯片中设置控制DDR的控制器,用于对每个所述存储单元的数据传输与数据存储的控制。
所述接口装置与所述芯片封装结构内的芯片电连接。所述接口装置用于实现所述芯片与外部设备512(例如服务器或计算机)之间的数据传输。例如在一个实施例中,所述接口装置可以为标准PCIE接口。比如,待处理的数据由服务器通过标准PCIE接口传递至所述芯片,实现数据转移。在另一个实施例中,所述接口装置还可以是其他的接口,本披露并不限制上述其他的接口的具体表现形式,所述接口单元能够实现转接功能即可。另外,所述芯片的计算结果仍由所述接口装置传送回外部设备(例如服务器)。
所述控制器件与所述芯片电连接。所述控制器件用于对所述芯片的状态进行监控。具体地,所述芯片与所述控制器件可以通过SPI接口电连接。所述控制器件可以包括单片机(Micro Controller Unit,MCU)。在一个或多个实施例中,所述芯片可以包括多个处理芯片、多个处理核或多个处理电路,可以带动多个负载。因此,所述芯片可以处于多负载和轻负载等不同的工作状态。通过所述控制装置可以实现对所述芯片中多个处理芯片、多个处理和/或多个处理电路的工作状态的调控。
在一些实施例里,本披露还公开了一种电子设备或装置,其包括了上述板卡。根据不同的应用场景,电子设备或装置可以包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本披露并不受所描述的动作顺序的限制,因为依据本披露,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本披露所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本披露所提供的几个实施例中,应该理解到,所披露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、光学、声学、磁性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本披露各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,当本披露的技术方案可以以软件产品(例如计算机可读存储介质)的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本披露各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
在本披露的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
依据以下条款可更好地理解前述内容:
条款1、一种用于对多比特位宽数值进行处理的计算装置,其中所述多比特位宽数值包括高比特部分和低比特部分,所述计算装置包括:
输入电路,其配置成接收所述多比特位宽数值和配置信息,其中所述配置信息至少包括高比特部分或低比特部分的位宽信息;
第一分量计算电路,其配置成根据所述低比特部分的位宽信息来对所述多比特位宽数值进行计算,以获得代表所述多比特位宽数值中的所述高比特部分的第一分量;
第二分量计算电路,其配置成根据多比特位宽数值和至少关于第一分量的数值进行计算,以获得代表所述多比特位宽数值中的所述低比特部分的第二分量;以及
输出电路,其配置成输出所述第一分量和第二分量中的至少一个。
条款2、根据条款1所述的计算装置,其中在根据所述低比特部分的位宽信息来对所述多比特位宽数值进行计算中,所述第一分量计算电路配置成:
根据所述低比特部分的位宽信息来确定缩放系数;以及
利用所述缩放系数对所述多比特位宽数值进行计算以获得所述第一分量。
条款3、根据条款2所述的计算装置,其中所述配置信息还包括关于所述低比特部分是否包含符号位的符号信息,并且所述第一分量计算电路配置成根据所述符号信息来确定所述缩放系数。
条款4、根据条款1-3的任意一项所述的计算装置,其中所述第一分量计算电路还包括缩放电路和舍入电路,其中所述缩放电路配置成根据所述缩放系数对所述多比特位宽数值执行移位操作,并且所述舍入电路配置成对执行移位操作后的所述多比特位宽数值进入舍入操作,以获得所述第一分量。
条款5、根据条款3所述的计算装置,其中所述符号信息指示所述低比特部分包含符号位,所述第二分量计算电路配置成:
根据所述低比特部分的位宽信息确定调整值;以及
根据所述多比特位宽数值、关于所述第一分量的数值和所述调整值进行计算,以获得所述第二分量。
条款6、根据条款5所述的计算装置,其中所述第二分量计算电路包括减法电路,其配置成从所述多比特位宽数值中减去关于所述第一分量的数值和所述调整值,以获得所述第二分量。
条款7、根据条款1所述的计算装置,进一步包括类型转换器,其配置成将输入的数据转换成与所述多比特位宽数值相同的数据类型。
条款8、根据条款1所述的计算装置,进一步包括选择器,其配置成根据所述配置信息选择所述第一分量和第二分量中的至少一个至所述输出电路。
条款9、根据条款5-8的任意一项所述的计算装置,其中所述配置信息还包括分量数目的信息,并且当所述分量数目为大于2的正整数时,所述计算装置根据所述配置信息反复执行所述第一分量计算电路和第二分量计算电路,直到获得所述分量数目的分量。
条款10、一种集成电路芯片,包括根据条款1-9的任意一项所述的计算装置。
条款11、一种集成电路板卡,包括根据条款10所述的集成电路芯片。
条款12、一种用于对多比特位宽数值进行处理的方法,其中所述多比特位宽数值包括高比特部分和低比特部分,所述方法包括:
接收所述多比特位宽数值和配置信息,其中所述配置信息至少包括高比特部分或低比特部分的位宽信息;
根据所述低比特部分的位宽信息来对所述多比特位宽数值进行计算,以获得代表所述多比特位宽数值中的所述高比特部分的第一分量;
根据多比特位宽数值和至少关于第一分量的数值进行计算,以获得代表所述多比特位宽数值中的所述低比特部分的第二分量;以及
输出所述第一分量和第二分量中的至少一个。
条款13、根据条款12所述的方法,其中在根据所述低比特部分的位宽信息来对所述多比特位宽数值进行计算中,所述方法还包括:
根据所述低比特部分的位宽信息来确定缩放系数;以及
利用所述缩放系数对所述多比特位宽数值进行计算以获得所述第一分量。
条款14、根据条款13所述的方法,其中所述配置信息还包括关于所述低比特部分是否包含符号位的符号信息,所述方法还包括根据所述符号信息来确定所述缩放系数。
条款15、根据条款14所述的方法,其中所述符号信息指示所述低比特部分包含符号位,所述方法还包括:
根据所述低比特部分的位宽信息确定调整值;以及
根据所述多比特位宽数值、关于所述第一分量的数值和所述调整值进行计算,以获得所述第二分量。
条款16、根据条款12-15的任意一项所述的方法,其中所述配置信息还包括分量数目的信息,并且当所述分量数目为大于2的正整数时,所述方法还包括:
根据配置信息确定所述第一分量和第二分量中的至少一个作为下一待处理的新的多比特位宽数值;
根据所述新的多比特位宽数值的高比特部分和低比特部分来执行计算步骤,以获得所述新的多比特位宽数值的第一分量和第二分量;以及
反复执行上述确定步骤和计算步骤,直到获得所述分量数目的分量。
条款17、一种用于对多比特位宽数值进行处理的计算装置,包括:
处理器;
存储器,其用于存储程序指令,当所述程序指令由所述至少一个处理器执行时,使得所述计算装置执行根据权利要求12-16所述的方法。
条款18、一种计算机可读存储介质,其上存储有用于对多比特位宽数值进行处理的程序指令,当所述程序指令由处理器运行时,执行根据条款12-16所述的方法。以上对本披露实施例进行了详细介绍,本文中应用了具体个例对本披露的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本披露的方法及其核心思想;同时,对于本领域的一般技术人员,依据本披露的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本披露的限制。
应当理解,本披露的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本披露的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本披露说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本披露。如在本披露说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本披露说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
以上对本披露实施例进行了详细介绍,本文中应用了具体个例对本披露的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本披露的方法及其核心思想。同时,本领域技术人员依据本披露的思想,基于本披露的具体实施方式及应用范围上做出的改变或变形之处,都属于本披露保护的范围。综上所述,本说明书内容不应理解为对本披露的限制。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:计算装置、方法、板卡和计算机可读存储介质