CN108694181B - Data screening device and method - Google Patents
Data screening device and method Download PDFInfo
- 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
Links
- 238000012216 screening Methods 0.000 title claims abstract description 118
- 238000000034 method Methods 0.000 title claims abstract description 27
- 239000013598 vector Substances 0.000 claims description 58
- 238000001914 filtration Methods 0.000 claims description 31
- 238000012546 transfer Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 4
- 230000000717 retained effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000005481 NMR spectroscopy Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30025—Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30083—Power or thermal control instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction 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
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 arrayThe even number value needs to be screened, then the input position information array isThe 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.
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)
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)
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 |
-
2017
- 2017-04-06 CN CN201710222232.5A patent/CN108694181B/en active Active
Patent Citations (1)
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 |