opengl:cpucore
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン次のリビジョン両方とも次のリビジョン | ||
opengl:cpucore [2014/04/14 20:52] – [Group 2] oga | opengl:cpucore [2014/04/15 09:45] – [ARM core] oga | ||
---|---|---|---|
行 10: | 行 10: | ||
- | ^ 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 |
- | | NVIDIA | + | | NVIDIA |
行 49: | 行 49: | ||
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 のピーク演算能力が高いことが特徴。 | ||
行 72: | 行 74: | ||
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 を使えないというジレンマがありました。 | ||
行 87: | 行 91: | ||
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 とほぼ同時期に用いられていました。 | ||
行 94: | 行 98: | ||
NEON は 128bit ALU で、ピーク性能では Cortex-A9 の 2倍になります。 | NEON は 128bit ALU で、ピーク性能では Cortex-A9 の 2倍になります。 | ||
ただし pipeline が深く、高クロック動作する反面、実行効率がわずかに劣ります。 | ただし pipeline が深く、高クロック動作する反面、実行効率がわずかに劣ります。 | ||
+ | |||
+ | 2010~2011年の Smartphone の大半が Scorpiopn 搭載 Snapdragon で占められていました。 | ||
+ | |||
=== Cortex-A7 === | === 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 | ||
+ | |||
+ | |||
+ | |||
行 108: | 行 133: | ||
VFPv4 対応、演算ユニットの増加、NEON の out-of-order 化など大幅に強化されています。 | VFPv4 対応、演算ユニットの増加、NEON の out-of-order 化など大幅に強化されています。 | ||
Cortex-A15 対抗。 | Cortex-A15 対抗。 | ||
+ | Scorpion 同様に他よりも市場投入が速いことが特徴。 | ||
+ | Cortex-A9 全盛時にすでに Snapdragon には Krait が用いられていました。 | ||
Swifth/ | Swifth/ | ||
+ | |||
+ | 2013-2014 現在のハイエンド Smartphone 向け CPU はほとんど全部 Krait が用いられており、 | ||
+ | Group 2 で最もメジャーな CPU core となっています。 | ||
+ | |||
+ | 反面、64bit 化で遅れており Qualcomm 独自の 64bit core はまだ発表されていません。 | ||
+ | |||
行 116: | 行 149: | ||
Apple の独自 CPU core の 1世代目。 | Apple の独自 CPU core の 1世代目。 | ||
動作クロックを抑えつつ、実行効率の高さでカバーしているある意味 Krait と逆の特性を持っています。 | 動作クロックを抑えつつ、実行効率の高さでカバーしているある意味 Krait と逆の特性を持っています。 | ||
+ | |||
+ | 市場投入後わずか 1年で後継の Cyclone が登場し、ハイエンドの座を明け渡すことに。 | ||
+ | 予想外に短命になりそうな CPU core。 | ||
+ | 採用端末は iPhone 5, iPhone 5c, iPad 4 のみ。 | ||
+ | |||
+ | |||
行 124: | 行 163: | ||
機能的に互換性を持った Cortex-A7 と組み合わせて big.LITTLE 構成できるのも特徴。 | 機能的に互換性を持った Cortex-A7 と組み合わせて big.LITTLE 構成できるのも特徴。 | ||
+ | |||
+ | 基本性能は高いが SmartPhone 向けは Krait 一色で、採用端末はなかなか増えません。 | ||
+ | |||
行 133: | 行 175: | ||
=== Cyclone === | === Cyclone === | ||
- | Apple の独自 CPU core で、初の ARM 64bit (ARMv8, AArch64) 対応 CPU。 | + | Apple の独自 CPU core の 2世代目です。 |
- | 64bit 対応だけでなく性能的にも大きく向上しています。 | + | 市場に投入された初の ARM 64bit (ARMv8, AArch64) 対応 CPU core でもあります。 |
+ | 64bit 化だけでなく性能的にも大きく向上しています。 | ||
- | Swift 同様、低い動作クロックながら高い IPC が特徴。 | + | Swift 同様、低い動作クロックながらも高い IPC が特徴。 |
演算ユニットは更に増えて、FP/ | 演算ユニットは更に増えて、FP/ | ||
NEON の single precision fp ピーク性能は他の CPU core の 2倍。 | NEON の single precision fp ピーク性能は他の CPU core の 2倍。 | ||
ARMv8 のお陰で倍精度演算も強化されており、倍精度演算は他の ARM CPU core の 4~8倍 (64bit mode のみ)。 | ARMv8 のお陰で倍精度演算も強化されており、倍精度演算は他の ARM CPU core の 4~8倍 (64bit mode のみ)。 | ||
- | 新しい命令セットによるメリットが大きく、ARM の 64bit 化が効果的であることを知らしめてくれた CPU 。 | + | 新しい命令セットによるメリットが大きく、ARM の 64bit 化が非常に効果的であることを知らしめてくれた CPU 。 |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
+ | もちろん上位互換性があるので、ARMv7A 32bit 命令もそのまま走ります。 | ||
opengl/cpucore.txt · 最終更新: 2018/06/08 21:57 by oga