CN117519637A - 数据比较器、数据处理方法、芯片及电子设备 - Google Patents

数据比较器、数据处理方法、芯片及电子设备 Download PDF

Info

Publication number
CN117519637A
CN117519637A CN202311518511.8A CN202311518511A CN117519637A CN 117519637 A CN117519637 A CN 117519637A CN 202311518511 A CN202311518511 A CN 202311518511A CN 117519637 A CN117519637 A CN 117519637A
Authority
CN
China
Prior art keywords
data
bit
mantissa
exponent
circuit
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
CN202311518511.8A
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.)
Shanghai Cambricon Information Technology Co Ltd
Original Assignee
Shanghai Cambricon Information 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 Shanghai Cambricon Information Technology Co Ltd filed Critical Shanghai Cambricon Information Technology Co Ltd
Priority to CN202311518511.8A priority Critical patent/CN117519637A/zh
Publication of CN117519637A publication Critical patent/CN117519637A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/02Comparing digital values
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Abstract

本申请提供一种数据比较器、数据处理方法、芯片及电子设备,所述数据比较器包括:零值判断电路、符号位比较电路以及数据比较电路,所述零值判断电路的输出端与所述符号位比较电路的输入端连接,所述符号位比较电路的输出端与所述数据比较电路的输入端连接,该数据比较器可以减少运算量,节省运算时间;另外,该数据比较器能够对浮定点数进行比较运算,提高了数据比较器的通用性。

Description

