chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

ARM重新定義ARMv8新架構(gòu),ARMv8新架構(gòu)特性解說

454398 ? 來源:蝸窩科技 ? 作者:wowo ? 2020-10-08 17:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 前言

ARMv8(當(dāng)前只有A系列,即ARMv8-A)架構(gòu),是ARM公司為滿足新需求而重新設(shè)計的一個架構(gòu),是近20年來,ARM架構(gòu)變動最大的一次。它引入的Execution State、Exception Level、Security State等新特性,已經(jīng)和我們對舊的ARM架構(gòu)的認(rèn)知,有很大差距了。

因此,本文從ARMv8-A產(chǎn)生的背景開始,對它進(jìn)行一個簡單的介紹,使大家從整體上,對ARMv8有一個簡單的了解。

2. 背景

有一點(diǎn)是可以確定的,ARM誕生時,對Intel主導(dǎo)的PC市場,沒有(也不敢有)一點(diǎn)點(diǎn)的非分之想。最初的ARMv4(ARM7系列),到最近的ARMv7(Cortex-A,-M,-R系列),都是針對功耗比較敏感的移動設(shè)備的,就性能而言,基于ARM處理器的設(shè)備,始終無法和PC相提并論。

但從ARMv7開始,情況開始有些轉(zhuǎn)變,ARM的市場開始擴(kuò)展到移動設(shè)備之外的其它領(lǐng)域,這也是ARMv7劃分為A(Application)、R(Real-time)和M(Microcontroller)三個系列的原因,其實(shí)質(zhì)就是三個細(xì)分市場,其中的A系列,就是針對性能要求較高的應(yīng)用。

特別是在Cortex-A9之后,ARM的處理性能有很大的提高,漸漸的吸引了一些PC用戶。因此基于ARM的類PC產(chǎn)品,如平板電腦,開始大量涌現(xiàn)。此時,ARM的處理能力,已經(jīng)有機(jī)會應(yīng)用于其它領(lǐng)域了,如企業(yè)設(shè)備、服務(wù)器等,當(dāng)然,其優(yōu)勢依然是低功耗。

與此同時,新的趨勢正在醞釀,主要包括大內(nèi)存(Large Memory)、虛擬化(Virtualization)和安全(Security)。Virtualization在ARMv7上已經(jīng)有簡單的硬件實(shí)現(xiàn),Security也有可能基于當(dāng)前架構(gòu)擴(kuò)展,唯有Large memory的需求,有點(diǎn)棘手。

由于處理器性能越來越強(qiáng),運(yùn)行于其上的軟件也來越復(fù)雜,復(fù)雜到單一應(yīng)用對內(nèi)存的需求可能超出32-bit架構(gòu)所能支持的最大內(nèi)存(4G),這就是Large memory需求的起因。不過,后來的Cortex-A15(ARMv7架構(gòu))通過Large Physical Address Extensions (LPAE) 技術(shù),可以支持高達(dá)40bits的物理地址空間。但受限于32-bit的指令集,虛擬地址空間依舊只有32bits(4G),如果有應(yīng)用需要更大的虛擬內(nèi)存,怎么辦?只能定義一個新的架構(gòu),使用64-bit的指令集(也即我們常說的ARM64)。

毫無疑問,在現(xiàn)階段,需要超過4G虛擬內(nèi)存的應(yīng)用場景,是非常少的。但ARM還是定義了一個新的架構(gòu)--ARMv8,為什么呢?下面是ARM的解釋(只有偉大的公司才有偉大的理念?。?/p>

Trends. That’s really what ARM has to look at when defining a new architecture. That is the nature of our business, we need to look a long way forward, and plan.

當(dāng)然,ARMv8并不僅僅是為了解決虛擬地址的問題,它也要解決現(xiàn)有架構(gòu)的一些問題。不過,新的問題又來了:一個新的架構(gòu)?用戶為什么要使用新的架構(gòu)?因此,ARMv8的定義,必須先滿足如下前提條件:

1)對上兼容。

2)能解決現(xiàn)存架構(gòu)的已知問題。

3)相比現(xiàn)存架構(gòu),必須具備優(yōu)勢明顯的新特性,哪怕軟件從來不使用這些新特性。

以上就是ARMv8-a產(chǎn)生的背景,也是ARMv8-a架構(gòu)之所以是“這個”樣子的直接原因。那么到底是什么樣子呢?我們繼續(xù)介紹。

3. ARMv8-a架構(gòu)簡介

基于上面的前提條件,ARMv8-a架構(gòu)的主要特性包括:

1)新增一套64-bit的指令集,稱作A64。

