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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ARM 指令集版本和ARM 版本

發布時間:2023/12/20 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ARM 指令集版本和ARM 版本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

常常能看到ARM7,ARM9,ARM11,以及armv6k等不同的表達。且在GCC編譯中,常常要用到 -march,-mcpu等。他們分別表達什么涵義呢?Sam自己也不很清楚,只是大概有個模糊的概念。今天就仔細研究一下。

?

ARM(Advanced RISCMachines)是微處理器行業的一家知名企業。設計了大量高性能、廉價、耗能低的RISC處理器、相關技術及軟件。1985年,第一個ARM原型在英國劍橋誕生。ARM公司的特點是只設計芯片,而不生產。ARM將其技術授權給世界上許多著名的半導體、軟件和OEM廠商,每個廠商得到的都是一套獨一無二的ARM相關技術及服務。利用這種合伙關系,ARM很快成為許多全球性RISC標準的締造者。

?

?

ARM公司定義了6種主要的指令集體系結構版本。V1-V6。(所以上面提到的ARMv6是指指令集版本號)。即:ARM architecture

?

ARMv1:

該版本的原型機是ARM1,沒有用于商業產品。

ARMv2:

對V1版進行了擴展,包含了對32位結果的乘法指令和協處理器指令的支持。

ARMv3:

ARM公司第一個微處理器ARM6核心是版本3的,它作為IP核、獨立的處理器、具有片上高速緩存、MMU和寫緩沖的集成CPU。

ARMv4:

當前應用最廣泛的ARM指令集版本。

ARM7TDMI、ARM720T、ARM9TDMI、ARM940T、ARM920T、Intel的StrongARM等是基于ARMv4T版本。
ARMv5:

ARM9E-S、ARM966E-S、ARM1020E、ARM 1022E以及XScale是ARMv5TE的。

ARM9EJ-S、ARM926EJ-S、ARM7EJ-S、ARM1026EJ-S是基于ARMv5EJ的。

ARM10也采用。

其中后綴意義如下:

E:增強型DSP指令集。包括全部算法和16位乘法操作。

J:支持新的Java。

ARMv6:

采用ARMv6核的處理器是ARM11系列。

ARM1136J(F)-S基于ARMv6主要特性有SIMD、Thumb、Jazelle、DBX、(VFP)、MMU。

ARM1156T2(F)-S基于ARMv6T2 主要特性有SIMD、Thumb-2、(VFP)、MPU。

ARM1176JZ(F)-S基于ARMv6KZ 在 ARM1136EJ(F)-S 基礎上增加MMU、TrustZone。

ARM11 MPCore基于ARMv6K 在ARM1136EJ(F)-S基礎上可以包括1-4 核SMP、MMU。

ARMv7-A:

?

?

?

?

?

ARM處理器核:

ARM公司開發了很多ARM處理器核,最新版位ARM11。

ARM7微處理器系列
低功耗的32位RISC處理器,馮·諾依曼結構。極低的功耗,適合便攜式產品。
具有嵌入式ICE-RT邏輯,調試開發方便。
3級流水線結構。能夠提供0.9MIPS的三級流水線結構
代碼密度高,兼容16位的Thumb指令集。
對操作系統的支持廣泛,包括Windows CE、Linux、Palm OS等。
指令系統與ARM9系列、ARM9E系列和ARM10E系列兼容,便于用戶的產品升級換代。
主頻最高可達130MIPS。
主要應用領域:工業控制、Internet設備、網絡和調制解調器設備、移動電話等多種多媒體和嵌入式應用。

ARM7TDMI微處理器
4種類型:
ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。
ARM7TMDI是目前使用最廣泛的32位嵌入式RISC處理器,屬低端ARM處理器核。
注:“ARM核”并不是芯片,ARM核與其它部件如RAM、ROM、片內外設組合在一起才能構成現實的芯片。

?

ARM9微處理器系列
ARM9系列微處理器在高性能和低功耗特性方面提供最佳的性能。
5級整數流水線,
哈佛體系結構。
支持32位ARM指令集和16位Thumb指令集。
全性能的MMU,支持Windows CE、Linux、Palm OS等多種主流嵌入式操作系統。
支持數據Cache和指令Cache,具有更高的指令和數據處理能力。
主要應用:無線設備、儀器儀表、安全系統、機頂盒、高端打印機、數碼照相機和數碼攝像機。
3種類型:ARM920T、ARM922T和ARM940T。

