このページの本文へ

ロードマップでわかる!当世プロセッサー事情 第22回

x86 CPUの進化を拡張命令のロードマップでひもとく

2009年10月12日 12時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/)

  • この記事をはてなブックマークに追加
  • 本文印刷

セキュリティー対応拡張で浮き彫りになった
拡張命令普及の難しさ

 これ以外の拡張命令では、機能こそほとんど同等ながら、命令セットに互換性のない仮想化命令、「Intel VT」(Virtualization Technology)と「AMD-V」が登場している。

 また、「LaGrande」という開発コード名で呼ばれたセキュリティー対応拡張が、「Intel TXT」(Trusted eXecution Technology)としてリリースされたが、本来これはマイクロソフトの「Palladium」というコード名で知られた技術と対を成すものだった。Palladiumはその後「NGSCB」(Next Generation Secure Computing Base)としてWindows Vistaに全面的に採用されるはずだったが、最終的にはそのサブセットが、BitLockerドライブ暗号化として採用される程度で終わってしまう。

マイクロソフトのサイト上に残る「NGSCB」の情報

マイクロソフトのサイト上に残る「NGSCB」の情報。Vistaのコード名である「Longhorn」の名が残るなど、長らく更新されていないことがうかがえる

 こうなると、わざわざ拡張命令を使わなくても実用上不便はなく、結果としてAMDはTXTに対応する拡張命令を今のところリリースしていない。もっともインテルにしても、BitLockerしか対応アプリケーションがないのでは話にならず、このため自社で提供しているシステム管理プラットフォームである「vPro」を無理やりIntel TXT対応にして、なんとか存在価値を見出している状況である。ようするに、1社しか提供していない拡張命令は(その潜在能力がどうであれ)普及が難しい、ということを物語っているといえる。


実はVIAもやってる独自の拡張命令

 さて話を戻すと、拡張命令セットを定義・公開しているのはインテルとAMDのみである。ほかのCPUベンダーは、こうした新命令を開発するだけの体力がない、というのが正直なところだろう。

 しかし、実は台湾VIA(というかCentaur)も、こっそりと独自命令を定義・提供している。それは「AIS」(Alternate Instruction Set)というものである。インテルやAMDでは、Pentium/K5以降のプロセッサーはすべて、まずデコード段階で通常のx86命令を独自のRISC風内部命令(microOpなどと呼ばれる)に変換し、それを実行する形になっている。これはVIA・CentaurのC3/C7/CNも同じなのだが、「どうせデコード段階で変換するなら、最初から内部命令に近い命令を用意すればデコード処理が高速化できる」と考えた。そのためAISのフォーマットは、まるでx86と互換性がない。

 なぜこんな命令を用意したかというと、当初はデバッグ用途などを考えていたらしい。実際には、x86そのままよりもコード密度を上げられるとか、独自ハードウェア※1をこのAIS経由で使えるといったメリットがあるためだ。もっとも、このAISはVIAと機密保持契約を結ばないと詳細が開示されないので、MMXなどの拡張命令とはちょっと毛色が違っている。VIAとしても、これを一般の開発者に開示して、広く使ってもらうためのサポートをするほどの体力はないし、そこまでしてAISを広めたいという積極的な理由もないようだから、この程度でいいのだろう。

※1 例えばVIA C5P/C5Iの場合、内部に乱数発生器や暗号化アクセラレーターなどを搭載している、関連記事

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン