- ベストアンサー
x86とARMの性能の違い
x86とARMの性能の違いについて教えていただきたいです。 それぞれの設計に基いたご説明をいただけるとなおありがたいです。 また、性能の違いの結果として、 それぞれどのような場面でよく使われるのかも知りたいです。 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
まず違いを知るなら以下を読むべきかと、有志が書いているとはいえ、日本サイトのただの年表とは段違いに情報があるはずです。 http://en.wikipedia.org/wiki/ARM_architecture http://en.wikipedia.org/wiki/X86 といって、読める人なら、質問しないのでしょうけど。 概略的に説明すると、ARMは reduced instruction set computing(RISC)プロセッサです。 それに対して、x86はベーシックに言えば、complex instruction set computer(CISC)プロセッサとなります。まあ、世間では既に差はあまりないのですけど、思想としてはCISCとRISCでは演算の基点が違います。 x86と呼ばれるプロセッサは、i8086を始まりとして(86を冠した世代が4世代目まで続いたことから)現在のCore i7プロセッサに至るまでの製品を指します。ただし、64bitモードであるx64(AMD64/Intel64)は、このx86を開発したIntelではなく、AMDが先に実装しています。このx86/64系のプロセッサは、高度で複雑な演算を行うために開発されたプロセッサであり、現在においてHPC用のプロセッサを除けば、世界最速を誇るプロセッサとなります。尚、x86/64系は処理速度を高めるために、スカラユニットの採用と分岐予測、パイプラインによる高速動作などを実現しているため、消費電力が大きなパーソナルコンピュータ、ワークステーション、サーバー分野においてこれまでは使われてきました。価格的にも高性能故にそこそこの値段であり、インテルとAMD以外のメーカーでは、VIAなど一部が進出するのみで、Intelの市場での強さもあり、他のメーカーが力をもつことはありませんでした。 ARMは、元々組み込み向けとしての素質を持つプロセッサで、コンパクトで指向性の高い命令を、速やかに処理することに長けたプロセッサとして登場しています。要は、何でも処理するというよりは、命令の方向性をある程度定め、その範囲内で処理をこなすことがARMの特徴となっていました。その代わり、消費電力はミリワット単位から数ワットまでと劇的に小さな電力/パッケージングに収まるものが主流でした。しかも、それ故に製造単価や開発単価も安く、そもそもARM.LTDは製品のライセンスビジネスで利益を出しており、インテルのように開発製造販売などを一手に手がける垂直型ではないことから、多くのメーカーが使ってきたのです。 本来この2つの製品が能力的に接近することはないと思われるほど性能差がありました。しかし、携帯電話の普及によって、ARMプロセッサは急速に進化を遂げ、スマートフォン時代に、市場規模ではインテルとAMDが開発してきたx86/64系のプロセッサに匹敵するか、それを超える市場規模になる可能性が出てきたのです。(金額ベースでは、インテルプロセッサにはまだ及びません) ARMが急速に性能を伸ばすことになったのは、スマートフォンが登場したことが大きな理由です。当初は搭載していなかったSIMDの実装や、高機能レジスタの搭載によって、たった5年ほどで多くのラインナップが登場し、多くのメーカーがARM.Ltdとライセンス契約し新しい技術の搭載を進めたのです。 結果的に、現在ようやくインテル社が持つx86に迫る程度に性能が向上しました。ただ、性能面で上回るほどになるかというと・・・。今の段階ではまだ難しいでしょう。 尚、性能の違いの結果という点は今の段階では、高性能なx86、安価で省電力なARMです。 ただ、今後もそうである保障はありません。 単価やブランドイメージの違い、販売における製造ラインの確保の問題などもありますからね。 ただ、ARMの場合は、ライセンスさえ取得すれば、製造はある程度できますから、需要があれば数は伸びる傾向があります。ただ、単価が安いため、数が大量に出ているから、売上げが凄いわけではないのです。そのかわり、一定以上の販売が伸びれば、ソフト開発も活況を呈するため、ハードの性能も総じて向上します。 そうすると、性能が上がることで単価があがるというラインに今さしかかっています。 それに対して、x86/64は元々ブランドとして一定の地位を持っている高性能汎用プロセッサです。アプリケーション資産は既にPC市場において過半数を占めており、現在はゲーム機市場でもWiiUを除けば、PS4とX-BOX Oneに採用されています。1つのプロセッサあたりの単価もそこそこ高くなります。 高性能故にダイサイズもARMとは比べものにならないほど大きなものが主流です。最近になって、そこから性能を抑えて、ARMに対抗できる製品や、ARMより少し大きくとも消費電力が低く、性能は高い製品を出すようになりました。 尚、x86とARMでは、処理方法に違いがあり、実行できるマイクロコードの記述方法にも差異があります。そのため、x86の性能が高いからといって、ARMから簡単に移植したり、その逆にARMが普及しているからといってx86の資産を簡単に移せるわけではありません。まあ、アプリケーションはOSさえ対応し、アプリケーションの開発環境に準じた実行APIを備えてくれれば良いですけど、それを支えるAPIやOSは、ハードに最適化したプログラミングをしないと、そのハードが備えるピーク性能を発揮することはできません。 といったところでしょうか? 最後に、プロセッサには他にもMIPS(MIPS)、SPARC(SPARC/旧Sun Microsystems)、Power(IBM)、SX(NEC)、IA-64(Intel/HP)などなどのアーキテクチャが存在します。性能の違いだけで見るなら、これらの製品の方が、競争する市場が似ているものもありおもしろい製品が多いですけど。MIPSなどは、最近は少し弱いですが、MIPS-III世代では、ソニーのプレイステーション2のCPUであるEmotion EngineがこのMIPSアーキテクチャでした。SPARCはスーパーコンピューター京、Power系は、そのクライアント版(PowerPC)が、Intel Macになる前にMacintoshに使われていました。 SXは、地球シミュレーターです。IA-64は・・・。不運なプロセッサ。 設計で考えるなら、プロセッサ全体を見渡すのも大事です。そして何より、重要なのは開発されるOSやアプリケーションがどういうものかを見るのが妥当です。特にそれを如実に示すのは、SXとその他のプロセッサの違いでしょう。
その他の回答 (2)
- kimamaoyaji
- ベストアンサー率26% (2801/10379)
X86はCISCと言う概念で作られたCPUで、ARMなどはRISCと言う概念で作られたCPUです。 CISCが複雑な命令を演算プロセスを組み込む事で行うのに対しRISCは単純命令で、OS側で複雑な命令に対処すると言う方向性の物です、どちらも一長一短がありますが、RISCは使用目的に合わせて、OSをコンパクト化出来、単純命令の演算子なので小型、低消費電力が簡単に行える。 CISCは相対的な演算能力は高いけれど、組込み機器の様なシステムでは、その大半の演算システムが不要で、大きく、消費電力が桁違いに多いと言う面があります。 その特性の為RISCの出だしは、ワークステーションなどにMIPSと言う会社のRISC CPUが使われてPSP等のCPUと採用されましたが、高度化する演算に対応しきれなくなり、現在はCISCX86がPCでは有利な状態です(MIPSが解体してしまったのも大きな要因です) ただ産業機器分野では無駄な部分が多いSISCより、最適化が可能で、比較的安いライセンスを取得すれば(Intelは一切ライセンスは出しません)目的とする機器のチップに組み込むことが可能なARMがシュアのほとんどを取る形となりました、その進化過程で、消費電力が大きなテーマであるスマートフォンにおいて各社はX86を選択する事が出来ず(何社かはあるのですが、動作速度を極端に落とした低消費電力な為非力なので売れなかった)、また、その時Windowsに対抗するため、LinuxをベースにGoogleがAndoroidと言うOSを開発しこれをARMベンダーが採用したため、スマートフォンの元祖であるAPPLE iphone(iosもLinuxでCPUはARMでライセンスはしない)に対抗すべき、androidスマートホンが出来たと言う経緯があります。 >それぞれどのような場面でよく使われるのかも知りたいです 家電や組込み機器の32Bitを使用する物の大半です、小型、低消費電力、OSがコンパクトなのでバグが極端に少なく、ネットでアップデートが頻繁に行われるWindowsの様な物はネットに接続できない、途中で再起動される物は機器にはあまり使えません。 なのでARMのCPUの集大成がスマートフォンでそれ以上の性能を求められる、PCには不向きなCPUですから、特性上ARMとX86を比較する事はあまり意味が無いといえます。 ただ、PCの販売台数の低下を、インテルが打破するためにARMの牙城である、スマートフォンに食い込もうとあがいています、その手始めに大きなバッテリーが搭載可能なタブレットPCにターゲットを絞ってきたため、比較すると言う場面が増えてきたと思われます。 逆に世界トップの集積度を誇るインテルでさえ、ARMに対抗できる消費電力に達していない。 スマートフォンはPCと異なり、最重要課題がバッテリーの持続時間だと言う点につきます、いくら高性能でも1時間で動かなくなるスマートフォンはゴミの様な物です。 逆を言えば、消費電力無視できるなら、ARMももっと高速化は可能なのですか、動作時間が重視されるため性能を抑えた物しか作らないのです。 インテルのX86CPUだって、性能と言う面では圧倒的に高いCore i7などありますが、低消費電力ではその性能の1/10以下の超低消費電力のATOMを作っていますが、それでさえARMの消費電力に並べません、本当に比較という事であるなら、比較対象は http://pc.watch.impress.co.jp/docs/column/kaigai/20130911_615005.html ATOMのQuarkとしなければ真の比較とは言えません、と言いたい所ですがQuarkはまだインテルの構想でしかなく、実現できるのか?と言うレベルです、現実的には。 Intel Atom Z2760 http://ark.intel.com/ja/products/70105 1.6Wと http://www.nvidia.com/object/tegra-3-processor.html の比較 http://cpuboss.com/cpus/Nvidia-Tegra-3-(T33)-vs-Intel-Atom-Z2760 このコンパニオンコアを持たないATOMには実際の消費電力では対抗できない(消費電力0.5WのATOMをもう一個積んでも焼け石に水でしかないから)。 実再の使用ではATOMが不利と思われます、ARMで最も高い性能が要求される、スマートフォンは、複数の制約があり、単に高速であれば良いと言う物では無いので、演算性能だけで比較する意味がどこまであるのか?と言う問題があります、またスーパーコンピューターは、消費電力当たりの性能が重視され始めています、この分野でARMが主導権を握る可能性が高いと言われています。 その根拠としてはスパコンで上位を占めるAMDがARMCPUの64Bitにシフトしようとしている、事、クアルコムがARMCPUのスパコンの開発を始めいているという事からも、十分あり得る物だと思えます(CPU単体の性能で無く数万のCPUの総合性能なので、電力的、コスト的に遥かに有利なARMのCPUを数倍もしくは数10倍使って同じ価格なら、ARM有利となるから)。
お礼
ご回答ありがとうございます。 ご丁寧に教えていただき感謝しております。
- yomyom01
- ベストアンサー率12% (197/1596)
>それぞれどのような場面でよく使われるのか x86-PC用 ARM-PC以外
お礼
ご回答ありがとうございます。
お礼
ご回答ありがとうございます。 非常にご丁寧に教えていただいて感謝しております。