Armv8是Armv7之後的一個重要架構更新。其中一個主要的變化是引入了64的架構,即AArch64。AArch64狀態只有在Armv8架構中才有。而且在AArch64狀態下執行的代碼只能使用A64指令集。當然ARM為了維持整個生態參與者的利益,Armv8還是保持與現有32位體系結構兼容性的AArch32,即Armv8之前的Armv7配置文件定義的那套設計規範。AArch32今天不會進行具體介紹,今天的重點是AArch64,但是不管怎麼變最本質的規則是不會變的,ARM對所有硬體資源的操作,都抽象成對寄存器的操作,寄存器隱藏了硬體的具體操作細節提供配置的介面,硬體處理器拿著這些配置負責具體的執行。下面具體看一下在AArch64狀態的一些主要技術細節:

1 AArch64狀態下的寄存器
1 AArch64狀態下的寄存器.jpg

2 異常級別
2 異常級別.jpg

3 鏈接寄存器

3 鏈接寄存器.jpg

4 堆棧指針寄存器

4 堆棧指針寄存器.jpg

5 預留的核心寄存器名字
5 預留的核心寄存器名字.jpg

6 預留的擴展的寄存器名字
6 預留的擴展的寄存器名字.jpg

7 程序計數器

7 程序計數器.jpg

8 帶條件的執行
8 帶條件的執行.jpg

9 Q標誌
9 Q標誌.jpg

10 進程狀態

10 進程狀態.jpg

11 保存的程序狀態寄存器(SPSR)
11 保存的程序狀態寄存器(SPSR).jpg

12 A64指令集
12 A64指令集.jpg

物聯網開發入門直播課 - ARM-RTC時鐘的運用 - 創客學院直播室?

www.makeru.com.cn圖標
推薦閱讀:

相關文章