CN108694181B - Data screening device and method - Google Patents

Data screening device and method Download PDF

Info

Publication number
CN108694181B
CN108694181B CN201710222232.5A CN201710222232A CN108694181B CN 108694181 B CN108694181 B CN 108694181B CN 201710222232 A CN201710222232 A CN 201710222232A CN 108694181 B CN108694181 B CN 108694181B
Authority
CN
China
Prior art keywords
data
unit
screening
component
screened
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.)
Active
Application number
CN201710222232.5A
Other languages
Chinese (zh)
Other versions
CN108694181A (en
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Cambricon Information Technology Co Ltd
Original Assignee
Shanghai Cambricon Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to CN201710222232.5A priority Critical patent/CN108694181B/en
Application filed by Shanghai Cambricon Information Technology Co Ltd filed Critical Shanghai Cambricon Information Technology Co Ltd
Priority to EP19199524.0A priority patent/EP3627437B1/en
Priority to EP18780474.5A priority patent/EP3579150B1/en
Priority to EP19199521.6A priority patent/EP3620992B1/en
Priority to CN201811413244.7A priority patent/CN109344965A/en
Priority to EP19199526.5A priority patent/EP3633526A1/en
Priority to EP24168317.6A priority patent/EP4372620A2/en
Priority to CN201811423421.XA priority patent/CN109359736A/en
Priority to CN201811423295.8A priority patent/CN109409515B/en
Priority to PCT/CN2018/081929 priority patent/WO2018184570A1/en
Priority to CN201880001242.9A priority patent/CN109219821B/en
Priority to EP19199528.1A priority patent/EP3624018B1/en
Publication of CN108694181A publication Critical patent/CN108694181A/en
Priority to US16/283,711 priority patent/US10896369B2/en
Priority to US16/520,041 priority patent/US11551067B2/en
Priority to US16/520,082 priority patent/US11010338B2/en
Priority to US16/520,615 priority patent/US10671913B2/en
Priority to US16/520,654 priority patent/US11049002B2/en
Application granted granted Critical
Publication of CN108694181B publication Critical patent/CN108694181B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30025Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30083Power or thermal control instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Image Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present disclosure provides a data screening apparatus and method, which can more efficiently perform data screening operations on data of different storage structures and different sizes by using a storage unit and a register unit.

Description

Data screening device and method
Technical Field
The present disclosure relates to the field of artificial neural networks, and more particularly, to a data filtering apparatus and method.
Background
There are many algorithms in the computer field that involve data screening. Take image processing as an example. The image is stored in a computer in the form of a matrix, and each value in the matrix corresponds to the gray value of a pixel point. For example, if we need to process some pixels of the image, then selecting these pixels before processing needs a screening process. When there are many images in the database and each image contains many pixels, the data size is large. It is important to efficiently perform data screening.
In the prior art, one known solution for performing data screening operations is to use a general purpose processor, which performs general purpose instructions through a general purpose register file and general purpose functional units to perform the operations associated with data screening. The disadvantage of this method is that the performance of a single general-purpose processor is low, and when multiple general-purpose processors are used to execute in parallel, the intercommunication between the general-purpose processors may become a performance bottleneck.
BRIEF SUMMARY OF THE PRESENT DISCLOSURE
Technical problem to be solved
In view of the above, a primary object of the present disclosure is to provide a data filtering apparatus and method, which solve the problems in the prior art that the efficiency of data filtering is limited by the performance of a single processor, the communication among multiple processors, and the like.
(II) technical scheme
The present disclosure provides a data screening apparatus, including: a storage unit for storing data; the register unit is used for storing the data address in the storage unit; and the data screening module is used for acquiring the data address in the register unit, acquiring corresponding data in the storage unit according to the data address, and screening the acquired data to obtain a data screening result.
Optionally, the data filtering module includes a data filtering unit, configured to perform a filtering operation on the acquired data.
Optionally, the data filtering module further includes: the device comprises an I/O unit, an input data cache unit and an output data cache unit; the I/O unit is used for transporting the data stored in the storage unit to the input data buffer unit; the input data buffer unit is used for storing the data carried by the I/O unit; the data screening unit is used for taking the data transmitted by the input data caching unit as input data, screening the input data and transmitting the output data to the output data caching unit; the output data buffer unit stores output data.
Optionally, the input data includes data to be filtered and position information data, and the output data includes filtered data or filtered data and related information thereof.
Optionally, the data to be filtered is a vector or an array, and the position information data is a binary code, a vector or an array; the related information comprises vector length, array size and occupied space.
Optionally, the data screening unit is configured to scan each component of the location information data, delete the to-be-screened data component corresponding to the component if the component is 0, and retain the to-be-screened data component corresponding to the component if the component is 1; or, if the component is 1, deleting the data component to be screened corresponding to the component, if the component is 0, retaining the data component to be screened corresponding to the component, and obtaining and outputting screened data after scanning.
Optionally, the data filtering module further includes a structure transforming unit, configured to transform a storage structure of the input data and/or the output data.
Optionally, the structure deformation unit stretches the array into a vector, or changes the vector into an array.
Optionally, the I/O unit is configured to transfer the output data in the output buffer unit to the storage unit.
Optionally, the data filtering module further includes: an instruction cache unit for storing instructions; and the control unit is used for reading the instruction from the instruction cache unit and decoding the instruction into an operation micro instruction so as to control the data screening unit to screen the acquired data.
Optionally, the storage unit is further configured to store the instruction; the I/O unit is also used for carrying the instructions in the storage unit to the instruction cache unit; the data screening unit is also used for receiving the operation microinstruction transmitted by the control unit, acquiring a data address from the register unit, taking the data transmitted by the input data cache unit as input data, screening the input data and transmitting the output data to the output data cache unit.
The present disclosure also provides an electronic device comprising any of the above data screening devices.
The present disclosure also provides a data screening method, which utilizes any one of the data screening apparatuses to screen data, including: the storage unit stores data; the register unit stores the data address in the storage unit; the data screening module acquires a data address in the register unit; acquiring corresponding data in the storage unit according to the data address; and screening the acquired data to obtain a data screening result.
Optionally, the data filtering unit performs a filtering operation on the acquired data.
Optionally, the I/O unit transfers the data stored in the storage unit to the input data buffer unit; the input data buffer unit stores the data carried by the I/O unit; the data screening unit takes the data transmitted from the input data caching unit as input data, screens the input data and transmits output data to the output data caching unit; the output data buffer unit stores the output data.
Optionally, the input data includes data to be filtered and position information data, and the output data includes filtered data or filtered data and related information thereof.
Optionally, the data to be filtered is a vector or an array, and the position information data is a binary code, a vector or an array; the related information comprises vector length, array size and occupied space.
Optionally, the data screening unit scans each component of the position information data, if the component is 0, the data component to be screened corresponding to the component is deleted, and if the component is 1, the data component to be screened corresponding to the component is retained; or, if the component is 1, deleting the data component to be screened corresponding to the component, if the component is 0, retaining the data component to be screened corresponding to the component, and obtaining and outputting screened data after scanning.
Optionally, the structure transforming unit transforms the storage structure of the input data and/or the output data.
Optionally, the structure deformation unit stretches the array into a vector, or changes the vector into an array.
Optionally, the I/O unit transfers the output data in the output buffer unit to the storage unit.
Optionally, the instruction cache unit stores instructions; the control unit reads the instruction from the instruction cache unit and decodes the instruction into an operation microinstruction so as to control the data screening unit to screen the acquired data.
Optionally, the storage unit further stores the instruction; the I/O unit also carries the instructions in the storage unit to the instruction cache unit; the data screening unit also receives the operation microinstruction transmitted by the control unit, acquires a data address from the register unit, takes the data transmitted by the input data cache unit as input data, screens the input data and transmits the output data to the output data cache unit.
Optionally, the obtaining, by the data screening module, a data address in the register unit includes: the data screening unit acquires the address of the data to be screened and the address of the position information data from the register unit.
Optionally, the obtaining, by the data screening module, corresponding data in the storage unit by the data address includes: the I/O unit transmits the data to be screened and the position information data in the storage unit to the input data cache unit; the input data cache unit transmits the data to be screened and the position information data to the data screening unit.
Optionally, the data screening module performs a screening operation on the acquired data, and obtaining a data screening result includes: and the data screening unit is used for screening the data to be screened according to the position information data and transmitting the output data to the output data caching unit.
Optionally, after the I/O unit transmits the data to be filtered and the position information data in the storage unit to the input data cache unit, the I/O unit determines whether to deform the storage structure, if so, the input data cache unit transmits the data to be filtered to the structure deformation unit, the structure deformation unit performs storage structure deformation, and transmits the deformed data to be filtered back to the input data cache unit, and if not, the input data cache unit directly transmits the data to be filtered and the position information data to the data filtering unit.
(III) advantageous effects
According to the technical scheme, the data screening device and the data screening method have the following beneficial effects:
data and instructions participating in screening operation are temporarily stored in a special cache, and data screening operation can be more efficiently performed on data with different storage structures and different sizes.
Drawings
Fig. 1 is a schematic overall structure diagram of a data screening apparatus according to an embodiment of the present disclosure;
FIG. 2 is a functional diagram of a data screening unit according to an embodiment of the disclosure;
FIG. 3 is a schematic structural diagram of a data screening apparatus according to an embodiment of the present disclosure;
fig. 4 is a flow chart of a data screening method of an embodiment of the present disclosure.
Description of the symbols
1-a storage unit; 2-a register unit; 3-a data screening unit; 4-an instruction cache unit; 5-an input data buffer unit; 6-output data buffer unit; 7-a control unit; 8-I/O unit; 9-structural deformation unit.
Detailed Description
For the purpose of promoting a better understanding of the objects, aspects and advantages of the present disclosure, reference is made to the following detailed description taken in conjunction with the accompanying drawings.
A first embodiment of the present disclosure provides a data screening apparatus, referring to fig. 1, including: and the storage unit is used for storing data and instructions, wherein the data comprises data to be screened and position information data.
And the register unit is used for storing the data address in the storage unit.
And the data screening module comprises a data screening unit, acquires a data address in the register unit according to the instruction, acquires corresponding data in the storage unit according to the data address, and performs screening operation according to the acquired data to obtain a data screening result.
The functional schematic diagram of the data screening unit is shown in fig. 2, where the input data is data to be screened and position information data, and the output data may only include screened data or may also include related information of the screened data, where the related information is, for example, vector length, array size, occupied space, and the like.
Further, referring to fig. 3, the data filtering apparatus of the present embodiment specifically includes:
the storage unit 1 is used for storing data to be screened, position information data and instructions.
And the register unit 2 is used for storing data addresses in the storage units.
The data screening module comprises:
and the instruction cache unit 4 is used for storing instructions.
The control unit 7 reads the instruction from the instruction cache unit 4 and decodes it into the specific operation microinstruction.
The I/O unit 8 may transfer the instruction in the storage unit 1 to the instruction buffer unit 4, transfer the data in the storage unit 1 to the input data buffer unit 5 and the output buffer unit 6, and transfer the output data in the output buffer unit 6 to the storage unit 1.
And the input data buffer unit 5 is used for storing the data carried by the I/O unit 8, including the data to be screened and the position information data.
And the data screening unit 3 is used for receiving the micro instruction transmitted by the control unit 7, acquiring a data address from the register unit 2, taking the data to be screened and the position information data transmitted by the input data caching unit 5 as input data, screening the input data, and transmitting the screened data to the output data caching unit 6 after the screening is finished.
The output data buffer unit 6 stores output data, where the output data may only include the filtered data, or may also include related information of the filtered data, such as vector length, array size, occupied space, and the like.
The data screening device of the embodiment is suitable for various screening objects, the data to be screened can be vectors or high-dimensional arrays and the like, the position information data can be binary codes or vectors or high-dimensional arrays and the like, each component of the position information data is 0 or 1, and the components of the data to be screened and the components of the position information data are in one-to-one correspondence.
The data screening unit 3 specifically performs screening operation on the input data, and includes that the data screening unit 3 scans each component of the position information data, if the component is 0, the data component to be screened corresponding to the component is deleted, and if the component is 1, the data component to be screened corresponding to the component is reserved; or, if the component of the position information data is 1, deleting the data component to be filtered corresponding to the component, and if the component is 0, retaining the data component to be filtered corresponding to the component. And when the scanning is finished, the screening is finished, and screened data are obtained and output. In addition, while the screening operation is performed, related information of the screened data, such as vector length, array size, occupied space and the like, can be recorded, and whether the related information is synchronously recorded and output is determined according to specific conditions.
The process of data screening is illustrated by way of example below.
The first embodiment is as follows:
assuming that the data to be filtered is vector (1010134243), the component less than 100 needs to be filtered, then the input position information data is also vector, i.e. vector (11010), the filtered data still maintains the vector structure, and at the same time, the vector length of the filtered data is output.
The position information vector is obtained through vector operation, namely, the vector operation is obtained by comparing the components of the vector to be screened one by one, the vector operation is irrelevant to the device, so that repeated description is omitted, and the position information vector is known by default and serves as input data of the data screening unit. In this example, if the component of the position information data is 1, the corresponding data component to be filtered is retained, and if the component is 0, the corresponding data component to be filtered is deleted.
The data screening unit 3 initializes a variable length to 0 for recording the vector length of the screened data;
the data screening unit 3 reads the data input into the data caching unit 5, scans the 1 st component of the position information vector, finds that the value is 1, and retains the value 1 of the 1 st component of the vector to be screened, where length is length + 1;
scanning the 2 nd component of the position information vector, and if the value of the 2 nd component of the position information vector is found to be 1, keeping the value 0 of the 2 nd component of the vector to be screened, wherein length is length + 1;
scanning the 3 rd component of the position information vector, and deleting the value 101 of the 3 rd component of the vector to be screened if the value is found to be 0, wherein the length is unchanged;
scanning the 4 th component of the position information vector, and if the value of the 4 th component of the position information vector is found to be 1, keeping the value 34 of the 4 th component of the vector to be screened, wherein length is length + 1;
scanning the 5 th component of the position information vector, and if the value of the 5 th component of the position information vector is found to be 0, keeping the value 243 of the 5 th component of the vector to be screened unchanged;
the remaining values constitute a vector (1034) after screening and the vector length thereof is 3, and are stored by the output data buffer unit 6.
In the data filtering apparatus of this embodiment, the data filtering module may further include a structure transforming unit 9, which may transform the storage structures of the input data buffering unit 5 and the output data of the output data buffering unit 6, such as stretching the high-dimensional array into a vector, changing the vector into a high-dimensional array, and so on.
Example two:
setting data to be screened as four-dimensional array
Figure GDA0001967237280000071
The even number value needs to be screened, then the input position information array is
Figure GDA0001967237280000072
The screened data is in a vector structure, and relevant information is not output. In this example, if the component of the position information data is specified to be 1, the corresponding data component to be filtered is retained, and if the component is 0, the corresponding data component to be filtered is deleted.
The data screening unit 3 reads the data input into the data cache unit 5, scans the (1,1) th component of the position information array, finds that the value is 0, and deletes the value 1 of the (1,1) th component of the array to be screened;
scanning the (1,2) th component of the position information array, and if the value is found to be 1, keeping the value 4 of the (1,2) th component of the array to be screened;
scanning the (2,1) th component of the position information array, and deleting 61 the value of the (2,1) th component of the array to be screened if the value is found to be 0;
scanning the (2,2) th component of the position information array, and if the value is found to be 1, retaining the value 22 of the (2,2) th component of the array to be screened;
the structure morphing unit transforms the retained values into vectors, i.e., the filtered data are vectors (422), and are stored by the output data buffer unit 6.
A second embodiment of the present disclosure provides a method for screening data by using the data screening apparatus according to the first embodiment, referring to fig. 4, the steps are as follows:
step S1, the control unit 7 reads a data filtering instruction from the instruction cache unit 4, decodes the data filtering instruction into a specific operation microinstruction, and transmits the specific operation microinstruction to the data filtering unit 3;
step S2, the data filtering unit 3 obtains the addresses of the data to be filtered and the position information data from the register unit 2;
step S3, the control unit 7 reads an I/O instruction from the instruction cache unit 4, decodes the I/O instruction into a specific operation microinstruction, and transmits the specific operation microinstruction to the I/O unit 8;
step S4, the I/O unit 8 transfers the data to be filtered and the position information data in the storage unit 1 to the input data cache unit 5;
and judging whether the storage structure is deformed or not, if so, executing the step S5, and if not, directly executing the step S6.
Step S5, the input data cache unit 5 transmits the data to the structure deformation unit 9, and performs corresponding storage structure deformation, and then transmits the deformed data back to the input data cache unit 5, and then goes to step S6;
step S6, the input data buffer unit 5 transmits the data to the data filtering unit 3, and the data filtering unit 3 performs filtering operation on the data to be filtered according to the position information data;
in step S7, the output data is transmitted to the output data buffer unit 6, where the output data may only include the filtered data, or may also include the relevant information of the filtered data, such as vector length, array size, occupied space, and the like.
In another embodiment of the present disclosure, a chip is also disclosed, which includes the above data screening apparatus.
In another embodiment of the present disclosure, a chip package structure is also disclosed, which includes the above chip.
In another embodiment of the disclosure, a board card is further disclosed, which includes the above chip package structure.
In another embodiment of the present disclosure, an electronic device is further disclosed, which includes the above board card.
The electronic device comprises a data processing device, a robot, a computer, a printer, a scanner, a tablet computer, an intelligent terminal, a mobile phone, a vehicle data recorder, a navigator, a sensor, a camera, a cloud server, a camera, a video camera, a projector, a watch, an earphone, a mobile storage, a wearable device vehicle, a household appliance, and/or a medical device.
The vehicle comprises an airplane, a ship and/or a vehicle; the household appliances comprise a television, an air conditioner, a microwave oven, a refrigerator, an electric cooker, a humidifier, a washing machine, an electric lamp, a gas stove and a range hood; the medical equipment comprises a nuclear magnetic resonance apparatus, a B-ultrasonic apparatus and/or an electrocardiograph.
So far, the embodiments of the present disclosure have been described in detail with reference to the accompanying drawings. From the above description, those skilled in the art should clearly recognize that the data filtering apparatus and method of the present disclosure are applicable.
Each functional unit/module is hardware, for example, the hardware may be a circuit including a digital circuit, an analog circuit, and the like. Physical implementations of hardware structures include, but are not limited to, physical devices including, but not limited to, transistors, memristors, and the like. The computing module in the computing device may be any suitable hardware processor, such as a CPU, GPU, FPGA, DSP, ASIC, and the like. The memory unit may be any suitable magnetic or magneto-optical storage medium, such as RRAM, DRAM, SRAM, EDRAM, HBM, HMC, etc.
It is to be noted that, in the attached drawings or in the description, the implementation modes not shown or described are all the modes known by the ordinary skilled person in the field of technology, and are not described in detail. In addition, the above definitions of the components are not limited to the specific structures and shapes mentioned in the embodiments, and those skilled in the art may easily modify or replace them; examples of parameters that include particular values may be provided herein, but the parameters need not be exactly equal to the corresponding values, but may be approximated to the corresponding values within acceptable error tolerances or design constraints; directional phrases used in the embodiments, such as "upper", "lower", "front", "rear", "left", "right", etc., refer only to the orientation of the drawings and are not intended to limit the scope of the present disclosure; the embodiments described above may be mixed and matched with each other or with other embodiments based on design and reliability considerations, i.e. technical features in different embodiments may be freely combined to form further embodiments.
The above-mentioned embodiments are intended to illustrate the objects, aspects and advantages of the present disclosure in further detail, and it should be understood that the above-mentioned embodiments are only illustrative of the present disclosure and are not intended to limit the present disclosure, and any modifications, equivalents, improvements and the like made within the spirit and principle of the present disclosure should be included in the scope of the present disclosure.

Claims (21)

1. A data screening apparatus, comprising:
the storage unit is used for storing data and instructions;
the register unit is used for storing the data address in the storage unit;
the data screening module comprises an input data cache unit, an instruction cache unit, a data screening unit, an I/O unit, an output data cache unit and a control unit, wherein the input data cache unit is used for temporarily storing the data carried by the I/O unit, the instruction cache unit is used for temporarily storing the instruction, the I/O unit is used for carrying the data stored by the storage unit to the input data cache unit, the data screening unit is used for acquiring a data address in the register unit, acquiring corresponding data in the input data cache unit according to the data address, screening the acquired data according to the instruction to obtain a data screening result as output data, and transmitting the output data to the output data cache unit, the output data cache unit is used for storing the output data, and the control unit is used for reading the instruction from the instruction cache unit, and decodes the data into operation microinstructions to control the data screening unit to perform screening operations on the acquired data.
2. The data filtering apparatus according to claim 1, wherein the input data includes data to be filtered and position information data, and the output data includes filtered data or filtered data and its related information.
3. The data filtering apparatus according to claim 2, wherein the data to be filtered is a vector or an array, and the position information data is a binary code, a vector or an array; the related information comprises vector length, array size and occupied space.
4. The data filtering apparatus according to claim 2, wherein the data filtering unit is configured to scan each component of the position information data, delete the to-be-filtered data component corresponding to the component if the component is 0, and retain the to-be-filtered data component corresponding to the component if the component is 1; or, if the component is 1, deleting the data component to be screened corresponding to the component, if the component is 0, retaining the data component to be screened corresponding to the component, and obtaining and outputting screened data after scanning.
5. The data screening apparatus of claim 1, wherein the data screening module further comprises a structure morphing unit for morphing a storage structure of the input data and/or the output data.
6. The data screening apparatus of claim 5, wherein the structural warping unit stretches the array into vectors or changes the vectors into an array.
7. The data screening apparatus of claim 1, wherein the I/O unit is configured to transfer the output data in the output data buffer unit to the storage unit.
8. The data screening apparatus of claim 1, wherein the storage unit is further configured to store the instruction;
the I/O unit is also used for carrying the instructions in the storage unit to the instruction cache unit;
the data screening unit is also used for receiving the operation microinstruction transmitted by the control unit, acquiring a data address from the register unit, taking the data transmitted by the input data cache unit as input data, screening the input data and transmitting the output data to the output data cache unit.
9. An electronic device comprising the data screening device of any one of claims 1 to 8.
10. A data screening method for performing data screening using the data screening apparatus according to any one of claims 1 to 8, comprising:
the storage unit stores data and instructions;
the register unit stores the data address in the storage unit;
the I/O unit carries the data stored in the storage unit to the input data buffer unit;
the input data cache unit stores the data carried by the I/O unit, and the instruction cache unit stores the instruction;
the data screening unit acquires a data address in the register unit; acquiring corresponding data in the input data cache unit according to the data address; screening the acquired data according to the instruction to obtain a data screening result as output data, and transmitting the output data to an output data cache unit, wherein the control unit reads the instruction from the instruction cache unit and decodes the instruction into an operation micro instruction to control the data screening unit to screen the acquired data;
the output data buffer unit stores the output data.
11. The data filtering method according to claim 10, wherein the input data includes data to be filtered and position information data, and the output data includes filtered data or filtered data and its related information.
12. The data screening method of claim 11, wherein the data to be screened is a vector or an array, and the position information data is a binary code, a vector or an array; the related information comprises vector length, array size and occupied space.
13. The data filtering method according to claim 11 or 12, wherein the data filtering unit scans each component of the position information data, deletes the component of the data to be filtered corresponding to the component if the component is 0, and retains the component of the data to be filtered corresponding to the component if the component is 1; or, if the component is 1, deleting the data component to be screened corresponding to the component, if the component is 0, retaining the data component to be screened corresponding to the component, and obtaining and outputting screened data after scanning.
14. The data screening method of claim 10, wherein the structure morphing unit morphs a storage structure of the input data and/or the output data.
15. The data screening method of claim 14, wherein the structure morphing unit stretches the array into vectors or changes the vectors into the array.
16. The data filtering method according to claim 10, wherein the I/O unit transfers the output data in the output data buffer unit to the storage unit.
17. The data screening method of claim 10,
the storage unit further stores the instruction;
the I/O unit also carries the instructions in the storage unit to the instruction cache unit;
the data screening unit also receives the operation microinstruction transmitted by the control unit and outputs the operation microinstruction
The register unit acquires a data address to take the data transmitted from the input data cache unit as input data, performs screening operation on the input data, and transmits the output data to the output data cache unit.
18. The data screening method of claim 10, wherein the data screening module obtaining the data address in the register unit comprises:
the data screening unit acquires the address of the data to be screened and the address of the position information data from the register unit.
19. The data screening method of claim 10, wherein the data screening module obtaining the corresponding data in the storage unit comprises: the I/O unit transmits the data to be screened and the position information data in the storage unit to the input data cache unit;
the input data cache unit transmits the data to be screened and the position information data to the data screening unit.
20. The data screening method of claim 10, wherein the data screening module performs a screening operation on the acquired data to obtain a data screening result, and the data screening method comprises: and the data screening unit is used for screening the data to be screened according to the position information data and transmitting the output data to the output data caching unit.
21. The data screening method according to claim 19 or 20,
the I/O unit transmits the data to be screened and the position information data in the storage unit to the input data cache unit, judges whether the storage structure is deformed or not,
if the data to be screened is not transmitted to the data screening unit, the input data caching unit directly transmits the data to be screened and the position information data to the data screening unit.
CN201710222232.5A 2017-04-06 2017-04-06 Data screening device and method Active CN108694181B (en)

Priority Applications (17)

Application Number Priority Date Filing Date Title
CN201710222232.5A CN108694181B (en) 2017-04-06 2017-04-06 Data screening device and method
PCT/CN2018/081929 WO2018184570A1 (en) 2017-04-06 2018-04-04 Operation apparatus and method
EP19199521.6A EP3620992B1 (en) 2017-04-06 2018-04-04 Neural network processor and neural network computation method
CN201811413244.7A CN109344965A (en) 2017-04-06 2018-04-04 Arithmetic unit and method
EP19199526.5A EP3633526A1 (en) 2017-04-06 2018-04-04 Computation device and method
EP24168317.6A EP4372620A2 (en) 2017-04-06 2018-04-04 Neural network processor and neural network computation method
CN201811423421.XA CN109359736A (en) 2017-04-06 2018-04-04 Network processing unit and network operations method
CN201811423295.8A CN109409515B (en) 2017-04-06 2018-04-04 Arithmetic device and method
EP19199524.0A EP3627437B1 (en) 2017-04-06 2018-04-04 Data screening device and method
CN201880001242.9A CN109219821B (en) 2017-04-06 2018-04-04 Arithmetic device and method
EP19199528.1A EP3624018B1 (en) 2017-04-06 2018-04-04 Neural network computation device and method
EP18780474.5A EP3579150B1 (en) 2017-04-06 2018-04-04 Operation apparatus and method for a neural network
US16/283,711 US10896369B2 (en) 2017-04-06 2019-02-22 Power conversion in neural networks
US16/520,041 US11551067B2 (en) 2017-04-06 2019-07-23 Neural network processor and neural network computation method
US16/520,082 US11010338B2 (en) 2017-04-06 2019-07-23 Data screening device and method
US16/520,615 US10671913B2 (en) 2017-04-06 2019-07-24 Computation device and method
US16/520,654 US11049002B2 (en) 2017-04-06 2019-07-24 Neural network computation device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710222232.5A CN108694181B (en) 2017-04-06 2017-04-06 Data screening device and method

Publications (2)

Publication Number Publication Date
CN108694181A CN108694181A (en) 2018-10-23
CN108694181B true CN108694181B (en) 2021-06-11

Family

ID=63842845

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710222232.5A Active CN108694181B (en) 2017-04-06 2017-04-06 Data screening device and method

Country Status (1)

Country Link
CN (1) CN108694181B (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5931945A (en) * 1994-04-29 1999-08-03 Sun Microsystems, Inc. Graphic system for masking multiple non-contiguous bytes having decode logic to selectively activate each of the control lines based on the mask register bits

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003025740A2 (en) * 2001-09-20 2003-03-27 Microchip Technology Incorported Serial communication device with dynamic filter allocation
JPWO2009001469A1 (en) * 2007-06-28 2010-08-26 富士通株式会社 Mobile device
CN104216922B (en) * 2013-06-05 2018-11-06 腾讯科技(深圳)有限公司 The method and device of data screening
CN104750758B (en) * 2013-12-31 2018-07-03 深圳航天东方红海特卫星有限公司 A kind of general parsing processing method and system of microsatellite test data bag
CN104836822B (en) * 2014-02-10 2019-04-26 腾讯科技(深圳)有限公司 Obtain downloading data method and device, the method and system of downloading data
CN106155946A (en) * 2015-03-30 2016-11-23 上海芯豪微电子有限公司 Information system based on information pushing and method
CN106371972B (en) * 2016-08-31 2019-04-05 天津国芯科技有限公司 For solving the method for monitoring bus and device of data consistency between main equipment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5931945A (en) * 1994-04-29 1999-08-03 Sun Microsystems, Inc. Graphic system for masking multiple non-contiguous bytes having decode logic to selectively activate each of the control lines based on the mask register bits

Also Published As

Publication number Publication date
CN108694181A (en) 2018-10-23

Similar Documents

Publication Publication Date Title
US11010338B2 (en) Data screening device and method
EP3627437B1 (en) Data screening device and method
CN108391060B (en) Image processing method, image processing device and terminal
US11455709B2 (en) Methods and systems for image processing
US10944914B1 (en) System and method for generating multi-exposure frames from single input
US20220222776A1 (en) Multi-Stage Multi-Reference Bootstrapping for Video Super-Resolution
US10979612B2 (en) Electronic device comprising plurality of cameras using rolling shutter mode
US10750195B2 (en) Electronic device and method for encoding image data therein
CN105141827B (en) Distortion correction method and terminal
US8412725B2 (en) Method for processing an object on a platform having one or more processors and memories, and platform using same
WO2016144578A1 (en) Methods and systems for generating enhanced images using multi-frame processing
US11182908B2 (en) Dense optical flow processing in a computer vision system
EP3335107A1 (en) Data reordering using buffers and memory
CN104853091A (en) Picture taking method and mobile terminal
US20200244875A1 (en) Electronic device and method for processing line data included in image frame data into multiple intervals
CN110766610B (en) Reconstruction method of super-resolution image and electronic equipment
CN108665415B (en) Image quality improving method and device based on deep learning
WO2019179342A1 (en) Image processing method, image processing device, image processing system and medium
CN110827336A (en) Image alignment method, device, equipment and storage medium
Yu et al. Luminance attentive networks for hdr image and panorama reconstruction
US20130243330A1 (en) Method and apparatus for constructing image blur pyramid, and an image feature extracting circuit
CN105227856A (en) A kind of method of image procossing and mobile terminal
CN108694181B (en) Data screening device and method
CN105516594A (en) Image shooting method and apparatus
CN114390219B (en) Shooting method, shooting device, electronic equipment and storage medium

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
GR01 Patent grant
GR01 Patent grant