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