トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 PCIデバイス
【発明者】 【氏名】亀田 浩司
【住所又は居所】東京都大田区中馬込1丁目3番6号 株式会社リコー内

【要約】 【課題】一つの基本的構成を備えそれを基にして、稼動すべき機能が容易に選択されて設定されるPCIデバイスを提供する。

【解決手段】複数のファンクションを持つマルチファンクションPCIデバイスにおいて、複数のファンクションのうちの、少なくとも一つのファンクションのコンフィギュレーションレジスタを、ホストからリード処理又はライト処理できないように設定することで、そのファンクションが実装されてないように見せることを特徴とする。
【特許請求の範囲】
【請求項1】 複数のファンクションを持つマルチファンクションPCIデバイスにおいて、複数のファンクションのうちの、少なくとも一つのファンクションのコンフィギュレーションレジスタを、ホストからリード処理又はライト処理できないように設定することで、そのファンクションが実装されてないように見せることを特徴とする、PCIデバイス。
【請求項2】 複数のファンクションの内、下位アドレス側のファンクションを見えなくした場合に、上位アドレスのファンクションのアドレスが、下位にずれて、よってファンクションのアドレスの欠番が発生しないことを特徴とする、請求項1に記載のPCIデバイス。
【請求項3】 ファンクションのアドレスがずらされた場合、そのファンクションが使用していたPCI割り込み信号も自動的に同調してずらされることを特徴とする、請求項2に記載のPCIデバイス。
【請求項4】 ファンクションがホストから見えなくなる機能を使用した場合に、そのファンクションがデバイス内部で使用している要素の動作をストップさせ、よって不要な電力消費をなくすことを特徴とする、請求項1乃至請求項3のいずれか一つに記載のPCIデバイス。
【請求項5】 ファンクションがホストから見えなくなる機能の状態を利用するために、コンフィギュレーションレジスタに設定ビットを持つことを特徴とする、請求項1乃至請求項4のいずれか一つに記載のPCIデバイス。
【請求項6】 ファンクションがホストから見えなくなる機能の状態を利用するために、外部ピンを設けることを特徴とする、請求項1乃至請求項4のいずれか一つに記載のPCIデバイス。
【請求項7】 複数のファンクションを持つマルチファンクションPCIデバイスにおいて、ファンクションのアドレスが、フレキシブルに設定され得るを特徴とする、PCIデバイス。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明は、PCIデバイス、特に、マルチファンクションPCIデバイスに関する。
【0002】
【従来の技術】近来のパーソナルコンピュータ(パソコン)、特に、ポータブルタイプのものにおいては、小型ではあるが多機能なものが主流となっている。当然ながら、内部で使用されるPCI(Peripheral Component Interface)デバイスも、複数機能(ファンクション)のインテグレート化が進みつつある。
【0003】しかしながら、パソコン生産者は、生産機種を多様化させる意図から、パソコン機種によって、特定の機能を組み込もうとし、或いは除去しようとする。このとき、夫々のパソコン機能に合わせて、例えばPCIデバイスなどのデバイスを開発するならば、開発すべきデバイスの種類が増大しよって開発コストも増大する。更に、デバイスの種類が増えると、夫々のためのボードの開発が必要となり、やはりコストアップに繋がってしまう。
【0004】
【発明が解決しようとする課題】本発明は、一つの基本的構成を備えそれを基にして、稼動すべき機能が容易に選択されて設定されるPCIデバイスを提供することを目的とする。
【0005】
【課題を解決するための手段】本発明は、上記の目的を達成するために為されたものである。本発明に係る請求項1に記載のPCIデバイスは、複数のファンクションを持つマルチファンクションPCIデバイスである。そのPCIデバイスにおいて、複数のファンクションのうちの、少なくとも一つのファンクションのコンフィギュレーションレジスタを、ホストからリード処理又はライト処理できないように設定することで、そのファンクションが実装されてないように見せることを特徴とする。
【0006】本発明に係る請求項2に記載のPCIデバイスは、複数のファンクションの内、下位アドレス側のファンクションを見えなくした場合に、上位アドレスのファンクションのアドレスが、下位にずれて、よってファンクションのアドレスの欠番が発生しないことを特徴とする、請求項1に記載のPCIデバイスである。
【0007】本発明に係る請求項3に記載のPCIデバイスは、ファンクションのアドレスがずらされた場合、そのファンクションが使用していたPCI割り込み信号も自動的に同調してずらされることを特徴とする、請求項2に記載のPCIデバイスである。
【0008】本発明に係る請求項4に記載のPCIデバイスは、ファンクションがホストから見えなくなる機能を使用した場合に、そのファンクションがデバイス内部で使用している要素の動作をストップさせ、よって不要な電力消費をなくすことを特徴とする、請求項1乃至請求項3のいずれか一つに記載のPCIデバイスである。
【0009】本発明に係る請求項5に記載のPCIデバイスは、ファンクションがホストから見えなくなる機能の状態を利用するために、コンフィギュレーションレジスタに設定ビットを持つことを特徴とする、請求項1乃至請求項4のいずれか一つに記載のPCIデバイスである。
【0010】本発明に係る請求項6に記載のPCIデバイスは、ファンクションがホストから見えなくなる機能の状態を利用するために、外部ピンを設けることを特徴とする、請求項1乃至請求項4のいずれか一つに記載のPCIデバイスである。
【0011】本発明に係る請求項7に記載のPCIデバイスは、複数のファンクションを持つマルチファンクションPCIデバイスである。そのPCIデバイスにおいて、ファンクションのアドレスが、フレキシブルに設定され得るを特徴とする。
【0012】
【発明の実施の形態】以下、図面を参照して、本発明に係る好適な実施の形態を説明する。
【0013】近来の、特にポータブルタイプのパソコンは、小型かつ多機能のものが主流である。当然ながら内部で使用されるPCIデバイスも、複数の機能(ファンクション)のインテグレート化が進んでいる。とはいえ、パソコン生産者は、生産機種を多様化させる意図から、パソコン機種によって、特定の機能を組み込もうとし、或いは除去しようとする。
【0014】例えば、まず、PCI−CardBusBridge(2スロット)と、IEEE1394I/F(インターフェース)とをインテグレートした製品の場合、ファンクション数は「3」となる。この場合、この製品でのファンクションの設定として、(1)全てのファンクションを使用する設定、(2)「PCI−CardBusBridge 1スロット」と「IEEE1394」との、2ファンクションを使用する設定、(3)「PCI−CardBusBridge 2スロット」のみの、2ファンクションを使用する設定、等が考えられる。
【0015】なお、本明細書では上記製品の3つのファンクションに夫々「No.」を付し、・第1の「PCI−CardBusBridge」のスロット(PCI−CardBusBridge SLOTA)を、「Func.0」、・第2の「PCI−CardBusBridge」のスロット(PCI−CardBusBridge SLOTB)を、「Func.1」、・IEEE1394I/Fを、「Func.2」
と称するものとする。
【0016】≪第1の実施形態≫上記の、PCI−CardBusBridge(2スロット)と、IEEE1394I/F(インターフェース)とをインテグレートした製品を想定する。図1は、そのようなPCIデバイス2の構成を示す概略のブロック図である。3つのファンクションは、第1のPCI−CardBusBridgeスロット10、第2のPCI−CardBusBridgeのスロット12、及びIEEE1394インタフェース14である。夫々のファンクションは、バススレーブ8を介してPCIバス4と接続する。更に、各ファンクション(10、12、14)には夫々、コンフィギュレーションレジスタセット16が備わる。ホスト側ソフトウエアにおいては、これらレジスタセット16へのアクセスにより、デバイスのファンクションの状況を把握することになる。
【0017】ここで、『「PCI−CardBusBridge 1スロット」と「IEEE1394」との、2ファンクションを使用する設定』とするのならば、Func.1をホスト側からのアクセスで「見えない」ようにすればよい。こうするとあたかも上記の2ファンクションのみによりデバイス構成されているように見せることができる。
【0018】同様に、『「PCI−CardBusBridge 2スロット」のみの、2ファンクションを使用する設定』とするのならば、Func.2をホスト側からのアクセスで「見えない」ようにすればよい。
【0019】まず、Func.2がホスト側からのアクセスで「見えない」ようにされた、第1の実施形態のPCIデバイス2’を、図3の概略ブロック図を用いて示す。図3に係る記述に先立ち、図2の基本的なPCIリード・サイクルのタイミングチャートを説明する。
【0020】アクセスは、ホスト側がFRAME#信号をアサート(Low)し、同時にアドレス(AD/DATA)を発行することでスタートする。コンフィギュレーションサイクルの場合は、ここでIDSELが“High”となる。
【0021】次に、ホストにより、IRDY#がアサートされ、同時にFRAME#がデアサートされる。デバイスは、アドレスフェーズ時の条件(アドレス、IDSELなど)をデコードし、自らに対応しているのであれば、次のサイクルでDEVSEL#をアサートする。「リード」の場合、デバイスは、データが準備できたところで、TRDY#をアサートし、同時にデータを出力してアクセスを終了する。
【0022】上記のアドレス(bit 31:0)のうち、[bit 10:8]の3bit(ビット)が、ファンクションNo.を示す、と定義されている。つまり、000bから111bまでの8種類のファンクションを持てることになる。
【0023】ホスト(のソフトウェアから)は、ファンクションNo.の000bから順番にアクセスしていく。上記の(図1の)ような3種類のファンクションの場合、000b、001b、010bに対するアクセスには、デバイス側はDEVSEL#をアサートしてアクセスに反応する。一方、011b、100b、101b、110b、111bに対するアクセスには、DEVSEL#をアサートしない(マスターアボート)。ホスト(のソフトウェア)は、これらの動作により、3ファンクションをサポートしているデバイスであることを把握する。
【0024】さて、一部のファンクションを見えなくして、ホストからその機能が実装されていないように見せる処置(図3参照)について示す。上記のデバイス(図1)において、Func.2(IEEE1394)を見えなくするには、ホストからのコンフィギュレーションアクセスで、ファンクションNo.010bのアクセスにデバイス側が反応しない、つまり、デバイスがDEVSEL#をアサートしなければよい。従って、所定の設定を回路に施して、Func.2をホストから見えなくするには、DEVSEL#をアサートするデコード条件から“010b”を外すだけでよい(図3)。
【0025】≪第2の実施形態≫図4は、本発明に係る第2の実施形態であるPCIデバイス2”の概略のブロック図である。第1の実施形態では、Func.2がホスト側からのアクセスで「見えない」ように設定されているが、第2の実施形態では、Func.1がホスト側からのアクセスで「見えない」ように設定される。
【0026】但しこの場合、第1の実施形態と同様に、ファンクションNo.001bのアクセスにデバイス側が反応しないようにすると、デバイスは000bに反応し、001bには反応せず、010bで再び反応するということになる。ところで、ホスト側で稼動するソフトウェアの中には、001bに反応しなかった時点でそれ以降のファンクションへのアクセスを行わないものがある、と想定される。すると、ホスト側からすれば、Func.2のIEEE1394インタフェースが把握されない、という事態が発生してしまう。
【0027】上記の事態を回避するために第2の実施形態では、デバイスが001bに反応しない、という設定を避ける。即ち、000bと001bとに反応し010b以降に反応しないようにし、更に、001bにより、ホストはIEEE1394インタフェース14のコンフィギュレーションレジスタ16にアクセスするように、設定する。
【0028】回路においては、第1の実施形態と略同様に、DEVSEL#をアサートするデコード条件から“010b”を外し、001bでホストがアクセスするコンフィギュレーションレジスタセット16を、第2のPCI−CardBusBridgeスロット12のものからIEEE1394インタフェース14のものに変更する。
【0029】例えば、各ファンクション(10、12、14)のコンフィギュレーションレジスタセット16に対するアクセス信号(RDB/WRB)信号が、図1の基本的構成において、以下のように設定されているとする。
・Func.0:RDB0/WRB0、・Func.1:RDB1/WRB1、・Func.2:RDB2/WRB2図4に示すように、図1におけるFunc.1の機能をホストから見えなくするには、001bのアクセスのときに、「RDB2/WRB2」が出力されるようにすればよい。
【0030】≪第3の実施形態≫図1に示される基本的なPCIデバイス2では、PCI割り込み信号は各ファンクション毎に以下のように設定されるのが一般的である。
・Func.0:INTA#・Func.1:INTB#・Func.2:INTC#【0031】ところで、第2の実施形態のように、図1の基本構成のFunc.1(即ち、第1のPCI−CardBusBridgeスロット10)をホストから見えなくすると、Func.1は、IEEE1394インターフェース14となり(図4)、割り込み信号は、・Func.0:INTA#・Func.1:INTC#となってしまう。このような構成はデバイスとして不自然である。即ち、「Func.1:INTB#」
であるのが他の要素との関連からも望ましい。
【0032】割り込み信号は単純な出力信号なので、上記の望ましい実施形態たる第3の実施形態は、第2の実施形態に対して単純なマルチプレクスに係る回路を付加するのみで実現され得る。
【0033】更に、各ファンクション(10、12、14)のコンフィギュレーションレジスタセット16には、どの割り込み信号を使用しているかを示すビット(Interrupt・Pinレジスタ)があるのが通例である。よって、この値も、自動的に対応したものに合わせられるように設定されることが望ましい。
【0034】≪第4の実施形態≫第1の実施形態乃至第3の実施形態に示されるような、ファンクションがホストから見えなくなる形態を実施する場合に、例えば、そのファンクションがデバイス内部でクロックなどを使用し然もそれらが動作していると、不要な電力を消費してしまうことになる。
【0035】そこで、ファンクションが見えなくなる形態を実施する設定がなされた場合は、そのファンクションがデバイス内部で使用しているクロックなどを停止するのが好ましい。
【0036】上記の停止を行う第4の実施形態は、“AND”や“OR”などの、単純ゲートを回路に追加することで実現できる。
【0037】≪第5の実施形態≫上述の第1の実施形態乃至第4の実施形態に示される、ファンクションがホストから見えなくされる形態で、ファンクションを見えなくする機能を利用するには、何らかの構成が必要となる。その構成の一つとして、内部レジスタを定義する、というのが挙げられる。例えば、コンフィギュレーションレジスタセット16のユーザ領域(即ち、規格で規定されておらずデバイスメーカが自由に設定できる領域)にファンクションディセーブルレジスタを定義する。
【0038】但し、そのレジスタ(内部レジスタ、若しくはファンクションディセーブルレジスタ)が、見えなくすべきファンクションのコンフィギュレーションレジスタセット16の中に配置されていると、レジスタをリセットさせるしか復帰方法がなくなってしまう。よって、ファンクションディセーブルレジスタは、異なるファンクションに定義されることが望ましい。例えば、Func.1のディセーブルレジスタはFunc.2内に定義し、Func.2のディセーブルレジスタはFunc.1内に定義する。
【0039】≪第6の実施形態≫上記第5の実施形態にて内部レジスタを設けた場合、それら内部レジスタに対してシステムBIOSなどにより設定することが必要となるが、その分、BIOSなどのソフトウェアに負担をかけることになる。同時に、システムの構成によっては、BIOSなどのソフトウェアも変更しなければならず、システム(構成)が異なればそれらソフトウエアを共通化できない、という問題も生じる。
【0040】そこで、上記の内部レジスタを設定する形態以外のものとして、外部に設定用のディセーブルピンを設置するという形態が想定され得る。つまり、このピンを外部にてPull_up/Pull_downすることを、ホストからファンクションが見えるか見えないかの設定に合わせる。
【0041】上記のピンは、本実施形態専用のものであってもよいが、他の機能と共用されるピンであってもよい。例えば、他の出力ピンにおいて、リセット期間中を入力モードにして、その間のピンの状態を取り込んで設定する、という方法が考えられる。
【0042】≪第7の実施形態≫第1の実施形態乃至第6の実施形態では、複数ファンクションのPCIデバイスにおいて、コンフィギュレーションレジスタをホストから見えなくすることによって、ホストからその機能が実装されていないように見せる。本実施形態では、更に、ファンクションに対するアクセスをフレキシブルに変更できるようにする。ここでは、ファンクションNo.の欠番も作れるようにする。
【0043】上記の本実施形態では、ファンクションに対するアクセスをフレキシブルに変更することにより、ファンクションの優先順位を変えることが可能になる。通常ホストのソフトウェアは、ファンクションNo.において000bから順にアクセスを開始するため、当然、ファンクションNo.の下位側から認識される。例えば、図1のデバイス2は以下のように構成されているため、第1の「PCI−CardBusBridge」のスロット(PCI−CardBusBridge SLOTA)から認識される。
・Func.0:PCI−CardBusBridge SLOTA・Func.1:PCI−CardBusBridge SLOTB・Func.2:IEEE1394I/F【0044】上記の構成を、・Func.0:IEEE1394I/F・Func.1:PCI−CardBusBridge SLOTA・Func.2:PCI−CardBusBridge SLOTBと変更することにより、ホストは、「IEEE1394I/F」から認識することになり、ドライバのロード処理なども「IEEE1394I/F」が優先的に行われることになる。
【0045】また、欠番を設けることによって、マルチチップモジュールによる複数ファンクションの実現が可能になる。ここでのマルチチップモジュールとは、ひとつのパッケージ(例えば、BGA、CSP等)の中に複数のデバイスをボンディングし、ひとつのデバイスとして使用するものである。
【0046】通常PCIデバイスは、まず、Func.0を使用する。2つのPCIデバイスをひとつのパッケージにいれ、PCIバス4の配線を共通化すると、ホストから000bに対するコンフィギュレーションアクセスにより、両方のデバイスが反応してしまう。しかし、ファンクションNo.の欠番を利用すれば、その問題は解決できる。
【0047】例えば、一方のPCIデバイス(第1のPCIデバイス)が「PCI−CardBusBridge 2スロット」のみを有し、他方のPCIデバイス(第2のPCIデバイス)が「IEEE1394」のみを有し、それらがひとつのパッケージの中にボンディングされ一つのデバイスとして使用されるとする。このとき、第2のPCIデバイス(IEEE1394)にて、000b、0001を欠番とし010bに反応するようにして、マルチチップモジュール化すると、見かけ上は、図1に示す3ファンクションのデバイスと同等のデバイスとなる。
【0048】
【発明の効果】以上の説明から明白なように、本発明を利用することにより以下のような効果を得られる。
【0049】本発明に係る第1の実施形態のPCIデバイスを利用することにより、ひとつのデバイスで機能の選択が可能になり、デバイス開発は1機種で済む。パソコン生産者もボードなどの部品の共通化が可能となる。従って、デバイス開発、ホスト(計算機)開発共にコストダウンできる。
【0050】本発明に係る第2の実施形態のPCIデバイスを利用することにより、ファンクションNo.の欠番が発生しないため、システムとして誤動作する可能性がなくなる。
【0051】本発明に係る第3の実施形態のPCIデバイスを利用することにより、第2の実施形態を使用してファンクションNo.がずらされた場合に割り込み信号が飛び飛びに使われている、などのデバイスとして不自然さがなくなる。
【0052】本発明に係る第4の実施形態のPCIデバイスを利用することにより、ファンクションがホストから見えなくなる場合に、不要な電力消費をなくすことができる。
【0053】本発明に係る第5の実施形態のPCIデバイスを利用することにより、第1の実施形態乃至第4の実施形態における、ファンクションを見えなくする機能を使用するための設定が可能となる。
【0054】本発明に係る第6の実施形態のPCIデバイスを利用することにより、第5の実施形態における機能を使用するためのソフトウェアの負担がなくなる。システムが変わってもBIOSの共通化が可能となる。
【0055】本発明に係る第7の実施形態のPCIデバイスを利用することにより、ファンクションを見えなくするだけでなく、ファンクションの優先順位の変更が可能になる。更に、マルチチップモジュールにも対応が可能になる。
【出願人】 【識別番号】000006747
【氏名又は名称】株式会社リコー
【住所又は居所】東京都大田区中馬込1丁目3番6号
【出願日】 平成14年5月13日(2002.5.13)
【代理人】 【識別番号】100062144
【弁理士】
【氏名又は名称】青山 葆 (外1名)
【公開番号】 特開2003−330875(P2003−330875A)
【公開日】 平成15年11月21日(2003.11.21)
【出願番号】 特願2002−137218(P2002−137218)