OnQ Blog

What’s So Special about the Digital Signal Processor?

6. Dez. 2013

Qualcomm products mentioned within this post are offered by Qualcomm Technologies, Inc. and/or its subsidiaries.

Short answer: It’s an essential processing engine for mobile heterogeneous computing.

As discussed in my previous blog, the fundamental premise of heterogeneous computing is that running the appropriate task on the most suitable processing engine delivers performance and power benefits. I’ve described how having the right specialized processing engines, namely the CPU, GPU, and DSP, in the system-on-a-chip is key since it delivers the best user experience. So why is the DSP in particular so important? In a recent webinar, Qualcomm Technologies took a deep dive into DSPs and looked at the role they play in mobile heterogeneous computing. Here are my key takeaways.

The DSP plays a key role in mobile heterogeneous computing. New applications offer breakthrough experiences and increase our engagement with our mobile devices. Many of these experiences—such as sound and image enhancements as well as advanced camera and sensor capabilities—include signal-processing tasks that the DSP excels in executing at low power. And saving power not only extends the battery life of the mobile device, it also keeps your phone cooler and provides a better user experience.

A DSP architecture has unique benefits and is different from CPU and GPU architectures. As highlighted in the webinar, DSPs have a fundamentally different architecture than a CPU or GPU. As a result of the architectural decisions, DSPs have two key attributes:

  • DSPs maximize work per clock cycle. DSPs are designed to execute complex math in parallel, which is common in many signal processing applications. For example, the Hexagon DSP is able to execute the main Fast Fourier Transform (FFT) loop, which is 29 “simple reduced instruction set computing (RISC) operations,” in one clock cycle. By having hardware and an instruction set architecture (ISA) optimally designed for the FFT, the FFT is executed with higher performance in shorter time—and at lower energy. 
  • DSPs deliver high performance at lower clock frequencies, which saves power. Power is directly proportional to the clock frequency and voltage squared. To run the clock at a higher frequency requires a higher voltage, which leads to an exponential increase in power draw. For example, the Hexagon DSP is able to run at low clock frequencies while delivering high performance through hardware multi-threading, and by maximizing work per clock cycle.

Because of its unique architecture, the DSP has different strengths, which allow it to excel at different tasks. With the introduction of cameras and high-resolution displays, many new “vision” tasks have emerged.  Many of these vision tasks run at higher performance and lower power on a DSP compared to running on a single-core or quad-core CPU, as seen in the following charts. 


Not all DSPs are created equal. The Hexagon DSP from Qualcomm Technologies has an efficient mobile architecture that delivers the most performance per MHz. Looking at the benchmarking results from BDTI, the Hexagon DSP beats its most relevant mobile competitor.


The DSP architecture efficiently delivers the most performance per MHz because Qualcomm Technologies controls the Hexagon DSP ISA and custom designs the DSP specifically for mobile. This allows Qualcomm Technologies to:

  • Evolve the Hexagon DSP ISA for the expanding and evolving mobile use cases.
  • Deliver features when appropriate.
  • Carefully balance the DSP with the rest of the custom designed processing engines in the overall Snapdragon processor, leading to smart integration.

The Hexagon DSP enables rich user experiences. The Hexagon DSP started as a processing engine primarily used for voice and simple audio playback. The Hexagon DSP has expanded its role and is now used for a variety of use cases, such as image enhancement, computer vision, augmented reality, video processing, and sensor processing.  


Now you know why DSPs are so important. The Hexagon DSP goes a step further with a unique architecture that allows it to offer the required performance for emerging mobile experiences at low power. Be sure to check out the webinar for many more details.

Want to learn more? Look for future blogs and webinars to learn about Qualcomm’s view on mobile heterogeneous computing.

Pat Lawlor

Senior Manager, Technical Marketing

More articles from this author

About this author

Related News

OnQ

Heterogeneous Computing: An architecture and a technique

If you’re looking to create great mobile experiences, optimization isn’t optional: it’s a crucial step that helps transform good ideas into great execution. In our previous “Start Cooking with Heterogeneous Computing Tools on QDN” blog, we discussed the concept of heterogeneous computing and how it can help you get more from mobile hardware by sending computational tasks to the best suited processor. Heterogeneous computing is designed to help you achieve better application performance while improving thermal and power efficiency.

