Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

ARM core Matrix Mult Ops vs DSP core?

Hello to the community,

Longer question is below but the shorter question is: I was looking through the OpenCV documentation and I was not able to find which SOC's or micro-controllers, used in embedded systems, are best suited to the mathematical operations (matrix mult and FFT) in image processing and general DSP. Is there such information?

Now the back story.

I am an older guy who started out his EE career working in the image processing industry, where image manipulation was done with multiple 3x3 convolutions (it took 9 home made MACs, multiplier accumulators). Then, as hardware became increasingly dense and fast, the FFT became usable and integer multiplication went out of fashion while floating point multiplication was in vogue.

I left that part of the industry over 30 years ago. Coming back into it as I am working on a development board for using and optimizing image processing tasks.

Just started looking at OpenCV. I realize that OpenCV is an attempt to create an abstraction layer between the operating system and the user application but when I look at ARM core's, considering embedded systems, I make the assumption (I could be wrong) that they are not really equipped for doing complex MULT operations, and primarily do integer math. In my mind, this limitation would necessitate large execution times for even simple matrix multiplication operations. Just thinking of comparing multiple frames of video in real time for motion detection, ARM cores seem underpowered.

I have seen SOC's such as from TI like the AM57x family, which contain a DSP core as well as the ARM core. I would imagine that these SOC's have superior ability to do DSP/Image processing functions. The difference must be stunning.

Is it that these days, most DSP microcontrollers also include an ARM core for running an operating system such as a linux derivitive? Such was not the case in "my day" where the venerable Motorola 56000 series and the TI TMS320 series processors did not contain ARM cores because they had not been developed yet (yes, I actually wrote programs in 56002 assembly... but that was ages ago).

Thank You for reading this. Tom