Embedded Systems Specialist Examination study materials
Embedded Systems Specialist Examination study resources

Embedded Systems Specialist Examination: システムアーキテクチャ設計と機能分担

Embedded Systems Specialist Examination · Work through your exam, one topic at a time.

All guide sections

システムアーキテクチャ設計と機能分担

システムアーキテクチャ設計と機能分担

アーキテクチャ設計は、要求を満たす構造を決め、機能をハード・ソフト・OS・通信のどこに配分するかの判断である。このドメインでは、性能・リアルタイム性・コスト・変更耐性のトレードオフを、根拠のある数字で説明できるかが問われる。

機能配分の原則

  • 時間制約の厳しい処理、繰り返しの多い処理は、専用ハード(FPGA、DSP、アクセラレータ)やペリフェラルへ寄せる。
  • 変更が多い処理、UI、通信プロトコルの上位層はソフトへ。
  • 共有資源(バス、メモリ、DMA)の競合を設計時に洗い出す。平均性能ではなく最悪値を積み上げる。
  • インターフェース(信号線、プロトコル、タイミング、エラー時の振る舞い)を先に固定する。曖昧なままだと結合テストで作り直しになる。
  • 電源投入・リセット・異常系の状態遷移をアーキテクチャとして定義する。

Worked example:1280×720の画像に3×3の畳み込み(9回の積和)を30fpsでかけたい。1フレーム約92万画素×9=約830万MAC、毎秒30フレームで約2.5億MAC/秒。1GHzのCPUで1サイクル1MACでも、実効効率20%なら5億MAC/秒が上限で、他の処理を考えれば余裕はない。そこで畳み込みをFPGAにオフロードし、CPUはフレーム転送と結果判定だけを担う。判断の根拠は「必要演算量」と「実効性能」の比較であり、実機ベンチマークを待たず見積りで先に決めている点が要点。

失点しやすい罠

  • 平均処理時間で設計し、最悪実行時間(WCET)を確認しない。
  • 割り込み優先度と共有データの排他を決めず、間欠的な不具合の温床を作る。
  • 機能配分だけ決めて、異常時の縮退動作やフェイルセーフを定義しない。
  • 冗長化を後付けし、コストと基板面積が破綻する。