5
$\begingroup$

While talking about processor instruction set architecture (ISA) some of the popular terms that I came across "Supports DSP", "has DSP capability", "has DSP extensions". These words are more popular in the feature sets of ARM based cores.

I am of the impression that these terms refer to the extensive mul(multiplication), mac(multiply and accumulate), vectorization, SIMD, and other basic operations common in DSP in a general sense. I was wondering if there is any formal definition or class of instructions that fall under the umbrella of "DSP support".

Note: I believe that some chips / soc have specialized DSP units for carrying out signal processing and the above terms refer to the DSP unit in these cases sometimes. (though the main core might also have support for the "DSP extensions").

$\endgroup$

3 Answers 3

16
$\begingroup$

... is there is any formal definition or class of instructions that fall under the umbrella of "DSP support". ?

No. It's a marketing term than can mean anything "we had an intern coding a 3 tap FIR filter and it did indeed run" to "has multiple dedicated floating point DSPs on the silicon".

You need to look at the actual data sheets

In order of "value" "DSP support" can mean

  1. Nothing useful
  2. Supports standard DSP function through a library
  3. The library in step 2 is optimized for the specific processor
  4. The processor has native support for DSP-like instructions (circular buffers, read/write & increment, fast data access, single cycle mpy or mpy/add, etc.
  5. A separate core or processor with DSP centric instruction set that operates in parallel with the CPU (example NEON), this may or may not have parallel processing capability (example SIMD)
  6. One or more full blown DSP cores with local memory and high speed plumbing to the CPU and shared memory.(example HIFI 4)

Many of these features come in fixed point (16, 24, 32 bit) or floating point (32 bit) which may or may not matter for your application.

$\endgroup$
0
3
$\begingroup$

Marketing can and will write anything on any device. There's no definition you could trust here. You have to look at the actual components and features of these in these SoCs.

$\endgroup$
2
$\begingroup$

The accepted answer is correct in general, but I am going to guess that the place you actually saw this was on an ARM Cortex-M. In that context the "DSP extension" means that the processor implements ARMv7E-M instruction set rather than just ARMv7-M.

The difference is a few extra integer instructions. Some perform saturating arithmetic, and others perform single-instruction multiple-data (SIMD) actions, for example adding two 16-bit values to two other 16-bit, with each pair packed into a 32-bit general purpose register.

See the ARMv7M Architecture Reference Manual for more details.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.