数据比较器、数据处理方法、芯片及电子设备
本申请是分案申请。原申请的申请号为201811625330.4,原申请日为2018年12月28日,原申请的全部内容通过引用结合在本申请中。
技术领域
本发明涉及计算机技术领域,特别是涉及一种数据比较器、数据处理方法、芯片及电子设备。
背景技术
随着数字电子技术的不断发展,各类人工智能(Artificial Intelligence,AI)芯片的快速发展对于高性能数字比较器的要求也越来越高。神经网络算法作为智能芯片广泛应用的算法之一,其需要多次用到数据比较器进行数据大小比较运算。
通常,数据比较器主要是针对一些浮点数以及定点数进行比较运算,并不能对浮定点类型的数据进行比较运算,即数据比较器并不能对除浮点数以及定点数以外其它类型的数据进行比较运算,从而导致数据比较器的通用性较低。
发明内容
基于此,有必要针对上述技术问题,提供一种数据比较器、数据处理方法、芯片及电子设备。
本发明实施例提供一种数据比较器,所述数据比较器包括:零值判断电路、符号位比较电路以及数据比较电路,所述零值判断电路的输出端与所述符号位比较电路的输入端连接,所述符号位比较电路的输出端与所述数据比较电路的输入端连接;
其中,所述零值判断电路用于判断接收到的第一数据以及第二数据中是否存在零值,并对所述第一数据以及所述第二数据进行拆分处理,得到所述第一数据中的第一符号位数据,第一指数位数据和第一尾数位数据,以及所述第二数据中的第二符号位数据,第二指数位数据和第二尾数位数据,所述符号位比较电路用于对接收到的所述第一符号位数据以及所述第二符号位数据大小进行比较,所述数据比较电路用于对接收到的指数位数据和/或尾数位数据进行比较处理。
在其中一个实施例中,所述零值判断电路包括:数据输入端口、符号位输出端口、第一尾数位输出端口、第一指数位输出端口、零值判断结果输出端口;
其中,所述数据输入端口用于输入第一数据以及第二数据,所述符号位输出端口用于输出所述零值判断电路,对所述第一数据以及所述第二数据进行拆分处理后,得到的所述第一数据中的第一符号位数据,以及所述第二数据中的第二符号位数据,所述第一尾数位输出端口用于输出所述零值判断电路,对所述第一数据以及所述第二数据进行拆分处理后,得到的所述第一数据中的第一尾数位数据,以及所述第二数据中的第二尾数位数据,所述第一指数位输出端口用于输出所述零值判断电路,对所述第一数据以及所述第二数据进行拆分处理后,得到的所述第一数据中的第一指数位数据,以及所述第二数据中的第二指数位数据,所述零值判断结果输出端口用于输出所述零值判断电路的判断结果。
在其中一个实施例中,所述符号位比较电路包括:符号位输入端口、第一尾数位输入端口、第一指数位输入端口、符号位逻辑判断信号输出端口、第二尾数位输出端口、第二指数位输出端口、符号位比较结果输出端口;
其中,所述符号位输入端口用于接收所述零值判断电路输入的所述第一符号位数据以及所述第二符号位数据,所述第一尾数位输入端口用于接收所述零值判断电路输入的所述第一尾数位数据以及所述第二尾数位数据,所述第一指数位输入端口用于接收所述零值判断电路输入的所述第一指数位数据以及所述第二指数位数据,所述符号位逻辑判断信号输出端口用于输出逻辑判断信号,所述第二尾数位输出端口用于输出所述第一尾数位数据以及所述第二尾数位数据,所述第二指数位输出端口用于输出所述第一指数位数据以及所述第二指数位数据,所述符号位比较结果输出端口用于输出所述第一符号位数据以及所述第二符号位数据的大小比较结果。
在其中一个实施例中,所述数据比较电路包括:最高非零位比较模块、指数位比较模块以及尾数位比较模块,所述最高非零位比较模块的输出端与所述指数位比较模块的输入端连接,所述指数位比较模块的输出端与所述尾数位比较模块的输入端连接;
其中,所述最高非零位比较模块用于对接收到的所述第一尾数位数据以及所述第二尾数位数据中,最高非零位的数位大小进行比较,所述指数位比较模块用于对所述第一指数位数据以及所述第二指数位数据进行比较处理,所述尾数位比较模块用于对所述第一尾数位数据以及所述第二尾数位数据进行比较处理。
在其中一个实施例中,所述最高非零位比较模块包括:第二尾数位输入端口、第二指数位输入端口、最高非零位逻辑判断信号输出端口、最高非零位比较结果输出端口;
其中,所述第二尾数位输入端口用于接收所述符号位比较电路输入的所述第一尾数位数据以及所述第二尾数位数据,所述第二指数位输入端口用于接收所述符号位比较电路输入的所述第一指数位数据以及所述第二指数位数据,所述最高非零位逻辑判断信号输出端口用于输出逻辑判断信号,所述最高非零位比较结果输出端口用于输出所述第一尾数位数据以及所述第二尾数位数据中,最高非零位的数位大小的比较结果。
在其中一个实施例中,所述指数位比较模块包括:第三尾数位数据输入端口、第三指数位数据输入端口、第四尾数位数据输出端口、指数位逻辑判断信号输出端口、指数位比较结果输出端口;
其中,所述第三尾数位数据输入端口用于接收所述最高非零位比较模块,输入的所述第一尾数位数据以及所述第二尾数位数据,所述第三指数位数据输入端口用于接收所述最高非零位比较模块,输入的所述第一指数位数据以及所述第二指数位数据,所述第四尾数位数据输出端口用于输出所述第一尾数位数据以及所述第二尾数位数据,所述指数位逻辑判断信号输出端口用于输出逻辑判断信号,所述指数位比较结果输出端口用于输出所述第一指数位数据以及所述第二指数位数据的大小比较结果。
在其中一个实施例中,所述尾数位比较模块包括:第四尾数位数据输入端口、尾数位比较结果输出端口;其中,所述第四尾数位数据输入端口用于接收所述指数位比较模块,输入的所述第一尾数位数据以及所述第二尾数位数据,所述尾数位比较结果输出端口用于输出所述第一尾数位数据和所述第二尾数位数据的大小比较结果。
本实施例提供的一种数据比较器,通过零值判断电路判断接收到的第一数据和第二数据中是否存在零值,如果接收到的第一数据以及第二数据中存在零值,则该零值判断电路的判断结果为是,此时,结束运算可以得到运算结果,不需要进行数据比较电路的运算,该过程可以减少运算量,节省运算时间;另外,数据比较器还可以对浮定点数进行比较运算,提高了数据比较器的通用性。
本发明实施例提供一种数据处理方法,所述方法包括:
接收待处理数据;
通过零值判断电路判断所述待处理数据中是否存在零值;
若所述待处理数据中不存在零值,则所述零值判断电路将所述待处理数据进行拆分处理,得到所述待处理数据中的符号位数据、指数位数据以及尾数位数据,并通过所述符号位比较电路比较所述符号位数据大小是否相等;
若所述符号位数据相等,则所述符号位比较电路将所述指数位数据和所述尾数位数据输入至数据比较电路,通过所述数据比较电路比较所述尾数位数据中最高非零位的数位、所述指数位数据和/或尾数位数据大小,得到运算结果。
在其中一个实施例中,所述通过零值判断电路判断所述待处理数据中是否存在零值之后,还包括:若所述待处理数据中存在零值,则得到运算结果,结束运算。
在其中一个实施例中,所述通过所述符号位比较电路比较所述符号位数据大小是否相等之后,还包括:若所述符号位数据不相等,则得到运算结果,结束运算。
在其中一个实施例中,所述符号位比较电路将所述指数位数据和所述尾数位数据输入至数据比较电路,通过所述数据比较电路比较所述尾数位数据中最高非零位的数位、所述指数位数据和/或尾数位数据大小,得到运算结果,包括:
通过最高非零位比较模块判断所述尾数位数据中,最高非零位的数位大小是否相等;
若所述最高非零位的数位大小相等,则通过指数位比较模块判断所述指数位数据大小是否相等;
若所述指数位数据大小相等,则通过尾数位比较模块判断所述尾数位数据大小是否相等;
若所述尾数位数据大小不相等,则得到运算结果,结束运算。
在其中一个实施例中,所述通过最高非零位比较模块判断所述尾数位数据中,最高非零位的数位大小是否相等之后,还包括:若所述最高非零位的数位大小不相等,则得到运算结果,结束运算。
在其中一个实施例中,所述通过指数位比较模块判断所述指数位数据大小是否相等之后,还包括:若所述指数位数据大小不相等,则得到运算结果,结束运算。
在其中一个实施例中,所述通过尾数位比较模块判断所述待处理数据中尾数位数据大小是否相等之后,还包括:若所述尾数位数据大小相等,则得到运算结果,结束运算。
本实施例提供的一种数据处理方法,该方法可以对接收到的浮定点数进行比较运算,有效提高数据比较器的通用性。
本发明实施例提供的一种机器学习运算装置,该机器学习运算装置包括一个或者多个所述的数据比较器;该机器学习运算装置用于从其它处理装置中获取待运算数据和控制信息,并执行指定的机器学习运算,将执行结果通过I/O接口传递给其它处理装置;
当所述机器学习运算装置包含多个所述数据比较器时,所述多个所述数据比较器间可以通过特定的结构进行链接并传输数据;
其中,多个所述数据比较器通过PCIE总线进行互联并传输数据,以支持更大规模的机器学习的运算;多个所述数据比较器共享同一控制系统或拥有各自的控制系统;多个所述数据比较器共享内存或者拥有各自的内存;多个所述数据比较器的互联方式是任意互联拓扑。
本发明实施例提供的一种组合处理装置,该组合处理装置包括如所述的机器学习处理装置、通用互联接口,和其它处理装置;该机器学习运算装置与上述其它处理装置进行交互,共同完成用户指定的操作;该组合处理装置还可以包括存储装置,该存储装置分别与所述机器学习运算装置和所述其它处理装置连接,用于保存所述机器学习运算装置和所述其它处理装置的数据。
本发明实施例提供的一种神经网络芯片,该神经网络芯片包括上述所述的数据比较器、上述所述的机器学习运算装置或者上述所述的组合处理装置。
本发明实施例提供的一种神经网络芯片封装结构,该神经网络芯片封装结构包括上述所述的神经网络芯片。
本发明实施例提供的一种板卡,该板卡包括上述所述的神经网络芯片封装结构。
本发明实施例提供了一种电子装置,该电子装置包括上述所述的神经网络芯片或者上述所述的板卡。
本发明实施例提供的一种芯片,包括至少一个如上述任一项所述的数据比较器。
本发明实施例提供的一种电子设备,包括如所述的芯片。
附图说明
图1为一实施例提供的一种数据比较器的整体结构示意图;
图2为另一实施例提供的一种数据比较器的结构示意图;
图3为另一实施例提供的另一种数据比较器的结构示意图;
图4为另一实施例提供的一种数据比较器的具体结构示意图;
图5为另一实施例提供的另一种数据比较器的具体结构示意图;
图6为一实施例提供的一种数据处理方法的流程示意图;
图7为另一实施例提供的另一种数据处理方法的流程示意图;
图8为一实施例提供的一种组合处理装置的结构图;
图9为一实施例提供的另一种组合处理装置的结构图;
图10为一实施例提供的一种板卡的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据比较器可应用于AI芯片、现场可编程门阵列FPGA(Field-Programmable Gate Array,FPGA)芯片、或者是其它的硬件电路设备中进行乘法运算处理,其具体结构示意图如图1所示。
图2为一实施例提供的一种数据比较器的结构示意图。如图2所示,该数据比较器包括:数据拆分电路11、最高非零位比较电路12以及数据比较电路13,所述数据拆分电路11的输出端与所述最高非零位比较电路12的输入端连接,所述最高非零位比较电路12的输出端与所述数据比较电路13的输入端连接;
其中,所述数据拆分电路11用于对接收到的第一数据以及第二数据分别进行拆分处理,得到所述第一数据中的第一尾数位数据和第一指数位数据,以及所述第二数据中的第二尾数位数据和第二指数位数据,所述最高非零位比较电路12用于对接收到的所述第一尾数位数据和所述第二尾数位数据中,最高非零位的数位大小进行比较,所述数据比较电路13用于对接收到的指数位数据和/或尾数位数据大小进行比较。
具体的,上述数据拆分电路11、最高非零位比较电路12以及数据比较电路13,可以采用串行方式处理数据,还可以通过或逻辑实现并行方式处理数据。可选的,上述数据拆分电路11可以将接收到的两个数据拆分,得到尾数位数据以及指数位数据两部分。可选的,当数据比较器对数据进行比较处理时,数据拆分电路11可以将拆分得到的两个尾数位数据,均输入至最高非零位比较电路12中,通过最高非零位比较电路12可以对两个尾数位数据中,最高非零位的数位大小进行比较处理,进一步,数据拆分电路11还可以将拆分得到的两个尾数位数据以及两个指数位数据,均输入至数据比较电路13,通过数据比较电路13对两个尾数位数据和/或两个指数位数据进行比较。
需要说明的是,上述第一数据和第二数据均可以为多位宽的无符号浮定点数,并且第一数据和第二数据的位宽可以相同。可选的,若无符号浮定点数的位宽为n比特,则无符号浮定点数的指数位位数可以大于等于1,当该指数位位数等于m时,则无符号浮定点数的尾数位位数可以等于n-m。示例性的,若无符号浮定点数为8比特位宽,则最高位数值可以为指数位数值,低7位数值可以为尾数位数值。可选的,数据比较电路13可以为一种将接收到的浮定点数中的指数位数据以及尾数位数据进行比较的电路。可选的,上述数据比较电路13可以包括多个具有不同功能的比较模块。可选的,上述不同功能的比较电路的输入端口可以有多个,各比较电路的每个输入端口的功能可以不相同或相同,输出端口也可以有多个,各比较电路的每个输出端口的功能可以相同或不相同,但是,不同比较电路的输入端口的功能可以相同,也可以不同,不同比较电路的输出端口的功能可以相同,也可以不同,并且不同功能的比较电路的电路结构可以不同,也可以相同。
另外,上述尾数位数据中最高非零位的数位可以表征为第一数据和第二数据的尾数位数据中的有效位数据,从最低位数值至最高位数值中的首位非零数值对应的具体位置,其中,最低位数值对应的数位可以表示为0,次低位数值对应的数位可以表示为1,并且有效位数据可以表征尾数位数据中,从最高位数值至最低位数值中的首位非零数值开始,直到最低位数值均为有效位数据。示例性的,若无符号浮定点数的尾数位数据a为“00101”,尾数位数据中的有效位数据为“101”,有效位数据中最低位数值“1”可以称为第0位数值,次低位数值“0”可以称为第1位数值,则从有效位数据中第1位数值向有效位数据中高位数值计算,尾数位数据中最高非零位的数位可以等于2,若无符号浮定点数的尾数位数据b为“01110”,尾数位数据中的有效位数据为“1110”,有效位数据中最低位数值“0”可以称为第0位数值,次低位数值“1”可以称为第1位数值,则从有效位数据中第1位数值向有效位数据中高位数值计算,尾数位数据中最高非零位的数位可以等于3,此时,尾数位数据中最高非零位的数位较大的无符号浮定点数较大,也就是说尾数位数据中最高非零位的位置较低的无符号浮定点数较小,即a小于b。
本实施例提供的一种数据比较器,数据拆分电路用于对接收到的所述第一数据以及所述第二数据进行拆分处理,得到第一尾数位数据,第二尾数位数据,第一指数位数据以及第二指数位数据,并将第一尾数位数据和第二尾数位数据输入至尾数位最高非零位比较电路,对尾数位数据中最高非零位的数位进行比较运算得到比较结果,并根据该比较结果就可以确定接收到的数据是否需要通过下一数据比较电路,对两个尾数位数据和/或两个指数位数据进行比较处理,如果不需要进行下一数据比较电路处理,则结束运算获得运算结果,否则数据拆分电路就会继续将得到的两个尾数位数据和两个指数位数据,输入至数据比较电路中,当数据比较电路输出高电平信号时,结束运算获得运算结果,该过程可以减少运算量,节省运算时间;另外,该数据比较器能够对浮定点数进行比较运算,提高了数据比较器的通用性。
图3为另一实施例提供的一种数据比较器的结构图。如图3所示,该数据比较器包括:零值判断电路21、符号位比较电路22以及数据比较电路23,所述零值判断电路21的输出端与所述符号位比较电路22的输入端连接,所述符号位比较电路22的输出端与所述数据比较电路23的输入端连接;
其中,所述零值判断电路21用于判断接收到的第一数据以及第二数据中是否存在零值,并对所述第一数据以及所述第二数据进行拆分处理,得到所述第一数据中的第一符号位数据,第一指数位数据和第一尾数位数据,以及所述第二数据中的第二符号位数据,第二指数位数据和第二尾数位数据,所述符号位比较电路22用于对接收到的所述第一符号位数据以及所述第二符号位数据大小进行比较,所述数据比较电路23用于对接收到的指数位数据和/或尾数位数据进行比较处理。
具体的,零值判断电路21、符号位比较电路22以及数据比较电路23可以采用串行方式处理数据,还可以通过或逻辑实现并行方式处理数据。可选的,上述第一数据以及第二数据均可以为多位宽的有符号浮定点数,并且第一数据和第二数据的位宽相等。可选的,上述数据比较电路23可以为一种比较第一数据以及第二数据中,尾数位数据中最高非零位的数位、指数位数据和/或尾数位数据大小的电路。可选的,上述数据比较电路23可以包括多个不同功能的数据比较电路。可选的,上述不同功能的数据比较电路的输入端口可以有多个,各数据比较电路的每个输入端口的功能可以不相同或相同,输出端口也可以有多个,各数据比较电路的每个输出端口的功能可以相同或不相同,但是,不同数据比较电路的输入端口的功能可以相同,也可以不同,不同数据比较电路的输出端口的功能可以相同,也可以不同,并且不同功能的数据比较电路的电路结构可以不同,也可以相同。
需要说明的是,若零值判断电路21的判断结果为是,则零值判断电路21可以输出高电平信号,此时,结束运算输出运算结果;若零值判断电路21接收到的第一数据以及第二数据不满足预设条件,则零值判断电路21可以输出低电平信号,此时,数据比较器不结束运算,需要继续通过下一电路对第一数据以及第二数据进行比较处理。可选的,上述满足的预设条件可以表征为接收到的浮定点数中零值对应的编码格式,其中,零值对应的编码格式可以表示为有符号的数据中的指数位数据以及尾数位数据全为0。另外,若零值判断电路21的判断结果为否,则数据比较器可以通过符号位比较电路22,对第一符号位数据以及第二符号位数据的大小进行比较处理,若第一数据和第二数据中的符号位数据大小相等,则数据比较器可以通过下一比较电路对第一数据和第二数据继续进行比较处理,否则,数据比较器可以得到运算结果,结束运算。
本实施例提供的一种数据比较器,通过零值判断电路判断接收到的第一数据和第二数据中是否存在零值,如果接收到的第一数据以及第二数据中存在零值,则该零值判断电路的判断结果为是,此时,结束运算可以得到运算结果,不需要进行数据比较电路的运算,该过程可以减少运算量,节省运算时间;另外,数据比较器还可以对浮定点数进行比较运算,提高了数据比较器的通用性。
在其中一个实施例中,所述数据拆分电路11,所述数据拆分电路11包括数据输入端口111、第一尾数位数据输出端口112以及第一指数位数据输出端口113;其中,所述数据输入端口111用于输入所述第一数据以及所述第二数据,所述第一尾数位数据输出端口112用于输出对所述第一数据以及所述第二数据进行拆分处理后,得到的第一尾数位数据以及第二尾数位数据,所述第一指数位数据输出端口113用于输出对所述第一数据以及所述第二数据进行拆分处理后,得到的第一指数位数据以及第二指数位数据。
具体的,上述数据拆分电路11可以通过数据输入端口111接收两个待比较的无符号浮定点数,对这两个无符号浮定点数进行拆分处理后,分别得到两个无符号浮定点数中的尾数位数据以及指数位数据,并通过第一尾数位数据输出端口112将得到的两个尾数位数据,可以输入至最高非零位比较电路12中,通过第一指数位数据输出端口113将得到的两个指数位数据,可以输入至最高非零位比较电路12中。还可以理解为,数据拆分电路11对接收到的两个待比较数据进行拆分处理后,可以将拆分后得到的两个尾数位数据以及两个指数位数据,同时输入至最高非零位比较电路12中。
本实施例提供的一种数据比较器,数据拆分电路可以对接收到的第一数据以及第二数据进行拆分处理,得到两个数据中的尾数位数据以及指数位数据,进一步通过最高非零位比较电路,对两个尾数位数据中最高非零位的数位进行比较运算得到比较结果,并根据该比较结果就可以确定接收到的数据是否需要通过下一数据比较电路,对两个尾数位数据和/或两个指数位数据进行比较处理,如果不需要进行下一数据比较电路处理,则结束运算获得运算结果,否则数据拆分电路就会继续将得到的两个尾数位数据和两个指数位数据,输入至数据比较电路中,当数据比较电路输出高电平信号时,结束运算获得运算结果,该过程可以减少运算量,节省运算时间;另外,该数据比较器能够对浮定点数进行比较运算,提高了数据比较器的通用性。
在其中一个实施例中,所述最高非零位比较电路12包括:第一尾数位数据输入端口121、第一指数位数据输入端口122、第二尾数位数据输出端口123、第二指数位数据输出端口124、最高非零位逻辑判断信号输出端口125、最高非零位比较结果输出端口(agtb1)126和(altb1)127;
其中,所述第一尾数位数据输入端口121用于接收所述数据拆分电路11输入的所述第一尾数位数据以及所述第二尾数位数据,所述第一指数位数据输入端口122用于接收所述数据拆分电路11输入的所述第一指数位数据以及所述第二指数位数据,所述第二尾数位数据输出端口123用于输出所述第一尾数位数据以及所述第二尾数位数据,所述第二指数位数据输出端口124用于输出所述第一指数位数据以及所述第二指数位数据,所述最高非零位逻辑判断信号输出端口125用于输出逻辑判断信号,所述最高非零位比较结果输出端口(agtb1)126和(altb1)127,分别用于输出所述第一尾数位数据以及所述第二尾数位数据中,最高非零位的数位大小的比较结果。
具体的,最高非零位比较电路12可以对接收到的第一尾数位数据和第二尾数位数据中,最高非零位的数位大小进行比较处理,若最高非零位比较结果输出端口(agtb1)126或(altb1)127输出高电平信号,则结束运算得到运算结果,此时,最高非零位逻辑判断信号输出端口125可以输出低电平信号,表征数据比较器不需要通过指数位比较模块131以及尾数位比较模块132,对两个指数位数据和两个尾数位数据进行比较处理。若最高非零位比较结果输出端口(agtb1)126或(altb1)127输出低电平信号时,则数据比较器需要通过指数位比较模块131和/或尾数位比较模块132,继续对两个指数位数据和/或两个尾数位数据进行比较处理,此时,最高非零位逻辑判断信号输出端口125可以输出高电平信号,表征数据比较器需要通过数据比较电路13,对两个指数位数据和/或两个尾数位数据继续进行比较处理。
可选的,若有符号的浮定点数为正数,则浮定点数的尾数位数据中,最高非零位的数位越大(即最高非零位的位置越低),对应的有符号浮定点数越小;若有符号的浮定点数为负数,则浮定点数的尾数位数据中,最高非零位的数位越大(即最高非零位的位置越高),对应的有符号浮定点数越小。
示例性的,对于正浮定点数,若浮定点数的尾数位数据a为“00101”,尾数位数据中的有效位数据为“101”,有效位数据中最低位数值“1”可以称为第0位数值,次低位数值“0”可以称为第1位数值,则从有效位数据中第1位数值向有效位数据中高位数值计算,尾数位数据中最高非零位的数位可以等于2,若浮定点数的尾数位数据b为“01110”,尾数位数据中的有效位数据为“1110”,有效位数据中最低位数值“0”可以称为第0位数值,次低位数值“1”可以称为第1位数值,则从有效位数据中第1位数值向有效位数据中高位数值计算,尾数位数据中最高非零位的数位可以等于3,此时,尾数位数据中最高非零位的数位较大的浮定点数较大,也就是说尾数位数据中最高非零位的位置较低的浮定点数较小,即a小于b。
对于负浮定点数,若浮定点数的尾数位数据a为“00101”,尾数位数据中有效位数据为“101”,有效位数据中最高位数值“1”可以称为第0位数值,次高位数值“0”可以称为第1位数值,则从有效位数据中第1位数值向有效位数据中低位数值计算,尾数位数据中最高非零位的数位可以等于2,若浮定点数的尾数位数据b为“01110”,尾数位数据中的有效位数据为“1110”,有效位数据中最高位数值“1”可以称为第0位数值,次高位数值“1”可以称为第1位数值,则从有效位数据中第1位数值向有效位数据中低位数值计算,尾数位数据中最高非零位的数位可以等于1,此时,尾数位数据中最高非零位的数位较大的浮定点数较小,也就是说尾数位数据中最高非零位的位置较高的浮定点数较小,即a大于b。
本实施例提供的一种数据比较器,最高非零位比较电路可以对第一数据以及第二数据的尾数位数据中,最高非零位的数位大小进行比较处理,输出比较结果,从而结束运算得到运算结果,该过程可以减少运算量,节省运算时间;另外,数据比较器还可以对浮定点数进行比较运算,提高了数据比较器的通用性。
图4为另一实施例提供的一种数据比较器的具体结构示意图,该数据比较器包括数据比较电路13,所述数据比较电路13包括指数位比较模块131以及尾数位比较模块132,指数位比较模块131的输出端与尾数位比较模块132的输入端连接。其中,所述指数位比较模块131用于对接收到的所述第一指数位数据以及所述第二指数位数据进行比较处理,所述尾数位比较模块132用于对接收到的所述第一尾数位数据以及所述第二尾数位数据进行比较处理。
需要说明的是,若数据比较器需要通过数据比较电路13对接收到的第一数据和第二数据进行比较处理,则通过指数位比较模块131以及尾数位比较模块132,对接收到的第一数据和第二数据中,尾数位数据以及指数位数据依次进行处理,直到其中一个比较模块可以得到一个比较结果为止,对应的比较模块会输出高电平信号,此时,结束运算输出运算结果。可选的,上述比较结果可以包括第一数据和第二数据中,指数位数据大小比较结果,和/或尾数位数据大小比较结果。
本实施例提供的一种数据比较器,通过指数位比较模块和尾数位比较模块,依次判断接收到的第一数据和第二数据中,指数位数据大小和/或尾数位数据大小,如果可以确定接收到的第一数据和第二数据中,指数位数据大小和/或尾数位的大小,则相应的比较模块会输出高电平信号,进而得到运算结果,该数据比较器能够对浮定点数进行比较运算,提高数据比较器的通用性。
在其中一个实施例中,所述指数位比较模块131包括:第二尾数位数据输入端口1311、第二指数位数据输入端口1312、第三尾数位数据输出端口1313、指数位逻辑判断信号输出端口1314、指数位比较结果输出端口(agtb2)1315和(altb2)1316;其中,所述第二尾数位数据输入端口1311用于接收所述最高非零位比较电路12,输入的所述第一尾数位数据以及所述第二尾数位数据,所述第二指数位数据输入端口1312用于接收所述最高非零位比较电路12,输入的所述第一指数位数据以及所述第二指数位数据,所述第三尾数位数据输出端口1313用于输出所述第一尾数位数据以及所述第二尾数位数据,所述指数位逻辑判断信号输出端口1314用于输出逻辑判断信号,所述指数位比较结果输出端口(agtb2)1315和(altb2)1316,分别用于输出所述第一指数位数据以及所述第二指数位数据的大小比较结果。
具体的,指数位比较模块131可以对接收到的两个指数位数据进行比较处理,若指数位比较结果输出端口(agtb2)1315或(altb2)1316输出高电平信号,则结束运算得到运算结果,此时,指数位逻辑判断信号输出端口1314可以输出低电平信号,表征数据比较器不需要通过尾数位比较模块132,对两个尾数位数据进行比较处理。若指数位比较结果输出端口(agtb2)1315或(altb2)1316输出低电平信号时,则数据比较器需要通过尾数位比较模块132,继续对两个尾数位数据进行比较处理,此时,指数位逻辑判断信号输出端口1314可以输出高电平信号,表征数据比较器需要通过尾数位比较模块132,对两个尾数位数据进行比较处理。
本实施例提供的一种数据比较器,指数位比较模块可以对第一数据和第二数据中,指数位数据大小进行比较处理,输出比较结果,从而结束运算得到运算结果,该过程可以减少运算量,节省运算时间;另外,数据比较器还可以对浮定点数进行比较运算,提高了数据比较器的通用性。
在其中一个实施例中,所述尾数位比较模块132包括:第三尾数位数据输入端口1321、尾数位比较结果输出端口(agtb3)1322、(altb3)1323和(aeqb3)1324;其中,所述第三尾数位数据输入端口1321用于接收所述指数位比较模块131输入的所述第一尾数位数据以及所述第二尾数位数据,所述尾数位比较结果输出端口(agtb3)1322,(altb3)1323和(aeqb3)1324,分别用于输出所述第一尾数位数据和所述第二尾数位数据的大小比较结果。
具体的,尾数位比较模块132可以对接收到的两个尾数位数据进行比较处理,若尾数位比较结果输出端口(agtb3)1322,(altb3)1323或(aeqb3)1324输出高电平信号,则结束运算得到运算结果。
本实施例提供的一种数据比较器,尾数位比较电路可以对第一数据和第二数据中的尾数位数据大小进行比较处理,输出比较结果,从而结束运算得到运算结果,该过程可以减少运算量,节省运算时间;另外,数据比较器还可以对浮定点数进行比较运算,提高了数据比较器的通用性。
在其中一个实施例中,所述零值判断电路21包括:数据输入端口211、符号位输出端口212、第一尾数位输出端口213、第一指数位输出端口214、零值判断结果输出端口(agtb1)215、(aeqb1)216和(altb1)217。其中,所述数据输入端口211用于输入第一数据以及第二数据,所述符号位输出端口212用于输出所述零值判断电路21,对所述第一数据以及所述第二数据进行拆分处理后,得到的所述第一数据中的第一符号位数据,以及所述第二数据中的第二符号位数据,所述第一尾数位输出端口213用于输出所述零值判断电路21,对所述第一数据以及所述第二数据进行拆分处理后,得到的所述第一数据中的第一尾数位数据,以及所述第二数据中的第二尾数位数据,所述第一指数位输出端口214用于输出所述零值判断电路21,对所述第一数据以及所述第二数据进行拆分处理后,得到的所述第一数据中的第一指数位数据,以及所述第二数据中的第二指数位数据,所述零值判断结果输出端口(agtb1)215、(aeqb1)216以及(altb1)217,分别用于输出所述零值判断电路21的判断结果。
具体的,上述三个零值判断结果输出端口(agtb1)215、(aeqb1)216以及(altb1)217输出的判断结果可以为逻辑信号,该逻辑信号可以为高电平信号,还可以为低电平信号。若零值判断电路21接收到的两个数据均满足预设条件时,则零值判断结果输出端口(aeqb1)216可以输出高电平信号,另外两个端口可以输出低电平信号,此时,结束运算输出运算结果。可选的,若零值判断结果输出端口(agtb1)215或(altb1)217,输出高电平信号时,则表明零值判断电路21接收到的两个数据中存在一个零值,此时,可以直接根据零值判断电路21确定两个数据的大小。可选的,若三个零值判断结果输出端口均输出低电平信号时,可以表示零值判断电路21接收到的两个数据中不存在零值,不能结束运算,仍然需要进入下一比较电路对数据进行比较处理。可选的,上述零值判断电路21对应的预设条件可以为接收到的浮定点数是否满足零值对应的编码格式。
需要说明的是,上述第一数据和第二数据均可以为有符号浮定点数,并且第一数据和第二数据的位宽可以相等。可选的,零值判断电路21可以判断接收到的两个数据中,指数位数据以及尾数位数据是否均为零值对应的编码格式。示例性的,若零值判断电路21接收到的两个数据中,一个为正零,一个为负零,则零值判断电路21中的零值判断结果输出端口(aeqb1)216可以输出高电平信号,表明数据比较器比较的两个数据相等,即正零等于负零,此时,数据比较器输出的最大值Zmax和最小值Zmin相等,均为零值。另外,若第一数据和第二数据中,一个为零值,另一个为非零值的情况,则数据比较器也可以通过零值判断电路21直接判断数据大小,结束运算,不需要继续通过其它比较电路对数据进行比较运算,还可以理解为,该种情况下,零值判断电路21可以对零值以及非零值的符号位也可以进行判断,直接得到运算结果。
本实施例提供的一种数据比较器,零值判断电路可以根据零值判断结果输出的判断结果,确定数据比较器是否可以直接结束运算得到运算结果,此时,该数据比较器就不需要进行后续其它比较电路的运算,可以减少运算量,节省运算时间;另外,数据比较器还可以对浮定点数进行比较运算,提高了数据比较器的通用性。
作为其中一个实施例,所述符号位比较电路22包括:符号位输入端口221、第一尾数位输入端口222、第一指数位输入端口223、符号位逻辑判断信号输出端口224、第二尾数位输出端口225、第二指数位输出端口226、符号位比较结果输出端口(agtb2)227和(altb2)228,其中,所述符号位输入端口221用于接收所述零值判断电路21输入的所述第一符号位数据以及所述第二符号位数据,所述第一尾数位输入端口222用于接收所述零值判断电路21输入的所述第一尾数位数据以及所述第二尾数位数据,所述第一指数位输入端口223用于接收所述零值判断电路21输入的所述第一指数位数据以及所述第二指数位数据,所述符号位逻辑判断信号输出端口224用于输出逻辑判断信号,所述第二尾数位输出端口225用于输出所述第一尾数位数据以及所述第二尾数位数据,所述第二指数位输出端口226用于输出所述第一指数位数据以及所述第二指数位数据,所述符号位比较结果输出端口(agtb2)227和(altb2)228,分别用于输出所述第一符号位数据以及所述第二符号位数据的大小比较结果。
需要说明的是,若符号位比较结果输出端口(agtb2)227或(altb2)228输出高电平信号,则结束运算得到运算结果。示例性的,若数据比较器接收到的两个有符号浮定点数分别为a和b,则agtb2输出高电平信号可以表征,有符号浮定点数a为负数,有符号浮定点数b为正数,并说明a小于b;若altb2输出高电平信号可以表征,有符号浮定点数a为正数,有符号浮定点数b为负数,并说明a大于b。另外,若所有符号位比较结果输出端口均无高电平信号输出,则表征符号位比较电路22需要将接收到的两个尾数位数据以及两个指数位数据,均输入至下一比较电路继续进行比较处理。
另外,数据比较器可以根据符号位比较结果输出端口(agtb2)227,或(altb2)228输出的高电平信号,确定输出的最大值Zmax以及最小值Zmin。
本实施例提供的一种数据比较器,通过符号位比较电路对接收到的两个数据中符号位数的大小进行比较,若比较结果中有高电平信号输出,则结束比较运算得到运算结果,进而可以减少运算量,节省运算时间;另外,数据比较器还可以对浮定点数进行比较运算,提高数据比较器的通用性。
图5为另一实施例提供的另一种数据比较器的具体结构示意图,该数据比较器包括数据比较电路23,所述数据比较电路23包括:最高非零位比较模块231、指数位比较模块232以及尾数位比较模块233,所述最高非零位比较模块231的输出端与所述指数位比较模块232的输入端连接,所述指数位比较模块232的输出端与所述尾数位比较模块233的输入端连接。其中,所述最高非零位比较模块231用于对接收到的所述第一尾数位数据以及所述第二尾数位数据中,最高非零位的数位大小进行比较,所述指数位比较模块232用于对所述第一指数位数据以及所述第二指数位数据进行比较处理,所述尾数位比较模块233用于对所述第一尾数位数据以及所述第二尾数位数据进行比较处理。
具体的,最高非零位比较模块231、指数位比较模块232以及尾数位比较模块233,可以采用串行方式处理数据,还可以通过或逻辑实现并行方式处理数据。
本实施例提供的一种数据比较器,符号位比较电路将接收到的两个尾数位数据,输入至最高非零位比较模块,并通过最高非零位比较模块对两个尾数位数据中,最高非零位的数位进行比较运算得到比较结果,并根据该比较结果就可以确定接收到的两个数据是否需要通过下一比较模块,对两个数据中的尾数位数据和/或指数位数据进行比较处理,如果不需要进行下一比较模块处理,则结束运算获得运算结果,否则,符号位比较电路继续将两个尾数位数据和/或两个指数位数据,输入至比较模块中,当比较模块输出高电平信号时,结束运算获得运算结果,该过程可以减少运算量,节省运算时间;另外,该数据比较器能够对浮定点数进行比较运算,提高了数据比较器的通用性。
在其中一个实施例中,所述最高非零位比较模块231包括:第二尾数位输入端口2311、第二指数位输入端口2312、最高非零位逻辑判断信号输出端口2313、最高非零位比较结果输出端口(agtb3)2314和(altb3)2315,其中,所述第二尾数位输入端口2311用于接收所述符号位比较电路22输入的所述第一尾数位数据以及所述第二尾数位数据,所述第二指数位输入端口2312用于接收所述符号位比较电路22输入的所述第一指数位数据以及所述第二指数位数据,所述最高非零位逻辑判断信号输出端口2313用于输出逻辑判断信号,所述最高非零位比较结果输出端口(agtb3)2314和(altb3)2315,分别用于输出所述第一尾数位数据以及所述第二尾数位数据中,最高非零位的数位大小的比较结果。
需要说明的是,若最高非零位比较结果输出端口(agtb3)2314或(altb3)2315输出高电平信号,则结束运算得到运算结果。示例性的,若数据比较器接收到的两个无符号浮定点数分别为a和b,则agtb3输出高电平信号可以表征,无符号浮定点数a的尾数位数据中最高非零位的数位,大于无符号浮定点数b的尾数位数据中最高非零位的数位,并说明a小于b;若altb1输出高电平信号可以表征,无符号浮定点数a的尾数位数据中最高非零位的数位,小于无符号浮定点数b的尾数位数据中最高非零位的位数,并说明a大于b。可选的,数据比较器可以根据最高非零位比较结果输出端口(agtb3)2314或(altb3)2315输出的高电平信号,确定输出的最大值Zmax以及最小值Zmin。另外,若所有最高非零位比较结果输出端口均无高电平信号输出,则表征最高非零位比较模块231,需要将接收到的两个指数位数据以及两个尾数位数据,输入至下一数据比较电路继续进行比较处理。
本实施例提供的一种数据比较器,最高非零位比较模块可以根据两个尾数位数据中,最高非零位比较结果输出端口输出比较结果,从而结束运算得到运算结果,该过程可以减少运算量,节省运算时间;另外,数据比较器还可以对浮定点数进行比较运算,提高了数据比较器的通用性。
在其中一个实施例中,所述指数位比较模块232包括:第三尾数位数据输入端口2321、第三指数位数据输入端口2322、第四尾数位数据输出端口2323、指数位逻辑判断信号输出端口2324、指数位比较结果输出端口(agtb4)2325和(altb4)2326;其中,所述第三尾数位数据输入端口2321用于接收所述最高非零位比较模块231,输入的所述第一尾数位数据以及所述第二尾数位数据,所述第三指数位数据输入端口2322用于接收所述最高非零位比较模块231,输入的所述第一指数位数据以及所述第二指数位数据,所述第四尾数位数据输出端口2323用于输出所述第一尾数位数据以及所述第二尾数位数据,所述指数位逻辑判断信号输出端口2324用于输出逻辑判断信号,所述指数位比较结果输出端口(agtb4)2325和(altb4)2326,分别用于输出所述第一指数位数据以及所述第二指数位数据的大小比较结果。
具体的,指数位比较模块232可以对接收到的两个指数位数据进行比较处理,若指数位比较结果输出端口(agtb4)2325或(altb4)2326输出高电平信号,则结束运算得到运算结果,此时,指数位逻辑判断信号输出端口2324可以输出低电平信号,表征数据比较器不需要通过尾数位比较模块233,对两个尾数位数据进行比较处理。若指数位比较结果输出端口(agtb4)2325或(altb4)2326输出低电平信号时,则数据比较器需要通过尾数位比较模块233,继续对两个尾数位数据进行比较处理,此时,指数位逻辑判断信号输出端口2324可以输出高电平信号,表征数据比较器需要通过尾数位比较模块233,对两个尾数位数据进行比较处理。
本实施例提供的一种数据比较器,指数位比较模块可以对第一数据和第二数据中,指数位数据大小进行比较处理,输出比较结果,从而结束运算得到运算结果,该过程可以减少运算量,节省运算时间;另外,数据比较器还可以对浮定点数进行比较运算,提高了数据比较器的通用性。
作为其中一个实施例,所述尾数位比较模块233包括:第四尾数位数据输入端口2331、尾数位比较结果输出端口(agtb5)2332,(altb5)2333和(aeqb5)2334;其中,所述第四尾数位数据输入端口2331用于接收所述指数位比较模块232,输入的所述第一尾数位数据以及所述第二尾数位数据,所述尾数位比较结果输出端口(agtb5)2332,(altb5)2333和(aeqb5)2334,分别用于输出所述第一尾数位数据和所述第二尾数位数据的大小比较结果。
具体的,尾数位比较模块233可以对接收到的两个尾数位数据进行比较处理,若尾数位比较结果输出端口(agtb5)2332,(altb5)2333或(aeqb5)2334输出高电平信号,则结束运算得到运算结果。
本实施例提供的一种数据比较器,尾数位比较模块可以对第一数据和第二数据中的尾数位数据大小进行比较处理,输出比较结果,从而结束运算得到运算结果,该过程可以减少运算量,节省运算时间;另外,数据比较器还可以对浮定点数进行比较运算,提高了数据比较器的通用性。
图6为一实施例提供的数据处理方法的流程示意图,该方法可以通过图2和图4所示的数据比较器进行处理,本实施例涉及的是对数据进行比较运算的过程。如图6所示,该方法包括:
S101、接收待处理数据。
具体的,数据比较器可以接收两个待处理数据。可选的,数据比较器将接收到的待处理数据,输入至最高非零位比较电路,若最高非零位比较电路运算结束后,还需要通过数据比较电路对待处理数据进行处理时,则最高非零位比较电路将接收到的待处理数据,输入至数据比较电路对待处理数据进行比较运算。可选的,上述待处理数据可以为多位宽的无符号浮定点数,并且两个待处理数据的位宽相等。
S102、对所述待处理数据进行拆分处理,得到所述待处理数据中的指数位数据以及尾数位数据。
具体的,数据比较器可以通过数据拆分电路对两个待处理数据进行数据拆分处理,得到两个待处理数据中的指数位数据以及尾数位数据,并将两个指数位数据以及两个尾数位数据均输入至最高非零位比较电路进行后续比较处理。可选的,若无符号浮定点数的位宽为n比特,则无符号浮定点数中指数位数据的总位数可以大于等于1,当该指数位数据的总位数等于m时,则无符号浮定点数的尾数位数据的总位数可以等于n-m。示例性的,若无符号浮定点数为8比特位宽,则最高位数值可以为指数位数值,低7位数值可以为尾数位数值。
S103、通过最高非零位比较电路,对所述尾数位数据中最高非零位的数位进行比较处理,得到比较结果。
具体的,上述比较结果可以为待处理数据的尾数位数据中,最高非零位的数位进行比较,得到比较结果。可选的,上述比较结果可以为逻辑判断信号,该逻辑判断信号可以为高电平信号1,还可以为低电平信号0。可选的,上述尾数位数据中最高非零位的数位可以表征为第一数据和第二数据的尾数位数据中的有效位数据,从最低位数值至最高位数值中的首位非零数值对应的具体位置,其中,最低位数值对应的数位可以表示为0,次低位数值对应的数位可以表示为1,并且有效位数据可以表征尾数位数据中,从最高位数值至最低位数值中的首位非零数值开始,直到最低位数值均为有效位数据。
示例性的,若无符号浮定点数的尾数位数据a为“00101”,尾数位数据中的有效位数据为“101”,有效位数据中最低位数值“1”可以称为第0位数值,次低位数值“0”可以称为第1位数值,则从有效位数据中第1位数值向有效位数据中高位数值计算,尾数位数据中最高非零位的数位可以等于2,若无符号浮定点数的尾数位数据b为“01110”,尾数位数据中的有效位数据为“1110”,有效位数据中最低位数值“0”可以称为第0位数值,次低位数值“1”可以称为第1位数值,则从有效位数据中第1位数值向有效位数据中高位数值计算,尾数位数据中最高非零位的数位可以等于3,此时,尾数位数据中最高非零位的数位较大的无符号浮定点数较大,也就是说尾数位数据中最高非零位的位置较低的无符号浮定点数较小,即a小于b。
S104、根据所述比较结果,判断所述指数位数据和/或尾数位数据是否需要通过数据比较电路进行比较处理。
可选的,上述S104中根据所述比较结果,判断所述指数位数据和/或尾数位数据是否需要通过数据比较电路进行比较处理,包括:若所述比较结果为高电平信号,则判断所述指数位数据和/或尾数位数据不需要通过所述数据比较电路进行比较处理;若所述比较结果为低电平信号,则判断所述指数位数据和/或尾数位数据需要通过所述数据比较电路进行比较处理。
可选的,上述S104中根据所述比较结果,判断所述指数位数据和/或尾数位数据是否需要通过数据比较电路进行比较处理的步骤之后,还包括:若不需要通过数据比较电路进行比较处理,则得到运算结果。
具体的,数据比较器可以根据最高非零位比较电路输出的比较结果,判断两个指数位数据和/或两个尾数位数据是否需要通过数据比较电路继续进行比较处理,以得到运算结果。可选的,若上述比较结果为高电平信号时,则数据比较器可以不需要对拆分后得到的两个指数位数据,和/或两个尾数位数据进行比较处理,否则,数据比较器还需要对两个指数位数据和/或两个尾数位数据进行比较处理。
S105、若需要,则所述最高非零位比较电路将所述指数位数据和所述尾数位数据,输入至所述数据比较电路,通过所述数据比较电路比较所述指数位数据和/或所述尾数位数据大小,得到运算结果。
具体的,若最高非零位比较电路输出的比较结果为低电平信号,则最高非零位比较电路可以将两个尾数位数据以及两个指数位数据均输入至数据比较电路,并通过数据比较电路对两个尾数位数据和/或两个指数位数据大小进行比较处理,根据比较结果得到运算结果。
本实施例提供的一种数据处理方法,数据比较器可以将接收到的两个待处理数据进行拆分,得到两个待处理数据中的尾数位数据以及指数位数据,并对尾数位数据中尾数位最高非零位的数位进行比较处理,得到比较结果,根据比较结果判断是否还需要对拆分后得到的两个指数位数据,和/或两个尾数位数据大小进行比较处理,若不需要,可以结束运算处理得到运算结果,从而可以减少运算量,节省运算时间;另外,该方法还可以对接收到的浮定点数进行比较运算,有效提高数据比较器的通用性。
在其中一个实施例中,上述S105中所述最高非零位比较电路将所述指数位数据和所述尾数位数据,输入至所述数据比较电路,通过所述数据比较电路比较所述指数位数据和/或所述尾数位数据大小,得到运算结果,包括:
S1051、通过指数位比较模块比较所述指数位数据是否相等。
具体的,指数位比较模块可以接收最高非零位比较电路输入的两个指数位数据,并对指数位数据进行比较处理,判断两个指数位数据是否相等。
可选的,上述S1051中通过所述比较模块比较所述指数位数据是否相等的步骤之后,还包括:若所述指数位数据不相等,则得到运算结果,结束运算。
需要说明的是,若指数位比较模块接收到的两个指数位数据不相等时,则指数位数据越大,待处理数据越大,指数位数据越小,待处理数据越小。
S1052、若所述指数位数据相等,则通过所述尾数位比较模块比较所述尾数位数据是否相等。
具体的,若两个指数位数据相等,则指数位比较模块可以将两个尾数位数据,输入至尾数位比较模块,通过尾数位比较模块对两个尾数位数据进行比较处理,判断两个待处理数据中的尾数位数据是否相等。
可选的,上述S1052中通过所述尾数位比较模块比较所述尾数位数据是否相等的步骤之后,还包括:若所述尾数位数据不相等,则得到运算结果,结束运算。
S1053、若所述尾数位数据相等,则得到运算结果,结束运算。
具体的,如果两个待处理数据中的尾数位数据相等,则尾数位比较模块可以通过尾数位比较结果输出端口输出尾数位比较运算结果,并通过数据比较器的最大值输出端口(Zmax)和最小值输出端口(Zmin),输出接收到的两个待处理数据中最大值和最小值,结束比较运算,此时,最大值可以等于最小值。其中,上述尾数位比较运算结果可以为高电平信号。
本实施例提供的一种数据处理方法,通过指数位比较模块比较所述指数位数据是否相等,若所述指数位数据相等,则通过所述尾数位比较模块比较所述尾数位数据是否相等,若所述尾数位数据相等,则得到运算结果,结束运算,该方法可以对接收到的浮定点数进行比较运算,有效提高数据比较器的通用性。
图7为一实施例提供的数据处理方法的流程示意图,该方法可以通过图3和图5所示的数据比较器进行处理,本实施涉及的是对数据进行比较运算的过程。如图7所示,该方法包括:
S201、接收待处理数据。
具体的,数据比较器可以接收到两个待处理数据。可选的,数据比较器接收到的两个待处理数据均可以为多位宽的有符号位浮定点数,并且两个待处理数据的位宽相等。
S202、通过零值判断电路判断所述待处理数据中是否存在零值。
具体的,数据比较器通过零值判断电路可以判断接收到的两个待处理数据中,是否存在零值。
可选的,上述S202中通过零值判断电路判断所述待处理数据中是否存在零值之后,还包括:若所述待处理数据中存在零值,则得到运算结果,结束运算。
具体的,若待处理数据中存在零值,则存在零值的情况可以包括两种,一种为两个待处理数据中有一个零值一个非零值,此时,零值判断电路也可以直接判断数据大小,结束运算,不需要继续通过其它比较电路进行比较运算,还可以理解为,该种情况下,零值判断电路可以对零值以及非零值的符号位也可以进行判断,直接得到运算结果;另一种为两个待处理数据中有两个零值,此时,两个待处理数据可以相等。
S203、若所述待处理数据中不存在零值,则所述零值判断电路将所述待处理数据进行拆分处理,得到所述待处理数据中的符号位数据、指数位数据以及尾数位数据,并通过所述符号位比较电路比较所述符号位数据大小是否相等。
具体的,若待处理数据中不存在零值,则符号位比较电路可以对接收到的两个符号位数值进行比较,根据比较结果得到运算结果。可选的,零值判断电路可以对两个待处理数据进行数据拆分处理,得到两个待处理数据中的符号位数据、指数位数据以及尾数位数据,并将两个符号位数据、两个指数位数据以及两个尾数位数据均输入至符号位比较电路。可选的,零值判断电路可以对待处理数据进行拆分处理,得到的待处理数据中的符号位数据,指数位数据以及尾数位数据。
可选的,上述S203中通过所述符号位比较电路比较所述符号位数据大小是否相等的步骤之后,还包括:若所述符号位数据不相等,则得到运算结果,结束运算。
S204、若所述符号位数据相等,则所述符号位比较电路将所述指数位数据和所述尾数位数据输入至数据比较电路,通过所述数据比较电路比较所述尾数位数据中最高非零位的数位、所述指数位数据和/或尾数位数据大小,得到运算结果。
具体的,若数据比较器中的符号位比较电路判断两个待处理数据中的符号位数据相等,则符号位比较电路均可以将接收到的两个指数位数据和两个尾数位数据,输入至数据比较电路,通过数据比较电路对两个待处理数据中,尾数位数据中最高非零位的数位、指数位数据和/或尾数位数据大小进行比较,以得到运算结果。
本实施例提供的一种数据比较器,接收待处理数据,通过零值判断电路判断所述待处理数据中是否存在零值,若所述待处理数据中不存在零值,则所述零值判断电路将所述待处理数据中的符号位数据、指数位数据以及尾数位数据,输入至符号位比较电路,通过所述符号位比较电路比较所述符号位数据大小,得到运算结果,进而可以减少运算量,节省运算时间;另外,数据比较器还可以对浮定点数进行比较运算,提高数据比较器的通用性。
作为其中一个实施例,上述S204中所述符号位比较电路将所述指数位数据和所述尾数位数据输入至数据比较电路,通过所述数据比较电路比较所述尾数位数据中最高非零位的数位、所述指数位数据和/或尾数位数据大小,得到运算结果,包括:
S2041、通过最高非零位比较模块判断所述尾数位数据中,最高非零位的数位大小是否相等。
可选的,上述S2041中通过最高非零位比较模块判断所述尾数位数据中,最高非零位的数位大小是否相等的步骤之后,还包括:若所述最高非零位的数位大小不相等,则得到运算结果,结束运算。
示例性的,对于正浮定点数,若浮定点数的尾数位数据a为“00101”,尾数位数据中的有效位数据为“101”,有效位数据中最低位数值“1”可以称为第0位数值,次低位数值“0”可以称为第1位数值,则从有效位数据中第1位数值向有效位数据中高位数值计算,尾数位数据中最高非零位的数位可以等于2,若浮定点数的尾数位数据b为“01110”,尾数位数据中的有效位数据为“1110”,有效位数据中最低位数值“0”可以称为第0位数值,次低位数值“1”可以称为第1位数值,则从有效位数据中第1位数值向有效位数据中高位数值计算,尾数位数据中最高非零位的数位可以等于3,此时,尾数位数据中最高非零位的数位较大的浮定点数较大,也就是说尾数位数据中最高非零位的位置较低的浮定点数较小,即a小于b。
对于负浮定点数,若浮定点数的尾数位数据a为“00101”,尾数位数据中有效位数据为“101”,有效位数据中最高位数值“1”可以称为第0位数值,次高位数值“0”可以称为第1位数值,则从有效位数据中第1位数值向有效位数据中低位数值计算,尾数位数据中最高非零位的数位可以等于2,若浮定点数的尾数位数据b为“01110”,尾数位数据中的有效位数据为“1110”,有效位数据中最高位数值“1”可以称为第0位数值,次高位数值“1”可以称为第1位数值,则从有效位数据中第1位数值向有效位数据中低位数值计算,尾数位数据中最高非零位的数位可以等于1,此时,尾数位数据中最高非零位的数位较大的浮定点数较小,也就是说尾数位数据中最高非零位的位置较高的浮定点数较小,即a大于b。
S2042、若所述最高非零位的数位大小相等,则通过指数位比较模块判断所述指数位数据大小是否相等。
具体的,若最高非零位比较模块输出低电平信号时,则表征尾数位数据中,最高非零位的数位大小相等,此时,数据比较器还需要通过指数位比较模块,对待处理数据中的指数位数据大小进行比较处理,根据比较结果判断指数位数据大小是否相等。
可选的,上述S2042中通过指数位比较模块判断所述指数位数据大小是否相等之后,还包括:若所述指数位数据大小不相等,则得到运算结果,结束运算。
需要说明的是,若两个待处理数据中指数位数据不相等,则对于正数,指数位越大,待处理数据越大,对于负数,指数位越大,待处理数据越小。
S2043、若所述指数位数据大小相等,则通过尾数位比较模块判断所述尾数位数据大小是否相等。
具体的,若指数位比较模块输出低电平信号时,则表征指数位数据大小相等,此时,数据比较器还需要通过尾数位比较模块,对待处理数据中的尾数位数据大小进行比较处理,根据比较结果判断尾数位数据大小是否相等。
可选的,上述S2043中通过尾数位比较模块判断所述待处理数据中尾数位数据大小是否相等之后,还包括:若所述尾数位数据大小相等,则得到运算结果,结束运算。
需要说明的是,若尾数位比较模块中的尾数位比较结果输出端口aeqb5输出高电平信号,则两个尾数位数据大小相等,可以表征数据比较器接收到的两个待处理数据大小相等。
S2044、若所述尾数位数据大小不相等,则得到运算结果,结束运算。
具体的,若尾数位比较模块判断尾数位数据大小不相等时,则对于正数,尾数位数据越大,待处理数据越大,对于负数,尾数位数据越大,待处理数据越小。
本实施例提供的一种数据处理方法,该方法可以对接收到的浮定点数进行比较运算,有效提高数据比较器的通用性。
本发明实施例还提供了一个机器学习运算装置,其包括一个或多个在本申请中提到的数据比较器,用于从其它处理装置中获取待运算数据和控制信息,执行指定的机器学习运算,执行结果通过I/O接口传递给外围设备。外围设备譬如摄像头,显示器,鼠标,键盘,网卡,wifi接口,服务器。当包含一个以上数据比较器时,数据比较器间可以通过特定的结构进行链接并传输数据,譬如,通过PCIE总线进行互联并传输数据,以支持更大规模的机器学习的运算。此时,可以共享同一控制系统,也可以有各自独立的控制系统;可以共享内存,也可以每个加速器有各自的内存。此外,其互联方式可以是任意互联拓扑。
该机器学习运算装置具有较高的兼容性,可通过PCIE接口与各种类型的服务器相连接。
本发明实施例还提供了一个组合处理装置,其包括上述的机器学习运算装置,通用互联接口,和其它处理装置。机器学习运算装置与其它处理装置进行交互,共同完成用户指定的操作。图8为组合处理装置的示意图。
其它处理装置,包括中央处理器CPU、图形处理器GPU、神经网络处理器等通用/专用处理器中的一种或以上的处理器类型。其它处理装置所包括的处理器数量不做限制。其它处理装置作为机器学习运算装置与外部数据和控制的接口,包括数据搬运,完成对本机器学习运算装置的开启、停止等基本控制;其它处理装置也可以和机器学习运算装置协作共同完成运算任务。
通用互联接口,用于在所述机器学习运算装置与其它处理装置间传输数据和控制指令。该机器学习运算装置从其它处理装置中获取所需的输入数据,写入机器学习运算装置片上的存储装置;可以从其它处理装置中获取控制指令,写入机器学习运算装置片上的控制缓存;也可以读取机器学习运算装置的存储模块中的数据并传输给其它处理装置。
可选的,该结构如图9所示,还可以包括存储装置,存储装置分别与所述机器学习运算装置和所述其它处理装置连接。存储装置用于保存在所述机器学习运算装置和所述其它处理装置的数据,尤其适用于所需要运算的数据在本机器学习运算装置或其它处理装置的内部存储中无法全部保存的数据。
该组合处理装置可以作为手机、机器人、无人机、视频监控设备等设备的SOC片上系统,有效降低控制部分的核心面积,提高处理速度,降低整体功耗。此情况时,该组合处理装置的通用互联接口与设备的某些部件相连接。某些部件譬如摄像头,显示器,鼠标,键盘,网卡,wifi接口。
在一些实施例里,还申请了一种芯片,其包括了上述机器学习运算装置或组合处理装置。
在一些实施例里,申请了一种芯片封装结构,其包括了上述芯片。
在一些实施例里,申请了一种板卡,其包括了上述芯片封装结构。如图10所示,图10提供了一种板卡,上述板卡除了包括上述芯片389以外,还可以包括其它的配套部件,该配套部件包括但不限于:存储器件390、接收装置391和控制器件392;
所述存储器件390与所述芯片封装结构内的芯片通过总线连接,用于存储数据。所述存储器件可以包括多组存储单元393。每一组所述存储单元与所述芯片通过总线连接。可以理解,每一组所述存储单元可以是DDR SDRAM(英文:Double Data Rate SDRAM,双倍速率同步动态随机存储器)。
DDR不需要提高时钟频率就能加倍提高SDRAM的速度。DDR允许在时钟脉冲的上升沿和下降沿读出数据。DDR的速度是标准SDRAM的两倍。在一个实施例中,所述存储装置可以包括4组所述存储单元。每一组所述存储单元可以包括多个DDR4颗粒(芯片)。在一个实施例中,所述芯片内部可以包括4个72位DDR4控制器,上述72位DDR4控制器中64bit用于传输数据,8bit用于ECC校验。可以理解,当每一组所述存储单元中采用DDR4-3200颗粒时,数据传输的理论带宽可达到25600MB/s。
在一个实施例中,每一组所述存储单元包括多个并联设置的双倍速率同步动态随机存储器。DDR在一个时钟周期内可以传输两次数据。在所述芯片中设置控制DDR的控制器,用于对每个所述存储单元的数据传输与数据存储的控制。
所述接收装置与所述芯片封装结构内的芯片电连接。所述接收装置用于实现所述芯片与外部设备(例如服务器或计算机)之间的数据传输。例如在一个实施例中,所述接收装置可以为标准PCIE接口。比如,待处理的数据由服务器通过标准PCIE接口传递至所述芯片,实现数据转移。优选的,当采用PCIE 3.0X 16接口传输时,理论带宽可达到16000MB/s。在另一个实施例中,所述接收装置还可以是其它的接口,本申请并不限制上述其它的接口的具体表现形式,所述接口单元能够实现转接功能即可。另外,所述芯片的计算结果仍由所述接收装置传送回外部设备(例如服务器)。
所述控制器件与所述芯片电连接。所述控制器件用于对所述芯片的状态进行监控。具体的,所述芯片与所述控制器件可以通过SPI接口电连接。所述控制器件可以包括单片机(Micro Controller Unit,MCU)。如所述芯片可以包括多个处理芯片、多个处理核或多个处理电路,可以带动多个负载。因此,所述芯片可以处于多负载和轻负载等不同的工作状态。通过所述控制装置可以实现对所述芯片中多个处理芯片、多个处理和或多个处理电路的工作状态的调控。
在一些实施例里,申请了一种电子设备,其包括了上述板卡。
电子设备可以为数据处理器、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。
所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的电路组合,但是本领域技术人员应该知悉,本申请并不受所描述的电路组合方式的限制,因为依据本申请,某些电路可以采用其它方式或者结构实现。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的器件和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (21)

