概要
SoC(System on Chip:システムオンチップ)は、コンピュータシステムに必要な複数の機能ブロックを1つの半導体チップ上に統合した集積回路です。CPU・GPU・メモリコントローラ・通信モジュール(Wi-Fi・Bluetooth・LTE)・DSP・NPU(ニューラルプロセッシングユニット)・ISP(画像処理プロセッサ)・各種ペリフェラルコントローラなどが単一ダイに集約されています。
MPU(マイクロプロセッサ)がCPUコアを中心に据えて外部チップと組み合わせるのに対し、SoCはそれらすべてを1チップに取り込みます。これにより基板面積の縮小・消費電力の削減・コスト低減・ボード間の通信遅延排除が実現します。
現代のスマートフォンに搭載されるApple A-series・Qualcomm Snapdragon・Samsung Exynosはすべてこの概念の極致であり、数十億個のトランジスタを3〜5nmプロセスで統合しています。組み込み・IoT向けにはNXP i.MX・Renesas RZ/G・Texas Instruments Sitara・MediaTek MT7688などが広く使われています。
歴史・背景
SoCという概念が登場したのは1980年代後半です。プロセス微細化により1チップに多機能を集積できるようになり、1990年代には携帯電話向けのベースバンドプロセッサがSoC化の先駆けとなりました。
2000年代に入るとARMアーキテクチャの普及とともにSoC設計が加速。IPコア(ライセンス可能な回路ブロック)という概念が確立し、ARMのCPUコア・Mali GPUコア・PrimeCell周辺IPなどを組み合わせてSoCを設計するビジネスモデルが定着しました。
2007年のiPhone登場は、スマートフォン向けSoCの高度化を急激に進めました。Apple A4(2010年)はSamsung 45nmプロセスでARM Cortex-A8+PowerVR GPU+メモリコントローラを統合。その後毎年新世代プロセスへ移行し、Apple A17 Pro(2023年)は3nmで16コアNeural Engineを搭載するまでに進化しました。
組み込み・産業向けでは2010年代からXilinxのZynq(FPGA+ARM)・NXP i.MX6/8シリーズ・Renesas RZシリーズが実績を積み、現在も長期製品保証付きで提供されています。
技術仕様
主要機能ブロック
現代のSoCに統合される代表的なIPブロック:
| ブロック | 役割 | 仕様例 |
|---|---|---|
| CPUクラスタ | 汎用演算 | Cortex-A55×4 + Cortex-A78×4(big.LITTLE) |
| GPU | グラフィックス・GPGPU | Mali-G78 MP14、RDNA2 |
| NPU/Neural Engine | AI推論アクセラレータ | 16TOPS、38TOPS |
| DSP | 信号処理 | Hexagon DSP、C66x |
| ISP | カメラ画像処理 | 4K HDR、ノイズ低減 |
| メモリコントローラ | DRAM制御 | LPDDR5 4266MHz 4ch |
| 通信モデム | LTE/5G | サブ6GHz + mmWave |
| Wi-Fi/BT | 無線LAN・Bluetooth | Wi-Fi 6E + BT 5.3 |
| ビデオコーデック | 動画エンコード/デコード | 8K H.265、AV1 |
| セキュリティプロセッサ | 暗号・鍵管理 | TrustZone、Secure Enclave |
プロセスノード
SoCの性能・消費電力はプロセスノードに大きく依存します:
28nm : 2013〜 産業用SoCで今も現役(NXP i.MX6等)
16nm : 2015〜 FinFET移行。A9、Snapdragon 820
7nm : 2018〜 Apple A12、Kirin 980
5nm : 2020〜 Apple A14、Snapdragon 888
3nm : 2022〜 Apple A16/A17 Pro
産業用・組み込み向けは28nm〜16nmで十分な性能を持つ製品が長期供給されることが多く、最先端プロセスは必ずしも必要ではありません。
電力設計
SoCは複数の電源ドメインに分かれており、PMIC(Power Management IC)と組み合わせてダイナミック電圧・周波数スケーリング(DVFS)を行います:
Core VDD : 0.6〜1.1V(プロセッサコア)
I/O VDD : 1.8V / 3.3V(外部インターフェース)
DRAM VDDQ : 1.1V(LPDDR5)
GPU VDD : 独立ドメイン
Always-on : 常時通電(RTCやウェイクアップ回路)
動作原理
SoC内部のIPブロックはオンチップバスで相互接続されています。AXI(Advanced eXtensible Interface)バスがHigh-bandwidth用途に、APBバスが低速ペリフェラル制御に使われます。
┌─────────────────────────────────────┐
│ AXI バス │
│ ┌─────┐ ┌─────┐ ┌─────┐ ┌──────┐ │
│ │ CPU │ │ GPU │ │ DMA │ │ DSP │ │
│ └─────┘ └─────┘ └─────┘ └──────┘ │
│ ┌──────────────────────────────┐ │
│ │ メモリコントローラ │ │
│ └──────────┬───────────────────┘ │
│ ┌──────────▼───────────────────┐ │
│ │ APBブリッジ │ │
│ │ ┌────┐ ┌────┐ ┌────┐ │ │
│ │ │UART│ │SPI │ │I2C │ ... │ │
│ │ └────┘ └────┘ └────┘ │ │
│ └──────────────────────────────┘ │
└─────────────────────────────────────┘
DMA(Direct Memory Access)コントローラがCPUを介さずにIPブロック間のデータ転送を行い、システム全体のスループットを高めます。
用途・ユースケース
SoCが採用される主な用途:
- スマートフォン・タブレット: Qualcomm Snapdragon・Apple A-series・MediaTek Dimensityが主流
- スマートTV・STB: Amlogic・Realtek・MediaTekのSoCがコンテンツデコード・UI処理を担う
- カーナビ・IVI(In-Vehicle Infotainment): Renesas R-Car・NXP i.MX8が採用例多数
- 産業用HMI: タッチパネル付き操作パネルでLinuxを動かす
- AIカメラ・エッジAI: Ambarella CV-series・Sony AITRIOS・Hisilicon Hi35xx系
- Wi-Fiルーター: Qualcomm IPQ・MediaTek MT7986A(Filogic 830)
- IoTゲートウェイ: 複数無線インターフェースを統合したSoCでプロトコル変換
実装・開発のポイント
SoC選定の基準
1. 処理能力: CPUクロック・コア数・GPU性能
2. 統合機能: 必要なペリフェラルがオンチップか確認
3. ソフトウェアサポート: BSP(Board Support Package)の品質・Linuxメインライン対応
4. サプライチェーン: 長期供給保証・産業グレード温度範囲
5. 開発エコシステム: リファレンスデザイン・コミュニティ
6. コスト: チップ単価・外部部品点数の削減効果
BSP(Board Support Package)
SoCメーカーはBSPとして以下を提供します:
- U-Boot(ブートローダー)のポート
- Linuxカーネルのパッチ
- デバイスツリーテンプレート
- ドライバーソースコード
- Yocto/BuildrootのMeta Layer
Yocto Projectを使ってBSPを取り込み、製品向けのカスタムLinuxイメージをビルドするのが産業用開発の標準的なアプローチです。
セキュリティ機能
現代のSoCはハードウェアセキュリティ機能を内蔵しています:
- TrustZone: ARM Cortex-AのTEE(信頼実行環境)
- セキュアブート: 署名検証によるブートチェーン
- ハードウェア暗号エンジン: AES-256・SHA-2・RSAのアクセラレータ
- ePUF(物理的複製困難関数): デバイス固有の秘密鍵生成
他技術との比較
SoC vs MPU + 外部チップ
| 項目 | SoC | MPU + 外部チップ |
|---|---|---|
| 基板面積 | 小さい | 大きい |
| 消費電力 | 低い | オンチップ間通信がないため高め |
| 設計柔軟性 | 低い(機能固定) | 高い(外付けで拡張可能) |
| 開発工数 | 低い(統合BSP) | 高い(複数チップの組み合わせ) |
| コスト(少量) | 高い(高価なSoC) | 部品構成次第 |
| コスト(大量) | 低い(部品点数削減) | 高い |
SoC vs FPGA
FPGAは回路を自由に定義できる柔軟性がありますが、SoCと比べて消費電力・コスト・開発工数が高くなります。XilinxのZynqシリーズのようにFPGA内にARMプロセッサを統合した「SoC FPGA」という形態もあり、高速信号処理とLinux制御を組み合わせた用途で使われます。