この春よりPTTの幹事を務めさせて頂くことになりました農工大の並木です。 よろしくお願いします。
PTTの運営に関すること、例えば、このようなテーマの内容を聞いてみたい、 こうすれば参加者が集るのではないか等、アイデア等ありましたら、遠慮なく ご提案下さい。ご希望にそえるよう努力したいと思います。
今月は、電通大の多田先生の全快を祝ってのご発表です。
ハード屋さんがロジックデバイスの延長と思っているFPGA(Field Programmable Gate Arrays)を、ソフト屋さんが活用しようと考えた。が、2 人の間には深い溝が...ソフト屋はFPGAをどのように利用しようと考え るのかを説明し、実現時に生じた様々な問題点を議論する。
ついでに、話者の最近の経験に基づく、胆嚢摘出法を説明する。希望者に は胆石のデモもあります。時間がなければ、2次会の肴にするかも知れない.....
質疑応答: 巷には、FPGA(Field Programmable Gate Arrays)という、プログラミング 可能なハードウェアが出回っている。本来、このFPGAは、多品種少量生産の ロジックデバイス開発を支援するために考案、実現されたものである。しか し、現状では数万ゲート程度のロジックをプログラミングでき、当初の目的 のみに使用するのはもったいない。 てなことを考えて、C言語で記述したプログラムの一部分(pragmaを使っ て指定)をハードウェア化し、プログラムの残りの部分からコプロセッサ的 に活用するという虫の良いことを企てた。つまり、プログラムからコプロセ ッサの仕様を抽出し、プログラムの実行に対応して動的にコプロセッサを変 更していくといった計算機モデルの実現を目指すのである。 さて、そのモデルとソフトウェアの構成法に関する議論は文献[1]を参照 していただくとして、今回は基盤となるハードウェア、「無碍ボード」の設 計にまつわるドタバタを紹介した。無碍ボードは5,000ゲート相当のFPGAが 3個搭載され、SBusとのインタフェースを持つ。SBusのマスタになることも 可能であるし、他方、SBusからFPGAのコンフィギュレーション情報を書き込 むことも可能である。さらに、無碍ボードとホスト計算機とのデータ転送時 のオーバヘッドを減らすために、カーネルモードを経由しない入出力機構も 用意してある。 が、所詮、FPGAというのはハード屋さんの考えたものなので、ソフト屋の 視点からは不満な点も多い。特に、コンフィギュレーション情報のフォーマ ット等は非公開であり、ハード屋さんの使っている道具(デバイスフィッタ など)を使わなければならない。しかし、これが、今回のような用途には向 いていない。つまり、デバイスフィッタはロジックをギチギチに詰め込むこ とに生きがいを感じており、3,000ゲート程度のロジックだから5,000ゲート のFPGAには適当に詰め込めばいいやといった余裕がない(その分、処理に要 する時間が長くなる)。また、入出力ピンの配置も外部から指定しない方が 望ましいとか、ロジックの動的な変更に時間を要するかもしれないといった 問題点も考えられる。 最後に、無碍ボードに3個のFPGAを搭載したことに対する得失を議論した。 問題点としては入出力ピンやゲートを余分に必要とするとか、FPGAへのロジ ック分割法が不明確といったものが考えられる。一方、利点としては、製作 費が割安、1個だけ搭載して実験が可能などがあり、さらに、コンフィギュ レーション情報を個別に書き込むとか3つのコプロセッサを構築し、ホスト のプロセスのコンテクストに対応させるといった可能性も示唆した。 結論は、とにかく一度作って、問題点を洗い出す必要があるだろうという ことにした。 文献:[1]斉藤正伸、多田好克、「高級言語からFPGAへの部分コンパイルに よる高速化技法の研究」、情報処理学会第48回全国大会、1C-8、 6-117,118、1994年。 といったことを、くだけた口調で説明させていただきました。 質 疑: メモしていなかったので忘れてしまいました......... ごめんなさい。