JP2013182461A - 情報処理装置および情報処理装置におけるリソースの制御方法、並びにコンピュータ・プログラム - Google Patents

情報処理装置および情報処理装置におけるリソースの制御方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
JP2013182461A
JP2013182461A JP2012046427A JP2012046427A JP2013182461A JP 2013182461 A JP2013182461 A JP 2013182461A JP 2012046427 A JP2012046427 A JP 2012046427A JP 2012046427 A JP2012046427 A JP 2012046427A JP 2013182461 A JP2013182461 A JP 2013182461A
Authority
JP
Japan
Prior art keywords
resource
type identifier
resource information
information
processing apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012046427A
Other languages
English (en)
Inventor
Naganori Fukuyama
長憲 福山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2012046427A priority Critical patent/JP2013182461A/ja
Publication of JP2013182461A publication Critical patent/JP2013182461A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】新たに追加したデバイスに対して、BIOSに格納された情報を更新することなく、リソースの割り当てを必要とするデバイスに対してリソース情報等を付与することが可能な情報処理装置等を提供する。
【解決手段】自装置に装着されたデバイスと、CPUによって実行される、デバイスの動作に必要なリソース情報の割り当てを制御する命令を含むBIOSプログラムと、デバイスに予め記憶された種別識別子と、その種別識別子に対応したリソース情報とが記述されたリソーステーブルと、リソース情報を付与するか否かを判別するフラグを格納する格納部とを備え、BIOSプログラムは、種別識別子を基にリソーステーブルを参照し、種別識別子が無い場合には、格納部のフラグの状態を判別し、リソース情報の割り当てが必要と判別した場合に、デバイスにリソース情報を付与すると共に、種別識別子とリソース情報とを基にリソーステーブルを更新することを特徴とする情報処理装置。
【選択図】図1

Description

