[an error occurred while processing the directive]

組込システム会議「ESC SV 2008」レポート

PC/104 Embedded Consortium、「PCI/104-Express」らを承認

会期:4月14日~18日(米国時間)

会場:米国サンノゼ McEnery Convention Center



 ESCレポートの1本目がESC本体と直接関係なくて恐縮であるが、まずはこちらから。ESCの基調講演終了後、PC/104 Embedded Consortiumはプレスカンファレンスを開催し、「PCI/104-Express」と「PCIe/104」の標準化が済んだことを公式にアナウンスした。

 まず「PC/104」ってなんぞや、という話から。複数の拡張カードを重ねる形でシステムを作る際に、広く利用されているのがPC/104という規格である(写真01)。この規格は'92年に業界のベンダー12社によって策定された。現在はPC/104 Embedded Consortiumによって仕様が管理されている。このPC/104や、これに続くPC/104-Plus、PCI-104、EBX、EPICといった規格はいずれもOpen Standardとされており、PC/104 Embedded ConsortiumのWebサイトから無償で入手可能だ。普通のPCではまずお目にかかることは無いだろうが、組み込み系のシステムでは割とよく利用されるものである。

 このPC/104に、PCIバスを組み合わせたのがPC/104-Plus、ISAバスを抜いてPCIバスのみを装備したのがPCI-104である。これは'97年に最初の仕様(Specification)が公開されたもので、多少リビジョンアップはされているものの未だに利用されている。こちらは当然従来のPC/104とも互換性がある(写真02)。ちなみにPCIバスの方は120ピンであるが、名前は互換性を取るためか、相変わらず104のままである。

【写真01】PC/104のSpecificationより。これは8bit/16bitのISAバスの場合である 【写真02】PC/104-PlusのSpecificationより。ISAバスは向かって右側、PCIバスは左側に位置する形。中央のPC/104-PlusにPCI-ISA Bus Bridgeが搭載されていれば、システム全体で通信できることになる

 さてこのPC/104の世界でも、流石に最近ではPCIバスでも帯域がちょっと足りなくなってきた。だからといってPCI-Xにしたところで、それほど画期的に帯域が増えるわけではないし、ピン数が明らかに足りない。また、PC/104は基本的にPCとの互換性を重視する(特にソフトウェア開発の互換性が非常に重んじられている。というか、伝統的にPC/104のボードは、PC用と構成的には変わらず、単にフォームファクターのみが異なるというケースが非常に多い)以上、PCI Expressに移行するのは(PCが既に移行してしまっている以上)必須である。こうしたこともあって、2007年にPCI Expressへの移行に関する検討作業が始まり、最終的に1年以上掛けて標準化案がまとまったそうだ(写真03)。それが今回発表された「PCI/104-Express」(とPCIe/104)である。

 PCI/104-Expressは、基本的に従来のPC/104と同じサイズで、積み重ねが可能で、かつソフトウェア的に(PCと)互換であることを目的とされている(写真04)。これを実現するのが、Lane Shiftingと呼ばれる方法だ(写真05)。そのLane Shiftingとは何かというと、要するに利用するレーンを次第にずらしてゆく、という方法だ(写真06)。たとえばStacking Upのケース(写真07)の場合。一番下にPCI Expressのコントローラがあり、その上に6枚のボードが搭載されている。さて、下から2枚目のボードが、x1レーンを1つ使うとする。この場合、レーンは必ず一番左に接続すると共に、残りの3本のx1レーンを1本分ずらして上につなぐようにする。下から3枚目のボードは、やはり一番左のx1レーンに接続されるが、これはコントローラから見れば2番目のレーンにあたるというわけだ。こんな具合に、「各ボードが利用するレーンの分だけ配線をシフトする」のがLane Shiftingという仕組みである。ちなみにStacking Downの場合(写真08)も同様だが、この場合は今度は右側からレーンを使ってゆくことになっている。

