検索
連載

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

IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第7回は、IntelのIoT戦略から生まれたRTOS「Zephyr」を取り上げる。

Share
Tweet
LINE
Hatena

「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.

ページトップに戻る