However, not all systems capable of heterogeneous computing are created equal and it’s important to understand why. Heterogeneous computing is both a computational technique and a hardware architecture. To achieve greater benefits, you are better served with hardware architected for heterogeneous computing from the ground up along with a software stack that facilitates heterogeneous computing techniques. It’s the combination of purpose-built hardware and a software stack offering granular control within a larger framework of system abstraction that allows for the deep optimizations that heterogeneous computing can deliver.

The Qualcomm Snapdragon Mobile Platform is designed on these principles. This starts with the microarchitecture – the choices made in platform circuitry that include how individual processors are engineered for high performance and how to optimize compute paths between the processors. Let’s look at the main components of the Snapdragon mobile platform and a few of the microarchitecture considerations that went into its design:

Qualcomm Kryo 280 CPU

Designed to handle complex workloads like web browsing and in-game artificial intelligence, the Kryo 280 features an octa-core processor with independent high efficiency and high performance core clusters. During normal operation, the high efficiency cores run most tasks while the high-performance cores activate for anything needing more power.

Qualcomm Hexagon 682 DSP

With the Hexagon wide Vector eXtensions (HVX), the Hexagon DSP excels at applications requiring heavy vector data processing, such as 6-DOF (or Degrees of Freedom) head motion tracking for virtual reality, image processing, and neural network computations. With a 1024-bit instruction word capability and dual execution of the control code processor and the computational code processor within the DSP, Hexagon can achieve breakthrough performance without draining system power.

Qualcomm Adreno 540 GPU

Ideal for arithmetic-heavy workloads that require substantial, parallel number crunching like 3D graphics rendering and camcorder image stabilization, the Adreno GPU is engineered to achieve improved power efficiency and 40% better performance than predecessors. Designed to deliver up to 25% faster graphics rendering and 60x more display colors compared to previous designs, the Adreno GPU supports real-life-quality visuals, and can perform stunning visual display feats like stitching together 4K 360 video in real time.

Heterogeneous computing in microarchitecture design

Beyond the performance enhancements among the individual processors, the Snapdragon mobile platform was designed to optimize the use of the processors together. For example, the Hexagon DSP can bypass DDR memory and the associated data shuffling CPU cycles by streaming data directly from sensors to the DSP cache. Similarly, the Adreno GPU supports 64-bit virtual addressing, allowing for shared virtual memory (SVM) and efficient co-processing with the Kryo CPU. These are just two of the microarchitecture design choices in the Snapdragon mobile platform that make it cutting-edge for heterogeneous computing.

Software

As we noted at the beginning of this post, heterogeneous computing is also a technique. And to truly support heterogeneous computing requires a software stack that provides developers the abstractions and the control to leverage the optimizations in the hardware per the requirements of their application.

To program the DSP or the GPU for heterogeneous computation, and to maximize their performance, developers can use the Qualcomm Hexagon SDK and the Qualcomm Adreno SDK, respectively. These SDKs open a toolbox of controls allowing for precision manipulation of data and computational resources.

For system-wide heterogeneous computing control, Qualcomm Symphony system manager SDK provides the software utilities designed to achieve better performance and lower power consumption from the Snapdragon mobile platform. Symphony is designed to manage the entire platform in different configurations so that the most efficient and effective combination of processors and specialized cores are chosen to get the job done as quickly as possible, with minimal power consumption.

On top of these SDKs it is possible for developers to build their applications directly – many developers opt for this route. However, there is a growing ecosystem of SDKs, frameworks and supporting libraries for accelerating development within a given application domain. Two examples of this are QDN's Adreno SDK for Vulkan for the Vulkan graphics API and our recently released Snapdragon VR SDK.

How to Put Heterogeneous Computing Techniques into Practice with Tools from Qualcomm Developer Network

Take advantage of the heterogeneous computing microarchitecture and software tools to get the most performance for your application using the Snapdragon mobile platform.

The Snapdragon mobile platform’s microarchitecture, software development kits and high-level frameworks layer upon each other to provide developers ultimate control of their application performance and power usage. This combination of hardware purposely designed for heterogeneous computing and software allowing the use of heterogeneous computing techniques is at the heart of delivering great user experiences.

Whether you’re a developer that has always written code that executes serially and are interested in how to push more work to other processors, or whether you already have heterogeneous computing know-how and want to use it more effectively – perhaps wanting precise control over the dynamic distribution of your workloads – visit QDN for the resources you need to level up your heterogeneous computing skills.

 

Qualcomm Snapdragon, Qualcomm Kryo, Qualcomm Hexagon and Qualcomm Adreno are products of Qualcomm Technologies, Inc.

 

23. Mrz. 2017