Qualcomm_Hexagon

Qualcomm Hexagon

Qualcomm Hexagon

Family of digital signal processor microprocessors


Hexagon is the brand name for a family of digital signal processor (DSP) products by Qualcomm. Hexagon is also known as QDSP6, standing for “sixth generation digital signal processor.” According to Qualcomm, the Hexagon architecture is designed to deliver performance with low power over a variety of applications.[2][3]

Quick Facts Designer, Bits ...

Each version of Hexagon has an instruction set and a micro-architecture. These two features are intimately related.

Hexagon is used in Qualcomm Snapdragon chips, for example in smartphones, cars, wearable devices and other mobile devices and is also used in components of cellular phone networks.

Instruction set architecture

Computing devices have instruction sets, which are their lowest, most primitive languages. Common instructions are those which cause two numbers to be added, multiplied or combined in other ways, as well as instructions that direct the processor where to look in memory for its next instruction. There are many other types of instructions.

Assemblers and compilers that translate computer programs into streams of instructions – bit streams - that the device can understand and carry out (execute). As an instruction stream executes, the integrity of system function is supported by the use of instruction privilege levels. Privileged instructions have access to more resources in the device, including memory. Hexagon supports privilege levels.

Originally, Hexagon instructions operated on integer numbers but not floating point numbers,[4] but in v5 floating point support was added.[5]

The processing unit which handles execution of instructions is capable of in-order dispatching up to 4 instructions (the packet) to 4 Execution Units every clock.[6][7]

Micro-architecture

Micro-architecture is the physical structure of a chip or chip component that makes it possible for a device to carry out the instructions. A given instruction set can be implemented by a variety of micro-architectures. The buses – data transfer channels – for Hexagon devices are 32 bits wide. That is, 32 bits of data can be moved from one part of the chip to another in a single step. The Hexagon micro-architecture is multi-threaded,[3] which means that it can simultaneously process more than one stream of instructions, enhancing data processing speed. Hexagon supports very long instruction words,[8][9] which are groupings of four instructions that can be executed “in parallel.” Parallel execution means that multiple instructions can run simultaneously without one instruction having to complete before the next one starts. The Hexagon micro-architecture supports single instruction, multiple data operations,[10] which means that when a Hexagon device receives an instruction, it can carry out the operation on more than one piece of data at the same time.

According to 2012 estimation, Qualcomm shipped 1.2 billion DSP cores inside its system on a chip (SoCs) (average 2.3 DSP core per SoC) in 2011, and 1.5 billion cores were planned for 2012, making the QDSP6 the most shipped architecture of DSP[11] (CEVA had around 1 billion of DSP cores shipped in 2011 with 90% of IP-licensable DSP market[12]).

The Hexagon architecture is designed to deliver performance with low power over a variety of applications. It has features such as hardware assisted multithreading, privilege levels, Very Long Instruction Word (VLIW), Single Instruction Multiple Data (SIMD),[13][14] and instructions geared toward efficient signal processing. Hardware multithreading is implemented as barrel temporal multithreading - threads are switched in round-robin fashion each cycle, so the 600 MHz physical core is presented as three logical 200 MHz cores before V5.[15][16] Hexagon V5 switched to dynamic multithreading (DMT) with thread switch on L2 misses, interrupt waiting or on special instructions.[16][17]

At Hot Chips 2013 Qualcomm announced details of their Hexagon 680 DSP. Qualcomm announced Hexagon Vector Extensions (HVX). HVX is designed to allow significant compute workloads for advanced imaging and computer vision to be processed on the DSP instead of the CPU.[18] In March 2015 Qualcomm announced their Snapdragon Neural Processing Engine SDK which allow AI acceleration using the CPU, GPU and Hexagon DSP.[19]

