近期,靈動微電子發(fā)布了靈動“星”平臺,其全新高性能 MM32F5 微控制器系列。該系列在內(nèi)核、總線和外設(shè)配置等多個方面進行了創(chuàng)新,內(nèi)核上更是首次搭載了 Armv8-M 架構(gòu)的“星辰” STAR-MC1 處理器,因此一經(jīng)發(fā)布就獲得了大量用戶和媒體的關(guān)注。
很多用戶會咨詢“星辰”處理器相關(guān)的問題,特別是“星辰”處理器是什么樣的內(nèi)核?相較于 Arm Cortex-M 系列內(nèi)核又有什么差別?這里,為了讓大家對“星辰”處理器有一個快速的了解,并解答上述的這些問題,本文對“星辰”處理器的主要特色做一個梳理。
“星辰”處理器是什么?
如果用一句話介紹“星辰”處理器,那就是:安謀科技設(shè)計的一款基于 Armv8-M 架構(gòu)的嵌入式處理器。這里,安謀科技是中國最大的芯片設(shè)計 IP 開發(fā)與服務(wù)供應(yīng)商,而靈動微電子則是從安謀科技獲得了該處理器的正規(guī)使用授權(quán),并于 MM32F5 系列中首次搭載了該處理器。
“星辰”處理器的幾大特點如下:
采用最先進的Armv8-M架構(gòu)
處理器是基于指令集架構(gòu)設(shè)計實現(xiàn)的運算和控制單元,而 Arm 處理器的指令集架構(gòu)自誕生以來也在不斷的更新?lián)Q代,目前市面上較為常見的 Arm MCU 架構(gòu)包括 Armv6-M、Armv7-M和 Armv8-M 架構(gòu),其中,Armv6-M 架構(gòu)的典型處理器有 Cortex-M0 和 Cortex-M0+,Armv7-M 架構(gòu)的典型處理器有 Cortex-M3、Cortex-M4 和 Cortex-M7,而 Armv8-M 架構(gòu)的典型處理器則有 Cortex-M23、Cortex-M33、Cortex-M55 和 “星辰”STAR-MC1。
經(jīng)常關(guān)注 MCU 前沿動態(tài)的話一定會有所了解,近幾年來國際上最主要的幾家 MCU 大廠的新產(chǎn)品已經(jīng)逐漸從 Armv7-M 架構(gòu)過度到了 Armv8-M 架構(gòu),如ST、NXP、Renesas等。那么 Armv8-M 架構(gòu)相較于 Armv7-M 架構(gòu),究竟有哪些優(yōu)勢?
性能提升
Armv8-M 架構(gòu)優(yōu)化了指令集和流水線設(shè)計,其同級別產(chǎn)品的性能相較于 Armv7-M架構(gòu)普遍提高20% 以上。
更安全
Armv8-M 架構(gòu)引入了 TrustZone 技術(shù),并強化了內(nèi)存保護單元(MPU),讓代碼運行在更安全的環(huán)境中。
可擴展
Armv8-M 架構(gòu)引入了協(xié)處理器接口,允許 MCU 產(chǎn)商自己開發(fā)協(xié)處理器和自定義指令,相較于傳統(tǒng)的基于地址映射和中斷的協(xié)處理器可大幅提升執(zhí)行效率。特別是Armv8.1-M架構(gòu),還預(yù)留了用戶自定義指令的接口。
集成 DSP 和 FPU
彌補了 Cortex-M3 的短板,DSP 性能相較于 Cortex-M3 提升10倍。
集成內(nèi)存子系統(tǒng)
在計算機體系結(jié)構(gòu)中,除了處理器內(nèi)核的設(shè)計外(指令集、流水線、ALU等等),存儲架構(gòu)的設(shè)計也是重要的一環(huán)。在特定應(yīng)用場景下,高效率的存儲訪問對系統(tǒng)整體性能所帶來的提升效果可能比提高內(nèi)核性能本身還要來得明顯。而提升存儲訪問效率的方法往往有兩個:
層次化設(shè)計(Memory Hierarchy)
層次化設(shè)計的核心是緩存(Cache)。在嵌入式系統(tǒng)中,處理器運行速度遠快于 Flash 的運行速度(典型值是 2:1 到16:1), 而處理器要從 Flash 中獲取執(zhí)行代碼,如果 Flash 速度不做優(yōu)化的話,可以說處理器跑的再快也會受到 Flash 讀取速度瓶頸的制約。而最有效的解決方法就是在處理器和 Flash 之間加入緩存,這里的緩存可能是多層的,一般把靠近處理器一端的緩存叫做一級緩存(Level 1或簡寫為 L1),而靠近 Flash 一端的緩存叫做二級緩存(Level 2 或簡寫為 L2),一般情況下,因 L2 緩存和 CPU 之間還間隔了一個總線矩陣,因此 L1 緩存的效率往往高于 L2 緩存。
增加并行訪問路徑提高吞吐率
一般而言,越高性能的內(nèi)核,其并行訪問通路越多,多條通路可并發(fā)訪問,因此系統(tǒng)吞吐率可以成倍增長。如Cortex-M0 和 Cortex-M0+ 僅有一條系統(tǒng)總線,指令和數(shù)據(jù)均通過一條總線訪問;Cortex-M3 和 M4 中將指令和數(shù)據(jù)進行了區(qū)分,可以在取指的同時獲取數(shù)據(jù);Cortex-M7 則進一步引入了指令緊耦合 RAM (以下簡稱 ITCM)總線和數(shù)據(jù)緊耦合 RAM(以下簡稱 DTCM)總線,以及引入了獨立外設(shè)總線(AHBP)。
而“星辰“ 處理器所集成的內(nèi)存子系統(tǒng)同時采用了上述的兩種技術(shù)。
首先,“星辰”處理器配置了 L1 指令和數(shù)據(jù)緩存,該緩存和內(nèi)存緊耦合,可以用來加速任何指令和數(shù)據(jù)總線上的訪問,這里包括內(nèi)置 Flash 和 SRAM中的指令和數(shù)據(jù),以及外置 Flash 、TF 卡、外置 RAM的指令和數(shù)據(jù)等。
同時,“星辰”處理器也引入了獨立的 ITCM 接口和 DTCM 接口,用于訪問與處理器緊耦合的指令和數(shù)據(jù) RAM,處理器對于 TCM 的訪問完全可以和指令和數(shù)據(jù)總線的訪問并行執(zhí)行。而且,當(dāng) CPU 不訪問 TCM 時,TCM 也可以被 DMA 等外設(shè)通過獨立的 TCM總線(AHBT)訪問。
在 Armv7-M 架構(gòu)處理器中,內(nèi)存子系統(tǒng)僅在最高性能的 Cortex-M7 上才有配置?!靶浅健碧幚砥髋鋫渖蟽?nèi)存子系統(tǒng)可以大幅提高系統(tǒng)吞吐率。
本土團隊打造
在目前的國際形勢下,國外對出口到我國的關(guān)鍵技術(shù)的管制風(fēng)險一直沒有緩解,而不斷出現(xiàn)的國際紛爭更是加劇了這種風(fēng)險的可能性。如何應(yīng)對隨時可能加碼的出口管制風(fēng)險,做到在核心技術(shù)上不被“卡脖子”,關(guān)乎國產(chǎn)半導(dǎo)體的命脈,是所有國內(nèi)半導(dǎo)體人需要共同面對和思考的問題。
“打鐵還需自身硬”,應(yīng)對出口管制和貿(mào)易戰(zhàn)的風(fēng)險,打造完全自主可控的本土半導(dǎo)體供應(yīng)鏈是必要的。而據(jù)安謀科技介紹,“星辰”STAR-MC1 處理器由安謀科技本土團隊設(shè)計打造,本土技術(shù)的占比高于90%,因此,真正意義上做到了自主可控。
總結(jié)而言,“星辰”STAR-MC1 處理器是一款采用了先進架構(gòu)、優(yōu)化了總線和存儲配置、且完全自主可控的高性能處理器。
看似很厲害,跑個分?
基于上述的介紹, 大家可能還是沒辦法直觀的感受到 “星辰”處理器的強大,那下面就以國際通用的 CoreMark 跑分結(jié)果來進行說明。
下圖列舉了 “星辰”STAR-MC1 處理器的標稱 CoreMark 跑分和同級別 Cortex-M 內(nèi)核的比較。可以看到,STAR-MC1的跑分為 4.02 CoreMark/MHz,其相較于 Cortex-M3 提升了 20%,相較于 Cortex-M4 提升了 17%。因此,從核心性能而言,STAR-MC1 是一款介于 Cortex-M4 到 Cortex-M7 之間的處理器。
需要說明的是,這里的跑分數(shù)值是各處理器的理論極限值,該理論極限值一般可通過把 CoreMark 代碼放在零延遲 RAM 中執(zhí)行而獲得。而在實際應(yīng)用中,用戶的程序往往是從 Flash 中執(zhí)行,如果存儲層次設(shè)計不好,其所獲得的 CoreMark 跑分結(jié)果將大打折扣。
而得益于 STAR-MC1 出色的內(nèi)存子系統(tǒng)設(shè)計,保證了其 Flash 跑分結(jié)果和理論極限值幾乎沒有差別。
根據(jù) MM32F5270 芯片上的實際測試結(jié)果,當(dāng) L1 緩存打開時,從Flash 中執(zhí)行 CoreMark 的跑分結(jié)果是 3.97 CoreMark/MHz,該數(shù)值達到了理論極限值的 99%。因此,當(dāng)用戶在 Flash 中執(zhí)行程序的時候,依然可以獲得相較于 Cortex-M3 和 Cortex-M4 的理論極限值約 20% 的性能提升。
同樣因為 STAR-MC1 出色的內(nèi)存子系統(tǒng)設(shè)計,在 Flash 執(zhí)行代碼的前提下,搭載 STAR-MC1 并開啟了內(nèi)存子系統(tǒng)的 MM32F5 系列相較于搭載了 Cortex-M3 或 Cortex-M4 的芯片而言,能夠更接近其理論極限值。因此,如果以 Flash 中實際運行的結(jié)果來對比 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 架構(gòu)的 STAR-MC1 處理器時,是否很難移植呢?當(dāng)然不是!
STAR-MC1 和 Cortex-M3 和 Cortex-M4 都是基于 Arm指令集架構(gòu)的處理器,因此,其兼容性還是很高的,但由于底層指令集架構(gòu)由 Armv7-M 過渡到了 Armv8-M ,因此,其無法做到完全的二進制兼容,但STAR-MC1 實現(xiàn)了從 Cortex-M3 和 Cortex-M4 移植時的 C 代碼兼容。因此,假如用戶的代碼是基于 C 語言編寫,則完全不用擔(dān)心兼容性。
完善的生態(tài)支持
很多用戶會咨詢 STAR-MC1 的工具支持狀況、是否支持 KEIL等問題。這個大家也可以完全放心,STAR-MC1 作為一款通用的嵌入式處理器,其目前已經(jīng)獲得了非常完整的生態(tài)體系支持。
下圖列舉了 STAR-MC1 截止目前的生態(tài)工具支持情況,可以看到,STAR-MC1 在工具鏈、編譯器、操作系統(tǒng)和仿真器方面都獲得了主流工具的支持:
工具鏈
在工具鏈方面,STAR-MC1 已經(jīng)獲得了 Arm DS、Keil、IAR、SEGGER Embedded Studio、Lauterbach TRACE32 等主流 IDE 的支持。
編譯器
在編譯器方面,STAR-MC1 已經(jīng)獲得了 GCC、Arm Compiler、IAR Compiler、SEGGER Compiler 等主流編譯器的支持。
仿真器
在仿真器方面,STAR-MC1 已經(jīng)獲得了 ULINKPRO、ULINK2、DSTEAM、SEGGER J-Link Base/Plus、J-Link Ultra/Pro 的支持。
操作系統(tǒng)
在操作系統(tǒng)方面,STAR-MC1 更是已經(jīng)獲得了 MbedOS、freeRTOS、Zephyr、OpenHarmony 的支持。
小結(jié) & Next
“星辰”STAR-MC1 處理器是一款 Armv8-M 架構(gòu)的高性能嵌入式處理器,由安謀科技本土團隊打造,集成了出色的內(nèi)存子系統(tǒng),并獲得了完整的生態(tài)支持,是升級 Cortex-M3 和 Cortex-M4 內(nèi)核的理想選擇!
未完待續(xù)!本文是 MM32F5 漫談系列的開篇,后續(xù)將為大家持續(xù)更新,旨在分享 MM32F5 系列中所包含的那些有趣的技術(shù),敬請期待!
關(guān)于靈動
靈動成立于 2011 年,是中國本土領(lǐng)先的通用 32 位 MCU 產(chǎn)品及解決方案供應(yīng)商。公司基于 Arm Cortex-M 系列內(nèi)核開發(fā)的 MM32 MCU 產(chǎn)品擁有 F/L/SPIN/W 四大系列,目前已量產(chǎn) 200多款型號,累計出貨數(shù)億顆,每年都有近億臺配備了靈動 MM32MCU 的優(yōu)秀產(chǎn)品交付到客戶手中,在本土通用 32 位 MCU 公司中位居前列。
靈動客戶涵蓋智能工業(yè)、汽車電子、通信基建、醫(yī)療健康、智慧家電、物聯(lián)網(wǎng)、個人設(shè)備、手機和電腦等應(yīng)用領(lǐng)域。靈動微電子是中國為數(shù)不多的同時獲得了 Arm-KEIL、IAR、SEGGER 官方支持的本土 MCU 公司,并建立了獨立、完整的通用 MCU 生態(tài)體系,可以為客戶提供從硬件芯片到軟件算法、從參考方案到系統(tǒng)設(shè)計的全方位支持。
審核編輯 :李倩
-
處理器
+關(guān)注
關(guān)注
68文章
19440瀏覽量
231334 -
嵌入式
+關(guān)注
關(guān)注
5096文章
19192瀏覽量
308050 -
MM32
+關(guān)注
關(guān)注
1文章
106瀏覽量
818
原文標題:技術(shù)分享 | MM32F5 系列漫談 1:“星辰” 處理器?!
文章出處:【微信號:Ithingedu,微信公眾號:安芯教育科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
量子處理器是什么_量子處理器原理
EE-200:ADSP-TS20x TigerSHARC處理器引導(dǎo)加載程序內(nèi)核操作
![EE-200:ADSP-TS20x TigerSHARC<b class='flag-5'>處理器</b>引導(dǎo)加載程序<b class='flag-5'>內(nèi)核</b>操作](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
EE-174:ADSP-TS101S TigerSHARC處理器引導(dǎo)加載程序內(nèi)核操作
![EE-174:ADSP-TS101S TigerSHARC<b class='flag-5'>處理器</b>引導(dǎo)加載程序<b class='flag-5'>內(nèi)核</b>操作](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
EE-345:SHARC處理器的啟動內(nèi)核定制和固件可升級性
![EE-345:SHARC<b class='flag-5'>處理器</b>的啟動<b class='flag-5'>內(nèi)核</b>定制和固件可升級性](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
EE-290:管理SHARC處理器上的內(nèi)核PLL
![EE-290:管理SHARC<b class='flag-5'>處理器</b>上的<b class='flag-5'>內(nèi)核</b>PLL](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
雙向逆變器之ARM內(nèi)核處理器
![雙向逆變器之ARM<b class='flag-5'>內(nèi)核</b><b class='flag-5'>處理器</b>](https://file1.elecfans.com/web3/M00/04/AF/wKgZO2d3OfGAY2qVAAAXcXIOLw4076.jpg)
賽昉科技發(fā)布全新RISC-V處理器內(nèi)核Dubhe-83
代碼整潔之道-大師眼中的整潔代碼是什么樣
![代碼整潔之道-大師眼中的整潔代碼是<b class='flag-5'>什么樣</b>](https://file1.elecfans.com//web2/M00/05/C9/wKgZombesjCAGIWdAAHN7xWKtsQ450.png)
![](https://file1.elecfans.com/web2/M00/00/C5/wKgaomaq4k2AeltDAAYu30jwc94475.png)
處理器的定義和種類
![](https://file1.elecfans.com/web2/M00/C8/4C/wKgZomYaHomAbpelAALNRl_qbJI265.png)
![](https://file1.elecfans.com/web2/M00/C5/ED/wKgZomYDuIKAJFoAAAVkgqW2r_Y536.png)
如果處理器的輸入時鐘頻率超出了手冊限定的范圍,會導(dǎo)致什么樣的結(jié)果?
芯來科技發(fā)布AI專用RISC-V處理器內(nèi)核NI900系列
鴻蒙輕內(nèi)核源碼分析:MMU 協(xié)處理器
![鴻蒙輕<b class='flag-5'>內(nèi)核</b>源碼分析:MMU 協(xié)<b class='flag-5'>處理器</b>](https://file1.elecfans.com/web2/M00/C0/48/wKgZomXURhaAGcYoAAMU1aaKtPg526.png)
評論