Android オペレーティング システムは、3 種類の異なるプロセッサ アーキテクチャ上で実行できるように構築されています。 Arm、Intel、MIPS。前者は、Intel がモバイル CPU を放棄して以来、今日では広く普及しているアーキテクチャですが、携帯電話向けの MIPS プロセッサは何年も見られませんでした。 Arm は、Android および Apple エコシステムのすべての最新スマートフォンで使用されている CPU アーキテクチャです。 Arm プロセッサは、Windows for Arm や Apple の Mac 向けカスタマイズされた Apple Silicon のラインアップの拡大を通じて、PC 市場にも参入しています。 Arm 対 Intel CPU 戦争が激化する中、Arm 対 x86 について知っておくべきことをすべて紹介します。 CPU アーキテクチャの説明中央処理装置 (CPU) はデバイスの「頭脳」ですが、それほどスマートではありません。 CPU は、レジスタとメモリ間でデータを移動したり、特定の実行ユニットを使用して計算 (乗算や減算など) を実行したりするようにプロセッサに指示する、非常に特殊な命令 (適切には命令セットと呼ばれます) が与えられた場合にのみ動作します。 CPU ハードウェアの固有のブロックには異なる命令が必要であり、これらの命令は CPU がより複雑で強力になるにつれて拡張される傾向があります。必要な手順は、後ほど説明するように、ハードウェア設計の参考資料としても役立ちます。 Armとx86 携帯電話で実行されているアプリは CPU 命令で記述されていません。これは、今日の大規模なクロスプラットフォーム アプリをさまざまなチップで実行するには多すぎます。代わりに、Java や C++ などのさまざまな高水準プログラミング言語で記述されたアプリケーションは、Arm、x86、またはその他の CPU で正しく実行されるように、特定の命令セットにコンパイルされます。これらの命令はさらに CPU 内でマイクロコード操作にデコードされ、シリコンスペースと電力が必要になります。最も低消費電力の CPU が必要な場合は、命令セットをシンプルに保つことが最も重要です。ただし、より複雑なハードウェアと、複数の操作を同時に実行する命令を使用すると、より高いパフォーマンスが得られますが、電力が犠牲になります。これが Arm と x86 の根本的な違いであり、CPU を設計する歴史的なアプローチです。 Arm は RISC (縮小命令セット コンピューティング) に基づいていますが、x86 は CISC (複雑命令セット コンピューティング) に基づいています。 Arm の CPU 命令は適度にアトミックであり、命令の数とマイクロ操作の間には非常に密接な相関関係があります。対照的に、CISC はより多くの命令を提供し、その多くは複数の操作 (最適化された計算やデータの移動など) を実行します。これによりパフォーマンスは向上しますが、複雑な命令をデコードする際の電力消費は増加します。 とはいえ、RISC と CISC の境界線は今日では少し曖昧になっており、それぞれが他方のアイデアを借用しており、アーキテクチャのバリエーションに基づいて構築された多種多様な CPU コアが存在します。さらに、Arm アーキテクチャをカスタマイズするオプションにより、Apple などのパートナーは独自のより複雑な命令を追加できるようになります。 しかし、CPU アーキテクチャを構成するのは、命令とプロセッサ ハードウェア設計間の接続であることに注意することが重要です。このようにして、CPU アーキテクチャは、極度の数値計算、低消費電力、最小限のシリコン領域など、さまざまな目的に合わせて設計できます。これは、Arm CPU と x86 CPU を比較する場合の重要な違いです。前者は低電力の命令セットとハードウェアに基づいています。 最新の64ビットCPUアーキテクチャ今日では、64 ビット アーキテクチャはスマートフォンや PC の標準となっていますが、昔はそうではありませんでした。携帯電話は、PC より約 10 年後の 2012 年まで移行しませんでした。つまり、64 ビット コンピューティングでは、64 ビット (1 と 0) の長いデータ型を使用するのに十分な大きさのレジスタとメモリ アドレスを利用します。互換性のあるハードウェアと手順に加えて、Android などの 64 ビット オペレーティング システムも必要になります。 業界のベテランは、Apple が Android の競合他社に先駆けて初の 64 ビット プロセッサを発売したときに巻き起こった騒動を覚えているかもしれない。 64 ビットへの移行によって、日常のコンピューティングは変化していません。ただし、高精度の浮動小数点数を使用して効率的に計算を実行することが重要です。 64 ビット レジスタにより、3D レンダリングの精度、暗号化速度も向上し、4 GB を超えるメモリのアドレス指定も簡素化されます。 PC はスマートフォンよりずっと前から 64 ビットに移行していましたが、最新の x86-64 アーキテクチャ (x64 とも呼ばれる) を開発したのは Intel ではありません。その栄誉は、Intel の既存の x86 アーキテクチャを刷新した AMD の 1999 年の発表に与えられます。 Intel の代替 IA64 Itanium アーキテクチャは無視されました。 Arm は 2011 年に ARMv8 64 ビット アーキテクチャを導入しました。 Arm は、32 ビット命令セットを拡張するのではなく、クリーンな 64 ビット実装を提供しました。これを実現するために、ARMv8 アーキテクチャでは、AArch32 と AArch64 の 2 つの実行状態が使用されます。名前が示すように、1 つは 32 ビット コードを実行するためのもので、もう 1 つは 64 ビット用です。 ARM 設計の利点は、プロセッサが通常の実行中に 1 つのモードから別のモードにシームレスに切り替えることができることです。つまり、64 ビット命令のデコーダーは、32 ビット時代との互換性を維持する必要がない新しい設計ですが、プロセッサ全体は下位互換性を維持しています。しかし、Arm の最新の ARMv9 Cortex-A プロセッサは現在 64 ビットのみであり、これらの次世代 CPU では古い 32 ビット アプリケーションとオペレーティング システムのサポートが中止されています。さらに、Google は Pixel 7 ファームウェアで 32 ビット アプリケーションのサポートも無効にしました。 Armのヘテロジニアスコンピューティングがモバイルで支持を獲得上で説明したアーキテクチャの違いは、これら 2 つのチップ大手が現在直面している成功と問題を部分的に説明しています。 Arm の低電力アプローチは、モバイル デバイスの 5W 未満の熱設計電力 (TDP) 要件にぴったり適合するだけでなく、Intel のラップトップ チップに匹敵するパフォーマンスも実現します。 PC 分野で真剣な競争相手となる Apple の Arm ベース プロセッサ M1 シリーズに注目してください。一方、TDPが100Wを超えるIntelのCore i7およびi9製品、およびライバルのAMDのRyzenチップセットは、サーバーや高性能デスクトップでは非常に成功しているが、歴史的に5W未満を達成するのに苦労してきた。疑わしい Atom 製品ラインを参照してください。 もちろん、過去 10 年間で電力効率を劇的に向上させる上でシリコン製造プロセスが果たした役割を忘れることはできません。大まかに言えば、CPU トランジスタが小さいほど消費電力が少なくなります。 Intel の 7nm CPU (Intel 4 プロセス テクノロジーとして知られる) は 2023 年まで登場しないと予想されており、それらの CPU は Intel のファウンドリではなく TSMC によって製造される可能性が高いです。この間、スマートフォンのチップセットは 20nm から 14nm、10nm、7nm、5nm へと進化し、2022 年現在では 4nm 設計が市場に投入されています。これは、Samsung と TSMC ファウンドリ間の競争を単純に活用することによって達成されました。これにより、AMD は最新の 7nm および 6nm Ryzen プロセッサを使用して、x86-64 のライバルとの差を縮めることもできました。 ただし、Arm アーキテクチャの独自の機能の 1 つは、モバイル アプリケーション (異種コンピューティング) の TDP を低く抑える上で特に重要な役割を果たします。アイデアはシンプルで、さまざまな CPU コンポーネントが連携してより効率的に動作できるアーキテクチャを構築する (パフォーマンスと電力の面で) というものです。 Arm がこのアイデアに初めて挑戦したのは、2011 年の big.LITTLE (大きな Cortex-A15 コアと小さな Cortex-A7 コア) でした。要求の厳しいアプリケーションには大型のアウトオブオーダー CPU コアを使用し、バックグラウンド タスクにはエネルギー効率の高いアウトオブオーダー CPU 設計を使用するという考え方は、今日のスマートフォン ユーザーにとっては当然のことですが、この方式を完成させるには何度かの試行錯誤が必要でした。 2017 年、Arm はこのアイデアを DynamIQ と ARM Av8.2 アーキテクチャで実現し、異なる CPU を同じクラスターに配置してメモリ リソースを共有し、より効率的な処理を実現しました。 DynamIQ は、ミッドレンジ チップで一般的に見られる 2+6 CPU 設計や、フラッグシップ SoC で見られる小型、大型、さらに大型 (1+3+4 および 2+2+4) の CPU セットアップも可能にします。 異種コンピューティング機能を持たない Intel の競合 Atom チップは、Arm のパフォーマンスと効率に匹敵できません。インテルの Foveros、Embedded Multi-die Interconnect Bridge (EMIB)、ハイブリッド技術プロジェクトによって、競合するチップ設計である 10nm Lakefield が誕生したのは 2020 年になってからでした。 Lakefield は、1 つの高性能 Sunny Cove コアと 4 つのエネルギー効率の高い Tremont コア、およびグラフィックスと接続機能を組み合わせています。しかし、このパッケージもインターネット接続可能なラップトップを対象としており、TDP は 7W と、スマートフォンには依然として高すぎます。 現在、10W TDP 未満のラップトップ市場セグメントにおける Arm と x86 の競争はますます激しくなっており、Intel はこの分野で縮小し、Arm は成功を収めながら規模を拡大しています。 Apple が Mac で独自のカスタム Arm チップに切り替えたことは、異種コンピューティングと Apple のカスタム最適化のおかげで、Arm アーキテクチャの継続的なパフォーマンス向上の好例です。 カスタマイズされたArmコアと命令セットArmとIntelのもう一つの重要な違いは、Intelが最初から最後までプロセス全体を管理し、チップを直接販売していることです。 Arm はライセンスを販売するだけです。 Intel は、アーキテクチャ、CPU 設計、さらには製造まですべて自社で行っています。ただし、インテルが最先端の製造の一部を多様化しようとしているため、後者の点は変わる可能性があります。対照的に、Arm は Apple、Samsung、Qualcomm などのパートナーにさまざまな製品を供給しています。これらには、Cortex-X3 や A710 などの既製の CPU コア設計、Arm CXC プロジェクトを通じて共同開発された設計、Apple や Samsung などの企業がカスタム CPU コアを開発し、命令セットを微調整することを可能にするカスタム アーキテクチャ ライセンスが含まれます。 カスタム CPU の構築は高価で複雑なプロセスですが、正しく実行すれば強力な結果をもたらすことができます。 Apple の CPU は、カスタム ハードウェアと命令が Arm のパフォーマンスを主流の x86-64 以上に匹敵するレベルまで引き上げることができることを示しています。 Samsung の Mongoose カーネルはあまり成功せず、最終的には倒産しました。 Qualcomm も Nuvia を 14 億ドルで買収し、カスタム Arm CPU 事業に復帰しています。 Appleは、Mac製品に搭載されているIntel CPUを、段階的に自社のArmベースのチップに置き換える予定だ。 Apple M1 はこの取り組みの最初のチップであり、最新の MacBook Air、Pro、Mac Mini に搭載されています。最新の M1 Max と M1 Ultra は、パフォーマンスが大幅に向上しており、より要求の厳しいコンピューティング シナリオでも高性能 Arm コアが x86-64 に負けない性能を発揮します。 Intel と AMD が使用する x84-64 アーキテクチャは、依然としてコンシューマー ハードウェアの純粋なパフォーマンスでトップを走っています。しかし、Arm は現在、サーバー市場など、高性能とエネルギー効率が依然として重要な製品分野で非常に競争力を持っています。本稿執筆時点では、世界で最も強力なスーパーコンピューターが初めて Arm CPU コアで動作しています。 A64FX SoC は富士通の設計であり、Armv8-A SVE アーキテクチャを実行する最初の SoC です。 ソフトウェアの互換性前述したように、アプリケーションとソフトウェアは、実行される CPU アーキテクチャに合わせてコンパイルする必要があります。 CPU とエコシステム (Arm 上の Android と x86 上の Windows など) の歴史的な融合により、アプリを複数のプラットフォームやアーキテクチャで実行する必要がなくなり、互換性が実際に問題になることはありませんでした。しかし、複数の CPU アーキテクチャで実行されるクロスプラットフォーム アプリケーションとオペレーティング システムの増加により、状況は変わりつつあります。 Apple の Arm ベースの Mac、Google の Chrome OS、Microsoft の Arm 向け Windows はすべて、ソフトウェアを Arm と x86-64 アーキテクチャの両方で実行する必要がある最新の例です。両方のネイティブ ソフトウェアをコンパイルすることは、新しいアプリケーションや再コンパイルに投資する意思のある開発者にとってのオプションです。ギャップを埋めるために、これらのプラットフォームもコード エミュレーションに依存しています。つまり、ある CPU アーキテクチャ用にコンパイルされたコードは、別のアーキテクチャで実行できるように変換されます。これは効率が低く、ネイティブ アプリケーションに比べてパフォーマンスが低下しますが、現時点では、適切なエミュレーションによってアプリケーションの実行を保証するのに十分です。 長年の開発を経て、Arm 上の Windows エミュレーションは、ほとんどのアプリケーションにとって非常に良好な状態になっています。同様に、Android アプリは、ほとんどの場合、Intel Chromebook および Windows 11 マシンで問題なく動作します。 Apple には、従来の Mac アプリケーションをサポートするために、Rosetta 2 と呼ばれる独自のエミュレーション ツールがあります。ただし、これら 3 つはすべて、ネイティブにコンパイルされたアプリケーションと比較するとパフォーマンスが低下します。 Armとx86の未来過去 10 年間の Arm と x86 の競争では、スマートフォンなどの低電力デバイスでは Arm が選ばれました。このアーキテクチャは、電力効率の向上が必要なラップトップやその他のデバイスにも採用されつつあります。携帯電話での失敗にもかかわらず、Intel の低消費電力化への取り組みはここ数年で改善しており、Alder Lake や Raptor Lake などのハイブリッド アイデアは、携帯電話の従来の Arm プロセッサとの共通点が増えています。 とはいえ、エンジニアリングの観点から見ると、Arm と x86 は依然として大きく異なり、それぞれに長所と短所があります。しかし、エコシステムが両方のアーキテクチャをサポートするようになるにつれて、2 つのアーキテクチャの消費者の使用事例は曖昧になってきています。しかし、Arm と x86 の間にはクロスオーバー比較がありますが、近い将来、スマートフォン業界では Arm が引き続き選ばれるアーキテクチャとなることは間違いありません。このアーキテクチャは、ラップトップ クラスのコンピューティングと効率性においても大きな可能性を示しています。 |
<<: Total Movie Converter (ビデオフォーマット変換) v4.1.0.49 ポータブル版
>>: LG QNED と Samsung Neo QLED モニターの違いは何ですか?
無料の翻訳結果のクイックプレビュー、バイリンガル比較、Web ページ翻訳、辞書翻訳、テキスト翻訳、会...
TechSmith Snagit は、強力な編集機能と共有機能を備えた優れたスクリーン キャプチャお...
JAVA開発環境Java SE Development Kit (JDK) 20.0がリリースされま...
ASCOMP PDF Conversa は、PDF ファイルを編集可能な Word 文書に変換し、元...
MyKeymap は、ユーザーがニーズに応じてキーボードのキーを再マッピングできる、使いやすいキーボ...
SounDevil は、高音質、見栄えがよく、使いやすい、Windows プラットフォーム向けの高度...
Office 2013-2024 C2R インストールは、Office のネットワーク インストール...
Total Commander は、フォルダーやファイルの操作に使用できる強力なファイル マネージャ...
StartAllBack 中国語版 (StartIsBack++) は、Windows11 のクラシ...
Inno Setup はインストーラーを作成するためのソフトウェアです。インストーラーを素早く作成す...
PCHunter は、セキュリティ タイプのシステム情報表示ソフトウェアです。このソフトウェアを使...
5 年前には CPU を製造している会社は 2 社しかありませんでしたが、現在では 10 社以上あり...
Windows システムのユーザーは、C ドライブの容量が使用につれてどんどん小さくなることを感じ...
Jetbrains フル ファミリ バケット アクティベーション クラック パッチは、Jetbra...
7z SFX Builder は、自己解凍型の圧縮ファイルを作成するツールです。一連のファイルとフォ...