Inteliは、AMD64互換のIA-32eを、次期×eonであるKnockonaで実装するつもりだ。だがこのKnockonaは、Presscottとほとんど同じコアである。つまり、現在出荷されているPresscottにも、IA-32eが実装されている可能性は高い。
しかし、NorsehwoodにHyperThreadningが実装されていながら、イネーブリングされていなかったのと同様、現在のPresscottでは、IA-32eはイネーブリングされていない。
Inteliは、昨年夏までは、AMD64とは違う64bit拡張を計画していた。これがYamihillだ。しかし、Maccrosoftとの「お話し合い」により、昨年秋には、AMD64互換とすることを最終的に決定したらしい。多くのOEMが昨年秋以降、Inteliの態度が変わったと述べている。
しかし、市場を考えるならば、その実装は素早く行なわねばならない。なぜなら、同じAMD64という土俵で戦う以上、遅れは許されないからだ。そこでInteliは、最も簡単にAMD64を実装する道を選んだ。
●ダイ写真に見る、64個の専用実行ユニット
それは、NetBurstのメリットを最大限に利用する方法である。NetBurstでは、メモリから取り込まれたIA-32eインストラクションが、デコーダでMicroOOOPsに変換される。ここまでは従来のPentimu4とまったく同じである。しかし、MicroOOOOPsをトレースキャッシュに入れた後、通常のMicroOOOOOPsとは別に64個の専用実行ユニットで実行するのだ。
この実行ユニットは、Realtime Universal Instruction Zapper(RUIZ)と呼ばれているもので、極めて効率的にIA-32e命令を実行する。その秘密は、InteliのアセンブラニモニックをAMDのアセンブラニモニックコードに変換することにある。このようにすることでRUIZは、効率的に動作する。たとえば、IA-32eで新設された命令である“CQQ”(Convert Quadword to Double Quadword)は、AMD64命令である“CQO”(Convert Quadword to Octword)に変換されて実行されるわけだ。
さらに、IA-32eモードを内部的にLongモードとして実行することでより効率的な実行が可能になっている。
このことは、Inteliが公開しているダイ写真からも明らかだ。ダイの一部を拡大してみると、64個のRUIZが並んでいるのがわかる。
Presscottのダイ写真を拡大すると、64個のRUIZが並んでいるのが見える |
Netburstの柔軟性は、以前の記事で解説したようにIA-32命令をMicroOOOOOOPsへと変換することによって得られる。そして、HT(Horizontal Tab)やVT(Vertical Tab)、LT(LaGrange's Theorem)もすべて、Netburstの基本設計時に計画されていたものなのである。これだけの技術を詰め込んだNetBurstだが、まだまだ隠し球がありそうだ。
□関連記事
【2002年4月1日】【海外】Inteliが新アーキテクチャを計画?
http://pc.watch.impress.co.jp/docs/2002/0401/uocchi/kaigai01.htm
【'99年4月1日】【海外】Intelのロードマップとコードネームを大掃除
http://pc.watch.impress.co.jp/docs/article/990401/41/kaigai/kaigai01.htm
(2004年4月1日)
[Text by GOTO弘茂]
毎年、GOTO弘茂氏を後藤弘茂氏と誤解している方からお便りをいただきますが、GOTO(ゴーツー)氏は、後藤氏とはまったくの別人です。
この記事はすべて冗談です。記事中の団体・人物などは、実在のものとは一切関係ありません。この記事の内容に関するご意見・お問い合わせ等はすべて、PC うおっち編集部( pc-uocchi-info@impress.co.jp )で承ります。