ARMアーキテクチャ
読み:アーム-アーキテクチャ
外語:ARM architecture: Advanced RISC Machines architecture
英ARM社
が設計した
RISC
マイクロプロセッサー
のアーキテクチャー名。
目次
概要
仕様
ステート
32ビット
64ビット
主要採用製品
種類
分類
命令セット
主な製品
概要
ARMは使いやすい命令セットを持ち、回路構成がシンプルでありながら、比較的高速という特徴を持つ。
ARMの基本的な設計思想は「消費電力当たりの演算性能」を求めるものであり、mW/MHzを低く、MHz/mWを高くする方向性である。
なぜならば、ARMは基本的に組み込み用プロセッサーとして使われることが想定されており、ARMを組み込む機器、つまり携帯電話機や携帯情報端末は原則としてバッテリーで動作するのである。消費電力や、それと共に発熱量などを低く抑えることが常に要求され、その中で性能と低コストを実現している。簡単に言えば「小型、低消費電力、そこそこの性能」というのがARMである。
このようなコンセプトは非常に受けており、実際に200社以上がライセンスを受け、様々なものを開発、製造、販売している。
仕様
ステート
ARMアーキテクチャには、大きく次の二種類がある。
AArch32ステート
(従来の32ビット)
AArch64ステート
(ARMv8以降から登場した64ビット)
それぞれで設計が全く異なるため、それぞれの特徴はそれぞれの項を参照。
32ビット
AArch32ステート
は、64ビット版登場以降、従来の32ビットに対して付けられた名称である。
次の命令セットが用意されている。
A32
T32
(Thumb命令セット)
64ビット
AArch64ステート
は、
ARMv8
から追加された、64ビットの仕様である。
現時点で、一種類のステートと命令セットが用意されている。
AArch64ステート
(新命令セット「A64」を使う)
A64は、命令長はA32と同様に32ビット長である。異なるのは、これが32ビット単位の可変長であるということである。
主要採用製品
組み込まれて使われるため、
パーソナルコンピューター
用CPUのIntelやAMDのそれのように、意識されることが少ない。
しかしARMは身近な製品に多数使われており、知らず知らずのうちに生活に溶け込んでいるのである。
ニンテンドーDS
iOSデバイス
iPhone
シリーズ
iPad
シリーズ
iPod touchシリーズ
Android端末
の殆どの機種
携帯電話機の一部
W-ZERO3
シリーズ
ルーター
製品の一部
種類
分類
アーキテクチャーは、コアファミリー名、命令セットのアーキテクチャーバージョン番号、プロセッサーコア名で分類できる。
命令セットのアーキテクチャーはバージョン番号で表わされ、ARMvXのように表現する。
一つの
プロセッサーコア
に、複数種類のプロセッサーコアがあることもあり、このプロセッサーコア名は
ARMv6
まではARMxのように表現され、以降は
ARM Cortex
シリーズとなった。
命令セット
AArch32
のみ対応(32ビット)
ARMv1
ARMv2
ARMv2a
ARMv3
ARMv3G
ARMv3M
ARMv4
ARMv4xM
ARMv4T
ARMv4TxM
ARMv5
ARMv5xM
ARMv5T
ARMv5TxM
ARMv5TE
ARMv5TEJ
ARMv5TExP
ARMv6
ARMv6T2
ARMv6-M
ARMv7
ARMv7-A
ARMv7-R
ARMv7-M
AArch64
対応品あり(64ビット)
ARMv8
ARMv8-A
ARMv8-R
主な製品
コアファミリー名→命令セットのアーキテクチャーバージョン番号→プロセッサーコア名の順でぶら下げて以下に記す。
ARM1
ARMv1
ARM1
ARM2
ARMv2
ARM2
ARMv2a
ARM250
ARM3
ARMv2a
ARM2a
ARM6
ARMv3
ARM60
ARM600
ARM610
ARM7
ARMv3
ARM700
ARM710
ARM710a
ARM7100
ARM7500
ARM7TDMI
ARMv4T
ARM7TDMI
ARM7TDMI-S
ARM710T
ARM720T
ARM740T
ARMv5TEJ
ARM7EJ-S
StrongARM
ARMv4
SA-110
SA-1110
ARM8
ARMv4
ARM810
ARM9
ARMv4T
ARM9TDMI
ARM9TDMI-S
ARM920T
ARM922
ARM940T
ARM9E
ARMv5TE
ARM9E
ARM946E
ARM966E
ARM996HS (クロックレスプロセッサー)
ARM968E-S
ARMv5TEJ
ARM926EJ-S
ARM10E(
ARM10
)
ARMv5TE
ARM1020E
ARM1022E
ARMv5TEJ
ARM1026EJ-S
XScale
ARMv5TE
PXA210
PXA250
IXP420
IXP421
IXP422
ARM11
ARMv6
ARMv6T2
ARM Cortex
ARMv6-M
Cortex-M1
ARMv7-A
Cortex-A5
Cortex-A7
Cortex-A8
Cortex-A9
Cortex-A12
Cortex-A15
ARMv7-R
Cortex-R4
Cortex-R4F
ARMv7-M
Cortex-M3
ARMv8-A
Cortex-A50シリーズ
Cortex-A53
(コードネームApollo)
Cortex-A57
(コードネームAtlas)
再検索