読み込み中...
読み込み中...
組込みシステムでは,機能の複雑化・高度化,及び処理の増加に伴い,マルチコアプロセッサを用いることが増えている。例えば,一つのプロセッサ内に,CPU コアを複数内蔵したもの,CPU コアに加え DSP・GPU を内蔵したものなどが利用されている。
マルチコアプロセッサの活用に当たり,各コアにどのような処理を割り当てるかの検討が必要となる。高速化のための並列化の検討においては,タスクとデータのどちらに着目するかという観点がある。タスクの並列化では,例えば,異なるセンサーそれぞれのデータの処理を異なるタスクに分割し,それぞれのタスクを各コアに割り当て,同時並列に実行させる方法がある。データの並列化では,例えば,カメラデータの色調補正など,大量のデータを依存関係のない小単位に分割し,分割したそれぞれのデータに対して同じ処理を各コアで同時並列に実行させる方法がある。いずれの場合においても,扱うデータの依存性,処理の順序性に着目し,対象の組込みシステムに応じた処理・データの分割とコアへの割当てを行う。
分割した処理の各コアへの割当てには,同じ CPU コアを複数もつマルチコアプロセッサの場合,OS の機能を用いて自動的に割り当てる方法があるほか,処理を明示的に分離する方法もある。例えば,安全性・セキュリティへの対応,応答性,又はライセンスの制限への対応においては,特定の処理を実行するコードを特定の CPU コアに明示的に割り当て,ほかからのアクセスを制限する。
マルチコアプロセッサでは,複数のコアがメモリを共有することなどによって,コア間の通信を高速に行うことができる利点があるものの,メモリなどの資源の競合の問題が発生し得る。また,あるコアで実行しているプログラムに不具合があった場合に,ほかのコアの処理にまで影響を及ぼす可能性もある。特に,機器の制御を行う組込みシステムでは,安全性の観点から,これらの問題が発生しないよう,また,発生しても極力影響を限定するような処置を取ることが求められる。
組込みシステムでのマルチコアの利用においては,組込みシステムが実現する機能・性能に鑑み,適切なマルチコアプロセッサを選択し,各コアに処理をどのように割り当てるか,コア間・タスク間の通信をどのように制御するか,安全性・セキュリティにも考慮して設計することが求められる。
あなたの経験と考えに基づいて,設問ア~ウに従って解答せよ。なお,解答欄には,文章に加えて,図・表を記載してもよい。
あなたが携わったマルチコアプロセッサを用いた組込みシステムについて,組込みシステムの用途,構成要素,マルチコアプロセッサを利用するに至った経緯・目的,及び目標を 2 ページ(800 字相当)以内で答えよ。
設問アで答えた組込みシステムにおいて,マルチコアプロセッサを利用する上での組込みシステムの制約,各コアに対してどのような理由でそれぞれにどの処理を割り当てたか,コア間の通信において考慮した事項,安全性・セキュリティなどの考慮,解決すべき課題とその解決方法について,2 ページ(800 字相当)以上,かつ,4 ページ(1,600 字相当)以内で具体的に答えよ。
設問イで答えた内容において,目標の達成度,解決方法の評価,今後の課題について,1.5 ページ(600 字相当)以上,かつ,3 ページ(1,200 字相当)以内で具体的に答えよ。