色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

Cortex-M0/M0+/M3/M4處理器是什么鬼?

安芯教育科技 ? 來源:裸機思維 ? 2023-04-18 15:07 ? 次閱讀

一、說在前面的話

自從Arm在2016年的十月發布兩款Armv8-M架構的新處理器Cortex-M23和Cortex-M33以來,已經過去了3年多,而市面上基于這兩款處理器的微控制器產品也剛剛才嶄露頭角。 很多才剛剛通過開發板熟悉Cortex-M0/M0+/M3/M4處理器的童鞋可能心中又要飄過彈幕:

誰TM告訴我,這個M23和M33是什么鬼?

從個位數一下蹦到兩位數了喂!

前面十幾位兄弟怎么了?喂!

別說跟M3有啥關系,這以后下第n代是不是就該叫2333333了?

該來的總會來,那么如何簡單粗暴的理解這兩個全新的處理器呢?以下是傻孩子獨家特別提供的的無責任囫圇吞棗公式:

Cortex-M23 =

Cortex-M0/M0 + 硬件除法器 + 性能提升 +

專門的棧溢出硬件檢測+

指令集不可忽略的小動作 +

安全擴展(TrustZone for Armv8-M) +

MPU開發者模型的友好化改進

Cortex-M33 =

Cortex-M3/M4 + 性能提升 +

專門的棧溢出硬件檢測+

指令集不可忽略的小動作 +

安全擴展(TrustZone for Armv8-M)+

MPU開發者模型的友好化改進

再簡單點說就是無敵增強版的“M0/M0+,M3/M4”加“安全擴展”。有人說,Armv8-M的主要功能就是為Cortex-M家族引入TrustZone,這么看來也是不無道理的。

1.1增強版的Cortex-M0/M0+

根據官方的說法,Cortex-M23實現的是Armv8-M架構的Baseline子架構,我們不妨理解為手機里面的“入門級”產品。

Cortex-M23從定位上也非常直接,就是給Cortex-M0/M0+增加個安全擴展。因此,實際上所有為Cortex-M0/M0+編譯生成的二進制代碼基本上都可以“無修”的在Cortex-M23/M33上執行——除非你原本的代碼使用了MPU。此外Cortex-M23居然配備了硬件除法器,這無疑在原本Cortex-M0和Cortex-M0+主打的8位/16位市場上把“基本配置”又提升了一個檔次。 指令集上,Cortex-M23師承Armv6-M,除了支持“安全擴展”所必須的一系列指令之外,這款入門級產品還做了一個“不可忽略的小動作”——也就是說,除了Cortex-M33以外,Cortex-M23也可以通過很小的代價支持“暗代碼(eXecute Only Memory, XOM)”。

什么是暗代碼呢?和“暗物質”只能理論上知道它存在卻很難探測到類似——“暗代碼”是一類只能由處理器執行(取指令)卻根本無法用任何形式讀取機器碼(OPCODE)內容的程序——也就是人們常說的XO(eXecute-Only)代碼。“暗代碼”并不是依靠內核來實現的,但卻需要編譯器和內核共同努力才能支持。這是因為XOM本質上是芯片廠家在地址空間上劃分出的一段特殊區域——只能由處理器取指令、用于代碼的運行(Instruction Fetch),而不能進行普通的數據訪問(Data Access)。這就要求“暗代碼”里不能直接保存任何常數——它們必須編碼到指令里面——成為指令的一部分,以指令編碼中的立即數形式存在。

Armv6-M的指令集大部分都是16位的Thumb指令,16位的指令可以用于編碼的立即數的二進制位長度可想而知——少得可憐。Armv7-M由于引入了32位的Thumb2指令集,從而極大增強了指令攜帶立即數的能力。為了將這一能力引入Armv8-M的Baseline指令集,MOVT和MOVW這兩個可以分別攜帶32位立即數“高、低16位”的指令就被特別加入到Cortex-M23所使用的指令集中。考慮到Armv8-M所強的調信息安全,“暗指令”對固件的保護有多大的分量,可想而知。

結論:Cortex-M23——這個M0+不簡單。

1.2增強版的Cortex-M3/M4

