ARM対RISC-V対x86の簡単なガイド

RISC-V対ARM対x86 タイトル画像

はじめに

私たちはこれまで、次のようなことをたくさん話してきた。 ラズベリーパイ5 もちろん、ここPiCockpitでも。先日、Raspberry Pi 5について、PiのARMアーキテクチャとRISC-Vアーキテクチャとの比較を中心に議論されているのを見つけた。何年もの間、人々はRaspberry Piのx86との互換性について話してきた。しかし、RISC-V Piについてはどうだろう?

特に興味深いのは、ラズベリー・パイが以下のメンバーであることだ。 RISC-Vインターナショナル.

Arduinoもそうだ。

だから RaspberryPisに搭載されるRISC-Vアーキテクチャーのチップには将来性がある。.しかし、私はx86 Raspberry Piを期待してはいない。

結局のところ、 ラズベリーパイによって投稿された最近のディスカッションでゴードン・ホリングワースは言う。 x86 Raspberry Piを作れるか?ああ、大変だ』って感じだよ。できるけど..."

インテルのチップ

そこで、RISC-V、ARM、x86の各アーキテクチャの主な違いと共通点について、そろそろ説明する時期が来たと思った。各アーキテクチャの歴史、利点と欠点、各アーキテクチャの違いについて説明します。

最後に、なぜx86 Raspberry Piを作るのは大変だが、RISC-V Raspberry Piを作るのは問題外ではないのかがわかるだろう。

概要

RISC-Vアームx86
起源RISC-Vインターナショナル有限会社アームインテルとAMD
命令セットRISC(Reduced Instruction Set Computing:縮小命令セットコンピューティング)RISC(Reduced Instruction Set Computing:縮小命令セットコンピューティング)CISC(複雑命令セットコンピューティング)
バイトオーダー通常はリトルエンディアン(ユーザー設定可能)通常バイエンディアン(ユーザー設定可能)リトルエンディアン
アプリケーション組込みシステム、IoTデバイス、カスタムソリューションモバイル機器、組み込みシステム、サーバーデスクトップ、ラップトップ、サーバー、ワークステーション
ライセンス・モデルオープンソース、ロイヤリティフリーのライセンスARMは設計をメーカーにライセンスするインテルとAMDが自社製チップを製造
エコシステムエコシステムの開発、オープンソースの取り組み大規模なエコシステム、広範なサードパーティ・サポート大規模なソフトウェアとハードウェアのエコシステム

では、それぞれのポイントを見ていこう。

起源

そして、この3つの中で最も古いものであるx86から始めたい。x86アーキテクチャは、インテルが8086ファミリーを発売した1978年にさかのぼる。x86アーキテクチャは当時ホットだったCISCだった。現在もx86アーキテクチャは、AMDとともにインテルの管理下にある。

ARMアーキテクチャは、その7年後、Acorn Computers Ltd.がARM1をリリースしたときに始まった。 Acorn Computersは現在存在しないが、彼らのARMアーキテクチャはArm Ltd.を通じて生き続けている。Arm社は現在、ARMアーキテクチャを他社にライセンス供与している。

それに比べ、RISC-Vは2010年にカリフォルニア大学バークレー校で始まったばかりで、非常に新しい。 2015年には、技術系企業(IBMからGoogle、Nvidiaまで)が集まり、RISC-V財団を設立した。2020年、地政学的な問題からRISC-Vファウンデーションはスイスに移転し、RISC-Vインターナショナルとなった。

RISC-Vロゴ

命令セット

まず、RISCとCISCの違いをはっきりさせておこう。

RISCプロセッサーは、最適化された小さな命令セットを使用し、それぞれが1クロックサイクルで実行されるため、より高速で予測可能な実行が可能になる。

これとは対照的に、CISCプロセッサーはより大規模で多様な命令セットを持ち、複数のクロック・サイクルを必要とする複雑な命令を含むことが多い。

つまり、RISC-Vは明らかにRISCベースなのだ。しかし、その特徴はオープンソースであることだ。

2014年の論文の中で、 命令セットは自由であるべき:RISC-VのケースKrste Asanović氏とDavid A. Patterson氏は、RISC-VとLinuxを比較している。完全にオープンソースの命令セット・アーキテクチャが存在するということだ。だから、人々はそれを操作し、弄り、共有することができるはずだ。

AsanovićとPattersonは、これがイノベーションを促進し、透明性を高め、コストを下げる可能性があると主張している。

RISC-V自体はオープンソースだが、RISC-Vの特定の実装は、オープンソースでもプロプライエタリでもあり得ることを述べておく。

ARM命令もRISCベースである。しかし、アーム社はアーキテクチャをライセンス供与しているため、オープンソースとは言えない。Asanović氏とPatterson氏はこう言う:「ARMライセンスでは、ARMコアを設計することさえできない。それほど単純ではないが、一般的にはそうだ。

