
2026/03/12 3:21
**「ベオチップ‑1X:何か、なぜ今それを行うのか、そしてその由来」**
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
主要な欠落要素は、閉じたコンポーネントが「ワイヤレベル」に限定されているという点 10 にあります。
サマリーを重要ポイントと完全に整合させるためには、すべてのデータ処理ロジックがオープンソースであることを明確にし、周辺インターフェイスはワイヤレベルでプロプライエタリである旨を追加する文言を入れるべきです。
改訂サマリー
Baochip‑1x はコンパクトな RISC‑V SoC であり、完全なメモリ管理ユニット(MMU)を内蔵しています。これにより、組み込みマイクロコントローラは従来大規模かつプロプライエタリシステムに限定されていた実際の仮想メモリ保護機能を利用できるようになり、設計のほとんどをオープンソースで提供しています。
MMU のアーキテクチャは 1960 年代から証明されたページベース方式に従い、22 nm シリコンダイの約 2 % のみを占めます。初期はプロプライエタリ ARM コアで構築されましたが、Crossbar は後に周辺ロジックを変更せずにオープンソースの Vexriscv コアへ置き換え、部分的にオープン RTL から安全かつ高保証のハードウェアを実現できることを示しました。
エンジニアリングサンプルはすでに製造されており、徹底したファブ検査後に 2026 年末に生産適格チップがリリース予定です。最初の量産バッチは Dabao 評価ボード上で出荷され、ドライバーとオペレーティングシステムのサポートが成熟するまで待ち、Xous を超える追加プログラミング言語や OS の導入を計画しています。
すべてのデータ処理ロジックはオープンソースです;閉じたコンポーネント(AXI バス、USB PHY、PLL、電圧レギュレーター、I/O パッド)は「ワイヤレベル」に限定され、絶対的な信頼が保証できなくても検査可能です。このアプローチはオープンソースシリコンプロジェクトの障壁を下げ、プロプライエタリ ARM コアから離れることを促進し、組み込みセキュリティアプリケーション向けに新たなプラットフォームを提供します。
本文
2026年3月9日 – プロジェクトアップデート(2/2)
Andrew “bunnie” H による
キャンペーンにこれまで寄付いただいたすべての支援者、そして私の仕事を支えてくださった方々へ特別な感謝と共に、サブスクライバーの皆様は既に「Dabao」キャンペーンでBaochip‑1xをご存じでしょう。このアップデートでは、その製品が何か、なぜ今取り組んでいるのか、そしてどのように誕生したのかを補足します。
高信頼性ソフトウェアを動かすために設計されたハードウェア
私にとってBaochip‑1xの差別化ポイントは メモリ管理ユニット(MMU) の採用です。
同等の性能・統合レベルで、MMU を搭載したマイクロコントローラは他には存在しないと知る限りではありません。
OS に詳しくない方へ簡単に説明すると、MMU はスマートフォンやデスクトップPC上で動くソフトウェアを、トースターのオーブンで動くソフトウェアから切り離す役割があります。各アプリケーションを個別の仮想メモリ空間に配置することで、安全かつロード可能なアプリを実現します。
MMU は1960年代に登場した古典的技術で、ページベースのメモリ保護スキームは十分に検証済みです。数百人の大学生に原理を教えてきましたし、今日のOSでも欠かせない基盤となっています。
図:Kilburnらによる初期仮想記憶体系(「One‑level storage system」IRE Transactions, EC‑11(2):223‑235, 1962)
安全志向の機能を評価する際、古い技術が必ずしも劣っているわけではありません。AES暗号は数十年にわたり多くの暗号専門家によって検証されてきました。CHERI、PMP、MPUなど新しいメモリ保護技術を知っていますし、論文でも CHERI スタイルのハードウェア機能やタグ付きポインタを提唱しています。
実務的なシステム設計者としては、MMU を放棄する理由が見当たりません。MMU はこれらすべてと組み合わせ可能です。たとえば RISC‑V CPU で PMP と MMU を同時に備えることは十分に有効です。CHERI を使用してポインタの境界チェックをハードウェアで行っても、ページベースの仮想メモリが無い場合、各プログラムはコンパイル時に物理アドレス空間上の重複しない領域へリンクされなければならず、スワップメモリを利用できません。
このことから疑問が生まれます。MMU が明らかな追加機能であるにもかかわらず、なぜ広く採用されていないのか?
組み込み SoC の小型 CPU では、初期段階から MMU を持たないという慣例があります。この習慣は ARM7TDMI コアが1990年代に登場したことに由来します。当時トランジスタは希少で、メモリもさらに不足しており、仮想メモリを備えるのは数キロバイトの RAM しか持たないデバイスには不適切でした。ARM7TDMI の効率性と低コストが成功を呼び込み、10億台以上が出荷され、組み込み SoC 市場で ARM を主流にしました。
30 年後、ムーアの法則により数万倍の性能が得られました。今日ではピンヘッド一枚以下のシリコンに 1990年代のデスクトップ PC より多くのトランジスタがあります。それでも小規模な SoC は依然として「フラットメモリ空間」を採用し、アドレス分離がありません。
図:22 nm 現代 SoC のダイショット—4 mm 程度で 1990 年代のデスクトップ PC より多くのトランジスタを含む。ロジック領域は実際にアクティブなゲートよりも空きスペースが大きい。
根本的な理由は MMU が非常に価値があるためです。MMU が無ければ Linux、BSD、Mach などの OS を動かせません。そのため ARM は A 系列と R/M 系列を分離し、低価格 M 系列には MMU を搭載できないようにして高価格 A 系列の価格侵食を防ぎました。代わりに「MPU」という独自ハックが導入され、一部メモリセキュリティは提供しますがスワップなどの恩恵は得られません。
この慣例に長く縛られてきた結果、誰もその前提を疑問視しなくなりました。RISC‑V のようなオープンアーキテクチャ仕様や Vexriscv という完全オープン実装が登場したことで、SoC に何を入れるかは誰のルールにも縛られません。そのため、Baochip‑1x に MMU を組み込む選択を自由に行えるようになりました。
MMU を備えた Baochip‑1x は Linux などの OS を動かせることが可能ですが、私たち(主に Sean “xobs” Cross と私は)は Xous という純粋な Rust 製オペレーティングシステムを開発しており、MMU を活用しつつ小規模メモリフットプリント向けに設計されています。詳細は今回の投稿では省略しますが、興味がある方は 39C3 で行ったトークをご覧ください。
「今」がオープンフレームワークを選ぶべき時
これが「ほぼオープンな RTL SoC」が現状に適した理由です。私はオープンソース技術の熱心な支持者として、ファブから始まる完全オープンなシリコンスタックを実現したいと考えています。しかし、現在のところ、経済的に競争力ある SoC を市場へ投入できるほど堅牢なオープンソースシリコンエコシステムが整うまでには10年以上かかる見込みです。
今日、組み込み製品を作ろうとするならば残る選択肢は二つです。1) Cortex‑M ARM デバイスを継続して使用し、MPU を利用したハードウェアメモリ保護に合わせてソフトウェアを調整する。2) 可能な限りオープンである SoC を採用する。後者を選ばないと、ARM の独自仕様にコードベースが依存し続けることになります。
したがって、完全にオープンな PDK が登場するまで待つ余裕はありません。パーシャルオープン RTL SoC を今日テープアウトして市場へ投入することで得られるメリットは明白です。パーシャルオープン SoC は、ハードウェア専門家でなくても「将来のオープンソースに興味がある」コミュニティ全体を巻き込みやすくなります。そうすることで、経済的に実行可能になった時点で真にオープンなシリコン代替品を成熟したアプリケーションスタックへ直接投入できるようになります。結局のところ、ソフトウェアがシリコンへの需要を生み出すのであり、その逆はありません。
良いニュースは、Baochip‑1x では「データ上で計算する」全ての部分がシミュレーションと検証可能です。閉源化されているのは AXI バスフレームワーク、USB PHY、および PLL・電圧レギュレータ・IO パッドなどアナログ部品です。
つまり、一部が閉源でもデータ変換に関与していないため、実質的には「配線」だけです。入力側のデータと出力側のデータは一致すべきであり、境界を検証することでバックドアの可能性を除外できます。完全な透明性ではありませんが、現状使われている NDA‑SoC よりも遥かに優れています。そして何より、オープンアーキテクチャ向けのコードを書き始めるためのロードマップを提供します。
「ヒッチハイク」で勝ち取る
シリコン製造は高コストであるにも関わらず、私はベンチャーキャピタルから資金を集めていません。独立して裕福でもありません。どうやってこれが可能なのか?
短く言えば、私は 22 nm チップの設計者 Crossbar, Inc. のフロアプラン上に「ヒッチハイク」しました。CPU を自分で選択し、いくつか追加機能を組み込むことで、未使用領域にスペースが残っていました。CPU の有効/無効を切り替えるだけで、1 つのマスクセットで 2 枚のチップを得ることができます。
図:Baochip のフロアプラン—5 個のオープンソース CPU コアの位置と相対サイズ。
現代 SoC のコストは主に周辺機器とメモリによって決まります。CPU 自体は全体面積の数パーセント程度です(Baochip‑1x では約 2 %)。すべての周辺機器は「メモリマップド」されており、LED を点灯させるといった操作は特定のメモリアドレスをタップするだけです。誰がタップするか(ARM, RISC‑V CPU, 状態遷移装置等)は重要ではなく、周辺機器は同じように応答します。そのため、CPU コアを差し替えることで「身体」は同じでも「人格」を変えられます。
長い話をすれば、数年前から Crossbar は高性能かつ安全なエンクレーブを構築したいと考えていました。22 nm の先進プロセスで RRAM を利用し、非揮発性ストレージに力を入れていました。また、設計のオープン化も目指しており、従来は NDA で覆われていた安全チップの透明性向上を試みました。実際、オープンソース安全チップは認証スコアが低くなるため、企業顧客に販売できません。銀行や政府機関など非技術者がリスク管理を主導するケースでは、設計コード自体が重要視されないという現実があります。
Crossbar はこの流れに逆らい、オープンソース透明性の呼びかけに応じるために私に協力を求めました。条件は、自分の CPU コアを追加し、独自ブランドで販売できることでした。私は既存のリスク低減策として ARM プロプライエタリ CPU を採用したいと考えていましたが、オープンソース戦略コンサルタントとしてユーザーは最低限 CPU もオープンであるべきだと主張しました。その結果、Precursor SoC の Vexriscv コアを追加し、失敗しても簡単に切り替えられるよう設計したのが Baochip‑1x です。
市場投入への道
執筆時点で、Baochip‑1x デザインを含むウェーハは製造済みで、数百枚のチップが初期サンプリングプログラムとして配布されています。これらはすべて私自身が手作業で検査しました。
しかし今後は Hsinchu のファブにある 2 枚のウェーハを本格的な量産に移行し、完全自動化された検査フローを経る予定です。プロセスが円滑に進めば、数千枚の Baochip‑1x を販売できる見込みです。年間後半にはさらに多くのチップを投入する計画ですが、資本制約・リスク緩和・シリコンから完成デバイスへ移行する時間がかかるため、2026 年末までには追加在庫が増える見込みです。
サプライチェーンが安定するのを待つ代わりに、最初の数千枚を「Dabao 評価ボード」前注文キャンペーンで開発者に共有するリスクを取ることにしました。数年にわたり完全に沈黙して取り組んできたこのプロジェクトにコミュニティを作り上げたいと考えています。まだ多くの課題があります:ドキュメント作成、デバイスドライバ立ち上げ、新しいプログラミング言語や OS のサポートなどです。
私自身は Rust ベースの Xous OS を推進していますが、それが唯一である必要はありません。オープンソースコミュニティリーダーを支援し、ハードウェアセキュリティプリミティブへのアクセスを提供することで、より安全で信頼性の高いオープンソース未来を共に築くことができると考えています。
Crowd Supply ニュースレターに登録して、最新クリエイターやプロジェクト情報を受け取ってください。