(57)【要約】【課題】新たに追加したデバイスに対して、ＢＩＯＳに格納された情報を更新することなく、リソースの割り当てを必要とするデバイスに対してリソース情報等を付与することが可能な情報処理装置等を提供する。【解決手段】自装置に装着されたデバイスと、ＣＰＵによって実行される、デバイスの動作に必要なリソース情報の割り当てを制御する命令を含むＢＩＯＳプログラムと、デバイスに予め記憶された種別識別子と、その種別識別子に対応したリソース情報とが記述されたリソーステーブルと、リソース情報を付与するか否かを判別するフラグを格納する格納部とを備え、ＢＩＯＳプログラムは、種別識別子を基にリソーステーブルを参照し、種別識別子が無い場合には、格納部のフラグの状態を判別し、リソース情報の割り当てが必要と判別した場合に、デバイスにリソース情報を付与すると共に、種別識別子とリソース情報とを基にリソーステーブルを更新することを特徴とする情報処理装置。【選択図】図１
2013182461.tif 000002
【特許請求の範囲】
【請求項１】
自装置に装着されたデバイスと、
ＣＰＵによって実行される、前記デバイスの動作に必要なリソース情報の割り当てを制御する命令を含むＢＩＯＳプログラムと、
前記デバイスに予め記憶された種別識別子と、その前記種別識別子に対応した前記リソース情報とが記述されたリソーステーブルと、
前記デバイスに対して前記リソース情報を付与するか否かを判別するところの、フラグを格納する格納部とを備え、
前記ＢＩＯＳプログラムは、
前記デバイスから読み出した前記種別識別子を基に前記リソーステーブルを参照し、参照した結果、該種別識別子が無い場合には、前記格納部のフラグの状態を判別し、前記リソース情報の割り当てが必要と判別した場合に、前記デバイスに前記リソース情報を付与すると共に、該種別識別子と該リソース情報とを基に前記リソーステーブルを更新することを特徴とする情報処理装置。
【請求項２】
前記ＢＩＯＳプログラムは、
前記デバイスから読み出した前記種別識別子を基に前記リソーステーブルを参照し、参照した結果、該種別識別子がある場合には、前記リソーステーブルの記述に基づき、前記種別識別子に対応した前記リソース情報を付与することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ＢＩＯＳプログラムは、
前記格納部のフラグの状態に基づき、前記リソース情報の割り当てが不要と判別した場合に、前記デバイスに前記リソース情報を付与しないことを特徴とする請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記格納部は、
前記デバイスに前記リソース情報の割り当てが必要な場合には、フラグをセットし、前記リソース情報の割り当てが不要な場合は、フラグをリセットすることを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記格納部に格納されたフラグをセットまたはリセットに更新するに際して、自装置に接続された入力装置によって、更新作業を実行することを特徴とする請求項１乃至請求項４の何れかに記載の情報処理装置。
【請求項６】
前記ＢＩＯＳプログラムと、
前記リソーステーブルとを記憶する記憶媒体をさらに有することを特徴とする請求項１乃至請求項３の何れかに記載の情報処理装置。
【請求項７】
自装置に装着されたデバイスに対して、動作に必要なリソース情報を付与するか否かを判別するフラグを格納し、
前記デバイスから読み出した前記種別識別子を基に種別識別子と、その前記種別識別子に対応した前記リソース情報とが記述されたリソーステーブルを参照し、
参照した結果、該種別識別子が無い場合には、前記フラグの状態を判別し、
前記リソース情報の割り当てが必要と判別した場合に、前記デバイスに前記リソース情報を付与すると共に、該種別識別子と該リソース情報とを基に前記リソーステーブルを更新することを特徴とする情報処理装置におけるリソースの制御方法。
【請求項８】
前記デバイスから読み出した前記種別識別子を基に前記リソーステーブルを参照し、参照した結果、該種別識別子がある場合には、前記リソーステーブルの記述に基づき、前記種別識別子に対応した前記リソース情報を付与することを特徴とする請求項７に記載の情報処理装置におけるリソースの制御方法。
【請求項９】
前記格納部のフラグの状態に基づき、前記リソース情報の割り当てが不要と判別した場合に、前記デバイスに前記リソース情報を付与しないことを特徴とする請求項７または請求項８に記載の情報処理装置におけるリソースの制御方法。
【請求項１０】
情報処理装置の動作制御のためのコンピュータ・プログラムであって、そのコンピュータ・プログラムにより、
前記情報処理装置に装着されたデバイスに対して、動作に必要なリソース情報を付与するか否かを判別するところの、フラグを格納する機能と、前記デバイスから読み出した前記種別識別子を基に種別識別子と、その前記種別識別子に対応した前記リソース情報とが記述されたリソーステーブルを参照し、参照した結果、該種別識別子が無い場合には、前記フラグの状態を判別し、前記リソース情報の割り当てが必要と判別した場合に、前記デバイスに前記リソース情報を付与すると共に、該種別識別子と該リソース情報とを基に前記リソーステーブルを更新する機能とを備えることを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器等に接続されたデバイスに対するリソース情報の割り当てを制御する技術分野に関する。
【背景技術】
【０００２】
ユーザビリティの観点からパーソナルコンピュータや組み込みコンピュータシステム等の電子機器は、主電源の投入後にシステムが動作可能な状態になるまでの時間を短くすることが求められている。
【０００３】
このような背景から、パーソナルコンピュータや組み込みコンピュータシステム等の電子機器は、起動の際に行う基本入出力システム（Ｂａｓｉｓ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ；以降、「ＢＩＯＳ」と称する）の処理とオペレーティングシステム（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ；以降、「ＯＳ」と称する）の読み込み処理とを最適化することで、起動の時間を短縮している。
【０００４】
例えば、一般的に知られた組み込みコンピュータシステムは、各デバイスと各デバイスに対して割り当てたリソース情報との対応関係を示した情報を予め有する。起動の際に、組み込みコンピュータシステムは、対応関係を示した情報を参照することによって、速やかに各デバイスに対してリソース情報を割り当てる。
【０００５】
また、デバイスとリソース情報との対応関係を示した情報に無いデバイスが接続された場合、組み込みコンピュータシステムは、初期化処理やリソース情報の割り当てを実施しない。これらにより、組み込みコンピュータシステムは、起動の時間を短縮している。
【０００６】
そのため、組み込みコンピュータシステムは、新たにデバイスを追加した場合、初期化処理やリソース情報を割り当てない。または、新たに追加したデバイスに対して初期化処理やリソース情報の割り当てが行われた場合に、組み込みコンピュータシステムは、既に接続されているデバイスに割り当てたリソース情報と新たに追加したデバイスに割り当てたリソース情報とが競合する（リソース競合）等の問題が発生する。
【０００７】
これら問題の発生を防ぐために、組み込みコンピュータシステムは、新たにデバイスを追加した場合であっても、デバイスに対してリソース情報の割り当てを行わない。このため、新たにデバイスを追加する場合、組み込みコンピュータシステムは、ＢＩＯＳやＯＳに格納された情報を更新する必要がある。
【０００８】
ここで、本願出願に先立って存在する関連技術として、例えば特許文献１に記載されたコンピュータシステムにおけるシステム構成変更およびＯＳの動作環境設定変更方式は、ハードウェアの構成変更を監視するためのデバイスチェック手段と、オペレーティングシステムの動作環境設定の変更を監視するためのシステムジェネレーションチェック手段と、デバイスチェック手段とシステムジェネレーションチェック手段とのチェック結果に基づいて、システムを制御するためのカーネルとを有する。
【０００９】
カーネルは、デバイスチェック手段によって、チェックしたハードウェア構成の変更内容に応じて、変更内容が装置の追加であった場合、デバイスドライバを組み込む。一方、カーネルは、変更内容が装置の故障や取り外しであった場合、デバイスドライバの無効化をする。
【００１０】
より具体的に、ハードウェアを追加した場合、デバイスチェック手段は、構成変更によって、割り込みレベルなどのシステムの動作に影響を与える情報をチェックする。
【００１１】
そして、チェックした結果、システムの正常な動作を保証できると判断した場合、特許文献１は、装置の論理的接続を許可する情報をカーネルに出力する。一方、システムの正常な動作を保証できないと判断した場合、特許文献１は、装置の論理的接続を不許可にする情報をカーネルに出力する。これにより、特許文献１は、ハードウェアの設定ミスを防止する。
【００１２】
さらに、カーネルは、システムジェネレーションチェック手段によって、オペレーションシステムの動作環境設定が変更された場合、システムジェネレーション情報の変更内容を動的に反映する。
【００１３】
このように、特許文献１は、コンピュータシステムの稼動中に処理を一時中断することなく、ハードウェアの構成やオペレーションシステムの動作環境設定を変更する技術を開示する。
【００１４】
特許文献２に記載された情報処理装置は、デバイスを制御するデバイスドライバと、システムを起動する際に複数のデバイスドライバをロードする。
【００１５】
さらに、特許文献２は、デバイス番号を基にデバイス番号に対応したデバイスドライバに処理を振り分けるディスパッチ・デバイスドライバを有する。また、特許文献２は、デバイス番号とデバイスドライバとの関係を記述したデバイスドライバ登録情報とデバイス番号選択手段とを有する。
【００１６】
ユーザは、デバイス番号選択手段によって、デバイス番号を選択する。特許文献２に記載されたアプリケーションプログラムは、ユーザによって選択されたデバイス番号と共に、アプリケーションプログラムインタフェイス（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ；以降、「ＡＰＩ」と称する）を発行する。
【００１７】
また、ディスパッチ・デバイスドライバは、ユーザによって選択されたデバイス番号を基にデバイスドライバ登録情報に記述されたデバイス番号と対応するデバイスドライバに制御を渡す。
【００１８】
このように、特許文献２は、デバイスドライバを変更せずに、デバイス選択画面によりデバイスドライバを選択することで、デバイスの追加および変更を容易に行う技術を開示する。
【００１９】
特許文献３に記載された情報処理装置は、ＯＳに対して制御命令を発行するアプリケーションと、デバイスドライバにデバイスの制御を渡すか否かを使用権情報を基に判断するアクセス判断部と、アクセス判断部によってデバイスを制御できると判断した場合、デバイスドライバをＯＳに組み込むドライバ自動組込部とを有する。さらに、ＯＳは、制御命令を受け取ることによって、デバイスドライバにデバイスの制御を渡すシステムコール部と、デバイスを制御するデバイスドライバとを有する。
【００２０】
特許文献３は、アプリケーションからデバイスドライバに制御命令を出す場合、ＯＳ内のシステムコール部にアクセスする。
【００２１】
そして、システムコール部は、アプリケーションがデバイスドライバにアクセスが可能であることをアクセス判断部に確認する。さらに、デバイスドライバにアクセスが可能である場合、システムコール部は、デバイスドライバに制御命令を送信する。
【００２２】
尚、新たにデバイスが接続された場合、アクセス判断部は、アプリケーションがデバイスを制御できるか否かを判断する。さらに、アクセス判断部は、アプリケーションがデバイスを制御できると判断した場合、ドライバ自動組込部がデバイスドライバをＯＳに組み込む。
【００２３】
これにより、特許文献３は、デバイスの不正な使用を防止できる。また、特許文献３は、デバイスドライバへのアクセス制御をＯＳが行うことにより、既存のデバイスドライバのコードを変更することなく、使用権の有無によりデバイスを制御する。
【００２４】
このように、特許文献３は、デバイスを制御する既存のデバイスドライバおよびそのデバイスを利用した既存アプリケーションのコードを変更することなく、ＯＳにおいてデバイスに対するアクセス制限を実行する技術を開示する。
【先行技術文献】
【特許文献】
【００２５】
【特許文献１】特開平０７−０６４７７２号公報
【特許文献２】特開平１０−０２７１４９号公報
【特許文献３】再特ＷＯ２００６０５９４９３号公報
【発明の概要】
【発明が解決しようとする課題】
【００２６】
ところで、例えばメーカは、組み込みコンピュータシステムの出荷後、組み込みコンピュータシステムの機能を拡張するために、新たに開発したデバイスを発売する場合がある。
【００２７】
このような場合、既に出荷された組み込みコンピュータシステムは、新たに開発したデバイスに対して、ＢＩＯＳやＯＳが対応していない場合がある。
【００２８】
そのため、組み込みコンピュータシステムは、新たに開発したデバイスに対して、リソース情報を割り当てられないなどの問題が発生する。
【００２９】
このような問題に対応するため、メーカは、新たに開発したデバイスに対応したＢＩＯＳやＯＳを準備する。その一方で、ユーザは、ＢＩＯＳやＯＳに格納した情報を更新する専門の知識と手間隙が必要である。
【００３０】
さらに、上述した特許文献１は、コンピュータシステムの稼動中にハードウェアの構成に変更があった場合、その構成の変更内容に応じて該当する装置のデバイスドライバを組み込むか、無効化するかを制御することが記載されているに留まり、コンピュータシステムを起動させた場合のデバイスドライバの組み込みに関して何ら言及されていない。さらに、特許文献１は、ユーザが任意にデバイスドライバを組み込むか、無効化するかを制御する方法に関して何ら言及されていない。
【００３１】
また、特許文献２は、ユーザによって選択されたデバイス番号を基にデバイスドライバ登録情報に記述されたデバイス番号と対応するデバイスドライバに制御を渡す。このため、ユーザは、デバイス番号を選択するために専門の知識とデバイス番号を選択する手間隙とが必要となる。そのため、特許文献２は、パーソナルコンピュータや組み込みコンピュータシステム等の電子機器の起動時間について考慮されておらず、依然として起動時間に対する問題を解決することができない。また、特許文献２は、デバイスドライバ登録情報に対して、デバイス番号と対応するデバイスドライバとの登録方法に関して何ら言及されていない。
【００３２】
さらに、特許文献３は、既存アプリケーションのコードを変更することなく、ＯＳによって、デバイスに対応するデバイスドライバへのアクセスを制御することが記載されているに留まり、ユーザが任意にデバイスドライバへのアクセスを制御する方法に関して何ら言及されていない。
【００３３】
本発明の主たる目的は、上述した課題である新たに追加したデバイスに対して、ＢＩＯＳに格納された情報を更新することなく、リソースの割り当てを必要とするデバイスに対してリソース情報等を付与することが可能な情報処理装置等を提供することにある。
【課題を解決するための手段】
【００３４】
上記の課題を達成すべく、本発明に係る情報処理装置は、以下の構成を備えることを特徴とする。
【００３５】
即ち、本発明に係る情報処理装置は、
自装置に装着されたデバイスと、ＣＰＵによって実行される、前記デバイスの動作に必要なリソース情報の割り当てを制御する命令を含むＢＩＯＳプログラムと、前記デバイスに予め記憶された種別識別子と、その前記種別識別子に対応した前記リソース情報とが記述されたリソーステーブルと、前記デバイスに対して前記リソース情報を付与するか否かを判別するところの、フラグを格納する格納部とを備え、前記ＢＩＯＳプログラムは、前記デバイスから読み出した前記種別識別子を基に前記リソーステーブルを参照し、参照した結果、該種別識別子が無い場合には、前記格納部のフラグの状態を判別し、前記リソース情報の割り当てが必要と判別した場合に、前記デバイスに前記リソース情報を付与すると共に、該種別識別子と該リソース情報とを基に前記リソーステーブルを更新することを特徴とする。
【００３６】
また、同目的を達成すべく、本発明に係る情報処理装置におけるリソースの制御方法は、以下の構成を備えることを特徴とする。
【００３７】
即ち、本発明に係る情報処理装置におけるリソースの制御方法は、
自装置に装着されたデバイスに対して、動作に必要なリソース情報を付与するか否かを判別するフラグを格納し、前記デバイスから読み出した前記種別識別子を基に種別識別子と、その前記種別識別子に対応した前記リソース情報とが記述されたリソーステーブルを参照し、参照した結果、該種別識別子が無い場合には、前記フラグの状態を判別し、前記リソース情報の割り当てが必要と判別した場合に、前記デバイスに前記リソース情報を付与すると共に、該種別識別子と該リソース情報とを基に前記リソーステーブルを更新することを特徴とする。
【００３８】
尚、同目的は、上記の各構成を有する情報処理装置および情報処理装置におけるリソースの制御方法を、電子機器等によって実現するコンピュータ・プログラム、およびそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
【発明の効果】
【００３９】
本発明によれば、新たに追加したデバイスに対して、ＢＩＯＳに格納された情報を更新することなく、リソースの割り当てを必要とするデバイスに対してリソース情報等を付与することが可能な情報処理装置等を提供することができる。
【図面の簡単な説明】
【００４０】
【図１】本発明の第１の実施形態における情報処理装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態における情報処理装置が行う処理を示すフローチャート図である。
【図３】本発明の第２の実施形態における情報処理装置の構成を示すブロック図である。
【図４】本発明の第２の実施形態の実施例における情報処理装置の構成を示すブロック図である。
【発明を実施するための形態】
【００４１】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【００４２】
＜第１の実施形態＞
図１は、本発明の第１の実施形態における情報処理装置１の構成を示すブロック図である。
【００４３】
図１において、情報処理装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｓｅｓｓｉｎｇ  Ｕｎｉｔ；以降、「ＣＰＵ」称する）２、デバイス３、ＢＩＯＳ  ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ；以降、「ＲＯＭ」と称する）４、格納部７を有する。
【００４４】
より具体的に、ＢＩＯＳ＿ＲＯＭ４は、ＢＩＯＳプログラム５、リソーステーブル６を有する。
【００４５】
ＣＰＵ２は、命令に従って各種処理を実行可能である。
【００４６】
デバイス３は、情報処理装置１の機能を拡張するための各種デバイスである。より具体的に、一例として、各種デバイスは、キーボードやコントローラーチップ、ビデオカード（グラフィックカード）等の周辺デバイスが想定される。但し、本発明は、これらに限定されない（以下の実施形態においても同様）。
【００４７】
尚、説明の便宜上、デバイス３は、情報処理装置１の内部に設けたが、これに限らず、情報処理装置１に脱着が可能なデバイスであっても良い。
【００４８】
ＢＩＯＳ＿ＲＯＭ４は、各種命令やデータをフラッシュ・ＲＯＭのような不揮発性メモリに格納する記憶媒体である。
【００４９】
ＢＩＯＳプログラム５は、情報処理装置の初期化処理や基本入出力機能等を提供するプログラムである。ＣＰＵ２は、ＢＩＯＳ＿ＲＯＭ４に格納されたＢＩＯＳプログラム５に従って、初期化機能や基本入出力機能を実行する（ＢＩＯＳプログラム５の詳細な動作については、後述する）。
【００５０】
リソーステーブル６は、デバイス３が有する種別識別子（ＩＤ；ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）と種別識別子に対応した（関連付けられた）リソース情報とを有する。
【００５１】
尚、種別識別子は、情報処理装置に接続されたデバイスがどのような構成であるかを表す情報を含む。また、各種デバイスは、ハードウェア構成が同じ構成の場合、同一の種別識別子を有する。一方、各種デバイスは、ハードウェア構成が異なる構成の場合、異なる種別識別子を有する。
【００５２】
尚、本実施形態は、一例として、個々のデバイスを識別する目的で種別識別子を用いたが、これに限らず、個々のデバイスを識別することができる情報を有していればよい（以下の実施形態においても同様）。
【００５３】
リソース情報は、ＣＰＵ２と情報処理装置に接続された各種デバイスとの間で情報をやりとりする際に参照される情報である。このリソース情報は、例えば、各種デバイスに対して割り当てられるバス番号やメモリアドレス、アイ・オー（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ；以降、「Ｉ／Ｏ」と称する）ポートアドレス、割り込み要求（Ｉｎｔｅｒｒｕｐｔ  ＲｅＱｕｅｓｔ、ＩＲＱ）等、現在ではリソース情報について一般的に知られているため、本実施形態における詳細な説明は省略する（以下の実施形態においても同様）。
【００５４】
格納部７は、状態を示すフラグを格納する。より具体的に、一例として、ユーザは、接続したデバイス３に対してリソース情報を割り当てる場合、格納部７に１を書き込むことで「セット」の状態を示す。一方、ユーザは、接続したデバイス３に対してリソース情報を割り当てる必要がない場合、格納部７に０を書き込むことで「リセット」の状態を示す。但し、本発明は、これら方法に限定されない（以下の実施形態においても同様）。
【００５５】
格納部７は、不図示の入力デバイスを介して、フラグの状態を変更（更新）する。
【００５６】
尚、説明の便宜上、一例として、ユーザは、入力デバイスを介して、フラグの状態を変更（更新）したが、これに限らず、例えば、情報処理装置１は、ＯＳ上でフラグの状態を変更（更新）後に、デバイス３を情報処理装置１に接続すると共に、再起動する方法も適用可能である。
【００５７】
また、例えば、情報処理装置１は、ディップスイッチやジャンパスイッチを設けることによって、スイッチの切り替えによる方法も適用可能である。
【００５８】
また、情報処理装置１は、起動の際に、所定のキー（所定のボタン）を押下された状態で主電源を投入する。これにより、情報処理装置１は、所定のキー（所定のボタン）の入力を検出するのに応じて、本実施形態における処理を実行する処理を追加する方法も適用可能である。但し、本発明は、これら方法に限定されない（以下の実施形態においても同様）。
【００５９】
次に、本発明の第１の実施形態に係るより具体的な情報処理装置１の動作について説明する。
【００６０】
図２は、第１の実施形態の情報処理装置１の処理を示すフローチャートである。係るフローチャートに沿って情報処理装置１の処理手順を説明する。係るフローチャートは、ＢＩＯＳ＿ＲＯＭ４に格納されたＢＩＯＳプログラム５をＣＰＵ２が実行することによって実現される。
【００６１】
情報処理装置１は、主電源が投入されるのに応じて、ＣＰＵ２がＢＩＯＳ＿ＲＯＭ４に格納されたＢＩＯＳプログラム５を不図示の主記憶装置に展開する。ＣＰＵ２は、主記憶装置に展開された命令を実行する。
【００６２】
ＣＰＵ２は、命令に従いハードウェアの初期化処理を実行する。
【００６３】
ＣＰＵ２は、ハードウェアの初期化処理が実行されるのに応じて、各種命令を実行する。ＣＰＵ２は、ハードウェアの構成情報として、デバイス３の種別識別子を読み出す（ステップＳ１）。
【００６４】
ＣＰＵ２は、デバイス３の種別識別子を読み出せた場合（ステップＳ２における「ＹＥＳ」）、種別識別子を基にＢＩＯＳ＿ＲＯＭ４に格納されているリソーステーブル６を参照する（ステップＳ３）。一方、ＣＰＵ２は、デバイス３の種別識別子を読み出せなかった場合（ステップＳ２における「ＮＯ」）、処理を終了する。
【００６５】
ＣＰＵ２は、リソーステーブル６を参照した結果、デバイス３から読み出した種別識別子がリソーステーブル６に存在する場合（ステップＳ４における「ＹＥＳ」）、リソーステーブル６に記述された情報を基にデバイス３に対してリソース情報を割り当てる（ステップＳ５）。
【００６６】
一方、ＣＰＵ２は、デバイス３から読み出した種別識別子がリソーステーブル６に存在しない場合（ステップＳ４における「ＮＯ」）、格納部７に格納されたフラグの状態を判別する（ステップＳ６）。
【００６７】
ＣＰＵ２は、格納部７に格納されたフラグの状態を判別した結果、フラグの状態が「セット」の場合（ステップＳ７において「ＹＥＳ」）、デバイス３にリソース情報を割り当てる命令を実行する（ステップＳ８）。一方、ＣＰＵ２は、フラグの状態が「リセット」の場合（ステップＳ７における「ＮＯ」）、処理を終了する。
【００６８】
尚、デバイスにリソース情報の割り当てを行う処理自体は、現在では一般的な手法を採用することができるので、本実施形態における詳細な説明は省略する（以下の実施形態においても同様）。
【００６９】
ＣＰＵ２は、デバイス３から読み出した種別識別子とデバイス３に割り当てたリソース情報とをリソーステーブル６に追加（更新）する（ステップＳ９）。さらに、ＣＰＵ２は、格納部７に格納されたフラグの状態を「リセット」の状態に変更（更新）する（ステップＳ１０）。
【００７０】
ＣＰＵ２は、情報処理装置に接続されたリソース情報の割り当てを必要とするデバイスに対して、ステップＳ１乃至ステップＳ１０までの処理を繰り返し実行する。
【００７１】
このように本実施の形態に係る情報処理装置１によれば、新たに追加したデバイスに対して、ＢＩＯＳに格納された情報を更新することなく、リソース情報の割り当てを必要とするデバイスに対してリソース情報を付与することができる。その理由は、情報処理装置１は、格納部７に格納されたフラグの状態（セットまたはリセット）によって新たに追加したデバイスに対して、リソース情報を付与するからである。さらに、本実施形態では、リソース競合等の問題が発生することを防止することができる。また、本実施形態は、情報処理装置の起動時間を短縮することができる。その理由は、情報処理装置１は、各デバイスが保有する種別識別子を基にリソーステーブル６を参照する。さらに、情報処理装置１は、参照したリソーステーブル６の情報に基づいて各デバイスにリソース情報を固定して割り当てているためである。
【００７２】
＜第２の実施形態＞
次に、上述した第１の実施形態に係る情報処理装置を基本とする第２の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明する。その際、上述した各実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。
【００７３】
図３は、本発明の第２の実施形態における情報処理装置１と入力装置８の構成を示すブロック図である。
【００７４】
本実施形態では、第１の実施形態において説明した情報処理装置１に、入力装置８を適用した場合について説明する。
【００７５】
より具体的に、入力装置８は、一般的な通信手段（不図示）によって情報処理装置１に接続されている。入力装置８は、格納部７に対して情報の書き込みと情報の読み出しとを行うことができる。
【００７６】
即ち、ユーザは、入力装置８より格納部７に格納されたフラグの状態を変更（更新）することができる。
【００７７】
より具体的に、ユーザは、入力装置８より格納部７に格納されたフラグの状態を「セット」または「リセット」の状態に変更（更新）することができる。一例として、ユーザは、入力装置８に設けられたユーティリティソフト等を利用して格納部７に格納されたフラグの状態を「セット」または「リセット」の状態に変更（更新）する。これにより、ユーザは、容易にフラグの状態を変更（更新）することができる。
【００７８】
このように本実施の形態に係る情報処理装置１によれば、第１の実施形態において説明した効果を享受できると共に、さらに、格納部７に格納されたフラグの状態を効率よく変更（更新）することができる。その理由は、入力装置８を設けることで視覚的に操作および変更（更新）することができるからである。
（実施例）
次に、上述した第２の実施形態に係るより具体的な実施例として、情報処理装置１ａについて、図４を参照して説明する。以下の説明においては、本実施例に係る特徴的な部分を中心に説明する。その際、上述した各実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。
【００７９】
図４は、本発明の実施例に係る情報処理装置１ａと入力装置８の構成を示すブロック図である。
【００８０】
図４において、情報処理装置１ａは、大別して、ＣＰＵ１０、チップセット１３、ＢＩＯＳ＿ＲＯＭ４、ビーエムシー（Ｂａｓｅｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ；以降、「ＢＭＣ」と称する）１６、内蔵ピーシーアイエクスプレス・スイッチ（Ｐｅｒｉｆｅｒａｌ Ｃｏｍｐｕｔｅｒ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ；以降、「ＰＣＩｅスイッチ」と称する）１７、第１の内蔵デバイス１８、第２の内蔵デバイス１９、第３の内蔵デバイス２０、エフピージーエー（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ；以降、「ＦＰＧＡ」と称する）２１、第１の拡張スロット２２、第２の拡張スロット２８、第３の拡張スロット２９を有する。
【００８１】
以下の説明において、説明の便宜上、ＣＰＵ１０が有するルート・コンプレックス（Ｒｏｏｔ＿Ｃｏｍｐｌｅｘ；以降、「ＲＣ」と称する）を第１のＲＣ１１、第２のＲＣ１２と称する。また、チップセット１３が有するＲＣを第３のＲＣ１４、第４のＲＣ１５と称する。尚、第１のＲＣ１１、第２のＲＣ１２、第３のＲＣ１４、第４のＲＣ１５は、機能および動作に差異は無いこととする（以下の実施形態においても同様）。
【００８２】
より具体的に、ＣＰＵ１０は、第１のＲＣ１１、第２のＲＣ１２を有する。ＣＰＵ１０は、第１の実施形態におけるＣＰＵ２に相当する。
【００８３】
チップセット１３は、第３のＲＣ１４、第４のＲＣ１５を有する。チップセット１３は、ＣＰＵ１０と各デバイスとを接続すると共に、接続された各デバイスを制御する制御装置である。
【００８４】
第１のＲＣ１１、第２のＲＣ１２、第３のＲＣ１４、第４のＲＣ１５は、ＰＣＩｅポートを有する。第１のＲＣ１１、第２のＲＣ１２、第３のＲＣ１４、第４のＲＣ１５は、ＰＣＩｅポートを介して、ＰＣＩｅデバイスを接続することができる。尚、本実施例にかかるＲＣは、現在では一般的に知られている技術を採用することができるので本実施例における説明は省略する。（以下の実施形態においても同様）。
【００８５】
本実施形態においてＢＭＣ１６は、第１の実施形態における格納部７に相当する。
【００８６】
以下の説明において、説明の便宜上、情報処理装置１ａが有する拡張スロットを第１の拡張スロット２２、第２の拡張スロット２７、第３の拡張スロット２８と称する。（以下の実施形態においても同様）。尚、第１の拡張スロット２２、第２の拡張スロット２７、第３の拡張スロット２８は、機能および動作に差異は無いこととする。
【００８７】
内蔵ＰＣＩｅスイッチ１７は、ＰＣＩｅポートを増やすためのデバイスである。本実施形態において内蔵ＰＣＩｅスイッチ１７は、第１のＲＣ１１と第１の拡張スロット２２、第２の拡張スロット２８、第３の拡張スロット２９に接続されることとする。
【００８８】
以下の説明において、説明の便宜上、情報処理装置１ａの内部に有する内蔵デバイスを第１の内蔵デバイス１８、第２の内蔵デバイス１９、第３の内蔵デバイス２０と称する（以下の実施形態においても同様）。
【００８９】
第１の内蔵デバイス１８、第２の内蔵デバイス１９、第３の内蔵デバイス２０は、情報処理装置１ａの内部に接続された基本的な機能を実現するデバイスである。本実施形態において、一例として、内蔵デバイスは、ユーエスビー（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ；以降、「ＵＳＢ」と称する）ホストコントローラ等である。但し、本発明は、これらに限定されない（以下の実施形態においても同様）。
【００９０】
本実施形態において第１の内蔵デバイス１８は、第２のＲＣ１２に接続されることとする。また、第２の内蔵デバイス１９は、第３のＲＣ１４に接続されることとする。さらに、第３の内蔵デバイス２０は、第４のＲＣ１５に接続されることとする。
【００９１】
ＦＰＧＡ２１は、各デバイスから種別識別子を読出すと共に、チップセット１３を経由してＣＰＵ１０に種別識別子を出力する。
【００９２】
尚、本実施形態においてＦＰＧＡ２１が有する機能は、ＢＭＣ１６またはチップセット１３によって実現可能である。
【００９３】
第１の拡張スロット２２、第２の拡張スロット２８、第３の拡張スロット２９は、機能を拡張するための各種デバイスを接続するためのインターフェースである。
【００９４】
より具体的に、第１の拡張スロット２２は、拡張カード２３が接続されていることとする。
【００９５】
以下の説明において、説明の便宜上、拡張カード２３の内部に有する機能を拡張するためのデバイスを第１の拡張デバイス２５、第２の拡張デバイス２６と称する（以下の実施形態においても同様）。
【００９６】
拡張カード２３は、拡張ＰＣＩｅスイッチ２４、第１の拡張デバイス２５、第２の拡張デバイス２６、レジスタ２７を有する。
【００９７】
拡張ＰＣＩｅスイッチ２４は、ＰＣＩｅポートを増やすためのデバイスである。本実施形態において拡張ＰＣＩｅスイッチ２４は、内蔵ＰＣＩｅスイッチ１７と第１の拡張デバイス２５および第２の拡張デバイス２６に接続されることとする。尚、一例として、拡張デバイスは、第１の拡張デバイス２５と第２の拡張デバイス２６との２つのデバイスを接続した場合を示したが、これに限らず、拡張デバイスは、複数のデバイスを接続してもよい。また、ＰＣＩｅポートを増やす必要が無い場合、拡張ＰＣＩｅスイッチ２４は、拡張デバイスを内蔵ＰＣＩｅスイッチ１７に接続することで省略することができる。
【００９８】
第１の拡張デバイス２５および第２の拡張デバイス２６は、情報処理装置１ａの機能を拡張するためのデバイスである。
【００９９】
レジスタ２７は、種別識別子や拡張カード２３を制御するための各種情報を格納する記憶ユニットである。
【０１００】
次に、本発明の実施例に係るより具体的な情報処理装置１ａの動作について説明する。
【０１０１】
本実施例において、情報処理装置１ａは、新たに接続した拡張カード２３に対して、リソース情報を割り当てる場合の動作について詳細に説明する。さらに、拡張カード２３の種別識別子は、リソーステーブル６に記述が無いものとする。また、拡張カード２３以外のデバイスは、リソーステーブル６に種別識別子および種別識別子に対応したリソース情報が記述されているものとする。
【０１０２】
ユーザは、情報処理装置１ａの主電源を投入するのに先立って、入力装置８よりＢＭＣ１６に格納されたフラグを「セット」の状態に変更（更新）する。
【０１０３】
以下の説明において、情報処理装置１ａは、第１のＲＣ１１、第２のＲＣ１２、内蔵ＰＣＩｅスイッチ１７、拡張スロット２２、拡張スロット２８、拡張スロット２９、拡張カード２３、第１の内部デバイス１８、第２の内部デバイス１９、第３の内部デバイス２０の順にリソース情報の割り当て処理を実行する。
【０１０４】
まず、情報処理装置１ａは、リソーステーブル６に種別識別子および種別識別子に対応したリソース情報が記述されている場合の処理について説明する。
【０１０５】
情報処理装置１ａは、主電源が投入されるのに応じて、ＣＰＵ１０がＢＩＯＳ＿ＲＯＭ４に格納されたＢＩＯＳプログラム５を不図示の主記憶装置に展開する。ＣＰＵ１０は、主記憶装置に展開された命令を実行する。
【０１０６】
ＣＰＵ１０は、命令に従いハードウェアの初期化処理を実行する。
【０１０７】
ＣＰＵ１０は、ハードウェアの初期化処理が実行されるのに応じて、各種命令を実行する。ＣＰＵ１０は、ハードウェアの構成情報として、第１のＲＣ１１の種別識別子を読み出す命令を実行する。
【０１０８】
ＦＰＧＡ２１は、第１のＲＣ１１の種別識別子を読み出す命令の実行に応じて、第１のＲＣ１１の種別識別子を読み出すと共に、チップセット１３を経由してＣＰＵ１０に出力する。
ＣＰＵ１０は、第１のＲＣ１１の種別識別子を取得するのに応じて、種別識別子を基にＢＩＯＳ＿ＲＯＭ４に格納されているリソーステーブル６を参照する。
【０１０９】
ＣＰＵ１０は、リソーステーブル６を参照した結果、デバイスから読み出した種別識別子がリソーステーブル６に存在するため、リソーステーブル６に記述された情報を基に第１のＲＣ１１に対してリソース情報を割り当てる。
【０１１０】
情報処理装置１ａは、上述した処理を繰り返すことにより、第２のＲＣ１２、内蔵ＰＣＩｅスイッチ１７、拡張スロット２２、拡張スロット２８、拡張スロット２９、第１の内部デバイス１８、第２の内部デバイス１９、第３の内部デバイス２０にリソース情報を割り当てる。
【０１１１】
次に、情報処理装置１ａが新たに接続した拡張カード２３に対して、リソース情報を割り当てる場合の動作について説明する。
【０１１２】
ＣＰＵ１０は、ハードウェアの構成情報として、拡張カード２３の種別識別子を読み出す命令を実行する。
【０１１３】
ＦＰＧＡ２１は、拡張カード２３の種別識別子を読み出す命令の実行に応じて、拡張カード２３の種別識別子を読み出すと共に、チップセット１３を経由してＣＰＵ１０に出力する。
ＣＰＵ１０は、拡張カード２３の種別識別子を取得するのに応じて、種別識別子を基にＢＩＯＳ＿ＲＯＭ４に格納されているリソーステーブル６を参照する。
【０１１４】
ＣＰＵ１０は、リソーステーブル６を参照した結果、ＣＰＵ１０は、拡張カード２３から読み出した種別識別子がリソーステーブル６に存在しないため、ＢＭＣ１６に格納されたフラグの状態を判別する。
【０１１５】
ＣＰＵ１０は、ＢＭＣ１６に格納されたフラグの状態を判別した結果、フラグの状態が「セット」のため、拡張カード２３の内部に有する拡張ＰＣＩｅスイッチ２４、第１の拡張デバイス２５、第２の拡張デバイス２６にリソース情報を割り当てる。
【０１１６】
ＣＰＵ１０は、拡張カード２３にリソース情報を割り当てたことに応じて、拡張カード２３から読み出した種別識別子と拡張カード２３の内部に有する拡張ＰＣＩｅスイッチ２４、第１の拡張デバイス２５、第２の拡張デバイス２６に割り当てたリソース情報とをリソーステーブル６に追加（更新）する。さらに、ＣＰＵ１０は、ＢＭＣ１６に格納されたフラグの状態を「リセット」の状態に変更（更新）する。
【０１１７】
尚、一例として、ＰＣＩｅインターフェースに対してリソース情報を割り当てる場合について説明したが、これに限らず、例えばＰＣＩインターフェースやピーシーアイエックス（Ｐｅｒｉｆｅｒａｌ Ｃｏｍｐｕｔｅｒ  Ｉｎｔｅｒｃｏｎｎｅｃｔ−Ｘ；以降、「ＰＣＩ−Ｘ」と称する）インターフェース等のリソース情報を必要とする各種デバイスに対しても適用可能である。
【０１１８】
このように本実施の形態に係る情報処理装置１ａによれば、第１の実施形態において説明した効果を享受できると共に、さらに、本実施例にて説明した情報処理装置を集積回路等に利用して実現することができる。また、ＦＰＧＡ２１を設けることで効率よく各種デバイスから種別識別子の入出力を制御することができる。
【産業上の利用可能性】
【０１１９】
本発明は、上述した各実施形態には限定されない。本発明は、組み込みコンピュータシステム、パーソナルコンピュータ、ＰＯＳ（Ｐｏｉｎｔ  Ｏｆ  Ｓａｌｅ）システム、サーバ、複写機、複合機等の演算処理装置や集積回路を搭載する各種の電子機器に適用可能である。
【符号の説明】
【０１２０】
１    情報処理装置
１ａ    情報処理装置
２    ＣＰＵ
３    デバイス
４    ＢＩＯＳ＿ＲＯＭ
５    ＢＩＯＳプログラム
６    リソーステーブル
７    格納部
８    入力装置
１０    ＣＰＵ
１１    第１のＲＣ
１２    第２のＲＣ
１３    チップセット
１４    第３のＲＣ
１５    第４のＲＣ
１６    ＢＭＣ
１７    内蔵ＰＣＩｅスイッチ
１８    第１の内蔵デバイス
１９    第２の内蔵デバイス
２０    第３の内蔵デバイス
２１    ＦＰＧＡ
２２    第１の拡張スロット
２３    拡張カード
２４    拡張ＰＣＩｅスイッチ
２５    第１の拡張デバイス
２６    第２の拡張デバイス
２７    レジスタ
２８    第２の拡張スロット
２９    第３の拡張スロット
【図１】
2013182461.tif 000003
【図２】
2013182461.tif 000004
【図３】
2013182461.tif 000005
【図４】
2013182461.tif 000006