ARM9E微處理器系列
單一處理器內核提供微控制器、DSP、Java應用系統的解決方案。
支持DSP指令集。
5級整數流水線,指令執行效率更高。
支持32位ARM指令集和16位Thumb指令集。
支持VFP9浮點處理協處理器。
全性能的MMU,支持Windows CE、Linux、Palm OS等多種主流嵌入式操作系統。
MPU支持實時操作系統。
支持數據Cache和指令Cache,
主頻最高可達300MIPS。
主要應用:下一代無線設備、數字消費品、成像設備、工業控制、存儲設備和網絡設備等領域。
3種類型:ARM926EJ-S、ARM946E-S和ARM966E-S。

?

ARM10E微處理器系列
與同等的ARM9比較,在同樣的時鐘頻率下,性能提高了近50%,功耗極低。
支持DSP指令集。
6級整數流水線,指令執行效率更高。
支持32位ARM指令集和16位Thumb指令集。
支持VFP10浮點處理協處理器。
全性能的MMU,支持Windows CE、Linux、Palm OS等多種主流嵌入式操作系統。
支持數據Cache和指令Cache。
主頻最高可達400MIPS。
內嵌并行讀/寫操作部件。
主要應用:下一代無線設備、數字消費品、成像設備、工業控制、通信和信息系統等領域。
3種類型:ARM1020E、ARM1022E和ARM1026EJ-S。

SecurCore微處理器系列
專為安全需要而設計,提供了完善的32位RISC技術的安全解決方案。
靈活的保護單元,以確保操作系統和應用數據的安全。
采用軟內核技術,防止外部對其進行掃描探測。
可集成用戶自己的安全特性和其他協處理器。
主要應用:對安全性要求較高的應用產品及應用系統,如電子商務、電子政務、電子銀行業務、網絡和認證系統等領域。
4種類型:SecurCore SC100、SecurCore SC110、SecurCore SC200和SecurCoreSC210。

Xscale處理器
基于ARMv5TE體系結構的解決方案,是一款全性能、高性價比、低功耗的處理器。
支持16位的Thumb指令和DSP指令集。
已使用在數字移動電話、個人數字助理和網絡產品等場合。
Xscale處理器是Intel目前主要推廣的一款ARM微處理器

?

ARM11:指令集ARMv6,8級流水線,1.25DMIPS/MHz

Cortex-A8:指令集ARMv7-A,13級整數流水線,超標量雙發射,2.0DMIPS/MHz,標配Neon,不支持多核
Scorpion:指令集ARMv7-A,高通獲得指令集授權后在A8的基礎上設計的。13級整數流水線,超標量雙發射,部分亂序執行,2.1DMIPS/MHz,標配Neon,支持多核
Cortex-A9:指令集ARMv7-A,8級整數流水線,超標量雙發射,亂序執行,2.5DMIPS/MHz,可選配Neon/VFPv3,支持多核
Cortex-A5:指令集ARMv7-A,8級整數流水線,1.57DMIPS/MHz,可選配Neon/VFPv3,支持多核

Cortex-A15:指令集ARMv7-A,超標量,亂序執行,可選配Neon/VFPv4,支持多核

?

?




?

?

?當使用ARM toolchain時,會有-march -mcpu等。

-mcpu=

-mtune=

他們指定目標處理器(target ARMprocessor)。

可選的參數為:arm2',`arm250',`arm3', `arm6', `arm60', `arm600', `arm610', `arm620', `arm7', `arm7m', `arm7d', `arm7dm', `arm7di', `arm7dmi', `arm70', `arm700', `arm700i', `arm710', `arm710c', `arm7100', `arm7500', `arm7500fe', `arm7tdmi', `arm7tdmi-s', `arm8', `strongarm', `strongarm110', `strongarm1100', `arm8', `arm810', `arm9', `arm9e', `arm920', `arm920t', `arm922t', `arm946e-s', `arm966e-s', `arm968e-s', `arm926ej-s', `arm940t', `arm9tdmi', `arm10tdmi', `arm1020t', `arm1026ej-s', `arm10e', `arm1020e', `arm1022e', `arm1136j-s', `arm1136jf-s', `mpcore', `mpcorenovfp', `arm1176jz-s', `arm1176jzf-s', `xscale', `iwmmxt', `ep9312',Cortex-A8, Cortex-A9

?

-march=

?target ARM architecture。 目標處理器架構。

