高通Hexagon

Hexagon 是高通公司推出的一系列数字信号处理器（DSP）以及后来的神经网络处理器（NPU）产品的品牌名称。Hexagon 也被称为 QDSP6，即“第六代数字信号处理器”。据高通公司介绍，Hexagon 架构旨在为多种应用提供高性能的同时保持低功耗。

每一版本的 Hexagon 都拥有特定的指令集体系结构和微架构，这两个特性密切相关。

Hexagon 被广泛应用于高通骁龙芯片中，包括智能手机、汽车、可穿戴设备及其他移动设备，同时也在蜂窝电话网络的组件中得到应用。

## 指令集架构

计算设备具有指令集，这是它们最底层、最原始的语言。常见的指令包括将两个数字相加、相乘或以其他方式组合的指令，以及指示处理器在内存中查找下一条指令的位置的指令。还有许多其他类型的指令。

汇编器和编译器可以将计算机程序翻译成一系列指令（即比特流），这些指令是设备可以理解并执行的。在指令序列执行过程中，指令特权级别用于支持系统功能的完整性。特权指令可以访问设备上更多的资源，包括内存。Hexagon 支持特权级别。

最初，Hexagon 指令只能处理整数，而不能处理浮点数。但在 v5 版本中，添加了对浮点数的支持。

负责执行指令的处理单元能够以有序方式将最多 4 条指令（即一个数据包）分发到 4 个执行单元，并且每时钟周期都如此。

## 微架构

微架构是指芯片或芯片组件的物理结构，它使得设备能够执行指令。一个给定的指令集可以通过多种不同的微架构来实现。Hexagon设备的总线（数据传输通道）宽度为32位，这意味着32位的数据可以在一次操作中从芯片的一个部分移动到另一个部分。Hexagon微架构是多线程的，这意味着它可以同时处理多个指令流，从而提高数据处理速度。Hexagon支持VLIW指令集，这些指令字是由四个指令组成的组，可以“并行”执行。并行执行意味着多个指令可以同时运行，而无需一个指令完成才能开始下一个指令。Hexagon微架构支持单指令、多数据（SIMD）操作，这意味着当Hexagon设备接收到一个指令时，它可以同时对多个数据进行操作。

根据2012年的估计，高通公司在2011年为其片上系统（SoC）出货了12亿个DSP核心（平均每个SoC包含2.3个DSP核心），并计划在2012年出货15亿个核心，这使得QDSP6成为最流行的DSP架构。

Hexagon架构旨在为各种应用提供高性能和低功耗。它具有硬件辅助多线程、特权级别、VLIW、单指令、多数据（SIMD）等特性，以及针对高效信号处理的指令。硬件多线程通过“桶式”时间多线程实现——每个周期轮流切换线程，因此600MHz的物理核心在V5之前表现为三个200MHz的逻辑核心。Hexagon V5切换到动态多线程（DMT），当发生L2缓存未命中、中断等待或执行特殊指令时进行线程切换。

在高通公司于2013年Hot Chips大会上，高通公司公布了其Hexagon 680 DSP的详细信息。高通公司还宣布了Hexagon向量扩展（HVX）。HVX旨在允许对高级图像和计算机视觉中的大量计算工作负载在DSP上进行处理，而不是在CPU上。2015年3月，高通公司宣布其Snapdragon Neural Processing Engine SDK，该SDK允许使用CPU、GPU和Hexagon DSP进行AI加速。

高通公司的Snapdragon 855包含第四代片上AI引擎，其中包括Hexagon 690 DSP以及用于AI加速的Hexagon Tensor Accelerator (HTA)。Snapdragon 865包含基于Hexagon 698 DSP的第五代片上AI引擎，其性能高达每秒15 TOPS。Snapdragon 888包含基于Hexagon 780 DSP的第六代片上AI引擎，其性能高达26 TOPS。Snapdragon 8包含第七代片上AI引擎，基于Hexagon DSP，性能可达52 TOPS，在某些情况下甚至可以达到104 TOPS。

## 软件支持

### 操作系统

针对 Hexagon 平台的 Linux 版本运行在虚拟机层（“Hexagon Virtual Machine”），并在内核的 3.2 版本中被合并。最初的虚拟机是闭源的，但高通于 2013 年 4 月发布了针对 QDSP6 V2 和 V3 的一个最小化的开源虚拟机实现，名为“Hexagon MiniVM”，并采用 BSD 风格的许可证。

