Using the Qualcomm® Hexagon™ DSP with Qualcomm® Snapdragon™ SOCs

Most of Qualcomm’s Snapdragon System on Chips (SOCs) are heterogeneous, meaning that in addition to the main multi-core ARM CPU(s), there are additional processing units working as co-processors for the main cores. These processors have different architectures from the ARM-based cores. One of the purposes of having heterogeneous SOCs is to assign the most efficient processing responsibility to the appropriate type of processor.

The Hexagon DSP is one of those SOC-based processors and is designed for digital signal processing. Any digital signal that needs to be processed in a low power environment can be assigned to this processor (from voice/modem features to sensors and computer vision applications).

The Audio DSP (aDSP) is a Hexagon DSP on SOCs such as the APQ8094 and MSM8994. The typical main job for this DSP is to process audio/voice signals and this can be done even while main ARM cores are in low power sleep modes. As this DSP is designed for digital signal processing, it can execute many processing algorithms with low number of instructions. Furthermore, because the DSP runs at a lower clock frequency than the SOC ARM cores, you can achieve significant reduction in power consumption. It is also can be used for image processing purposes to offload the main ARM cores. Besides reducing load on ARM (thus enabling resources for complex ARM-based applications and UI), you can save power by processing digital signals in a DSP that can be more efficient at such tasks.

Figure 1, shows power consumption differences for the same computer vision algorithms on ARM (Neon)/DSP.

dsp_chart
Figure 1 – Power consumption ARM(Neon) vs DSP

As an example above, you can see algorithms like fcvScaleDownBy4u8, which scales down the input image, consumes almost 1/3 of power when executed on Hexagon DSP. Power is one of the main concerns on all mobile and many embedded platforms.

Some SOCs are also equipped with a modem DSP, which is another Hexagon DSP, for customized signal processing. In other words, you can realize even greater computational power with lower power consumption.

 

 

What is special about the Hexagon DSP?

heaxagon_cpu

Hexagon DSP is a three hardware thread processor. (Figure 2)

Figure 2 – Hexagon architecture
The hardware threads are controlled in DMT (Dynamic Multi Thread) fashion and each of them has their own stack, pipeline, register bank and ALUs.

The Hexagon DSP is capable of:

[ul type=”arrow”][li]Four instructions per packet[/li][li]Software cache pre-fetching[/li][li]Has its own L2 cache – can avoid polluting Qualcomm® Krait™ CPU’s one.[/li][li]Floating point operations[/li][li]Complex variable arithmetic[/li][li]MMU with address translation and protection (virtual memory)[/li][li]Supporting Linux, Real-Time OS, etc.[/li][li]Hardware loops[/li][li]Circular addressing modes[/li][li]MAC (Sixteen 8×8, eight 16x16m quad 16×32, dual 32×32, dual single precision FP)[/li][li]Dual 64-bit load/store[/li][/ul]

 

How and where can I use a Hexagon DSP?
aDSP on Snapdragon platforms run its own OS, called QuRT™. Currently the aDSP is used for:
[ul type=”arrow”][li]Audio/voice processing – all the audio streams will pass through and be processed by the aDSP which will pass audio to the ARM. Elite is the framework that runs on QuRT and is responsible for audio processing on the DSP. This can include noise cancellation, echo cancellation, and directional audio detection algorithms involving multiple microphones.[/li][li]Sensor signal processing – all the sensor’s signal streams (Gyro, Accelerometer, pressure, etc …) are supported through a SensorHub framework, which is running on QuRT.[/li][li]Some of the image and network’s signal processing algorithms are run on the DSP, using FastRPC remote procedure call techniques. On some platforms you can use additional Hexagon DSPs (modem DSP – mDSP) for FastRPC processing too.[/li][/ul]

A Hexagon SDK is provided by Qualcomm to help users design and develop many kinds of processing modules using any of the above approaches.

 

To conclude, we summarize the benefit of using a DSP in Figure 3

 

file

Figure 3 – Benefits of using DSP

 

More information on the Hexagon DSP and SDK from Qualcomm is available here: https://developer.qualcomm.com/software/hexagon-dsp-sdk/dsp-processor

As a Qualcomm licensee for Snapdragon and Hexagon DSP technologies and, authorized Hexagon development partner, Intrinsyc offers several development kits supporting these technologies. Intrinsyc Technologies Corporation offers services to help you ramp up with Hexagon DSP development from basic training through to custom design services for both hardware and software development. Intrinsyc has helped many customers develop successful DSP-based solutions for their products.

 

For more information about Intrinsyc’s services, please see our website: https://www2.intrinsyc.com

Qualcomm Snapdragon, Qualcomm Krait, Qualcomm Hexagon and QuRT are products of Qualcomm Technologies, Inc.
Qualcomm, Snapdragon and Hexagon are trademarks of Qualcomm Incorporated, registered in the United States and other countries. Krait and QuRT are trademarks of Qualcomm Incorporated.