Chinaunix
标题: mips与dsp有什么关系和区别? [打印本页]
作者: w3g8 时间: 2007-04-03 12:29
标题: mips与dsp有什么关系和区别?
如题.mips与dsp有什么关系和区别?
在嵌入式方面哪个好?
哈佛结构
http://jwc.seu.edu.cn/zq/signal/ ... _6/harvard.htm#lian
冯.诺曼结构
http://jwc.seu.edu.cn/zq/signal/new/importent/zhang5_6/feng.htm
[ 本帖最后由 w3g8 于 2007-4-3 15:29 编辑 ]
作者: cjaizss 时间: 2007-04-03 13:00
mips基于冯.诺伊曼结构,而dsp一般采用哈佛结构。
至于用什么,项目决定。
作者: cjaizss 时间: 2007-04-03 13:09
另外,不是所有dsp芯片都是CPU。
作者: w3g8 时间: 2007-04-03 15:25
谢谢楼上的,google了下
哈佛结构 数字信号处理一般需要较大的运算量和较高的运算速度,为了提高数据吞吐量,在数字信号处理器中大多采用哈佛结构,如下图所示
图 哈佛结构
与冯.诺曼结构处理器比较,哈佛结构处理器有两个明显的特点:
后来,又提出了改进的哈佛结构,如下图所示
图 改进型哈佛结构
其结构特点为:
在典型情况下,完成一条指令需要3个步骤,即:取指令、指令译码和执行指令。从指令流的定时关系也可看出冯.诺曼结构与哈佛结构处理方式的差别。举一个最简单的对存储器进行读写操作的指令,如下图所示,指令1至指令3均为存、取数指令,对冯.诺曼结构处理器,由于取指令和存取数据要从同一个存储空间存取,经由同一总线传输,因而它们无法重叠执行,只有一个完成后再进行下一个。
图 冯.诺曼结构处理器指令流的定时关系示意图
如果采用哈佛结构处理以上同样的3条存取数指令,如下图所示,由于取指令和存取数据分别经由不同的存储空间和不同的总线,使得各条指令可以重叠执行,这样,也就克服了数据流传输的瓶颈,提高了运算速度。
哈佛结构强调了总的系统速度以及通讯和处理器配置方面的灵活性。
图 哈佛结构处理器指令流的定时关系示意图
========================================================================
冯.诺曼结构
1945年,冯.诺曼首先提出了“存储程序”的概念和二进制原理,后来,人们把利用这种概念和原理设计的电子计算机系统统称为“冯.诺曼型结构”计算机。冯.诺曼结构的处理器使用同一个存储器,经由同一个总线传输,如下图所示:
图 冯.诺曼结构
冯.诺曼结构处理器具有以下几个特点:
必须有一个存储器;
必须有一个控制器;
必须有一个运算器,用于完成算术运算和逻辑运算;
必须有输入和输出设备,用于进行人机通信。
冯.诺曼的主要贡献就是提出并实现了“存储程序”的概念。由于指令和数据都是二进制码,指令和操作数的地址又密切相关,因此,当初选择这种结构是自然的。但是,这种指令和数据共享同一总线的结构,使得信息流的传输成为限制计算机性能的瓶颈,影响了数据处理速度的提高。
在典型情况下,完成一条指令需要3个步骤,即:取指令、指令译码和执行指令。从指令流的定时关系也可看出冯.诺曼结构与哈佛结构处理方式的差别。举一个最简单的对存储器进行读写操作的指令,如下图所示,指令1至指令3均为存、取数指令,对冯.诺曼结构处理器,由于取指令和存取数据要从同一个存储空间存取,经由同一总线传输,因而它们无法重叠执行,只有一个完成后再进行下一个。
图 冯.诺曼结构处理器指令流的定时关系示意图
.
[ 本帖最后由 mik 于 2007-4-4 18:42 编辑 ]
作者: mingyanguo 时间: 2007-04-03 17:27
ft
这么大的字看的头晕,用不着这么激动吧。
作者: mik 时间: 2007-04-03 18:54
汗~ 4 楼的,编辑一下格式吧
作者: mik 时间: 2007-04-03 19:01
另:这个问题可以与 mq110 讨论讨论,他需要这方面的信息。
作者: cjaizss 时间: 2007-04-03 19:17
原帖由 mik 于 2007-4-3 19:01 发表于 7楼
另:这个问题可以与 mq110 讨论讨论,他需要这方面的信息。
那天和mq110在msn上聊了很久,他的需求我大致清楚了,也给了他一定的建议。
作者: gvim 时间: 2007-04-04 01:02
诺伊曼和哈佛 不应该是dsp和mips的很大区别。mips和大量现代处理器都早已经使用了哈佛结构。
我个人觉得最大的区别是在对待特殊数据流和指令流上的差异,还有一些特殊运算指令,导致dsp在数值运算上的效率高于普通处理器(包括常见的嵌入式处理其)。
首先是 部分dsp使用的vliw,数据并发度大大提高
其次是 dsp实现的一些特殊浮点处理指令,比如某些dsp内置卷积运算指令,这种指令在通用处理器里面十分罕见。很明显的例子,在某些ARM处理器里面,没有硬件除法指令,为了完成一次除法,需要使用加法和位移操作编写N行代码。dsp里还有不少浮点处理单元和浮点寄存器。
最后是 编译器的效率。普遍来说,专用编译器比通用编译器(比如gcc的一些移植版本)产生的代码效率高不少。
[ 本帖最后由 gvim 于 2007-4-4 01:06 编辑 ]
作者: doudouya 时间: 2007-04-04 08:42
好贴,留名!!!顶一下!
作者: prolj 时间: 2007-04-04 09:11
DSP往往是专用芯片,很多功能都经过了特别的优化,很多指令也是优化硬件实现的,解决某方面问题效率很高,速度都很快。
CPU通用,虽然主频很高,可是分频后速度就不是很快了。
MIPS是一种CPU,当然也可以修改一下作DSP。
哈佛结构在某种程度上提供了一些并行,所以会快一些。
作者: zllfdd 时间: 2007-04-04 10:34
mips是一种通用cpu,好多东西要用软件实现
dsp更像是专用的芯片,可以编程,但指令集和用途都是面向特殊应用的,字面意思就是数字信号处理,好多东西是用硬件实现的
不管是结构还是其它什么,都是应用决定的
忽然发现我老喜欢掺合这些事情
作者: mik 时间: 2007-04-04 18:45
to w3g8:
抱歉~ 我编辑了你的贴子,原贴字太大了,难看。字体改小了好看多了
.
[ 本帖最后由 mik 于 2007-4-4 18:47 编辑 ]
作者: solomoon 时间: 2007-04-05 16:55
dsp是面向数字信号处理中大量矩阵、浮点、fft、卷积等运算型的运用非常广泛的一类芯片的简称。
这里的mips似乎很难和dsp比较。
作者: cjaizss 时间: 2007-04-05 17:06
原帖由 solomoon 于 2007-4-5 16:55 发表于 14楼
dsp是面向数字信号处理中大量矩阵、浮点、fft、卷积等运算型的运用非常广泛的一类芯片的简称。
这里的mips似乎很难和dsp比较。
楼主的意思应该是把mips和DSP中可以编程甚至可以嵌操作系统的一类来进行比较。
其实DSP有两个意思,一是数字信号处理,一是数字信号处理器。
然而并不是所有DSP都能拿来做CPU用,有很多是完全专用的。
作者: beepbug 时间: 2007-04-16 12:09
DSP(Digital Signal Processor)是数字信号处理器,MIPS是一种通用CPU。两者怎么比较?
上海的陈进,说他的汉芯是双核,其实一个DSP加一个CPU。把概念也搞混了。
作者: SuperZ 时间: 2007-05-26 21:41
MIPS是一种通用CPU,和DSP的用处完全不同。
CPU看中的是事物处理能力,比较分支判断十分重要。
DSP看中的是数据处理能力,数学运算能力更重要。
作者: logologin 时间: 2007-06-02 16:34
好帖,分享中。。。。。。。。。。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) |
Powered by Discuz! X3.2 |