Qualcomm Hexagon

Family of digital signal processor microprocessors From Wikipedia, the free encyclopedia

Hexagon is the brand name for a family of digital signal processor (DSP) and later neural processing unit (NPU) products by Qualcomm.[2] 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.[3][4]

Quick Facts Designer, Bits ...
Hexagon
DesignerQualcomm
Bits32-bit, 64-bit
Introduced2006 (QDSP6)
Design4-way multithreaded VLIW
TypeLoad–store
EncodingFixed 4 byte per instruction, up to 4 instructions in VLIW multiinstruction
OpenProprietary
Registers
General-purpose32-bit GPR: 32, can be paired to 64-bit[1]
Close

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,[5] but in v5 floating point support was added.[6]

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.[7][8]

Micro-architecture

Summarize
Perspective

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,[4] which means that it can simultaneously process more than one stream of instructions, enhancing data processing speed. Hexagon supports very long instruction words,[9][10] 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,[11] 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[12] (CEVA had around 1 billion of DSP cores shipped in 2011 with 90% of IP-licensable DSP market[13]).

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),[14][15] 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.[16][17] Hexagon V5 switched to dynamic multithreading (DMT) with thread switch on L2 misses, interrupt waiting or on special instructions.[17][18]

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.[19] In March 2015 Qualcomm announced their Snapdragon Neural Processing Engine SDK which allow AI acceleration using the CPU, GPU and Hexagon DSP.[20]

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.[21] Snapdragon 865 contains the 5th generation on-device AI engine based on the Hexagon 698 DSP capable of 15 trillion operations per second (TOPS).[22] Snapdragon 888 contains the 6th generation on-device AI engine based on the Hexagon 780 DSP capable of 26 TOPS.[23] 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.[24]

Software support

Operating systems

The port of Linux for Hexagon runs under a hypervisor layer ("Hexagon Virtual Machine"[25]) and was merged with the 3.2 release of the kernel.[26][27] 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.[28][29]

Compilers

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

Adoption of the SIP block

Qualcomm Hexagon DSPs have been available in Qualcomm Snapdragon SoC since 2006.[33][34] 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.[35]

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.[36]

In May 2018 wolfSSL added support for using Qualcomm Hexagon.[37] 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

Summarize
Perspective

There are six versions of QDSP6 architecture released: V1 (2006), V2 (2007–2008), V3 (2009), V4 (2010–2011), QDSP6 V5 (2013, in Snapdragon 800),[38] and QDSP6 V6 (2016, in Snapdragon 820)[34] V4 has 20 DMIPS per milliwatt, operating at 500 MHz.[33][34]

Clock speed of Hexagon varies in 400–2000 MHz for QDSP6 and in 256–350 MHz for previous generation of the architecture, the QDSP5.[39]

