1. A portable imaging device, comprising: an image sensor configured to generate signals carrying data relating to an image sensed by the image sensor; a processor configured for processing the data relating to the image sensed by the image sensor; a multi-core processing unit provided in the processor, the multi-core processing unit having a plurality of processing units connected in parallel by a crossbar switch; an image sensor interface for converting the signals to a format readable by the multi-core processing unit and providing control information to the image sensor, the image sensor interface sharing a wafer substrate with the processors; a data cache connected to the plurality of processing units via a plurality of buses separate from the crossbar switch; and an external memory configured to store the data relating to the image sensed by the image sensor, wherein: a transfer of data from the image sensor interface to the plurality of processing units is conducted entirely on the shared wafer substrate, each of the plurality of processing units includes two I/O address generators, and each I/O address generator of the two I/O address generators is connected to a respective one of the plurality of buses, and the two I/O address generators of each of the plurality of processing units are configured to control a transfer of the data from the image sensor interface to and from the external memory.