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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ARMv7-A工作模式介紹

麥辣雞腿堡 ? 來(lái)源:嵌入式Linux系統(tǒng)開(kāi)發(fā) ? 作者:嵌入式Linux系統(tǒng)開(kāi) ? 2023-09-11 16:31 ? 次閱讀

TF-A 一開(kāi)始是為 ARMv8 準(zhǔn)備的,ARMv8 最突出的特點(diǎn)就是支持 64 位指令,但是為了兼容原來(lái)的 ARMv7,ARMv8提供了兩種指令集:AAarch64 和 AArch32,根據(jù)字面意思就是 64 位和 32 位,其中 AArch32 和 ARMv7基本一樣(會(huì)多一些其他操作指令)。

安全不能僅僅依靠軟件來(lái)實(shí)現(xiàn),也是需要硬件支持的,比如 ARM處理器就有不同的運(yùn)行等級(jí),運(yùn)行在低等級(jí)(非安全模式)的應(yīng)用就不能訪問(wèn)高等級(jí)(安全模式)的資源,以此來(lái)保證敏感資源的安全性。

ARMv7-A 工作模式

以前的 ARMv7 處理器有 7 中運(yùn)行模型:User、FIQ、IRQ、Supervisor(SVC)、Abort、Undef 和 System。新的ARMv7-A 架構(gòu)加入了 TrustZone安全擴(kuò)展,所以就新加了一種運(yùn)行模式:Monitor,新的處理器架構(gòu)還支持虛擬化擴(kuò)展,因此又加入了另一個(gè)運(yùn)行模式:Hyp,所以 Cortex-A7 處理器有 9種處理模式,如表所示:

圖片圖片

不同的處理器模式下,CPU 對(duì)于硬件的訪問(wèn)權(quán)限不同,叫做 PrivilegeLevel(特權(quán)等級(jí)),一共有兩個(gè)特權(quán)級(jí)別:Privilege(特權(quán)級(jí))和 non-privilege(非特權(quán)級(jí))。其中只有User 模式處于non-privilege,也就是非特權(quán)級(jí),剩下的 8 個(gè)模式都是 privilege(特權(quán)級(jí))。

系統(tǒng)啟動(dòng)以后應(yīng)用軟件都是運(yùn)行在 User模式,也就是非特權(quán)級(jí),這個(gè)時(shí)候處理器對(duì)于敏感資源的訪問(wèn)是受限的,如果要訪問(wèn)這些敏感資源就需要切換到對(duì)應(yīng)的工作模式下。

