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