今さら聞けないマルチプロセッサの基礎教えます ――キャッシュの共有,割り込みの共有,OSによる制御

木村啓二

tag: 組み込み

技術解説 2005年2月18日

● 通信のオーバヘッドや負荷分散,排他制御に注意

 複数のプロセッサまたはプロセッサ・コアを利用するシステムのプログラム開発においては,通信オーバヘッドをなるべく小さくする,各コアに割り振られるタスクの負荷をなるべく均等にする,クリティカル・セクションを注意深く設計する,などの問題は共通です.冒頭に述べた対称型マルチプロセッサ・システムと組み込み分野のマルチプロセッサ・システムで大きく異なる点として,非対称な構成に起因する問題と,キャッシュの一貫性維持のしくみがないことに起因する問題があります.

1)非対称の構成に起因する問題

 一般的なマルチプロセッサ対応OS(タスク・スケジューラ)は対称的なプロセッサ構成を前提としているため,非対称のマルチプロセッサ・システムにはそのままでは使用できません.現在のところは,専用APIを使い,特定のコアで実行するタスクを明示的に割り当てるやりかたが現実的でしょう(8)

 なお,MPCoreのような対称的なマルチコア・システムにおいて,すべてのコアを平等に扱うという方針でシステムを設計する場合は,通常のマルチプロセッサ対応OSをほぼそのまま利用できます注7.しかし,各プロセッサ・コアを特定の用途で使用したい(例えば,特定のI/Oデバイスからの割り込みを特定のコアで優先的に処理したい)という場合には,何らかの対応が必要となります.具体的には,割り込み先を指定する回路(MPCoreでいうInterrupt Distributor)に対応するデバイス・ドライバを追加したり,プロセッサ・コアごとにタスクの優先度を変えられるようにスケジューラを修正する,といった対応が考えられます.

 注7;MPCoreにはLinuxが搭載される予定.Linuxの移植にあたっては,割り込み(通常のシングル・プロセッサでもアーキテクチャに強く依存する)関連では修正が必要だろうが,スケジューラについては通常のLinuxのものがそのまま利用できるはずである.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日