立即了解微控制器(MCU)領(lǐng)域的高端產(chǎn)品,您將發(fā)現(xiàn)具有與微處理器領(lǐng)域相似的微架構(gòu)和指令集特性的IC。實(shí)際上,德州儀器(TI)和飛思卡爾等公司都提供具有共享傳統(tǒng)的MCU和嵌入式目標(biāo)微處理器。不過,這兩個(gè)細(xì)分市場(chǎng)之間存在顯著差異,從公司的芯片設(shè)計(jì)和制造戰(zhàn)略到集成功能集以及硬件中根深蒂固的軟件支持。嵌入式設(shè)計(jì)團(tuán)隊(duì)必須仔細(xì)考慮他們的應(yīng)用,以便在考慮設(shè)備選擇之前,正確選擇采用MCU或微處理器路徑。從高層次看MCU和微處理器技術(shù),看起來這些細(xì)分市場(chǎng)相互對(duì)立。兩個(gè)陣營中都有兼容或重疊的指令集,并且MCU時(shí)鐘頻率已升級(jí)到接近微處理器段底端的點(diǎn)。
可擴(kuò)展系列
讓我們考慮一些似乎是兼容處理器技術(shù)平滑發(fā)展的例子,這些技術(shù)將MCU產(chǎn)品線推向微處理器領(lǐng)域。飛思卡爾提供基于ARM Cortex-M4內(nèi)核的Kinetis MCU系列,包括K10,K20,K30,K40和K60 MCU等產(chǎn)品。在微處理器方面,飛思卡爾提供i.MX微處理器系列。 i.MX1/2,i.MXL和i.MXS系列基于ARM9內(nèi)核。 i.MX3x系列基于ARM11內(nèi)核,i.MX5x系列基于ARM Cortex-A8內(nèi)核。
顯然,基于飛思卡爾ARM的產(chǎn)品組合中使用的CPU核心存在差異。我們將在整篇文章中討論內(nèi)核中的體系結(jié)構(gòu)差異,但在簡(jiǎn)化的比較中,它們都支持相同的基本指令集。 Cortex-M4內(nèi)核針對(duì)低功耗和更小的芯片尺寸進(jìn)行了優(yōu)化。 ARM9,ARM11和ARM Cortex-A8進(jìn)程基本上代表了性能功能的擴(kuò)展。我們可以與飛思卡爾基于PowerPC的產(chǎn)品組合進(jìn)行大致相同的比較,包括MPC6x和MPC7x微處理器系列以及PowerPC MCU系列。
對(duì)于TI(圖1),基于ARM的系列和以DSP為中心的處理器都有一個(gè)平行的故事。 Stellaris MCU系列基于ARM-Cortex M3內(nèi)核,包括3000,5000,6000,8000和9000系列MCU。 Sitara微處理器系列包括基于ARM9的AM1x處理器和基于Cortex-A8的ARM3x處理器。
圖1:TI Concerto MCU系列基于該公司的C2000系列架構(gòu),結(jié)合了ARM Cortex-M3內(nèi)核和支持浮點(diǎn)的,以DSP為中心的內(nèi)核。
MCU與微處理器性能的關(guān)系
MCU和微處理器領(lǐng)域確實(shí)從高層次看起來是連續(xù)的。您幾乎可以考慮兩者之間的邊界,例如,比較16位和32位MCU,您可以在許多應(yīng)用程序中重疊選擇。但這樣做是錯(cuò)誤的。讓我們深入挖掘,找出原因。
從某些方面來看,MCU和微處理器從性能角度來看是非常接近的。考慮EEMBC(Embedded Microprocessor Benchmark Consortium)發(fā)布的CoreMark基準(zhǔn)測(cè)試。具體來說,讓我們討論從比較中消除時(shí)鐘速度的CoreMark/Mhz分?jǐn)?shù)。飛思卡爾Kinetis MCU的公布分?jǐn)?shù)范圍為2.05至2.95。 i.MX5系列的公布分?jǐn)?shù)范圍為2.28至2.45。
Kinetis和i.MX5的性能接近于Kinetis甚至在每MHz的基礎(chǔ)上占據(jù)上風(fēng)。當(dāng)然我們知道i.MX5速度更快,部分原因是時(shí)鐘速度。在i.MX產(chǎn)品組合中,最大時(shí)鐘速度從400 MHz擴(kuò)展到1.2 GHz。最快的Kinetis處理器運(yùn)行速度為150 MHz,盡管飛思卡爾已經(jīng)宣布了200 MHz設(shè)備的計(jì)劃。讓我們根據(jù)圖片中的時(shí)鐘速度重新考慮CoreMark得分。運(yùn)行頻率為800 MHz的i.MX5得分為1964,而150 MHz MCU的最高Kinetis得分為427。
時(shí)鐘速度差異
實(shí)際上,從時(shí)鐘速度開始,由于多種原因,MCU和微處理器性能之間仍然存在顯著差距。最大時(shí)鐘速度取決于制造過程和CPU微體系結(jié)構(gòu)。
我們都知道隨著制造商將摩爾定律推向更精細(xì)的工藝幾何形狀,時(shí)鐘速度會(huì)上升。 MCU將始終位于較舊的進(jìn)程上。 TI的C2000營銷經(jīng)理Sangmin Chon表示,“在MCU中,我們將永遠(yuǎn)落后于幾個(gè)節(jié)點(diǎn)。” Chon指出,與微處理器相比,MCU通常部署在更具環(huán)境挑戰(zhàn)性的應(yīng)用中,例如高溫應(yīng)用。這一事實(shí)導(dǎo)致MCU制造商依賴強(qiáng)大的更保守的工藝節(jié)點(diǎn)。
現(xiàn)在讓我們考慮一些微控制器元件,這些元件將控制MCU的時(shí)鐘速度。深度流水線是一項(xiàng)重要功能,可以加快微處理器的時(shí)鐘速度。一些微處理器使用了20級(jí)或更多級(jí)。最近的趨勢(shì)更多的是10個(gè)階段,而MCU通常依賴于3到5個(gè)階段。
我們現(xiàn)在看一個(gè)差異很小的例子。飛思卡爾最快的PowerPC MCU基于具有4級(jí)的e300內(nèi)核。 MPC6x和MPC7x微處理器基于具有7級(jí)的e600內(nèi)核。從理論上講,e300內(nèi)核的運(yùn)行速度為667 MHz,而e600的運(yùn)行速度為1.8 Ghz。管道不是唯一的門控因素,但它是一個(gè)重要因素。
當(dāng)然,MCU設(shè)計(jì)人員可以增加流水線深度,但這樣做與許多公認(rèn)的MCU特性背道而馳。例如,考慮中斷響應(yīng)。中斷要求CPU在上下文切換后重新加載管道,因此存在許多沒有完成指令的周期。相對(duì)于微處理器,MCU在時(shí)鐘速度方面已經(jīng)處于劣勢(shì),因此管道重載過程會(huì)在長(zhǎng)管道中產(chǎn)生不可接受的延遲。
長(zhǎng)管道也會(huì)影響硅足跡,芯片尺寸直接影響成本。微處理器市場(chǎng)更愿意接受更高的價(jià)格以獲得更好的性能,而在大多數(shù)基于MCU的系統(tǒng)中,成本仍然是一個(gè)巨大的問題。
內(nèi)存注意事項(xiàng)
讓我們繼續(xù)比較MCU中相對(duì)于微處理器的內(nèi)存情況以及內(nèi)存實(shí)現(xiàn)對(duì)應(yīng)用程序的影響。集成內(nèi)存一直是MCU領(lǐng)域的一個(gè)決定性原則,可以追溯到最早的產(chǎn)品,如8051.最初由英特爾設(shè)計(jì),它至今仍然很受歡迎,并被許多制造商銷售。
TI的Chon說:“當(dāng)您想到嵌入式MCU空間時(shí),您會(huì)想到具有嵌入式存儲(chǔ)器的設(shè)備。”Chon補(bǔ)充說,在大多數(shù)應(yīng)用中,內(nèi)存要求將指導(dǎo)設(shè)計(jì)團(tuán)隊(duì)選擇MCU或MPU。大多數(shù)基于MCU的設(shè)計(jì)依靠集成的閃存來存儲(chǔ)代碼.TI的頂級(jí)ARM MCU,Stellaris 9000系列,集成了512 KB的閃存(圖2)。目前市場(chǎng)上的MCU集成了幾兆字節(jié)的閃存,但很明顯,MCU可以處理的應(yīng)用程序的大小受到限制。
圖2:TIS基于ARM Cortex-M3的Stellaris系列中的9000系列MCU集成了512 KB的閃存用于代碼存儲(chǔ)。
然后,片上閃存故事也有例外。例如,恩智浦半導(dǎo)體正在使用一種名為Quad SPI的接口(有時(shí)稱為SPIFI用于SPI閃存接口),其中包含許多MCU。 Quad SPI鏈路使用4條線,可以將閃存的訪問速度提高四倍。恩智浦表示,該接口可以產(chǎn)生40 Mbps的讀取速率。
恩智浦基于ARM Cortex-M4的LPC4300 MCU系列中的首批產(chǎn)品未集成任何閃存。實(shí)際上,LPC4330和LPC4350 MCU完全依賴于四SPI連接的存儲(chǔ)器。外部閃存被視為MCU存儲(chǔ)器映射的一部分,MCU可以從外部存儲(chǔ)器啟動(dòng)。即使恩智浦推出集成閃存的LPC4300 MCU,Quad SPI功能也會(huì)派上用場(chǎng),讓設(shè)計(jì)團(tuán)隊(duì)可以選擇應(yīng)用中所需的內(nèi)存量。恩智浦產(chǎn)品營銷經(jīng)理Gordon Cooper表示,靈活性在多媒體和圖形應(yīng)用中尤為重要,因?yàn)榧砷W存可以處理應(yīng)用程序所需的代碼大小。該接口不提供與微處理器一起使用的高速DRAM接口中的速度類型,但Quad SPI仍然具有MCU中通常不具備的可擴(kuò)展性。
內(nèi)存管理或保護(hù)
大多數(shù)MCU和微處理器之間的另一個(gè)主要區(qū)別在于內(nèi)存管理或保護(hù)。這里討論的所有微處理器都將存儲(chǔ)器管理單元(MMU)集成為微體系結(jié)構(gòu)的一個(gè)特征。相比之下,大多數(shù)MCU集成了通常稱為內(nèi)存保護(hù)單元的內(nèi)容。
MMU和內(nèi)存保護(hù)單元均可用于對(duì)內(nèi)存空間進(jìn)行分區(qū),并保護(hù)關(guān)鍵任務(wù)代碼和數(shù)據(jù)免遭篡改。例如,內(nèi)存分區(qū)可以專用于一個(gè)CPU任務(wù)的私人使用。操作系統(tǒng)還可以保留對(duì)存儲(chǔ)區(qū)域的訪問。 MMU更進(jìn)一步,虛擬化內(nèi)存空間,允許操作系統(tǒng)無縫訪問碎片存儲(chǔ)器映射。
MMU的存在或缺乏是大多數(shù)設(shè)計(jì)團(tuán)隊(duì)考慮處理器的另一個(gè)關(guān)鍵指導(dǎo)點(diǎn)。如果您的產(chǎn)品將運(yùn)行Linux等通用操作系統(tǒng),則需要MMU。嵌入式應(yīng)用程序的大多數(shù)實(shí)時(shí)操作系統(tǒng)與MMU或內(nèi)存保護(hù)單元同樣適用。
雖然很少見,但您可以在選定的MCU中找到完整的MMU功能。例如,飛思卡爾PowerPC MCU系列包括一個(gè)MMU。 Atmel(圖3)還在其基于ARM9的SAM9產(chǎn)品系列中集成了MMU。
圖3:Atmel的SAM9XE MCU系列基于包含MMU的ARM9內(nèi)核。大多數(shù)MCU僅集成了內(nèi)存保護(hù)單元。
在Atmel的案例中,有一個(gè)適用于產(chǎn)品的命名法。 Atmel稱SAM9R和SAM9M系列為嵌入式微處理器。它稱兄弟SAM9XE產(chǎn)品為MCU。嵌入式微處理器提供更高的時(shí)鐘速度,最高可達(dá)400 MHz,并包括DRAM接口。但是,所有基于ARM9的產(chǎn)品都包含MMU,并且所有產(chǎn)品都以MCU方式集成了外設(shè)功能。
周邊集成
已經(jīng)提到了外設(shè)集成,讓我們?cè)谶@個(gè)領(lǐng)域更深入一點(diǎn)。如今,微處理器和MCU都集成了豐富的外設(shè)功能,但組合通常存在差異。在微處理器上,您通常會(huì)找到主要的數(shù)字外設(shè)功能。典型示例包括以太網(wǎng)和USB,圖形控制器和音頻控制器。
在MCU空間中,您還可以找到連接外圍設(shè)備和圖形控制器,盡管通常針對(duì)較小的低分辨率顯示器。但是,在MCU中,您通常會(huì)找到許多模擬外設(shè),例如數(shù)據(jù)轉(zhuǎn)換器和脈沖寬度調(diào)制(PWM)外設(shè)。同樣總有例外。前面提到的Atmel嵌入式微處理器包括A/D轉(zhuǎn)換器和PWM。許多飛思卡爾的i.MX微處理器包括A/D轉(zhuǎn)換器,定時(shí)器,模擬音頻功能和PWM,如圖4所示。
圖4:飛思卡爾i.MX微處理器系列的一些成員包括以模擬為中心的外設(shè),如MCU中常見的外設(shè),包括i.MX251所示的A/D轉(zhuǎn)換器和PWM。
客戶驅(qū)動(dòng)的決策
盡管微處理器和MCU空間之間存在技術(shù)差異,但設(shè)計(jì)團(tuán)隊(duì)將面臨必須在高端MCU和低端微處理器之間進(jìn)行選擇的情況。在這些客戶的推動(dòng)下,IC制造商正在對(duì)重疊空間作出反應(yīng)。 TI的Chon指出,“從微處理器方面來看,我們確實(shí)看到線路模糊。”
TI所做的一件事是為其基于ARM9和Cortex-A8的處理器引入StarterWare軟件開發(fā)包。 StarterWare是免費(fèi)的,在許多情況下無需復(fù)雜的操作系統(tǒng)。此外,該工具還可以快速開發(fā)具有USB和網(wǎng)絡(luò)堆棧等功能的系統(tǒng)。事實(shí)上,該軟件更像是公司隨MCU提供的StellarisWare工具,而不是它歷史上為微處理器客戶提供的基于操作系統(tǒng)的工具。
這也是客戶的需求,推動(dòng)了TI的ARM-plus-DSP產(chǎn)品在MCU和微控制器領(lǐng)域的發(fā)展。從外部看,您可能會(huì)認(rèn)為TI希望在兩個(gè)部分提供類似的架構(gòu),從而提供可擴(kuò)展的性能和功能集。
實(shí)際上,客戶出于完全無關(guān)的原因推動(dòng)了ARM-plus-DSP產(chǎn)品。對(duì)于TMS320C6A816x和OMAP系列,客戶需要DSP來處理數(shù)學(xué)密集型的多媒體和通信中心例程,同時(shí)還需要能夠托管復(fù)雜操作系統(tǒng)和用戶應(yīng)用程序的處理器。在Concerto MCU的情況下,客戶正在尋找ARM內(nèi)核的便利性,因此很容易實(shí)現(xiàn)USB和網(wǎng)絡(luò)堆棧等功能。在MCU的情況下,DSP主要針對(duì)工業(yè)類應(yīng)用,如電機(jī)和驅(qū)動(dòng)器的實(shí)時(shí)控制。
查看應(yīng)用程序需求
在這里總結(jié)我們的討論,消息不是一個(gè)簡(jiǎn)單的消息。 MCU和微處理器部分正在向重疊方向發(fā)展,有些情況可能會(huì)在您的設(shè)計(jì)中足夠。您應(yīng)該通過高級(jí)別的應(yīng)用程序要求和選擇來啟動(dòng)決策過程,例如是否需要強(qiáng)大的操作系統(tǒng)導(dǎo)致微處理器,或者系統(tǒng)占用空間是否要求代碼適合MCU的集成內(nèi)存。 IC制造商建議,在許多情況下,設(shè)計(jì)團(tuán)隊(duì)知道他們將遵循MCU或微控制器設(shè)計(jì)路徑。如果選擇模糊,團(tuán)隊(duì)必須密切評(píng)估微處理器外圍集成的增長(zhǎng)趨勢(shì),或者M(jìn)CU中出現(xiàn)的時(shí)鐘頻率和外部存儲(chǔ)器支持的不斷增加。正是功能集中當(dāng)前約定的這些例外可能會(huì)導(dǎo)致正確的選擇。
-
微控制器
+關(guān)注
關(guān)注
48文章
7489瀏覽量
151048 -
處理器
+關(guān)注
關(guān)注
68文章
19165瀏覽量
229125 -
cpu
+關(guān)注
關(guān)注
68文章
10825瀏覽量
211149
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論