1.一种数据比较器,其特征在于,所述数据比较器包括:零值判断电路、符号位比较电路以及数据比较电路,所述零值判断电路的输出端与所述符号位比较电路的输入端连接,所述符号位比较电路的输出端与所述数据比较电路的输入端连接;
其中,所述零值判断电路用于判断接收到的第一数据以及第二数据中是否存在零值,并对所述第一数据以及所述第二数据进行拆分处理,得到所述第一数据中的第一符号位数据,第一指数位数据和第一尾数位数据,以及所述第二数据中的第二符号位数据,第二指数位数据和第二尾数位数据,所述符号位比较电路用于对接收到的所述第一符号位数据以及所述第二符号位数据大小进行比较,所述数据比较电路用于对接收到的指数位数据和/或尾数位数据进行比较处理。
2.根据权利要求1所述的数据比较器,其特征在于,所述零值判断电路包括:数据输入端口、符号位输出端口、第一尾数位输出端口、第一指数位输出端口、零值判断结果输出端口;
其中,所述数据输入端口用于输入第一数据以及第二数据,所述符号位输出端口用于输出所述零值判断电路,对所述第一数据以及所述第二数据进行拆分处理后,得到的所述第一数据中的第一符号位数据,以及所述第二数据中的第二符号位数据,所述第一尾数位输出端口用于输出所述零值判断电路,对所述第一数据以及所述第二数据进行拆分处理后,得到的所述第一数据中的第一尾数位数据,以及所述第二数据中的第二尾数位数据,所述第一指数位输出端口用于输出所述零值判断电路,对所述第一数据以及所述第二数据进行拆分处理后,得到的所述第一数据中的第一指数位数据,以及所述第二数据中的第二指数位数据,所述零值判断结果输出端口用于输出所述零值判断电路的判断结果。
3.根据权利要求1所述的数据比较器,其特征在于,所述符号位比较电路包括:符号位输入端口、第一尾数位输入端口、第一指数位输入端口、符号位逻辑判断信号输出端口、第二尾数位输出端口、第二指数位输出端口、符号位比较结果输出端口;
其中,所述符号位输入端口用于接收所述零值判断电路输入的所述第一符号位数据以及所述第二符号位数据,所述第一尾数位输入端口用于接收所述零值判断电路输入的所述第一尾数位数据以及所述第二尾数位数据,所述第一指数位输入端口用于接收所述零值判断电路输入的所述第一指数位数据以及所述第二指数位数据,所述符号位逻辑判断信号输出端口用于输出逻辑判断信号,所述第二尾数位输出端口用于输出所述第一尾数位数据以及所述第二尾数位数据,所述第二指数位输出端口用于输出所述第一指数位数据以及所述第二指数位数据,所述符号位比较结果输出端口用于输出所述第一符号位数据以及所述第二符号位数据的大小比较结果。
4.根据权利要求1所述的数据比较器,其特征在于,所述数据比较电路包括:最高非零位比较模块、指数位比较模块以及尾数位比较模块,所述最高非零位比较模块的输出端与所述指数位比较模块的输入端连接,所述指数位比较模块的输出端与所述尾数位比较模块的输入端连接;
其中,所述最高非零位比较模块用于对接收到的所述第一尾数位数据以及所述第二尾数位数据中,最高非零位的数位大小进行比较,所述指数位比较模块用于对所述第一指数位数据以及所述第二指数位数据进行比较处理,所述尾数位比较模块用于对所述第一尾数位数据以及所述第二尾数位数据进行比较处理。
5.根据权利要求4所述的数据比较器,其特征在于,所述最高非零位比较模块包括:第二尾数位输入端口、第二指数位输入端口、最高非零位逻辑判断信号输出端口、最高非零位比较结果输出端口;
其中,所述第二尾数位输入端口用于接收所述符号位比较电路输入的所述第一尾数位数据以及所述第二尾数位数据,所述第二指数位输入端口用于接收所述符号位比较电路输入的所述第一指数位数据以及所述第二指数位数据,所述最高非零位逻辑判断信号输出端口用于输出逻辑判断信号,所述最高非零位比较结果输出端口用于输出所述第一尾数位数据以及所述第二尾数位数据中,最高非零位的数位大小的比较结果。
6.根据权利要求4所述的数据比较器,其特征在于,所述指数位比较模块包括:第三尾数位数据输入端口、第三指数位数据输入端口、第四尾数位数据输出端口、指数位逻辑判断信号输出端口、指数位比较结果输出端口;
其中,所述第三尾数位数据输入端口用于接收所述最高非零位比较模块,输入的所述第一尾数位数据以及所述第二尾数位数据,所述第三指数位数据输入端口用于接收所述最高非零位比较模块,输入的所述第一指数位数据以及所述第二指数位数据,所述第四尾数位数据输出端口用于输出所述第一尾数位数据以及所述第二尾数位数据,所述指数位逻辑判断信号输出端口用于输出逻辑判断信号,所述指数位比较结果输出端口用于输出所述第一指数位数据以及所述第二指数位数据的大小比较结果。
7.根据权利要求4所述的数据比较器,其特征在于,所述尾数位比较模块包括:第四尾数位数据输入端口、尾数位比较结果输出端口;其中,所述第四尾数位数据输入端口用于接收所述指数位比较模块,输入的所述第一尾数位数据以及所述第二尾数位数据,所述尾数位比较结果输出端口用于输出所述第一尾数位数据和所述第二尾数位数据的大小比较结果。
8.一种数据处理方法,其特征在于,所述方法包括:
接收待处理数据;
通过零值判断电路判断所述待处理数据中是否存在零值;
若所述待处理数据中不存在零值,则所述零值判断电路将所述待处理数据进行拆分处理,得到所述待处理数据中的符号位数据、指数位数据以及尾数位数据,并通过所述符号位比较电路比较所述符号位数据大小是否相等;
若所述符号位数据相等,则所述符号位比较电路将所述指数位数据和所述尾数位数据输入至数据比较电路,通过所述数据比较电路比较所述尾数位数据中最高非零位的数位、所述指数位数据和/或尾数位数据大小,得到运算结果。
9.根据权利要求8所述的方法,其特征在于,所述通过零值判断电路判断所述待处理数据中是否存在零值之后,还包括:若所述待处理数据中存在零值,则得到运算结果,结束运算。
10.根据权利要求8所述的方法,其特征在于,所述通过所述符号位比较电路比较所述符号位数据大小是否相等之后,还包括:若所述符号位数据不相等,则得到运算结果,结束运算。
11.根据权利要求8所述的方法,其特征在于,所述符号位比较电路将所述指数位数据和所述尾数位数据输入至数据比较电路,通过所述数据比较电路比较所述尾数位数据中最高非零位的数位、所述指数位数据和/或尾数位数据大小,得到运算结果,包括:
通过最高非零位比较模块判断所述尾数位数据中,最高非零位的数位大小是否相等;
若所述最高非零位的数位大小相等,则通过指数位比较模块判断所述指数位数据大小是否相等;
若所述指数位数据大小相等,则通过尾数位比较模块判断所述尾数位数据大小是否相等;
若所述尾数位数据大小不相等,则得到运算结果,结束运算。
12.根据权利要求11所述的方法,其特征在于,所述通过最高非零位比较模块判断所述尾数位数据中,最高非零位的数位大小是否相等之后,还包括:若所述最高非零位的数位大小不相等,则得到运算结果,结束运算。
13.根据权利要求11所述的方法,其特征在于,所述通过指数位比较模块判断所述指数位数据大小是否相等之后,还包括:若所述指数位数据大小不相等,则得到运算结果,结束运算。
14.根据权利要求11所述的方法,其特征在于,所述通过尾数位比较模块判断所述待处理数据中尾数位数据大小是否相等之后,还包括:若所述尾数位数据大小相等,则得到运算结果,结束运算。
15.一种机器学习运算装置,其特征在于,所述机器学习运算装置包括一个或多个如权利要求1-7任一项所述的数据比较器,用于从其它处理装置中获取待运算输入数据和控制信息,并执行指定的机器学习运算,将执行结果通过I/O接口传递给其它处理装置;
当所述机器学习运算装置包含多个所述数据比较器时,所述多个所述计算装置间可以通过特定的结构进行连接并传输数据;
其中,多个所述数据比较器通过PCIE总线进行互联并传输数据,以支持更大规模的机器学习的运算;多个所述数据比较器共享同一控制系统或拥有各自的控制系统;多个所述数据比较器共享内存或者拥有各自的内存;多个所述数据比较器的互联方式是任意互联拓扑。
16.一种组合处理装置,其特征在于,所述组合处理装置包括如权利要求15所述的机器学习运算装置,通用互联接口和其它处理装置;
所述机器学习运算装置与所述其它处理装置进行交互,共同完成用户指定的计算操作。
17.根据权利要求16所述的组合处理装置,其特征在于,还包括:存储装置,该存储装置分别与所述机器学习运算装置和所述其它处理装置连接,用于保存所述机器学习运算装置和所述其它处理装置的数据。
18.一种神经网络芯片,其特征在于,所述机器学习芯片包括如权利要求15所述的机器学习运算装置或如权利要求16所述的组合处理装置或如权利要求16所述的组合处理装置。
19.一种电子设备,其特征在于,所述电子设备包括如所述权利要求18所述的芯片。
20.一种板卡,其特征在于,所述板卡包括:存储器件、接收装置和控制器件以及如权利要求18所述的神经网络芯片;
其中,所述神经网络芯片与所述存储器件、所述控制器件以及所述接收装置分别连接;
所述存储器件,用于存储数据;
所述接收装置,用于实现所述芯片与外部设备之间的数据传输;
所述控制器件,用于对所述芯片的状态进行监控。
21.根据权利要求20所述的板卡,其特征在于,
所述存储器件包括:多组存储单元,每一组所述存储单元与所述芯片通过总线连接,所述存储单元为:DDR SDRAM;
所述芯片包括:DDR控制器,用于对每个所述存储单元的数据传输与数据存储的控制;
所述接收装置为:标准PCIE接口。
CN202311518511.8A 2018-12-28 2018-12-28 数据比较器、数据处理方法、芯片及电子设备 Pending CN117519637A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311518511.8A CN117519637A (zh) 2018-12-28 2018-12-28 数据比较器、数据处理方法、芯片及电子设备

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202311518511.8A CN117519637A (zh) 2018-12-28 2018-12-28 数据比较器、数据处理方法、芯片及电子设备
CN201811625330.4A CN111381803A (zh) 2018-12-28 2018-12-28 数据比较器、数据处理方法、芯片及电子设备

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201811625330.4A Division CN111381803A (zh) 2018-11-30 2018-12-28 数据比较器、数据处理方法、芯片及电子设备

