近期,靈動微電子發布了靈動“星”平臺,其全新高性能 MM32F5 微控制器系列。該系列在內核、總線和外設配置等多個方面進行了創新,內核上更是首次搭載了 Armv8-M 架構的“星辰” STAR-MC1 處理器,因此一經發布就獲得了大量用戶和媒體的關注。
很多用戶會咨詢“星辰”處理器相關的問題,特別是“星辰”處理器是什么樣的內核?相較于 Arm Cortex-M 系列內核又有什么差別?這里,為了讓大家對“星辰”處理器有一個快速的了解,并解答上述的這些問題,本文對“星辰”處理器的主要特色做一個梳理。
“星辰”處理器是什么?
如果用一句話介紹“星辰”處理器,那就是:安謀科技設計的一款基于 Armv8-M 架構的嵌入式處理器。這里,安謀科技是中國最大的芯片設計 IP 開發與服務供應商,而靈動微電子則是從安謀科技獲得了該處理器的正規使用授權,并于 MM32F5 系列中首次搭載了該處理器。
“星辰”處理器的幾大特點如下:
采用最先進的Armv8-M架構
處理器是基于指令集架構設計實現的運算和控制單元,而 Arm 處理器的指令集架構自誕生以來也在不斷的更新換代,目前市面上較為常見的 Arm MCU 架構包括 Armv6-M、Armv7-M和 Armv8-M 架構,其中,Armv6-M 架構的典型處理器有 Cortex-M0 和 Cortex-M0+,Armv7-M 架構的典型處理器有 Cortex-M3、Cortex-M4 和 Cortex-M7,而 Armv8-M 架構的典型處理器則有 Cortex-M23、Cortex-M33、Cortex-M55 和 “星辰”STAR-MC1。
經常關注 MCU 前沿動態的話一定會有所了解,近幾年來國際上最主要的幾家 MCU 大廠的新產品已經逐漸從 Armv7-M 架構過度到了 Armv8-M 架構,如ST、NXP、Renesas等。那么 Armv8-M 架構相較于 Armv7-M 架構,究竟有哪些優勢?
性能提升
Armv8-M 架構優化了指令集和流水線設計,其同級別產品的性能相較于 Armv7-M架構普遍提高20% 以上。
更安全
Armv8-M 架構引入了 TrustZone 技術,并強化了內存保護單元(MPU),讓代碼運行在更安全的環境中。
可擴展
Armv8-M 架構引入了協處理器接口,允許 MCU 產商自己開發協處理器和自定義指令,相較于傳統的基于地址映射和中斷的協處理器可大幅提升執行效率。特別是Armv8.1-M架構,還預留了用戶自定義指令的接口。
集成 DSP 和 FPU
彌補了 Cortex-M3 的短板,DSP 性能相較于 Cortex-M3 提升10倍。
集成內存子系統
在計算機體系結構中,除了處理器內核的設計外(指令集、流水線、ALU等等),存儲架構的設計也是重要的一環。在特定應用場景下,高效率的存儲訪問對系統整體性能所帶來的提升效果可能比提高內核性能本身還要來得明顯。而提升存儲訪問效率的方法往往有兩個:
層次化設計(Memory Hierarchy)
層次化設計的核心是緩存(Cache)。在嵌入式系統中,處理器運行速度遠快于 Flash 的運行速度(典型值是 2:1 到16:1), 而處理器要從 Flash 中獲取執行代碼,如果 Flash 速度不做優化的話,可以說處理器跑的再快也會受到 Flash 讀取速度瓶頸的制約。而最有效的解決方法就是在處理器和 Flash 之間加入緩存,這里的緩存可能是多層的,一般把靠近處理器一端的緩存叫做一級緩存(Level 1或簡寫為 L1),而靠近 Flash 一端的緩存叫做二級緩存(Level 2 或簡寫為 L2),一般情況下,因 L2 緩存和 CPU 之間還間隔了一個總線矩陣,因此 L1 緩存的效率往往高于 L2 緩存。
增加并行訪問路徑提高吞吐率
一般而言,越高性能的內核,其并行訪問通路越多,多條通路可并發訪問,因此系統吞吐率可以成倍增長。如Cortex-M0 和 Cortex-M0+ 僅有一條系統總線,指令和數據均通過一條總線訪問;Cortex-M3 和 M4 中將指令和數據進行了區分,可以在取指的同時獲取數據;Cortex-M7 則進一步引入了指令緊耦合 RAM (以下簡稱 ITCM)總線和數據緊耦合 RAM(以下簡稱 DTCM)總線,以及引入了獨立外設總線(AHBP)。
而“星辰“ 處理器所集成的內存子系統同時采用了上述的兩種技術。
首先,“星辰”處理器配置了 L1 指令和數據緩存,該緩存和內存緊耦合,可以用來加速任何指令和數據總線上的訪問,這里包括內置 Flash 和 SRAM中的指令和數據,以及外置 Flash 、TF 卡、外置 RAM的指令和數據等。
同時,“星辰”處理器也引入了獨立的 ITCM 接口和 DTCM 接口,用于訪問與處理器緊耦合的指令和數據 RAM,處理器對于 TCM 的訪問完全可以和指令和數據總線的訪問并行執行。而且,當 CPU 不訪問 TCM 時,TCM 也可以被 DMA 等外設通過獨立的 TCM總線(AHBT)訪問。
在 Armv7-M 架構處理器中,內存子系統僅在最高性能的 Cortex-M7 上才有配置。“星辰”處理器配備上內存子系統可以大幅提高系統吞吐率。
本土團隊打造
在目前的國際形勢下,國外對出口到我國的關鍵技術的管制風險一直沒有緩解,而不斷出現的國際紛爭更是加劇了這種風險的可能性。如何應對隨時可能加碼的出口管制風險,做到在核心技術上不被“卡脖子”,關乎國產半導體的命脈,是所有國內半導體人需要共同面對和思考的問題。
“打鐵還需自身硬”,應對出口管制和貿易戰的風險,打造完全自主可控的本土半導體供應鏈是必要的。而據安謀科技介紹,“星辰”STAR-MC1 處理器由安謀科技本土團隊設計打造,本土技術的占比高于90%,因此,真正意義上做到了自主可控。
總結而言,“星辰”STAR-MC1 處理器是一款采用了先進架構、優化了總線和存儲配置、且完全自主可控的高性能處理器。
看似很厲害,跑個分?
基于上述的介紹, 大家可能還是沒辦法直觀的感受到 “星辰”處理器的強大,那下面就以國際通用的 CoreMark 跑分結果來進行說明。
下圖列舉了 “星辰”STAR-MC1 處理器的標稱 CoreMark 跑分和同級別 Cortex-M 內核的比較。可以看到,STAR-MC1的跑分為 4.02 CoreMark/MHz,其相較于 Cortex-M3 提升了 20%,相較于 Cortex-M4 提升了 17%。因此,從核心性能而言,STAR-MC1 是一款介于 Cortex-M4 到 Cortex-M7 之間的處理器。
需要說明的是,這里的跑分數值是各處理器的理論極限值,該理論極限值一般可通過把 CoreMark 代碼放在零延遲 RAM 中執行而獲得。而在實際應用中,用戶的程序往往是從 Flash 中執行,如果存儲層次設計不好,其所獲得的 CoreMark 跑分結果將大打折扣。
而得益于 STAR-MC1 出色的內存子系統設計,保證了其 Flash 跑分結果和理論極限值幾乎沒有差別。
根據 MM32F5270 芯片上的實際測試結果,當 L1 緩存打開時,從Flash 中執行 CoreMark 的跑分結果是 3.97 CoreMark/MHz,該數值達到了理論極限值的 99%。因此,當用戶在 Flash 中執行程序的時候,依然可以獲得相較于 Cortex-M3 和 Cortex-M4 的理論極限值約 20% 的性能提升。
同樣因為 STAR-MC1 出色的內存子系統設計,在 Flash 執行代碼的前提下,搭載 STAR-MC1 并開啟了內存子系統的 MM32F5 系列相較于搭載了 Cortex-M3 或 Cortex-M4 的芯片而言,能夠更接近其理論極限值。因此,如果以 Flash 中實際運行的結果來對比 STAR-MC1 和市面上的 Cortex-M3 和 Cortex-M4 芯片,STAR-MC1 將帶來 30%~50% 的性能提升。
C代碼兼容M3和M4
綜合以上 “星辰” STAR-MC1 處理器的介紹,可以說 STAR-MC1 是 Cortex-M3 和 Cortex-M4 的理想升級選擇。
那么,假如用戶從上述 Armv7-M 處理器切換到 Armv8-M 架構的 STAR-MC1 處理器時,是否很難移植呢?當然不是!
STAR-MC1 和 Cortex-M3 和 Cortex-M4 都是基于 Arm指令集架構的處理器,因此,其兼容性還是很高的,但由于底層指令集架構由 Armv7-M 過渡到了 Armv8-M ,因此,其無法做到完全的二進制兼容,但STAR-MC1 實現了從 Cortex-M3 和 Cortex-M4 移植時的 C 代碼兼容。因此,假如用戶的代碼是基于 C 語言編寫,則完全不用擔心兼容性。
完善的生態支持
很多用戶會咨詢 STAR-MC1 的工具支持狀況、是否支持 KEIL等問題。這個大家也可以完全放心,STAR-MC1 作為一款通用的嵌入式處理器,其目前已經獲得了非常完整的生態體系支持。
下圖列舉了 STAR-MC1 截止目前的生態工具支持情況,可以看到,STAR-MC1 在工具鏈、編譯器、操作系統和仿真器方面都獲得了主流工具的支持:
工具鏈
在工具鏈方面,STAR-MC1 已經獲得了 Arm DS、Keil、IAR、SEGGER Embedded Studio、Lauterbach TRACE32 等主流 IDE 的支持。
編譯器
在編譯器方面,STAR-MC1 已經獲得了 GCC、Arm Compiler、IAR Compiler、SEGGER Compiler 等主流編譯器的支持。
仿真器
在仿真器方面,STAR-MC1 已經獲得了 ULINKPRO、ULINK2、DSTEAM、SEGGER J-Link Base/Plus、J-Link Ultra/Pro 的支持。
操作系統
在操作系統方面,STAR-MC1 更是已經獲得了 MbedOS、freeRTOS、Zephyr、OpenHarmony 的支持。
小結 & Next
“星辰”STAR-MC1 處理器是一款 Armv8-M 架構的高性能嵌入式處理器,由安謀科技本土團隊打造,集成了出色的內存子系統,并獲得了完整的生態支持,是升級 Cortex-M3 和 Cortex-M4 內核的理想選擇!
未完待續!本文是 MM32F5 漫談系列的開篇,后續將為大家持續更新,旨在分享 MM32F5 系列中所包含的那些有趣的技術,敬請期待!
關于靈動
靈動成立于 2011 年,是中國本土領先的通用 32 位 MCU 產品及解決方案供應商。公司基于 Arm Cortex-M 系列內核開發的 MM32 MCU 產品擁有 F/L/SPIN/W 四大系列,目前已量產 200多款型號,累計出貨數億顆,每年都有近億臺配備了靈動 MM32MCU 的優秀產品交付到客戶手中,在本土通用 32 位 MCU 公司中位居前列。
靈動客戶涵蓋智能工業、汽車電子、通信基建、醫療健康、智慧家電、物聯網、個人設備、手機和電腦等應用領域。靈動微電子是中國為數不多的同時獲得了 Arm-KEIL、IAR、SEGGER 官方支持的本土 MCU 公司,并建立了獨立、完整的通用 MCU 生態體系,可以為客戶提供從硬件芯片到軟件算法、從參考方案到系統設計的全方位支持。
審核編輯 :李倩
-
處理器
+關注
關注
68文章
19264瀏覽量
229666 -
嵌入式
+關注
關注
5082文章
19109瀏覽量
304838 -
MM32
+關注
關注
1文章
106瀏覽量
756
原文標題:技術分享 | MM32F5 系列漫談 1:“星辰” 處理器?!
文章出處:【微信號:Ithingedu,微信公眾號:安芯教育科技】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論