Portable handheld device with multi-core image processor
View Patent ↗A portable handheld device includes an image sensor for capturing an image; an orientation sensor for determining a rotation of the image sensor; and a system-on-chip processor having integrated on a common wafer a CPU for processing a script language, a multi-core processor for processing an image captured by the image sensor, and a common synchronization register. The multi-core processor includes multiple processing units connected in parallel by a crossbar switch. Each processing unit stores one or more synchronization bits for identifying which of the other processing units are functioning as a single process therewith. The common synchronization register contains therein synchronization bits from each of the processing units.
1. A device comprising:
an image sensor providing signals generating image data associated with an image; and
a processor having integrated on a common wafer a CPU, a multi-core processor for processing image data associated with the image, and a common synchronization register, wherein
the multi-core processor includes multiple processing units connected in parallel,
each of the multiple processing units storing one or more synchronization bits for identifying other processing units that are functioning together to process the image data therewith, and
the common synchronization register contains therein synchronization bits from each of the multiple processing units;
wherein the CPU is configured to load each of the multiple processing units with instructions; and
wherein the CPU is configured to write the synchronization bits from each of the multiple processing units to the common synchronization register upon completion of the loading of instructions to all of the multiple processing units.
2. A device as claimed in claim 1 , wherein each of the multiple processing units are configured to commence execution of the instructions loaded respectively therein by the CPU upon writing of the synchronization bits to the common synchronization register.
3. A device as claimed in claim 1 , wherein each of the multiple processing units further comprises an input buffer and an output buffer.
4. A device as claimed in claim 3 , wherein a first processing unit is configured to transmit a suspend-process signal to each of the multiple processing units including the first processing unit when the first processing unit is unable to read from or write to the input buffer and output buffer respectively.
5. A device as claimed in claim 4 , wherein each of the multiple processing units are configured to perform a logical AND of the suspend-process signal with respective synchronization bits.
6. A device as claimed in claim 4 , wherein each of the multiple processing units comprises a state machine for executing the instructions loaded therein by the CPU, and each state machine of a processing unit receiving a non-zero result of a logical AND is configured to re-execute a current instruction until a zero result is obtained.
7. A device as claimed in claim 1 , wherein the multiple processing units are connected in parallel by a crossbar switch.
8. A device as claimed in claim 1 , further comprising an orientation sensor providing signals generating rotational data for determining a rotation of the image sensor.