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

【方輝專欄】ARM64體系結(jié)構(gòu)編程與實踐學(xué)習(xí)筆記(四) A64指令集介紹及編碼格式
發(fā)布時間:2022-07-22

摘要: 本文主要對A64指令集和編碼格式進行介紹。

關(guān)鍵字:A64指令集、Armv8、體系結(jié)構(gòu)、ARM架構(gòu)、 編碼格式


1. A64指令集介紹

指令集是處理器體系結(jié)構(gòu)設(shè)計的重點之一。每種新型的架構(gòu)在設(shè)計時就規(guī)定了一系列與其硬件電路相配合的指令系統(tǒng)。指令集的先進與否,關(guān)系到MCU性能發(fā)揮。指令集的完善也是提高微處理器效率的最有效的工具。


ARM指令集一直在變化和發(fā)展中。Armv8體系結(jié)構(gòu)最大的改變是增加了一個新的64位指令集,這是對原來指令集的有益補充和增強。A64指令集可以處理64位寬的寄存器和數(shù)據(jù),并使用64位的指針來訪問內(nèi)存。


Armv8架構(gòu)在AArch64運行狀態(tài)下使用A64指令集,在AArch32運行狀態(tài)下使用A32指令集。A64指令集和A32 指令集是不兼容的,它們是兩套完全不一樣的指令集,它們的指令編碼是不一樣的。


注意:A64指令集的指令寬度是32位,而不是64位;只能運行在AArch64狀態(tài)下。


A64匯編指令需要注意以下4點:

A64支持指令助記符和寄存器名稱全是大寫或全是小寫字母。

使用立即數(shù)操作時,立即數(shù)前面可以加“#”,也可以不加。

“//”用于注釋匯編代碼。

通用寄存器前面的“W”表示寄存器低32位,“X”表示64位通用寄存器。


A64指令集分類:

內(nèi)存加載和存儲指令

多字節(jié)內(nèi)存加載和存儲指令

算術(shù)和移位指令

移位操作指令

位操作指令

條件操作指令

跳轉(zhuǎn)指令

獨占訪問指令

內(nèi)存屏蔽指令

異常處理指令


2. A64指令編碼格式

A64指令集中每條指令的寬度為32位,其中第25-28位用來識別指令的分類,如下圖所示:




A64指令集支持64位寬的數(shù)據(jù)和地址尋址,為什么指令的編碼寬度只有32位?

因為A64指令集基于寄存器加載和存儲的體系結(jié)構(gòu)設(shè)計,所有的數(shù)據(jù)加載、存儲以及處理都是在通用寄存器中完成的。

ARM64一共有31個通用寄存器,即X0-X30,因此在指令編碼中使用5位寬度,這樣可以索引32個通用寄存器。


例如立即數(shù)加載指令格式:LDR <Xt> , [ <Xn|SP> ], # <simm>



第0-4位為Rt字段,用來描述目標(biāo)寄存器Xt,可以從X0-X30中選擇。

第5-9位為Rn字段,用來描述基地址寄存器Xn,可以從X0-X30中選擇。也可以選擇SP寄存器為第31個寄存器。

第12-20位為imm9字段,用于偏移量simm.

第21-29位用于指令分類。

第30-31位為size字段,當(dāng)為“11”時表示64位數(shù)據(jù)寬度,當(dāng)為“10”時表示32位。


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


關(guān)于億道電子

億道電子技術(shù)有限公司(英文名稱:Emdoor Electronics Technology Co.,Ltd)是國內(nèi)資深的研發(fā)工具軟件提供商,公司成立于 2002 年,面向中國廣大的制造業(yè)客戶提供研發(fā)、設(shè)計、管理過程中使用的各種軟件開發(fā)工具,致力于幫助客戶提高研發(fā)管理效率、縮短產(chǎn)品設(shè)計周期,提升產(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ù)千家中國本土客戶,為客戶提供從芯片級開發(fā)工具、EDA 設(shè)計工具、軟件編譯以及測試工具、結(jié)構(gòu)設(shè)計工具、仿真工具、電氣設(shè)計工具、以及嵌入式 GUI 工具等等。億道電子憑借多年的經(jīng)驗積累,真正的幫助客戶實現(xiàn)了讓研發(fā)更簡單、更可靠、更高效的目標(biāo)。

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

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