6月25~28日(米国時間)に米国フロリダ州オーランドにて開催された米Freescale Semiconductor(以下、Freescale)のプライベートショーである「Freescale Technology Forum Americas 2007」(以下、FTF)においては、PowerPCについての発表もあった。

昨年のFTFからの進展としては、

  • PowerISA 2.04の公開
  • e200コアの新製品を発表
  • e200コアのIPの販売を開始

などが挙げられる。本稿では、これらの項目についてレポートしていく。

PowerISA 2.04/2.05についての発表 - 仮想化機能は2.06から

昨年のFTFで発表されたロードマップでは、バージョン2.03に続き新バージョンの開発を行っていることが明らかにされている。今年3月には新しいPower ISA 2.04が公開されるとともに、さらにPower ISA 2.05の開発が進んでおり、またこれに引き続きPower ISA 2.06を開発していることが正式に発表された(図1)。

すでにバージョン2.04は公開されているが(図2)、その主要な相違点は、

  • New Server Page Protection States:PTE(Page Table Entry)に、"state of the page protection bit"が追加された
  • Server Virtualized Partition Memory:メモリのPartitioning機能が追加された
  • Server Virtual Page Class Key Protection:PTEのKeyフィールドと、それに連動する形でKey操作関連機能が追加された
  • Server Time Base Facility - TBU40:40bitのTime Base Synchronization機能が追加された

といった程度となっている。

いずれもサーバ向けの機能追加となっており、あまり組み込み向けには関係ない要件である。面白いのは「Virtualized」という言葉はあっても、仮想化(Virtualization)そのものはまだ実装されていないという点だ。バージョン2.05でもこの状況は同じようで、仮想化機能が実装されるのは2008年以降に発表が予定されるバージョン2.06ということになっている(図3)。

図1 2007年中に2.05 Specificationも公開されるらしい。時期的な話はなかったが、おそらく年末であろう

図2 Specificationはこの図に示されたURLから無償で入手できる。ただし、差分はごく僅かである

図3 バージョン2.05についての説明は相変わらず皆無だった

筆者が考えるに、バージョン2.06でいきなりすべての仮想化関連機能を実装するのではなく、あらかじめ仮想化に関係する部分について、早いタイミングでSpecificationを定められる部分をバージョン2.04/2.05でリリースすることで、スムーズに仮想化技術に移行できるようにしよう、という配慮がここにはあるのだろう。

幸いというべきか、現時点でPowerPCをベースとしたサーバシステムを作っている主要なベンダはIBMだけだし、バージョン2.04/2.05の追加項目そのものもIBMからの意向が強いだろうから、こうした段階的なリリースであってもそれで困るというベンダはないと想像される。仮想化を使ったパーティション分割そのものは、組み込みに無縁とはいえないものの、現時点でのニーズはほとんどないので、バージョン2.04/2.05のSpecificationで要件が追加されたからといって別に困ることはないだろう。

ただ、こんなに早いタイミングでVersion 2.04/2.05が別々に出ることにどれほどの意味があるのか、疑問に感じる。Power ISAは言うまでもなく、プロセッサアーキテクチャのSpecificationなのであり、Specificationが公開されるというのは、当然これに基づいてプロセッサの設計が行われることを想定しているはずだ。

プロセッサの設計は、一般的に数年単位の開発期間が必要となる。勿論バージョン2.03から2.04とか、おそらくバージョン2.04から2.05へのアップデートもそれほど大きな変更はないから、既存のコアに若干のカスタマイズを施す程度で対応できるのかもしれない。しかし、それでも数ヶ月で対応できるというレベルではない。どう考えてもバージョン2.04がリリースされてからコアの設計を始めていたら、製品を出荷する前にバージョン2.05をリリースすることになる。これはあまりに馬鹿馬鹿しい。

こう考えると、すでにバージョン2.04/2.05のSpecificationを満たすコアをIBMが設計していると考えるのが妥当であろう。これは既存のPower ISA 2.03をベースに仮想化機能の拡張をIBMが独自に施しており、この独自拡張の分をバージョン2.04/2.05という形で後から標準化しているという話だ。もちろん標準化の過程で実装が多少異なる部分が出てくる可能性もあり、そのぶん設計の手戻りは発生するかもしれない。しかしそれでも、これが最短期間で仮想化機能を搭載するPower ISAに準拠した新しいプロセッサコアを開発する方法だろう。

しかしながら昨年のインタビューの中でFreescaleも仮想化に関して色気を見せていたところを見ると、実際にはIBMとFreescaleの両方がここに関わっている可能性は否定できない。しかしながら、IBMは仮想化に関して、System/370から続くかなりの技術と経験を持っていることを考えると、基本的なアーキテクチャに関してはIBM主導なのではないかと想像される。