具体的な内部構造に関しては(先のPCI-SIGのレポート同様に)未公開なので、これをどうインプリメントするかといった話はもう少し先にならないと出てきそうにない。Geneseoの正式Specは、当然ながらPCI Express Protocol Extensionsと足並みを揃えて出る事になるだろうし、となるとGen3がリリースされる2009年以降ということになりそうだ。別にレポートするが、Gen3の道のりはまだちょっと長そうで、これが早まる可能性は今のところない。先行してProtocol Extensionだけリリースされる可能性も(上のYanes氏の発言を聞く限り)なさそうだ。
もっともDevice側のインプリメントは先行して行われるだろう。ただ、そのためのBuilding Blockの幾ばくかはIntelなどから供給される可能性は薄い。もう一度Photo04に戻るが、Physical/Link Layerに関してはGen3のBase対応とPower State対応のみであり、GeneseoをGeneseoたらしめる肝心の部分はProtocol、つまりTransaction Layerに集約される。Gen3に対応したPIPE I/Fが出てくるかはまだ未公開だが、出てくるとするとこの部分、つまりPower Managementに必要な制御ラインを追加した形で公開され、これがProtocolLayerとLink Layerを繋ぐI/Fとして公開される事になるだろう。で、ここから下は8GHzで動くPHYを作れるベンダーに一任される形だから、そもそもIntelからは何も出ないだろう。
問題はTransaction Layerの部分である。FSB-FPGAにおけるIPコアの様に、Intel自身は当然このためのIPは自前で持っているだろう。PCI Expressに対応したチップセットは既に4世代目がリリースされており、ノウハウも十分に蓄積されていると思われる。ただ問題はFSB-FPGAはOpen Standard「ではない」事だ。対応するFPGAを買えばロイヤリティフリーで利用できるが、これはあくまで利用権であってProtocolそのものが公開されているわけではない。対してGeneseoはPCI Express Protocol Extensionとして標準化されたOpen Standardであり、こうした部分に従来Intelが直接IPコアを提供した事はない。もっとうがった見方をすると、Intelは基本的に自社製造をベースとしており、様々なファウンダリで利用できるSoft Coreを提供できるかどうかはちょっと疑問である(*2)。そんなわけで、Geneseo対応のDevice用コントローラ(の最低でもTransaction Layer以上)は各ベンダーが自前で用意する必要があるわけで、PCI Express Gen3のデバイスそのものよりも立ち上がりは遅れそうだ。
ところでS/W Developerからこれをどう扱うか、という問題はQuickAssistの話ではあるが、そのScopeの一端が示された(Photo12,13)。要するに従来だとAcceleratorはDevice Driverの先にあり、あくまでもI/Oを行う形でProgrammingしないといけなかった。これを、シームレスに扱おうというのがQuickAssistの"look 'n feel"のコンセプトである。CPU CoreとAcceleratorが仮想的に同列の扱いとなり、メモリ空間まで共有できるというものだ。そのための手法が、次に説明するExoskeletonである。
Photo12:まぁこれはコンサバティブな構図である。最大の問題はOSから見るとCPU CoreとAcceleratorが別のものとして扱われることだ。従って当然扱いが変わるわけである。 |
Photo13:QuickAssistは、OSの下のレイヤでこの問題を解決することを目指している。 |
(*2) 不可能ではないだろう。現に965世代までIntelはTSMCを使ってチップセットを製造しており、これを使うことで少なくともTSMCでは動くIPコアを提供することは可能と思われる。