当前位置: 首页 > news >正文

CEVA-DSP开发初识(一)

        最近开发完了为旌vs819l平台几乎每个模块,其他都没啥难度,dsp模块以前或多或少接触过皮毛,这次有机会好好了解和开发下,做一个完整的记录。

1、DSP的效率为什么很高

        首先要理解这个概念,才能掌握dsp编程的核心。核心就是simd架构,像x86平台的sse加速,arm平台的neon加速,dsp平台也高度契合了这种设计思维,并行指令和流水线处理,这是dsp平台能够高速完成复杂算法运算的基础。

        为了能够达成这种高速并行设计架构,dsp芯片内嵌了丰富的硬核化资源,如上图重点模块逐一梳理总结下。

1.1、标量处理单元SPU

        单核dsp-core有4个spu独立的子单元,负责执行数值计算相关指令。算数运算操作,比如加减法、最值、比较、绝对和取反;乘法和乘累加操作;逻辑运算操作,比如and、nor;位操作,移位、插入和提取;还有其他一些如断言、饱和操作等;设想一下,spu模块一个周期就完成多个源操作数和目标操作数的运算。如scalar mac fixed point,支持8(16x16),4(32x32)运算;scalar mac floating point,支持4(32bit or 16bit)运算。

        spu模块我自己总结就是重在构建程序逻辑,下边是详细的模块指令列表。

1.2、矢量处理单元VPU(LVPU)

        矢量相对于标量,有2个vpu子单元和1个轻量化lvpu子单元,处理vector数据类型的资源,我觉得简单的理解就是矩阵。在dsp运算中是一个多维的表述,如下图。

        vpu支持的运算类型更加丰富,以至于文档专门用了一个框图来介绍。如下图,算数运算操作、滑窗运算操作、逻辑运算操作、移位运算操作、内部操作、置换操作等,vpu支持的指令也远多于spu模块,并行的能力上也更强。如支持vector mac fixed point 128(16x8),128(16x16),16(32x32) 运算,vector mac floating point 16(32bit) or 32(16bit) 运算。

        附上指令列表:

1.3、加载和存储单元LSU

        在使用spu和vpu之前,首先考虑需要把数据加载到寄存器做运算,以及把寄存器运算的结果搬出来。如下图,mem->reg,reg->mem,都通过lsu产生地址和寻址,让编程开发者不用再去关心操作数和寄存器的地址。

        对应dsp编程的基础指令ld和st,衍生出了好几种不同应用场景的加载模式。如下图,但我感觉可以常用的指令也就标量的st、ld和矢量的vpst、vpld,如果碰到隔行图像处理,会用到vbcpld。

        同样lsu的指令也是并行的。

2、总结

        像其他模块,程序控制单元PCU,类似arm的寻址-译码-执行三部曲;内存子系统MSS,内存管理子系统,就不再详细解释了,比较通用。

        综上,ceva-dsp的指令在设计上,都是按照simd架构并行的思路,可以同时加载、处理、存储多组源操作数和目标操作数,所以能够实现高效。如果编程上,能够使用这些底层指令来构建算法和逻辑,那自然处理算法的速度就会很快,反之,如果在dsp里边,用简单的c语言编程,就无法发挥出dsp硬件资源的优势。所以,dsp编程开发,我认为会话大量的时间去熟悉dsp指令,只有在指令熟悉的基础上,才能把他们使用好。

http://www.dtcms.com/a/597567.html

相关文章:

  • 峰均比降低技术(CFR)
  • 如何删除网站备案号房地产政策
  • 盐城网盐城网站建设站建设wordpress视频解析接口
  • 【CPKCOR-RA8D1】Home Assistant 物联网 ADC 电压温度计
  • STM32外设学习--DMA直接存储器读取(AD扫描程序,DMA搬运)--学习笔记。
  • 贵州网站开发制作公司开发公司各部门职责
  • FreeRTOS 学习:(十八)FreeRTOS 中断管理
  • 做外贸网站 怎么收钱池州哪里做网站
  • 介绍一下 机器人坐标转换的 RT 矩阵
  • 网站备案换公司吗盐山县网站建设
  • 为智能制造护航:SASE如何重塑制造业网络安全与连接
  • 品牌授权网站什么网站可以做软件有哪些东西
  • h5网站系统企业网站制作排名
  • ZeroNews 场景案例 | 结合小皮面板实现公网web服务发布
  • 本地的赣州网站建设电商网站支付接口
  • C# 记录类型(record)全面解析:从概念到最佳实践
  • 广西响应式网站制作怎么修改自己网站内容
  • 万网网站建设教程免费做网站的网站
  • Meta Omnilingual ASR:一个支持超1600种语言的语音识别系统解析
  • 9、prometheus-PromQL-3-偏移量修改器
  • 【题解】洛谷 P2471 [SCOI2007] 降雨量 [线段树 + 逻辑]
  • [8]. SpringAI Alibaba Tool Calling
  • 怎样建一个收费网站wordpress摘要过滤
  • 现在给别人做网站ui设计的软件
  • 【架构方法论】领域模型:如何通过领域模型,提高系统的可扩展性?
  • 基于Spring Security +JWT+Redis实现登录认证的流程
  • 深圳做网站最好的公司什么是企业形象设计
  • 【C++基础与提高】第六章:函数——代码复用的艺术
  • 【学习记录】ros2中处理livox_ros_driver1格式的msg
  • 仙游县住房和城乡建设局网站wordpress编辑角色无法上传图片