インテルのIoT戦略から生まれたRTOS「Zephyr」は徒花で終わらないリアルタイムOS列伝(7)(2/3 ページ)

» 2020年11月05日 11時00分 公開
[大原雄介MONOist]

「Intel Atom x6000E」で重要な役割を果たす

 さて、冒頭の話に戻ろう。なぜZephyrの名前を思い出したのか? というと、Intelが2020年9月に発表した「Intel Atom x6000E」で、このZephyrが利用されていたためだ。こちらの記事では、リアルタイム性について「Intel TCC(Time Coordinated Computing)」の導入について触れられているが、これとは別に「最悪応答時間を保証した処理」が可能とある(図3)。普通に考えると、Linuxのような仮想記憶を利用したOSが動いている時点で、これはかなり難易度が高いのがお分かりいただけるかと思う。

図3 図3 「Intel Atom x6000E」の機能。赤枠は筆者が追加。これは「Intel Industrial Summit 2020」での発表内容だが、Intelとしても「Cortex-M7」を搭載しているとは公表したくなかったのか、あまりこれには深く触れていない(クリックで拡大) 出典:Intel

 だからといって、AtomコアがZephyrで動いている、というわけではない。この最悪応答時間を保証した処理を行うのはAtomコアではなく、PCH(つまりチップセット側)に内蔵されたPSE(Programmable Services Engine)というユニットが実施するのだが、このPSEの中身については以下のように説明されている。

The Intel Programmable Services Engine (Intel PSE) is a dedicated offload engine for IoT functions powered by an ARM Cortex-M7 microcontroller. It provides independent, low-DMIPS computing and low-speed I/Os for IoT applications, plus dedicated services for real-time computing and time-sensitive synchronization.(Atom x6000EのProduct Briefより)

 要するに、リアルタイム処理については、Atomコアの処理から独立したArmの「Cortex-M7」で行うことで最悪応答時間が保証される、というわけだ。ちなみに上にも書いたように、PSEそのものはPCH側に内蔵されているから、Atomのメインメモリにアクセスは行わず、PSE内のCortex-M7コアと一緒に搭載されるSRAMを利用して稼働することになる。

 さてそうなると、そんじゃこのPSEはどういうソフトウェア環境で動くの? という話になる。やはり先に挙げたProducts Briefから抜粋するとこんな感じ(図4)。「何でZephyr?」という話であるが、実装がIntelということは、要するにまだIntel社内にはZephyrを扱える人間が存在した(逆に言えば、他のRTOSを扱える人間がいない?)ということだと「この時は」思った。

図4 図4 ちなみにIntelからは「Intel PSE using Zephyr SDK」も提供されるもよう。これを利用して、既存のArm向けアプリケーションの移植などもできるらしい(クリックで拡大) 出典:Intel

Copyright © ITmedia, Inc. All Rights Reserved.