硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1029|回复: 2
收起左侧

[其它] 请教下在操作系统下的DSP芯片是如何工作的?

[复制链接]

1

主题

1

回帖

4

积分

新手上路

积分
4
发表于 2022-3-2 08:13:00 | 显示全部楼层 |阅读模式
我是新手原来是做纯软件的,刚接触,有在网上找了一些资料,但还是没有搞清楚DSP工作原理。特别是现在很多Android手机用DSP来做视觉/音频的处理,所以想了解下整个从上到下的处理过程。
这边有几点疑问?

1. DSP与编译器:DSP指令是否是某些架构下的一种扩展,得到大多数编译器的支持,比如llvm,gcc都有DSP指令支持?
2. DSP与CPU:DSP程序在运行的时候,应该是借助CPU的特殊指令的执行,来让DSP指令和数据输送到DSP芯片来执行吧,也就是说DSP程序编译之后其实是先放CPU执行的?(有点类似GPU的工作原理?)
3. DSP与操作系统:是否存在DSP驱动程序这种东西?DSP是否可以作为操作系统一个设备,通过系统驱动程序来驱动,上层应用通过调用系统接口来操作DSP?(类似Linux下的dsp声卡设备?)
4. DSP通用标准:DSP是否存在类似显卡的OpenGL/Vulkan这类通用标准,涵盖了从硬件/操作系统/软件的整套规范接口,上层应用可以通过这些接口来操作DSP?
5. DSP与Android:安卓平台下如何进行DSP编程,通过Framework? JNI? 或某些Service?

不好意思问题有点多,感谢!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106771
QQ
发表于 2022-3-2 09:49:15 | 显示全部楼层
首先楼主所说的DSP的几个问题都是芯片扩展的DSP单元或者协处理器。

1、以NEON,新出的Helium以及Cortex-M内核带DSP单元为例,各大编译器都已经支持了。
2、这里DSP理解成外设就行,通过命令控制。
3、这里说成是驱动不准确,他需要的是一个计算库,这些库直接调用各种命令,加速操作。
4、这个扩展DSP,没有规范,全靠厂家加速库来加速。或者执行各种通用库的话,底层做个加速接口。
5、这个上层编程控制不了底层DSP,所以厂家的解决办法是专门封装好对应的API供上层使用,或者是封装好底层加速接口,上层通用API调用时,可以最终调用到加速函数。
回复

使用道具 举报

1

主题

1

回帖

4

积分

新手上路

积分
4
 楼主| 发表于 2022-3-2 22:44:10 | 显示全部楼层
eric2013 发表于 2022-3-2 09:49
首先楼主所说的DSP的几个问题都是芯片扩展的DSP单元或者协处理器。

1、以NEON,新出的Helium以及Cortex- ...

明白很多,谢谢!
如此看来DSP并没有通用的接口标准,那么可以认为DSP只是纯粹的做一些CPU不擅长的特殊计算,也没有很复杂会话状态和软件架构。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-5 19:36 , Processed in 0.257356 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表