More information Versions of QDSP6 (DSP/NPU), Process node, nm ...
Versions of QDSP6
(DSP/NPU)
Process
node, nm
Year Number of
simultaneous
threads
Per-thread
clock, MHz
Total core
clock, MHz
Product
QDSP6 V165[17]2006
QDSP6 V2[40]652007[17]6100600
QDSP6 V3 (1st gen)[40]452009667400
QDSP6 V3 (2nd gen)[40]4520094100400
QDSP6 V4[40]
(V4M, V4C, V4L)[17]
2820103[18]167500 Snapdragon
600
QDSP6 V5[41]
(V5A, V5H)[17]
2820133[17]200 or greater
with DMT[18]
600 Snapdragon
410/412/800/801
536 12/28 2014 205/208/210/212
Snapdragon
425/427/429/430/435/439
V50 (or QDSP6 V5.0) 28 2014 700/800 (805) Snapdragon
415/610/615/616/805
546 14/28 2015 Snapdragon
450/617/625/626/632
V56 (or QDSP6 V5.6) 20/28 2015 800 (808/810) Snapdragon
650/652/653/808/810
642 14 2017 Snapdragon
630
680 (or QDSP6 V6)1420164500787 (660),[42] 2000
(820[43][44] & 821)
Snapdragon
636/660/820/821
682 10 2017 Snapdragon
835
683 11 2020 Snapdragon
460/662
685 10/11 2018 (3 TOPS) Snapdragon
670/675/678/710/712/845/850
686 6/8/11 2019 (3.3 TOPS) Snapdragon
480/480+/665/680/685/695
688 8 2019 (3.6 TOPS) Snapdragon
730/730G/732G
690 7 2019 (7 TOPS/
9 TOPS)
Snapdragon
855/855+/860/8c/8cx/8cx Gen 2
Microsoft SQ1/SQ2
692 8 2020 (5 TOPS) Snapdragon
690/720G/7c/7c Gen 2
694 8 2020 (4.7 TOPS) Snapdragon
750G
696 7 2020 (5.4 TOPS) Snapdragon
765/765G/768G
698 7 2020 (15 TOPS) Snapdragon
865/865+/870/8cx Gen 3
Microsoft SQ3
770 5/6 2021 (12 TOPS) Snapdragon
778G/778G+/780G/782G
780 5 2021 (26 TOPS/
32 TOPS)
Snapdragon
888/888+
790 (NPU/HTP)[45] 4 2021 (32 TOPS)
(INT8)
Snapdragon
8 Gen 1/8+ Gen 1
NPU (HTP Gen 2) 4 2022 (26 TOPS)
(INT8)
Snapdragon
8 Gen 2
NPU (HTP Gen 3) 4 2023 (34 TOPS)
(INT8)
Snapdragon
8 Gen 3/8s Gen 3
NPU (HTP Gen 4) 3 2024 (50 TOPS)
(INT8)[46]
Snapdragon
8 Elite
NPU (HTP Gen 4) 4 2024 (45 TOPS)
(INT8)[47][48]
Snapdragon
X (Plus/Elite)
Close

Availability in Snapdragon products

Summarize
Perspective

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 ...
Snapdragon generation Chipset (SoC) ID DSP generation DSP frequency, MHz Process node, nm
S1[39]MSM7627, MSM7227, MSM7625, MSM7225QDSP532065
S1[39]MSM7627A, MSM7227A, MSM7625A, MSM7225AQDSP535045
S2[39]MSM8655, MSM8255, APQ8055, MSM7630, MSM7230QDSP525645
S4 Play[39]MSM8625, MSM8225QDSP535045
S200[49]8110, 8210, 8610, 8112, 8212, 8612, 8225Q, 8625QQDSP538445 LP
Close

QDSP6 (Hexagon) usage:

More information Snapdragon generation, Chipset (SoC) ID ...
Snapdragon generation Chipset (SoC) ID QDSP6 version DSP frequency, MHz Process node, nm
S1[39]QSD8650, QSD8250QDSP660065
S3[39]MSM8660, MSM8260, APQ8060QDSP6 (V3?)40045
S4 Prime[39]MPQ8064QDSP6 (V3?)50028
S4 Pro[39]MSM8960 Pro, APQ8064QDSP6 (V3?)50028
S4 Plus[39]MSM8960, MSM8660A, MSM8260A, APQ8060A, MSM8930,
MSM8630, MSM8230, APQ8030, MSM8627, MSM8227
QDSP6 (V3?)50028
S400[49]8926, 8930, 8230, 8630, 8930AB, 8230AB, 8630AB, 8030AB, 8226, 8626QDSP6V450028 LP
S600[49]8064T, 8064MQDSP6V450028 LP
S800[49]8974, 8274, 8674, 8074QDSP6V5A60028 HPm
S820[43]8996QDSP6V6200014 FinFET LPP
Close

Hardware codec supported

Summarize
Perspective

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 ...
Codec Snapdragon

200[50]

Snapdragon

200[50]

Qualcomm

205[51]

Snapdragon

208/210[52]

Snapdragon

212[53]

Availability 2013 2013 2017 2014 2015
Hexagon QDSP5 QDSP6 536 536 536
H263 D & E D & E D & E D & E D & E
VC-1
H.264 D & E D & E D & E D & E D & E
H.264 10-bit - - - - -
VP8 D & E D & E D & E D & E D & E
H.265 D HD & E HD D HD & E HD D HD & E HD D FHD & E HD D FHD & E HD
H.265 10-bit - - - - -
H.265 12-bit - - - - -
VVC
VP9 - - - - -
VP9 10-bit - - - - -
AV1 - - - - -
Close

Snapdragon 400 series

