日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

详谈ARM架构与ARM内核发展史

發(fā)布時間:2024/8/23 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 详谈ARM架构与ARM内核发展史 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

戳藍(lán)字“CSDN云計算”關(guān)注我們哦!

作者 |?架構(gòu)師技術(shù)聯(lián)盟

責(zé)編 | 阿禿

1、ARM架構(gòu)與ARM內(nèi)核

1.1?ARM架構(gòu)與內(nèi)核簡述

目前為止,ARM總共發(fā)布8種架構(gòu):ARMv1、ARMv2、ARMv3、ARMv4、ARMv5、ARMv6、ARMv7 、ARMv8,這是ARM架構(gòu)指令集的多個v版本。

基于不同的ARM架構(gòu)可以設(shè)計出不同特點(diǎn)的內(nèi)核處理器。比如基于ARMv3架構(gòu)設(shè)計出的處理器ARM6、ARM7,這兩款處理器適用于不同的場景,硬件可能不同,但是架構(gòu)指令集是一樣的。

好比蓋房子,剛開始因為水平低流行蓋平房,這就是一種架構(gòu)(ARMv5),然后這種平房架構(gòu)你可以設(shè)計出一款獨(dú)立衛(wèi)生間的款式,?這叫ARM7內(nèi)核。?然后其他人(芯片設(shè)計公司)想蓋房子的就買你這個圖紙去蓋,接著過一段時間,有人覺得光獨(dú)立衛(wèi)生間還不夠啊,?我還想有個小院子! 好吧,那ARM就滿足你們的要求,出個帶小院子的款式(ARM9)。

即ARMv1/2/3等是指令集的架構(gòu),ARM7/9等是基于架構(gòu)設(shè)計出的內(nèi)核處理器。ARM的架構(gòu)都是基于RISC指令集而設(shè)計的,內(nèi)核是實現(xiàn)這一指令集的硬件架構(gòu)的基礎(chǔ)。

1.2? ARM各架構(gòu)之間區(qū)別

1.2.1 ARM版本Ⅰ:V1版架構(gòu)

該版架構(gòu)只在原型機(jī)ARM1出現(xiàn)過,只有26位的尋址空間,沒有用于商業(yè)產(chǎn)品。其基本性能有:

  • 基本的數(shù)據(jù)處理指令(無乘法);

  • 基于字節(jié)、半字和字的Load/Store指令;

  • 轉(zhuǎn)移指令,包括子程序調(diào)用及鏈接指令;

  • 供操作系統(tǒng)使用的軟件中斷指令SWI;

  • 尋址空間:64MB(226)。

1.2.2 ARM版本Ⅱ:V2版架構(gòu)

該版架構(gòu)對V1版進(jìn)行了擴(kuò)展,例如ARM2和ARM3(V2a)架構(gòu)。包含了對32位乘法指令和協(xié)處理器指令的支持。

版本2a是版本2的變種,ARM3芯片采用了版本2a,是第一片采用片上Cache的ARM處理器。同樣為26位尋址空間,現(xiàn)在已經(jīng)廢棄不再使用。V2版架構(gòu)與版本V1相比,增加了以下功能:

  • 乘法和乘加指令;

  • 支持協(xié)處理器操作指令;

  • 快速中斷模式;

  • SWP/SWPB的最基本存儲器與寄存器交換指令;

  • 尋址空間:64MB。

1.2.3 ARM版本Ⅲ: V3版架構(gòu)

ARM作為獨(dú)立的公司,在1990年設(shè)計的第一個微處理器采用的是版本3的ARM6。它作為IP核、獨(dú)立的處理器、具有片上高速緩存、MMU和寫緩沖的集成CPU。

變種版本有3G和3M。版本3G是不與版本2a向前兼容的版本3,版本3M引入了有符號和無符號數(shù)乘法和乘加指令,這些指令產(chǎn)生全部64位結(jié)果。V3版架構(gòu)(?目前已廢棄?)對ARM體系結(jié)構(gòu)作了較大的改動:

  • 尋址空間增至32位(4GB);

  • 當(dāng)前程序狀態(tài)信息從原來的R15寄存器移到當(dāng)前程序狀態(tài)寄存器CPSR中(Current Program Status Register);

  • 增加了程序狀態(tài)保存寄存器SPSR(SavedProgram Status Register);

  • 增加了兩種異常模式,使操作系統(tǒng)代碼可方便地使用數(shù)據(jù)訪問中止異常、指令預(yù)取中止異常和未定義指令異常。;

  • 增加了MRS/MSR指令,以訪問新增的CPSR/SPSR寄存器;

  • 增加了從異常處理返回的指令功能。

1.2.4 ARM版本Ⅳ: V4版架構(gòu)

V4版架構(gòu)在V3版上作了進(jìn)一步擴(kuò)充,V4版架構(gòu)是目前應(yīng)用最廣的ARM體系結(jié)構(gòu),ARM7、ARM8、ARM9和StrongARM都采用該架構(gòu)。

V4不再強(qiáng)制要求與26位地址空間兼容,而且還明確了哪些指令會引起未定義指令異常。指令集中增加了以下功能:

  • 符號化和非符號化半字及符號化字節(jié)的存/取指令;

  • 增加了T變種,處理器可工作在Thumb狀態(tài),增加了16位Thumb指令集;

  • 完善了軟件中斷SWI指令的功能;

  • 處理器系統(tǒng)模式引進(jìn)特權(quán)方式時使用用戶寄存器操作;

  • 把一些未使用的指令空間捕獲為未定義指令

1.2.5 ARM版本Ⅴ: V5版架構(gòu)

