This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

How to compare ARM v.s. DSP?

Other Parts Discussed in Thread: OMAP3530

How to compare ARM processor and DSP in a high level? E.g., OMAP3530 has both ARM based on the cortex-A8 architecture and DSP based on the C64x+, how to compare the pros and cons of them in terms of computation ability, floating point support, branching handling ......?

 

  • Hi Beaver,

        The most important difference at a high-level is really in the support software.  The ARM is supported with OSes like Linux and WinCE and tools like CodeSourcery, so it is easier to port most existing software to this environment, rather than the DSP.

       In terms of differences in floating point support; the C64x+ is a fixed point DSP, but the VFP/NEON core on the ARM supports both single and double precision floating point.

    The main advantage of the DSP is its ability to run performance critical tasks in parallel with the ARM, for tasks that warrant the software development effort to use it.

     

    Regards, Clay

  • Thank you for your reply.  In terms of branching handling, is there any superiority from ARM compared with DSP?  E.g., the intensively use of if-then-else statement in the DSP code need more work to optimize in software.  For ARM achitecture, is there any hardware superiority in handling such problem?

  • Beaver,

     

        The Cortex-A8 has some architectural features that help a lot with conditional branches.  The ARM instruction coding has a conditional execution flag that the compilers will use to skip a small number of instructions after a conditional branch and thereby eliminate the branch entirely.  The Cortex-A8 also has an improved branch prediction algorithm that remembers previous resolutions of previous branches.  These features are probably superior to the DSP, but I am not a DSP expert.  You can read more about it here:

     

    http://processors.wiki.ti.com/index.php/Cortex-A8_Features

     

    http://processors.wiki.ti.com/index.php/Cortex_A8

     

    http://processors.wiki.ti.com/index.php/Codec_Engine_FAQ

     

    http://processors.wiki.ti.com/index.php/Code_Generation_Tools_FAQ

     


    Regards, Clay