The different video codecs supported by the Snapdragon 400 series.

More information Codec, Snapdragon 400 ...
Codec Snapdragon

400[54]

Snapdragon

410/415[55]

Snapdragon

425/427

Snapdragon

429/439[56]

Snapdragon

450[57]

Snapdragon

460[58]

Snapdragon

480/480+[59]

Availability Q4 2013 2014/2015 Q1 2016/Q3 2017 Q2 2018 Q2 2017 Q1 2020 Q1 2021
Hexagon QDSP6 QDSP6 V5 536(256KB) 536 546 683 686
H263 D & E D & E D & E D & E D & E D & E D & E
VC-1
H.264 D & E D & E D & E D & E D & E D & E D & E
H.264 10-bit - - - - - - D & E
VP8 D & E D & E D & E D & E D & E D & E D & E
H.265 - D & E D & E D & E D & E D & E D & E
H.265 10-bit - - - - - -
H.265 12-bit - - - - - -
VVC - - - - - -
VP9 - - - - D & E D & E
VP9 10-bit - - - - - -
AV1 - - - - - - -
Video frame rate

support Decoding

HD 60 fps
FHD 60 fps FHD 60 fps FHD 60 fps
Video frame

rate support

Encoding

HD 60 fps
FHD 60 fps FHD 60 fps FHD 60 fps
Close

Snapdragon 600 series

The different video codecs supported by the Snapdragon 600 series.

More information Codec, Snapdragon 600 ...
Codec Snapdragon 600[60] Snapdragon 610[61] Snapdragon 650/652/653 Snapdragon 630[62] Snapdragon 632[56] Snapdragon 636/660[62] Snapdragon 662[63] Snapdragon 665[64] Snapdragon 670/675/678[65] Snapdragon 690[66]
Availability Q1 2013 Q1 2015 Q2 2018 Q1 2020 Q2 2019 2019 Q2 2020
Hexagon QDSP6 V4 QDSP6 V50 QDSP6 V56 642 546 680 683 686 685 692
H263 D & E D & E D & E D & E D & E D & E D & E D & E D & E D & E
VC-1 D[67] & ?
H.264 D & E D & E D & E D & E D & E D & E D & E D & E D & E D & E
H.264 10-bit - - - - - - - - -
VP8 D & E D & E D & E D & E D & E D & E D & E D & E D & E D & E
H.265 - D & E D & E D & E D & E D & E D & E D & E D & E
H.265 10-bit - - - D & ? - D & ? - - D & E
VVC - - - - - - - - - -
VP9 - - D[67] & ? D & E D & E D & E D & E D & E D & E D & E
VP9 10-bit - - - - - - - - -
AV1 - - - - - - - - - -
FPS
Video decoding frame rate support HD 60 fps HD 120 fps HD 240 fps[68] HD 240 fps HD 240 fps[69] HD 60 fps HD 240 fps HD 240 fps HD 240 fps
FHD 30 fps FHD 60 fps FHD 120 fps FHD 120 fps[68] FHD 120 fps FHD 120 fps[69] FHD 60 fps FHD 120 fps FHD 120 fps FHD 120 fps
No 4K No 4K 4K30 fps 4K30 fps[68] 4K30 fps 4K30 fps[69] No 4K 4K60 fps 4K60 fps[65] 4K60 fps
Video encoding frame rate support HD 60 fps HD 60 fps HD 240 fps[68] HD 240 fps HD 240 fps[69] HD 60 fps HD 240 fps HD 240 fps HD 240 fps
FHD 30 fps FHD 30 fps FHD 120 fps FHD 120 fps[68] FHD 120 fps FHD 120 fps[69] FHD 60 fps FHD 120 fps FHD 120 fps FHD 120 fps
No 4K No 4K 4K30 fps 4K30 fps[68] 4K30 fps 4K30 fps[69] No 4K 4K30 fps 4K30 fps 4K30 fps
HDR formats
Display and

playback

HDR10, HLG
Video

recording

HDR10, HLG
Close

Snapdragon 700 series

The different video codecs supported by the Snapdragon 700 series.

More information Codec, Snapdragon 710/712 ...
Codec Snapdragon

710[70]/712[71]

Snapdragon

720G[72]

Snapdragon

730G[73]/732G[74]