ARMv7-A 對(duì) Privilege Level 進(jìn)行了命名:PL0 和 PL1,后來(lái)也出現(xiàn)了 PL2,用于虛擬擴(kuò)展。ARMv7-A 新增的Monitor 模式就是針對(duì)安全擴(kuò)展的,為了支持 TEE 而引入的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19032

    瀏覽量

    228448
  • 嵌入式
    +關(guān)注

    關(guān)注

    5052

    文章

    18909

    瀏覽量

    300733
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11161

    瀏覽量

    208465
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3058

    瀏覽量

    48572
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    armv7 generic timer使用筆記

    armv7-A架構(gòu)中每個(gè)CPU核心都包含自己的私有定時(shí)器,所有cpu的定時(shí)器共享一個(gè)System counter, System counter負(fù)責(zé)產(chǎn)生計(jì)數(shù),傳遞到每個(gè)核心的私有定時(shí)器
    的頭像 發(fā)表于 09-27 15:10 ?2277次閱讀
    <b class='flag-5'>armv7</b> generic timer使用筆記

    ARMv7-A架構(gòu)的實(shí)現(xiàn)中SIMD和VFP的擴(kuò)展實(shí)現(xiàn)是可選的嗎?如何了解某控制器是否支持這些實(shí)現(xiàn)?

    ,如果更換其他ARMv7-A實(shí)現(xiàn)的內(nèi)核(如Cortex A8),如何確定該實(shí)現(xiàn)是否支持?第一次提問(wèn),如果表述不清楚請(qǐng)見(jiàn)諒!謝謝!
    發(fā)表于 07-01 16:33

    ARMv8-A AArch32主要特性

    Cortex-A32產(chǎn)品介紹ARMv8-A AArch32主要特性ARMv7-M與AArch32的不同之處軟件從ARMv7-M移植到
    發(fā)表于 02-19 06:20

    淺析ARMv7-A體系架構(gòu)下的MMU的基本原理

    。MMU 主要功能之一是虛擬地址到物理地址的轉(zhuǎn)換,這個(gè)需要軟件和硬件配合完成,軟件需要針對(duì)不同的硬件進(jìn)行策略。這里主要分析 ARMv7-A 體系架構(gòu)下的 MMU 的基本原理。VMSA 是針對(duì)
    發(fā)表于 05-24 16:54

    如何在Armv7-A系列芯片上根據(jù)錯(cuò)誤調(diào)用棧來(lái)debug呢

    本周解決了兩個(gè)在 Armv7-A 系列芯片上出現(xiàn)的錯(cuò)誤,包括一個(gè)由于軟浮點(diǎn)配置導(dǎo)致的未定義指令錯(cuò)誤以及一個(gè)由于數(shù)據(jù)未對(duì)齊導(dǎo)致的 data abort 錯(cuò)誤,通過(guò)解決這兩個(gè)問(wèn)題,學(xué)會(huì)了如何在 A 系列
    發(fā)表于 06-13 17:42

    Armv8-A構(gòu)架中Armv8.6-A引進(jìn)的最新功能介紹

    :細(xì)化的trap從Armv7-A開(kāi)始引入虛擬化以來(lái),arm持續(xù)改進(jìn)虛擬化的支持。一個(gè)虛擬化關(guān)鍵的支持是trap虛擬機(jī)執(zhí)行的一些操作。目的是為了虛擬化這些操作或是讓hypervisor充當(dāng)Guest
    發(fā)表于 07-29 15:29

    介紹Armv8.6-A引進(jìn)的一些新功能的概況

    運(yùn)算的指令。更多有關(guān)arm BF16支持的信息可以在這個(gè)神經(jīng)網(wǎng)絡(luò)的帖子找到。虛擬化和系統(tǒng)管理相關(guān)的增強(qiáng)虛擬化:細(xì)化的trap從Armv7-A開(kāi)始引入虛擬化以來(lái),arm持續(xù)改進(jìn)虛擬化的支持。一個(gè)虛擬化關(guān)鍵
    發(fā)表于 08-08 14:16

    Armv8-AArmv9-A的內(nèi)存屬性和屬性介紹

    1. 本指南介紹Armv8-AArmv9-A的內(nèi)存屬性和屬性。它首先解釋內(nèi)存的屬性來(lái)自何處,如何分配到內(nèi)存區(qū)域,然后介紹現(xiàn)有的不同屬性,并解釋內(nèi)存順序的基本特性。這一信息對(duì)開(kāi)發(fā)低級(jí)別
    發(fā)表于 08-02 09:03

    ARM Cortex-A5浮點(diǎn)單元技術(shù)參考手冊(cè)

    Cortex-A5 FPU是ARMv7浮點(diǎn)架構(gòu)的VFPv4-D16實(shí)現(xiàn)。它提供了低成本的高性能浮點(diǎn)計(jì)算。 FPU支持ARM?體系結(jié)構(gòu)參考手冊(cè)、ARMv7-AARMv7-R版本中描述的
    發(fā)表于 08-02 08:05

    ARM體系結(jié)構(gòu)參考手冊(cè)ARMv7-AARMv7-R版本

    提前(AOT)編譯的特定支持。 ·決定處理器如何運(yùn)行的模式和狀態(tài),包括當(dāng)前的執(zhí)行特權(quán)和安全性。 ·例外模式。 ·內(nèi)存模型,定義內(nèi)存排序和內(nèi)存管理: -ARMv7-A架構(gòu)配置文件定義虛擬內(nèi)存系統(tǒng)架構(gòu)
    發(fā)表于 08-12 07:46

    ARM Cortex-A系列ARMv8-A程序員指南

    。 有關(guān)ARMv7-A架構(gòu)的一般介紹,請(qǐng)參閱ARM?Cortex?-A系列程序員指南。 本指南還可以幫助您熟悉本卷中討論的一些概念。 然而,ARMv8-A架構(gòu)配置文件向后兼容早期版本,
    發(fā)表于 08-22 07:22

    如何將軟件應(yīng)用程序從ARMv5遷移到ARMv7-A/R

    5。 本應(yīng)用筆記還假設(shè)您具有ARMv5的軟件開(kāi)發(fā)經(jīng)驗(yàn)。 假設(shè)主目標(biāo)平臺(tái)是圍繞ARMv7-A處理器構(gòu)建的。 由于ARMv7-AARMv7-R有許多重疊的區(qū)域,本文檔的一部分也適用于
    發(fā)表于 08-29 06:51

    ARMv7ARMv7的體系結(jié)構(gòu)參考手冊(cè)免費(fèi)下載

    ARM? Architecture Reference Manual ARMv7-A and ARMv7-R edition
    發(fā)表于 09-28 08:00 ?27次下載
    <b class='flag-5'>ARMv7</b>和<b class='flag-5'>ARMv7</b>的體系結(jié)構(gòu)參考手冊(cè)免費(fèi)下載

    ARMv8工作模式有哪些

    ARMv8 工作模式 ARMv8 沒(méi)有 Privilege level 的概念,取而代之的是 Exception level(異常級(jí)別),簡(jiǎn)稱(chēng)為EL,用于描述特權(quán)級(jí)別,一共有 4 個(gè)級(jí)
    的頭像 發(fā)表于 09-11 16:34 ?1279次閱讀
    <b class='flag-5'>ARMv</b>8<b class='flag-5'>工作</b><b class='flag-5'>模式</b>有哪些

    ARMv7-A處理器模式與特權(quán)等級(jí)

    對(duì)于現(xiàn)代操作系統(tǒng),通常情況下用戶的應(yīng)用程序運(yùn)行在用戶態(tài),操作系統(tǒng)內(nèi)核運(yùn)行在內(nèi)核態(tài)。用戶態(tài)的應(yīng)用對(duì)于系統(tǒng)硬件資源的訪問(wèn)是受限的,內(nèi)核態(tài)則能夠訪問(wèn)所有的系統(tǒng)硬件資源。操作系統(tǒng)的用戶態(tài)和內(nèi)核態(tài)是根據(jù)處理器的特權(quán)等級(jí)和運(yùn)行模式進(jìn)行硬件隔離的,這也極大的提高了操作系統(tǒng)的安全性。
    的頭像 發(fā)表于 10-21 16:19 ?871次閱讀
    <b class='flag-5'>ARMv7-A</b>處理器<b class='flag-5'>模式</b>與特權(quán)等級(jí)