PCカードについて

タプルについて教えてください。


PCカードには,必ずCIS(Card Information Structure)と呼ばれるカード情報が記述されたメモリ領域があります。CISには,PCカードの名前や種類,機能などの情報が格納されています。CISの情報は,タプルと呼ばれる複数のデータブロックから成り立っています。
 現在,PCカードは,米国のPCMCIAと日本のJEIDAが共同で策定した「PC Card Standard」という規格に基づいて作られています。PC Card Standardでは,PCカードの物理的な形状や端子の電気的な規格はもちろんのこと,タプルの仕様についても細かく規定されています。
 タプルは,それぞれのタプルの先頭にあるタプルIDという番号によって識別されます。どのタプルにどんな情報が格納されているかは,PC Card Standardによって決まっています。例えば,タプル15(レベル1バージョン/製品情報タプル)には,PCカードの名前やバージョンなどの情報が書かれていますし,タプル21(ファンクションIDタプル)やタプル22(ファンクション拡張タプル)には,そのPCカードがどんな種類のカードであるかが書かれています。また,タプル1B(コンフィグレーションエントリタプル)には,そのPCカードが必要とするI/OポートアドレスやIRQといった,リソースの候補が記述されています。
 PCカードが挿入されると,最初にイネーブラ(ドライバ)が,これらのタプルをPCカードから読み出します。読み出したタプルから,PCカードの種類や必要なリソースを知り,PCカードが正しく使えるように,リソースなどを割り当てる仕組みになっています。例えば,Windows 95では新しいPCカードを挿入したときに,PCカードの名前が一瞬表示されますが,これはタプル15に記述されている内容を読み出しているのです。Windows 95では,タプルに記述されている情報とWindows 95が持っているINFファイル(あるいは別途提供されるINFファイル)に書かれている情報を基に,PCカードの設定を行い,PCカードをイネーブルするわけです。INFファイルには,ハードウェアの設定に必要な情報が記述されています。タプルとINFファイルの両方を利用することで,PCカードのPlug & Playを実現しています。
(石井英男)