Qualcomm's Snapdragon 855 contains their 4th generation on-device AI engine, which includes the Hexagon 690 DSP and Hexagon Tensor Accelerator (HTA) for AI acceleration.[20] Snapdragon 865 contains the 5th generation on-device AI engine based on the Hexagon 698 DSP capable of 15 trillion operations per second (TOPS).[21] Snapdragon 888 contains the 6th generation on-device AI engine based on the Hexagon 780 DSP capable of 26 TOPS.[22] Snapdragon 8 contains the 7th generation on-device AI engine based on the Hexagon DSP capable of 52 TOPS and up to 104 TOPS in some cases.[23]

Software support

Operating systems

The port of Linux for Hexagon runs under a hypervisor layer ("Hexagon Virtual Machine"[24]) and was merged with the 3.2 release of the kernel.[25][26] The original hypervisor is closed-source, and in April 2013 a minimal open-source hypervisor implementation for QDSP6 V2 and V3, the "Hexagon MiniVM" was released by Qualcomm under a BSD-style license.[27][28]

Compilers

Support for Hexagon was added in 3.1 release of LLVM by Tony Linthicum.[29] Hexagon/HVX V66 ISA support was added in 8.0.0 release of LLVM.[30] There is also a non-FSF maintained branch of GCC and binutils.[31]

Adoption of the SIP block

Qualcomm Hexagon DSPs have been available in Qualcomm Snapdragon SoC since 2006.[32][33] In Snapdragon S4 (MSM8960 and newer) there are three QDSP cores, two in the Modem subsystem and one Hexagon core in the Multimedia subsystem. Modem cores are programmed by Qualcomm only, and only Multimedia core is allowed to be programmed by user.

They are also used in some femtocell processors of Qualcomm, including FSM98xx, FSM99xx and FSM90xx.[34]

Third-party integration

In March 2016, it was announced that semiconductor company Conexant's AudioSmart audio processing software was being integrated into Qualcomm's Hexagon.[35]

In May 2018 wolfSSL added support for using Qualcomm Hexagon.[36] This is support for running wolfSSL crypto operations on the DSP. In addition to use of crypto operations a specialized operation load management library was later added.

Versions

There are six versions of QDSP6 architecture released: V1 (2006), V2 (2007–2008), V3 (2009), V4 (2010–2011), QDSP6 V5 (2013, in Snapdragon 800[37]); and QDSP6 V6 (2016, in Snapdragon 820).[33] V4 has 20 DMIPS per milliwatt, operating at 500 MHz.[32][33] Clock speed of Hexagon varies in 400–2000 MHz for QDSP6 and in 256–350 MHz for previous generation of the architecture, the QDSP5.[38]

More information Versions of QDSP6, Process node, nm ...

Availability in Snapdragon products

Both Hexagon (QDSP6) and pre-Hexagon (QDSP5) cores are used in modern Qualcomm SoCs, QDSP5 mostly in low-end products. Modem QDSPs (often pre-Hexagon) are not shown in the table.

QDSP5 usage:

More information Snapdragon generation, Chipset (SoC) ID ...

QDSP6 (Hexagon) usage:

More information Snapdragon generation, Chipset (SoC) ID ...

Hardware codec supported

The different video codecs supported by the Snapdragon SoCs.

D - decode; E - encode

FHD = FullHD = 1080p = 1920x1080px

HD = 720p which can be 1366x768px or 1280x720px

Snapdragon 200 series

The different video codecs supported by the Snapdragon 200 series.

More information Codec, Snapdragon 200 ...

Snapdragon 400 series

The different video codecs supported by the Snapdragon 400 series.

More information Codec, Snapdragon 400 ...

Snapdragon 600 series

The different video codecs supported by the Snapdragon 600 series.

More information Codec, Snapdragon 600 ...

Snapdragon 700 series

The different video codecs supported by the Snapdragon 700 series.

More information Codec, Snapdragon 710/712 ...

Snapdragon 800 series

The different video codecs supported by the Snapdragon 800 series.

More information Codec, Snapdragon 800 ...

Code sample

This is a single instruction packet from the inner loop of a FFT:[7][17]

{ R17:16 = MEMD(R0++M1)
  MEMD(R6++M1) = R25:24
  R20 = CMPY(R20, R8):<<1:rnd:sat
  R11:10 = VADDH(R11:10, R13:12)
}:endloop0

