中国独自CPUセットLoongArchについての備忘録。
最近の国際情勢から、主に非自由国家圏を中心に自国産アーキテクチャに注目が集まっております。
ロシアも(著作権で怪しいところがありつつも)独自アーキテクチャにOS環境も揃え始めましたし。
で、そんな情勢で中国で開発が続いているのがこのLoongArch(龍芯)。
大元になったのはMIPSアーキテクチャ*1。
MIPSアーキテクチャー ‐ 通信用語の基礎知識
ゲーム機やロケットの制御系で採用されていた実績があり、当時を追っていた人からすると、性能面とライセンス面で相当魅力的だったそうです。
ただしのLoongArchはコピーでは終わらず、x86とARMのネイティブアプリをハードウェア面ソフトウェア面の両面で協調することで実行できるなど、中々魔界めいた進化を遂げたようです。
開発は中国だけが頑張ってるわけでもなく、Linuxカーネルにもパッチが送られており、kernel.orgの方にもLoongArchの資料が載っています。
これは開発元がパッチを送りまくってる事も影響しているようですが……。
www.kernel.org
と、まぁ品質は実用であとは普及といった感じの要です。
OS環境まで内製できるようになれば夢の完全国産もワンチャンあるかもしれません。
まぁ、そんなものが本当に必要とされる局面で中国がどうなってるのかって話はありますが……。
参考もと
中国独自のCPU命令セットLoongArch、それを推進している会社がGCC/LLVM/Linuxといろんなところに精力的にパッチを送っているので、moldにもそのうち来たりして。別に入れてあげていいんだけど、なんでRISC-Vじゃなく独自で頑張るんだろと思ってしまう。
— Rui Ueyama (@rui314) May 15, 2022
龍芯は中国科学院の主導で開発された中国の国産CPU。3A5000より前の龍芯はMIPSアーキテクチャで、LinuxでもMIPSのプラットフォームとしてサポートされていた。LoongArchとMIPSの違いは小さく、gccにLoongArchのサポートを入れようとした際も何故MIPSサポートをforkする必要があるのかで揉めていた
— Fadis (@fadis_) October 25, 2021