CN117519636A - Data comparator, data processing method, chip and electronic equipment - Google Patents

Data comparator, data processing method, chip and electronic equipment Download PDF

Info

Publication number
CN117519636A
CN117519636A CN202311515943.3A CN202311515943A CN117519636A CN 117519636 A CN117519636 A CN 117519636A CN 202311515943 A CN202311515943 A CN 202311515943A CN 117519636 A CN117519636 A CN 117519636A
Authority
CN
China
Prior art keywords
data
bit
processed
mantissa
module
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
CN202311515943.3A
Other languages
Chinese (zh)
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 CN202311515943.3A priority Critical patent/CN117519636A/en
Publication of CN117519636A publication Critical patent/CN117519636A/en
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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Neurology (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

The application provides a data comparator, a data processing method, a chip and electronic equipment, wherein the data comparator comprises: the system comprises a judging circuit and a comparing circuit, wherein the judging circuit comprises a zero value judging module, the comparing circuit comprises a symbol bit comparing module, a highest nonzero bit comparing module and a data comparing module, the output end of the zero value judging module is connected with the input end of the symbol bit comparing module, the output end of the symbol bit comparing module is connected with the input end of the highest nonzero bit comparing module, the output end of the highest nonzero bit comparing module is connected with the input end of the data comparing module, and the data comparator can reduce the operation amount and save the operation time; in addition, the data comparator can carry out comparison operation on floating fixed point numbers, and the universality of the data comparator is improved.

Description

Data comparator, data processing method, chip and electronic equipment
The present application is a divisional application. The application number of the original application is 201811625393.X, the original application date is 2018, 12, 28, and the whole content of the original application is incorporated by reference in the present application.
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a data comparator, a data processing method, a chip, and an electronic device.
Background
With the continuous development of digital electronic technology, the rapid development of various artificial intelligence (Artificial Intelligence, AI) chips has also been increasingly demanded for high-performance digital comparators. The neural network algorithm is one of algorithms widely applied to intelligent chips, and the neural network algorithm needs to use a data comparator for data size comparison operation for many times.
In general, the data comparator is mainly used for comparing floating point numbers and fixed point numbers, and cannot compare floating point type data, i.e. the data comparator cannot compare other types of data except the floating point numbers and the fixed point numbers, so that the universality of the data comparator is low.
Disclosure of Invention
Accordingly, it is desirable to provide a data comparator, a data processing method, a chip, and an electronic device, in order to solve the above-mentioned problems.
An embodiment of the present invention provides a data comparator including: the device comprises a judging circuit and a comparing circuit, wherein the judging circuit comprises a zero value judging module, the comparing circuit comprises a symbol bit comparing module, a highest nonzero bit comparing module and a data comparing module, the output end of the zero value judging module is connected with the input end of the symbol bit comparing module, the output end of the symbol bit comparing module is connected with the input end of the highest nonzero bit comparing module, and the output end of the highest nonzero bit comparing module is connected with the input end of the data comparing module;
The zero value judging unit is used for judging whether zero values exist in received first data and second data, the sign bit comparing unit is used for comparing the magnitudes of sign bit values of the received first data and second data, the highest nonzero bit comparing unit is used for comparing digits of the highest nonzero bits in the mantissa digit data of the first data and the second data to obtain comparison results, and the data comparing unit is used for comparing the mantissa digit data and/or the exponent digit data in the first data and the second data.
In one embodiment, the zero value judging module includes: the first data input port, the first data output port and the zero value judgment result output port; the first data input port is used for receiving the input first data and the second data, the first data output port is used for outputting the first data and the second data, and the zero value judgment result output port is used for outputting the judgment result of the zero value judgment module.
In one embodiment, the sign bit comparison module includes: a second data input port, a second data output port, and a sign bit comparison result output port; the second data input port is used for receiving the first data and the second data input by the zero value judging module, the second data output port is used for outputting the first data and the second data, and the sign bit comparison result output port is used for outputting the magnitude comparison result of the sign bit value in the first data and the second data.
In one embodiment, the highest non-zero comparing module comprises: the third data input port, the third data output port and the highest nonzero bit comparison result output port; the third data input port is configured to receive the first data and the second data input by the sign bit comparison module, the third data output port is configured to output the first data and the second data, and the highest non-zero bit comparison result output port is configured to output a digital size comparison result of the highest non-zero bit in the tail digital data of the first data and the second data.
In one embodiment, the data comparison module includes: the output end of the exponent bit comparison unit is connected with the input end of the mantissa bit comparison unit;
the exponent bit comparing unit is used for comparing the exponent bit data size in the received first data and the second data, and the mantissa bit comparing unit is used for comparing the mantissa bit data size in the received first data and the second data.
In one embodiment, the exponent bit comparing unit includes: a fourth data input port, a fourth data output port, and an exponent bit comparison result output port; the fourth data input port is configured to receive the first data and the second data input by the highest non-zero comparison module, the fourth data output port is configured to output the first data and the second data, and the exponent bit comparison result output port is configured to output a comparison result of the exponent bit size in the first data and the second data.
In one embodiment, the mantissa bit comparison unit includes: a fifth data input port, a fifth data output port, and a mantissa bit comparison result output port; the fifth data input port is configured to receive the first data and the second data input by the exponent bit comparing unit, the fifth data output port is configured to output the first data and the second data, and the mantissa bit comparison result output port is configured to output a comparison result of a mantissa bit data size in the first data and the second data.
According to the data comparator provided by the embodiment, the zero value judging module in the judging circuit is used for judging whether zero values exist in the received first data and the received second data, if zero values exist in the received first data and the received second data, the judging result of the judging circuit is yes, at the moment, the operation is ended to obtain an operation result, the operation of the data comparing module is not needed, the operation amount can be reduced, and the operation time is saved; in addition, the data comparator can also carry out comparison operation on floating fixed point numbers, so that the universality of the data comparator is improved.
The embodiment of the invention provides a data processing method, which comprises the following steps:
receiving data to be processed;
judging whether zero value exists in the data to be processed or not through a zero value judging module;
if no zero value exists, the data to be processed is input to a sign bit comparison module, and whether sign bit values in the data to be processed are equal or not is compared through the sign bit comparison module;
and if the sign bit values are equal, inputting the data to be processed into a data comparison module, and comparing the tail bit data of the data to be processed by the data comparison module to obtain the operation result, wherein the highest non-zero bit, the index bit data and/or the tail bit data are/is equal in size.
In one embodiment, after the step of determining, by the zero value determining module, whether a zero value exists in the data to be processed, the method further includes:
if zero value exists in the data to be processed, judging whether the data to be processed needs to be processed by a next comparison module or not according to a judgment result output by the zero value judgment module;
if the data to be processed is required to be processed through the next comparison module, continuing to input the data to be processed into the sign bit comparison module, and comparing whether sign bit values in the data to be processed are equal or not through the sign bit comparison module;
and if the sign bit values are not equal, obtaining an operation result and ending the operation.
In one embodiment, after determining whether the data to be processed needs to be processed by the next comparison module according to the determination result output by the zero value determination module, the method further includes: and if the data to be processed is not required to be processed through the next comparison module, obtaining an operation result, and ending the operation.
In one embodiment, the inputting the data to be processed to a data comparison module, comparing, by the data comparison module, the digits of the highest non-zero bit, the exponent data and/or the size of the mantissa data in the mantissa data of the data to be processed, to obtain an operation result, including:
Judging whether the digital sizes of the highest non-zero bits in the tail digital data of the data to be processed are equal or not through a highest non-zero bit comparison module;
if the digit sizes of the highest nonzero digits in the mantissa digit data are equal, inputting the data to be processed into an exponent bit comparison module, and judging whether the digit sizes of the exponent bits in the data to be processed are equal or not through the exponent bit comparison module;
if the sizes of the index bits are equal, inputting the data to be processed into a mantissa bit comparison module, and judging whether the sizes of the mantissa bits in the data to be processed are equal or not through the mantissa bit comparison module;
and if the mantissa data size is not equal, obtaining an operation result and ending the operation.
In one embodiment, after the step of determining, by the highest non-zero comparing module, whether the sizes of the digits of the highest non-zero bits in the mantissa digits of the data to be processed are equal, the method further includes: if the calculation results are not equal, the calculation results are obtained, and the calculation is ended.
In one embodiment, after the step of inputting the data to be processed to the exponent bit comparing module and determining whether the exponent bit sizes in the data to be processed are equal by the exponent bit comparing module, the method further includes: and if the sizes of the index bits are not equal, obtaining an operation result and ending the operation.
In one embodiment, after the step of inputting the data to be processed to the mantissa bit comparison module and determining whether the sizes of the mantissa bit data in the data to be processed are equal, the method further includes: and if the mantissa data are equal in size, obtaining an operation result and ending the operation.
According to the data processing method provided by the embodiment, the data comparator judges whether the data to be processed needs to be compared through the data comparison module or not through the highest nonzero comparison circuit, if not, the operation result is obtained to finish operation, so that the operation amount can be reduced, and the operation time is saved; in addition, the method can also carry out comparison operation on the received floating fixed point number, and effectively improves the universality of the data comparator.
The machine learning operation device provided by the embodiment of the invention comprises one or more data comparators; the machine learning operation device is used for acquiring data to be operated and control information from other processing devices, executing specified machine learning operation and transmitting an execution result to the other processing devices through an I/O interface;
When the machine learning operation device comprises a plurality of data comparators, the data comparators can be linked through a specific structure and data can be transmitted;
the data comparators are interconnected through the PCIE bus and transmit data so as to support larger-scale machine learning operation; the data comparators share the same control system or have respective control systems; the data comparators share a memory or have respective memories; the interconnection mode of the plurality of data comparators is any interconnection topology.
The embodiment of the invention provides a combined processing device, which comprises the machine learning processing device, a universal interconnection interface and other processing devices; the machine learning operation device interacts with the other processing devices to jointly complete the operation appointed by the user; the combination processing device may further include a storage device connected to the machine learning operation device and the other processing device, respectively, for storing data of the machine learning operation device and the other processing device.
The neural network chip provided by the embodiment of the invention comprises the data comparator, the machine learning computing device or the combined processing device.
The embodiment of the invention provides a neural network chip packaging structure, which comprises the neural network chip.
The board provided by the embodiment of the invention comprises the neural network chip packaging structure.
The embodiment of the invention provides an electronic device which comprises the neural network chip or the board card.
The chip provided by the embodiment of the invention comprises at least one data comparator as described in any one of the above.
The electronic equipment provided by the embodiment of the invention comprises the chip.
Drawings
FIG. 1 is a schematic diagram of an overall structure of a data comparator according to an embodiment;
FIG. 2 is a schematic diagram of a data comparator according to another embodiment;
FIG. 3 is a schematic diagram of another data comparator according to another embodiment;
FIG. 4 is a schematic diagram of a data comparator according to another embodiment;
FIG. 5 is a schematic diagram showing another embodiment of a data comparator;
FIG. 6 is a flow chart of a data processing method according to an embodiment;
FIG. 7 is a flowchart of another data processing method according to another embodiment;
FIG. 8 is a block diagram of a combination processing apparatus according to an embodiment;
FIG. 9 is a block diagram of another combination processing apparatus according to an embodiment;
fig. 10 is a schematic structural diagram of a board according to an embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application will be further described in detail with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the present application.
The data comparator provided by the application can be applied to an AI chip, a Field programmable gate array FPGA (Field-Programmable Gate Array, FPGA) chip or other hardware circuit devices for multiplication, and the specific structure diagram is shown in FIG. 1.
Fig. 2 is a schematic diagram of a data comparator according to an embodiment. As shown in fig. 2, the data comparator includes: the non-zero-bit comparator comprises a highest non-zero-bit comparison circuit 01 and a data comparison circuit 02, wherein the output end of the highest non-zero-bit comparison circuit 01 is connected with the input end of the data comparison circuit 02. The highest non-zero bit comparing circuit 01 is configured to perform a comparison operation on the received tail digital data of the first data and the second data to obtain a comparison result, and determine whether the received first data and second data need to be processed by the data comparing circuit 02 connected to the output end of the highest non-zero bit comparing circuit 01 according to the comparison result, where the data comparing circuit 02 is configured to perform a comparison process on the tail digital data and/or the index digital data in the first data and the second data.
Specifically, the highest nonzero bit comparing circuit 01 and the data comparing circuit 02 can process data in a serial mode, and can process data in a parallel mode through OR logic. Alternatively, the highest non-zero bit comparing circuit 01 may be a circuit for comparing the digital size of the highest non-zero bit in the mantissa bit data of the two data. Alternatively, each of the first data and the second data may be unsigned floating-point numbers with a multi-bit width, and the bit widths of the first data and the second data may be equal. Alternatively, if the bit width of the unsigned floating-point number is n bits, the exponent bit number of the unsigned floating-point number may be 1 or more, and when the exponent bit number is m, the mantissa bit number of the unsigned floating-point number may be n-m. For example, if the unsigned floating-point number is 8 bits wide, the highest bit value may be an exponent bit value and the lower 7 bits may be mantissa bit values. Alternatively, the data comparing circuit 02 may be a circuit for comparing the exponent bit data and the mantissa bit data in the floating-point number received. Alternatively, the data comparing circuit 02 may include a plurality of comparing modules having different functions. Optionally, the input ports of the comparing modules with different functions may be multiple, the functions of each input port of each comparing module may be different or the same, the functions of each output port of each comparing module may be the same or different, however, the functions of the input ports of the different comparing modules may be the same or different, the functions of the output ports of the different comparing modules may be the same or different, and the circuit structures of the comparing modules with different functions may be different or the same.
It should be noted that, the digit of the highest nonzero bit in the mantissa data may be represented as valid bit data in the mantissa data of the first data and the second data, from the lowest bit value to a specific position corresponding to the first nonzero value in the highest bit value, where the digit corresponding to the lowest bit value may be represented as 0, the digit corresponding to the next lowest bit value may be represented as 1, and the valid bit data may represent that, in the mantissa data, the first nonzero value from the highest bit value to the lowest bit value starts until the lowest bit values are all valid bit data. For example, if the mantissa data a of the unsigned floating point number is "00101", the significant bit data in the mantissa data is "101", the least significant bit data "1" in the significant bit data may be referred to as the 0-th bit value, the next-lower bit data "0" may be referred to as the 1-th bit value, the number of the highest non-zero bit in the mantissa data may be equal to 2 when calculated from the 1-th bit value in the significant bit data to the high-order bit value in the significant bit data, if the mantissa data b of the unsigned floating point number is "01110", the least significant bit data in the mantissa data is "1110", the least significant bit data in the mantissa data may be referred to as the 0-th bit value, the next-lower bit data "1" may be referred to as the 1-th bit value, and the number of the highest non-zero bit in the mantissa data may be equal to 3 when the number of the highest non-zero bit in the mantissa data is greater than the zero bit in the significant bit data, that is the lower than the unsigned floating point number is greater than the lower than the number of the mantissa data.
According to the data comparator provided by the embodiment, the highest nonzero bit comparison circuit is used for comparing the received tail digital data of the first data and the second data to obtain a comparison result, whether the received first data and second data need to be processed by the next data comparison circuit or not can be determined according to the comparison result, if the received first data and second data need not be processed by the next data comparison circuit, the operation result is obtained by ending the operation, otherwise, the received first data and second data are continuously input into the data comparison circuit, and when the data comparison circuit outputs a high level signal, the operation result is obtained by ending the operation, so that the operation amount can be reduced, and the operation time can be saved; in addition, the data comparator can carry out comparison operation on floating fixed point numbers, and the universality of the data comparator is improved.
Fig. 3 is a block diagram of a data comparator according to another embodiment. As shown in fig. 3, the data comparator includes: the device comprises a judging circuit 11 and a comparing circuit 12, wherein the judging circuit 11 comprises a zero value judging module 111, the comparing circuit 12 comprises a symbol bit comparing module 121, a highest nonzero bit comparing module 122 and a data comparing module 123, the output end of the zero value judging module 111 is connected with the input end of the symbol bit comparing module 121, the output end of the symbol bit comparing module 121 is connected with the input end of the highest nonzero bit comparing module 122, and the output end of the highest nonzero bit comparing module 122 is connected with the input end of the data comparing module 123;
The zero value determining unit 111 is configured to determine whether a zero value exists in the received first data and the second data, the sign bit comparing unit 121 is configured to compare sign bit values of the received first data and the received second data, the highest non-zero bit comparing unit 122 is configured to perform a comparison operation on a digit of a highest non-zero bit in the received mantissa digit data of the first data and the received second data to obtain a comparison result, and the data comparing unit 123 is configured to perform a comparison process on the mantissa digit data and/or the exponent digit data in the received first data and the received second data.
Specifically, the judging circuit 11 and the comparing circuit 12 may process data in a serial manner, and may process data in a parallel manner by an or logic implementation. Alternatively, the first data and the second data may be signed floating-point numbers with multiple bit widths, and the bit widths of the first data and the second data are equal. Alternatively, if the bit width of the signed floating point number is n bits, the number of sign bits of the signed floating point number may be equal to 1, the number of sign bits may be equal to the highest number of bits in the signed floating point number, the total number of bits of the exponent bits may be equal to or greater than 1, and when the number of bits of the exponent bits is equal to m, the number of bits of the mantissa bits may be equal to n-m-1. For example, if the signed floating point number is 8 bits wide, the highest order value in the signed floating point number may be the sign bit value, the next highest order value may be equal to the exponent bit value, and the remaining lower 6 bits may be mantissa bit values. Alternatively, the data comparing module 123 may be a circuit for comparing the sizes of the exponent data and/or the mantissa data in two data. Alternatively, the data comparing module 123 may include a plurality of data comparing units with different functions. Optionally, the input ports of the data comparing units with different functions may be multiple, the functions of each input port of each data comparing unit may be different or the same, the functions of each output port of each data comparing unit may be the same or different, however, the functions of the input ports of the different data comparing units may be the same or different, the functions of the output ports of the different data comparing units may be the same or different, and the circuit structures of the data comparing units with different functions may be different or the same.
In addition, if the judgment result of the zero value judgment module 111 is yes, the zero value judgment module 111 may output a high level signal, and at this time, the operation output operation result is ended; if the first data and the second data received by the zero value judging module 111 do not meet the preset condition, the zero value judging module 111 may output a low level signal, and at this time, the data comparator does not end the operation, and needs to continue to process the data through the next comparing module. Optionally, the above-mentioned satisfied preset condition may be characterized as a coding format corresponding to a zero value in the received floating-point number, where the coding format corresponding to the zero value may be expressed as all 0 of the exponent data and the mantissa data in the signed floating-point number.
Optionally, the highest non-zero comparing module 122 includes: a third data input port 1221, a third data output port 1222, a highest non-zero comparison result output port (agtb) 1223, and (altb) 1224; the third data input port 1221 is configured to receive the first data and the second data, the third data output port 1222 is configured to output the first data and the second data, and the highest non-zero bit comparison result output ports (agtb) 1223 and (altb) 1224 are configured to output a comparison result of a highest non-zero bit of the mantissa data of the first data and the second data, respectively.
Optionally, if the signed floating-point number is a positive number, the larger the number of the highest non-zero bits (i.e. the lower the position of the highest non-zero bits) in the mantissa data of the floating-point number, the smaller the corresponding signed floating-point number; if the signed floating-point number is negative, the larger the number of the highest non-zero bits (i.e., the higher the position of the highest non-zero bits) in the mantissa data of the floating-point number, the smaller the corresponding signed floating-point number.
For example, for the positive floating-point number, if the mantissa data a of the floating-point number is "00101", the significant bit data in the mantissa data is "101", the least significant bit data "1" in the mantissa data may be referred to as the 0-th bit value, the next-to-low bit value "0" may be referred to as the 1-th bit value, the number of the highest non-zero bits in the mantissa data may be equal to 2 when calculated from the 1-th bit value in the significant bit data to the high-order bit value in the significant bit data, if the mantissa data b of the floating-point number is "01110", the least significant bit data in the mantissa data is "1110", the least significant bit data in the mantissa data may be referred to as the 0-th bit value, the next-to-low bit value "1" may be referred to as the 1-th bit value, the number of the highest non-zero bits in the mantissa data may be equal to 3, and the number of the highest non-zero bits in the mantissa data may be equal to the 3 when the number of the highest non-zero bits in the mantissa data is greater than the zero bits in the mantissa data is located at the lower than the lower positions than the floating-point number.
For negative floating point numbers, if the mantissa data a of the floating point number is "00101", the most significant digit value "1" in the mantissa data is "101", the most significant digit value "1" in the mantissa data is referred to as the 0-th digit value, the next-higher digit value "0" is referred to as the 1-th digit value, the number of the most non-zero bits in the mantissa data is equal to 2, if the mantissa data b of the floating point number is "01110", the most significant digit data in the mantissa data is "1110", the most significant digit value "1" in the mantissa data is referred to as the 0-th digit value, the next-higher digit value "1" is referred to as the 1-th digit value, the number of the most non-zero bits in the mantissa data is calculated from the 1-th digit value to the lower digit value in the effective digit data, and at this time, the number of the most non-zero bits in the mantissa data is equal to 1, that is, the most non-zero bits in the mantissa data is greater than the zero bits, that is the most significant bits in the mantissa data is greater than the zero bits a.
According to the data comparator provided by the embodiment, the zero value judging module in the judging circuit is used for judging whether zero values exist in the received first data and the second data, if zero values exist in the received first data and the received second data, the judging result of the judging circuit is yes, at the moment, the operation is ended to obtain an operation result, the operation of the data comparing module is not needed, the operation amount can be reduced, and the operation time is saved; in addition, the data comparator can also carry out comparison operation on floating fixed point numbers, so that the universality of the data comparator is improved.
As one embodiment, the highest non-zero comparator circuit 01 includes: a first data input port 011, a first data output port 012, and highest non-zero bit comparison result output ports (agtb 1) 013 and (altb 1) 014, wherein the first data input port 011 is configured to receive the first data and the second data inputted thereto, the first data output port 112 is configured to output the first data and the second data, and the highest non-zero bit comparison result output ports (agtb 1) 013 and (altb 1) 014 are configured to output the comparison result of the highest non-zero bit digit size among the mantissa digit data of the first data and the second data, respectively.
If the highest non-zero bit comparison result output port (agtb 1) 013 or (altb 1) 014 outputs a high level signal, the operation is ended to obtain an operation result. For example, if the two unsigned floating-point numbers received by the data comparator are a and b respectively, the agtb1 outputs a high level signal, which can be characterized, wherein the highest non-zero digit in the mantissa data of the unsigned floating-point number a is greater than the highest non-zero digit in the mantissa data of the unsigned floating-point number b, and a is smaller than b; if the altb1 output high level signal can be characterized, the digit of the highest non-zero bit in the mantissa data of the unsigned floating-point number a is smaller than the digit of the highest non-zero bit in the mantissa data of the unsigned floating-point number b, and a is larger than b. Alternatively, the data comparator may determine the maximum value Zmax and the minimum value Zmin of the outputs from the highest non-zero bit comparison result output port (agtb 1) 013, or the high level signal output by (altb 1) 014. In addition, if all the output ports of the highest non-zero comparison result have no high level signal output, the highest non-zero comparison circuit 01 is characterized, and the received first data and second data need to be input to the next data comparison circuit to continue the comparison processing.
According to the data comparator provided by the embodiment, the highest nonzero comparison circuit can output the comparison result according to the highest nonzero comparison result output port, so that the operation is finished to obtain the operation result, the operation amount can be reduced, and the operation time can be saved; in addition, the data comparator can also carry out comparison operation on floating fixed point numbers, so that the universality of the data comparator is improved.
Fig. 4 is a schematic diagram of a specific structure of a data comparator according to another embodiment, as shown in fig. 4, where the data comparator includes the data comparing circuit 02, and the data comparing circuit 02 includes: the device comprises a exponent bit comparison module 021 and a mantissa bit comparison module 022, wherein the output end of the exponent bit comparison module 021 is connected with the input end of the mantissa bit comparison module 022;
the exponent bit comparing module 021 is configured to compare the exponent bit size in the received first data and the second data, and the mantissa bit comparing module 022 is configured to compare the mantissa bit size in the received first data and the second data.
If the data comparator needs to process the received first data and second data by the data comparing circuit 02, the exponent bit comparing module 021 and the mantissa bit comparing module 022 process the received first data and second data in sequence until one of the comparing modules can obtain a comparison result, and the corresponding comparing module outputs a high level signal, and at this time, the operation is ended to output an operation result. Optionally, the comparison result may include an exponent data size comparison result and/or a mantissa data size comparison result in the first data and the second data.
According to the data comparator provided by the embodiment, the exponent bit comparison module and the mantissa bit comparison module are used for sequentially judging the size of the exponent bit and/or the size of the mantissa bit in the received first data and second data, if the size of the exponent bit and/or the size of the mantissa bit in the received first data and second data can be determined, the corresponding comparison module can output a high-level signal, so that an operation result is obtained, and the data comparator can carry out comparison operation on floating fixed point numbers, so that the universality of the data comparator is improved.
As one embodiment, the exponent bit comparing module 021 includes: the second data input port 0211, the second data output port 0212, the exponent bit comparison result output ports (agtb 2) 0213 and (altb 2) 0214, wherein the second data input port 0211 is used for receiving the first data and the second data input by the highest non-zero bit comparison circuit 01, the second data output port 0212 is used for outputting the first data and the second data, and the exponent bit comparison result output ports (agtb 2) 0213 and (altb 2) 0214 are respectively used for outputting the comparison result of the exponent bit data size in the first data and the second data.
If the exponent bit comparison result output port (agtb 2) 0213 or (altb 2) 0214 outputs a high level signal, the operation is ended to obtain an operation result. For example, if the two unsigned floating-point numbers received by the data comparator are a and b respectively, the agtb2 outputs a high level signal to be characterized, the exponent data in the unsigned floating-point number a is greater than the exponent data in the unsigned floating-point number b, and a is greater than b; if altb2 outputs a high signal, it can be characterized that the exponent bit in the unsigned floating-point number a is less than the exponent bit in the unsigned floating-point number b, and it indicates that a is less than b. Alternatively, the data comparator may determine the maximum value Zmax and the minimum value Zmin of the outputs according to the high level signal output from the finger comparison result output port (agtb 2) 0213 or (altb 2) 0214. In addition, if all the exponent bit comparison result output ports have no high level signal output, the token exponent bit comparison module 021 needs to input the received first data and second data to the next comparison module to continue the comparison processing.
According to the data comparator provided by the embodiment, the index bit comparison module is used for comparing the sizes of the index bits in the received first data and the received second data, if a high-level signal is output in a comparison result, the comparison operation is ended to obtain an operation result, so that the operation amount can be reduced, and the operation time can be saved; in addition, the data comparator can also carry out comparison operation on floating fixed point numbers, so that the universality of the data comparator is improved.
As one embodiment, the mantissa bit comparison module 022 includes: a third data input port 0221, a third data output port 0222, a mantissa bit comparison result output port (agtb 3) 0223, (altb 3) 0224 and (aeqb 3) 0225, wherein the third data input port 0221 is used for receiving the first data and the second data input by the exponent bit comparison module 021, the third data output port 0222 is used for outputting the first data and the second data, and the mantissa bit comparison result output port (agtb 3) 0223, (altb 3) 0224 and (aeqb 3) 0225 are respectively used for outputting comparison results of mantissa bit data sizes in the first data and the second data.
If the mantissa bit comparison result output port (agtb 3) 0223, (altb 3) 0224 or (aeqb 3) 0225 outputs a high level signal, the operation is ended to obtain an operation result. For example, if the two unsigned floating-point numbers received by the data comparator are a and b respectively, the agtb3 outputs a high level signal which can be characterized, the mantissa data in the unsigned floating-point number a is greater than the mantissa data in the unsigned floating-point number b, and a is greater than b; if altb3 outputs a high signal, it can be characterized that the mantissa data in unsigned floating-point number a is less than the mantissa data in unsigned floating-point number b, and indicates that a is less than b.
In addition, the data comparator may determine the maximum value Zmax and the minimum value Zmin of the outputs from the high level signal output from the mantissa bit comparison result output port (agtb 3) 0223, (altb 3) 0224 or (aeqb 3) 0225.
According to the data comparator provided by the embodiment, the mantissa bit comparison module is used for comparing the sizes of the received first data and the mantissa bit data in the second data, if a high-level signal is output in the comparison result, the comparison operation is ended to obtain an operation result, and the data comparator can be used for comparing floating-point numbers, so that the universality of the data comparator is improved.
In one embodiment, the zero value determining module 111 includes: a first data input port 1111, a first data output port 1112, a zero value determination result output port (agtb 1) 1113, (aeqb 1) 1114, and (altb 1) 1115, wherein the first data input port 1111 is configured to receive the input data, the first data output port 1112 is configured to output the data, and the zero value determination result output ports (agtb 1) 1113, (aeqb 1) 1114 and (altb 1) 1115 are respectively configured to output the determination result of the zero value determination module 111.
Specifically, the three zero value determination result output ports (agtb 1) 1113, (aeqb 1) 1114 and (altb 1) 1115 may output a logic signal, which may be a high level signal or a low level signal. If the two data received by the zero value judging module 111 meet the preset condition, the zero value judging result output port (aeqb 1) 1114 can output a high level signal, and the other two ports can output low level signals, at this time, the operation output operation result is ended. Alternatively, if the zero value judging result output port (agtb 1) 1113 or (altb 1) 1115 outputs a high level signal, it indicates that there is a zero value in the two data received by the zero value judging module 111, and at this time, the data comparator may directly determine the sizes of the two data through the zero value judging module 111. Alternatively, if the three zero value judging result output ports output low level signals, it may indicate that zero values do not exist in the two data received by the zero value judging module 111, and the operation cannot be finished, and still the next module needs to be entered to perform comparison processing on the data. Alternatively, the preset condition corresponding to the zero value determining module 111 may be whether the coding format corresponding to the zero value exists in the received data. The zero value may include positive zero and negative zero, where the positive zero corresponds to a sign bit value of 1, and all values in the exponent and mantissa data are 0, and the negative zero corresponds to a sign bit value of sign bit, and all values in the exponent and mantissa data are 0.
The data may be a signed floating point number. Optionally, the zero value determining module 111 may determine whether the exponent bit and the mantissa bit in the received data are in the coding format corresponding to the zero value, and does not make any determination on the sign bit value. For example, if one of the two data received by the zero value determining module 111 is positive zero and one is negative zero, the zero value determining result output port (aeqb 1) 1114 of the zero value determining module 111 may output a high level signal, which indicates that the two data compared by the data comparator are equal, that is, positive zero is equal to negative zero, and at this time, the maximum value Zmax and the minimum value Zmin output by the data comparator are equal and are both zero values. In addition, if one of the first data and the second data is zero and the other is non-zero, the zero value determining module 111 may directly determine the data size and end the operation without continuing the comparison operation by the other comparing module, and it may be understood that in this case, the zero value determining module 111 may determine the zero value and the sign bit of the non-zero value and directly obtain the operation result.
According to the data comparator provided by the embodiment, the zero value judging module can determine whether the data comparator can directly finish operation to obtain an operation result according to the judging result output by the zero value judging result, and at the moment, the data comparator does not need to operate other subsequent modules, so that the operation amount can be reduced, and the operation time can be saved; in addition, the data comparator can also carry out comparison operation on floating fixed point numbers, so that the universality of the data comparator is improved.
As one embodiment, the sign bit comparing module 121 includes: a second data input port 1211, a second data output port 1212, and sign bit comparison result output ports (agtb 2) 1213 and (altb 2) 1214, wherein the second data input port 1211 is configured to receive the input data, the second data output port 1212 is configured to output the data, and the sign bit comparison result output ports (agtb 2) 1213 and (altb 2) 1214 are configured to output a magnitude comparison result of a sign bit value in the data, respectively.
If the sign bit comparison result output port (agtb 2) 1213 or (altb 2) 1214 outputs a high level signal, the operation is terminated to obtain an operation result. For example, if the two signed floating-point numbers received by the data comparator are a and b respectively, the agtb2 output high level signal can be characterized, the signed floating-point number a is a negative number, and the signed floating-point number b is a positive number, and a is smaller than b; if altb2 outputs a high signal, the signed floating-point number a is positive and the signed floating-point number b is negative, a is greater than b. In addition, if all the sign bit comparison result output ports have no high level signal output, the sign bit comparison module 121 needs to input the received data to the next comparison module to continue the comparison process.
In addition, the data comparator may determine the maximum value Zmax and the minimum value Zmin of the output from the sign bit comparison result output port (agtb 2) 1213, or the high level signal output by (altb 2) 1214.
According to the data comparator provided by the embodiment, the sign bit comparison module is used for comparing the magnitude of sign bit values in received data, if a high-level signal is output in a comparison result, comparison operation is ended to obtain an operation result, so that the operation amount can be reduced, and the operation time can be saved; in addition, the data comparator can also carry out comparison operation on floating fixed point numbers, so that the universality of the data comparator is improved.
Fig. 5 is a schematic diagram of a specific structure of a data comparator according to another embodiment of the present invention, as shown in fig. 5, the data comparator includes the data comparing module 123, and the data comparing module 123 includes: an exponent bit comparing unit 1231 and a mantissa bit comparing unit 1232, wherein an output end of the exponent bit comparing unit 1231 is connected to an input end of the mantissa bit comparing unit 1232;
wherein the exponent bit comparing unit 1231 is configured to compare a exponent bit data size in the received data, and the mantissa bit comparing unit 1232 is configured to compare a mantissa bit data size in the received data.
If the data comparator needs to process the received data by the data comparing module 123, the exponent bit comparing unit 1231 and the mantissa bit comparing unit 1232 process the received data sequentially until one of the comparing units can obtain a comparison result, and the corresponding comparing unit outputs a high level signal, and at this time, the operation is ended to output an operation result. Optionally, the comparison result may include a size comparison result of the exponent data in the data, and a size comparison result of the mantissa data in the data.
Optionally, the exponent bit comparing unit 1231 includes: a fourth data input port 1231a, a fourth data output port 1231b, and exponent bit comparison result output ports (agtb 3) 1231c and (altb 3) 1231d, wherein the fourth data input port 1231a is configured to receive the input data, the fourth data output port 1231b is configured to output the data, and the exponent bit comparison result output ports (agtb 3) 1231c and (altb 3) 1231d are configured to output comparison results of the sizes of exponent bit data in the data, respectively.
Optionally, the mantissa bit comparing unit 1232 includes: a fifth data input port 1232a, a fifth data output port 1232b, a mantissa bit comparison result output port (agtb 4) 1232c, (altb 4) 1232d, and (aeqb 4) 1232e, wherein the fifth data input port 1232a is configured to receive the input data, the fifth data output port 1232b is configured to output the data, and the mantissa bit comparison result output ports (agtb 4) 1232c, (altb 4) 1232d, and (aeqb 4) 1232e are configured to output comparison results of the sizes of mantissa bits in the data, respectively.
Optionally, if the signed floating-point number is positive, the larger the exponent bit data, the larger the signed floating-point number, the larger the mantissa bit data, and the larger the signed floating-point number in the signed floating-point number; if the signed floating-point number is negative, the larger the exponent bit, the smaller the signed floating-point number, the larger the mantissa bit data, and the smaller the signed floating-point number.
According to the data comparator provided by the embodiment, the exponent bit comparison unit and the mantissa bit comparison unit are used for sequentially judging the size of the exponent bit data and the size of the mantissa bit data in the received data, if the data comparator can determine the size of the exponent bit data and/or the size of the mantissa bit data in the received data, the corresponding comparison unit can output a high-level signal, so that an operation result is obtained, and the data comparator can carry out comparison operation on floating fixed point numbers, so that the universality of the data comparator is improved.
Fig. 6 is a flow chart of a data processing method provided in an embodiment, which can be processed by the data comparator shown in fig. 2 and fig. 4, and the embodiment relates to a process of performing a comparison operation on data. As shown in fig. 6, the method includes:
S101, receiving data to be processed.
Specifically, the data comparator may receive two data to be processed. Optionally, the data comparator inputs the received data to be processed to the highest non-zero comparing circuit, and if the data to be processed is required to be processed by the data comparing circuit after the operation of the highest non-zero comparing circuit is finished, the highest non-zero comparing circuit inputs the received data to be processed to the data comparing circuit for comparison operation. Alternatively, the data to be processed may be unsigned floating-point numbers with multiple bit widths, and the bit widths of the two data to be processed received by the data comparator are equal.
S102, comparing the digits of the highest nonzero digit in the mantissa digit data of the data to be processed to obtain a comparison result.
Specifically, the comparison result may be the highest non-zero digit in the tail digit data of the data to be processed, and the comparison result is obtained. Alternatively, the comparison result may be a logic determination signal, where the logic determination signal may be a high level signal 1 or a low level signal 0.
It should be noted that, the digit of the highest nonzero bit in the mantissa data may be characterized as a specific digit corresponding to the first nonzero value from the highest digit value to the lowest digit value in the mantissa data. For example, if the mantissa data a in the unsigned floating point number is "00101", the valid bit data in the mantissa data is "101", the lowest bit value "1" in the valid bit data may be referred to as the 0-th bit value, the next lower bit value "0" may be referred to as the 1-th bit value, the number of the highest non-zero bit in the mantissa data may be equal to 2 calculated from the 1-th bit value in the valid bit data to the high bit value in the valid bit data, if the mantissa data b in the unsigned floating point number is "01110", the valid bit data in the mantissa data is "1110", the lowest bit value "0" in the valid bit data may be referred to as the 0-th bit value, the next lower bit value "1" may be referred to as the 1-th bit value, the number of the highest non-zero bit in the mantissa data may be equal to 3, at this time, the number of the highest non-zero bit in the mantissa data may be equal to the highest bit value in the valid bit data, the non-zero bit may be equal to 2, if the number b in the mantissa data is higher than the zero bit is equal to the highest bit value, that is equal to the zero bit in the non-zero bit signal, and if the number b in the mantissa data is equal to the highest bit value is not equal to the highest bit value, and the zero bit value is equal to the maximum value. Alternatively, the highest non-zero comparator circuit may output a low level signal when the two unsigned floating-point numbers a and b are equal.
S103, judging whether the data to be processed needs to be compared by a data comparison circuit or not according to the comparison result.
Optionally, in S103, according to the comparison result, determining whether the data to be processed needs to be compared by a data comparison circuit includes: if the comparison result is a high-level signal, judging that the data to be processed needs to be compared by the data comparison circuit; if the comparison result is a low-level signal, judging that the data to be processed does not need to be compared by the data comparison circuit.
Optionally, after the step of determining whether the data to be processed needs to be compared by the data comparing circuit according to the comparison result in S103, the method further includes: if the comparison processing is not needed by the data comparison circuit, an operation result is obtained, and the operation is ended.
Specifically, the data comparator can judge whether the data to be processed needs to be compared by the data comparison circuit according to the comparison result output by the highest non-zero comparison circuit so as to obtain an operation result. Optionally, when the comparison result is a high level signal, the data comparator may not need to continue to perform the next comparison processing on the data to be processed, otherwise, the data comparator may also need to continue to perform the next comparison processing on the data to be processed.
It should be noted that, if the mantissa bit data of the data to be processed is lower, the bit of the highest non-zero bit is smaller corresponding to the data to be processed, otherwise, the bit is larger corresponding to the data to be processed. Optionally, if the highest non-zero bit comparison result output ports agtb1 and altb1 in the highest non-zero bit comparison circuit output a high level signal, the comparison result of the highest non-zero bit comparison circuit in the mantissa digital data is characterized as the high level signal, and at this time, the data comparator may not need to perform comparison processing through the data comparison circuit.
And S104, if necessary, the highest nonzero bit comparison circuit inputs the data to be processed into the data comparison circuit, and the data comparison circuit compares the size of exponent data and/or mantissa data in the data to be processed to obtain an operation result.
Specifically, if the highest non-zero bit comparison circuit in the data comparator outputs a low level signal as the comparison result, the highest non-zero bit comparison circuit may further input the data to be processed into the data comparison circuit, and continuously compare the size of the exponent data and/or the mantissa data in the data to be processed through the data comparison circuit, so as to obtain an operation result according to the comparison result. Optionally, in the highest non-zero comparing circuit, when the highest non-zero comparing result output ports agtb1 and altb1 both output low level signals, the comparing result is represented as the low level signal. Optionally, the data comparing circuit may output a high level signal according to the exponent bit data and/or the tail bit data in the data to be processed, and output the maximum value and the minimum value in the received data to be processed through the maximum value output port (Zmax) and the minimum value output port (Zmin) of the data comparator, so as to end the operation.
According to the data processing method provided by the embodiment, the data comparator judges whether the data to be processed still needs to be compared and processed through the data comparison circuit through the highest nonzero bit comparison circuit, so that the operation amount is reduced, and the operation time is saved; in addition, the method can also carry out comparison operation on the received floating fixed point number, and effectively improves the universality of the data comparator.
In another embodiment, the step S104 of comparing, by the data comparing circuit, the size of exponent data and/or mantissa data in the data to be processed to obtain an operation result includes:
s1041, comparing whether the index bit data in the data to be processed are equal or not through an index bit comparison module.
Specifically, the highest non-zero bit comparison circuit can input the data to be processed to the exponent bit comparison module, and the exponent bit comparison module is used for continuously comparing whether the exponent bits in the data to be processed are equal.
It should be noted that, when the highest non-zero bit comparison output port in the highest non-zero bit comparison circuit does not output the high level signal, the highest non-zero bit comparison circuit may input the data to be processed to the exponent bit comparison module to continue to perform comparison processing on the data to be processed.
Optionally, after comparing, by the exponent bit comparing module, whether the exponent bits in the data to be processed are equal in S1041, the method further includes: and if the index bit data in the data to be processed are not equal, obtaining an operation result and ending the operation.
It should be noted that, if the exponent bits in the two data to be processed received by the exponent bit comparison module are not equal, the larger the exponent bits, the larger the data to be processed, the smaller the exponent bits, and the smaller the data to be processed.
S1042, if the exponent data in the data to be processed are equal, inputting the data to be processed into a mantissa bit comparison module, and comparing whether the mantissa data in the data to be processed are equal or not through the mantissa bit comparison module.
Specifically, if the exponent bit data in the data to be processed received by the exponent bit comparison module is equal, the exponent bit comparison module may input the data to be processed to the mantissa bit comparison module, and continuously compare whether the mantissa bit data in the data to be processed is equal through the mantissa bit comparison module.
Optionally, after comparing whether the mantissa data in the data to be processed is equal by the mantissa bit comparing module in S1042, the method further includes: and if the mantissa data in the data to be processed are not equal, obtaining an operation result and ending the operation.
It should be noted that, when the exponent bit comparison result output port does not output a high level signal, the exponent bit comparison module may input the data to be processed to the mantissa bit comparison module.
S1043, if the mantissa data in the data to be processed are equal, obtaining an operation result, and ending the operation.
Specifically, if the mantissa data in the received data to be processed are equal, the mantissa bit comparison module may output the mantissa bit comparison operation result through the mantissa bit comparison result output port, and output the maximum value and the minimum value in the received data to be processed through the maximum value output port (Zmax) and the minimum value output port (Zmin) of the data comparator, so as to end the comparison operation, where the maximum value may be equal to the minimum value. Optionally, if the mantissa data in the received data to be processed are not equal, the mantissa bit comparing unit may also obtain a comparison operation result, and the data comparator outputs a maximum value and a minimum value. The mantissa bit comparison operation result may be a high level signal.
According to the data processing method provided by the embodiment, the data comparator compares whether the index bit data in the data to be processed are equal through the index bit comparison module, if the index bit data in the data to be processed are equal, the data to be processed are input into the mantissa bit comparison module, if the mantissa bit data in the data to be processed are equal through the mantissa bit comparison module, if the mantissa bit of the data to be processed are equal, an operation result is obtained, the operation is ended, and if the mantissa bit data are not equal, an operation result can also be obtained.
Fig. 7 is a flow chart of a data processing method according to an embodiment, which can be processed by the data comparator shown in fig. 3 and 5, and the embodiment relates to a process of performing a comparison operation on data. As shown in fig. 7, the method includes:
s201, receiving data to be processed.
Specifically, the data comparator may receive two data to be processed, where both data to be processed may be signed floating-point numbers with multiple bit widths, and the bit widths of the two data to be processed are equal.
S202, judging whether zero value exists in the data to be processed or not through a zero value judging module.
Optionally, the data comparator may determine, by using a zero value determining module, whether zero values exist in the two data to be processed based on a coding standard of zero values corresponding to floating-point numbers.
S203, if no zero value exists, the data to be processed is input to a sign bit comparison module, and whether sign bit values in the data to be processed are equal or not is compared through the sign bit comparison module.
Specifically, if no zero exists in the data to be processed received by the zero value judging module, the zero value judging module can input the received data to be processed into the symbol bit comparing module for comparison processing.
S204, if the sign bit values are equal, inputting the data to be processed into a data comparison module, and comparing the tail bit data of the data to be processed by the data comparison module to obtain the operation result, wherein the highest non-zero bit, the index bit data and/or the tail bit data are/is equal in size.
Specifically, if the sign bit values of the two data to be processed received by the sign bit comparison module are equal, the data comparator inputs the data to be processed into the data comparison module, the data comparison module continues to compare the sizes of the exponent bit data and/or the mantissa bit data in the data to be processed, and an operation result is obtained according to the comparison result. Optionally, the data comparing circuit may output a high level signal according to a comparison result of a highest non-zero bit, an exponent bit and/or a mantissa bit in the data to be processed, and output a maximum value and a minimum value in the received data to be processed through a maximum value output port (Zmax) and a minimum value output port (Zmin) of the data comparator, so as to end the operation.
According to the data processing method provided by the embodiment, the data comparator judges whether the data to be processed needs to be compared through the data comparison module or not through the highest nonzero comparison circuit, if not, the operation result is obtained to finish operation, so that the operation amount can be reduced, and the operation time is saved; in addition, the method can also carry out comparison operation on the received floating fixed point number, and effectively improves the universality of the data comparator.
As one embodiment, the step of determining, by the zero value determining module, whether a zero value exists in the data to be processed in S202 further includes:
s2021, if zero value exists in the data to be processed, judging whether the data to be processed needs to be processed by a next comparison module according to the judging result output by the zero value judging module.
Optionally, in S2021, after the step of determining whether the data to be processed needs to be processed by the next comparison module according to the determination result output by the zero value determination module, the method further includes: and if the data to be processed is not required to be processed through the next comparison module, obtaining an operation result, and ending the operation.
Specifically, the determination result may be a logic determination signal, where the logic determination signal may be a high level signal 1 or a low level signal 0. Optionally, if any one of the zero value judgment result output ports agtb1 and altb1 in the zero value judgment module outputs a high level signal, it may be characterized that at least one zero value exists in the data to be processed; if the zero value judgment result output port aeqb1 in the zero value judgment module outputs a high level signal, the data comparator can obtain an operation result and finish the operation. Optionally, if one of the two data to be processed is zero and the other is non-zero, the zero judgment module can also directly judge the data size and end the operation without continuing to perform comparison operation through other comparison modules, and it can be understood that in this case, the zero judgment module can also judge the sign bit of the zero value and the non-zero value, so as to directly obtain the operation result.
S2022, if the data to be processed is required to be processed by the next comparison module, continuing to input the data to be processed to the sign bit comparison module, and comparing whether sign bit values in the data to be processed are equal by the sign bit comparison module.
It should be noted that if only one zero value exists in the data to be processed according to the judgment result of the zero value judgment module, the sign bit comparison module is continuously used for judging whether the two data to be processed are positive numbers or negative numbers, if the sign bit values are equal, any positive number is larger than the zero value, if the sign bit values are equal, any negative number is smaller than the zero value, and if the sign bit values are unequal, the positive number is necessarily larger than the negative number.
And S2023, if the sign bit values are not equal, obtaining an operation result and ending the operation.
According to the data processing method provided by the embodiment, if zero value exists in the data to be processed, whether the data to be processed needs to be processed through the next comparison module is judged according to the judgment result output by the zero value judgment module, if the data to be processed needs to be processed through the next comparison module, the sign bit value of the data to be processed is continuously judged, and the maximum value and the minimum value in the data to be processed can be determined according to the sign bit value, so that the operation amount can be reduced, and the operation time can be saved; in addition, the method can also carry out comparison operation on the received floating fixed point number, and effectively improves the universality of the data comparator.
In one embodiment, in S204, the data to be processed is input to a data comparison module, and the data comparison module compares the highest non-zero digit, the exponent data and/or the mantissa data size in the mantissa data to obtain an operation result, where the operation result includes:
s2041, judging whether the digital sizes of the highest nonzero bits in the tail digital data of the data to be processed are equal or not through a highest nonzero bit comparison module.
Optionally, after the step of determining, in the step S2041, whether the sizes of the digits of the highest non-zero bits in the mantissa digits of the data to be processed are equal by the highest non-zero bit comparison module, the method further includes: if the calculation results are not equal, the calculation results are obtained, and the calculation is ended.
Specifically, if the signed floating-point number is a positive number, the larger the number of the highest non-zero bits (i.e., the lower the position of the highest non-zero bits) in the mantissa digital data of the floating-point number, the smaller the corresponding signed floating-point number; if the signed floating-point number is negative, the larger the number of the highest non-zero bits (i.e., the higher the position of the highest non-zero bits) in the mantissa data of the floating-point number, the smaller the corresponding signed floating-point number.
For example, for the positive floating-point number, if the mantissa data a of the floating-point number is "00101", the significant bit data in the mantissa data is "101", the least significant bit data "1" in the mantissa data may be referred to as the 0-th bit value, the next-to-low bit value "0" may be referred to as the 1-th bit value, the number of the highest non-zero bits in the mantissa data may be equal to 2 when calculated from the 1-th bit value in the significant bit data to the high-order bit value in the significant bit data, if the mantissa data b of the floating-point number is "01110", the least significant bit data in the mantissa data is "1110", the least significant bit data in the mantissa data may be referred to as the 0-th bit value, the next-to-low bit value "1" may be referred to as the 1-th bit value, the number of the highest non-zero bits in the mantissa data may be equal to 3, and the number of the highest non-zero bits in the mantissa data may be equal to the 3 when the most non-zero bits in the mantissa data is higher than the lower than the floating-point number.
For negative floating point numbers, if the mantissa data a of the floating point number is "00101", the most significant digit value "1" in the mantissa data is "101", the most significant digit value "1" in the mantissa data is referred to as the 0-th digit value, the next-higher digit value "0" is referred to as the 1-th digit value, the number of the most non-zero digit in the mantissa data is equal to 2 when calculated from the 1-th digit value in the mantissa data to the lower-digit value in the effective digit data, if the mantissa data b of the floating point number is "01110", the most significant digit data in the mantissa data is "1110", the most significant digit value "1" in the mantissa data is referred to as the 0-th digit value, the next-higher digit value "1" is referred to as the 1-th digit value, and the number of the most non-zero digit in the mantissa data is equal to 1 when the number of the most non-zero digit in the mantissa data is calculated from the 1-th digit value in the effective digit data, that is the higher than the zero digit in the mantissa data is greater than the zero digit a.
S2042, if the digit sizes of the highest nonzero digit in the tail digit data are equal, inputting the data to be processed into an index digit comparison module, and judging whether the digit sizes of the data to be processed are equal or not through the index digit comparison module.
Specifically, if the highest nonzero bit comparison module outputs a low level signal, the highest nonzero bit in the tail digital data is represented to have equal digital size, and at this time, the data comparator also needs to compare the digital data size of the index bits in the data to be processed through the index bit comparison module, and whether the digital data size of the index bits is equal is determined according to the comparison result.
Optionally, in S2042, after the step of inputting the data to be processed to the exponent bit comparing module and determining, by the exponent bit comparing module, whether the exponent bit sizes in the data to be processed are equal, the method further includes: and if the sizes of the index bits are not equal, obtaining an operation result and ending the operation.
It should be noted that, if the exponent bits of the two data to be processed are not equal, the larger the exponent bits, the larger the data to be processed, and the larger the exponent bits, the smaller the data to be processed.
S2043, if the sizes of the index bit data are equal, inputting the data to be processed into a mantissa bit comparison module, and judging whether the sizes of the mantissa bit data in the data to be processed are equal or not through the mantissa bit comparison module.
Specifically, if the exponent bit comparison module outputs a low level signal, the sizes of the token bit data are equal, at this time, the data comparator also needs to compare the sizes of the mantissa bit data in the data to be processed through the mantissa bit comparison module, and whether the sizes of the mantissa bit data are equal is judged according to the comparison result.
Optionally, in S2043, the step of inputting the data to be processed to a mantissa bit comparing module, and determining, by the mantissa bit comparing module, whether the sizes of the mantissa bit data in the data to be processed are equal further includes: and if the mantissa data are equal in size, obtaining an operation result and ending the operation.
It should be noted that, if the mantissa bit comparison result output port aeqb3 in the mantissa bit comparison module outputs a high level signal, the two mantissa bit data sizes are equal, which can indicate that the two to-be-processed data received by the data comparator are equal in size.
And S2044, if the mantissa data sizes are not equal, obtaining an operation result, and ending the operation.
Specifically, if the mantissa bit comparison module determines that the sizes of the mantissa bit data are not equal, the larger the mantissa bit data, the larger the data to be processed, and the larger the mantissa bit data, the smaller the data to be processed.
According to the data processing method, whether the sizes of the digits of the highest non-zero bits in the mantissa digit data of the data to be processed are equal or not is judged through the highest non-zero bit comparison module, if the sizes of the digits of the highest non-zero bits in the mantissa digit data are equal, the data to be processed are input into the exponent bit comparison module, whether the sizes of the exponent digit data in the data to be processed are equal or not is judged through the exponent bit comparison module, if the sizes of the exponent digit data are equal, the data to be processed are input into the mantissa digit comparison module, whether the sizes of the mantissa digit data are equal or not is judged through the mantissa digit comparison module, if the sizes of the mantissa digit data are not equal, an operation result is obtained, and operation is finished.
The embodiment of the invention also provides a machine learning operation device which comprises one or more data comparators, wherein the data comparators are used for acquiring data to be operated and control information from other processing devices, executing specified machine learning operation and transmitting an execution result to peripheral equipment through an I/O interface. Peripheral devices such as cameras, displays, mice, keyboards, network cards, wifi interfaces, servers. When more than one data comparator is included, the data comparators may be linked and data transferred through a specific structure, such as interconnection and data transfer through PCIE bus, to support larger scale machine learning operations. At this time, the same control system may be shared, or independent control systems may be provided; the memory may be shared, or each accelerator may have its own memory. In addition, the interconnection mode can be any interconnection topology.
The machine learning operation device has higher compatibility and can be connected with various types of servers through PCIE interfaces.
The embodiment of the invention also provides a combined processing device which comprises the machine learning operation device, a general interconnection interface and other processing devices. The machine learning operation device interacts with other processing devices to jointly complete the operation designated by the user. Fig. 8 is a schematic diagram of a combination processing apparatus.
Other processing means include one or more processor types of general-purpose/special-purpose processors such as Central Processing Units (CPU), graphics Processing Units (GPU), neural network processors, etc. The number of processors included in the other processing means is not limited. Other processing devices are used as interfaces between the machine learning operation device and external data and control, including data carrying, and complete basic control such as starting, stopping and the like of the machine learning operation device; other processing devices may cooperate with the machine learning computing device to perform the computing task.
And the universal interconnection interface is used for transmitting data and control instructions between the machine learning operation device and other processing devices. The machine learning operation device acquires required input data from other processing devices and writes the required input data into a storage device on a machine learning operation device chip; the control instruction can be obtained from other processing devices and written into a control cache on a machine learning operation device chip; the data in the memory module of the machine learning arithmetic device may be read and transmitted to other processing devices.
Alternatively, as shown in fig. 9, the structure may further include a storage device connected to the machine learning operation device and the other processing device, respectively. The storage device is used for storing data in the machine learning arithmetic device and the other processing devices, and is particularly suitable for data which cannot be stored in the machine learning arithmetic device or the other processing devices in the internal storage of the machine learning arithmetic device or the other processing devices.
The combined processing device can be used as an SOC (system on chip) system of equipment such as a mobile phone, a robot, an unmanned aerial vehicle, video monitoring equipment and the like, so that the core area of a control part is effectively reduced, the processing speed is improved, and the overall power consumption is reduced. In this case, the universal interconnect interface of the combined processing apparatus is connected to some parts of the device. Some components such as cameras, displays, mice, keyboards, network cards, wifi interfaces.
In some embodiments, a chip is also disclosed, which includes the machine learning computing device or the combination processing device.
In some embodiments, a chip package structure is disclosed, which includes the chip.
In some embodiments, a board card is provided that includes the chip package structure described above. As shown in fig. 10, fig. 10 provides a board that may include other mating components in addition to the chips 389, including but not limited to: a storage device 390, a receiving device 391 and a control device 392;
The memory device 390 is connected to the chip in the chip package structure through a bus for storing data. The memory device may include multiple sets of memory cells 393. Each group of storage units is connected with the chip through a bus. It is understood that each set of memory cells may be DDR SDRAM (English: double Data Rate SDRAM, double Rate synchronous dynamic random Access memory).
DDR can double the speed of SDRAM without increasing the clock frequency. DDR allows data to be read out on both the rising and falling edges of the clock pulse. DDR is twice as fast as standard SDRAM. In one embodiment, the memory device may include 4 sets of the memory cells. Each set of the memory cells may include a plurality of DDR4 particles (chips). In one embodiment, the chip may include 4 72-bit DDR4 controllers inside, where 64 bits of the 72-bit DDR4 controllers are used to transfer data and 8 bits are used for ECC verification. It is understood that the theoretical bandwidth of data transfer can reach 25600MB/s when DDR4-3200 granules are employed in each set of memory cells.
In one embodiment, each set of memory cells includes a plurality of double rate synchronous dynamic random access memories arranged in parallel. DDR can transfer data twice in one clock cycle. And a controller for controlling DDR is arranged in the chip and is used for controlling data transmission and data storage of each storage unit.
The receiving device is electrically connected with the chip in the chip packaging structure. The receiving means is used for realizing data transmission between the chip and an external device (such as a server or a computer). For example, in one embodiment, the receiving device may be a standard PCIE interface. For example, the data to be processed is transferred from the server to the chip through the standard PCIE interface, so as to implement data transfer. Preferably, when PCIE 3.0X10 interface transmission is adopted, the theoretical bandwidth can reach 16000MB/s. In another embodiment, the receiving device may be another interface, and the application is not limited to the specific form of the other interface, and the interface unit may be capable of implementing a switching function. In addition, the calculation result of the chip is still transmitted back to the external device (e.g., server) by the receiving apparatus.
The control device is electrically connected with the chip. The control device is used for monitoring the state of the chip. Specifically, the chip and the control device may be electrically connected through an SPI interface. The control device may comprise a single chip microcomputer (Micro Controller Unit, MCU). The chip may include a plurality of processing chips, a plurality of processing cores, or a plurality of processing circuits, and may drive a plurality of loads. Therefore, the chip can be in different working states such as multi-load and light-load. The control device can realize the regulation and control of the working states of a plurality of processing chips, a plurality of processing circuits and/or a plurality of processing circuits in the chip.
In some embodiments, an electronic device is provided that includes the above board card.
The electronic device may be a data processor, a robot, a computer, a printer, a scanner, a tablet, an intelligent terminal, a cell phone, a vehicle recorder, a navigator, a sensor, a camera, a server, a cloud server, a camera, a video camera, a projector, a watch, an earphone, a mobile storage, a wearable device, a vehicle, a household appliance, and/or a medical device.
The vehicle comprises an aircraft, a ship and/or a vehicle; the household appliances comprise televisions, air conditioners, microwave ovens, refrigerators, electric cookers, humidifiers, washing machines, electric lamps, gas cookers and range hoods; the medical device includes a nuclear magnetic resonance apparatus, a B-mode ultrasonic apparatus, and/or an electrocardiograph apparatus.
It should be noted that, for simplicity of description, the foregoing method embodiments are all described as a series of circuit combinations, but those skilled in the art should appreciate that the present application is not limited by the circuit combinations described, as some circuits may be implemented in other manners or structures according to the present application. Further, those skilled in the art will also appreciate that the embodiments described in the specification are all alternative embodiments, and that the devices and modules referred to are not necessarily required in the present application.
In the foregoing embodiments, the descriptions of the embodiments are emphasized, and for parts of one embodiment that are not described in detail, reference may be made to the related descriptions of other embodiments.
The foregoing examples illustrate only a few embodiments of the invention and are described in detail herein without thereby limiting the scope of the invention. It should be noted that it will be apparent to those skilled in the art that several variations and modifications can be made without departing from the spirit of the invention, which are all within the scope of the invention. Accordingly, the scope of protection of the present invention is to be determined by the appended claims.

Claims (21)

1. A data comparator, the data comparator comprising: the device comprises a judging circuit and a comparing circuit, wherein the judging circuit comprises a zero value judging module, the comparing circuit comprises a symbol bit comparing module, a highest nonzero bit comparing module and a data comparing module, the output end of the zero value judging module is connected with the input end of the symbol bit comparing module, the output end of the symbol bit comparing module is connected with the input end of the highest nonzero bit comparing module, and the output end of the highest nonzero bit comparing module is connected with the input end of the data comparing module;
The zero value judging unit is used for judging whether zero values exist in received first data and second data, the sign bit comparing unit is used for comparing the magnitudes of sign bit values of the received first data and second data, the highest nonzero bit comparing unit is used for comparing digits of the highest nonzero bits in the mantissa digit data of the first data and the second data to obtain comparison results, and the data comparing unit is used for comparing the mantissa digit data and/or the exponent digit data in the first data and the second data.
2. The data comparator of claim 1, wherein the zero value determination module comprises: the first data input port, the first data output port and the zero value judgment result output port; the first data input port is used for receiving the input first data and the second data, the first data output port is used for outputting the first data and the second data, and the zero value judgment result output port is used for outputting the judgment result of the zero value judgment module.
3. The data comparator of claim 1, wherein the sign bit comparison module comprises: a second data input port, a second data output port, and a sign bit comparison result output port; the second data input port is used for receiving the first data and the second data input by the zero value judging module, the second data output port is used for outputting the first data and the second data, and the sign bit comparison result output port is used for outputting the magnitude comparison result of the sign bit value in the first data and the second data.
4. A data comparator as claimed in claim 3, wherein the highest non-zero comparison module comprises: the third data input port, the third data output port and the highest nonzero bit comparison result output port; the third data input port is configured to receive the first data and the second data input by the sign bit comparison module, the third data output port is configured to output the first data and the second data, and the highest non-zero bit comparison result output port is configured to output a digital size comparison result of the highest non-zero bit in the tail digital data of the first data and the second data.
5. The data comparator of claim 1, wherein the data comparison module comprises: the output end of the exponent bit comparison unit is connected with the input end of the mantissa bit comparison unit;
the exponent bit comparing unit is used for comparing the exponent bit data size in the received first data and the second data, and the mantissa bit comparing unit is used for comparing the mantissa bit data size in the received first data and the second data.
6. The data comparator of claim 5, wherein the exponent bit comparison unit includes: a fourth data input port, a fourth data output port, and an exponent bit comparison result output port; the fourth data input port is configured to receive the first data and the second data input by the highest non-zero comparison module, the fourth data output port is configured to output the first data and the second data, and the exponent bit comparison result output port is configured to output a comparison result of the exponent bit size in the first data and the second data.
7. The data comparator of claim 5, wherein the mantissa bit comparison unit comprises: a fifth data input port, a fifth data output port, and a mantissa bit comparison result output port; the fifth data input port is configured to receive the first data and the second data input by the exponent bit comparing unit, the fifth data output port is configured to output the first data and the second data, and the mantissa bit comparison result output port is configured to output a comparison result of a mantissa bit data size in the first data and the second data.
8. A method of data processing, the method comprising:
receiving data to be processed;
judging whether zero value exists in the data to be processed or not through a zero value judging module;
if no zero value exists, the data to be processed is input to a sign bit comparison module, and whether sign bit values in the data to be processed are equal or not is compared through the sign bit comparison module;
and if the sign bit values are equal, inputting the data to be processed into a data comparison module, and comparing the digits of the highest nonzero digit, the exponent bit data and/or the size of the mantissa bit data in the data to be processed through the data comparison module to obtain an operation result.
9. The method of claim 8, further comprising, after the step of determining, by a zero value determination module, whether a zero value exists in the data to be processed:
if zero value exists in the data to be processed, judging whether the data to be processed needs to be processed by a next comparison module or not according to a judgment result output by the zero value judgment module;
if the data to be processed is required to be processed through the next comparison module, continuing to input the data to be processed into the sign bit comparison module, and comparing whether sign bit values in the data to be processed are equal or not through the sign bit comparison module;
And if the sign bit values are not equal, obtaining an operation result and ending the operation.
10. The method according to claim 9, wherein the determining, according to the determination result output by the zero value determining module, whether the data to be processed needs to be processed by the next comparing module, further comprises: and if the data to be processed is not required to be processed through the next comparison module, obtaining an operation result, and ending the operation.
11. The method according to claim 8, wherein the inputting the data to be processed into the data comparison module, comparing, by the data comparison module, the digit of the highest non-zero bit in the mantissa digit data, the exponent data and/or the mantissa digit data size to obtain the operation result includes:
judging whether the digital sizes of the highest non-zero bits in the tail digital data of the data to be processed are equal or not through a highest non-zero bit comparison module;
if the digit sizes of the highest nonzero digits in the mantissa digit data are equal, inputting the data to be processed into an exponent bit comparison module, and judging whether the digit sizes of the exponent bits in the data to be processed are equal or not through the exponent bit comparison module;
If the sizes of the index bits are equal, inputting the data to be processed into a mantissa bit comparison module, and judging whether the sizes of the mantissa bits in the data to be processed are equal or not through the mantissa bit comparison module;
and if the mantissa data size is not equal, obtaining an operation result and ending the operation.
12. The method of claim 11, wherein after the step of determining, by the highest nonzero bit comparison module, whether the digit sizes of the highest nonzero bits in the mantissa digit data of the data to be processed are equal, further comprising: if the calculation results are not equal, the calculation results are obtained, and the calculation is ended.
13. The method according to claim 11, wherein after the step of inputting the data to be processed to an exponent bit comparing module, determining whether the exponent bit sizes in the data to be processed are equal by the exponent bit comparing module, further comprises: and if the sizes of the index bits are not equal, obtaining an operation result and ending the operation.
14. The method according to claim 11, wherein the step of inputting the data to be processed to a mantissa bit comparison module, and determining whether the size of the mantissa bit data in the data to be processed is equal by the mantissa bit comparison module, further comprises: and if the mantissa data are equal in size, obtaining an operation result and ending the operation.
15. A machine learning computing device, characterized in that the machine learning computing device comprises one or more data comparators according to any one of claims 1-7, for acquiring input data and control information to be computed from other processing devices, executing specified machine learning computation, and transmitting the execution result to other processing devices through I/O interfaces;
when the machine learning computing device comprises a plurality of data comparators, the plurality of computing devices can be connected through a specific structure and transmit data;
the data comparators are interconnected through the PCIE bus and transmit data so as to support larger-scale machine learning operation; the data comparators share the same control system or have respective control systems; the data comparators share a memory or have respective memories; the interconnection mode of the plurality of data comparators is any interconnection topology.
16. A combination processing device, comprising the machine learning computing device of claim 15, a universal interconnect interface, and other processing devices;
the machine learning operation device interacts with the other processing devices to jointly complete the calculation operation designated by the user.
17. The combination processing device of claim 16, further comprising: and a storage device connected to the machine learning operation device and the other processing device, respectively, for storing data of the machine learning operation device and the other processing device.
18. A neural network chip, characterized in that the machine learning chip includes the machine learning arithmetic device according to claim 15 or the combination processing device according to claim 16.
19. An electronic device comprising the chip of claim 18.
20. A board, characterized in that, the board includes: a memory device, a receiving means and a control device, a neural network chip as claimed in claim 18;
the neural network chip is respectively connected with the storage device, the control device and the receiving device;
the storage device is used for storing data;
the receiving device is used for realizing data transmission between the chip and external equipment;
the control device is used for monitoring the state of the chip.
21. The board card of claim 20, wherein the board card comprises,
the memory device includes: each group of storage units is connected with the chip through a bus, and the storage units are as follows: DDR SDRAM;
the chip comprises: the DDR controller is used for controlling data transmission and data storage of each storage unit;
the receiving device is as follows: standard PCIE interfaces.
CN202311515943.3A 2018-12-28 2018-12-28 Data comparator, data processing method, chip and electronic equipment Pending CN117519636A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311515943.3A CN117519636A (en) 2018-12-28 2018-12-28 Data comparator, data processing method, chip and electronic equipment

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811625393.XA CN111381805A (en) 2018-12-28 2018-12-28 Data comparator, data processing method, chip and electronic equipment
CN202311515943.3A CN117519636A (en) 2018-12-28 2018-12-28 Data comparator, data processing method, chip and electronic equipment

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201811625393.XA Division CN111381805A (en) 2018-11-30 2018-12-28 Data comparator, data processing method, chip and electronic equipment

Publications (1)

Publication Number Publication Date
CN117519636A true CN117519636A (en) 2024-02-06

Family

ID=71217945

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202311515943.3A Pending CN117519636A (en) 2018-12-28 2018-12-28 Data comparator, data processing method, chip and electronic equipment
CN201811625393.XA Pending CN111381805A (en) 2018-11-30 2018-12-28 Data comparator, data processing method, chip and electronic equipment

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201811625393.XA Pending CN111381805A (en) 2018-11-30 2018-12-28 Data comparator, data processing method, chip and electronic equipment

Country Status (1)

Country Link
CN (2) CN117519636A (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102520903B (en) * 2011-12-13 2014-07-23 中国科学院自动化研究所 Length-configurable vector maximum/minimum network supporting reconfigurable fixed floating points
GB2540216B (en) * 2015-07-10 2020-01-01 Advanced Risc Mach Ltd Comparison of wide data types
CN107291419B (en) * 2017-05-05 2020-07-31 中国科学院计算技术研究所 Floating-point multiplier and floating-point multiplication for neural network processor
CN108363558B (en) * 2018-02-08 2020-10-09 中国人民解放军战略支援部队信息工程大学 Machine number data comparison method for big data processing

Also Published As

Publication number Publication date
CN111381805A (en) 2020-07-07

Similar Documents

Publication Publication Date Title
CN110515589B (en) Multiplier, data processing method, chip and electronic equipment
CN110515587B (en) Multiplier, data processing method, chip and electronic equipment
WO2021185262A1 (en) Computing apparatus and method, board card, and computer readable storage medium
CN111260043B (en) Data selector, data processing method, chip and electronic equipment
CN111258541B (en) Multiplier, data processing method, chip and electronic equipment
CN110515586B (en) Multiplier, data processing method, chip and electronic equipment
CN111260042B (en) Data selector, data processing method, chip and electronic equipment
CN209895329U (en) Multiplier and method for generating a digital signal
CN111258537B (en) Method, device and chip for preventing data overflow
CN117519636A (en) Data comparator, data processing method, chip and electronic equipment
CN117519637A (en) Data comparator, data processing method, chip and electronic equipment
CN111381802B (en) Data comparator, data processing method, chip and electronic equipment
CN111260044B (en) Data comparator, data processing method, chip and electronic equipment
CN117724676A (en) Data comparator, data processing method, chip and electronic equipment
CN111260070B (en) Operation method, device and related product
CN111384944B (en) Full adder, half adder, data processing method, chip and electronic equipment
CN111381875B (en) Data comparator, data processing method, chip and electronic equipment
CN111258534B (en) Data comparator, data processing method, chip and electronic equipment
CN111381806A (en) Data comparator, data processing method, chip and electronic equipment
CN111738428B (en) Computing device, method and related product
CN111340229B (en) Data selector, data processing method, chip and electronic equipment
CN110378478B (en) Multiplier, data processing method, chip and electronic equipment
CN113031909B (en) Data processor, method, device and chip
CN110378477B (en) Multiplier, data processing method, chip and electronic equipment
CN111258634B (en) Data selection device, data processing method, chip and electronic equipment

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