IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第44回は、MCUとDSPのデュアルモードに対応した先進的RTOS「RTXC Quadros」について紹介する。
今回ご紹介するのは「RTXC Quadros」である。こちらは1978年から開発が行われている、むちゃくちゃ歴史の長いリアルタイムOS(RTOS)(そして一応今も販売されているはずなのだが……)、ここ10年ほどはアクティブな活動をしていないのがちょっと気になるところだ(図1)。
RTXC Quadrosの開発者はTom Barrett氏である。試しにITmediaで調べたら2001年9月5日付のこんな記事が出て来た。この時にはLineoのマーケティングマネジャーというポジションだったが、所属企業がコロコロ変わるのもこの業界にはよくある話である。
もともとはBarrett氏が1978年にAT Barrett & Associatesという会社……なのか個人経営でそういう屋号を名乗っていたのかももはや確認できないのだが「そこでCOTS(Commercial Off-the-shelf:商用オフザシェルフ)のEmbedded System向けOSの開発を始めた」と、Barrett氏がわざわざ書いているところを見ると、このAT Barrett & Associatesでは軍関係のシステムをビジネスとして手掛けており、ただそれとは別にCOTSというか民生向けシステムにも手を伸ばしたというあたりだろうか。1978年というと、まだCOTSの動きはそれほど活発ではなかったとは思うのだが、あるいは先を読んで保険を掛けていたのかもしれない。1985年にはこのEmbedded System向けのOSとして、最初のRTXC のリアルタイムカーネルが完成している。
さて、その後Barrett氏はESP(Embedded System Products)という会社を設立しており、RTXCもこのESPで扱うことになった。そのESPは1998年に、Beacon Development Toolsという会社と合併し、Embedded Powerという社名になった。そのEmbedded PowerをLineoが2001年に買収した結果、先の記事のようにBarrett氏がLineoでマーケティングマネジャーを務めることになったわけだ。しかし、Barrett氏は2002年5月にはQuadros Systemsを設立し、RTXCのリアルタイムカーネルのビジネスをLineoから丸ごと買収した。この時期にLineoは事実上空中分解してしまったので、それに巻き込まれずに何とか退避できたという感じだ。
そのQuadros Systemから提供されてきたのが、今回ご紹介するRTXC Quadrosである。RTXC Quadrosは基本的にMCU向けのRTOSだが、その前身であるRTXCはMCU/DSP向けの“Dual roll RTOS”だった。まずはここから話を始めたい。
今でこそMCUにDSP的な機能を追加する、という構成はごく一般的になった。Cortex-M4にはDSP Functionと呼ばれるものがあるし、Arm v8以降では「Helium」と呼ばれるSIMDエンジンがかなりDSP的な特徴を持つようになっている。そうでなくてもMCUの処理性能そのものが高いから、昔はDSPで処理していたものが今はMCUで処理可能になった、なんてケースも珍しくない。もちろん、DSPのニーズがなくなったわけではなく、より高い処理能力を持つ用途にシフトした形になる。
それはともかくとして、最近ではもはや考えにくいのだが、かつてはMCUとDSPのデュアルモードで動作するコアが存在した。代表例がAnalog Devicesの「Blackfin」で、10段のパイプラインを持つRISC MCUとDSPのConverged Processorとして扱われていた。Blackfinは比較的最近(2001年発表)の製品だが、同じくコアの中に通常のCPUパイプラインとDSPパイプラインが別々に存在し、時としてこれらが分離した状態で動くなんていう変なプロセッサはちょこちょこ存在した。こういうプロセッサをうまく扱えるRTOSというのが意外に少ないというか、DSP用のRTOSはMCU用のRTOSと別に用意されることが多く、こうしたConverged Processorを扱えるものは少なかった。
Copyright © ITmedia, Inc. All Rights Reserved.