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.
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?
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:
Four instructions per packet
Software cache pre-fetching
Has its own L2 cache – can avoid polluting Qualcomm® Krait™ CPU’s one.
Floating point operations
Complex variable arithmetic
MMU with address translation and protection (virtual memory)
Supporting Linux, Real-Time OS, etc.
Hardware loops
Circular addressing modes
MAC (Sixteen 8×8, eight 16x16m quad 16×32, dual 32×32, dual single precision FP)
Dual 64-bit load/store
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:
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.
Sensor signal processing – all the sensor’s signal streams (Gyro, Accelerometer, pressure, etc …) are supported through a SensorHub framework, which is running on QuRT.
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.
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
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, Lantronix offers several development kits supporting these technologies. Lantronix 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. Lantronix has helped many customers develop successful DSP-based solutions for their products.
For more information about Lantronix’ services, please see our website: https://www.lantronix.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.