本発明は、電子機器等に接続されたデバイスに対するリソース情報の割り当てを制御する技術分野に関する。
ユーザビリティの観点からパーソナルコンピュータや組み込みコンピュータシステム等の電子機器は、主電源の投入後にシステムが動作可能な状態になるまでの時間を短くすることが求められている。
このような背景から、パーソナルコンピュータや組み込みコンピュータシステム等の電子機器は、起動の際に行う基本入出力システム(Basis Input/Output System;以降、「BIOS」と称する)の処理とオペレーティングシステム(Operating System;以降、「OS」と称する)の読み込み処理とを最適化することで、起動の時間を短縮している。
例えば、一般的に知られた組み込みコンピュータシステムは、各デバイスと各デバイスに対して割り当てたリソース情報との対応関係を示した情報を予め有する。起動の際に、組み込みコンピュータシステムは、対応関係を示した情報を参照することによって、速やかに各デバイスに対してリソース情報を割り当てる。
また、デバイスとリソース情報との対応関係を示した情報に無いデバイスが接続された場合、組み込みコンピュータシステムは、初期化処理やリソース情報の割り当てを実施しない。これらにより、組み込みコンピュータシステムは、起動の時間を短縮している。
そのため、組み込みコンピュータシステムは、新たにデバイスを追加した場合、初期化処理やリソース情報を割り当てない。または、新たに追加したデバイスに対して初期化処理やリソース情報の割り当てが行われた場合に、組み込みコンピュータシステムは、既に接続されているデバイスに割り当てたリソース情報と新たに追加したデバイスに割り当てたリソース情報とが競合する(リソース競合)等の問題が発生する。
これら問題の発生を防ぐために、組み込みコンピュータシステムは、新たにデバイスを追加した場合であっても、デバイスに対してリソース情報の割り当てを行わない。このため、新たにデバイスを追加する場合、組み込みコンピュータシステムは、BIOSやOSに格納された情報を更新する必要がある。
ここで、本願出願に先立って存在する関連技術として、例えば特許文献1に記載されたコンピュータシステムにおけるシステム構成変更およびOSの動作環境設定変更方式は、ハードウェアの構成変更を監視するためのデバイスチェック手段と、オペレーティングシステムの動作環境設定の変更を監視するためのシステムジェネレーションチェック手段と、デバイスチェック手段とシステムジェネレーションチェック手段とのチェック結果に基づいて、システムを制御するためのカーネルとを有する。
カーネルは、デバイスチェック手段によって、チェックしたハードウェア構成の変更内容に応じて、変更内容が装置の追加であった場合、デバイスドライバを組み込む。一方、カーネルは、変更内容が装置の故障や取り外しであった場合、デバイスドライバの無効化をする。
より具体的に、ハードウェアを追加した場合、デバイスチェック手段は、構成変更によって、割り込みレベルなどのシステムの動作に影響を与える情報をチェックする。
そして、チェックした結果、システムの正常な動作を保証できると判断した場合、特許文献1は、装置の論理的接続を許可する情報をカーネルに出力する。一方、システムの正常な動作を保証できないと判断した場合、特許文献1は、装置の論理的接続を不許可にする情報をカーネルに出力する。これにより、特許文献1は、ハードウェアの設定ミスを防止する。
さらに、カーネルは、システムジェネレーションチェック手段によって、オペレーションシステムの動作環境設定が変更された場合、システムジェネレーション情報の変更内容を動的に反映する。
このように、特許文献1は、コンピュータシステムの稼動中に処理を一時中断することなく、ハードウェアの構成やオペレーションシステムの動作環境設定を変更する技術を開示する。
特許文献2に記載された情報処理装置は、デバイスを制御するデバイスドライバと、システムを起動する際に複数のデバイスドライバをロードする。
さらに、特許文献2は、デバイス番号を基にデバイス番号に対応したデバイスドライバに処理を振り分けるディスパッチ・デバイスドライバを有する。また、特許文献2は、デバイス番号とデバイスドライバとの関係を記述したデバイスドライバ登録情報とデバイス番号選択手段とを有する。
ユーザは、デバイス番号選択手段によって、デバイス番号を選択する。特許文献2に記載されたアプリケーションプログラムは、ユーザによって選択されたデバイス番号と共に、アプリケーションプログラムインタフェイス(Application Programming Interface;以降、「API」と称する)を発行する。
また、ディスパッチ・デバイスドライバは、ユーザによって選択されたデバイス番号を基にデバイスドライバ登録情報に記述されたデバイス番号と対応するデバイスドライバに制御を渡す。
このように、特許文献2は、デバイスドライバを変更せずに、デバイス選択画面によりデバイスドライバを選択することで、デバイスの追加および変更を容易に行う技術を開示する。
特許文献3に記載された情報処理装置は、OSに対して制御命令を発行するアプリケーションと、デバイスドライバにデバイスの制御を渡すか否かを使用権情報を基に判断するアクセス判断部と、アクセス判断部によってデバイスを制御できると判断した場合、デバイスドライバをOSに組み込むドライバ自動組込部とを有する。さらに、OSは、制御命令を受け取ることによって、デバイスドライバにデバイスの制御を渡すシステムコール部と、デバイスを制御するデバイスドライバとを有する。
特許文献3は、アプリケーションからデバイスドライバに制御命令を出す場合、OS内のシステムコール部にアクセスする。
そして、システムコール部は、アプリケーションがデバイスドライバにアクセスが可能であることをアクセス判断部に確認する。さらに、デバイスドライバにアクセスが可能である場合、システムコール部は、デバイスドライバに制御命令を送信する。
尚、新たにデバイスが接続された場合、アクセス判断部は、アプリケーションがデバイスを制御できるか否かを判断する。さらに、アクセス判断部は、アプリケーションがデバイスを制御できると判断した場合、ドライバ自動組込部がデバイスドライバをOSに組み込む。
これにより、特許文献3は、デバイスの不正な使用を防止できる。また、特許文献3は、デバイスドライバへのアクセス制御をOSが行うことにより、既存のデバイスドライバのコードを変更することなく、使用権の有無によりデバイスを制御する。
このように、特許文献3は、デバイスを制御する既存のデバイスドライバおよびそのデバイスを利用した既存アプリケーションのコードを変更することなく、OSにおいてデバイスに対するアクセス制限を実行する技術を開示する。
特開平07−064772号公報 特開平10−027149号公報 再特WO2006059493号公報
ところで、例えばメーカは、組み込みコンピュータシステムの出荷後、組み込みコンピュータシステムの機能を拡張するために、新たに開発したデバイスを発売する場合がある。
このような場合、既に出荷された組み込みコンピュータシステムは、新たに開発したデバイスに対して、BIOSやOSが対応していない場合がある。
そのため、組み込みコンピュータシステムは、新たに開発したデバイスに対して、リソース情報を割り当てられないなどの問題が発生する。
このような問題に対応するため、メーカは、新たに開発したデバイスに対応したBIOSやOSを準備する。その一方で、ユーザは、BIOSやOSに格納した情報を更新する専門の知識と手間隙が必要である。
さらに、上述した特許文献1は、コンピュータシステムの稼動中にハードウェアの構成に変更があった場合、その構成の変更内容に応じて該当する装置のデバイスドライバを組み込むか、無効化するかを制御することが記載されているに留まり、コンピュータシステムを起動させた場合のデバイスドライバの組み込みに関して何ら言及されていない。さらに、特許文献1は、ユーザが任意にデバイスドライバを組み込むか、無効化するかを制御する方法に関して何ら言及されていない。
また、特許文献2は、ユーザによって選択されたデバイス番号を基にデバイスドライバ登録情報に記述されたデバイス番号と対応するデバイスドライバに制御を渡す。このため、ユーザは、デバイス番号を選択するために専門の知識とデバイス番号を選択する手間隙とが必要となる。そのため、特許文献2は、パーソナルコンピュータや組み込みコンピュータシステム等の電子機器の起動時間について考慮されておらず、依然として起動時間に対する問題を解決することができない。また、特許文献2は、デバイスドライバ登録情報に対して、デバイス番号と対応するデバイスドライバとの登録方法に関して何ら言及されていない。
さらに、特許文献3は、既存アプリケーションのコードを変更することなく、OSによって、デバイスに対応するデバイスドライバへのアクセスを制御することが記載されているに留まり、ユーザが任意にデバイスドライバへのアクセスを制御する方法に関して何ら言及されていない。
本発明の主たる目的は、上述した課題である新たに追加したデバイスに対して、BIOSに格納された情報を更新することなく、リソースの割り当てを必要とするデバイスに対してリソース情報等を付与することが可能な情報処理装置等を提供することにある。
上記の課題を達成すべく、本発明に係る情報処理装置は、以下の構成を備えることを特徴とする。
即ち、本発明に係る情報処理装置は、
自装置に装着されたデバイスと、CPUによって実行される、前記デバイスの動作に必要なリソース情報の割り当てを制御する命令を含むBIOSプログラムと、前記デバイスに予め記憶された種別識別子と、その前記種別識別子に対応した前記リソース情報とが記述されたリソーステーブルと、前記デバイスに対して前記リソース情報を付与するか否かを判別するところの、フラグを格納する格納部とを備え、前記BIOSプログラムは、前記デバイスから読み出した前記種別識別子を基に前記リソーステーブルを参照し、参照した結果、該種別識別子が無い場合には、前記格納部のフラグの状態を判別し、前記リソース情報の割り当てが必要と判別した場合に、前記デバイスに前記リソース情報を付与すると共に、該種別識別子と該リソース情報とを基に前記リソーステーブルを更新することを特徴とする。
また、同目的を達成すべく、本発明に係る情報処理装置におけるリソースの制御方法は、以下の構成を備えることを特徴とする。
即ち、本発明に係る情報処理装置におけるリソースの制御方法は、
自装置に装着されたデバイスに対して、動作に必要なリソース情報を付与するか否かを判別するフラグを格納し、前記デバイスから読み出した前記種別識別子を基に種別識別子と、その前記種別識別子に対応した前記リソース情報とが記述されたリソーステーブルを参照し、参照した結果、該種別識別子が無い場合には、前記フラグの状態を判別し、前記リソース情報の割り当てが必要と判別した場合に、前記デバイスに前記リソース情報を付与すると共に、該種別識別子と該リソース情報とを基に前記リソーステーブルを更新することを特徴とする。
尚、同目的は、上記の各構成を有する情報処理装置および情報処理装置におけるリソースの制御方法を、電子機器等によって実現するコンピュータ・プログラム、およびそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
本発明によれば、新たに追加したデバイスに対して、BIOSに格納された情報を更新することなく、リソースの割り当てを必要とするデバイスに対してリソース情報等を付与することが可能な情報処理装置等を提供することができる。
本発明の第1の実施形態における情報処理装置の構成を示すブロック図である。 本発明の第1の実施形態における情報処理装置が行う処理を示すフローチャート図である。 本発明の第2の実施形態における情報処理装置の構成を示すブロック図である。 本発明の第2の実施形態の実施例における情報処理装置の構成を示すブロック図である。
以下、本発明の実施形態について図面を参照して詳細に説明する。
<第1の実施形態>
図1は、本発明の第1の実施形態における情報処理装置1の構成を示すブロック図である。
図1において、情報処理装置1は、CPU(Central Prosessing Unit;以降、「CPU」称する)2、デバイス3、BIOS ROM(Read Only Memory;以降、「ROM」と称する)4、格納部7を有する。
より具体的に、BIOS_ROM4は、BIOSプログラム5、リソーステーブル6を有する。
CPU2は、命令に従って各種処理を実行可能である。
デバイス3は、情報処理装置1の機能を拡張するための各種デバイスである。より具体的に、一例として、各種デバイスは、キーボードやコントローラーチップ、ビデオカード(グラフィックカード)等の周辺デバイスが想定される。但し、本発明は、これらに限定されない(以下の実施形態においても同様)。
尚、説明の便宜上、デバイス3は、情報処理装置1の内部に設けたが、これに限らず、情報処理装置1に脱着が可能なデバイスであっても良い。
BIOS_ROM4は、各種命令やデータをフラッシュ・ROMのような不揮発性メモリに格納する記憶媒体である。
BIOSプログラム5は、情報処理装置の初期化処理や基本入出力機能等を提供するプログラムである。CPU2は、BIOS_ROM4に格納されたBIOSプログラム5に従って、初期化機能や基本入出力機能を実行する(BIOSプログラム5の詳細な動作については、後述する)。
リソーステーブル6は、デバイス3が有する種別識別子(ID;identification)と種別識別子に対応した(関連付けられた)リソース情報とを有する。
尚、種別識別子は、情報処理装置に接続されたデバイスがどのような構成であるかを表す情報を含む。また、各種デバイスは、ハードウェア構成が同じ構成の場合、同一の種別識別子を有する。一方、各種デバイスは、ハードウェア構成が異なる構成の場合、異なる種別識別子を有する。
尚、本実施形態は、一例として、個々のデバイスを識別する目的で種別識別子を用いたが、これに限らず、個々のデバイスを識別することができる情報を有していればよい(以下の実施形態においても同様)。
リソース情報は、CPU2と情報処理装置に接続された各種デバイスとの間で情報をやりとりする際に参照される情報である。このリソース情報は、例えば、各種デバイスに対して割り当てられるバス番号やメモリアドレス、アイ・オー(Input/Output;以降、「I/O」と称する)ポートアドレス、割り込み要求(Interrupt ReQuest、IRQ)等、現在ではリソース情報について一般的に知られているため、本実施形態における詳細な説明は省略する(以下の実施形態においても同様)。
格納部7は、状態を示すフラグを格納する。より具体的に、一例として、ユーザは、接続したデバイス3に対してリソース情報を割り当てる場合、格納部7に1を書き込むことで「セット」の状態を示す。一方、ユーザは、接続したデバイス3に対してリソース情報を割り当てる必要がない場合、格納部7に0を書き込むことで「リセット」の状態を示す。但し、本発明は、これら方法に限定されない(以下の実施形態においても同様)。
格納部7は、不図示の入力デバイスを介して、フラグの状態を変更(更新)する。
尚、説明の便宜上、一例として、ユーザは、入力デバイスを介して、フラグの状態を変更(更新)したが、これに限らず、例えば、情報処理装置1は、OS上でフラグの状態を変更(更新)後に、デバイス3を情報処理装置1に接続すると共に、再起動する方法も適用可能である。
また、例えば、情報処理装置1は、ディップスイッチやジャンパスイッチを設けることによって、スイッチの切り替えによる方法も適用可能である。
また、情報処理装置1は、起動の際に、所定のキー(所定のボタン)を押下された状態で主電源を投入する。これにより、情報処理装置1は、所定のキー(所定のボタン)の入力を検出するのに応じて、本実施形態における処理を実行する処理を追加する方法も適用可能である。但し、本発明は、これら方法に限定されない(以下の実施形態においても同様)。
次に、本発明の第1の実施形態に係るより具体的な情報処理装置1の動作について説明する。
図2は、第1の実施形態の情報処理装置1の処理を示すフローチャートである。係るフローチャートに沿って情報処理装置1の処理手順を説明する。係るフローチャートは、BIOS_ROM4に格納されたBIOSプログラム5をCPU2が実行することによって実現される。
情報処理装置1は、主電源が投入されるのに応じて、CPU2がBIOS_ROM4に格納されたBIOSプログラム5を不図示の主記憶装置に展開する。CPU2は、主記憶装置に展開された命令を実行する。
CPU2は、命令に従いハードウェアの初期化処理を実行する。
CPU2は、ハードウェアの初期化処理が実行されるのに応じて、各種命令を実行する。CPU2は、ハードウェアの構成情報として、デバイス3の種別識別子を読み出す(ステップS1)。
CPU2は、デバイス3の種別識別子を読み出せた場合(ステップS2における「YES」)、種別識別子を基にBIOS_ROM4に格納されているリソーステーブル6を参照する(ステップS3)。一方、CPU2は、デバイス3の種別識別子を読み出せなかった場合(ステップS2における「NO」)、処理を終了する。
CPU2は、リソーステーブル6を参照した結果、デバイス3から読み出した種別識別子がリソーステーブル6に存在する場合(ステップS4における「YES」)、リソーステーブル6に記述された情報を基にデバイス3に対してリソース情報を割り当てる(ステップS5)。
一方、CPU2は、デバイス3から読み出した種別識別子がリソーステーブル6に存在しない場合(ステップS4における「NO」)、格納部7に格納されたフラグの状態を判別する(ステップS6)。
CPU2は、格納部7に格納されたフラグの状態を判別した結果、フラグの状態が「セット」の場合(ステップS7において「YES」)、デバイス3にリソース情報を割り当てる命令を実行する(ステップS8)。一方、CPU2は、フラグの状態が「リセット」の場合(ステップS7における「NO」)、処理を終了する。
尚、デバイスにリソース情報の割り当てを行う処理自体は、現在では一般的な手法を採用することができるので、本実施形態における詳細な説明は省略する(以下の実施形態においても同様)。
CPU2は、デバイス3から読み出した種別識別子とデバイス3に割り当てたリソース情報とをリソーステーブル6に追加(更新)する(ステップS9)。さらに、CPU2は、格納部7に格納されたフラグの状態を「リセット」の状態に変更(更新)する(ステップS10)。
CPU2は、情報処理装置に接続されたリソース情報の割り当てを必要とするデバイスに対して、ステップS1乃至ステップS10までの処理を繰り返し実行する。
このように本実施の形態に係る情報処理装置1によれば、新たに追加したデバイスに対して、BIOSに格納された情報を更新することなく、リソース情報の割り当てを必要とするデバイスに対してリソース情報を付与することができる。その理由は、情報処理装置1は、格納部7に格納されたフラグの状態(セットまたはリセット)によって新たに追加したデバイスに対して、リソース情報を付与するからである。さらに、本実施形態では、リソース競合等の問題が発生することを防止することができる。また、本実施形態は、情報処理装置の起動時間を短縮することができる。その理由は、情報処理装置1は、各デバイスが保有する種別識別子を基にリソーステーブル6を参照する。さらに、情報処理装置1は、参照したリソーステーブル6の情報に基づいて各デバイスにリソース情報を固定して割り当てているためである。
<第2の実施形態>
次に、上述した第1の実施形態に係る情報処理装置を基本とする第2の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明する。その際、上述した各実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。
図3は、本発明の第2の実施形態における情報処理装置1と入力装置8の構成を示すブロック図である。
本実施形態では、第1の実施形態において説明した情報処理装置1に、入力装置8を適用した場合について説明する。
より具体的に、入力装置8は、一般的な通信手段(不図示)によって情報処理装置1に接続されている。入力装置8は、格納部7に対して情報の書き込みと情報の読み出しとを行うことができる。
即ち、ユーザは、入力装置8より格納部7に格納されたフラグの状態を変更(更新)することができる。
より具体的に、ユーザは、入力装置8より格納部7に格納されたフラグの状態を「セット」または「リセット」の状態に変更(更新)することができる。一例として、ユーザは、入力装置8に設けられたユーティリティソフト等を利用して格納部7に格納されたフラグの状態を「セット」または「リセット」の状態に変更(更新)する。これにより、ユーザは、容易にフラグの状態を変更(更新)することができる。
このように本実施の形態に係る情報処理装置1によれば、第1の実施形態において説明した効果を享受できると共に、さらに、格納部7に格納されたフラグの状態を効率よく変更(更新)することができる。その理由は、入力装置8を設けることで視覚的に操作および変更(更新)することができるからである。
(実施例)
次に、上述した第2の実施形態に係るより具体的な実施例として、情報処理装置1aについて、図4を参照して説明する。以下の説明においては、本実施例に係る特徴的な部分を中心に説明する。その際、上述した各実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。
図4は、本発明の実施例に係る情報処理装置1aと入力装置8の構成を示すブロック図である。
図4において、情報処理装置1aは、大別して、CPU10、チップセット13、BIOS_ROM4、ビーエムシー(Baseboard Management Controller;以降、「BMC」と称する)16、内蔵ピーシーアイエクスプレス・スイッチ(Periferal Computer Interconnect Express;以降、「PCIeスイッチ」と称する)17、第1の内蔵デバイス18、第2の内蔵デバイス19、第3の内蔵デバイス20、エフピージーエー(Field Programmable Gate Array;以降、「FPGA」と称する)21、第1の拡張スロット22、第2の拡張スロット28、第3の拡張スロット29を有する。
以下の説明において、説明の便宜上、CPU10が有するルート・コンプレックス(Root_Complex;以降、「RC」と称する)を第1のRC11、第2のRC12と称する。また、チップセット13が有するRCを第3のRC14、第4のRC15と称する。尚、第1のRC11、第2のRC12、第3のRC14、第4のRC15は、機能および動作に差異は無いこととする(以下の実施形態においても同様)。
より具体的に、CPU10は、第1のRC11、第2のRC12を有する。CPU10は、第1の実施形態におけるCPU2に相当する。
チップセット13は、第3のRC14、第4のRC15を有する。チップセット13は、CPU10と各デバイスとを接続すると共に、接続された各デバイスを制御する制御装置である。
第1のRC11、第2のRC12、第3のRC14、第4のRC15は、PCIeポートを有する。第1のRC11、第2のRC12、第3のRC14、第4のRC15は、PCIeポートを介して、PCIeデバイスを接続することができる。尚、本実施例にかかるRCは、現在では一般的に知られている技術を採用することができるので本実施例における説明は省略する。(以下の実施形態においても同様)。
本実施形態においてBMC16は、第1の実施形態における格納部7に相当する。
以下の説明において、説明の便宜上、情報処理装置1aが有する拡張スロットを第1の拡張スロット22、第2の拡張スロット27、第3の拡張スロット28と称する。(以下の実施形態においても同様)。尚、第1の拡張スロット22、第2の拡張スロット27、第3の拡張スロット28は、機能および動作に差異は無いこととする。
内蔵PCIeスイッチ17は、PCIeポートを増やすためのデバイスである。本実施形態において内蔵PCIeスイッチ17は、第1のRC11と第1の拡張スロット22、第2の拡張スロット28、第3の拡張スロット29に接続されることとする。
以下の説明において、説明の便宜上、情報処理装置1aの内部に有する内蔵デバイスを第1の内蔵デバイス18、第2の内蔵デバイス19、第3の内蔵デバイス20と称する(以下の実施形態においても同様)。
第1の内蔵デバイス18、第2の内蔵デバイス19、第3の内蔵デバイス20は、情報処理装置1aの内部に接続された基本的な機能を実現するデバイスである。本実施形態において、一例として、内蔵デバイスは、ユーエスビー(Universal Serial Bus;以降、「USB」と称する)ホストコントローラ等である。但し、本発明は、これらに限定されない(以下の実施形態においても同様)。
本実施形態において第1の内蔵デバイス18は、第2のRC12に接続されることとする。また、第2の内蔵デバイス19は、第3のRC14に接続されることとする。さらに、第3の内蔵デバイス20は、第4のRC15に接続されることとする。
FPGA21は、各デバイスから種別識別子を読出すと共に、チップセット13を経由してCPU10に種別識別子を出力する。
尚、本実施形態においてFPGA21が有する機能は、BMC16またはチップセット13によって実現可能である。
第1の拡張スロット22、第2の拡張スロット28、第3の拡張スロット29は、機能を拡張するための各種デバイスを接続するためのインターフェースである。
より具体的に、第1の拡張スロット22は、拡張カード23が接続されていることとする。
以下の説明において、説明の便宜上、拡張カード23の内部に有する機能を拡張するためのデバイスを第1の拡張デバイス25、第2の拡張デバイス26と称する(以下の実施形態においても同様)。
拡張カード23は、拡張PCIeスイッチ24、第1の拡張デバイス25、第2の拡張デバイス26、レジスタ27を有する。
拡張PCIeスイッチ24は、PCIeポートを増やすためのデバイスである。本実施形態において拡張PCIeスイッチ24は、内蔵PCIeスイッチ17と第1の拡張デバイス25および第2の拡張デバイス26に接続されることとする。尚、一例として、拡張デバイスは、第1の拡張デバイス25と第2の拡張デバイス26との2つのデバイスを接続した場合を示したが、これに限らず、拡張デバイスは、複数のデバイスを接続してもよい。また、PCIeポートを増やす必要が無い場合、拡張PCIeスイッチ24は、拡張デバイスを内蔵PCIeスイッチ17に接続することで省略することができる。
第1の拡張デバイス25および第2の拡張デバイス26は、情報処理装置1aの機能を拡張するためのデバイスである。
レジスタ27は、種別識別子や拡張カード23を制御するための各種情報を格納する記憶ユニットである。
次に、本発明の実施例に係るより具体的な情報処理装置1aの動作について説明する。
本実施例において、情報処理装置1aは、新たに接続した拡張カード23に対して、リソース情報を割り当てる場合の動作について詳細に説明する。さらに、拡張カード23の種別識別子は、リソーステーブル6に記述が無いものとする。また、拡張カード23以外のデバイスは、リソーステーブル6に種別識別子および種別識別子に対応したリソース情報が記述されているものとする。
ユーザは、情報処理装置1aの主電源を投入するのに先立って、入力装置8よりBMC16に格納されたフラグを「セット」の状態に変更(更新)する。
以下の説明において、情報処理装置1aは、第1のRC11、第2のRC12、内蔵PCIeスイッチ17、拡張スロット22、拡張スロット28、拡張スロット29、拡張カード23、第1の内部デバイス18、第2の内部デバイス19、第3の内部デバイス20の順にリソース情報の割り当て処理を実行する。
まず、情報処理装置1aは、リソーステーブル6に種別識別子および種別識別子に対応したリソース情報が記述されている場合の処理について説明する。
情報処理装置1aは、主電源が投入されるのに応じて、CPU10がBIOS_ROM4に格納されたBIOSプログラム5を不図示の主記憶装置に展開する。CPU10は、主記憶装置に展開された命令を実行する。
CPU10は、命令に従いハードウェアの初期化処理を実行する。
CPU10は、ハードウェアの初期化処理が実行されるのに応じて、各種命令を実行する。CPU10は、ハードウェアの構成情報として、第1のRC11の種別識別子を読み出す命令を実行する。
FPGA21は、第1のRC11の種別識別子を読み出す命令の実行に応じて、第1のRC11の種別識別子を読み出すと共に、チップセット13を経由してCPU10に出力する。
CPU10は、第1のRC11の種別識別子を取得するのに応じて、種別識別子を基にBIOS_ROM4に格納されているリソーステーブル6を参照する。
CPU10は、リソーステーブル6を参照した結果、デバイスから読み出した種別識別子がリソーステーブル6に存在するため、リソーステーブル6に記述された情報を基に第1のRC11に対してリソース情報を割り当てる。
情報処理装置1aは、上述した処理を繰り返すことにより、第2のRC12、内蔵PCIeスイッチ17、拡張スロット22、拡張スロット28、拡張スロット29、第1の内部デバイス18、第2の内部デバイス19、第3の内部デバイス20にリソース情報を割り当てる。
次に、情報処理装置1aが新たに接続した拡張カード23に対して、リソース情報を割り当てる場合の動作について説明する。
CPU10は、ハードウェアの構成情報として、拡張カード23の種別識別子を読み出す命令を実行する。
FPGA21は、拡張カード23の種別識別子を読み出す命令の実行に応じて、拡張カード23の種別識別子を読み出すと共に、チップセット13を経由してCPU10に出力する。
CPU10は、拡張カード23の種別識別子を取得するのに応じて、種別識別子を基にBIOS_ROM4に格納されているリソーステーブル6を参照する。
CPU10は、リソーステーブル6を参照した結果、CPU10は、拡張カード23から読み出した種別識別子がリソーステーブル6に存在しないため、BMC16に格納されたフラグの状態を判別する。
CPU10は、BMC16に格納されたフラグの状態を判別した結果、フラグの状態が「セット」のため、拡張カード23の内部に有する拡張PCIeスイッチ24、第1の拡張デバイス25、第2の拡張デバイス26にリソース情報を割り当てる。
CPU10は、拡張カード23にリソース情報を割り当てたことに応じて、拡張カード23から読み出した種別識別子と拡張カード23の内部に有する拡張PCIeスイッチ24、第1の拡張デバイス25、第2の拡張デバイス26に割り当てたリソース情報とをリソーステーブル6に追加(更新)する。さらに、CPU10は、BMC16に格納されたフラグの状態を「リセット」の状態に変更(更新)する。
尚、一例として、PCIeインターフェースに対してリソース情報を割り当てる場合について説明したが、これに限らず、例えばPCIインターフェースやピーシーアイエックス(Periferal Computer Interconnect−X;以降、「PCI−X」と称する)インターフェース等のリソース情報を必要とする各種デバイスに対しても適用可能である。
このように本実施の形態に係る情報処理装置1aによれば、第1の実施形態において説明した効果を享受できると共に、さらに、本実施例にて説明した情報処理装置を集積回路等に利用して実現することができる。また、FPGA21を設けることで効率よく各種デバイスから種別識別子の入出力を制御することができる。
本発明は、上述した各実施形態には限定されない。本発明は、組み込みコンピュータシステム、パーソナルコンピュータ、POS(Point Of Sale)システム、サーバ、複写機、複合機等の演算処理装置や集積回路を搭載する各種の電子機器に適用可能である。
1 情報処理装置
1a 情報処理装置
2 CPU
3 デバイス
4 BIOS_ROM
5 BIOSプログラム
6 リソーステーブル
7 格納部
8 入力装置
10 CPU
11 第1のRC
12 第2のRC
13 チップセット
14 第3のRC
15 第4のRC
16 BMC
17 内蔵PCIeスイッチ
18 第1の内蔵デバイス
19 第2の内蔵デバイス
20 第3の内蔵デバイス
21 FPGA
22 第1の拡張スロット
23 拡張カード
24 拡張PCIeスイッチ
25 第1の拡張デバイス
26 第2の拡張デバイス
27 レジスタ
28 第2の拡張スロット
29 第3の拡張スロット

