HN 日本語サマリー

← 一覧へ戻る
プログラミング

Lemote YeeloongノートPCとOpenBSDで「龍」を回避する作業

Working around dragons with the Lemote Yeeloong laptop and OpenBSD (oldvcr.blogspot.com)

130 pointsby zdw37 コメント

要約

この記事では、完全に自由なコンピューティング体験を追求するため、Richard Stallman氏も愛用する、バイナリブロブやプロプライエタリファームウェアを含まないLemote YeeloongノートPCとOpenBSDの組み合わせについて探求しています。特に、中国が自国の技術独立を目指して開発したMIPS64ベースのCPU「龍芯(Godson)」の歴史と技術的特徴に焦点を当てています。筆者は、このユニークなプラットフォームでOpenBSDを動かす過程での苦労と学びを共有し、中国の国産CPU開発の背景にある863計画などの政策にも触れています。

全文翻訳

2026年6月27日土曜日 Lemote YeeloongノートPCとOpenBSDで「龍」を回避する作業 見よ:GNUの達人!(Habib Mhenni撮影、Wikimedia Commons、CC BY-SA 3.0。) 真の悟りは、おそらく真に自由なコンピューティング体験からのみもたらされる!Richard Stallman氏個人について意見を持たないオタクはいないだろうし、彼が説教していることを実践していないと主張する者もいないだろう。彼が目の前にしているノートPCは、バイナリブロブや自分で検査・交換できないファームウェアなしで動作し、彼が選んだ完全に自由なオペレーティングシステムを実行できるという理由で、意図的に選ばれたものだ。中に中国製MIPS64派生チップが入っているという事実は、間違いなくヒートスプレッダにさらなる化合物が加わっただけだろう。 私の場合、それがMIPSファミリーのシステムであるという事実は、私の珍しいノートPCコレクションにぜひとも1台必要であることを意味した。そして、OpenBSDを動かせるのだから... ...これは1台のコンピュータで2つの方法で「nerdsniped」される良い方法だと思えた。私は主にNetBSDをBSDおよびサーバーオペレーティングシステムとして使用しているため、これは珍しいプラットフォームの携帯性の高いネットブックでOpenBSDを学ぶ良い方法だと考えた。もちろん、いつものように、全体の作業は予想よりもはるかに長い道のりとなり、私がいつものように定石から外れる(例えば、SDカードスロットから強制的に起動させたり、ソースからブラウザをビルドしようとしたりする)ことにこだわったため、さらに長くなった。しかし、それに着手する前に、なぜこの中に中国製MIPS派生チップが入っているのかについて話そう。 もちろん、MIPSノートPCで遊んだのはこれが初めてではない。IBMのMIPSではないThinkPadに関する記事は常に人気があり、MIPSは当社のSun RayノートPCのいくつかにも使用され、そのうちの1台では簡単にroot権限を取得できる。しかし、Floodgap Orbiting HQにやってきた64ビットMIPSノートPCはこれが初めてであり、間違いなく最も小さい。そして、そのプロセッサの出所はさらに興味深いものとなる。シリーズの後期チップは英語で比較的よく文書化されているが、初期のチップは主に標準中国語でしか議論されていないことを付け加えておく。そして私の中国語の翻訳能力は、日本語の能力よりもさらに劣る。しかし、これらの初期のチップに「なぜ」があるのだから、最善を尽くそう。中国の一次資料と西側の二次報告の間に意見の相違がある場合(そして多くの食い違いがある)、明白な理由から、私は一般的に前者の記述を優先した。結果として生じる不正確さはお許しいただきたい。谢谢。 中華人民共和国は、外国の利益からの独立を確保する手段として、国産技術を長らく優先してきたが、電子機器における初期の取り組みは主に防衛に集中していた。この状況は、中国政府が1980年代の新たな発展、例えば米国の戦略防衛構想(SDI)によって置き去りにされていることに気づいた後、劇的に変化した。SDIは、空中の核弾頭を破壊するだけでなく、SDI組織を通じて基礎科学研究に多額の資金を投入し、ソ連、日本、ヨーロッパでも同様の取り組みが並行して行われていた。最高指導者である鄧小平は、1986年3月の設立日にちなんで名付けられた863計画でこれに応じた。これは、彼の明確な支持を得て複数の科学者やエンジニアによって中国政府に正式に提案されたものである。彼は報告書に「この問題は遅滞なく迅速に決定されなければならない」と書き込んだとされる。正式には国家高技術研究発展計画(国家高技术研究发展计划)と名付けられた863計画は、バイオテクノロジー、宇宙、レーザー、自動化、エネルギー、新素材、情報技術を含む複数の分野における一般的な科学技術応用を、15年という期間で焦点とした。これは第7次5カ年計画およびその後の5カ年計画の一環として国家政策となり、1988年までには国内最高の産業研究開発イニシアチブとなった。 指導部の半導体への強い関心にもかかわらず、1990年代を通じて中国では外国のプロセッサ設計が支配的だった。最先端の製造および設計能力の不足により、初期の業界リーダーの優位性は揺るぎないものであり、2000年代初頭にはARMやIntelといった確立されたプレーヤーが中国本土でも圧倒的な市場シェアを占めていた。その結果、それ以前にも限定的な国産マイクロプロセッサ設計やクローンは存在していたものの、市場リーダーと何らかの意味で競合できる中国製CPUが登場するまでには数十年を要した。2001年、中国科学院(CAS)計算技術研究所(ICT)は、胡偉武主任設計者のもと、第10次5カ年計画と863計画の継続(当時江沢民のもとで長期的なR&Dパイプラインに変革されていた)の資金提供を受けて、新しい高性能チップの開発に着手した。公式には「龍芯」(通常はピンインでLóngxīnと音訳され、「龍の核」と翻訳される)と呼ばれたが、開発者たちはそれと似た音の「Gǒdsón」という音訳を与えた。これは「犬の餌」または「犬にふさわしい餌」のような意味になる—しかし、中国語には多くのしゃれがあることを指摘しておく。辞書と言語学の学位を持つこの白人男性が、このしゃれを十分に理解しているとは言えないだろう。この意味を前提とすると、意図的な軽蔑表現は、悪霊が子供たちに危害を加えるのをためらうように、子供たちに悪い名前を与えるという古い迷信から来ている可能性があり、それによって新しいチップがその幼少期を生き延びることができたのだろうが、「自分の犬の餌を食べる」(eat your own dog food、自社製品を自ら使う)という考え方ともうまく合致する。 Godsonを迅速に立ち上げる手段として、ICTの設計者たちは既存のアーキテクチャを評価し、32ビットMIPS IIを選択した。これはよく知られており、一般的に自由で、ソフトウェアサポートもまだあり、混雑したx86の分野で争う必要がなかった(あるいは少なくとも当初は)。しかし、常にチップを商業化する意図があったため、設計が擁護可能なIPを生み出すことがプロジェクト管理者にとって重要だった。その結果、当時まだ独自の特許下にあったMIPSのロード/ストアレフト/ライトワードの非アライメントメモリアクセス命令は、仕様から削除された。この仕様を用いて、チームはシミュレータを開発し、2001年8月19日(その「誕生日」)に初めてLinuxを起動することに成功した。 上記の「Godson-1汎用CPUチップの研究開発」と題された写真が掲載されている最初の論文では、ダイナミックパイプラインや、初期の実行禁止ビットによるバッファオーバーフローのハードウェア緩和など、「マイクロアーキテクチャにおける大胆な革新」(彼らの言葉)が記述されており、これはMIPSアーキテクチャCPUとしては初めてのことだった。設計はVerilogシミュレーションから低速FPGAプロトタイプへと段階的に進み、それがさらにテープアウト用に洗練され、そして下の右下隅に見られる初期ハードウェアへと移行した(プロトタイプのロジックボード、チップ、ミニタワーフルシステム)。 結果として生まれたGodson-1は、ICTと江蘇中易グループのファブレス合弁会社であるBLX IC Design Corporation Ltd.によって2002年9月28日に正式に発表された。それは4mm角のダイに400万個のトランジスタを搭載し、上海のSemiconductor Manufacturing International Corporationによって180nmプロセスと6層のメタルで製造された。カスタムマザーボードからクロック信号を2倍にすることで、最大266MHzで7段パイプラインを実行し、消費電力は1ワット未満(200MHzで0.4W)だった。命令用とデータ用にそれぞれ8KのL1キャッシュを搭載し、レジスタリネーミング(ただし整数のみ、追加の8セットから)、分岐予測、動的スケジューリング、アウトオブオーダー実行をサポートし、単一のメモリアクセスユニット、2つの固定小数点ユニット、および制限された形式のSIMDをサポートする2つの浮動小数点ユニットを備えていた。SGI MIPSとは異なり、Godson-1は排他的にリトルエンディアンで動作し、Red Hat Linux 7.1とVXWorksのポートが利用可能だった。設計者たちは、200MHzでの性能は、(当時)5年前の180MHz R5000を搭載したSGI O2に匹敵すると見積もったが、L2キャッシュサポートの欠如によって損なわれていた。