文章目录

  • Hexagon DSP芯片
  • cDSP软件架构
  • cDSP芯片结构
  • HVX(Hexagon Vector eXtensions)

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去更高效率地做了。

Hexagon cDSP芯片简介相关推荐

  1. Marvell 88E1111PHY芯片简介

    1.PHY芯片简介 PHY芯片在OSI协议栈中属于最底层的物理层,与其它层的关系图如下: 从硬件上来说,一般PHY芯片为模数混合电路,负责接收电.光这类模拟信号,经过解调和A/D转换后通过MII接口将 ...

  2. NT3H2111_2211芯片简介

    NT3H2111_2211芯片简介 NT3H2111_2211是一个支持ISO14443A协议的NFC芯片,通过外接一个线圈可以从手机发送的射频信号实现获取能量和信息. 芯片结构 芯片由EEPROM, ...

  3. 2020TI省级大学生电子竞赛推荐芯片简介

    2020TI省级大学生电子竞赛推荐芯片简介 2020TI省级大学生电子竞赛芯片 不知道用什么单片机?不知道用什么AD/DA模块,不知道用什么运放,不知道用什么稳压器? 所以官方给了一些推荐的. 我也是 ...

  4. 深入CC3200(1)—芯片简介及学习方法

    深入CC3200(1)-芯片简介及学习方法 admin 于 2015年09月15日 发表在  CC3200开发 写在前面: 在一个项目中使用了TI的CC3200芯片.总体而言,对于CC3200这款芯片 ...

  5. 02 nRF52832芯片简介

    nRF52832芯片简介 nRF52832 SoC是一款功能强大,高度灵活的超低功耗多协议SoC,非常适合低功耗蓝牙,ANT和2.4GHz超低功耗无线应用.它和普通的单片机如51.stm32等最大的不 ...

  6. 低压差稳压器--AMS1117芯片简介 结构

    低压差稳压器–AMS1117芯片简介 结构 从内部框图可以看出,ASM1117提供电流限制和热保护(TSD),以防环境温度造成过高的结温.电路包含1个齐纳调节的带隙参考电压以确保输出电压的精度在±1% ...

  7. NRF52832学习笔记1——NRF52832芯片简介

    NRF52832芯片简介 描述 低功耗 内核 内存配置(两种) 电源管理 外设 描述 nRF52832 SoC是一款功能强大,高度灵活的超低功耗多协议SoC,非常适合低功耗蓝牙,ANT和2.4GHz超 ...

  8. 低压差稳压器--AMS1117芯片简介 结构

    低压差稳压器–AMS1117芯片简介从内部框图可以看出,ASM1117提供电流限制和热保护(TSD),以防环境温度造成过高的结温.电路包含1个齐纳调节的带隙参考电压以确保输出电压的精度在±1%以内. ...

  9. 第三讲 i.MX系列芯片简介

    第三讲 i.MX系列芯片简介 文章目录 第三讲 i.MX系列芯片简介 一. i.MX 系列处理器 芯片选型 i.MX 6ULL 总览 i.MX 6ULL 特性 i.MX 6ULL 框图 注意 二. A ...

最新文章

  1. 2021年大数据ZooKeeper(六):ZooKeeper选举机制
  2. codeforces1700数学:E2. Close Tuples (hard version)[组合计数 逆向统计] D. Circle Game[对称博弈考虑对称状态的胜负]
  3. 待解决的问题--用DOS命令删除远程主机系统文件的方法
  4. HDU -- 2084 数塔(简单DP)
  5. 2016年金融全行业网络安全状况调研报告
  6. NFV — 安全策略
  7. CF293B Distinct Paths题解
  8. vue嵌套数据多层级里面的数据不自动更新渲染dom
  9. AIX5安装bash
  10. python列表中随机选择_如何在Python中从列表中随机选择一个项目?
  11. SpringMVC之——转发与重定向
  12. c#winform演练 ktv项目 实现上一曲和下一曲的播放功能
  13. 创建对象的其中两种方法的比较
  14. 全球最顶级的电脑配置_全球最顶级外汇交易员,非这10位莫属
  15. 【零基础学Java】—throw关键字(四十六)
  16. 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证....
  17. 命名空间system中不存在data_Jdk14 都要出了,Jdk9 的新特性还不了解一下?
  18. Linux系统的Shell编程
  19. NLPIR ICTCLAS2015分词系统的使用
  20. 关于1byte 1KB 1MB 1GB求其所能表示的地址范围

热门文章

  1. 深度分享|姚劲波:创业要趁早,要做未来的事情!
  2. 2019年7月31日18:57:48
  3. Java 多线程 | 并发知识问答总结
  4. C++ std:string 转 LPWSTR
  5. 谈谈抖音企业蓝V认证要怎样申请?
  6. 微信小程序一定高度文字的展开与收起
  7. DataStream API:Overview
  8. java(Vue+SpringBoot)实现头像上传功能
  9. 怎么写一个高性能的导出接口
  10. 【计算机组织与体系结构】实验一:算术逻辑单元的实现