如何衡量资源够不够用呢?

[复制链接]
1217|15
 楼主| chenjunt 发表于 2015-4-16 21:26 | 显示全部楼层 |阅读模式
现有一复杂算法,想在DSP上做实现,如何衡量资源够不够用呢?
ousj 发表于 2015-4-16 21:26 | 显示全部楼层
没考虑过这类问题,不过的确值得思考
morrisk 发表于 2015-4-16 21:26 | 显示全部楼层
是不是看你的运行速度呢
ousj 发表于 2015-4-16 21:27 | 显示全部楼层
应该是看速度和内存吧
 楼主| chenjunt 发表于 2015-4-16 21:34 | 显示全部楼层
个人感觉,
是不是要从占用的内存资源看,顺便看下同一时间所需最大的运算单元,DSP够不够
不太明白速度是个啥概念
 楼主| chenjunt 发表于 2015-4-16 21:34 | 显示全部楼层
个人感觉,
是不是要从占用的内存资源看,顺便看下同一时间所需最大的运算单元,DSP够不够
不太明白速度是个啥概念
houcs 发表于 2015-4-16 21:35 | 显示全部楼层
给个思路:

PC上写个C程序:
1. 定时器启动.(t1)
2. 执行你的算法.
3.定时器结束.(t2)
houcs 发表于 2015-4-16 21:35 | 显示全部楼层


t2-t1是你的算法的时间,以秒为单位. 假设你的PC CPU是1GHz, 那么大约执行该算法的CPU指令数是1G * (t2-t1).

如果你选用的DSP是500MHz, 不考虑并行指令的因素,那该DSP的MIPS是500. 看看1G*(t2-t1)是不是大于
500,大的太多估计500MHz的DSP不行. 考虑并行指令的因素,比如C6000,就算最大8条指令并行,可以算500*8 = 4000MIPS.

google一下该算法在其他DSP上有没有实现过的,这样就可以更准确的参考.
houcs 发表于 2015-4-16 21:35 | 显示全部楼层


至于memory的评估,如果DSP可以外接外部memory,比如DDR, SDRAM,那么空间可能就没啥问题,但要考虑比如数据\程序放在外部空间会降低DSP的效率,进而对MIPS有影响. 如果不能外接memory,那要仔细研究算法,需要多少数据(静态/动态)/程序空间,哪些可以overlay?等等.
kangzj 发表于 2015-4-16 21:35 | 显示全部楼层
纯C代码,基本上按这个计算就可以了,但要注意,你的程序在PC上测试时,要关掉系统中其它不相关程序。
 楼主| chenjunt 发表于 2015-4-16 21:36 | 显示全部楼层
谢谢指点,通过主频和指令周期来算,确实是个比较靠谱的方法
数据量有点大,外接的存储资源譬如DDR,SDRAM是一定会用的
 楼主| chenjunt 发表于 2015-4-16 21:36 | 显示全部楼层

这个对MIPS的影响,和内部的区别要怎么算。对系统级的架构,譬如取址取数据是否占用数据周期不太了解,正在学习中
zwll 发表于 2015-4-16 21:36 | 显示全部楼层
高手真多啊
 楼主| chenjunt 发表于 2015-4-16 21:36 | 显示全部楼层
感谢大家的意见,学习了,结贴~
 楼主| chenjunt 发表于 2015-4-16 21:37 | 显示全部楼层
结贴了,晚安啊
smilingangel 发表于 2015-4-16 21:46 | 显示全部楼层
有些是有具体的参数的,,没有具体参数的只能是凭开发者的经验了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

718

主题

7868

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部