デバイス・ボード

SoC(System on Chip)

CPU・GPU・通信などを1チップに統合した集積回路。

概要

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グラフィックス・GPGPUMali-G78 MP14、RDNA2
NPU/Neural EngineAI推論アクセラレータ16TOPS、38TOPS
DSP信号処理Hexagon DSP、C66x
ISPカメラ画像処理4K HDR、ノイズ低減
メモリコントローラDRAM制御LPDDR5 4266MHz 4ch
通信モデムLTE/5Gサブ6GHz + mmWave
Wi-Fi/BT無線LAN・BluetoothWi-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 + 外部チップ

項目SoCMPU + 外部チップ
基板面積小さい大きい
消費電力低いオンチップ間通信がないため高め
設計柔軟性低い(機能固定)高い(外付けで拡張可能)
開発工数低い(統合BSP)高い(複数チップの組み合わせ)
コスト(少量)高い(高価なSoC)部品構成次第
コスト(大量)低い(部品点数削減)高い

SoC vs FPGA

FPGAは回路を自由に定義できる柔軟性がありますが、SoCと比べて消費電力・コスト・開発工数が高くなります。XilinxのZynqシリーズのようにFPGA内にARMプロセッサを統合した「SoC FPGA」という形態もあり、高速信号処理とLinux制御を組み合わせた用途で使われます。

関連用語

参考リンク