0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CPU內核中的體系結構差異研究

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-01-25 08:56 ? 次閱讀

立即了解微控制器MCU)領域的高端產品,您將發(fā)現具有與微處理器領域相似的微架構和指令集特性的IC。實際上,德州儀器TI)和飛思卡爾等公司都提供具有共享傳統(tǒng)的MCU和嵌入式目標微處理器。不過,這兩個細分市場之間存在顯著差異,從公司的芯片設計和制造戰(zhàn)略到集成功能集以及硬件中根深蒂固的軟件支持。嵌入式設計團隊必須仔細考慮他們的應用,以便在考慮設備選擇之前,正確選擇采用MCU或微處理器路徑。從高層次看MCU和微處理器技術,看起來這些細分市場相互對立。兩個陣營中都有兼容或重疊的指令集,并且MCU時鐘頻率已升級到接近微處理器段底端的點。

可擴展系列

讓我們考慮一些似乎是兼容處理器技術平滑發(fā)展的例子,這些技術將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內核針對低功耗和更小的芯片尺寸進行了優(yōu)化。 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處理器。

CPU內核中的體系結構差異研究

圖1:TI Concerto MCU系列基于該公司的C2000系列架構,結合了ARM Cortex-M3內核和支持浮點的,以DSP為中心的內核。

MCU與微處理器性能的關系

MCU和微處理器領域確實從高層次看起來是連續(xù)的。您幾乎可以考慮兩者之間的邊界,例如,比較16位和32位MCU,您可以在許多應用程序中重疊選擇。但這樣做是錯誤的。讓我們深入挖掘,找出原因。

從某些方面來看,MCU和微處理器從性能角度來看是非常接近的??紤]EEMBC(Embedded Microprocessor Benchmark Consortium)發(fā)布的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中,我們將永遠落后于幾個節(jié)點?!?Chon指出,與微處理器相比,MCU通常部署在更具環(huán)境挑戰(zhàn)性的應用中,例如高溫應用。這一事實導致MCU制造商依賴強大的更保守的工藝節(jié)點。

現在讓我們考慮一些微控制器元件,這些元件將控制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的系統(tǒng)中,成本仍然是一個巨大的問題。

內存注意事項

讓我們繼續(xù)比較MCU中相對于微處理器的內存情況以及內存實現對應用程序的影響。集成內存一直是MCU領域的一個決定性原則,可以追溯到最早的產品,如8051.最初由英特爾設計,它至今仍然很受歡迎,并被許多制造商銷售。

TI的Chon說:“當您想到嵌入式MCU空間時,您會想到具有嵌入式存儲器的設備。”Chon補充說,在大多數應用中,內存要求將指導設計團隊選擇MCU或MPU。大多數基于MCU的設計依靠集成的閃存來存儲代碼.TI的頂級ARM MCU,Stellaris 9000系列,集成了512 KB的閃存(圖2)。目前市場上的MCU集成了幾兆字節(jié)的閃存,但很明顯,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和微處理器之間的另一個主要區(qū)別在于內存管理或保護。這里討論的所有微處理器都將存儲器管理單元(MMU)集成為微體系結構的一個特征。相比之下,大多數MCU集成了通常稱為內存保護單元的內容。

MMU和內存保護單元均可用于對內存空間進行分區(qū),并保護關鍵任務代碼和數據免遭篡改。例如,內存分區(qū)可以專用于一個CPU任務的私人使用。操作系統(tǒng)還可以保留對存儲區(qū)域的訪問。 MMU更進一步,虛擬化內存空間,允許操作系統(tǒng)無縫訪問碎片存儲器映射。

MMU的存在或缺乏是大多數設計團隊考慮處理器的另一個關鍵指導點。如果您的產品將運行Linux等通用操作系統(tǒng),則需要MMU。嵌入式應用程序的大多數實時操作系統(tǒng)與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所示。

CPU內核中的體系結構差異研究

圖4:飛思卡爾i.MX微處理器系列的一些成員包括以模擬為中心的外設,如MCU中常見的外設,包括i.MX251所示的A/D轉換器和PWM。