上で、x86アーキテクチャはCISCベースだと述べた。その通りだが、90年代以降、x86プロセッサーには並列処理タスクのためのSIMD(Single Instruction, Multiple Data)命令も含まれていることを述べておく。これにより、マルチコアプロセッサも高速に動作するようになった。

結局のところ、世界最速のスーパーコンピューターであるフロンティアはx86ベースなのだ。

しかし、世界で2番目に速いスーパーコンピューター「富嶽」はARMベースだ。

今日、RISCとCISCの区別はあまり重要ではないと主張する人は多い。最近のプロセッサは非常に強力であるため、これらのタイプの命令セットの違いは事実上なくなっていると言うのだ。しかし、アサノビッチ氏とパターソン氏は、RISC-Vの呼びかけの中で、「新しいCISC ISAが成功を収めてから数十年が経過している」ため、RISCベースのアーキテクチャを採用する方が理にかなっていると主張している。

バイトオーダー

エンディアンとは、マルチバイト・データ型がコンピュータ・メモリに格納される際のバイト順序のこと。

リトルエンディアン・システムでは、最下位バイトは最下位メモリ・アドレスに格納され、ビッグエンディアン・システムでは、最上位バイトは最下位アドレスに格納される。

エンディアンは、プロセッサー間でデータをやり取りする際に非常に重要である。ビッグエンディアン・システムからリトルエンディアン・システムに情報を送る場合、適切に変換しないとデータが簡単に壊れてしまう。

RISC-Vは通常リトルエンディアンである。しかし、RISC-Vのバイト順をビッグエンディアンにしたい場合は、これを設定することができる。

ARMアーキテクチャは、特定の実装に応じて、リトルエンディアンまたはビッグエンディアンのいずれかになります。RISC-Vのように、ARMチップをビッグエンディアンに設定することができます。

ラズベリーパイはデフォルトでリトルエンディアンです。ラズベリーパイにアクセスしてターミナルを開き、以下のコマンドを実行することで確認できる:

lscpu

x86アーキテクチャはリトルエンディアンである。しかし、RISC-VやARMアーキテクチャとは異なり、これを変更することはできない。リトルエンディアンであることは、x86アーキテクチャーの特徴なのだ。

アプリケーション

少しアサノビッチとパターソンの記事に戻りたい。この記事は2014年のものだが、非常に重要な点を指摘している。彼らは、「PC戦争では80×86が勝利を収めたが、ポストPC時代のタブレットやスマートフォンではRISCが優勢であり、2013年には100億台以上のARMが出荷されたのに対し、80×86は3億台だった」と主張している。

これは大きな矛盾だが、あるアーキテクチャの用途がその重要性を定義するのに役立つことも示している。だからこそ、2020年にアップルが新型コンピューター用のM1チップを発表したときは、大きな話題となったのだ。アップルがx86からARMに切り替えたとしたら、x86の将来はどうなるのだろうか?

とはいえ、x86は依然としてコンピューター市場を支配している。デスクトップ、ラップトップ、サーバーはすべて、x86アーキテクチャに主に依存し続けている。

一方、ARMは一般的にスマートフォンやタブレットに搭載されている。もちろん、Raspberry Piにも搭載されている。しかし ARMがコンピューターの世界も支配し始めるかもしれない。.

テーブルの上のスマートフォン

RISC-Vは明らかにARMアーキテクチャのシェアを獲得することを望んでいるが、将来的に何ができるかはまだ未知数だ。大学も産業界もRISC-Vに投資し、その発展を注視している。

ARMがx86を削り始めたのなら、RISC-VはARMを削り始めるのだろうか?

ライセンス・モデル

この3つの中で最も制約が多いのがx86だ。前述したように、x86アーキテクチャーのチップを製造しているのは、インテルとAMDの2社だけだ。チップはカスタマイズできず、アーキテクチャーは完全に独自のものだ。

ARMアーキテクチャは、ライセンス モデルによって動作が異なります。一般的なARMライセンスでは、ARMアーキテクチャのデザインを作成することはできない。しかし、アップルのM1チップは、彼らの要望に応じてカスタマイズされたため、例外もある。

RISC-Vアーキテクチャはオープンソースでロイヤリティフリーであるため、誰でもライセンス料を支払うことなくRISC-Vプロセッサを設計・製造することができる。まさにISAのLinuxのようなものだ。

しかし興味深いことに、インテルもAMDもRISC-Vインターナショナルのメンバーだ。つまり、彼らもRISC-Vアーキテクチャに貢献することに価値があると考えていることは明らかだ。

エコシステム

RISC-Vのエコシステムは急速に成長しており、多くの企業や研究者がオープンソースプロジェクトに貢献し、RISC-Vベースの製品を開発している。

ソフトウェアのエコシステムは今のところ巨大ではないが、成長しつつある。その発展は RISEプロジェクト (RISEはRISC-V Software Ecosystemの略)。

ARMとx86に関しては、両者ともそれぞれの市場を支配している。両者のエコシステムは確立されており、広大だ。

