五個知識點搞清單片機和DSP的不同
在各大論壇和網(wǎng)站上,關(guān)于單片機和DSP的相關(guān)文章較多,基礎(chǔ)知識不夠牢固的初學者經(jīng)常會將這兩種不同的概念進行混淆,而網(wǎng)上的一些相關(guān)資料也不夠明確,因此很多朋友始終處于困惑的狀態(tài),DSP和單片機的區(qū)別究竟在哪呢?本文就將針對這一點,從不同的角度來為大家講解它們的區(qū)別。
本文引用地址:http://m.butianyuan.cn/article/201808/386457.htm存儲器結(jié)構(gòu)不同
單片機使用馮.諾依曼存儲器結(jié)構(gòu)。這種結(jié)構(gòu)中,只有一個存儲器空間通過一組總線(一個地址總線和一個數(shù)據(jù)總線)連接到處理器核。
大多數(shù)DSP采用了哈佛結(jié)構(gòu),將存儲器空間劃分成兩個,分別存儲程序和數(shù)據(jù)。
定點計算
大多數(shù)DSP使用定點計算,而不是使用浮點。為了不使用浮點機器而又保證數(shù)字的準確,DSP處理器在指令集和硬件方面都支持飽和計算、舍入和移位。
專門的尋址方式
DSP處理器往往都支持專門的尋址模式,例如,模塊(循環(huán))尋址、位倒序?qū)ぶ贰_@些非常專門的尋址模式在GPP中是不常使用的,只有用軟件來實現(xiàn)。
對密集的乘法運算的支持
單片機不是設計來做密集乘法任務的,即使是一些現(xiàn)代的GPP,也要求多個指令周期來做一次乘法。而DSP處理器使用專門的硬件來實現(xiàn)單周期乘法。DSP處理器還增加了累加器寄存器來處理多個乘積的和。累加器寄存器通常比其他寄存器寬,增加稱為結(jié)果bits的額外bits來避免溢出。
零開銷循環(huán)
單片機是Single-chipMicrocomputer的較準確譯法,但最能準確反映單片機設計思想、并且有長遠技術(shù)眼光的詞匯是Microcontroller(微控制器)。之所以出現(xiàn)Single-chipMicrocomputer一詞。
實在是因為早期,甚至到MSC-51時期,單片機準確地體現(xiàn)了Single-chipMicrocomputer的形態(tài)和內(nèi)容。然而發(fā)展到MSC-96,發(fā)展到新一代80C51、M68HC05、M68HC11系列單片機時,在單片機中著力擴展了各種控制功能,如:A/D、PWM、PCA計數(shù)器捕獲/比較邏輯、高速I/O口、WDT等。
已突破了Microcontroller的傳統(tǒng)內(nèi)容,朝Microcontroller的內(nèi)涵發(fā)展。因此,目前已到了該給單片機正名的時候了,國外已逐漸統(tǒng)一成Microcontroller。如果我們?nèi)匀槐A魡纹瑱C這一習慣叫法,則應把它認為是一個單片形態(tài)的微控制器,或直接稱作微控制器或單片微控制器,而不要再使用單片微型計算機或單片計算機這些詞匯了。此外,集成技術(shù)的最新進展之一是將CPU和外圍芯片,如程序存儲器,數(shù)據(jù)存儲器,并行,串行I/O口,定時/計數(shù)器,中斷控制器及其他控制部件集成在一下芯片中,制成單片機Single-chipMicrocomputer。
可以看到,單片機與DSP最大的區(qū)別之處就在于算法,兩者的主要區(qū)別也是基于算法的不同來進行識別的。對密集的乘法運算的支持方式不同也是算法不同的體現(xiàn)之一。相信在閱讀過本文之后,大家再看到DSP與單片機就不會產(chǎn)生疑惑了。
評論