arm架構解釋概述

本文將解釋Arm計算機體系結構的組織方式,包括其ISA,執行狀態,體系結構和處理器系列。
Arm是處理器行業中無處不在的名稱,Arm核心幾乎可以在任何需要計算能力的現代設備中找到。這包括網絡路由器,打印機,智能手機,臺式機顯示器,醫療設備,機器人,甚至冰箱。Arm芯片已經在住宅,商業和工業應用中使用。但隨着Armv8的出現,該架構的功能和市場潛力發生了根本轉變。
arm計算機體系結構
由於Arm許可其架構,因此有Arm設計的微體系結構和第三方微體系結構。Arm發佈了一個架構,其他公司可以在自己的設計中實現它。實際上,Arm參考手冊沒有列出任何特定的微體系結構,而是定義了“抽象機器的行爲,稱爲處理元素”。只要實現符合此定義的行爲,它們就可以被視爲Arm核心。例如,Apple,Nvidia,Qualcomm和Samsung等公司都設計了自己的Arm微體系結構,實現了特定的Arm架構。
arm系列芯片封裝了使用特定指令集的特定體系結構。最初的Arm系列是Arm1,它使用了Armv1架構,以及32位ISA,簡稱爲Arm。
隨着架構的發展,增加了新功能,包括Armv4T架構中的新指令集。該指令集稱爲Thumb,是Arm ISA的16位重新編碼子集。Thumb允許比Arm更大的代碼密度。它的後繼產品Thumb-2允許16位和32位指令,同時提供比Arm更高的代碼密度和比Thumb更高的性能。
 
arm架構解釋概述
 
Arm 指令集架構和執行狀態
隨着第一個64位Arm架構Armv8的發佈,對ISA的澄清變得恰當。最初的32位Arm ISA重新命名爲A32,而新的64位ISA則被稱爲A64。Thumb變成了T32。A32和T32雖然向後兼容以前的版本,但在Armv8中進行了擴展。
爲了保持與早期版本的兼容性,Armv8引入了兩個新的執行狀態:AArch32和AArch64。它們分別是32位和64位模式。在AArch32狀態下,使用A32和T32指令集,而AArch64使用A64。
Arm架構
Arm架構很容易被發現,因爲它們的名字總是有一個'v'。如前所述,Armv1是第一個Arm架構,而Armv4T則引入了Thumb指令集。Arm11系列包括Armv6架構以及其他一些變體,如Armv6T2和Armv6K。在Arm11之後,這些家族被重新組織成了Cortex系列。截至目前,三個Cortex系列包括所有Armv7和Armv8架構。
iPhone 5S採用了Apple-A7 SoC,其中包括一個64位Arm核心,使其成爲智能手機中首款64位處理器。微架構實現了Armv8架構,由Apple設計,名爲Cyclone。最新的Raspberry Pi是一款流行的單板計算機,它使用Armv8核心,但由於操作系統和內存限制,它在AArch32狀態下運行。核心使用Arm設計的微架構,稱爲Cortex-A53。
Cortex系列
現代Arm系列是Cortex系列,包括三種架構配置文件:Cortex-A,Cortex-R和Cortex-M。具有此名稱的任何核心都是由Arm內部設計的微架構。

arm架構解釋概述

Cortex-A系列主要被認爲是具有OS和第三方應用程序支持的應用程序處理器。這意味着他們最終可能會進入應用密集型智能手機甚至是服務器。Cortex-A有32位(Armv7-A)和64位(Armv8-A)。Raspberry Pi 3使用Cortex-A53 Arm核心,實現了Armv8-A架構。
Cortex-R系列架構Armv7-R和Armv8-R針對高性能實時應用進行了優化。這些處理器具有更好的容錯能力,在安全關鍵應用中表現良好,包括醫療設備,工業控制系統和安全儀表系統。
Cortex-M系列是一組按比例縮小的低成本32位Arm內核,由Armv6-M,Armv7-M和Armv8-M組成。該系列處理器面向微控制器,ASIC,FPGA和SoC應用。在與8位MCU市場的直接競爭中,嵌入到更大的SoC中的32位Cortex-M內核可以是一個非常強大的組合。Cortex-M還通過Arm Mbed MCU和OS等平臺在物聯網應用中找到了一席之地。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章