【写真03】2週間置きに会合というのも、なかなかな頻度である 【写真04】問題はStacking。Shared BusのISA/PCIはともかく、Point-to-PointのPCI-ExpressでどうやってStackingを実現するか、が肝である 【写真05】何がどう“Automatic”なのかはやや不明。詳しくは次で。ところで最大75倍高速というのは、x16レーンが1つとx1レーンが4つで合計20レーンとなるから、60+3.75×4=75という計算
【写真06】各ボードがShiftする/しないは設計段階で決めることになる。また、Stack up/downの選択も設計段階で決めるから、このあたりに"Automatic"の要素は皆無である。まぁ「挿せば(システム全体としては)勝手にShiftしてくれる」事を敢えて言えばAutomaticなのかもしれないが 【写真07】左側がx1レーン×4、右側はx8レーン(x4レーン×2)という構成の例。コントローラがx16であれば、x8レーン×2となる。純技術的には、たとえばこれをx4レーン×4とかにすることも可能なのだろうが、これに対応したコントローラが殆ど無いことから、敢えてサポートはしていないようだ。「もちろんPCI Expressスイッチを載せたボードを作ればそういう事も可能」だそうだが 【写真08】当たり前だが、コントローラを上下に配して、間をPCI Expressで繋ぐという方法は、そのままではうまくいかない。そういう接続そのものをPCI Expressがサポートしていないからだ。このあたりは複数のバスマスタボードを平気でStackingできる従来のPC/104系に比べるとちょっとトポロジー的に制限がある部分だ

 さてこうなると、問題はStacking Upで使うかStacking Downで使うかで、どちらのLaneを使うか(つまり下側の左端から取るか、上側の右端で取るか)は設計段階で決まってしまうことになる。これに関しては「もし両方(Stacking Up/Down)で使えるボードを作りたい場合、PCIe Switchか、単なるSignal Switchでもいいが、そうしたもので切り替える必要がある」との事だった。

 さてそのPCI/104-Express、面白いのはPCI Expressの+3.3V/+12Vに加え、+5Vとか+5V SB(StandBy)も用意されること。またPCI Express x16レーンは、必要ならSDVI I/Fにも構成し直せる(写真09)。+5V/+5ASBが必要な理由は、PCI Expressそのものではなく、システム全体への電源供給を考えての事だ(写真10)。このあたりは、ATX12V電源をそのまま繋いで、PCI Expressコネクタ経由で供給することを想定しているようだ。

 コネクタそのものは、今回新規に作成したもので、機械的にはPCI Expressコネクタとはまったく互換性はない(写真11)。ピン数は156にも及ぶ。ちなみにこのコネクタの設計データはロイヤリティフリーなので、誰でも互換製品を作れるとの事。現在のサンプル価格はTopとBottomのセットで26ドルほどだが、今後サードパーティー品が出てきたらもっと価格は下がるだろう、との事だった。

【写真09】ボード写真で奥側がPCIコネクタ、手前側がPCI Expressのコネクタとなる 【写真10】ボード1枚でこんなに大量の消費電力が必要となるケースはそう多くないだろうが、6枚とか7枚をStackingすると、1枚あたり30Wかそこらしか供給できない計算となり、これでも不足するかもしれない。実際、「これで足りなければあとは個別にボードに電源入力を設ければすむ」という話が 【写真11】高さの0.600inchというのは、これまでのPC/104やPC/104-Plusと同じもの。Topが雌、Bottomが雄となる

 PCI/104-Expressの場合、最大6枚までボードを重ねられるから、最大では7段構造になるわけだが(写真12)、この場合でもData Eyeは問題なく確保できる、としていた(写真13)。ちなみにこれはあくまでもGen1の話。Gen2に関してはまだ仕様で規定していないが、一応それに対応できるだけの性能はある「筈」との事(Gen2に関しては、現状ではまだ3段まででしか試してない)だった。

