ARMアーキテクチャ
ARMホールディングス | |
ビット | 32ビット、64ビット |
1983 | |
バージョン | ARMv9[1] |
デザイン | RISC |
タイプ | Register-Register |
エンコード | Fixed |
ブランチ | Condition code |
エンディアン | Bi |
Thumb, Jazelle, VFP, NEON, SVE, SME | |
レジスタ | |
16(32ビット)、31(64ビット) |
ARMアーキテクチャ(アーム[2][3][4][5]アーキテクチャ) とは、ARMホールディングスの
概要
[ARMアーキテクチャは
2005
歴史
[ARMの
プロジェクトの
このARM1でのシミュレーション
ARM2は、1987
ARM2は32ビットのデータバス、26ビットのアドレス
1980
この
これらの
このARM6の
さらに、
DECはARMv4アーキテクチャの
2005
ARMからIPコアのライセンス
ARMチップは
主 な採用 製品
[ARM6
[- ARM60 3DOインタラクティブ マルチプレーヤー
-
ARM60 CPU (VY86C06020FC-2) -
ARM60 CPU (P60ARM)
- ARM610 Apple ニュートン・メッセージパッド、メッセージパッド100、メッセージパッド110、メッセージパッド120
ARM7/7E
[携帯 情報 端末 携帯 電話 携帯 ゲーム機 - ゲームボーイアドバンス
- ニンテンドー
携帯 音楽 プレーヤー電卓 - HP 20b / HP 30b
- その
他 - レゴマインドストーム NXT(
知能 ブロックの一部 ) - ルンバ(
一部 の機種 )
- レゴマインドストーム NXT(
ARM9/9E
[携帯 ゲーム機 - ニンテンドーDS/DS Lite/DSi(メインCPU、ARM7とのダブル
実装 ) - Tapwave Zodiac
- ニンテンドーDS/DS Lite/DSi(メインCPU、ARM7とのダブル
携帯 電話 - Sun SPOT
- Qualcomm
- MSM6550(CDMA2000 1xEV-DO Rel.0
対応 携帯 電話 用 チップセット) - MSM6800(CDMA2000 1xEV-DO Rev.A
対応 携帯 電話 用 チップセット)
- MSM6550(CDMA2000 1xEV-DO Rel.0
- 3Gおよび3.5G
携帯 電話 (例 :NTTドコモ FOMA 900i・901iシリーズ、au(KDDI、沖縄 セルラー電話 )のCDMA 1XシリーズおよびCDMA 1X WINシリーズ、ソフトバンクモバイルのSoftBank 3Gシリーズ等 。一部 例外 除 く) - H11T(イー・モバイルの
音声 通話 用 3.5G端末 ) - WS009KE "9 (nine)"(WILLCOM(ウィルコム)のPHS
端末 ) - Nokia N-Gage
携帯 情報 端末 - その
他
ARM11/11E
[- 2007
年 頃 から採用 されるようになる。発表 は2002年 4月 29日 [17]。- 7
月 17日 、東芝 がARM1176JZF-S搭載 の携帯 電話 用 プロセッサ、TC35711XBGを発表 。2008年 第 2四半期 より量産 開始 予定 。
- 7
- NVIDIA Tegra
携帯 音楽 プレーヤー携帯 電話 - タブレット・PDA
- ノキア Internet Tablet N800
- mylo COM-2
- ゲーム
機 - Zeebo (
新興 国 向 けDL専用 3Dゲーム機 )
- Zeebo (
- シングルボードコンピュータ
- Raspberry Pi model 1A
Cortex-M3
[- 2004
年 に発表 されたマイクロコントローラ。 同 じARMv7-M/v7E-MシリーズのCortex-M3,M4,M7共 にハーバード・アーキテクチャであることが最大 の特徴 である。自動車 ・工場 ・家電 などの機器 制御 などに使 われている。自動車 では、モーター制御 、パワーステアリング、横滑 り防止 装置 などいろいろな場所 で使 われている。- ワンボードマイコン
- mbed - NXPのLPC1768の
評価 ボード。ホビー用途 としても広 く流通 している。
- mbed - NXPのLPC1768の
Cortex-A8
[- 2009
年 頃 から採用 されるようになる。2010年 発売 のAndroidスマートフォンは大 多数 が採用 。 - NetWalker
- Samsung S5PC100
- iPhone 3GS(600 MHzで
駆動 ) - iPod touch (
第 3世代 )
- iPhone 3GS(600 MHzで
- Apple A4(Cortex-A8をもとにAppleとサムスンが
携帯 機器 向 けに開発 )- iPhone 4(800MHz)
- iPad(1GHz)
- iPod touch(
第 4世代 ) - Apple TV(2010
年 モデル)
- シングルボードコンピュータ
- BeagleBoard、BeagleBoard-xM、BeagleBone、BeagleBone Black
- テキサス・インスツルメンツが
技術 支援 をしてオープンソースハードウェアによって開発 されたボード。
- テキサス・インスツルメンツが
- Cubieboard
- BeagleBoard、BeagleBoard-xM、BeagleBone、BeagleBone Black
Cortex-A9
[- タブレットは2010
年 頃 から、スマートフォンは2011年 から採用 された。初期 は2コアだったが、4コアのものがタブレットは2011年 から、スマートフォンは2012年 から登場 した。 - NVIDIA Tegra 2
携帯 ゲーム機 - Apple A5
- Apple A5X
- シングルボードコンピュータ
- PandaBoard
- BeagleBoard
同様 、テキサス・インスツルメンツの技術 支援 によって開発 されたボード。
- BeagleBoard
- Wandboard
- PandaBoard
Cortex-A15
[- タブレットは2012
年 から、スマートフォンは2013年 から採用 された。 - サムスン
電子 は1.7GHzのデュアルコア Exynos 5250 を2012年 10月 [18]から搭載 商品 を販売 開始 。メモリ帯域 12.8GB/s[19]。 - テキサス・インスルメンツは2GHzのデュアルコアで2012
年 第 3四半期 から商品 を出荷 予定 [20]。 - NVIDIA は Tegra 4 を2013
年 第 1四半期 から出荷 予定 。 - シングルボードコンピュータ
- ODROID-XU
Cortex-A57
[- 2012
年 10月 に64ビット ARMのCortex-A57, A53(コードネーム「Atlas」と「Apollo」)が発表 され[21]、2014年 に搭載 商品 (Samsung Galaxy Note 4 など)が販売 開始 された。 - AMD は2015
年 下半期 にサーバー向 け Opteron A1100 (Seattle) をリリース予定 [22][23]。 - A57やA53では、8コアや
全 てのコア同時 稼働 できる4+4コア(A57が4コア、A53が4コア)などが登場 した。
Cortex-A72
[- Raspberry Pi 4 Model B に
採用 された。
Cortex-A73
[Cortex-A75
[Cortex-A76
[Cortex-A77
[Cortex-A78
[Cortex-X1
[
コアの性能 と採用 実績
[ARM社 製
[ファミリー | アーキテクチャ | コア | キャッシュ (I/D)/MMU | |||
---|---|---|---|---|---|---|
ARM1 | ARMv1 | ARM1 | なし | ARM Evaluation System second processor for BBC Micro | ||
ARM2 | ARMv2 | ARM2 | MUL( |
|
Acorn Archimedes, Chessmachine | |
ARMv2a | ARM250 | なし, MEMC1a | 7 MIPS @ 12 MHz | Acorn Archimedes | ||
ARM3 | ARMv2a | ARM2a | ARMとしてはじめてのキャッシュの |
4 KB |
| |
ARM6 | ARMv3 | ARM60 | 32ビットアドレス |
なし | 10 MIPS @ 12 MHz | 3DO, Zarlink GPS Receiver |
ARM600 | キャッシュ、コプロセッサバス(FPA10 |
4 KB |
28 MIPS @ 33 MHz | |||
ARM610 | キャッシュ、コプロセッサバスは |
|
Acorn Risc PC 600, Apple Newton 100シリーズ | |||
ARM7 | ARMv3 | ARM700 | 8 KB |
40 MHz | Acorn Risc PC | |
ARM710 | Acorn Risc PC 700 | |||||
ARM710a |
|
Acorn Risc PC 700, Apple Newton eMate 300 | ||||
ARM7100 | Integrated SoC. | 18 MHz | Psion Series 5 | |||
ARM7500 | 4 KB |
40 MHz | Acorn A7000 | |||
ARM7500FE | Integrated SoC. "FE"、FPA・EDOメモリコントローラを |
|
Acorn A7000+ | |||
ARM7TDMI | v4T | ARM7TDMI(-S) | 3ステージ パイプライン | なし | 15 MIPS @ 16.8 MHz | ゲームボーイアドバンス, ニンテンドーDS, iPod |
ARM710T | MMU | 36 MIPS @ 40 MHz | Psion 5 series, Apple Newton | |||
ARM720T | 8 KB |
60 MIPS @ 59.8 MHz | ||||
ARM740T | MPU | |||||
v5TEJ | ARM7EJ-S | Jazelle DBX | なし | |||
ARM9TDMI | v4T | ARM9TDMI | 5ステージ パイプライン | |||
ARM920T | 16 KB/16 KB, MMU | 200 MIPS @ 180 MHz | Armadillo, GP32,GP2X(マスタ), en:Tapwave Zodiac (Motorola i. MX1) | |||
ARM922T | 8 KB/8 KB, MMU | 200/250 MHz | Cavium CNS2132 (Econa product lines), Cavium STR8132 (Econa evaluation board), Ritmo Torrent Box/Mini Lan Server/BT-Downloader (ZAP-LN-86BT) | |||
ARM940T | 4 KB/4 KB, MPU | GP2X(スレーブ) | ||||
ARM9E | v5TE | ARM946E-S | variable, tightly coupled memories (TCM), MPU |
|
ニンテンドーDS, ノキア N-Gage, Conexant 802.11 chips | |
ARM966E-S | キャッシュレス, TCMs |
ST Micro STR91xF, Ethernet | ||||
ARM968E-S | ||||||
v5TEJ | ARM926EJ-S | Jazelle DBX | variable, TCMs, MMU | 220 MIPS @ 200 MHz | Mobile phones: ソニー・エリクソン・モバイルコミュニケーションズ(K, W シリーズ), シーメンス and Benq(x65 シリーズ | |
v5TE | ARM996HS | Clockless processor | キャッシュレス, TCMs, MPU | |||
ARM10E | v5TE | ARM1020E | (VFP) | 32 KB/32 KB, MMU | ||
ARM1022E | 16 KB/16 KB, MMU | |||||
v5TEJ | ARM1026EJ-S | Jazelle DBX | variable, MMU or MPU | |||
ARM11 | v6 | ARM1136J(F)-S | SIMD, Jazelle DBX, (VFP) | variable, MMU | 1.25 DMIPS/MHz | TI OMAP 2, NXP i.MX3 |
v6T2 | ARM1156T2(F)-S | SIMD, Thumb-2, (VFP) | 1.54 DMIPS/MHz | |||
v6KZ | ARM1176JZ(F)-S | SIMD, Jazelle DBX, (VFP) | variable, MMU+TrustZone | 1.25 DMIPS/MHz | iPhone, iPhone 3G, Broadcom BCM2835 | |
v6K | ARM11 MPCore | 1 – 4 core SMP, SIMD, Jazelle DBX, (VFP) | variable, MMU | 1.25 DMIPS/MHz( |
NVIDIA Tegra | |
SecurCore | v6-M | SC000 | 0.9 DMIPS/MHz | |||
v4T | SC100 | |||||
v7-M | SC300 | 1.25 DMIPS/MHz | ||||
Cortex-M | v6-M | Cortex-M0 | マイクロコントローラ |
0.9 DMIPS/MHz | NXP LPC11xx, Triad Semiconductor, Melfas, | |
Cortex-M0+ | 0.93 DMIPS/MHz | NXP LPC81x, LPC82x, NXP S32K11x, Renesas RAファミリ, Renesas Synergy S1シリーズ | ||||
Cortex-M1 | なし, tightly coupled memory optional. | Altera Cyclone III[28], Actel FPGA[29] | ||||
v7-M | Cortex-M3 | マイクロコントローラ |
キャッシュなし, (MPU) | 1.25 DMIPS/MHz | Texas Instruments Stellaris MCU, STMicroelectronics STM32, STMicroelectronics Accordo2, NXP LPC1000, NXP mbed, | |
v7E-M | Cortex-M4 | マイクロコントローラ |
NXP Kinetis, NXP LPC43xx, NXP i.MX 6, 7, 8, NXP S32K14x, S32M, STMicroelectronics, Renesas RAファミリ, Renesas Synergy MCU (S3/S5/S7), Infineon TRAVEO | |||
v7-M | Cortex-M7 | マイクロコントローラ |
L1 |
2.14 DMIPS/MHz[30][31] | STMicroelectronics STM32 F7, Atmel SAM x7x, NXP i.MX RT1050, NXP i.MX 8M Nano, Plus, i.MX 95, NXP S32G, S32K, S32M274, 276, Infineon TRAVEO | |
v8-M | Cortex-M23 | マイクロコントローラ |
0.98 DMIPS/MHz[32] | Renesas Synergy S1JA, Renesas RA2A1, Renesas RA2L1, Microchip SAML10 | ||
Cortex-M33 | マイクロコントローラ |
1.50 DMIPS/MHz[33] | Renesas RA6M4, Renesas RA4M3, STM32L5, NXP5500, NXP i.MX 8ULP, i.MX 9 | |||
Cortex-R | v7-R | Cortex-R4 | リアルタイム/セーフティクリティカルな |
1.66 DMIPS/MHz | Texas Instruments TMS570, Broadcom, Renesas RZ/T, STMicroelectronics Accordo2 | |
Cortex-R5 | AMD/Xilinx Zynq UltraScale+ MPSoC | |||||
Cortex-R7 | 2.53 DMIPS/MHz | |||||
v8-R | Cortex-R52 | Renesas R-Car V4H, Renesas RZ/T2, NXP S32N, S32Z, S32E | ||||
Cortex-A | v7-A | Cortex-A5 | L1: 4 KB – 64 KB |
1.57 DMIPS/MHz (400 MHz – 800 MHz) | Atmel SAMA5, PS-T328, Snapdragon S4 Play, Snapdragon 200 | |
Cortex-A7 | 1 – 4マルチプロセッシング |
メモリ |
1.9 DMIPS/MHz ( – 1.5Ghz) | Snapdragon S4 Play, Snapdragon 200, 208, 210, 212, 400, Allwinner A20, Allwinner A31, MediaTek MT6589, Broadcom BCM2836, Renesas R-Car H2, NXP i.MX 6, 7 | ||
Cortex-A8 | アプリケーション |
2.0 DMIPS/MHz (600 MHz – 1 GHz) | TI OMAP 3, Freescale i.MX 5, Apple A4, Samsung Exynos 3, Allwinner A1x, Rockchip RK29xx | |||
Cortex-A9 | アプリケーション |
メモリ |
2.5 DMIPS/MHz (800 MHz – 2 GHz) | TI OMAP 4, NXP i.MX 6, ST-Ericsson NovaThor U8500, NVIDIA Tegra 2, NVIDIA Tegra 3, NVIDIA Tegra 4i, STMicroelectronics SPEAr1300, ザイリンクス Zynq-7000, Apple A5, Rockchip RK3xxx, Samsung Exynos 4, HiSilicon K3V2, Kirin 910, MediaTek, Renesas RZ/A, Intel Cyclone V SoC FPGA | ||
Cortex-A15 | 1 – 4コア |
メモリ |
3.5 DMIPS/MHz (1 GHz – 2.5 GHz) | TI OMAP 5, Samsung Exynos 5, NVIDIA Tegra 4, NVIDIA Tegra K1, HiSilicon Kirin 920, Renesas APE6, Renesas R-Car H2, Renesas MP6530, Alpine AL-212 | ||
Cortex-A17 | Rockchip RK3288 | |||||
v8-A | Cortex-A32 | |||||
Cortex-A35 | メモリ |
MediaTek Helio X30, NXP i.MX 8 | ||||
Cortex-A53 | AArch64。 |
2.3 DMIPS/MHz | Snapdragon 410, 412, 415, 425, 610, 615, 617, 625, 808, 810, HiSilicon Kirin 620, 930, 935, Rockchip RK3368, MediaTek MT6732, 6735, 6737, 6737T, 6738, 6750, 6752, 6753, Helio P10, P20, P25, X10, X30, Renesas R-Car H3, AMD/Xilinx Zynq UltraScale+ MPSoC, NXP i.MX 8, NXP S32G, S32R, TI AM67, 67A, 65x, 64x, 62P, 62x, 62Ax | |||
Cortex-A57 | 4.1 DMIPS/MHz | Snapdragon 808, 810, Nvidia Tegra X1, Samsung Exynos 7, Alpine AL-324, Renesas R-Car H3 | ||||
Cortex-A72 | Snapdragon 618, 620, 650, 652, HiSilicon Kirin 950, 955, AWS Graviton, Marvell ARMADA 7K, 8K, NXP i.MX 8, TI AM68, 69, 68A, 69A, TI DRA82x, TI TDA4x | |||||
Cortex-A73 | HiSilicon Kirin 960, MediaTek Helio X30 | |||||
v8.2-A | Cortex-A55 | Renesas R-Car S4, NXP i.MX 9 | ||||
Cortex-A75 | L1D: 64 KB, メモリ |
|||||
Cortex-A76 | 4 |
Renesas R-Car V4H | ||||
Cortex-A77 | ||||||
Cortex-A78 | ||||||
Cortex-A78C[35] | ||||||
v9.0-A | Cortex-A510 | Dimensity 9000, Snapdragon 7 Gen 1, Snapdragon 8 Gen1, Snapdragon 8 Gen2, Exynos 2200 | ||||
Cortex-A710 | Dimensity 9000, Snapdragon 7 Gen 1, Snapdragon 8 Gen1, Snapdragon 8 Gen2, Exynos 2200 | |||||
Cortex-A715 | ||||||
v9.2-A | Cortex-A520 | コードネーム: Hayes | ||||
Cortex-A720 | コードネーム: Hunter | |||||
Cortex-X | v8.2-A | Cortex-X1 | ||||
v9.0-A | Cortex-X2 | Dimensity 9000, Qualcomm Snapdragon 8 Gen 1, Exynos 2200 | ||||
Cortex-X3 | Dimensity 9200, Snapdragon 8 Gen 2 | |||||
v9.2-A | Cortex-X4 | |||||
Neoverse | v8.2-A | Neoverse E1 | ||||
Neoverse N1 | Ampere Altra, Altra Max, AWS Graviton2 | |||||
v8.4-A | Neoverse V1 | AWS Graviton3 | ||||
v9.0-A | Neoverse E2 | |||||
Neoverse N2 | ||||||
Neoverse V2 | NVIDIA Grace |
サードパーティー
[ファミリー | アーキテクチャ | キャッシュ (I/D)/MMU | ||||
---|---|---|---|---|---|---|
StrongARM | v4 | SA-1 | 16 KB/8 – 16 KB, MMU | 1.0 DMIPS/MHz (203 – 206 MHz) | ||
XScale | v5TE | 80200/IOP310/IOP315 | I/O Processor | |||
80219 | ||||||
IOP321 | en:Iyonix | |||||
IOP33x | ||||||
PXA210/PXA250 | Applications processor | ザウルス SL-5600, SL-A300 | ||||
PXA255 | 32 KB/32 KB, MMU | 400 BogoMips @ 400 MHz | en:Gumstix | |||
PXA26x | ||||||
PXA27x | 800 MIPS @ 624 MHz | HTC Universal, ザウルス SL-C1000,3000,3100,3200,Willcom W-ZERO3シリーズ WS003SH,WS004SH,WS007SH,WS011SH,WS020SH | ||||
PXA800(E)F | ||||||
Monahans | 1000 MIPS @ 1.25 GHz | |||||
PXA900 | Blackberry 8700, Blackberry Pearl (8100) | |||||
IXC1100 | Control Plane Processor | |||||
IXP2400/IXP2800 | ||||||
IXP2850 | ||||||
IXP2325/IXP2350 | ||||||
IXP42x | en:NSLU2 | |||||
IXP460/IXP465 | ||||||
Snapdragon | v7-A | Scorpion | アプリケーション |
2.1 DMIPS/MHz (800 MHz – 1.5 GHz) | Qualcomm Snapdragon S1, S2, S3 ( | |
Krait | アプリケーション |
MMU, TrustZone | 3.3 DMIPS/MHz ( – 2.5 GHz) | Qualcomm Snapdragon S4 ( | ||
v8-A | Kryo | 64 KB/512 KB – 1 MB | 6.3 DMIPS/MHz ( – 2.6 GHz) | Qualcomm Snapdragon 820 | ||
Centriq | v8-A | Folker | Centriq 2400 | |||
ARMADA | v7-A | Sheeva PJ4 | アプリケーション |
2.42 DMIPS/MHz ( – 1.5 GHz) | Marvell ARMADA 500/600シリーズ | |
Sheeva PJ4B | 2.61 DMIPS/MHz ( – 1.6 GHz) | Marvell ARMADA XP/370/1500 | ||||
Apple Ax | v7-A | Swift | アプリケーション |
32 KB/32 KB | 1.1 GHz, 1.4 GHz | Apple A6, Apple A6X |
v8-A | Cyclone | アプリケーション |
64 KB/64 KB | 1.3 GHz | Apple A7 | |
Cyclone gen 2 | 1.1 GHz, 1.4 GHz, 1.5 GHz | Apple A8 | ||||
Typhoon | アプリケーション |
1.5 GHz | Apple A8X | |||
Twister | アプリケーション |
2.23 GHz, 2.35 GHz | Apple A9, Apple A9X | |||
Hurricane, Zephyr | アプリケーション |
1.64 GHz, 2.33 GHz | Apple A10 Fusion | |||
アプリケーション |
2.38GHz | Apple A10X Fusion | ||||
Monsoon, Mistral | アプリケーション |
L1: 64 KB/64 KB, L2: 8 MB | 2.39 GHz | Apple A11 Bionic | ||
Vortex, Tempest | L1: 128 KB/128 KB, L2: 8 MB | 2.49 GHz | Apple A12 Bionic | |||
アプリケーション |
2.5GHZ | Apple A12X Bionic, Apple A12Z Bionic | ||||
v8.3-A | Lightning, Thunder | アプリケーション |
L1: 48 KB/48 KB, L2: 4 MB | 2.65 GHz | Apple A13 Bionic | |
v8.6-A | Firestorm, Icestorm | L1: 192 KB/64 KB, L2: 12 MB/4 MB | 2.99 GHz | Apple A14 Bionic | ||
Apple M1 | アプリケーション |
3.2 GHz | Apple M1 | |||
Apple M1 Pro | アプリケーション |
Apple M1 Pro | ||||
Apple M1 Max | アプリケーション |
Apple M1 Max | ||||
Apple M1 Ultra | アプリケーション |
Apple M1 Ultra | ||||
Apple A15 | Avalanche, Blizzard | アプリケーション |
3.23 GHz | Apple A15 | ||
Apple M2 | アプリケーション |
L1: 192 KB/128 KB, L2: 16 MB/4 MB | 3.5 GHz | Apple M2 | ||
Apple M2 Pro | アプリケーション |
L1: 192 KB/128 KB, L2: 32 MB/4 MB | Apple M2 Pro | |||
Apple M2 Max | アプリケーション |
Apple M2 Max | ||||
Apple A16 | Everest, Sawtooth | アプリケーション |
L2: 16 MB/8 MB/24 MB | 3.46 GHz | Apple A16 | |
Tegra K1 | v8-A | Denver | 128 KB/64 KB | Google Nexus 9, Xiaomi Mi Pad | ||
Parker | Denver 2.0 | DRIVE PX2 | ||||
Xavier | Carmel | DRIVE Xavier, Jetson AGX Xavier | ||||
Exynos | v8-A | Exynos M1 | 64 KB/2 MB
(4コアシェア) |
Exynos 8890 (Exynos 8 Octa) | ||
Exynos M2 | Exynos 8895 | |||||
Exynos M3 | Exynos 9810 |
ARMv7-A, v8-A は
- Allwinner (
全 志 科技 ) - Amlogic (
晶 晨半导体) - Apple A4, A5, A5X, A6, A6X, A7, A8, A8X, A9, A9X, A10, A10X, A11, A12, A12X
- Freescale i.MX
- Fujitsu ARM based SoC Platform (FASP)
- HiSilicon (
海 思 半 导体) - Marvell ARMADA
- MediaTek
- NVIDIA Tegra
- Qualcomm Snapdragon
- Renesas EV2, APE6
- Rockchip (
瑞 芯 微 电子) - Samsung Hummingbird, Exynos
- ST-Ericsson NovaThor
- STMicroelectronics SPEAr
- Texas Instruments OMAP
- Trident PNX
- ZiiLABS ZMS
ARMアーキテクチャを採用 しているCPU/メーカ
[ARMホールディングスの
- NXPセミコンダクターズ
- LPC
- LPCXpresso
- mbed
- フリースケール・セミコンダクタ
- i.MX
- Kinetis
- DEC-インテル
- インテル - マーベル・テクノロジー・グループ
- STマイクロエレクトロニクス
- STM32
- サイプレス・マイクロシステムズ
東芝 - Panasonic
- MN2WS0220シリーズ(スマートテレビ
用 UniPhier)
- MN2WS0220シリーズ(スマートテレビ
- ルネサス エレクトロニクス
- RAファミリ
- RZファミリ
- REファミリ
- EMMA Mobile
- R-Mobile
- R-Car
- R-IN
- Renesas Synergy
富士通
32ビットARM
[命令 セット
[ARM は RISC プロセッサであり、Thumb
- 32ビット
固定 長 命令 - ロード/ストアアーキテクチャ
- 3オペランドのレジスタ
間 演算 多 くの命令 が1サイクルで実行 可能
といった、
ARMプロセッサは、PC
もう
CPUモード
[32ビット ARM アーキテクチャはいくつかのCPUモードを
- ユーザーモード
唯一 の非 特権 モード。高速 割込 みモード- FIQ
割込 みが発生 したときに切 り替 わる特権 モード。 割込 みモード- IRQ
割込 みが発生 したときに切 り替 わる特権 モード。 - スーパーバイザーモード
- CPU がリセットされたときか SWI
命令 が実行 されたときに切 り替 わる特権 モード。 - アボートモード
- プリフェッチアボートかデータアボート
例外 が発生 したときに切 り替 わる特権 モード。 未定義 モード未定義 命令 が実行 されたときに切 り替 わる特権 モード。- システムモード (ARMv4
以降 ) - これが
唯一 例外 が原因 で切 り替 わるモードではない。CPSRレジスタにこのモードを書 くことによりこのモードに切 り替 えることが出来 る。 - MONモード (
要 セキュリティ拡張 ) - TrustZone
拡張 をサポートするために作 られたモニターモード。 - HYP
別名 PL2 モード (ARMv7以降 ) 仮想 化 拡張 、ハイパーバイザーモード。[37]
レジスタ
[レジスタ R0 から R7 は
R13 と R14 はシステムモード
usr | sys | svc | abt | und | irq | fiq |
---|---|---|---|---|---|---|
R0 | ||||||
R1 | ||||||
R2 | ||||||
R3 | ||||||
R4 | ||||||
R5 | ||||||
R6 | ||||||
R7 | ||||||
R8 | R8_fiq | |||||
R9 | R9_fiq | |||||
R10 | R10_fiq | |||||
R11 | R11_fiq | |||||
R12 | R12_fiq | |||||
R13 | R13_svc | R13_abt | R13_und | R13_irq | R13_fiq | |
R14 | R14_svc | R14_abt | R14_und | R14_irq | R14_fiq | |
R15 | ||||||
CPSR | ||||||
SPSR_svc | SPSR_abt | SPSR_und | SPSR_irq | SPSR_fiq |
- R13 は SP とも
呼 ばれ、スタックポインタ - R14 は LR とも
呼 ばれ、リンクレジスタ - R15 は PC とも
呼 ばれ、プログラムカウンタ
CPSR は
- M (ビット 0 - 4) はプロセッサモードビット
- T (ビット 5) は Thumb ステートビット
- F (ビット 6) は FIQ
無効 ビット - I (ビット 7) は IRQ
無効 ビット - A (ビット 8) は
不正 データアボート無効 ビット - E (ビット 9) はデータエンディアンビット
- IT (ビット 10 - 15 と 25 - 26) は if-then ステートビット
- GE (ビット 16 - 19) は greater-than-or-equal-to ビット
- DNM (ビット 20 - 23) は
書 き換 え禁止 ビット - J (ビット 24) は Java ステートビット
- Q (ビット 27) は sticky overflow ビット
- V (ビット 28) はオーバーフロービット
- C (ビット 29) は carry/borrow/extend ビット
- Z (ビット 30) は
零 ビット - N (ビット 31) は negative/less ビット
VFP/NEON
VFP/NEON
- FPSCR - Floating-point status and control register (
浮動 小数点 状態 制御 レジスタ) - FPEXC - Floating-point exception register (
浮動 小数点 例外 レジスタ) - FPSID - Floating-point system ID register (
浮動 小数点 システムIDレジスタ)
条件 実行
[ARMの
これにより、マシン
(この
int gcd(int i, int j)
{
while (i != j) {
if (i > j)
i -= j;
else
j -= i;
}
return i;
}
ARMのアセンブリ
loop
CMP Ri, Rj ; i と j を比較
SUBGT Ri, Ri, Rj ; もし "GT" ならば i = i - j;
SUBLT Rj, Rj, Ri ; もし "LT" ならば j = j - i;
BNE loop ; もし "NE" ならば loop に戻 る
a += (j << 2);
のような
ADD Ra, Ra, Rj, LSL #2
として
これにより、
Thumb
[ARMプロセッサはThumbと
Thumbテクノロジを
Thumb-2
[Thumb-2テクノロジは2003
Jazelle
[ARMは、Javaバイトコードをハードウェアでネイティブに
Jazelleテクノロジを
Thumb Execution Environment (ThumbEE)
[ThumbEEはJazelle RCT (Runtime Compilation Target)とも
DSP 拡張 命令
[デジタル
SIMD
[ARMv6で
Advanced SIMD (NEON)
[Advanced SIMD
ほとんどの ARMv7 SoC で NEON に
レジスタはVFPレジスタとして
Cortex-A15 などより、NEONv2 (version 2) が
Wireless MMX
[Wireless MMX (WMMX) はインテルがXScaleプロセッサ
VFP
[VFP (Vector Floating Point) はARMアーキテクチャのコプロセッサ
- VFPv1 -
廃止 - VFPv2 - ARMv5TE、ARMv5TEJ、ARMv6 で
利用 可能 - VFPv3 - ARMv7 で
利用 可能 。通常 はレジスタ数 32個 であるが、NVIDIA Tegra 2 シリーズなどはレジスタ数 が半分 のVFPv3-D16を採用 。Cortex-A8の実装 はパイプライン化 されておらず非常 に低速 (VFP Lite)。 - VFPv4 - Cortex-A5, A7, A15, Apple A6, Snapdragon Krait などで
利用 可能 。IEEE754準拠 の(乗算 結果 の丸 めを行 わない)Fused multiply add対応 。VFPv4-D16 もあり。
"Vector" の
64ビットARM
[64ビット
脚注
[注釈
[出典
[- ^ Arm’s Solution to the Future Needs of AI, Security and Specialized Computing is v9
- ^ “Arm® (
日本 )|半導体 IP|アーム公式 サイト – Arm®”. arm.com. 2022年 11月18日 閲覧 。 - ^ “
世 の中 ARMだらけ!?現代 社会 を支 える「ARM」ってなんだろう?”. ドスパラ. 2022年 11月18日 閲覧 。 - ^ “ARMとは”. コトバンク. 2022
年 11月18日 閲覧 。 - ^ “Armがマイコン
向 けハイエンドCPUコア、Cortex-M85発表 ”.日経 . 2022年 11月18日 閲覧 。 - ^ http://www.arm.com/miscPDFs/3823.pdf
- ^ [1]
- ^ http://www.jp.arm.com/pressroom/08/080125.html
- ^ https://news.mynavi.jp/techplus/article/20100910-cortex-a15/
- ^ https://ascii.jp/elem/000/000/645/645995/
- ^ a b c d e f Douglas Fairbairn (2012
年 1月 31日 ). “Oral History of Sophie Wilson”. 3 March 2016時 点 のオリジナルよりアーカイブ。2 February 2016閲覧 。 - ^ Wilson, Roger (2 November 1988). "Some facts about the Acorn RISC Machine". Newsgroup: comp.arch. 2024
年 9月 12日 閲覧 。 - ^ “スマートフォンを
席巻 するARMプロセッサーの歴史 ”. ASCII.jp (2010年 12月20日 ). 2013年 7月 24日 閲覧 。 - ^ “ARMが
初 の64ビットCPU「Cortex-A50シリーズ」発表 、サーバー向 けに16コア以上 に対応 ”. ITpro (2012年 11月1日 ). 2014年 11月27日 閲覧 。 - ^ 2005
年 、ARM社 のセミナー資料 による。 - ^ “Sony Japan | プレスリリース| クリエ
用 新 アプリケーションCPU「Handheld EngineTM」の開発 について”. www.sony.co.jp. 2019年 4月 8日 閲覧 。 - ^ News:
米 速報 :次世代 マイクロアーキテクチャ「ARM11」発表 - ^ Googleが
新型 「Chromebook」を発表 、Samsung製 で249ドル - ^ 【PC Watch】 Samsung、
初 のARM Cortex-A15プロセッサ「Exynos 5250」 - ^
日本 TI、モバイルの概念 を一変 させる高性能 、高機能 のOMAP™5プラットフォームを発表 - ^ 【
後藤 弘 茂 のWeekly海外 ニュース】 ARMが次世代 CPU「Atlas」と「Apollo」の計画 を発表 - ^ AMD’s K12 ARM CPU Now In 2017
- ^
苦難 の2013年 を越 え、輝 かしい2014年 に賭 けるAMD (大 きな期待 が寄 せられているサーバー向 け64ビットARMプロセッサ) - ^ ARM Sets New Standard for the Premium Mobile Experience - ARM
- ^ Qualcomm Introduces Next Generation Snapdragon 600 and 400 Tier Processors for High Performance, High-Volume Smartphones with Advanced LTE | Qualcomm
- ^ "ARM Cortex-M1", ARM product website. Accessed April 11, 2007.
- ^ "ARM Extends Cortex Family with First Processor Optimized for FPGA", ARM press release, March 19 2007. Accessed April 11, 2007.
- ^ ARM Cortex-M1
- ^ Actel:
製品 とサービス: プロセッサ: ARM: Cortex-M1 - ^ AnandTech | Cortex-M7 Launches: Embedded, IoT and Wearables
- ^ Cortex-M7 Overview - ARM
- ^ Cortex-M23 Overview - ARM
- ^ Cortex-M33 Overview - ARM
- ^ “ARMv8-A Synchronization primitives”. p. 6. 2024
年 1月 3日 閲覧 。 - ^ Ltd, Arm. “Cortex-A78C”. Arm | The Architecture for the Digital World. 2023
年 1月 14日 閲覧 。 - ^ “Processor mode”. ARMホールディングス. March 26, 2013
閲覧 。 - ^ “KVM/ARM”. April 3, 2013
閲覧 。 - ^ 2.14. The program status registers - Cortex-A8 Technical Reference Manual
- ^ DSP & SIMD - ARM