Publications (1)

Publication Number Publication Date
CN117519637A true CN117519637A (zh) 2024-02-06

Family

ID=71218026

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202311518511.8A Pending CN117519637A (zh) 2018-12-28 2018-12-28 数据比较器、数据处理方法、芯片及电子设备
CN201811625330.4A Pending CN111381803A (zh) 2018-11-30 2018-12-28 数据比较器、数据处理方法、芯片及电子设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201811625330.4A Pending CN111381803A (zh) 2018-11-30 2018-12-28 数据比较器、数据处理方法、芯片及电子设备

Country Status (1)

Country Link
CN (2) CN117519637A (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102520903B (zh) * 2011-12-13 2014-07-23 中国科学院自动化研究所 支持定浮点可重构的长度可配置的向量最大/最小值网络
GB2540216B (en) * 2015-07-10 2020-01-01 Advanced Risc Mach Ltd Comparison of wide data types
CN107291419B (zh) * 2017-05-05 2020-07-31 中国科学院计算技术研究所 用于神经网络处理器的浮点乘法器及浮点数乘法
CN108363558B (zh) * 2018-02-08 2020-10-09 中国人民解放军战略支援部队信息工程大学 面向大数据处理的机器数级数据比较方法

Also Published As

Publication number Publication date
CN111381803A (zh) 2020-07-07

Similar Documents

Publication Publication Date Title
CN110515589B (zh) 乘法器、数据处理方法、芯片及电子设备
CN110515587B (zh) 乘法器、数据处理方法、芯片及电子设备
WO2021185262A1 (zh) 计算装置、方法、板卡和计算机可读存储介质
CN111381808A (zh) 乘法器、数据处理方法、芯片及电子设备
CN111260043B (zh) 数据选择器、数据处理方法、芯片及电子设备
CN111258541B (zh) 乘法器、数据处理方法、芯片及电子设备
CN111381875B (zh) 数据比较器、数据处理方法、芯片及电子设备
CN111260042B (zh) 数据选择器、数据处理方法、芯片及电子设备
CN209895329U (zh) 乘法器
CN110515586B (zh) 乘法器、数据处理方法、芯片及电子设备
CN117519637A (zh) 数据比较器、数据处理方法、芯片及电子设备
CN117724676A (zh) 数据比较器、数据处理方法、芯片及电子设备
CN117519636A (zh) 数据比较器、数据处理方法、芯片及电子设备
CN111260044B (zh) 数据比较器、数据处理方法、芯片及电子设备
CN111381802B (zh) 数据比较器、数据处理方法、芯片及电子设备
CN111384944B (zh) 全加器、半加器、数据处理方法、芯片及电子设备
CN111258534B (zh) 数据比较器、数据处理方法、芯片及电子设备
CN111381806A (zh) 数据比较器、数据处理方法、芯片及电子设备
CN111340229B (zh) 数据选择器、数据处理方法、芯片及电子设备
CN111738428B (zh) 计算装置、方法及相关产品
CN111258634B (zh) 数据选择装置、数据处理方法、芯片及电子设备
WO2021185261A1 (zh) 计算装置、方法、板卡和计算机可读存储介质
CN110378478B (zh) 乘法器、数据处理方法、芯片及电子设备
CN113031909B (zh) 数据处理器、方法、装置及芯片
CN111258632B (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