數(shù)字信號(hào)控制器的新進(jìn)展
數(shù)字信號(hào)控制器的新進(jìn)展
數(shù)字信號(hào)控制器(DSC)已開(kāi)始在處理許多以往需由微控制器(MCU)和數(shù)字信號(hào)處理器(DSP)共同完成的復(fù)雜問(wèn)題上嶄露頭角。作為這兩種器件的一種混合,DSC隨時(shí)準(zhǔn)備加入它們的行列(見(jiàn)圖1)并將與其共存。
DSP作為一種專用微處理器(MPU),可以盡可能快的速度來(lái)執(zhí)行少量非常特定的指令和操作。實(shí)現(xiàn)該功能的傳統(tǒng)方法是采用硬件模擬濾波器(而不是基于軟件的數(shù)字技術(shù))。信號(hào)處理能力的一個(gè)主要方面就是實(shí)時(shí)性能。
由于要求處理的輸入信號(hào)是用于諸如電話、電視、多媒體系統(tǒng)和CD播放機(jī)等用途的,因此必須在沒(méi)有任何延遲的情況下對(duì)其進(jìn)行快速處理。如果DSP不能以足夠快的速度進(jìn)行信號(hào)處理,那么這些應(yīng)用將失去實(shí)際意義。
當(dāng)初開(kāi)發(fā)MCU的目的是以犧牲某些性能為代價(jià),利用可編程性來(lái)提供大量的靈活性。所有可由DSP完成的操作均可由MCU(或MPU,它與MCU是同類器件,只是少了集成的片上外圍元件)來(lái)完成。不同之處在于MCU的信號(hào)處理操作速度較慢,但它可對(duì)數(shù)據(jù)進(jìn)行許多其他類型的處理。因此,采用MCU的應(yīng)用一般都有一個(gè)可能需要執(zhí)行若干不同類型的任務(wù)(而不是那種DSP算法標(biāo)志性的重復(fù)性數(shù)字搗弄)的控制電路。
MCU被優(yōu)選用于完成一系列對(duì)來(lái)自各種信源的輸入數(shù)據(jù)的幾乎所有組合的邏輯、診斷和算術(shù)運(yùn)算,而DSP則在完成重復(fù)性的數(shù)字密集型任務(wù)方面具有很高的效率。
典型的DSP運(yùn)算
DSP所能高效執(zhí)行的重復(fù)性數(shù)字搗弄運(yùn)算主要是加法、乘法、延遲和陣列處理。圖2 示出了用于圖形和音頻處理的最常見(jiàn)的DSP運(yùn)算之一 —— 一種簡(jiǎn)單的有限脈沖響應(yīng)(FIR)濾波器。
對(duì)取自不同位置的數(shù)據(jù)進(jìn)行乘法和加法運(yùn)算,運(yùn)算結(jié)果存儲(chǔ)在一個(gè)臨時(shí)結(jié)果寄存器中。由于數(shù)據(jù)代表的是一個(gè)連續(xù)的信號(hào)流(如同一個(gè)模擬波形),因此被存儲(chǔ)在連續(xù)的存儲(chǔ)單元中。利用允許寄存器內(nèi)容(用于指出操作數(shù))自動(dòng)增加的尋址方式可對(duì)通常與這些數(shù)據(jù)一道使用的連續(xù)地址進(jìn)行高效處理。
通用DSP結(jié)構(gòu)被優(yōu)化,以實(shí)現(xiàn)這些簡(jiǎn)單操作的快速執(zhí)行,在一個(gè)周期里往往能夠執(zhí)行若干乘法和加法(MAC)運(yùn)算。
DSP和MCU的性能
DSP和MCU的某些性能一直被認(rèn)為是它們所*的,DSC則將它們統(tǒng)統(tǒng)納入其混合結(jié)構(gòu)中。這些*性能的基本說(shuō)明如下。
DSP的第一個(gè)基本要求就是用于執(zhí)行MAC運(yùn)算的專用硬件,以及累加(結(jié)果)寄存器中用于防止一系列MAC運(yùn)算的結(jié)果溢出的保護(hù)位。許多傳統(tǒng)MCU也包含MAC指令,盡管無(wú)法和頂級(jí)的專用DSP的并行MAC運(yùn)算能力(在一個(gè)周期里可完成許多運(yùn)算)相提并論。
DSP的另一個(gè)特定要求是能夠同時(shí)訪問(wèn)多個(gè)存儲(chǔ)單元,以實(shí)現(xiàn)數(shù)據(jù)和指令的同時(shí)獲取并提高吞吐量。這種被稱為Harvard體系的結(jié)構(gòu)要求數(shù)據(jù)和指令具有獨(dú)立的總線。雖然許多MCU仍然采用傳統(tǒng)的Von Neumann體系(用一條總線來(lái)獲取地址和數(shù)據(jù)),但不少M(fèi)CU目前已在使用Harvard體系。
DSP的第三個(gè)性能是可以形成地址,并在不產(chǎn)生執(zhí)行單元瓶頸的情況下獲取操作數(shù)。DSP的地址生成單元能夠在處理指令的同時(shí)獨(dú)立工作。
尋址方式被優(yōu)化,用于支持對(duì)存儲(chǔ)數(shù)據(jù)的順序存儲(chǔ)單元的訪問(wèn)。對(duì)MCU而言,這一屬性目前也已經(jīng)比較常見(jiàn)了——尋址方式(比如采用算后增量的寄存器間接尋址方式)允許MCU對(duì)編排形式與DSP相似的數(shù)據(jù)結(jié)構(gòu)進(jìn)行訪問(wèn)。
DSP的第四個(gè)重要的硬件單元——桶形寄存器是用于快速處理寄存器內(nèi)容以對(duì)數(shù)據(jù)進(jìn)行擴(kuò)縮的專用電路。定點(diǎn)DSP需要對(duì)數(shù)據(jù)進(jìn)行擴(kuò)縮以在浮點(diǎn)處理器上生成相同的有效動(dòng)態(tài)范圍。
可利用軟件對(duì)桶形寄存器的動(dòng)作進(jìn)行仿真,但這太費(fèi)時(shí)間,在實(shí)時(shí)視頻和音頻應(yīng)用中恐怕是不可行的。硬件桶形寄存器正在成為最新MCU的常見(jiàn)功能。
傳統(tǒng)MCU的通用性能是其與DSP屬性上最大的不同,這在它的指令集和尋址方式上均有所反映。MCU包含許多面向控制的指令、位處理指令以及可采用棧指針輕松實(shí)現(xiàn)的數(shù)據(jù)處理性能。專用棧指針和棧指針相對(duì)尋址簡(jiǎn)化了編譯器的操作,并可將編譯代碼優(yōu)化至可能的最小尺寸。
MCU的另一項(xiàng)性能是包容了片上外圍元件。盡管新型DSP目前包含某些外圍模塊(如存儲(chǔ)器和串行通信控制器),但MCU則往往是將其周?chē)耐鈬酒右约傻腜C板上器件