What Is Dataflow Architecture?
The data flow structure can be represented by a data flow graph composed of nodes and directed arcs connecting the nodes. The nodes represent the operations or functions performed, and the directed arcs represent the order in which the nodes are executed. Generally, the data flow structure uses a five-tuple. (N, A, V, v0, f).
- The data flow structure can be represented by a data flow graph composed of nodes and directed arcs connecting the nodes. The nodes represent the operations or functions performed, and the directed arcs represent the order in which the nodes are executed. Generally, the data flow structure uses a five-tuple. (N, A, V, v 0 , f). Where: N = {n 1, n 2 , ..., n M } is a set of nodes, and A = {a 1 , a 2 , ..., a l } N × N is a set of arcs between nodes; V = { v 1 , v 2 , v L } V 1 × V 2 × × V L is the set of values represented by arc, v i V i is the value represented by arc a i ; v 0 V is arc Initial value; f = defines the functions realized by each node n i N, I (n i ) and O (n i ) are the values represented by the in-arc and out-arc on the node n i N, respectively.
- The data flow structure intuitively expresses mathematical formulas, which is very suitable for describing computationally intensive systems. In hardware implementation, in order to improve the throughput of the system, pipeline technology is often used, and the connected nodes use registers or first-in-first-out (
- To transform data flow diagrams into software structures, you need
- PetriNets is a structured and visual modeling method. It is a modeling tool. It is used to model a certain type of problem, that is, the problem of a discrete event system with parallel events, especially the relationship between events and conditions in the system. , Effectively describe the manufacturing system resource conflicts, deadlocks, buffer capacity and other issues. At present, PetriNets' application research in hardware design mainly focuses on the design and synthesis of asynchronous digital circuits and the performance evaluation of systems.
- PetriNets is generally used to establish the control model of the system, but the PetriNets model of the data flow structure is not a system calculation model and cannot be used to verify the function of the data flow structure. This model is just a time series model of the data flow structure, which mainly describes the state changes of each module in the data flow structure. By implementing the PetriNets model of the data flow structure, the actual state of each module in the data flow structure can be simulated to help optimize the data flow structure design. The hardware implementation of the data flow structure can be divided into the following five basic modules:
- (1) Two nodes are connected through a register.
- (2) 2 nodes are connected through FIFO.
- (3) The node has pipeline computing capabilities
- (4) Two data streams are aggregated to one node.
- (5) 1 node forks out 2 data streams.
- At present, PetriNets models corresponding to five basic modules are given. In the PetriNets model of these basic modules, the processing nodes are mapped to the changes of PetriNets, the connection register or FIFO is mapped to the position of PetriNets, and the data flow is mapped to the PetriNets token. Using these five basic models, it is possible to construct any complex data flow structure with a fixed composition. For the variable data flow structure, a structure called Propid is proposed. The structure consists of a coprocessor array, a programmable switching matrix, and a global controller. The output FIFO of any processing unit in the coprocessor array can be connected to the input FIFO of each other processing unit in the coprocessor array through a programmable switching matrix. The global controller controls the programmable switching matrix and changes the connection relationship of the coprocessor. Thereby, a variable data structure is realized. In fact, this data flow structure is more like a mixture of data flow structure and controller.
- Prophid structure is relatively regular and easy to implement in hardware, but requires an additional controller model. In the simulation phase, the variable data stream structure with certain changes can be realized by appropriate firing delay, which greatly simplifies the model establishment process, while the time series characteristics of the model remain basically unchanged.
- Software data flow structure design example
- For the sales management system, the data flow diagram is transformed into a software structure. In terms of its layered diagram, it can clearly show its four main functions: order processing, purchase processing, out-of-stock processing and sales statistics, all of which can be processed in parallel. Therefore, the overall analysis is designed according to the transaction type data flow diagram, and the function is used to select the four processing options.
- "Bluetooth" is a more standard way for short-range wireless interconnection in recent years. This mainly uses lower-end data communication and voice transmission occasions. Bluetooth works in the 2.4GHz open frequency band, which is also easier. Interference from other wireless devices using this band. Wirelessly transmitted data often contains error control techniques such as forward error control coding and cyclic redundancy code coding. Bluetooth also uses frequency hopping technology. This also makes the structure extremely complicated.
- Through the establishment of artificial intelligence software, the dynamic simulation of different data packets can be better packed, so that the Bluetooth packer can be better optimized in the data flow structure design.
- Data stream structure design refines the software at an early stage. It can be derived and implemented using different software structures, and then evaluated and compared to obtain better results. This optimization is effective for software structure design and process design. separate. The use of artificial intelligence software enables the software structure to be better developed and refined without the influence of time; it is also possible to carefully design and process some of the more time-consuming modules in the detailed design stage to achieve efficiency Improved; use high-level programming language to write programs; use artificial intelligence software to isolate a large number of occupied processor resources. [3]