### 编译器

Tony Linthicum 在 LLVM 的 3.1 版本中添加了对 Hexagon 的支持。LLVM 的 8.0.0 版本中添加了对 Hexagon/HVX V66 指令集的支持。此外，还有一个非 FSF 维护的 GCC 和 binutils 分支。

## SIP 模块的应用

高通 Hexagon DSP 自 2006 年以来一直应用于高通 Snapdragon SoC。在 Snapdragon S4 (MSM8960 及更高版本) 中，有三个 QDSP 核心，其中两个位于 Modem 子系统，一个 Hexagon 核心位于 Multimedia 子系统。Modem 核心仅由高通编程，只有 Multimedia 核心允许用户进行编程。

它们也用于一些高通的微型蜂窝基站处理器，包括 FSM98xx、FSM99xx 和 FSM90xx。

## 第三方集成

2016 年 3 月，宣布半导体公司 Conexant 的 AudioSmart 音频处理软件正在被集成到高通的 Hexagon 中。

2018 年 5 月，wolfSSL 添加了对使用高通 Hexagon 的支持。这意味着可以在 DSP 上运行 wolfSSL 加密操作。除了加密操作之外，后来还添加了一个专门的操作负载管理库。

## 版本

QDSP6架构发布了六个版本：V1（2006年），V2（2007–2008年），V3（2009年），V4（2010–2011年），QDSP6 V5（2013年，应用于Snapdragon 800），以及QDSP6 V6（2016年，应用于Snapdragon 820）。V4版本的功耗为每毫瓦20 DMIPS，工作频率为500 MHz。

Hexagon的运行频率在QDSP6架构中为400–2000 MHz，而在该架构的前一代产品QDSP5中，则为256–350 MHz。

QDSP6版本 (DSP/NPU)｜制程 （纳米）｜发布年份｜线程数量｜每线程频率, MHz｜总核心频率, MHz｜关联产品

QDSP6 V1｜65｜2006

QDSP6 V2｜65｜2007｜6｜100｜600

QDSP6 V3 (1st gen)｜45｜2009｜6｜67｜400

QDSP6 V3 (2nd gen)｜45｜2009｜4｜100｜400

QDSP6 V4 (V4M, V4C, V4L)｜28｜2010｜3｜167｜500｜Snapdragon 600

QDSP6 V5 (V5A, V5H)｜28｜2013｜3｜200 or greater with DMT｜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)｜14｜2016｜4｜500｜787 (660), 2000 (820 & 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)｜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)｜Snapdragon 8 Elite

NPU (HTP Gen 4)｜4｜2024｜(45 TOPS) (INT8)｜Snapdragon X (Plus/Elite)

## 硬件解码支持

骁龙SoC支持的各种视频编解码器。

D - 解码；E - 编码

FHD = 全高清 = 1080p = 1920x1080像素

HD = 720p，可以是1366x768像素或1280x720像素

### Snapdragon 200系列

编码｜Snapdragon 200｜Snapdragon 200｜Qualcomm 205｜Snapdragon 208/210｜Snapdragon 212

支持情况｜2013｜2013｜2017｜2014｜2015

Hexagon｜QDSP5｜QDSP6｜536｜536｜536

VC-1

H.264| D & E｜D & E｜D & E｜D & E｜D & E

H.264 10-bit| -

H.265| D HD & E HD｜D HD & E HD｜D HD & E HD｜D FHD & E HD｜D FHD & E HD

### Snapdragon 400系列

编码｜Snapdragon 400｜Snapdragon 410/415｜Snapdragon 425/427｜Snapdragon 429/439｜Snapdragon 450｜Snapdragon 460｜Snapdragon 480/480+

支持情况｜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

VC-1

H.264| D & E｜D & E｜D & E｜D & E｜D & E｜D & E｜D & E

H.264 10-bit| -｜D & E

H.265| -｜D & E｜D & E｜D & E｜D & E｜D & E｜D & E

解码帧率支持｜HD 60 fps

FHD 60 fps｜FHD 60 fps｜FHD 60 fps

编码帧率支持｜HD 60 fps

FHD 60 fps｜FHD 60 fps｜FHD 60 fps

### Snapdragon 600系列