相對Cortex-M3/M4來說,Cortex-M33在性能上有了提升并不是什么意料之外的事情,不提也罷。值得說明的是,從城里來的Cortex-M7在性能上仍然可以"甩其他Cortex-M土包子幾條街"——6級流水線和3級流水線的差別可是"三缸夏利和六缸寶馬之間的差距"所不能比擬的?。ㄕJ真臉)。

1.3ARMv8-M是個知錯就改的好少年

我不知道有多少人真正用過Armv7-M,也就是Cortex-M3/M4的MPU——簡單說就是個以Region為單位來修改Memory屬性的系統級外設。原本設計的時候想法很簡單,一個Region,給個大?。⊿ize)給個基地址(Base Address),再給個屬性(Memory Attribute),一使能,就工作了,很簡單,很Happy。然而,出于優(pi)化(gu)內(jue)核(ding)面(nao)積(dai)的原因,Region地址范圍的設定被人為加入了一個限定:

基地址(Base Address)必須對齊(Aligned with)到它的尺寸(Size),而且尺寸必須是2的整數次方(還必須大于4次方)。

舉個例子:一個Region大小為512K,那么基地址必須是512K的整數倍……如果你還不能理解這個問題蛋疼的點在哪里,設想一個任意大小的Region該怎么設定,比如,一個234K大小的Memory該咋辦?——還能咋辦,用多個Region組合出來唄。正是這個蛋疼的限制,導致幾乎沒有什么RTOS可以很好的使用MPU,也罕有身邊的項目把MPU這么骨感的現實應用的如理想般美好。

那么Armv8-M做了什么呢?他更正了這一蛋疼的設定,即:Region的設置由“基地址+尺寸”進化為“起始地址+終止地址”,除了這兩個地址都必須是32字節的整倍數的要求外,再也沒有變態的關于“基地址必須是Region大小的整倍數”這樣的限定。是不是突然覺得眼前一亮,是不是突然發現了一個寶藏?MPU頓時好玩起來。

結論:ARMv8-M的MPU是個好同志,士別三日當刮目相看




審核編輯:劉清

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

    關注

    48

    文章

    7559

    瀏覽量

    151468
  • 處理器
    +關注

    關注

    68

    文章

    19293

    瀏覽量

    229935
  • MPU
    MPU
    +關注

    關注

    0

    文章

    360

    瀏覽量

    48819
  • RTOS
    +關注

    關注

    22

    文章

    814

    瀏覽量

    119668
  • ARMv8
    +關注

    關注

    1

    文章

    35

    瀏覽量

    14159

原文標題:簡單粗暴解讀Cortex-M23/33(上)