Claims (10)

  1. 自装置に装着されたデバイスと、
    CPUによって実行される、前記デバイスの動作に必要なリソース情報の割り当てを制御する命令を含むBIOSプログラムと、
    前記デバイスに予め記憶された種別識別子と、その前記種別識別子に対応した前記リソース情報とが記述されたリソーステーブルと、
    前記デバイスに対して前記リソース情報を付与するか否かを判別するところの、フラグを格納する格納部とを備え、
    前記BIOSプログラムは、
    前記デバイスから読み出した前記種別識別子を基に前記リソーステーブルを参照し、参照した結果、該種別識別子が無い場合には、前記格納部のフラグの状態を判別し、前記リソース情報の割り当てが必要と判別した場合に、前記デバイスに前記リソース情報を付与すると共に、該種別識別子と該リソース情報とを基に前記リソーステーブルを更新することを特徴とする情報処理装置。
  2. 前記BIOSプログラムは、
    前記デバイスから読み出した前記種別識別子を基に前記リソーステーブルを参照し、参照した結果、該種別識別子がある場合には、前記リソーステーブルの記述に基づき、前記種別識別子に対応した前記リソース情報を付与することを特徴とする請求項1に記載の情報処理装置。
  3. 前記BIOSプログラムは、
    前記格納部のフラグの状態に基づき、前記リソース情報の割り当てが不要と判別した場合に、前記デバイスに前記リソース情報を付与しないことを特徴とする請求項1または請求項2に記載の情報処理装置。
  4. 前記格納部は、
    前記デバイスに前記リソース情報の割り当てが必要な場合には、フラグをセットし、前記リソース情報の割り当てが不要な場合は、フラグをリセットすることを特徴とする請求項1に記載の情報処理装置。
  5. 前記格納部に格納されたフラグをセットまたはリセットに更新するに際して、自装置に接続された入力装置によって、更新作業を実行することを特徴とする請求項1乃至請求項4の何れかに記載の情報処理装置。
  6. 前記BIOSプログラムと、
    前記リソーステーブルとを記憶する記憶媒体をさらに有することを特徴とする請求項1乃至請求項3の何れかに記載の情報処理装置。
  7. 自装置に装着されたデバイスに対して、動作に必要なリソース情報を付与するか否かを判別するフラグを格納し、
    前記デバイスから読み出した前記種別識別子を基に種別識別子と、その前記種別識別子に対応した前記リソース情報とが記述されたリソーステーブルを参照し、
    参照した結果、該種別識別子が無い場合には、前記フラグの状態を判別し、
    前記リソース情報の割り当てが必要と判別した場合に、前記デバイスに前記リソース情報を付与すると共に、該種別識別子と該リソース情報とを基に前記リソーステーブルを更新することを特徴とする情報処理装置におけるリソースの制御方法。
  8. 前記デバイスから読み出した前記種別識別子を基に前記リソーステーブルを参照し、参照した結果、該種別識別子がある場合には、前記リソーステーブルの記述に基づき、前記種別識別子に対応した前記リソース情報を付与することを特徴とする請求項7に記載の情報処理装置におけるリソースの制御方法。
  9. 前記格納部のフラグの状態に基づき、前記リソース情報の割り当てが不要と判別した場合に、前記デバイスに前記リソース情報を付与しないことを特徴とする請求項7または請求項8に記載の情報処理装置におけるリソースの制御方法。
  10. 情報処理装置の動作制御のためのコンピュータ・プログラムであって、そのコンピュータ・プログラムにより、
    前記情報処理装置に装着されたデバイスに対して、動作に必要なリソース情報を付与するか否かを判別するところの、フラグを格納する機能と、前記デバイスから読み出した前記種別識別子を基に種別識別子と、その前記種別識別子に対応した前記リソース情報とが記述されたリソーステーブルを参照し、参照した結果、該種別識別子が無い場合には、前記フラグの状態を判別し、前記リソース情報の割り当てが必要と判別した場合に、前記デバイスに前記リソース情報を付与すると共に、該種別識別子と該リソース情報とを基に前記リソーステーブルを更新する機能とを備えることを特徴とするコンピュータ・プログラム。