客戶驅動的決策

盡管微處理器和MCU空間之間存在技術差異,但設計團隊將面臨必須在高端MCU和低端微處理器之間進行選擇的情況。在這些客戶的推動下,IC制造商正在對重疊空間作出反應。 TI的Chon指出,“從微處理器方面來看,我們確實看到線路模糊。”

TI所做的一件事是為其基于ARM9和Cortex-A8的處理器引入StarterWare軟件開發(fā)包。 StarterWare是免費的,在許多情況下無需復雜的操作系統(tǒng)。此外,該工具還可以快速開發(fā)具有USB和網絡堆棧等功能的系統(tǒng)。事實上,該軟件更像是公司隨MCU提供的StellarisWare工具,而不是它歷史上為微處理器客戶提供的基于操作系統(tǒng)的工具。

這也是客戶的需求,推動了TI的ARM-plus-DSP產品在MCU和微控制器領域的發(fā)展。從外部看,您可能會認為TI希望在兩個部分提供類似的架構,從而提供可擴展的性能和功能集。

實際上,客戶出于完全無關的原因推動了ARM-plus-DSP產品。對于TMS320C6A816x和OMAP系列,客戶需要DSP來處理數學密集型的多媒體和通信中心例程,同時還需要能夠托管復雜操作系統(tǒng)和用戶應用程序的處理器。在Concerto MCU的情況下,客戶正在尋找ARM內核的便利性,因此很容易實現USB和網絡堆棧等功能。在MCU的情況下,DSP主要針對工業(yè)類應用,如電機驅動器的實時控制。

查看應用程序需求

在這里總結我們的討論,消息不是一個簡單的消息。 MCU和微處理器部分正在向重疊方向發(fā)展,有些情況可能會在您的設計中足夠。您應該通過高級別的應用程序要求和選擇來啟動決策過程,例如是否需要強大的操作系統(tǒng)導致微處理器,或者系統(tǒng)占用空間是否要求代碼適合MCU的集成內存。 IC制造商建議,在許多情況下,設計團隊知道他們將遵循MCU或微控制器設計路徑。如果選擇模糊,團隊必須密切評估微處理器外圍集成的增長趨勢,或者MCU中出現的時鐘頻率和外部存儲器支持的不斷增加。正是功能集中當前約定的這些例外可能會導致正確的選擇。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7342

    瀏覽量

    150155
  • 處理器
    +關注

    關注

    68

    文章

    18930

    瀏覽量

    227293
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10702

    瀏覽量

    209450
