【MPF 2002 レポート】第6のx86ベンダー「MemoryLogix」現る

 
Photo01:MemoryLogixの創業者で、CEOでもあるPeter Song氏。

昔からx86マーケットには、多くのベンダーが存在した。無条件に数え上げてゆけば、TIやUMCすら486互換チップを製造しているほどで、合計は20社ではきかないと思われる(80186/286互換のプロセッサを販売しているベンダーは、未だに結構ある)。ただ、こと586というかPentium以上のクラスとなると、現存するのはIntel、AMD、VIA、Transmeta、RiSE(とここからコアを供給されているSiS、STMicroelectronics)の5社ということになる。National SemiconductorのGeode GX2は微妙なところだが、とりあえず今回は考えない事にする。

ただRiSEやTransmetaの現状、あるいはVIAに買収されたCyrixの運命を考えた場合、これ以上x86のベンダーは登場しないだろうと一般には考えられていた。ところが今回、まったく新しい第6のベンダーが登場した。

○携帯機器にフォーカスしたx86のIPコア

MemoryLogixはPeter Song氏(Photo01)が創業した、ファブレスのベンチャー企業である。そのSong氏はまず、現在市場に出ているx86向けのプロセッサコアが、いずれもかなり大きい事を取り上げて批判した。Photo02は主要なモバイル向けプロセッサのダイ面積を比較したものだが、ARM10プロセッサと比べて10倍以上のダイ面積になっているとしている。その主要な理由は、基本的にx86プロセッサがピーク性能を高めるために大容量のマルチレベルキャッシュや大きなTLBを装備し、スーパースケーラや投機実行といった仕組みを備え、分岐予測機能やトレースキャッシュなどを搭載し、なにより、ロジックを構成するトランジスタ自体も高速化のために大型のものを利用しているためとしている。またFPUやMMX/SSEといった演算器やマルチプロセッサ、SMM、マシンチェックなどの機能、Pentium Pro以降で装備される100以上の独自レジスタ、可変長の命令デコード、セグメンテーションなどはARM10には無いもので、こうしたものがダイサイズを大きくする原因となっていると分析している。

この分析を元に、同社の「MLX1」は携帯機器向けx86プロセッサコアとしてデザインされたプロセッサだ。主要な特徴は
・通信、エンターテイメント、コンピューティングのいずれの用途にも適するバランス
・高い性能/消費電力比
・低価格

であり、これを実現するための設計目標として
・SoCやASICなどで組み込みが容易な回路構成とする。
・FPUおよびMMXをサポートする
・通常の1ポートSRAMセルを利用してのキャッシュやTLBをサポートする
・同一プロセスルールのARM10コアと比較して2.5倍(つまり他のx86プロセッサコアの4分の1以下)のサイズに収める。

が挙げられている(Photo03)。

Photo02:なぜARM10?という話もあるのだが、要するに携帯情報機器(除ノートPC)の大半がARM10で賄える、ということと、ARMプロセッサコアがSoft IPとして提供されていることから、これを基準としたようだ。
Photo03:コアの構成の自由度、という意味ではARMよりもMIPSの方が近い気がする。

何でx86コアにこだわるのか? という気もしなくもないが、Song氏によればモバイルマーケットにおいても、サードベンダーのアプリケーションが最も多いのはx86だからだという。こうしたマーケットに対し、これまでRiSEやTransmeta、STMicroelectronicsやNSが挑んでいるが、いずれのメーカーもチップを供給する形でのビジネスモデルを考えていた。これに対しMemoryLogixではプロセッサコアをIP供給する形での提供を考えている。具体的なチップは、IP供給を受けたクライアントが構築してそれをマーケットに投入するという、まさしくARMやMIPSのビジネスモデルである。

○MLX1のアーキテクチャ

さて、設計目標が決まったところで、どういうアーキテクチャでこれを解決するかである。まず同社は膨大な量のx86のプログラムを分析し、実際に実行される命令の大半は比較的RISCに近い命令であることを発見したとしており、従ってそれほど複雑な構造としなくても、それなりの性能が確保できると判断した(Photo04)。この分析を元に、MLX1は
・RISCスカラーパイプラインで構築する
・煩雑に使われるx86命令とJAVAに最適化する
・その他の命令はマイクロコードで処理する
・キューイングの際のパイプラインストールを排除する
・L1キャッシュに3クロックでアクセスできる仕組みにする。
・SMT(同時マルチスレッド)を搭載し、このスレッド間でレジスタファイルとキャッシュを共有する

といった構成を取る。Photo05はMLX1の内部ブロック図だが、見て判るとおりx86としては非常にシンプルな構成となっている。MLX1は、演算ユニットは最小限に抑えてフル稼働させることを想定し、SMTを搭載したり命令フェッチや分岐ユニットを充実させて、演算ユニットが無駄に休まないように仕向けるという構成である。この結果、例えばフェッチユニットは、Pentium 4やAthlon XPなどと比較しても遜色ない(Photo06)し、デコードもなかなか巧みである(Photo07)。

Photo04:会場では、「何でWin95なんだ?」という突っ込みも入っていたが、極端な事をいえばこれからマーケットを開拓していくだけに、どんなプラットフォームを分析しても完全には一致しない気がする。とはいえ、新しいプログラム(=新しいバージョンのコンパイラで作られたプログラム)ほどRISC風のコーディングになっているというのが確かめられたのは有意義だろう。
Photo05:「x86風RISC」という呼び方がなかなか面白い。命令フェッチや完了(completion)ユニットは複数用意されているが、肝心の実行部分はあくまで1つである。

