• 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去更高效率地做了。
    在这里插入图片描述

  • 相关阅读:
    基于J2EE的高校毕业生就业信息管理系统
    【验证用户输入的日期格式是否正确——工具类SimpleDateFormat类的使用】
    HarmonyOS Stage模型 用程序运行切换 验证UIAbility 启动模式(下) 验证:specified启动模式 Ability间切换
    用iPad开发iPhone App,苹果发布Swift Playgrounds 4
    君正X2100 RTOS 固件升级
    【Python入门与进阶】Anaconda环境配置
    LibreOffice怎么打开导航页面
    50.MongoDB快速入门实战
    构造函数与原型对象
    【LeetCode】899.有序队列
  • 原文地址:https://blog.csdn.net/weixin_42112050/article/details/126108433