编码｜Snapdragon 600｜Snapdragon 610｜Snapdragon 650/652/653｜Snapdragon 630｜Snapdragon 632｜Snapdragon 636/660｜Snapdragon 662｜Snapdragon 665｜Snapdragon 670/675/678｜Snapdragon 690

支持情况｜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

VC-1｜D & ?

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| -

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

VP9| -｜D & ?｜D & E｜D & E｜D & E｜D & E｜D & E｜D & E｜D & E

解码支持帧率｜HD 60 fps｜HD 120 fps｜HD 240 fps｜HD 240 fps｜HD 240 fps｜HD 60 fps｜HD 240 fps｜HD 240 fps｜HD 240 fps

FHD 30 fps｜FHD 60 fps｜FHD 120 fps｜FHD 120 fps｜FHD 120 fps｜FHD 120 fps｜FHD 60 fps｜FHD 120 fps｜FHD 120 fps｜FHD 120 fps

No 4K｜No 4K｜4K30 fps｜4K30 fps｜4K30 fps｜4K30 fps｜No 4K｜4K60 fps｜4K60 fps｜4K60 fps

编码支持帧率｜HD 60 fps｜HD 60 fps｜HD 240 fps｜HD 240 fps｜HD 240 fps｜HD 60 fps｜HD 240 fps｜HD 240 fps｜HD 240 fps

FHD 30 fps｜FHD 30 fps｜FHD 120 fps｜FHD 120 fps｜FHD 120 fps｜FHD 120 fps｜FHD 60 fps｜FHD 120 fps｜FHD 120 fps｜FHD 120 fps

No 4K｜No 4K｜4K30 fps｜4K30 fps｜4K30 fps｜4K30 fps｜No 4K｜4K30 fps｜4K30 fps｜4K30 fps

HDR formats

显示和回放｜HDR10, HLG

视频录制｜HDR10, HLG

### Snapdragon 700系列

编码｜Snapdragon 710/712｜Snapdragon 720G｜Snapdragon 730G/732G｜Snapdragon 765/765G /768G｜Snapdragon 778G｜Snapdragon 780G

支持情况｜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

H.264| D & E｜D & E｜D & E｜D & E

H.264 10-bit| -｜未知｜未知

H.265| D & E｜D & E｜D & E｜D & E

H.265 10-bit| D｜D｜D & E｜D & E

解码支持帧率｜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

编码支持帧率｜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

显示和回放｜10-bit HDR｜HDR10, HLG｜HDR10, HLG, HDR10+

视频录制| 不适用｜不适用｜HDR10, HLG｜HDR10, HLG, HDR10+

照片拍摄| 不适用｜不适用｜不适用｜不适用｜10-bit HDR HEIF

### Snapdragon 800系列

编码｜Snapdragon 800｜Snapdragon 801｜Snapdragon 805｜Snapdragon 810｜Snapdragon 820/821｜Snapdragon 835｜Snapdragon 845/850｜Snapdragon 855/855+｜Snapdragon 865/865+ /870｜Snapdragon 888｜Snapdragon 8 Gen 1

支持情况｜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｜698｜780｜790

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｜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

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

FPS

解码支持帧率｜HD@120｜HD@240｜HD@480｜HD@480｜HD@960

FHD@60｜FHD@120｜FHD@240｜FHD@240 未知

4K@30｜4K@60| 未知｜4K@120

8K@?｜8K@60

编码支持帧率｜HD@120｜HD@240｜HD@480｜HD@480｜HD@960

FHD@60｜FHD@120｜FHD@240｜FHD@240 未知

4K@30｜4K@60｜4K@60｜4K@120

8K@30 HDR formats

显示和回放 不适用｜HDR｜HDR10, HLG｜HDR10, HLG, HDR10+, Dolby Vision

视频录制 不适用｜HDR10, HLG｜HDR10, HLG, HDR10+｜HDR10, HLG, HDR10+, Dolby Vision

照片拍摄 不适用｜10-bit HDR HEIF

## 基本资料

- 日语原文：Hexagon
- 设计师：Qualcomm
- 字长/暂存器资料宽度：32位, 64位
- 始创时间：2006 (QDSP6)
- 形式：4路多线程 VLIW
- 类型：Load–store
- 编码：每个指令固定为4个字节，VLIW多指令架构中最多可以包含4个指令
- 启用：闭源
- 通用暂存器：32-bit GPR: 32, can be paired to 64-bit