また、Baniasでも出てきた話だが、ポインタなどに関するスタック操作はかなり処理負荷が高まるので、これを巧妙な方法で回避することでスタック操作のペナルティを軽減している(Photo08)。実行ユニットについての説明は今回は無かったが、あくまでRISCのスケーラエンジンだから、それほど凝った事はしていないだろう。おそらくARM10並みの、1.3MIPS/MHz程度に収まると想像される。

Photo06:命令の配置順に3ブロック(24バイト)と、ターゲットパスのために2ブロック(16バイト)の合計40バイトを同時にホールドできる様になっている。また、キャッシュ上のアドレスの位置を直前の128バイト分について保持するほか、今後の64バイト分についてもフェッチの段階で位置を特定する。
Photo07:デコーダは速度を重視する命令はロジックで、それ以外はROMから読み出して対応する。そのROMのサイズが明記されているあたりは、IPを念頭においている製品らしい。単なるスケーラだから、Pentium4のHTの様に複数のスレッドを文字通り同時に実行できる訳ではない。どういうタイミングでスレッドを切り替えるかと言うと、要するにちょっとでも実行ユニットが空きそうならすかさず切り替えると言う方式である。これはこれで、なかなか巧妙に思える。

Photo08:例えばスタックからデータをレジスタに戻し(POP)、その値を使って加算を行う(ADD)といった場合、これを素直に行うとL1キャッシュからスタックの値を読み出すために3クロックのペナルティが発生する。そこで、ADDについてはPOPの命令完了を待たずに続いて発行を行い、それが実行される段階でPOP操作の結果を実行ユニットに引き渡す工夫がなされている。これにより、3クロックのレイテンシが遮蔽されることになり、無駄に実行ユニットが待機する危険性を避けられるというわけだ。

○誰が使うのか?

今回の発表はまだ具体的にコアを作ったとか、IPとして特定のFabに登録したとか、そういう話ではない。一応目安として、130nmプロセスを使って400MHz駆動を想定した場合、x86命令コアに3.5平方ミリメートル、MMXに1.0平方ミリメートル、FPUに1.5平方ミリメートルで、合計6.0平方ミリメートルで収まるとしている(Photo09)。これが大きいか小さいかは微妙なところだが、一例を挙げるとARMのARM1022E(ハードコアで提供)の場合、同じ130nmプロセスで6.9平方ミリメートルとなっている。ただARM1022Eの場合は32KB+32KBのキャッシュを装備しているから、同じ容量のキャッシュを持つとMLX1のサイズはもう少し大きくなるだろう。

Photo09:Mobile Xboxというコンセプトはなかなか面白いと思う。ただ、そこでXbox並に高負荷のPCゲームをやらせるとなると、どう考えてもパフォーマンス不足である。ゲームボーイ並みの性能でよければ容易だとは思うが....

また、原理的にはもっと大量のキャッシュがないと、いくらマルチスレッドだからといってもメモリからの読み出し待ちが大量に発生してしまいそうだ。最低でも命令/データ共に64KB程度のL1キャッシュは欲しいところで、そうなるとやはりARM10よりはだいぶ大きくなりそうだ。

問題は、ではこのコアを誰が使うのかである。同社はモバイル向けの用途をいろいろ紹介している。が、現在x86をターゲットとしたモバイル向けアプリケーションは、結果としてノートブックがターゲットであるという大前提がある。ということは、最低でもTransmetaのTM5600/5800クラスのパフォーマンスを持っており、どうかするとGHzクラスのプロセッサが搭載されているから、当然アプリケーションはこのパフォーマンスをあてにしていると言える。こうしたアプリケーションをMLX1クラスのプロセッサで本当に実行できるのか、というのが素朴な疑問を筆者は感じた。

それよりパフォーマンスが低い(が省電力)のマーケットはARM/StrongARM/XScale/MIPS32といったプロセッサが大半を占めており、x86のアプリケーションはむしろ少ないように思える。このあたりの折り合いをつけることができるかが、MLX1が離陸できるかどうかを決めることになりそうだ。

(大原雄介)

【NewsSpecial】MPF 2002 レポート
http://pcweb.mycom.co.jp/news/special/2002/10/16/02.html



転職ノウハウ

あなたが本領発揮できる仕事を診断
あなたの仕事適性診断

シゴト性格・弱点が20の質問でサクッと分かる!

「仕事辞めたい……」その理由は?
「仕事辞めたい……」その理由は?

71%の人が仕事を辞めたいと思った経験あり。その理由と対処法は?

3年後の年収どうなる? 年収予報
3年後の年収どうなる? 年収予報

今の年収は適正? 3年後は? あなたの年収をデータに基づき予報します。

激務な職場を辞めたいが、美女が邪魔して辞められない
激務な職場を辞めたいが、美女が邪魔して辞められない

美人上司と可愛い過ぎる後輩に挟まれるエンジニアの悩み

人気記事

一覧

イチオシ記事

新着記事

[実力試し]HTML5 認定試験 Lv1 想定問題 (8) 指定可能な属性
[08:30 8/30] 企業IT
[ガラスの仮面]3Dギャグアニメ化 現代社会を風刺する学園ドラマに大胆アレンジ
[08:00 8/30] ホビー
DEEPCOOL、水冷ユニットを標準搭載するミドルタワーPCケース「GENOME」
[08:00 8/30] パソコン
声優・竹達彩奈、ワイン×料理研究家・大橋みちことともに宅バル動画に登場
[08:00 8/30] ホビー
キャリアのiPhoneをApple 表参道で買いたくなる理由 - 知られざるサービスがすごかった
[08:00 8/30] スマホとデジタル家電

求人情報