この他、ARMv8-Rは、組み込みLinuxやQNX Software Systemsの「Neutrino」、Green Hills Softwareの「INTEGRITY」といった、一定レベル以上の処理性能を持つプロセッサやメモリ容量が必要な“リッチOS”の動作も保証している。これは、ARMv8-Rが、これらのリッチOSが用いられるCortex-Aシリーズと同様に、メモリ管理ユニット(MMU:Memory Management Unit)をサポートしているからだ。ARMのプロセッサ部門で組み込み関連のリードアーキテクトを務めるSimon Craske氏は、「Cortex-Aシリーズとの互換性を持つARMv8-Rにより、Cortex-Aシリーズで使っていたプログラムをCortex-Rシリーズで再利用できるようになる。つまり、従来は関連性が低かったCortex-AシリーズとCortex-Rシリーズが、ARMv8-Rによってつながりを持つようになる」と説明する。
単なるリッチOSの動作だけでなく、ハイパーバイザを用いれば、リアルタイムOSとリッチOSの並行動作も可能になる。もし、リッチOS側の処理負荷が重くなったとしても、ハイパーバイザの割り込みによってリアルタイムOS側におけるリアルタイム性の確保を優先する仕様となっている。
さらにARMv8-Rでは、リッチOSのリアルタイム動作も可能になる見込みだ。これは、ハイパーバイザに組み込んだリアルタイムOSをプロセッサ上で動作させながら、その上層にリッチOSを実装するなどして実現する。この場合、基本的な処理はリッチOS側で行うが、リアルタイム性が必要になる処理についてはハイパーバイザに組み込んだリアルタイムOSが高い応答性で対応することになる。Turner氏は、「組み込みLinuxを用いるような高機能な車載システムにもリアルタイム性が求められるようになる可能性は高い。ARMv8-Rは、Green Hills Software、Mentor Graphics、イーソルなどのOSベンダーをリーディングパートナーとして、ハイパーバイザや、リッチOSのリアルタイム動作が可能なソリューションを投入して行く予定だ」と述べている。
なお、ARMv8-Rは、ARMv8-Aとは異なり64ビットのメモリ空間をサポートしていない。ARMv7アーキテクチャベースのCortex-Rシリーズと同様に、32ビットの命令セット「A32」とサブ命令セット「T32」に対応している。これは、「リアルタイム性が求められる用途では、メモリ容量は4Gバイト以下で十分」(Turner氏)という判断によるものだ。
Copyright © ITmedia, Inc. All Rights Reserved.