DSP指令与X86系列的CPU指令集有什么不同?

[复制链接]
2924|6
 楼主| huangfeng33 发表于 2013-5-11 17:24 | 显示全部楼层 |阅读模式
本来以为DSP应该会有很多功能强大的指令。不过前几天我查了一下,貌似DSP的指令很少,DSP有的指令8086基本上都有了。是我查到的东西不全么?基本上我只查到了DSP有加减乘除和浮点运算。
还是说DSP在指令方面有其他的厉害的地方?
拿起书本 发表于 2013-5-12 15:22 | 显示全部楼层
知道很少..  应该dsp乘法指令 ,浮点运算的效率是高的

8086体系 ..  一般 应该  dsp 和 arm 体系做对比吧! 都是低功率的单片机..

jlass 发表于 2013-5-13 09:23 | 显示全部楼层
DSP和X86都是复杂指令集,指令大家差不多很正常。
DSP的优点应该在乘累加算法上MAC
jxmzzr 发表于 2013-5-13 17:23 | 显示全部楼层
了解的不多,感觉差不多,进来学习一上,帮顶了
tianli1980 发表于 2013-6-10 16:01 | 显示全部楼层
指令集跟DSP的型号有关,比如目前广泛应用的TI和ADI的DSP之间汇编指令集有很大的差别。DSP相对于x86的优势在于功耗小,集成化程度高,计算速度快。光看汇编语句是看不出什么的,除非你去比对汇编语句对应的计算周期数。一般x86的汇编语句很少有单指令语句,很多语句实际上需要CPU消耗多次指令周期。而DSP基本上都是单周期实现乘法,除法(浮点运算需要浮点运算单元支持)。而且DSP的哈佛结构相对于冯诺依曼结构不同,地址、控制、数据总线分开,读写速度比x86快。而且DSP内置的无开销的循环和并行指令,能够进一步加速计算。比如某些型号的DSP可以将32位寄存器当成两个16位寄存器,因而可以单指令周期实现两个并行的16位计算。另外就是MAC(乘累加)计算,在DSP上也是内置的,该计算广泛用于数字信号处理。在x86上MAC计算需要消耗的指令周期数大概是DSP的几十倍。DSP的大量算法是16位的,主要是因为DSP广泛采用的领域是音频领域,16bit相当于96db的动态范围,这在音频处理上是足够的(主要是前端AD动态范围很少做到16位)。
   另外DSP的指令集包含指令数跟型号有关系,比如TI的C64XX系列,复杂指令是很多的。所以我不知道你是在哪查的DSP指令集,以及查的是那种型号的指令集。如果是新手,你只需要知道DSP的计算效率大致相当于主频是其8倍的x86芯片
 楼主| huangfeng33 发表于 2013-6-10 16:08 | 显示全部楼层
难道DSP的强大是相对于单片机的?
aresc 发表于 2013-6-10 22:06 | 显示全部楼层
单从指令,确实想不起TI的DSP有啥特别之处,主要还是看芯片的结构吧。但有些DSP有特殊的指令,比如FFT里的蝶形运算有专门的指令,一条单周期的指令完成一次蝶形运算。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

506

主题

2446

帖子

8

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