本文將解釋Arm計(jì)算機(jī)體系結(jié)構(gòu)的組織方式,包括其ISA,執(zhí)行狀態(tài),體系結(jié)構(gòu)和處理器系列。
Arm是處理器行業(yè)中無處不在的名稱,Arm核心幾乎可以在任何需要計(jì)算能力的現(xiàn)代設(shè)備中找到。這包括網(wǎng)絡(luò)路由器,打印機(jī),智能手機(jī),臺式機(jī)顯示器,醫(yī)療設(shè)備,機(jī)器人,甚至冰箱。Arm芯片已經(jīng)在住宅,商業(yè)和工業(yè)應(yīng)用中使用。但隨著Armv8的出現(xiàn),該架構(gòu)的功能和市場潛力發(fā)生了根本轉(zhuǎn)變。
arm計(jì)算機(jī)體系結(jié)構(gòu)
由于Arm許可其架構(gòu),因此有Arm設(shè)計(jì)的微體系結(jié)構(gòu)和第三方微體系結(jié)構(gòu)。Arm發(fā)布了一個(gè)架構(gòu),其他公司可以在自己的設(shè)計(jì)中實(shí)現(xiàn)它。實(shí)際上,Arm參考手冊沒有列出任何特定的微體系結(jié)構(gòu),而是定義了“抽象機(jī)器的行為,稱為處理元素”。只要實(shí)現(xiàn)符合此定義的行為,它們就可以被視為Arm核心。例如,Apple,Nvidia,Qualcomm和Samsung等公司都設(shè)計(jì)了自己的Arm微體系結(jié)構(gòu),實(shí)現(xiàn)了特定的Arm架構(gòu)。
arm系列芯片封裝了使用特定指令集的特定體系結(jié)構(gòu)。最初的Arm系列是Arm1,它使用了Armv1架構(gòu),以及32位ISA,簡稱為Arm。
隨著架構(gòu)的發(fā)展,增加了新功能,包括Armv4T架構(gòu)中的新指令集。該指令集稱為Thumb,是Arm ISA的16位重新編碼子集。Thumb允許比Arm更大的代碼密度。它的后繼產(chǎn)品Thumb-2允許16位和32位指令,同時(shí)提供比Arm更高的代碼密度和比Thumb更高的性能。
Arm 指令集架構(gòu)和執(zhí)行狀態(tài)
隨著第一個(gè)64位Arm架構(gòu)Armv8的發(fā)布,對ISA的澄清變得恰當(dāng)。最初的32位Arm ISA重新命名為A32,而新的64位ISA則被稱為A64。Thumb變成了T32。A32和T32雖然向后兼容以前的版本,但在Armv8中進(jìn)行了擴(kuò)展。
為了保持與早期版本的兼容性,Armv8引入了兩個(gè)新的執(zhí)行狀態(tài):AArch32和AArch64。它們分別是32位和64位模式。在AArch32狀態(tài)下,使用A32和T32指令集,而AArch64使用A64。
Arm架構(gòu)
Arm架構(gòu)很容易被發(fā)現(xiàn),因?yàn)樗鼈兊拿挚偸怯幸粋€(gè)'v'。如前所述,Armv1是第一個(gè)Arm架構(gòu),而Armv4T則引入了Thumb指令集。Arm11系列包括Armv6架構(gòu)以及其他一些變體,如Armv6T2和Armv6K。在Arm11之后,這些家族被重新組織成了Cortex系列。截至目前,三個(gè)Cortex系列包括所有Armv7和Armv8架構(gòu)。
iphone 5S采用了Apple-A7 SoC,其中包括一個(gè)64位Arm核心,使其成為智能手機(jī)中首款64位處理器。微架構(gòu)實(shí)現(xiàn)了Armv8架構(gòu),由Apple設(shè)計(jì),名為Cyclone。最新的Raspberry Pi是一款流行的單板計(jì)算機(jī),它使用Armv8核心,但由于操作系統(tǒng)和內(nèi)存限制,它在AArch32狀態(tài)下運(yùn)行。核心使用Arm設(shè)計(jì)的微架構(gòu),稱為Cortex-A53。
Cortex系列
現(xiàn)代Arm系列是Cortex系列,包括三種架構(gòu)配置文件:Cortex-A,Cortex-R和Cortex-M。具有此名稱的任何核心都是由Arm內(nèi)部設(shè)計(jì)的微架構(gòu)。
Cortex-A系列主要被認(rèn)為是具有OS和第三方應(yīng)用程序支持的應(yīng)用程序處理器。這意味著他們最終可能會進(jìn)入應(yīng)用密集型智能手機(jī)甚至是服務(wù)器。Cortex-A有32位(Armv7-A)和64位(Armv8-A)。Raspberry Pi 3使用Cortex-A53 Arm核心,實(shí)現(xiàn)了Armv8-A架構(gòu)。
Cortex-R系列架構(gòu)Armv7-R和Armv8-R針對高性能實(shí)時(shí)應(yīng)用進(jìn)行了優(yōu)化。這些處理器具有更好的容錯(cuò)能力,在安全關(guān)鍵應(yīng)用中表現(xiàn)良好,包括醫(yī)療設(shè)備,工業(yè)控制系統(tǒng)和安全儀表系統(tǒng)。
Cortex-M系列是一組按比例縮小的低成本32位Arm內(nèi)核,由Armv6-M,Armv7-M和Armv8-M組成。該系列處理器面向微控制器,ASIC,F(xiàn)PGA和SoC應(yīng)用。在與8位MCU市場的直接競爭中,嵌入到更大的SoC中的32位Cortex-M內(nèi)核可以是一個(gè)非常強(qiáng)大的組合。Cortex-M還通過Arm Mbed MCU和OS等平臺在物聯(lián)網(wǎng)應(yīng)用中找到了一席之地。