This packet is claimed by Qualcomm to be equal to 29 classic RISC operations; it includes vector add (4x 16-bit), complex multiply operation and hardware loop support. All instructions of the packet are done in the same cycle.

See also


References

  1. Baseband exploitation in 2013: Hexagon challenges Archived December 24, 2013, at the Wayback Machine /Ralf-Philipp Weinmann Pacsec 20132013-11-14, Tokyo, Japan: "32-bit unified address space for code and data – Byte addressable; 32 General registers (32-bit) – also usable pairwise: 64-bit register pairs"
  2. "Hexagon DSP SDK". Qualcomm Developer Network. Retrieved 2021-01-14.
  3. "Hexagon DSP SDK Processor". Qualcomm Developer Network. Retrieved 2021-01-14.
  4. Humrick, Matt. "Qualcomm Details Snapdragon 835: Kryo 280 CPU, Adreno 540 GPU, X16 LTE". www.anandtech.com. Retrieved 2021-01-14.
  5. Group, Lindley. "Microprocessor Report" (PDF).
  6. "Rob Landley's Blog Thing for 2012". Landley.net. Retrieved 2012-10-19.
  7. Porting LLVM to a Next Generation DSP, L. Taylor Simpson (Qualcomm) // LLVM Developers’ Meeting: 11/18/2011
  8. "Hexagon - Microarchitectures - Qualcomm - WikiChip". en.wikichip.org. Retrieved 2021-01-14.
  9. Will Strauss, Forward Concepts. Wireless/DSP Market Bulletin: Qualcomm Leads in Global DSP Silicon Shipments Archived May 28, 2013, at the Wayback Machine // Forward Concepts: "In calendar year 2011, Qualcomm shipped a reported 521 million MSM chip shipments and we estimate that an average of 2.3 of its DSP cores in each unit resulted in 1.2 billion DSPs shipped in silicon. This (calendar) year, we estimate that the company will ship an average of 2.4 DSP cores with each (more complex) MSM chip."
  10. Hexagon v2 Programmers Reference
  11. Lucian Codrescu (Qualcomm) (March–April 2014). "Hexagon DSP: An Architecture Optimized for Mobile Multimedia and Communications" (PDF). IEEE Micro 34.2. pp. 34–43.
  12. Faster 128-EEA3 and 128-EIA3 Software, Roberto Avanzi and Billy Bob Brumley (Qualcomm Research), Cryptology ePrint Archive: Report 2013/428, 2 Jul 2013. Page 9.
  13. Lucian Codrescu (Qualcomm) (August 2013). "Qualcomm Hexagon DSP: An architecture optimized for mobile multimedia and communications" (PDF). Palo Alto, CA: Hot Chips 25.
  14. Ho, Joshua. "Qualcomm Details Hexagon 680 DSP in Snapdragon 820: Accelerated Imaging". www.anandtech.com. Retrieved 2019-05-12.
  15. "On-Device AI with Qualcomm Snapdragon Neural Processing Engine SDK". Qualcomm Developer Network. Retrieved 2019-05-12.
  16. "Snapdragon 8 Gen 1 Mobile Platform". Qualcomm. 2020-12-01. Retrieved 2023-05-14.
  17. "3.2 merge window, part 1". lwn.net. Retrieved 2012-10-19.
  18. Linux Kernel 3.2 Release Notes "1.4. New architecture: Hexagon"
  19. Richard Kuo, Hexagon MiniVM // linux.ports.hexagon, 25 Apr 2013
  20. Hexagon MiniVM // CodeAurora (Qualcomm)
  21. "LLVM 3.1 Release Notes". Llvm.org. 2012-05-15. Retrieved 2012-10-19.
  22. "LLVM 8.0.0 Release Notes". Llvm.org. 2019-03-20. Retrieved 2019-04-03.
  23. Qualcomm Announces Its 2012 Superchip: 28nm Snapdragon S4, 10/12/2011 by John Oram. Quote: "Hexagon DSPs have been in Snapdragon chips since 2006."
  24. Qualcomm Aims Hexagon at Femtocells, October 31, 2011. Linley Gwennap// Linley WIRE
  25. "Qualcomm to Integrate Conexant AudioSmart into Hexagon DSPs". Speech Tech Magazine. 2016-03-01. Retrieved 2016-03-11.
  26. "wolfSSL Use With Hexagon Toolchain". wolfSLS. 2018-05-18. Retrieved 2020-07-10.
  27. "List of Snapdragon SoCs" (PDF). Developer.qualcomm.com. Archived from the original (PDF) on 2012-10-26. Retrieved 2012-10-19.
  28. Hruska, Joel (25 August 2015). "Qualcomm's new Hexagon 680 DSP: Fast, efficient, shipping with Snapdragon 820 - ExtremeTech". Extremetech. Retrieved 2022-06-10.
  29. "Snapdragon 200 Processor". Qualcomm. October 2, 2018. Archived from the original on June 30, 2018. Retrieved June 30, 2018.
  30. "Qualcomm 205 Mobile Platform". Qualcomm. Archived from the original on March 20, 2017. Retrieved March 20, 2017.
  31. "Qualcomm unveils the Snapdragon 210 and 208 processors". Qualcomm. 9 September 2014. Archived from the original on February 25, 2016. Retrieved February 19, 2016.
  32. "Snapdragon 412 and 212 processors announced". Qualcomm. July 28, 2015. Archived from the original on February 25, 2016. Retrieved February 18, 2016.
  33. "Snapdragon 400 Processor". Qualcomm. Archived from the original on November 26, 2016. Retrieved November 17, 2016.
  34. "Snapdragon 415 Processor". Qualcomm. Archived from the original on June 30, 2015. Retrieved June 28, 2015.
  35. "Introducing Snapdragon 632, 439 and 429 for enhanced mobile experiences, superior performance". Qualcomm. 26 June 2018. Archived from the original on June 27, 2018. Retrieved June 27, 2018.
  36. "Snapdragon 460 Mobile Platform | Qualcomm". www.qualcomm.com. 14 January 2020. Retrieved 2020-09-08.
  37. "Qualcomm Snapdragon 480 5G Mobile Platform | Qualcomm". www.qualcomm.com. 11 December 2020. Retrieved 2021-01-19.
  38. "Snapdragon 600 tier processors repositioned to reflect advanced performance". Qualcomm. December 2015. Archived from the original on December 22, 2015. Retrieved December 17, 2015.
  39. "Snapdragon 610 Processor". Qualcomm. Archived from the original on November 4, 2016. Retrieved November 16, 2016.
  40. "Snapdragon 662 Mobile Platform". Qualcomm. 14 January 2020. Archived from the original on January 10, 2021. Retrieved February 15, 2021.
  41. "Snapdragon 665 Mobile Platform". Qualcomm. 27 March 2019. Archived from the original on December 4, 2020. Retrieved February 15, 2021.
  42. "Snapdragon 670 Mobile Platform | Qualcomm". www.qualcomm.com. 2 October 2018. Retrieved 2020-09-07.
  43. "Snapdragon 690 5G Mobile Platform". Qualcomm. 2 June 2020. Archived from the original on January 25, 2021. Retrieved February 15, 2021.
  44. Kodi Codec SoC Hardware-Support, archived from the original on January 30, 2018, retrieved 2018-01-30
  45. "Snapdragon 630 Mobile Platform with X12 LTE and Spectra 160 ISP | Qualcomm". Qualcomm. Archived from the original on June 21, 2018. Retrieved June 21, 2018.
  46. "Snapdragon 660 Mobile Platform with Spectra ISP and Hexagon 680 DSP | Qualcomm". Qualcomm. Archived from the original on June 21, 2018. Retrieved June 21, 2018.
  47. "Snapdragon 710 Mobile Platform". Qualcomm. Archived from the original on May 24, 2018. Retrieved May 24, 2018.
  48. "Snapdragon 712 Mobile Platform | Qualcomm". www.qualcomm.com. 22 January 2019. Retrieved 2020-09-08.
  49. "Snapdragon 720G Mobile Platform". Qualcomm. 14 January 2020. Archived from the original on March 11, 2020. Retrieved January 21, 2020.
  50. "Snapdragon 730 Mobile Platform | Qualcomm". www.qualcomm.com. 13 March 2019. Retrieved 2020-09-08.
  51. "Snapdragon 732G Mobile Platform | Qualcomm". www.qualcomm.com. 17 August 2020. Retrieved 2020-09-08.
  52. "Snapdragon 765 5G Mobile Platform | Qualcomm". www.qualcomm.com. 19 November 2019. Retrieved 2020-09-08.
  53. "Snapdragon 768G 5G Mobile Platform | Qualcomm". www.qualcomm.com. May 2020. Retrieved 2020-09-08.
  54. "Snapdragon 778G 5G Mobile Platform". www.qualcomm.com. Retrieved 2021-11-21.
  55. "Snapdragon 780G 5G Mobile Platform". www.qualcomm.com. Retrieved 2021-11-22.
  56. Shimpi, Anand Lal. "The Difference Between Snapdragon 800 and 801: Clearing up Confusion". Archived from the original on June 15, 2018. Retrieved June 15, 2018.
  57. "Qualcomm Technologies Announces Next Generation Qualcomm Snapdragon 805 "Ultra HD" Processor". Qualcomm. 20 November 2013. Archived from the original on February 25, 2016. Retrieved February 19, 2016.
  58. "Qualcomm's Snapdragon 808/810". Archived from the original on April 8, 2014. Retrieved April 7, 2014.
  59. First Snapdragon 820 powered smartphone announced at CES Archived January 5, 2017, at the Wayback Machine – Qualcomm.com, January 5, 2016
  60. "Snapdragon 835 Mobile Platform". Qualcomm. Archived from the original on September 17, 2018. Retrieved February 20, 2018.
  61. "Snapdragon 845 Mobile Platform". Qualcomm. Archived from the original on December 7, 2017. Retrieved December 6, 2017.
  62. "Snapdragon 855 Mobile Platform". Qualcomm. 7 November 2018. Archived from the original on December 7, 2018. Retrieved December 6, 2018.
  63. "Snapdragon 865 5G Mobile Platform". Qualcomm. 19 November 2019. Archived from the original on December 4, 2019. Retrieved December 4, 2019.
  64. "Snapdragon 888 5G Mobile Platform". Qualcomm. 17 November 2020. Archived from the original on January 28, 2021. Retrieved February 15, 2021.
  65. "How Qualcomm improved Performance, Gaming, and AI on the Snapdragon 855". xda-developers. 2018-12-05. Archived from the original on December 6, 2018. Retrieved 2018-12-06.
  66. Snapdragon 820 (2016). "Snapdragon 820 product brief".{{cite web}}: CS1 maint: numeric names: authors list (link)
  67. "snapdragon-820-processor-product-brief.pdf | Graphics Processing Unit | Electronics". Scribd. Archived from the original on December 30, 2018. Retrieved June 20, 2018.
  68. "Qualcomm Spectra 380 Launched: World's First ISP With Integrated AI". xda-developers. 2018-12-05. Archived from the original on December 6, 2018. Retrieved 2018-12-06.
  69. "Product Brief Snapdragon 845" (PDF). Qualcomm. 2018. Archived (PDF) from the original on June 12, 2018. Retrieved June 12, 2018.
  70. "Product Brief Snapdragon 845" (PDF). Qualcomm. 2018. Archived (PDF) from the original on June 12, 2018. Retrieved June 12, 2018.

Share this article:

This article uses material from the Wikipedia article Qualcomm_Hexagon, and is written by contributors. Text is available under a CC BY-SA 4.0 International License; additional terms may apply. Images, videos and audio are available under their respective licenses.