關(guān) 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 學(xué)習(xí)方法與實踐 > DSP與普通MCU的區(qū)別

        DSP與普通MCU的區(qū)別

        ——
        作者: 時間:2007-10-24 來源:嵌入式在線論壇 收藏
        考慮一個數(shù)字信號處理的實例,比如有限沖擊響應(yīng)濾波器(FIR)。用數(shù)學(xué)語言來說,F(xiàn)IR濾波器是做一系列的點(diǎn)積。取一個輸入量和一個序數(shù)向量,在系數(shù)和輸入樣本的滑動窗口間作乘法,然后將所有的乘積加起來,形成一個輸出樣本。

        類似的運(yùn)算在數(shù)字信號處理過程中大量地重復(fù)發(fā)生,使得為此設(shè)計的器件必須提供專門的支持,促成了了器件與通用處理器(GPP)的分流:

        1 對密集的乘法運(yùn)算的支持

        GPP不是設(shè)計來做密集乘法任務(wù)的,即使是一些現(xiàn)代的GPP,也要求多個指令周期來做一次乘法。而處理器使用專門的硬件來實現(xiàn)單周期乘法。處理器還增加了累加器寄存器來處理多個乘積的和。累加器寄存器通常比其他寄存器寬,增加稱為結(jié)果bits的額外bits來避免溢出。同時,為了充分體現(xiàn)專門的乘法-累加硬件的好處,幾乎所有的DSP的指令集都包含有顯式的MAC指令。

        2 存儲器結(jié)構(gòu)

        傳統(tǒng)上,GPP使用馮.諾依曼存儲器結(jié)構(gòu)。這種結(jié)構(gòu)中,只有一個存儲器空間通過一組總線(一個地址總線和一個數(shù)據(jù)總線)連接到處理器核。通常,做一次乘法會發(fā)生4次存儲器訪問,用掉至少四個指令周期。

        大多數(shù)DSP采用了哈佛結(jié)構(gòu),將存儲器空間劃分成兩個,分別存儲程序和數(shù)據(jù)。它們有兩組總線連接到處理器核,允許同時對它們進(jìn)行訪問。這種安排將處理器存貯器的帶寬加倍,更重要的是同時為處理器核提供數(shù)據(jù)與指令。在這種布局下,DSP得以實現(xiàn)單周期的MAC指令。

        還有一個問題,即現(xiàn)在典型的高性能GPP實際上已包含兩個片內(nèi)高速緩存,一個是數(shù)據(jù),一個是指令,它們直接連接到處理器核,以加快運(yùn)行時的訪問速度。從物理上說,這種片內(nèi)的雙存儲器和總線的結(jié)構(gòu)幾乎與哈佛結(jié)構(gòu)的一樣了。然而從邏輯上說,兩者還是有重要的區(qū)別。

        GPP使用控制邏輯來決定哪些數(shù)據(jù)和指令字存儲在片內(nèi)的高速緩存里,其程序員并不加以指定(也可能根本不知道)。與此相反,DSP使用多個片內(nèi)存儲器和多組總線來保證每個指令周期內(nèi)存儲器的多次訪問。在使用DSP時,程序員要明確地控制哪些數(shù)據(jù)和指令要存儲在片內(nèi)存儲器中。程序員在寫程序時,必須保證處理器能夠有效地使用其雙總線。

        此外,DSP處理器幾乎都不具備數(shù)據(jù)高速緩存。這是因為DSP的典型數(shù)據(jù)是數(shù)據(jù)流。也就是說,DSP處理器對每個數(shù)據(jù)樣本做計算后,就丟棄了,幾乎不再重復(fù)使用。

        3 零開銷循環(huán)

        如果了解到DSP算法的一個共同的特點(diǎn),即大多數(shù)的處理時間是花在執(zhí)行較小的循環(huán)上,也就容易理解,為什么大多數(shù)的DSP都有專門的硬件,用于零開銷循環(huán)。所謂零開銷循環(huán)是指處理器在執(zhí)行循環(huán)時,不用花時間去檢查循環(huán)計數(shù)器的值、條件轉(zhuǎn)移到循環(huán)的頂部、將循環(huán)計數(shù)器減1。

        與此相反,GPP的循環(huán)使用軟件來實現(xiàn)。某些高性能的GPP使用轉(zhuǎn)移預(yù)報硬件,幾乎達(dá)到與硬件支持的零開銷循環(huán)同樣的效果。

        4 定點(diǎn)計算

        大多數(shù)DSP使用定點(diǎn)計算,而不是使用浮點(diǎn)。雖然DSP的應(yīng)用必須十分注意數(shù)字的精確,用浮點(diǎn)來做應(yīng)該容易的多,但是對DSP來說,廉價也是非常重要的。定點(diǎn)機(jī)器比起相應(yīng)的浮點(diǎn)機(jī)器來要便宜(而且更快)。為了不使用浮點(diǎn)機(jī)器而又保證數(shù)字的準(zhǔn)確,DSP處理器在指令集和硬件方面都支持飽和計算、舍入和移位。


        關(guān)鍵詞: DSP MCU MCU和嵌入式微處理器

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 沙洋县| 甘泉县| 体育| 五指山市| 泽库县| 鄯善县| 锡林浩特市| 松原市| 桐梓县| 曲周县| 洪湖市| 大渡口区| 竹山县| 乐山市| 广元市| 合作市| 曲靖市| 峨眉山市| 墨脱县| 云林县| 黄平县| 蓬安县| 台山市| 崇义县| 卢龙县| 十堰市| 鄂托克前旗| 张家港市| 大丰市| 岳池县| 大足县| 斗六市| 乌拉特后旗| 乌鲁木齐县| 贡觉县| 酒泉市| 准格尔旗| 诏安县| 安仁县| 弥勒县| 思南县|