これはRISC-Vの明確な欠点の一つである。RISC-Vは他の2つのように広く採用されておらず、ここでの競争は激しい。

RISCとCISCの動作

この素晴らしいビデオでは 空欄を埋める]プログラマーRISCとCISCがアセンブリコードのレベルでどのように動作するのかがよくわかる。

ここでは、RISCとCISCの違いを詳しく見ることができる。

ARMとRISC-Vでは、アセンブリ・コードの行数は短いが、その数は多い。x86では、アセンブリの行はより複雑だが、その数は少ない。

このビデオでは、GCCコンパイラとClangコンパイラが、ARM対RISC-V対x86_64の3つのISAそれぞれについて、C++コードをどのようにアセンブリに変換するかを説明している。ぜひご覧ください:

結論

最近、我々は比較記事を掲載した。 オレンジパイ5プラスとラズベリーパイ5、ロック5モデルB.興味深いことに、これら3つのSBCはすべてARMベースですが、Radxaにはx86モデルもあります。 ロックパイX.

RISC-Vの採用が広がれば、断片化が進むのではないかと心配する人もいる。これはLinuxとの比較とうまく対応している。現在、Linuxディストリビューションはいくつあるだろうか?しかし、RISC-Vコミュニティは、フラグメンテーションや互換性の問題を最小限に抑えるために、標準の開発に向けて積極的に取り組んでいる。

RISC-Vは、チップ・アーキテクチャを未来に押し進める方法だと(一部の反対派も含めて)多くの人が考えている。

もちろん、国家間の貿易戦争が過熱すれば、事態はより厄介になる。アーム社は英国に本社を置き、インテルとAMDは米国に本社を置いている。中国やロシアのような国がRISC-Vに目を向けるのは驚くことではない。

しかし、RISC-Vは失敗する運命にあると考える人々もいる。彼らは、RISC-Vは単に 原因 断片化ではなく、RISC-Vはすでに でございます 断片化されている。だから、軌道に乗らない。

更新e (11月2023年6月):アーム・ホールディングスは、ラズベリー・パイ社の少数株式を購入したと発表した。これが将来的に何を意味するかは不明だ。詳しくはこちらをご覧ください:

どう思う?RISC-Vは未来ですか?コメントでお聞かせください!

3コメント

  1. tozo on 11月 6, 2023 at 1:13 pm となります。

    前述したように、x86アーキテクチャーのチップを製造しているのはインテルとAMDの3社だけだ。
    それは...2つだけだ 🙂。

    • Adam on 11月 7, 2023 at 12:36 pm となります。

      その通りだ!

  2. Bruce Hoult on 11月 8, 2023 at 10:27 pm となります。

    RISC-Vの開発年代を、2010年に大学の研究者たちがパブで(あるいは何かで)自分たちのISAの設計を始めようと決めた日からカウントするのに対して、他は最初の商用チップが市場に投入されたときからカウントするのは少し不公平だと思う。

    ISAは、アセンブリ言語レベルでもバイナリ・エンコーディングでも、アイデアが進化するにつれて、互換性のない複数のバージョンを経てきた。

    初めて購入できるRISC-Vチップ、SiFiveのFE310は、2016年12月にHiFive1 Arduino-cloneボードで登場した。単なるマイクロコントローラーで、ユーザーモード命令しかない。マシンモードとスーパーバイザーモードの命令とCSRは、2019年7月にベースISAが批准(凍結、公開)される少し前まで、活発な開発と互換性のない変更が行われていた。SiFiveは2018年初頭にLinux SBC「HiFive Unleashed」(FU540 SoC搭載)を発表し、約500個を製造したが、これは実験的なもので、批准前にISAに互換性のない変更が加えられた場合、孤児となることを覚悟していた。

    私は、公正な「RISC-Vの起源」の日付は、2017年5月のPrivileged Architecture 1.10の公表と2019年7月の批准の間のどこかだと思う。2010年ではないことは確かだ。

    別のトピックでは、8086はCISCチップの中で圧倒的にCISC性が低く、これがRISC時代まで生き残ることができた大きな理由だ(IBM PCとそのクローンからの数十億ドルも大いに役立った!)。VAX、M68000、Z8000、NS 16032/32032は複雑すぎて高速化できなかった。

    「90年代以降、x86プロセッサーには並列処理タスクのためのSIMD(Single Instruction, Multiple Data)命令も含まれている。これにより、マルチコアプロセッサも高速に動作するようになった。 これらはまったく無関係だ。

    「RISC-Vアーキテクチャはオープンソースでロイヤリティフリーであるため、誰でもライセンス料を支払うことなくRISC-Vプロセッサを設計・製造することができる。まさにISAのLinuxのようなものだ」。 しかし、自分で設計するには、(Armと非常に似たビジネスモデルを持つ)十数社の商用RISC-Vコア・プロバイダの1社から設計をライセンスするよりもはるかにコストがかかる。

コメントを残す