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

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

D - 解码;E - 编码

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

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

Snapdragon 200系列
Snapdragon 400系列
Snapdragon 600系列
Snapdragon 800系列
参考来源

评论 (0)

  • 还没有评论,来抢沙发吧。