V5版架構(gòu)是在V4版基礎(chǔ)上增加了一些新的指令,ARM10和Xscale都采用該版架構(gòu)。這些新增命令有:

  • 帶有鏈接和交換的轉(zhuǎn)移BLX指令;

  • 計數(shù)前導(dǎo)零CLZ指令;

  • BRK中斷指令;

  • 增加了數(shù)字信號處理指令(V5TE版);?為協(xié)處理器增加更多可選擇的指令

  • 改進(jìn)了ARM/Thumb狀態(tài)之間的切換效率;

  • E---增強(qiáng)型DSP指令集,包括全部算法操作和16位乘法操作;

  • J----支持新的JAVA,提供字節(jié)代碼執(zhí)行的硬件和優(yōu)化軟件加速功能。

1.2.6 ARM版本Ⅵ: V6版架構(gòu)

V6版架構(gòu)是2001年發(fā)布的,首先在2002年春季發(fā)布的ARM11處理器中使用。在降低耗電量地同時,還強(qiáng)化了圖形處理性能。通過追加有效進(jìn)行多媒體處理的SIMD (Single Instruction, Multiple Data,單指令多數(shù)據(jù)?)功能,將語音及圖像的處理功能提高到了原型機(jī)的4倍。此架構(gòu)在V5版基礎(chǔ)上增加了以下功能:

  • THUMBTM:35%代碼壓縮;

  • DSP擴(kuò)充:高性能定點(diǎn)DSP功能;

  • JazelleTM:Java性能優(yōu)化,可提高8倍;

  • Media擴(kuò)充:音/視頻性能優(yōu)化,可提高4倍

2、ARM產(chǎn)品型號

2.1 內(nèi)核產(chǎn)品型號

基于各ARM架構(gòu)設(shè)計的內(nèi)核型號如下圖所示:

目前常見的指令集的說明:ARMv7之前均為32位總線位寬,從ARMv8開始擴(kuò)展為64位總線位寬(數(shù)據(jù)總線、地址總線、控制總線位寬均為64位,一般尋址空間不會用滿)。

?

2.2 產(chǎn)品命名規(guī)則

ARM處理器命名規(guī)則和格式:ARM x y z T D M I E J F -S

  • x:序列

  • y:2:帶MMU, 4帶MPU,6沒有

  • z:0:標(biāo)準(zhǔn)cache,2:減小的cache, 6可變的cache

  • T:處理器支持Thumb指令集

  • D:支持JTAG調(diào)試器

  • M:支持長乘法指令

  • I:有嵌入式跟蹤宏單元

  • E:支持增強(qiáng)指令(基于TDMI)

  • J:支持JAVA硬件加速(Jazelle)

  • F:支持向量浮點(diǎn)單元

  • S:可綜合版本

?

2.3 內(nèi)核產(chǎn)品應(yīng)用

  • ARM7:ARMv4架構(gòu)

  • ARM9:ARMv5架構(gòu)

  • ARM11:ARMv6架構(gòu)

  • ARM-Cortex 系列:ARMv7架構(gòu)。

ARM7沒有MMU(內(nèi)存管理單元),只能叫做MCU(微控制器),不能運(yùn)行諸如Linux、WinCE等這些現(xiàn)代的多用戶多進(jìn)程操作系統(tǒng),因為運(yùn)行這些系統(tǒng)需要MMU,才能給每個用戶進(jìn)程分配進(jìn)程自己獨(dú)立的地址空間。ucOS、ucLinux這些精簡實時的RTOS不需要MMU,當(dāng)然可以在ARM7上運(yùn)行。

ARM9、ARM11,是嵌入式CPU(處理器),帶有MMU,可以運(yùn)行諸如Linux等多用戶多進(jìn)程的操作系統(tǒng),應(yīng)用場合也不同于ARM7。

到了ARMv7架構(gòu)的時候開始以Cortex來命名,并分成Cortex-A、Cortex-R、Cortex-M三個系列。三大系列分工明確:

  • “A”系列面向尖端的基于虛擬內(nèi)存的操作系統(tǒng)和用戶應(yīng)用;

  • “R”系列針對實時系統(tǒng);

  • “M”系列對微控制器。簡單的說Cortex-A系列是用于移動領(lǐng)域的CPU,Cortex-R和Cortex-M系列是用于實時控制領(lǐng)域的MCU。

1、Cortex-M系列:M-Profile,即"Microntroller"- Profile,側(cè)重微控制器單片機(jī)方面的場合。

2、Cortex-R系列:R-Profile,即"Real-Time"-Profile,側(cè)重于實時系統(tǒng)的場合。

3、Cortex-A系列:A-Profile,即“Application”-Profile,側(cè)重于應(yīng)用功能的場合。

福利掃描添加小編微信,備注“姓名+公司職位”,加入【云計算學(xué)習(xí)交流群】,和志同道合的朋友們共同打卡學(xué)習(xí)! 推薦閱讀:
  • CPU 到底是怎么認(rèn)識代碼的?漲姿勢了!

  • 終于有人把超融合和邊緣計算說清楚了

  • 達(dá)摩院 2020 預(yù)測:模塊化降低芯片設(shè)計門檻 | 問底中國 IT 技術(shù)演進(jìn)

  • 千萬不要和程序員一起合租!

  • 2019全年盤點(diǎn)之一:公鏈生死戰(zhàn)場

  • 鯤鵬之大,何止幾千里?

真香,朕在看了!

總結(jié)

以上是生活随笔為你收集整理的详谈ARM架构与ARM内核发展史的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。