セミコンポータル
半導体・FPD・液晶・製造装置・材料・設計のポータルサイト

ARM、複数OSの仮想化技術を搭載するv8-Rアーキテクチャを発表

リアルタイム動作を可能とするCPUコアの最新版Cortex-Rシリーズに向けたARMv8-RアーキテクチャをARM社が発表した。これは、32ビットをベースとし、リアルタイムOSで動くARMv8-Rプロセッサに使われる技術である。プロセッサIPについては発表していないが、このアーキテクチャは仮想化技術を使う。

Christopher Terner氏(右)と、リードアーキテクトのSimon Craske氏(左)

図1 ARMv8-Rプロセッサ部門のシニア製品マーケティングマネジャーのChristopher Terner氏(右)と、リードアーキテクトのSimon Craske氏(左)


Cortex-Rシリーズは発表されて久しいが、これまではあまり知られていなかった。そもそもリアルタイムOSで動作させるという応用そのものが工業用と自動車向けくらいしかあまりなかったためだ。Cortex-Rシリーズは2012年実績でARM全体のチップ出荷量の3%にとどまっている。

ところが、最近になってリアルタイム動作を必要とする組み込みシステムへの要望が高まってきたと、ARMプロセッサ部門のシニア製品マーケティングマネジャーのChristopher Turner氏(図1の右)は言う。サイクル時間はµs以内が求められる用途として、自動車のブレーキやステアリング動作、エンジン内の温度を含めた最適制御などが必要になる。車内のECU同士の通信や、安全システムADAS(Advanced Driver Assistance System)、さらにはADASとエンジンとのやり取りなど、リアルタイム動作が必要とされている。

今回ARMが発表したv8Rアーキテクチャは仮想化技術(virtualization)を基本としており、リアルタイムでの動作、割り込み処理にもスムーズに対応できる、安全に主眼を置いたアーキテクチャとなっている。

仮想化とは、1台のコンピュータで、あたかも二つ以上のCPUとOSが動いているように見せかける技術のこと。一つのプロセッサでWindowsとAndroid上で、二つのプロセッサが動作しているかのように見せる技術だ。サーバやハイエンドコンピュータではこれまでも仮想化技術は使われてきた。OSとして一つがRTOS(リアルタイムOS)、もう一つが通常のOSでもかまわない。

仮想化技術を採用した背景として、特にクルマ用途では、低コストでいろいろなソフトウエアを1台のECUに組み合わせて載せる傾向がある。コストを節約するためだ。また、自動車メーカーやティア1メーカーは、それぞれソフトウエアを組む場合もあるため、さまざまなソフトウエアが1個のECUに集まる傾向が強まってくる。

そこで、ARMv8-Rでは、同じプロセッサの上で複数のソフトウエアを走らせることができ、それも同じプロセッサ上で異なるOSも載せられるようにした(図2)。このためにソフトウエアタスクのコンテキストを高速に切り替えられると共にリアルタイム応答性を改善した。もう一つ重要な点は、それぞれのソフトウエアを間違いなく動作できるようにするため、ソフトウエア間にサンドバッグと呼ぶバッファ領域を設け、ソフトウエア間の干渉を防いでいる。


図2 仮想化技術を採用したARMv8-Rアーキテクチャ 出典:ARM

図2 仮想化技術を採用したARMv8-Rアーキテクチャ 出典:ARM


実はこの構造をARMv8Aシリーズの64ビットプロセッサ(Cortex-A53やCortex-A57)に最初、適用してきた。これら演算能力の高いハイエンドのプロセッサではなく、今回は自動車向けや工業用途、HDD制御などの用途に向けて、この仮想化構造を採った。ただしバス幅は64ビットも必要はない上にメモリ空間は4GBも必要としないため32ビットバスを利用した。ARMv8-Rはv8Aシリーズと命令セットの互換性を持ち(64ビット命令を圧縮)デザインコンパイラやデバッガーなどのツールとも互換性を持ち、ARMv7-Rシリーズとも下位互換性を持つ。

ARMv8-Rアーキテクチャの特長は、仮想化を実現するためにハイパーバイザを設け、ここでOSとその上のタスクを制御する。OS間を切り合える時、各OSのコンテキスト(前後関係、脈絡という意味)はメモリに保存される。

もう一つの特長(図3)は、各タスクとOSが完全に分離されていること。プロセッサのハードウエア内に設けたメモリ保護ユニット(MPU)がメモリや周辺回路へのソフトウエアのアクセスを調整する。割り込みコントローラのようなシステムリソースへのアクセスもしっかり管理されている。ハイパーバイザはどの仮想マシンを使うのかを記録しておき、各OS間の分離サンドボックスを用意している。このMPUはプロセッサ内に設けたロジックゲートである。また、コンテキストの切り替えは2~3µsと、従来のv7アーキテクチャよりも10倍以上高速だという。


図3 ロジックゲートで組んだメモリ保護ユニットでメモリアクセスを調整 出典:ARM

図3 ロジックゲートで組んだメモリ保護ユニットでメモリアクセスを調整 出典:ARM


今後、限られたコストでさまざまなソフトウエアを動かさなければならない自動車エレクトロニクスでは、仮想化技術が必須になり、リアルタイムOSと共にハイパーバイザの役割が極めて重要なカギを握るようになる。すでにGreen Hillsやイーソル、Mentor Graphics(参考資料1)などはハイパーバイザ機能を提供しているが、この先2020年ごろにはさらに多くのソフトウエアベンダーが手掛けるようになると、Turner氏は予想する。

参考資料
1. 組み込みシステムになびくAMD/IPextreme/Mentor〜EuroAsia 2013から(2) (2013/11/06)

(2013/11/13)

月別アーカイブ