收藏 人收藏

    評論

    相關推薦

    無線傳感器網絡的體系結構分析

    本文對無線傳感器網絡體系結構進行了較為深入的研究,從物理體系結構、軟件體系結構和通信體系結構三個層面進行了分析。
    發(fā)表于 11-03 16:24 ?8609次閱讀
    無線傳感器網絡的<b class='flag-5'>體系結構</b>分析

    無線傳感器網絡體系結構研究

    無線傳感器網絡體系結構研究0 引言  無線傳感器網絡由大量高密度分布的處于被觀測對象內部或周圍的傳感器節(jié)點組成、其節(jié)點不需要預先安裝或預先決定位置,這樣提高了動態(tài)隨機部署于不可達或危險地域的可行性
    發(fā)表于 03-23 14:57

    帶你了解Linux內核體系結構

    /arch 中找到依賴于體系結構的部分。(2)進程管理進程管理的重點是進程的執(zhí)行。在內核,這些進程稱為線程,代表了單獨的處理器虛擬化(線程代碼、數據、堆棧和 CPU 寄存器)。在用戶
    發(fā)表于 08-27 10:31

    SoC設計的片上通信體系結構研究,不看肯定后悔

    SoC設計的片上通信體系結構研究,不看肯定后悔
    發(fā)表于 05-26 06:30

    linux內核體系結構是由哪些部分組成的

    linux 內核體系結構系統(tǒng)空間用戶空間提高效率,分工合作安全角度不同模式下可執(zhí)行指令與可訪問的寄存器不同用戶空間與內核空間是程序執(zhí)行的兩種不同狀態(tài),我們可以通過系統(tǒng)調用和硬件終端來完成用戶的內核
    發(fā)表于 12-17 08:31

    了解體系結構 - 介紹 Arm 體系結構

    。該體系結構為軟件開發(fā)人員公開了一個通用的指令集和工作流程,也稱為程序員模型。這有助于確保架構的不同實現之間的互操作性,以便軟件可以在不同的 Arm 設備上運行。本指南為任何對此感興趣的人介紹了 Arm
    發(fā)表于 08-01 14:35

    Arm的DRTM體系結構規(guī)范

    的原理和術語,但也包含了顯著的差異。 本規(guī)范的結構如下: ?第2節(jié),DRTM體系結構概述,概述了DRTM,并介紹了該體系結構如何將DRTM映射到基于Arm的系統(tǒng)。本節(jié)介紹了與TCG定義
    發(fā)表于 08-08 07:45

    基于體系結構的國防經濟管理系統(tǒng)研究

    研究了分層軟件體系結構的優(yōu)點,根據分層軟件體系結構的特征,并結合國防經濟信息管理工作的實際,設計了完整的國防經濟信息管理體系結構模型,給出了基于模型的系統(tǒng)設
    發(fā)表于 07-08 09:02 ?9次下載

    軟件體系結構框架研究

    任何信息系統(tǒng)都需要一個體系結構來提供其戰(zhàn)略性描述。這將大大促進軟件的互操作性、集成性,提高開發(fā)效率,減少重復開發(fā),降低開發(fā)成本。體系結構是一個非常值得研究的課
    發(fā)表于 07-10 16:19 ?23次下載

    LTE體系結構

    LTE體系結構 LTE體系結構可以借助SAE 體系結構來做詳細描述。在SAE 體系結構,RNC部分功能、GGSN、SGSN 節(jié)點將被融合
    發(fā)表于 06-16 13:09 ?9771次閱讀

    基于InsiderThreat的安全防御體系結構研究_王輝

    基于InsiderThreat的安全防御體系結構研究_王輝
    發(fā)表于 03-19 11:38 ?0次下載

    軟件體系結構的分析

    軟件系統(tǒng)因具有節(jié)點眾多、節(jié)點間聯(lián)系復雜、隨時間演化、自組織臨界等特性可將其視為復雜系統(tǒng)。在軟件安全領域,對軟件體系結構的分析一直是研究的重點。軟件體系結構具有自身的脆性,這體現在軟件系統(tǒng)的運行過程
    發(fā)表于 11-24 10:34 ?15次下載
    軟件<b class='flag-5'>體系結構</b>的分析

    arm內核全解析_arm內核體系結構分類介紹

    本文介紹了arm內核的特點、體系結構、分類,以及對兩種典型的arm內核進行了詳細介紹說明。
    發(fā)表于 12-29 15:49 ?1.9w次閱讀
    arm<b class='flag-5'>內核</b>全解析_arm<b class='flag-5'>內核體系結構</b>分類介紹

    了解Linux體系結構內核結構

    用戶空間中包含了C庫,用戶的應用程序。在某些體系結構圖中還包含了shell,當然shell腳本也是Linux體系不可缺少的一部分。
    發(fā)表于 04-28 16:52 ?1008次閱讀
    了解Linux<b class='flag-5'>體系結構</b>和<b class='flag-5'>內核</b><b class='flag-5'>結構</b>

    Linux內核的處理器體系結構的詳細資料說明

    Linux 4.x內核已經支持幾十種的處理器體系結構,目前市面上最流行的兩種體系結構是x86和ARM。x86體系結構以Intel公司的PC和服務器市場為主導,ARM
    發(fā)表于 05-28 17:58 ?3次下載
    Linux<b class='flag-5'>內核</b>的處理器<b class='flag-5'>體系結構</b>的詳細資料說明