文章出處:【微信號:Ithingedu,微信公眾號:安芯教育科技】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    cortex M0/M0+/M3/M4 所支持的最高時鐘頻率是多少?

    請教一個問題,Cortex M0/M0+/M3/M4所支持的最高時鐘頻率是多少?哪里可以得到權威的數據?(以65nm為標準,或其他工藝節點)
    發表于 01-27 15:08

    Cortex-M0~M4的優勢是什么啊?

    簡述Cortex-M0~M4的各個優勢
    發表于 02-22 06:57

    Cortex-M0處理器的基礎知識

    Cortex-M0處理器介紹
    發表于 02-26 06:03

    Cortex?-M3處理器

    2.1STM32F103xx增強型LQFP48引腳分布2.2 STM32F103xx概述2.2.1ARM?的Cortex?-M3核心并內嵌閃存和SRAMARM的Cortex?-M3
    發表于 08-11 07:03

    cortex m3/m4處理器的復位設計資料分享

    cortex m3/m4處理器在復位層面總體上可以劃分為core和debug logic兩部分。core部分包括處理器內核(core)以及N
    發表于 02-07 09:05

    制造一種基于Cortex-M0Cortex-M3處理器的SoC

    。Cortex-M0Cortex-M3處理器無需支付授權費。Cortex-A5處理器需要支付非常低的授權費,最多可提供
    發表于 07-27 16:58

    ARM Cortex-M0設計啟動評估用戶指南

    Cortex-M0 DesignStart Eval為開發人員提供了一種簡單的方法來模擬基于Cortex-M0處理器的SoC設計。 它允許系統設計人員在模擬上進行設計和測試,然后使用
    發表于 08-18 07:58

    LPCXpresso54114:Cortex-M4/M0+教程

    本教程面向恩智浦LPCXpresso54114評估板。 Keil支持并使用其他恩智浦處理器制作電路板。 有關更多信息,請訪問 www.keil.com/nxp。 除了Cortex-M0M0+之外
    發表于 09-05 07:56

    ARM為主流嵌入式SoC設計提供免費的Cortex-M0處理器IP

    ARM公司今天宣布,將為采用ARM Cortex-M0處理器進行商業化之前的SoC元件的設計、原型建模和制造的設計人員提供免費的Cortex-M0處理器IP,以及低成本的FPGA原型建
    發表于 10-15 13:57 ?2632次閱讀

    ARM推出CortexM0處理器

    ARM推出CortexM0處理器,有需要的下來看看 。
    發表于 01-22 14:00 ?29次下載

    特大好消息:ARM Cortex-M0/M3免收授權費了

    【導讀】51單片機內核歷史使命即將完結,因為ARM已經宣布,自2017年6月20日起,Cortex-M0/M3處理器內核免收授權費用,版權費也很低,500萬出貨量只收20萬美元,相當于每一個C
    發表于 06-23 18:46 ?3707次閱讀

    如何定制基于Cortex-M0/M3免費內核的自主SoC | 直播報名(11.25)

    活動主題 如何定制基于Cortex-M0/M3免費內核的自主SoC M0/M3免授權費+第三方設計服務=自主SoC Arm DesignStart宣布
    的頭像 發表于 11-21 15:14 ?1.4w次閱讀

    Cortex內核的比較(M3M4

    **Cortex內核的比較(M3M4)** 一、開發板資源描述    
    發表于 12-01 13:06 ?20次下載
    <b class='flag-5'>Cortex</b>內核的比較(<b class='flag-5'>M3</b>和<b class='flag-5'>M4</b>)

    cortex m3/m4處理器的復位設計

    cortex m3/m4處理器在復位層面總體上可以劃分為core和debug logic兩部分。core部分包括處理器內核(core)以及N
    發表于 12-04 13:21 ?9次下載
    <b class='flag-5'>cortex</b> <b class='flag-5'>m3</b>/<b class='flag-5'>m4</b><b class='flag-5'>處理器</b>的復位設計

    Cortex-M0處理器的中斷請求形式:電平觸發和脈沖輸入

    Cortex-M0處理器允許兩種形式的中斷請求:電平觸發和脈沖輸入。
    的頭像 發表于 05-13 12:05 ?1752次閱讀
    主站蜘蛛池模板: 国内精品久久久久影院老司| 野花日本大全免费观看3中文版| 丰满艳妇亲伦| 亚洲免费国产| 日本妈妈JMZZZZZ| 脔到她哭H粗话HWWW男男动漫| 国产人妻精品久久久久久很牛| 99久久99久久久精品久久| 亚洲精品国产一区二区贰佰信息网| 人妻免费久久久久久久了| 快播av种子大全| 韩国女人高潮嗷嗷叫视频| 嘟嘟嘟WWW在线观看视频高清 | 欧洲电影巜肉欲丛林| 久久xxxx| 国产色精品久久人妻无码看片软件 | 黄色免费网址在线观看| 丰满艳妇亲伦| qvod电影在线观看| 2017日日干| 在线高清视频不卡无码| 亚洲免费中文| 羞羞答答的免费视频在线观看| 入室强伦女教师被学生| 青青草在线视频| 欧美嫩freexxxhddvd| 蜜臀AV999无码精品国产| 啦啦啦 中文 日本 韩国 免费| 精品无码国产自产在线观看| 国产呦精品一区二区三区下载| 国产精品一国产AV麻豆| 国产精品99精品无码视亚| 国产成年人在线观看| 俄罗斯15一16处交| 动漫美女被到爽了流| 穿白丝袜边走边尿白丝袜| 超碰在线视频caoporn| 成人国产在线视频| 成人在线观看免费视频| 国产女高清在线看免费观看| 最近免费中文字幕MV免费高清|