Hexagon cDSP芯片简介


Hexagon DSP芯片

DSP(Digital Signal Processing)就是数字信号处理芯片,Hexagon是高通公司数字信号处理器(DSP)产品系列的品牌名称。Hexagon也称为QDSP6,代表“第六代数字信号处理器”。与主机CPU相比,DSP通常以较低的时钟速度运行,但在指令级别提供了更多的并行机会。这使得DSP在功耗方面优于CPU。因此,最好将尽可能多的大型计算密集型任务移植到DSP上,以降低设备的整体功耗。

下图是高通骁龙820中的cDSP
在这里插入图片描述
Hexagon DSP架构
优点:低功耗(功耗优于CPU)、高性能、并行能力强
缺点:开发难度高、教程资源有限、高通闭源资源可用命令有限

下表为高通主要芯片使用的DSP详细信息

在这里插入图片描述

cDSP软件架构

在这里插入图片描述

  • User Application模块,host端算法实现,主要作用是触发FastRPC调用,调度device应用。

  • FastRPC模块,远程调用模块,实现host与device之间的通信,把设备端算法so库从host端动态加载到设备,host调用设备时会触发FastRPC调用,FastRPC调用在device端会创建一个任务进程,完成host与设备之间的调用过程。host端会阻塞等待device端执行完成,属于阻塞等待。

  • User Application (Hexagon SO) 模块,设备端算法实现,通过编译会生成一个Hexagonso文件。主要用于设备端算法运行,同时还包含一系列辅助API接口等。

  • libdspCV_skel.so,这块主要是dspcv 模块,在Hexagon SDK中的一个库文件,用来控制设备端部分资源。例如时钟控制、多线程等功能封装。

  • QuRT RTOS模块,QuRT是高通针对Hexagon DSP处理器的实时操作系统。主要负责系统资源维护,使用最多的主要是线程调用及 VTCM等资源,根据线程的优先级将软件线程调度到硬件线程上,由这个 QuRT操作系统来调度。

  • CDSPPM & DCVS V2模块,功率管理模块,主要提供时钟带宽的投票,用来管理时钟、电源。

  • Hardware thread、HVX context,最底层的硬件线程和HVX句柄。

cDSP芯片结构

在这里插入图片描述
Hexagon标量单位

Hexagon标量单元由许多DSP硬件线程组成——在大多数当前的cDSP上有四个。每个DSP硬件线程都可以访问Hexagon标量单元,它对单个或一对32位寄存器执行定点和浮点操作。
每个数据单元能够执行负载或存储64位宽,或32位标量ALU操作。每个执行单元能够进行16/32/64位的向量化乘法、ALU、位操作、移位或浮点操作。从V66开始,每个cluster都有自己的浮点和乘数资源。cluster指的是一对线程(线程0&1和线程2&3)。在cluater中,两个线程通常在交替的时钟周期上提交指令包,因为大多数指令至少需要两个时钟周期才能完成。在这种情况下,每个cluster在每个DSP时钟周期内完成一个指令包,只要避免停顿,每秒产生的总吞吐量为(2 * DSP时钟)指令包。
HVX单元

HVX是一个可选的协处理器,它在标量DSP单元上增加了128字节的矢量处理能力。标量硬件线程通过访问HVX寄存器文件(也称为HVX上下文)来使用HVX协处理器。两个128字节的HVX上下文通过SM8250设备在所有启用HVX的aDSPs和cDSPs上可用。
内存子系统

cDSP有一个两级缓存内存子系统。L1只对标量单元可访问, L2是标量单元的第二级存储器,HVX协处理器的第一级存储器。L1仅透写。这允许缓存是硬件一致的。为了保持一致性,如果HVX存储在L1中命中,L1行将失效。向量单位支持各种加载/存储指令,包括支持未对齐向量和逐字节条件存储。一个流水线的矢量FIFO用于HVX硬件读取L2内容,并向程序员隐藏L2读取延迟。在SM8150和SM8250设备上,L2内存大小扩展到1mb。SDM845和更新的设备还包括一个256 KB的矢量紧耦合存储器(VTCM),比L2能维持更高的吞吐量。这个内存可以用作擦除缓冲区,以获得更高的性能。VTCM还需要作为一些选择操作的源和目的地。

HVX(Hexagon Vector eXtensions)

HVX意味着你可以将视频和摄像机任务从CPU转移到Hexagon DSP,以实现低功耗的快速图像处理。长期以来,用于宽矢量处理的新型Hexagon VX内核一直很吸引人的用例,因为它们消耗大量电能,因此可以从CPU上卸载计算机视觉(CV)和视频。 借助HVX内核,Hexagon的设计师增加了宽矢量处理,以实现更高的性能和更低的功耗。
HVX的优势:

  1. 更强的数据并行处理能力(1024b 指令位宽,且有多个线程可并行,线程里面每个packet可同时并行执行四条指令)
  2. 更低的功耗
  3. 更高的运行稳定性

HVX以其优越的特性,能完美支持多个领域,比如虚拟现实、增强现实、图像处理、视频处理、计算视觉等等。这意味着,以往在CPU/GPU上相对更费电的任务可以交给DSP去更高效率地做了。
在这里插入图片描述

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值