麻豆一区二区三区蜜桃免费_中文字幕Va一区二区三区 _国产成人综合久久二区_丰满多毛的大隂户毛茸茸_国产麻豆剧果冻传媒免费老狼_无码人妻精品一区二区三区久久久 _亚洲中文无码精品卡通_蜜臀亚洲AV永久无码精品老司机

【方輝專欄】ARM64體系結(jié)構(gòu)編程與實(shí)踐學(xué)習(xí)筆記(一)ARM64體系結(jié)構(gòu)基礎(chǔ)知識(shí)
發(fā)布時(shí)間:2022-07-19

摘要: 本文主要介紹了ARM64(Armv8)體系結(jié)構(gòu)的基本概念。

關(guān)鍵字:ARM64、Armv8、體系結(jié)構(gòu)、ARM架構(gòu)、指令集、數(shù)據(jù)寬度


1. ARM體系結(jié)構(gòu)是什么?


ARM體系結(jié)構(gòu),又稱ARM架構(gòu),是一種硬件規(guī)范。主要用來約定指令集、芯片內(nèi)部體系結(jié)構(gòu)(如內(nèi)存管理、高速緩存管理)等。


ARM指令集在結(jié)構(gòu)體系中并沒有約定每一條指令在硬件描述語言(VHDL或Verilog HDL)中如何實(shí)現(xiàn),而只約定了每條指令的格式、行為規(guī)范、參數(shù)等。


ARM體系結(jié)構(gòu)從v1版本發(fā)展到v9版本,每個(gè)版本的體系結(jié)構(gòu),指令集都有相應(yīng)的變化。


2. Armv8-A體系結(jié)構(gòu)的基本概念


2.1處理機(jī)(Processing Element ,PE):處理事務(wù)的過程抽象為處理機(jī)。


2.2執(zhí)行狀態(tài)(Execution State):處理器運(yùn)行時(shí)的環(huán)境,包括寄存器的位寬、支持的指令集、異常模型、內(nèi)存管理以及編程模型等。


Armv8體系結(jié)構(gòu)定義了AArch64和AArch32兩個(gè)執(zhí)行狀態(tài)。


2.2.1 ?AArch64為64位執(zhí)行狀態(tài)

  • 提供31個(gè)64位的通用寄存器
  • 提供64位的程序計(jì)數(shù)指針寄存器(PC)、棧指針寄存器(SP)、異常鏈接寄存器(ELR).
  • 提供A64指令集
  • 提供64位的內(nèi)存模型
  • 定義Armv8異常模型,支持EL0-EL3共4個(gè)異常等級(jí)。
  • 定義一組處理器狀態(tài)(PSTATE)用來保存處理機(jī)(PE)的狀態(tài)。


2.2.2 ?AArch32為32位執(zhí)行狀態(tài)

  • 提供13個(gè)32位的通用寄存器
  • 提供32位的程序計(jì)數(shù)指針寄存器(PC)、棧指針寄存器(SP)、鏈接寄存器(LR).
  • 提供A32指令集和T32(Thumb)指令集。
  • 提供32位的虛擬內(nèi)存訪問機(jī)制。
  • 定義Armv8異常模型,支持EL0-EL3共4個(gè)異常等級(jí)。
  • 定義一組處理器狀態(tài)(PSTATE)用來保存處理機(jī)(PE)的狀態(tài)。


2.3 Armv8指令集

  • Arm 體系結(jié)構(gòu)根據(jù)不同的執(zhí)行狀態(tài)會(huì)有三種指令集。
  • A64指令集,運(yùn)行在AArch64狀態(tài)下,提供64位指令集支持。
  • A32指令集,運(yùn)行在AArch32狀態(tài)下,提供32位指令集支持。
  • T32指令集,運(yùn)行在AArch32狀態(tài)下,提供Thumb 16位和32位指令集支持。


2.4 系統(tǒng)寄存器命令

在AArch64狀態(tài)下,一些系統(tǒng)寄存器會(huì)根據(jù)不同的異常等級(jí)提供不同的變種寄存器。例如:SP_EL0表示在EL0下的SP寄存器,SP_EL1表示在EL1下的SP寄存器。


3. AArch64異常等級(jí)


ARMv8-A架構(gòu)定義了一組異常級(jí)別(Exception Level,EL),從EL0到EL3,其中: 如果ELn為異常級(jí)別,n的值越大表示軟件執(zhí)行權(quán)限越高。



如上圖所示,

  • EL0提供用于普通用戶的應(yīng)用。
  • EL1提供操作系統(tǒng)相關(guān)的支持。
  • EL2提供對非安全操作的虛擬化支持。
  • EL3提供了兩個(gè)安全狀態(tài)之間切換的支持,安全狀態(tài)和非安全狀態(tài)。
  • 一個(gè)程序可能不包括所有的異常級(jí)別,但必須包括EL0和EL1,至于EL2、EL3可選。


4. ARMv8支持的數(shù)據(jù)寬度

ARMv8支持如下幾種數(shù)據(jù)寬度:

  • 字節(jié):8位
  • 半字:16位
  • 字 :32位
  • 雙字:64位
  • 四字:128位


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


關(guān)于億道電子

億道電子技術(shù)有限公司(英文名稱:Emdoor Electronics Technology Co.,Ltd)是國內(nèi)資深的研發(fā)工具軟件提供商,公司成立于 2002 年,面向中國廣大的制造業(yè)客戶提供研發(fā)、設(shè)計(jì)、管理過程中使用的各種軟件開發(fā)工具,致力于幫助客戶提高研發(fā)管理效率、縮短產(chǎn)品設(shè)計(jì)周期,提升產(chǎn)品可靠性。

20 年來,先后與 Altium、ARM、Ansys、QT、Adobe、Visu-IT、Minitab、Testplant、EPLAN、HighTec、GreenHills、PLS、Ashling、MSC Software 、Autodesk、Source Insight、TeamEDA、MicroFocus等多家全球知名公司建立戰(zhàn)略合作伙伴關(guān)系,并作為他們在中國區(qū)的主要分銷合作伙伴服務(wù)了數(shù)千家中國本土客戶,為客戶提供從芯片級(jí)開發(fā)工具、EDA 設(shè)計(jì)工具、軟件編譯以及測試工具、結(jié)構(gòu)設(shè)計(jì)工具、仿真工具、電氣設(shè)計(jì)工具、以及嵌入式 GUI 工具等等。億道電子憑借多年的經(jīng)驗(yàn)積累,真正的幫助客戶實(shí)現(xiàn)了讓研發(fā)更簡單、更可靠、更高效的目標(biāo)。

歡迎關(guān)注“億道電子”公眾號(hào)

了解更多研發(fā)工具軟件知識(shí)