あのお方はおこりはったようどすえ
Linus Torvalds 氏が RISC-V のビッグエンディアンのサポートに関し、異議を唱えています。メーリングリストにて「今回のカーネルの開発サイクルで、RISC-V のビッグエンディアン対応のパッチが取り込まれる見込みはあるのか」という問いかけに対し、最初 Linus Torvalds 氏が以下のように回答しました。
あらまぁ・・・ほんまに?
どなたか2025年にもなってビッグエンディアンのサポートなんてこと、真剣にやってはるんどすか?
なんでどすの?
正直申しまして、それはちょっと・・・あほらしゅう ございますなぁ。
何かちゃんとした理由がございますの?
それとも、また「RISC-V は学問の世界でよう使われてるし、せやからエンディアンの勉強もしとこか」ちゅう話どすか?
わたしとしてはね、「これ以上エンディアンの話題は、もう他所さんの問題どす」と、線を引かせてもろてもええくらいに思てますの。
理由もなしに物事を複雑にするのは、あきまへんえ。
それに新しいエンディアンネスを入れる意味なんて、これっぽっちも ありまへんわ。
RISC-V だけでももう訳の分からん構成が山ほどありますやろ?
これ以上ややこしゅうしたら、かなんどすえ。
せやからそういうこと考えてはる方には、セラピーでも受けはった方がよろしおす。
そっちの方が、よっぽど建設的どす。
さらに続けて以下の回答も追加しています。
ほな、ちょっと調べさせてもろたんどすけどね・・・
わたし、ここでハッキリ申し上げますわ。
RISC-V のビッグエンディアン対応を、事前にサポートするつもりはありまへん。
その“理由”とやら読ませてもろたけどな、なんともまぁ・・・言葉を失うようなお話でしてな。
でも riscv.org さんがはっきり書いてはるさかい、引用させてもらいましょか。
「今でもな、データの並びが大事になる場面っちゅうのはあるねん。
たとえば、ネットの通信プロトコルとかやと、ビッグエンディアンで定義されてんねん。
せやから、リトルエンディアンのシステムがネットワークのパケットを見たり書き換えたりする時は、そのビッグエンディアンの値をリトルエンディアンに変換して、また戻すっちゅう、ちょっとめんどくさい処理せなアカンねん。
ほんでな、Zbb 拡張が入ってへん RISC-V のマシンやと、この処理に10〜20命令もかかることがあるんやわ。
そらまぁ、無視できへんコストになるわな。」
・・・なんや、それ。
要するに、RISC-V にビッグエンディアンモードを付けたいっちゅう話やけど、
(a)ネットのプロトコルがビッグエンディアンやさかい?
でもバイトの入れ替えなんて大した問題やおまへん
(b)Zbb拡張を実装してへん実装もある?
それを理由にしてどないしますの?
ほんま、そんな話は・・・正気の沙汰やありまへん。
たとえバイト入れ替えにコストかかるとしても、実際には大抵メモリの問題どすし、それやったら Zbb をちゃんと入れはったらよろしやろ。
「Zbbがよう作れへんから、代わりにもっと悪いもんを皆で背負こか」っちゅうのは、あまりにも情けない話どすえ。
エイプリルフールかと思たけど、書いてあるのは「2025年3月10日」やて。
惜しいけど、笑いにもなりまへんわ。
こういうことで、RISC-V の評判が下がるんどすわ。
Benさん、すんまへんけど、そのページ、Codethink さんにもリンクしてはりますなぁ。
CONFIG_CPU_BIG_ENDIAN もちょこっと入ってしもたみたいどすけど、ここらで止めとかんと、ほんま大ごとになりますえ。
メインラインのカーネルは、真っ当な開発のための場所どす。
世の中を悪くするような実験のためやありまへん。
もちろんオープンソースどすさかい、誰でも「わたしが間違ってる」っちゅうことを証明するのはご自由どす。
もし将来的に、ビッグエンディアンの RISC-V がほんまに主流になって、意味あるもんになるんやったら、そのときには当然メインラインでサポートしたらよろしい。
せやけど、今の段階では、これは RISC-V にとってマイナスにしかなりまへんし、
わたしらがわざわざその分裂を手助けする必要は、どこにもおまへん。
エンディアン
さて CPU には2種類のエンディアンがあります。エンディアンの種類
一つはリトルエンディアン(LE)、もう一つはビッグエンディアン(BE)です。エンディアンはデータの配置方法に関わる仕組みです。
現在 CPU の世界では LE が主流であり、BE は珍しい部類に入ります。例えば PC ユーザーが利用している Intel/AMD x86 CPU は以前から LE でしたし、最近流行りの ARM64 も LE が主体です。
そして今回主役の RISC-V も LE が主体です。
普及していない仕組みはサポートするべきではない
今回の件は市場に十分普及及び浸透していない、またその可能性が感じられない仕組みを今サポートするべきではないということです。RISC-V
RISC-V は CPU の命令セットアーキテクチャー(ISA)の一種です。もちろん x86(x64/x86_64 含む)や ARM64 も ISA の一種です。
オープンソースライセンス
RISC-V の特徴はなんといってもオープンソースライセンスである点です。例えば x86 や ARM はクローズドなライセンスであるため、これらの ISA を利用するにはライセンス契約及びライセンス料を支払う必要があります。
今後盛り上がっていくアーキテクチャー
RISC-V は今後盛り上がっていくアーキテクチャーですが、ユーザーにとって身近なデバイスになるのはまだまだ時間がかかりそうですね。ARM でいうところの Raspberry Pi のようなデバイスが登場すれば、コンシューマー市場で身近に感じられるアーキテクチャーへと成長していくでしょう。
今後が楽しみなアーキテクチャーですね。
