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