在各大论坛和网站上,关于单片机和DSP的相关**较多,基础知识不够牢固的初学者经常会将这两种不同的概念进行混淆,而网上的一些相关资料也不够明确,因此很多朋友始终处于困惑的状态,DSP和单片机的区别究竟在哪呢?本文就将针对这一点,从不同的角度来为大家讲解它们的区别。
存储器结构不同
单片机使用冯。诺依曼存储器结构。这种结构中,只有一个存储器空间通过一组总线(一个地址总线和一个数据总线)连接到处理器核。
大多数DSP采用了哈佛结构,将存储器空间划分成两个,分别存储程序和数据。
alDSP和单片机有什么区别
定点计算
大多数DSP使用定点计算,而不是使用浮点。为了不使用浮点机器而又保证数字的准确,DSP处理器在指令集和硬件方面都支持饱和计算、舍入和移位。
专门的寻址方式
DSP处理器往往都支持专门的寻址模式,例如,模块(循环)寻址、位倒序寻址。这些非常专门的寻址模式在GPP中是不常使用的,只有用软件来实现。
对密集的乘法运算的支持
单片机不是设计来做密集乘法任务的,即使是一些现代的GPP,也要求多个指令周期来做一次乘法。而DSP处理器使用专门的硬件来实现单周期乘法。DSP处理器还增加了累加器寄存器来处理多个乘积的和。累加器寄存器通常比其他寄存器宽,增加称为结果bits的额外bits来避免溢出。
零开销循环
单片机是Single-chipMicrocomputer的较准确译法,但最能准确反映单片机设计思想、并且有长远技术眼光的词汇是Microcontroller(微控制器)。之所以出现Single-chipMicrocomputer一词。
实在是因为早期,甚至到MSC-51时期,单片机准确地体现了Single-chipMicrocomputer的形态和内容。然而发展到MSC-96,发展到新一代80C51、M68HC05、M68HC11系列单片机时,在单片机中着力扩展了各种控制功能,如:A/D、PWM、PCA计数器捕获/比较逻辑、高速I/O口、WDT等。
已突破了Microcontroller的传统内容,朝Microcontroller的内涵发展。因此,目前已到了该给单片机正名的时候了,国外已逐渐统一成Microcontroller。如果我们仍然保留单片机这一习惯叫法,则应把它认为是一个单片形态的微控制器,或直接称作微控制器或单片微控制器,而不要再使用单片微型计算机或单片计算机这些词汇了。此外,集成技术的最新进展之一是将CPU和外围芯片,如程序存储器,数据存储器,并行,串行I/O口,定时/计数器,中断控制器及其他控制部件集成在一下芯片中,制成单片机Single-chipMicrocomputer。
可以看到,单片机与DSP最大的区别之处就在于算法,两者的主要区别也是基于算法的不同来进行识别的。对密集的乘法运算的支持方式不同也是算法不同的体现之一。相信在阅读过本文之后,大家再看到DSP与单片机就不会产生疑惑了。 |