A device performing a forward operation of a convolutional neural network, comprising an instruction storage unit, a controller unit, a data access unit, an interconnection module, a master operation module and a plurality of slave operation modules, wherein: the instruction storage unit reads instructions through the data access unit and stores the read instructions; the controller unit reads the instructions from the instruction storage unit to translate it into a control signal, wherein the control signal is configured to control the behavior of other modules including the data access unit, the master operation module and the plurality of slave operation modules; the data access unit accesses an address space external to the device, reads and writes data for loading and storing the data as input data; each slave operation module is used to implement the convolution operation of the input data and a respective convolution kernel in a convolutional neural network algorithm; the interconnection module is used for the data transmission between the master and the plurality of slave operation modules; wherein the interconnection module is an H tree module, which constitutes a data path between the master operation module and the plurality of slave operation modules; wherein the data path is a binary tree path formed by a plurality of nodes, wherein each node is configured to send an upstream data to its two downstream nodes, and to merge data returned by its two downstream nodes and return them to its upstream node; wherein prior to the forward propagation of a connected layer of the neural network: the master operation module transfers the input data from the data access unit to each slave operation module through the interconnection module; and after the calculation of each slave operation module is completed, the interconnection module combines level by level the output scalar data of each slave operation module into an intermediate vector and transfers it back to the master operation module; and the master operation module slices the intermediate vectors of all the input data into an intermediate result and performs a subsequent operation on the intermediate results. the instruction storage unit reads instructions through the data access unit and stores the read instructions; the controller unit reads the instructions from the instruction storage unit to translate it into a control signal, wherein the control signal is configured to control the behavior of other modules including the data access unit, the master operation module and the plurality of slave operation modules; the data access unit accesses an address space external to the device, reads and writes data for loading and storing the data as input data; each slave operation module is used to implement the convolution operation of the input data and a respective convolution kernel in a convolutional neural network algorithm; the interconnection module is used for the data transmission between the master and the plurality of slave operation modules; wherein the interconnection module is an H tree module, which constitutes a data path between the master operation module and the plurality of slave operation modules; wherein the data path is a binary tree path formed by a plurality of nodes, wherein each node is configured to send an upstream data to its two downstream nodes, and to merge data returned by its two downstream nodes and return them to its upstream node; wherein prior to the forward propagation of a connected layer of the neural network: the master operation module transfers the input data from the data access unit to each slave operation module through the interconnection module; and after the calculation of each slave operation module is completed, the interconnection module combines level by level the output scalar data of each slave operation module into an intermediate vector and transfers it back to the master operation module; and the master operation module slices the intermediate vectors of all the input data into an intermediate result and performs a subsequent operation on the intermediate results. the master operation module transfers the input data from the data access unit to each slave operation module through the interconnection module; and after the calculation of each slave operation module is completed, the interconnection module combines level by level the output scalar data of each slave operation module into an intermediate vector and transfers it back to the master operation module; and the master operation module slices the intermediate vectors of all the input data into an intermediate result and performs a subsequent operation on the intermediate results.