Snapdragon

765[75]/765G[76]

/768G[76]

Snapdragon

778G[77]

Snapdragon

780G[78]

Availability Q2 2018 / Q1 2019 Q1 2020 Q2 2019 / Q3 2020 Q2 2019 / Q2 2019 / Q2 2020 Q2 2021 Q1 2021
Hexagon 685 692 688 696 770 770
H263 D & E D & E D & E D & E
VC-1 D & E D & E D & E D & E
H.264 D & E D & E D & E D & E
H.264 10-bit - -  ?  ?
VP8 D & E D & E D & E D & E
H.265 D & E D & E D & E D & E
H.265 10-bit D D D & E D & E
H.265 12-bit - - - -
VVC - - - -
VP9 D & E D & E D & E D & E
VP9 10-bit D D D D
AV1 - - - -
FPS
Video frame

rate support

Decoding

HD 240 fps HD 240 fps HD 240 fps HD 480 fps
FHD 120 fps FHD 120 fps FHD 120 fps ?
4K 30fps 4K 30fps 4K 30fps 4K 60fps
Video frame

rate support

Encoding

HD 240 fps HD 240 fps HD 240 fps HD 480 fps
FHD 120 fps FHD 120 fps FHD 120 fps ?
4K 30fps 4K 30fps 4K 30fps ?
HDR formats
Display and

playback

10-bit HDR HDR10, HLG HDR10, HLG, HDR10+
Video

recording

HDR10, HLG HDR10, HLG, HDR10+
Photo

recording

10-bit HDR HEIF
Close

Snapdragon 800 series

The different video codecs supported by the Snapdragon 800 series.

More information Codec, Snapdragon 800 ...
Codec Snapdragon

800[79]

Snapdragon

801[79]

Snapdragon

805[80]

Snapdragon

810[81]

Snapdragon

820/821[82]

Snapdragon

835[83]

Snapdragon

845/850[84]

Snapdragon

855/855+[85]

Snapdragon

865/865+

/870[86]

Snapdragon

888[87]

Snapdragon

8 Gen 1

Availability Q2 2013 Q1 2014 Q1 2014 Q3 2014 Q4 2015

Q3 2016

Q2 2017 Q1 2018 2019 2019

2021

Q4 2020 2021
Hexagon QDSP6 V5 QDSP6 V5 QDSP6 V50 QDSP6 V56 680 682 685 690[88] 698 780 790
MPEG-4 D & E D & E D & E D & E D & E D & E D & E D & E D & E D & E
H263 D & E D & E D & E D & E D & E[89] D & E D & E D & E D & E D & E
VC-1 D & E D & E D & E D & E D & E D & E
H.264 D & E D & E D & E D & E D & E[90] D & E D & E D & E D & E D & E
H.264 10-bit N/A N/A N/A N/A N/A N/A D & E D & E D & E D & E
VP8 D & E D & E D & E D & E D & E[91] D & E D & E D & E D & E D & E
H.265 N/A D & E 720p@30 D & E D & E D & E D & E D & E D & E D & E D & E
H.265 10-bit N/A N/A N/A N/A D D D & E D & E D & E D & E
VP9 N/A N/A N/A N/A D D & E D & E D & E D & E D & E
VP9 10-bit N/A N/A N/A N/A D D D & E D & E D & E D & E
AV1 N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
VVC N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
FPS
Decoding

FPS

HD@120 HD@240 HD@480[84] HD@480[92] HD@960
FHD@60 FHD@120 FHD@240[84] FHD@240  ?
4K@30 4K@60  ? 4K@120
8K@? 8K@60
Encoding

FPS

HD@120 HD@240 HD@480[93] HD@480 HD@960
FHD@60 FHD@120 FHD@240[93] FHD@240  ?
4K@30 4K@60[93] 4K@60 4K@120
8K@30
HDR formats
Display and

playback

HDR HDR10,

HLG[94]

HDR10, HLG,

HDR10+, Dolby Vision

Video

recording

HDR10,

HLG[94]

HDR10, HLG,

HDR10+

HDR10, HLG,

HDR10+, Dolby Vision

Photo

recording

10-bit HDR HEIF
Close

Code sample

This is a single instruction packet from the inner loop of a FFT:[8][18]

{ 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

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.