32位處理器推動(dòng)多媒體的發(fā)展
2005年2月A
隨著嵌入式系統(tǒng)朝著越來越復(fù)雜的方向快速發(fā)展,設(shè)計(jì)工程師必須面對(duì)如何選擇處理器的新挑戰(zhàn)。在許多先進(jìn)的應(yīng)用中,靈活、低成本的8位和16位微控制器(MCU)正在逐漸地被32位的系統(tǒng)芯片(SOC)所取代。當(dāng)然,8位和16位處理器在嵌入式系統(tǒng)中仍然保持其應(yīng)有的地位。但是,發(fā)展32位處理器的理由很多,如考慮系統(tǒng)成本、產(chǎn)品可擴(kuò)縮性和性能要求等,這僅是幾個(gè)例子。下面我們以多媒體市場(chǎng)為背景來討論轉(zhuǎn)向32位MCU的主要原因。
要了解為什么32位MCU在多媒體領(lǐng)域中如此流行,首先要考慮到8位MCU不具備保證多媒體系統(tǒng)進(jìn)行實(shí)時(shí)操作所需的帶寬和計(jì)算能力。16位MCU畢竟能提高速度和性能,另外,它們還比8位 MCU消耗更低的待機(jī)電流并且通常能提供更大的片內(nèi)存儲(chǔ)器。
一個(gè)很明顯的問題是,為什么不轉(zhuǎn)向16位MCU?答案很簡(jiǎn)單。采用32位MCU系統(tǒng)的實(shí)際成本與當(dāng)前可提供的許多16位MCU解決方案相當(dāng),但性能卻比16 位 MCU提高很多。下面簡(jiǎn)要指出造成這種成本相近的幾種原因。
制造工藝
隨著半導(dǎo)體制造工藝幾何尺寸不斷縮小,32位MCU結(jié)構(gòu)變得越來越便宜。芯片幾何尺寸減小,引起管芯尺寸變小,從而使每個(gè)圓片上可提供更多的管芯。這直接降低了每顆芯片的成本。另外,隨著32位MCU的制造工藝減小到0.18μm或0.13μm (而8位MCU一般為0.25μm工藝),能夠提高運(yùn)行速度。例如,大多數(shù)8位和16位MCU的正常工作速度低于100MHz,而0.13μm工藝的32位MCU能夠比這個(gè)速度高出許多倍。
有兩個(gè)主要原因可以解釋為何以較小的工藝尺寸設(shè)計(jì)8位MCU是不經(jīng)濟(jì)有效的。首先,由于8位MCU帶寬總體來說不夠高,因此工藝尺寸減小所帶來的任何速度提高都是無用的。第二,通常8位MCU的價(jià)格目標(biāo)為2美元左右,這個(gè)價(jià)格太低,無法支持某些更小工藝尺寸的實(shí)現(xiàn)。
更小工藝尺寸雖然不適合8位MCU的價(jià)格目標(biāo),但對(duì)32位MCU來說卻是個(gè)優(yōu)勢(shì),因?yàn)闇p小其工藝尺寸能給適合SOC的一組外圍電路留出余量。更重要的是,大約為5美元的價(jià)格與16位MCU的價(jià)格相當(dāng),但性能卻產(chǎn)生了飛躍。
編程模式
另外一個(gè)與價(jià)格有關(guān)的考慮是32位MPU結(jié)構(gòu)的編程模式。由于增加了處理器的數(shù)據(jù)總線位數(shù),還增加了一個(gè)由32位數(shù)據(jù)寄存器和地址寄存器組成的寄存器文件,所以大大提高了編譯器的支持能力。另外,32位MCU通常均支持16位和32位操作碼,從而增強(qiáng)了指令集結(jié)構(gòu)的靈活性,提高了代碼密度,并且使許多操作在單個(gè)內(nèi)核時(shí)鐘周期內(nèi)就可完成。
以上兩個(gè)特點(diǎn)都減少了對(duì)手工編制匯編代碼的依賴性,因此程序設(shè)計(jì)師主要使用諸如C語言的高級(jí)語言進(jìn)行編程。基于C語言的編程模式直接降低了開發(fā)和維護(hù)成本。32位MPU能夠?qū)⒐粳F(xiàn)有的應(yīng)用轉(zhuǎn)變成以前從未想到的MCU環(huán)境。
擴(kuò)展的外圍支持
如前所述,MCU在多媒體系統(tǒng)中通常起到系統(tǒng)控制器的作用。它們不適合用于大量的數(shù)據(jù)處理,這是數(shù)字信號(hào)處理器(DSP)做的工作。實(shí)際上,MCU控制DSP的運(yùn)行,并且管理人機(jī)界面、操作系統(tǒng)和與其它系統(tǒng)組成的連接。
正是這種與外圍電路的連接推動(dòng)了32位MCU的發(fā)展,許多廣泛應(yīng)用的外圍電路(高速USB2.0、PCI等等)都支持高速率數(shù)據(jù)傳送,但是用8位或16位MCU很難或無法處理這些數(shù)據(jù)流。例如,在網(wǎng)絡(luò)連通領(lǐng)域中,如果數(shù)據(jù)寄存器最大長(zhǎng)度為8位或16位,則無法支持全套的網(wǎng)絡(luò)協(xié)議。
8位和16位MCU的根本問題在于,以其有限的處理能力和很小的存儲(chǔ)器尋址范圍無法支持高速運(yùn)行。有些8位MCU只有幾個(gè)數(shù)據(jù)寄存器,沒有單獨(dú)的累加器。提供完整的寄存器文件非常重要,因?yàn)樗恍枰诖鎯?chǔ)器和累加器之間頻繁地傳送數(shù)據(jù)。另外,利用多個(gè)32位數(shù)據(jù)地址產(chǎn)生寄存器,能夠使性能得到極大地提高。32位MCU的這些特點(diǎn)帶來更密集的編譯碼、更寬的連續(xù)帶寬、以及如前所述的更靈活的編程模式。
作為一種與32位MCU競(jìng)爭(zhēng)的一種自然“策略”,16位MCU供應(yīng)商一直試圖擴(kuò)展16位MCU的內(nèi)部數(shù)據(jù)位數(shù),以達(dá)到不增加解決方案的最終成本而提高運(yùn)行速度的目的。這種方法可以起一些作用,但無法彌補(bǔ)性能的根本差距。
32位MCU系統(tǒng)的發(fā)展趨勢(shì)
與32位MCU平行發(fā)展的一個(gè)趨勢(shì)是將多種DSP功能集成在單芯片上。盡管當(dāng)前的大多數(shù)多媒體設(shè)計(jì)中使用一個(gè)MCU來控制一個(gè)DSP,但出于成本、尺寸和功耗的考慮,開發(fā)商一直試圖將這種功能性集成到單芯片上。另外提高32位MCU的時(shí)鐘速度,這有助于推動(dòng)這一趨勢(shì):時(shí)鐘速度越高意味著為完成信號(hào)處理提供更多的余量。
然而,MCU本身不適合有效的信號(hào)處理。因此,制造商一直試圖采用一些技術(shù)來彌補(bǔ)這一不足。
一種方法是采用多芯片模塊(MCM),即將DSP和MCU組合在單個(gè)封裝內(nèi)。這種方法的不足是,設(shè)計(jì)工程師必須按"50/50"的時(shí)間比例分配控制功能和處理功能;例如,一旦DSP超出時(shí)間,MCU將不能完成計(jì)算任務(wù)。另外,由于DSP內(nèi)核和MCU內(nèi)核相互獨(dú)立,需要兩套開發(fā)工具。
另外一種方法是使MCU具備DSP功能。這種方法只適合直接的信號(hào)處理應(yīng)用。MCU的時(shí)鐘速度和計(jì)算結(jié)構(gòu)本質(zhì)上不適合大量的數(shù)據(jù)計(jì)算。有些MCU試圖通過增加一個(gè)DSP的乘法累加器(MAC)來補(bǔ)償這種不足。但這種方法仍缺乏更先進(jìn)應(yīng)用所需要基本的“自下而上 ”結(jié)構(gòu)設(shè)計(jì) 。
最后一種方法是將MCU和DSP功能集成到單個(gè)處理器中,這些處理器采用了統(tǒng)一的結(jié)構(gòu),它不僅適于數(shù)字計(jì)算,而且也適于控制任務(wù)。這就是ADI公司Blackfin處理器系列的設(shè)計(jì)思想,即同時(shí)具備16位DSP和32位MCU的功能。通過平衡執(zhí)行控制任務(wù)和復(fù)雜運(yùn)算能力的需求,這種方法根據(jù)系統(tǒng)實(shí)時(shí)處理的需要可以實(shí)施100%的控制或100%的計(jì)算。
今后,32位MCU將繼續(xù)以低價(jià)格提供更高的處理速度和更多的功能。SOC技術(shù)將繼續(xù)把MCU功能和統(tǒng)一的連通性及強(qiáng)大的計(jì)算能力同時(shí)集成在一起,從而實(shí)現(xiàn)真正的單片解決方案。很明顯,這些32位SOC已經(jīng)對(duì)多媒體領(lǐng)域提出它們的要求,并且其變革這些市場(chǎng)的能力日趨明朗。各種MCU的比較如圖1所示,圖1示出了支持多媒體應(yīng)用的一般發(fā)展趨勢(shì),SOC具有集成的32位MCU高性能,適合多媒體應(yīng)用。低性能的8位和16位MCU適合控制應(yīng)用。
圖1
評(píng)論