2)由于需要向前兼容ARMv7,所以同時支持現(xiàn)存的32-bit指令集,稱作A32和T32(也即我們熟悉的ARM和Thumb指令集)。

3)定義AArch64和AArch32兩套運(yùn)行環(huán)境(稱作Execution state),分別執(zhí)行64-bit和32-bit指令集。軟件可以在需要的時候,切換Execution state。

4)AArch64最大的改動,使用新的概念(exception level),重新解釋了processor mode、privilege level等概念,具體可參考第4章的介紹。

5)在ARMv7 security extension的基礎(chǔ)上,新增security model,支持安全相關(guān)的應(yīng)用需求。

6)在ARMv7 virtualization extension的基礎(chǔ)上,提供完整的virtualization框架,從硬件上支持虛擬化。

4. AArch64 Exception level

Exception level,是ARMv8-a引入的一個新概念,用于整合之前架構(gòu)中processor mode和privilege level相關(guān)的功能。

4.1 ARMv7之前的實(shí)現(xiàn)

我們知道,以前的ARM架構(gòu),處理器可以工作在多種模式(稱作processor mode)下,包括User、FIQ、IRQ、Abort、Undefined、System等,之所以存在不同的模式,主要有2個方面的考慮:

1)不同的處理器模式,有不同的硬件訪問權(quán)限,稱作privilege level。

主要有2個level,privilege和non-privilege。其中只有User模式屬于non-privilege level,其它均是privilege level。

安全起見,大多數(shù)時候,軟件都運(yùn)行在User mode。一旦需要其它操作,則需要切換到相應(yīng)的privilege模式下。這是最原始、最樸素的安全思想,當(dāng)然,只防君子,不防小人。

2)這些處理器模式,除User模式外,其它模式基本上和各類異常一一對應(yīng)。而不同的模式,都有一些自己獨(dú)有的寄存器,例如R13(SP)、R14(LR)等等,可以使模式切換過程(也是異常處理過程)更為高效、便利。

4.2 ARMv7-a的實(shí)現(xiàn)

ARMv7-a基本保留了之前的設(shè)計,不同之處,將privilege level命名了,稱作PL0和PL1(也許您猜到了,后來出現(xiàn)了PL2,用于虛擬化擴(kuò)展(Virtualization Extension)。

另外,增加了兩個模式:Monitor和Supervisor,分別用于security擴(kuò)展和virtualization擴(kuò)展。

4.3 ARMv8-a的實(shí)現(xiàn)

可能ARMv8-a的設(shè)計者覺得之前的設(shè)計有些啰嗦,就把processor mode的概念去掉(或者說淡化)了,取而代之的是4個固定的Exception level,簡稱EL0-EL3。同時,也淡化了privilege level的概念。Exception level本身就已經(jīng)包好了privilege的信息,即ELn的privilege隨著n的增大而增大。類似地,可以將EL0歸屬于non-privilege level,EL1/2/3屬于privilege level。

這些Exception level的現(xiàn)實(shí)意義是(如下圖,先忽略Secure model有關(guān)的內(nèi)容):

ARMv8-a Exception level有關(guān)的說明如下:

1)首先需要注意的是,AArch64中,已經(jīng)沒有User、SVC、ABT等處理器模式的概念,但ARMv8需要向前兼容,在AArch32中,就把這些處理器模式map到了4個Exception level。

2)Application位于特權(quán)等級最低的EL0,Guest OS(Linux kernel、window等)位于EL1,提供虛擬化支持的Hypervisor位于EL2(可以不實(shí)現(xiàn)),提供Security支持的Seurity Monitor位于EL3(可以不實(shí)現(xiàn))。

3)只有在異常發(fā)生時(或者異常處理返回時),才能切換Exception level(這也是Exception level的命名原因,為了處理異常)。當(dāng)異常發(fā)生時,有兩種選擇,停留在當(dāng)前的EL,或者跳轉(zhuǎn)到更高的EL,EL不能降級。同樣,異常處理返回時,也有兩種選擇,停留在當(dāng)前EL,或者調(diào)到更低的EL。

注1:有關(guān)ARMv8-a異常處理的具體細(xì)節(jié),會在其它文章中描述。

5. security model

ARMv8-a的security模型基本沿用了ARMv7 security extension的思路,主要目的保護(hù)一些安全應(yīng)用的數(shù)據(jù),例如支付等。它不同于privilege level等軟件邏輯上的保護(hù),而是一種物理上的區(qū)隔,即不同security狀態(tài)下,可以訪問的物理內(nèi)存是不同的。

ARMv8-a架構(gòu)有兩個security state(參考上面圖片),Security和non-Security。主要的功效是物理地址的區(qū)隔,以及一些system control寄存器的訪問控制:

