opengl:cpucore
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン次のリビジョン両方とも次のリビジョン | ||
opengl:cpucore [2014/04/14 20:36] – [Cortex-A9] oga | opengl:cpucore [2014/04/15 09:34] – [ARM core] oga | ||
---|---|---|---|
行 11: | 行 11: | ||
^ design | ^ design | ||
- | | ARM | ARM9 (ARM926) | + | | ARM | ARM9 (ARM926) |
- | | ARM | ARM11 (ARM1176) | + | | ARM | ARM11 (ARM1176) |
^ design | ^ design | ||
- | | ARM | Cortex-A8 | + | | ARM | Cortex-A8 |
| ARM | Cortex-A9 | | ARM | Cortex-A9 | ||
| ARM | Cortex-A9 R4 | | ARM | Cortex-A9 R4 | ||
| ARM | Cortex-A5 | | ARM | Cortex-A5 | ||
^ design | ^ design | ||
- | | ARM | Cortex-A15 | + | | ARM | Cortex-A15 |
- | | ARM | Cortex-A7 | + | | ARM | Cortex-A7 |
- | | ARM | Cortex-A12 | + | | ARM | Cortex-A12 |
- | | ARM | Cortex-A17 | + | | ARM | Cortex-A17 |
| ARM | Cortex-A53 | | ARM | Cortex-A53 | ||
| ARM | Cortex-A57 | | ARM | Cortex-A57 | ||
^ design | ^ design | ||
- | | Qualcomm | Scorpion | + | | Qualcomm | Scorpion |
- | | Qualcomm | Krait | 3.3 | ARMv7A | + | | Qualcomm | Krait | 3.3 | ARMv7A |
- | | Qualcomm | Krait 200 | ? | ARMv7A | + | | Qualcomm | Krait 200 | ? | ARMv7A |
- | | Qualcomm | Krait 300 | ? | ARMv7A | + | | Qualcomm | Krait 300 | ? | ARMv7A |
- | | Qualcomm | Krait 400 | ? | ARMv7A | + | | Qualcomm | Krait 400 | ? | ARMv7A |
^ design | ^ design | ||
- | | Apple | Swift | ? | ARMv7A | + | | Apple | Swift | ? | ARMv7A |
| Apple | Cyclone | | Apple | Cyclone | ||
^ design | ^ design | ||
行 43: | 行 43: | ||
- | ==== Cortex-A8 | + | ==== Group 1 ==== |
+ | |||
+ | === Cortex-A8 === | ||
ARMv7A 第一世代の Cortex-A8 は Multi Core 非対応なので、採用 SoC はすべて Single Core となります。 | ARMv7A 第一世代の Cortex-A8 は Multi Core 非対応なので、採用 SoC はすべて Single Core となります。 | ||
Multi Core 対応は Cortex-A9 以降。 | Multi Core 対応は Cortex-A9 以降。 | ||
+ | |||
+ | ARM11 のおよそ 2倍の実行性能。 | ||
NEON を標準搭載しているため、single precision floating-point のピーク演算能力が高いことが特徴。 | NEON を標準搭載しているため、single precision floating-point のピーク演算能力が高いことが特徴。 | ||
行 67: | 行 71: | ||
- | ==== Cortex-A9 | + | === Cortex-A9 === |
Multi Core 対応で、Tegra 2 以降急激に採用 SoC が増えました。 | Multi Core 対応で、Tegra 2 以降急激に採用 SoC が増えました。 | ||
+ | Smartphone から Tablet まで非常に幅広く用いられています。 | ||
+ | |||
VFP も pipeline 化されており、Cortex-A8 のような欠点がありません。 | VFP も pipeline 化されており、Cortex-A8 のような欠点がありません。 | ||
性能的にはすべての面で Cortex-A8 を上回ります。 | 性能的にはすべての面で Cortex-A8 を上回ります。 | ||
ただし NEON が Option 扱いとなっており、SoC の構成によっては NEON 命令が使えないものがあります。 | ただし NEON が Option 扱いとなっており、SoC の構成によっては NEON 命令が使えないものがあります。 | ||
- | NEON 無しの Cortex-A9 で一番メジャーなのが Tegra 2 です。 | + | NEON 無しの Cortex-A9 で一番有名なのが Tegra 2 です。 |
Cortex-A8 の VFP が遅いので、浮動小数点演算はすべて NEON を使いたいが、Tegra 2 のために NEON を使えないというジレンマがありました。 | Cortex-A8 の VFP が遅いので、浮動小数点演算はすべて NEON を使いたいが、Tegra 2 のために NEON を使えないというジレンマがありました。 | ||
- | egra 2 以外では NEON 非対応 Cortex-A9 端末を見たことがないので、今となってはあまり気にする必要がないかもしれません。 | + | Tegra 2 以外では NEON 非対応 Cortex-A9 端末を見たことがないので、今となってはあまり気にする必要がないかもしれません。 |
NEON 命令は in-order 実行かつ 64bit ALU なので、実行性能で後発 CPU に負けます。 | NEON 命令は in-order 実行かつ 64bit ALU なので、実行性能で後発 CPU に負けます。 | ||
- | ==== Scorpion | + | === Scorpion === |
Qualcomm 独自に開発した ARMv7A CPU core で、 | Qualcomm 独自に開発した ARMv7A CPU core で、 | ||
- | ちょうど Cortex-A8/ | + | ちょうど Cortex-A8/ |
性能的には Cortex-A8 より上で、Cortex-A9 同様 MultiCore 対応ながら Cortex-A8 とほぼ同時期に用いられていました。 | 性能的には Cortex-A8 より上で、Cortex-A9 同様 MultiCore 対応ながら Cortex-A8 とほぼ同時期に用いられていました。 | ||
行 92: | 行 98: | ||
NEON は 128bit ALU で、ピーク性能では Cortex-A9 の 2倍になります。 | NEON は 128bit ALU で、ピーク性能では Cortex-A9 の 2倍になります。 | ||
ただし pipeline が深く、高クロック動作する反面、実行効率がわずかに劣ります。 | ただし pipeline が深く、高クロック動作する反面、実行効率がわずかに劣ります。 | ||
+ | |||
+ | 2010~2011年の Smartphone の大半が Scorpiopn 搭載 Snapdragon で占められていました。 | ||
+ | |||
+ | |||
+ | === Cortex-A7 === | ||
+ | |||
+ | 実行性能よりも低消費電力優先で作られた ARMv7A CPU。 | ||
+ | Cortex-A15 以降と互換の命令セットを持ち、big.LITTLE の little 側として利用できることが特徴。 | ||
+ | |||
+ | 実行パイプは in-order の 2本で、Cortex-A8 によく似た構成を持っています。 | ||
+ | もちろん Cortex-A8 のように VFP が遅いことはなく Cortex-A9 以降同様に Pipeline 化された当たり前の速度で走ります。 | ||
+ | |||
+ | 反面、標準搭載である NEON の実行効率が落ちています。 | ||
+ | NEON 命令を実行できるものの SIMD としての価値はなく、32bit ALU でスカラーと同等の速度しか出ません。 | ||
+ | |||
+ | Cortex-A7 だけの Multi Core SoC も存在していますが、同じ Quad Core といっても Cortex-A9 と比べると性能が大きく劣る点は注意が必要です。 | ||
+ | |||
+ | ^ CPU core ^ 整数pipe | ||
+ | | Cortex-A8 | ||
+ | | Cortex-A7 | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== Group 2 ==== | ||
+ | |||
+ | === Krait === | ||
+ | |||
+ | Qualcomm 独自コアの 2世代目で、 | ||
+ | VFPv4 対応、演算ユニットの増加、NEON の out-of-order 化など大幅に強化されています。 | ||
+ | Cortex-A15 対抗。 | ||
+ | Scorpion 同様に他よりも市場投入が速いことが特徴。 | ||
+ | Cortex-A9 全盛時にすでに Snapdragon には Krait が用いられていました。 | ||
+ | |||
+ | Swifth/ | ||
+ | |||
+ | 2013-2014 現在のハイエンド Smartphone 向け CPU はほとんど全部 Krait が用いられており、 | ||
+ | Group 2 で最もメジャーな CPU core となっています。 | ||
+ | |||
+ | 反面、64bit 化で遅れており Qualcomm 独自の 64bit core はまだ発表されていません。 | ||
+ | |||
+ | |||
+ | |||
+ | === Swift === | ||
+ | |||
+ | Apple の独自 CPU core の 1世代目。 | ||
+ | 動作クロックを抑えつつ、実行効率の高さでカバーしているある意味 Krait と逆の特性を持っています。 | ||
+ | |||
+ | 市場投入後わずか 1年で後継の Cyclone が登場し、ハイエンドの座を明け渡すことに。 | ||
+ | 予想外に短命になりそうな CPU core。 | ||
+ | 採用端末は iPhone 5, iPhone 5c, iPad 4 のみ。 | ||
+ | |||
+ | === Cortex-A15 === | ||
+ | 実行パイプライン、演算ユニット等、大幅に改良された ARM core 。 | ||
+ | VFP/NEON も統合され、out-of-order で実行効率が大きく向上しています。 | ||
+ | 機能的に互換性を持った Cortex-A7 と組み合わせて big.LITTLE 構成できるのも特徴。 | ||
+ | 基本性能は高いが SmartPhone 向けは Krait 一色で、採用端末はなかなか増えません。 | ||
行 104: | 行 171: | ||
+ | ==== Group 3 ==== | ||
+ | === Cyclone === | ||
+ | Apple の独自 CPU core の 2世代目です。 | ||
+ | 市場に投入された初の ARM 64bit (ARMv8, AArch64) 対応 CPU core でもあります。 | ||
+ | 64bit 化だけでなく性能的にも大きく向上しています。 | ||
+ | Swift 同様、低い動作クロックながらも高い IPC が特徴。 | ||
+ | 演算ユニットは更に増えて、FP/ | ||
+ | NEON の single precision fp ピーク性能は他の CPU core の 2倍。 | ||
+ | ARMv8 のお陰で倍精度演算も強化されており、倍精度演算は他の ARM CPU core の 4~8倍 (64bit mode のみ)。 | ||
+ | 新しい命令セットによるメリットが大きく、ARM の 64bit 化が非常に効果的であることを知らしめてくれた CPU 。 | ||
+ | もちろん上位互換性があるので、ARMv7A 32bit 命令もそのまま走ります。 | ||
opengl/cpucore.txt · 最終更新: 2018/06/08 21:57 by oga