[譯] ARMv8-A架構基礎之A64指令

ARMv8-A架構中引入的最重要的變化之一是為AArch64增加了一個新的指令集。 該指令集包含許多與現(xiàn)有AArch32(ARMv7-A)32位指令集相同的功能。

A64的加入提供了對64位寬整數(shù)寄存器和數(shù)據(jù)操作的訪問,并能夠使用64位指針指向內(nèi)存。 新指令稱為A64,并在AArch64執(zhí)行狀態(tài)下執(zhí)行。 ARMv8-A還包含原始的ARM指令集(現(xiàn)在稱為A32)和Thumb?(T32)指令集。

A32和T32都以AArch32狀態(tài)執(zhí)行,并提供與ARMv7-A的向后兼容性。 盡管它們在很多方面都相似,但是A64指令集與舊的ISA不同,編碼方式不同。 A64增加了一些額外的功能,同時也消除了可能限制高性能實現(xiàn)的速度或能源效率的其他功能。 ARMv8-A體系結構還包括對32位指令集(A32和T32)的一些增強。 但是,如有使用這些新特性的代碼與舊版ARMv7-A實現(xiàn)不兼容。 但是,A64指令集中的指令操作碼仍然是32位長,而不是64位。

A64指令集還提供了與A32相關的額外尋址模式,通過訪問大小對索引進行可選的縮放,允許將64位索引寄存器添加到64位基址寄存器中。 此外,它還提供了一個索引寄存器中的32位值的符號或零擴展,同樣可以選擇性地進行縮放。


原文
https://developer.arm.com/products/architecture/a-profile/docs/100878/latest/a64-instructions

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容