【写真12】7段構造のサンプル。これは全ボードはスルーとなっており、一番上と下で波形を測定できるようになっている 【写真13】測定結果。必要なEye Width/Heightはきちんと確保できた、としている

 ところで先ほどから「PCIe/104」という名称が出てきているが、これを整理したのがこちら(写真14)。PCIとPCI Expressの両方を持つボードがPCI/104-Expressという名前になり、PCI ExpressのみのボードはPCIe/104と称される。もっともPCI/104-ExpressとPCIe/104の違いは純粋にPCIを持つか否か、なので本質的には差が無いわけであるが。実際の利用法としては、単体で使う以外にもEPICやEBX Form Factorのドーターボードとして使うケースを想定しているが、実際開発キットなどではこうしたケースが非常に多いから、これは現実的であろう(写真15)。ちなみに会場にはいくつかの試作ボードが展示されており、またESCでも何社かはいち早くPCI/104-ExpressやPCIe/104ボードを展示していた(写真16~19)。来年あたりは、広範囲でこれが使われそうに思える。

【写真14】こうしてみると、ISAバスとPCI Expressは同じ場所にコネクタをおくわけで、ISAとPCI Expressを持つボードは原理的に作れない。が、「そんなニーズは聞いたことがない(そりゃそうだ)。必要なら、途中にPC/104-Plusのボードを挟めば両方使えることになる。それが動くかどうかはCPUなりチップセットなりの問題だ」(つまりそのPCI Expressのコントローラが、PCI-PCI Expressブリッジの先にある、PCI-ISAブリッジを認識するかどうかだ)というお返事 【写真15】開発キットの場合、CPUモジュールだけを差し替えられるようになっているものが多いが、従来だとここがPCIバス止まりなので、仕方なく各ベンダーが独自のコネクタで無理やり他のI/Fを通していることが多かった。このへんはPCI/104-Expressの登場でだいぶ変わってきそうだ
【写真16】これはDothan+Intel 945G+ICH7という構成のボードの裏面。PCIeのコネクタの構造が良くわかる 【写真17】これはまた別のボード。Ethernetを2本持つコントローラだが、主要なチップは全部裏側に。これはStacking Upを想定したボードである
【写真18】開発時に役立つと思われる、PCI Expressカードに装着できるPCI/104-Expressのマザーボード。PCIコネクタは単に電源供給&機械的安定性の確保のためについてるようで、PCIの信号は出てないそうだ 【写真19】コネクタのみのサンプル。手前がTop Connectorである

 ところで最後に余談。実はPC/104 Embedded Consortiumと前後して、SFF-SIGからもお誘いをいただいた。スケジュールの都合でこちらは辞退させていただいたのだが、どうもこちらとPC/104 Embedded Consortiumは激しい冷戦状態にあるらしい。SFF-SIGは、PCIe/104-Expressと似た機能を持つPCI Expressバス(+USBその他)をPC/104フォームファクタ向けに(PC/104 Embedded Consortiumとは別に!)規定しつつあるが、ここで使われているのがSUMITという、これまた異なるコネクタである。どうもこれの利用を巡って激しい争いになっているようである。このSFF-SIGはPico-ITXなどの普及に力を入れているが、Pico-ITXをそもそも定義したVIAはSFF-SIGのVoting Member(投票権を持つ会員)であると共にPC/104 Embedded ConsortiumのBOARD OF DIRECTORS AND COMMITTEES(理事会役員)であるあたり、両者の力関係は非常に微妙に思える。とりあえず今後の動向が(変な意味で)楽しみではある。

□ESC SV 2008のホームページ(英文)
http://www.cmp-egevents.com/web/esv/home

(2008年4月17日)

[Reported by 大原雄介]

【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp
お問い合わせに対して、個別にご回答はいたしません。

Copyright (c)2008 Impress Watch Corporation, an Impress Group company. All rights reserved.