在Security狀態(tài)下,處理器可以訪問所有的Secure physical address space以及Non-secure physical address space;

在Non-security狀態(tài)下,只能訪問Non-secure physical address space,且不能訪問Secure system control resources。

6. virtualization

硬件虛擬化包括指令集虛擬化、異常處理虛擬化、MMU虛擬化、IO虛擬化等多個議題,比較復(fù)雜,這里先不描述了。

7. 總結(jié)

本文簡單介紹了ARMv8-a中的一些概念,后續(xù)文章將會重點(diǎn)關(guān)注異常處理模型、security模型、virtualization模型。
編輯:hfy

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

    關(guān)注

    68

    文章

    20069

    瀏覽量

    242802
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    135

    文章

    9450

    瀏覽量

    385734
  • ARMv8
    +關(guān)注

    關(guān)注

    1

    文章

    35

    瀏覽量

    14596
  • 虛擬內(nèi)存
    +關(guān)注

    關(guān)注

    0

    文章

    79

    瀏覽量

    8376
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    國密算法+麒麟防護(hù):OBOO鷗柏觸控一體機(jī)構(gòu)建信息發(fā)布安全長城

    OBOO鷗柏純國產(chǎn)化飛騰D2000獨(dú)顯65寸觸摸屏查詢一體機(jī)核心參數(shù)與特性分析一、核心硬件配置處理器OBOO鷗柏采用飛騰D2000ARM架構(gòu)桌面64位處理器,8
    的頭像 發(fā)表于 09-29 19:39 ?983次閱讀
    國密算法+麒麟防護(hù):OBOO鷗柏觸控一體機(jī)構(gòu)建信息發(fā)布安全長城

    什么是ARM架構(gòu)?你需要知道的一切

    深入探討ARM?架構(gòu)的真正含義、其核心特性、與NVIDIAJetson?等平臺的差異,以及與傳統(tǒng)x86系統(tǒng)的比較。什么是ARM架構(gòu)?
    的頭像 發(fā)表于 09-11 14:48 ?501次閱讀
    什么是<b class='flag-5'>ARM</b><b class='flag-5'>架構(gòu)</b>?你需要知道的一切

    人工智能正在重新定義嵌入式系統(tǒng)

    人工智能(AI)正在從設(shè)計到功能等各個層面重新定義嵌入式系統(tǒng)。
    的頭像 發(fā)表于 09-04 16:57 ?1457次閱讀

    飛騰D2000 ops電腦產(chǎn)品規(guī)格說明書

    雙芯信息飛騰OPS電腦搭載?國產(chǎn)飛騰騰銳D2000 8核處理器?,采用先進(jìn)16nm工藝制程,兼容64位ARMV8指令架構(gòu),實(shí)現(xiàn)高性能與低功耗的完美平衡。無論是多任務(wù)處理、大數(shù)據(jù)運(yùn)算還是復(fù)雜應(yīng)用場
    發(fā)表于 07-25 17:41 ?0次下載

    同一水平的 RISC-V 架構(gòu)的 MCU,和 ARM 架構(gòu)的 MCU 相比,運(yùn)行速度如何?

    ARM 架構(gòu)與 RISC-V 架構(gòu)的 MCU 在同一性能水平下的運(yùn)行速度對比,需從架構(gòu)設(shè)計原點(diǎn)、指令集特性及實(shí)際測試數(shù)據(jù)展開剖析。以
    的頭像 發(fā)表于 07-02 10:29 ?928次閱讀
    同一水平的 RISC-V <b class='flag-5'>架構(gòu)</b>的 MCU,和 <b class='flag-5'>ARM</b> <b class='flag-5'>架構(gòu)</b>的 MCU 相比,運(yùn)行速度如何?

    在IAR Embedded Workbench for Arm中使用Arm Cortex-R52 NEON

    隨著嵌入式系統(tǒng)變得越來越智能,對嵌入式處理器的要求也越來越高。為了更好應(yīng)對汽車、醫(yī)療和工業(yè)機(jī)器人等領(lǐng)域?qū)η度胧教幚砥鞯囊螅?b class='flag-5'>Arm推出了采用Armv8-R架構(gòu)的Cortex-R52。Cortex-R52相對之前的處理器引入了很多
    的頭像 發(fā)表于 06-05 09:57 ?1302次閱讀
    在IAR Embedded Workbench for <b class='flag-5'>Arm</b>中使用<b class='flag-5'>Arm</b> Cortex-R52 NEON

    Arm 公司面向 PC 市場的 ?Arm Niva? 深度解讀

    :異構(gòu)集成與 AI 優(yōu)化 Arm Niva 基于 ? Armv9.2 架構(gòu) ? 設(shè)計,整合了 Cortex-X 超大核、Cortex-A 高效核及
    的頭像 發(fā)表于 05-29 09:56 ?1146次閱讀

    STC8H 單片機(jī) + RA8889/RA6809:重新定義嵌入式觸控交互_高流暢、低延遲、零基礎(chǔ)的人機(jī)界面(一)

    STC8H 單片機(jī) + RA8889/RA6809:重新定義嵌入式觸控交互_高流暢、低延遲、零基礎(chǔ)的人機(jī)界面
    的頭像 發(fā)表于 05-28 16:01 ?630次閱讀
    STC<b class='flag-5'>8</b>H 單片機(jī) + RA8889/RA6809:<b class='flag-5'>重新定義</b>嵌入式觸控交互_高流暢、低延遲、零基礎(chǔ)的人機(jī)界面(一)

    ARM最強(qiáng)超大核Cortex-X925與小米玄戒O1的深度解析

    ARM Cortex-X925:架構(gòu)革新與性能巔峰的全新標(biāo)桿 作為ARM迄今最強(qiáng)大的CPU核心,Cortex-X925基于Armv9.2-A架構(gòu)
    的頭像 發(fā)表于 05-23 15:29 ?2516次閱讀

    Arm發(fā)布基于Armv9架構(gòu)的Cortex-A320處理器

    邊緣 AI 需要更卓越的計算性能、更強(qiáng)大的安全性,以及更出色的軟件靈活性。隨著軟件愈發(fā)復(fù)雜化,Armv9 架構(gòu)應(yīng)運(yùn)而生,以提供先進(jìn)的機(jī)器學(xué)習(xí) (ML) 和 AI 功能,并具備增強(qiáng)的安全特性。該
    的頭像 發(fā)表于 02-27 17:10 ?1004次閱讀

    基于Armv9架構(gòu)的MediaTek天璣8400移動芯片問世

    如今,基于 Armv9 CPU 技術(shù)構(gòu)建的人工智能 (AI) 旗艦智能手機(jī)立于技術(shù)前沿,為 AI 創(chuàng)新提供了前所未有的機(jī)遇。為了應(yīng)對持續(xù)增長的 AI 工作負(fù)載的計算強(qiáng)度及復(fù)雜度,Armv9.2 CPU 集群帶來了更強(qiáng)性能、更高效率,以及更多功能,為新一代 AI 奠定了扎實(shí)
    的頭像 發(fā)表于 12-24 14:18 ?1008次閱讀

    一文詳解Arm架構(gòu)Armv9.6-A中的最新功能

    Arm CPU 是當(dāng)今人工智能 (AI) 賦能軟件的關(guān)鍵,它可解釋、處理和執(zhí)行指令。Arm 指令集架構(gòu) (ISA) 作為硬件和軟件的接口,指示處理器做什么和怎么做。Arm ISA 持續(xù)
    的頭像 發(fā)表于 12-17 10:22 ?4244次閱讀
    一文詳解<b class='flag-5'>Arm</b><b class='flag-5'>架構(gòu)</b><b class='flag-5'>Armv</b>9.6-A中的最新功能

    物聯(lián)網(wǎng)如何重新定義智慧城市的未來生活 智慧照明

    物聯(lián)網(wǎng)如何重新定義智慧城市的未來生活 智慧照明
    的頭像 發(fā)表于 12-03 17:56 ?844次閱讀
    物聯(lián)網(wǎng)如何<b class='flag-5'>重新定義</b>智慧城市的未來生活 智慧照明

    ARM技術(shù)是什么?國內(nèi)有哪些ARM廠家呢?一起來了解一下!

    7 :2005年推出,支持多核心設(shè)計,引入了NEON指令集,進(jìn)一步提升了處理器的多媒體處理能力和并行計算能力。 ARMv8 :2011年推出,采用64位架構(gòu),提供了更大的尋址空間和更高的性能。ARMv8
    發(fā)表于 11-18 16:35

    Armv9 CPU中SVE2的實(shí)際用例

    隨著每一代新產(chǎn)品的推出,Arm CPU 都會實(shí)現(xiàn)代際性能提升,并引入架構(gòu)改進(jìn),以滿足不斷演進(jìn)的計算工作負(fù)載的需求。本文將重點(diǎn)介紹三個用例,以展示 Armv9 CPU 的架構(gòu)
    的頭像 發(fā)表于 10-21 09:54 ?1532次閱讀
    <b class='flag-5'>Armv</b>9 CPU中SVE2的實(shí)際用例