`armv2', `armv2a',`armv3', `armv3m',`armv4', `armv4t',`armv5', `armv5t',`armv5te', `armv6',`armv6j', `iwmmxt',`ep9312'. armv7-a等。

1. 處理器IP核

通常說的ARM7,ARM9,ARM11等,都是處理器的IP名字,每種市面上的CPU,比如S3C2440之類的,都會對應一個處理器的IP核,這些核都是ARM授權的。當然,ARM9之類的名字可能包括多種處理器內核,比如ARM920T,ARM926ejs等。具體的ARM處理器IP核包括:

?

arm2', `arm250', `arm3', `arm6', `arm60', `arm600', `arm610', `arm620', `arm7', `arm7m', `arm7d', `arm7dm', `arm7di', `arm7dmi', `arm70', `arm700', `arm700i', `arm710', `arm710c', `arm7100', `arm7500', `arm7500fe', `arm7tdmi', `arm7tdmi-s', `arm8', `strongarm', `strongarm110', `strongarm1100', `arm8', `arm810', `arm9', `arm9e', `arm920', `arm920t', `arm922t', `arm946e-s', `arm966e-s', `arm968e-s', `arm926ej-s', `arm940t', `arm9tdmi', `arm10tdmi', `arm1020t', `arm1026ej-s', `arm10e', `arm1020e', `arm1022e', `arm1136j-s', `arm1136jf-s', `mpcore', `mpcorenovfp', `arm1176jz-s', `arm1176jzf-s', `xscale', `iwmmxt', `ep9312','cortex-A5', 'cortex-A8', 'cortex-A15'

等等,這些都是IP核的名字.有的廠家,會拿去ARM的IP核,自己修改和加強出新的IP核.

2. 體系架構

?

ARM 體系結構是構建每個 ARM 處理器的基礎。ARM 體系結構隨著時間的推移不斷發展,其中包含的體系結構功能可滿足不斷增長的新功能、高性能需求以及新興市場的需要。

體系結構是對處理器的架構描述,包括:

?

?

  • 統一寄存器文件加載/存儲體系結構,其中的數據處理操作只針對寄存器內容,并不直接針對內存內容。
  • 簡單尋址模式,所有加載/存儲地址只通過寄存器內容和指令字段確定。

等等,體系結構相對穩定,可能會適時的推出新的特性,同時體系結構是兼容的.不同的處理器IP核,可能實現了不同的體系結構.ARM的體系架構包括:

?

?

`armv2', `armv2a', `armv3', `armv3m', `armv4', `armv4t', `armv5', `armv5t', `armv5te', `armv6', `armv6j', `iwmmxt', `ep9312'. armv7-a等。

?

?

3. 指令集

指令集實際上和體系結構是相互對應的,指令集和體系結構一樣,是不斷擴展的,同時保證了兼容性。相應的體系結構特征,需要對應的指令去實現。體系結構和指令集,可以在一起成為指令集架構,每個處理器IP核會實現特定的一種指令集架構.

ARM的指令集包括:ARM指令集,Thumb指令集.

?

4. 總結

市面上的CPU或者SOC,都是基于某IP核,這個IP核心實際上實現了一種指令集架構(體系結構特性+特定指令集) .指令集架構決定了功能范圍,IP核決定了處理器性能,具體的CPU或者SOC決定了處理器的功能范圍.
舉個例子: S3C2440是個Soc,使用了ARM920T的處理器IP核,ARM920T核實現了ARMv4架構,支持支持32位ARM指令集和16位Thumb指令集.

ARM?指令集版本和ARM?版本

?

ARM11指令集ARMv6,8級流水線,1.25DMIPS/MHz

Cortex-A8指令集ARMv7-A,13級整數流水線,超標量雙發射,2.0DMIPS/MHz,標配Neon,不支持多核
Scorpion:指令集ARMv7-A,高通獲得指令集授權后在A8的基礎上設計的。13級整數流水線,超標量雙發射,部分亂序執行,2.1DMIPS/MHz,標配Neon,支持多核
Cortex-A9:指令集ARMv7-A,8級整數流水線,超標量雙發射,亂序執行,2.5DMIPS/MHz,可選配Neon/VFPv3,支持多核
Cortex-A5:指令集ARMv7-A,8級整數流水線,1.57DMIPS/MHz,可選配Neon/VFPv3,支持多核

Cortex-A15指令集ARMv7-A,超標量,亂序執行,可選配Neon/VFPv4,支持多核

?

總結

以上是生活随笔為你收集整理的ARM 指令集版本和ARM 版本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。