ハードウェア

内部で独自開発されブラックボックスになりがちな「SoC」はなぜオープンソースであるべきなのか?


CPUやGPU、メモリなどをひとつのチップにまとめたSystem-on-a-chip(SoC)は、Appleが独自開発した「M1」チップやGoogle Pixelシリーズに搭載されている画像処理AIチップ「Pixel Visual Core」など、外部からは設計や仕様が不明瞭なものが多数あります。小型デバイスが増加しSoCの活用が広まる中、ハードウェアエンジニアのbunnie氏は「SoCはオープンソースが望ましい」と語っています。

What is a System-on-Chip (SoC), and Why Do We Care if They are Open Source? « bunnie's blog
https://www.bunniestudios.com/blog/?p=5971

一般的なコンピューターでは、プリント基板上にCPUやGPU、メモリが個別に実装されていますが、スマートフォンなどの小型化が求められるデバイスでは不利な設計です。SoCはCPUなどの機能をひとつのチップにまとめることで、デバイスの大幅な小型化に貢献し、スマートフォンなどで広く採用されるようになりました。例えばAppleのM1チップはCPU、GPU、キャッシュメモリ、メインメモリ、ニューラルネットワークエンジンなどがたったひとつのチップに集約されています。


高性能なSoCは当然ながら設計も複雑で、マニュアルは数千ページに及ぶことも。加えてマニュアルは厳格な知的財産保護による閲覧制限がかかっている場合がほとんどなので、動画のデコードやハードウェアアクセラレーション、セキュリティ関連の情報は得られない場合が多いとのこと。さらにSoCには無効化されている周辺機器や内部デバッグ機能といった「未使用領域」が存在し、チップを開発したチームでさえ全体像を把握できていないこともあるとbunnie氏は語っています。

未使用領域が残されたままになる要因について、bunnie氏は「SoCの開発はレゴを組み立てる作業よりも、大理石を削る彫刻に近い」ためであると分析。SoCに回路をひとつ追加するにはおよそ1億円の開発費用がかかりますが、回路を無効化する作業はコードを少し変更するだけで済むとのこと。回路の無効化コストが非常に小さいため、未使用の機能が増え、ブラックボックス領域が拡大していくという構造です。

SoCのブラックボックス領域が拡大していくことは、内部テスト用の機能を悪用されるといった、セキュリティ上の懸念にもつながります。また、SoCの開発元はPCIやUSBといった構成要素を共通のベンダーから購入しているため、PCIやUSBに含まれる未使用領域が異なるSoC開発元に共通して内在することになり、エコシステムを揺るがす問題に発展しかねないとbunnie氏は指摘しています。


こうした問題を解決に導く手がかりが、SoCのオープンソース化です。SoCの設計がオープンソースであれば、未使用領域のブラックボックス化を防止する透明性を確保できます。bunnie氏の手がけるモバイル端末プロジェクト「Precursor」では、SoCのオープンソース化を実行に移しており、GitHubにソースコードを公開しています。

PrecursorはオープンソースアーキテクチャのRISC-Vを採用し、チップにはFPGAを用いて製品リリース後も柔軟な設計変更を可能にしています。また、「LiteX」というフレームワークを用いることで、これまでは困難だったSoCへの機能追加も容易になっているとのこと。

Precursorプロジェクトの詳細は、以下のページから確認することができます。

Precursor | Crowd Supply
https://www.crowdsupply.com/sutajio-kosagi/precursor

この記事のタイトルとURLをコピーする

・関連記事
RISC-Vによる新しいプロセッサの開発が難しいのはなぜなのか? - GIGAZINE

ハードウェアの発展を阻害しているのは「マザーボード」だという指摘、マザーボードに代わる次世代技術とは? - GIGAZINE

初のApple Siliconとなる「M1」チップが登場、5nmプロセスで製造された世界最速のCPU搭載 - GIGAZINE

「PlayStation 5(PS5)」の爆速動作の秘密を探るべく本体をバラバラに分解してみた - GIGAZINE

Zen 2 CPU&RDNA 2 GPU搭載のゲーム機「Xbox Series X」分解レポート、黒い箱に詰め込まれたMicrosoftの技術を確かめてみた - GIGAZINE

in ハードウェア, Posted by log1n_yi

You can read the machine translated English article here.