リアルタイム制御システムに適したV850 CPU向け仮想化技術を開発

2010年09月29日

ルネサス エレクトロニクス株式会社

 ルネサス エレクトロニクス株式会社(代表取締役社長:赤尾 泰、以下ルネサス)はこのたび、V850 CPUアーキテクチャにおいて、多様な処理を高速かつ複合的に行う制御システムに対して、それぞれの処理に適切なCPU時間を割り当てるとともに、制御処理間の干渉を大幅に低減する仮想化技術を開発いたしました。
 これにより、特に複合的な処理を行う大規模な制御システムにおいて、ひとつのCPUコア上でのソフトウェア構成の自由度を向上させ、スムーズな機能の分散・統合を可能とするなど、ソフトウェア開発を効率化します。

 近年、車載制御ユニットなどの高速かつ複雑なリアルタイム処理が必要とされる制御システムの分野は急速な電子化が進み、かつ搭載される制御システムの数が増加しています。制御システムの増加の背景には、機能の分散・統合により制御システムの変更が必要となるケースや既存機能の高機能化によって制御システム自体が大規模化する傾向があることから、設計容易化のために協調して動作する複数の制御システムに分割するケースがあります。また、SIL(注)などの機能安全規格やセキュリティ分野への対応のため、アプリケーションソフトを分割し、メモリ(ROM、RAM、周辺装置)へのアクセス制限や実行管理をすることで、制御システム全体の安全性・信頼性を高めるケースもあります。
 従来このような場合には、ソフトウェアによる分割・統合を行うか、複数のハードウェア(CPUコア)を用意し、制御システムを個別に割り当てていました。しかしながらソフトウェアによる統合は、時間管理やプログラム切り替えなどCPUの処理時間が余分に必要となるため、リアルタイム制御には不向きでした。またハードウェアを複数用意する場合は、ソフトウェア開発の過程で制御システムの数が増減する場合があるため、最適なハードウェアの事前調達が困難という問題がありました。
 このため、複数の制御システム間での干渉が少なく、独立性を維持したまま処理を実行可能であること、また容易に品質保証することができるとともに、開発過程でのソフトウェアの変更や、複数の派生品の並行開発のために、ソフトウェアの配置を柔軟に変更できる開発環境が求められています。
 さらに、消費電力の低減および演算性能の向上を目的としたマルチコア構成のハードウェアへのニーズの増加に伴い、ソフトウェアは初期段階から並列動作を想定して開発が進められる傾向にあります。ソフトウェアはスケーラビリティ確保のために、ハードウェアに依存せず、アプリケーションソフトが要求する並列度で構築されるため、当初、ハードウェアの選定時期に要求していた並列度と異なることがあり、柔軟に並列度を変更できるハードウェアの必要性が高まっております。
 ルネサスはこれらの問題を解決するため、ひとつのCPUで複数のシステム制御を相互干渉なく並行実行可能な仮想化技術を開発しました。
 このたび開発した技術の詳細は以下のとおりです。

 

(1)ハードウェア・スケジューラにより複数のリアルタイム制御を並行実行

 プログラム実行に必要不可欠な汎用レジスタ、システム制御レジスタなどを、ソフトウェアの実行単位であるスレッド毎に複数持ち、クロック毎に実行するスレッドを切り替えることで、複数のスレッドを並行実行するマルチ・スレッディング技術を開発。
 スレッドの切り替えはハードウェア・スケジューラによって自動で行われ、スレッド毎にあらかじめユーザによって割り当てられたCPU時間を提供。これにより、従来は不可欠であった時間管理やプログラム切り替えにかかるCPUの処理時間が不要となるため、定時性を損なわないまま、ユーザのニーズに応じた任意の周波数性能の複数のリアルタイム制御システムを並行実行することが可能となる。

 

(2)単一のCPU上で複数の仮想CPUを構成

 アドレス空間や、割込み処理の管理方法を拡張するハードウェアを開発し、単一のCPU上で複数の仮想CPUを構成可能。
 アプリケーションソフトのコード領域やデータ領域などのメモリ資源は、仮想CPU間での論理アドレス重複やメモリ資源の誤操作を防ぐアドレス変換機能により、適切に分離。また、割込み優先度の管理も仮想CPU毎に独立して行うことが可能。
 仮想CPUには、単一または複数のスレッドを割り当てることができるため、リアルタイムOSなどのシンプルなOSでは、1仮想CPUあたり1スレッドを割り当て、マルチ・スレッド対応機能を備えた大規模なOSでは、1仮想CPUに対して、複数のスレッドを割り当てることが可能となっている。

 

(3) スレッド間の干渉を低減するバス・システム

 バスに接続されたメモリ(ROM、RAM)や主要な周辺装置などへのアクセス経路におけるスレッド間の干渉を最小限に抑えるとともに、各スレッドのI/O(入出力)アクセスによって引き起こされる定時性を確保可能なバス・システムを搭載。これにより、制御システムにおけるI/O仮想化を支援する。

 上記3つの技術を組み合わせることで、単一のCPU上で複数の仮想CPUが利用可能となるため、それぞれの仮想CPUで異なるOSを動作させ、独立した制御システムを同時並行的に実行することが可能となります。
 この新技術によって、複数の制御システムの分割・統合時、あるいは大規模制御システムの開発時に発生する、各制御システムの変更と再検証、統合前後における細粒度の時間管理の乱れ、時間管理のためのソフトウェア・オーバーヘッドといった課題を解決します。
 これにより、最適なコストで複数の制御システムの分割・統合が実現できるようになります。また、仮想的なマルチコア構成における仮想CPUの個数と周波数性能の組み合わせ自由度が高いため、実装箇所、実装面積などの基板に合わせた設計が可能となります。

 ルネサスはこのたび開発した仮想化技術を、CPUアーキテクチャのスケーラビリティをより一層向上させ、かつ顧客のより柔軟な開発体制に貢献するものと考え、次世代のV850 CPUに応用してまいります。

 

以 上

 

(注) Safety Integrity Levelの略。電気・電子製品向け機能安全規格(IEC61508)や、自動車向け機能安全規格(ISO26262)などが規定する安全度水準を示す。

*  本リリース中の製品名やサービス名は全てそれぞれの所有者に属する商標または登録商標です。


ニュースリリースに掲載されている情報(製品価格、仕様等を含む)は、発表日現在の情報です。 その後予告なしに変更されることがございますので、あらかじめご承知ください。