JP2012046427A 2012-03-02 2012-03-02 情報処理装置および情報処理装置におけるリソースの制御方法、並びにコンピュータ・プログラム Pending JP2013182461A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012046427A JP2013182461A (ja) 2012-03-02 2012-03-02 情報処理装置および情報処理装置におけるリソースの制御方法、並びにコンピュータ・プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012046427A JP2013182461A (ja) 2012-03-02 2012-03-02 情報処理装置および情報処理装置におけるリソースの制御方法、並びにコンピュータ・プログラム

Publications (1)

Publication Number Publication Date
JP2013182461A true JP2013182461A (ja) 2013-09-12

Family

ID=49273057

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012046427A Pending JP2013182461A (ja) 2012-03-02 2012-03-02 情報処理装置および情報処理装置におけるリソースの制御方法、並びにコンピュータ・プログラム

Country Status (1)

Country Link
JP (1) JP2013182461A (ja)

Similar Documents

Publication Publication Date Title
US8970884B2 (en) Image forming apparatus
US9454397B2 (en) Data processing systems
TWI512479B (zh) 針對記憶體映射組態分派處理器之技術
US11106622B2 (en) Firmware update architecture with OS-BIOS communication
US20140156898A1 (en) Pci and pci express virtual hot plug systems and methods
US10572434B2 (en) Intelligent certificate discovery in physical and virtualized networks
JP2013077076A (ja) 仮想計算機を制御する計算機装置及び仮想計算機の制御方法
JP2008287505A (ja) 情報処理装置およびレガシーエミュレーション処理停止制御方法
US7886095B2 (en) I/O space request suppressing method for PCI device
JP4692912B2 (ja) リソース割り当てシステム、及びリソース割り当て方法
JP2005250975A (ja) 情報処理装置とデバイスドライバのロード方法並びにプログラム
JP4660362B2 (ja) 計算機システム
JP2002288104A (ja) コンピュータシステム、そのリソース割り当て方法及びプログラム
JP2016018555A (ja) 動作環境の切換方法、コンピュータ、およびコンピュータ・プログラム
US9558364B2 (en) Computing machine, access management method, and access management program
JP2011221634A (ja) 計算機システム、論理区画管理方法及び論理分割処理プログラム
CN107301037B (zh) 操作系统内核的加载方法和装置
JP2007034514A (ja) 情報処理装置
JP2011204077A (ja) 情報処理装置、リソース割り当て方法、およびリソース割り当てプログラム
JP2013182461A (ja) 情報処理装置および情報処理装置におけるリソースの制御方法、並びにコンピュータ・プログラム
JP5699665B2 (ja) サーバ装置、処理実行方法およびプログラム
US20120284711A1 (en) Method and Arrangement for Configuring a Resource for a Virtual Runtime Environment
JP4841371B2 (ja) コンピュータシステムおよびそのi/o空間リソース割り当て方法
US20120124574A1 (en) Virtual computer system and method of installing virtual computer system
JP7318799B2 (ja) 情報処理装置、操作制御方法および操作制御プログラム