"第1および第2のコントローラと、複数の外部コネクタと、前記複数の外部コネクタの各々を前記第1および第2のコントローラのいずれか一方に接続するスイッチと、前記複数の外部コネクタの各々に対する外部デバイスの接続を検出する検出部と、前記複数の外部コネクタの内の第1の外部コネクタに外部デバイスが接続されたことが検出された場合、前記複数の外部コネクタに接続されている外部デバイスの数に応じて、前記第1の外部コネクタに接続された外部デバイスが割り当てられるべきコントローラを前記第1および第2のコントローラから選択し、前記第1の外部コネクタが前記選択されたコントローラに接続されるように前記スイッチを制御する制御手段とを具備する情報処理装置。前記制御手段は、前記複数の外部コネクタに接続されている外部デバイスの数が所定個数を超えるまでは前記第1の外部コネクタに接続された外部デバイスを前記第1のコントローラに優先的に割り当てるように構成されている請求項1記載の情報処理装置。前記制御手段は、前記複数の外部コネクタに接続されている外部デバイスの数が所定個数を超えるまでは前記第1の外部コネクタに接続された外部デバイスを前記第1のコントローラに優先的に割り当て、前記第2のコントローラをディスエーブル状態に維持するように構成されている請求項1記載の情報処理装置。前記制御手段は、前記第1のコントローラと前記第2のコントローラとに外部デバイスそれぞれが分散して割り当てるように構成されている請求項1記載の情報処理装置。前記制御手段は、第1動作モードおよび第2動作モードのいずれか一方で動作するように構成されており、前記第1動作モードの場合は、前記複数の外部コネクタに接続されている外部デバイスの数が所定個数を超えるまでは前記第1の外部コネクタに接続された外部デバイスを前記第1のコントローラに優先的に割り当て、前記第2動作モードの場合は、前記第1のコントローラと前記第2のコントローラに分散して外部デバイスそれぞれを分散して割り当てる請求項1記載の情報処理装置。前記制御手段が前記第1動作モードである間は、前記制御手段は、前記複数の外部コネクタに接続されている1以上の外部デバイスの数が所定個数を超えるまでの間、前記第2のコントローラをディスエーブル状態に維持するように構成されている請求項5記載の情報処理装置。前記情報処理装置の電力ソースが前記情報処理装置内のバッテリまたは外部電源のいずれであるかを判定し、前記電力ソースが前記バッテリである場合、前記制御手段を前記第1の動作モードに設定し、前記電力ソースが前記外部電源である場合、前記制御手段を前記第2の動作モードに設定する動作モード制御手段をさらに具備する請求項5記載の情報処理装置。前記第1のコントローラは内蔵デバイスが接続される第1ポートと、前記スイッチに接続される1以上の第2ポートとを備え、前記第2コントローラは、前記スイッチに接続される1以上の第3ポートを備え、前記スイッチは、前記複数の外部コネクタの各々を前記1以上の第2ポートおよび前記1以上の第3ポートのいずれかのポートに接続するように構成されている請求項1記載の情報処理装置。情報処理装置の複数の外部コネクタの各々に対する外部デバイスの割り当てを制御する割り当て制御方法であって、前記複数の外部コネクタの任意の一つの外部コネクタに外部デバイスが接続されたことが検出された場合、前記複数の外部コネクタに現在接続されている1以上の外部デバイスの数に応じて、前記任意の一つの外部コネクタに接続された外部デバイスが割り当てられるべきコントローラを、前記情報処理装置内の第1および第2のコントローラから選択し、前記任意の一つの外部コネクタが前記選択されたコントローラに接続されるように、前記第1および第2のコントローラと前記複数の外部コネクタとの間に接続されたスイッチを制御する割り当て制御方法。2つ以上のコントローラを内蔵するホストコントローラにおいては、各外部デバイスが2つのコントローラにどのように割り当てられるかによって、そのホストコントローラの電力消費またはパフォーマンスに影響が与えられる可能性がある。しかし、外部デバイスがどのコントローラに割り当てられるかは、ユーザが外部デバイスをどの外部コネクタに接続するかによって決定されてしまう。換言すれば、ユーザによってある外部コネクタに接続された外部デバイスは、その外部コネクタに対応するコントローラに割り当てられる。したがって、個々のコントローラに対する外部デバイスの割り当てをシステム内で制御するための新たな機能の実現が必要である。本発明は、複数のコントローラに対するデバイスの割り当てを柔軟に制御することができる情報処理装置および割り当て制御方法を提供することを目的とする。実施形態によれば、情報処理装置は、第1および第2のコントローラと、複数の外部コネクタと、スイッチと、検出部と、制御手段とを具備する。前記スイッチは、前記複数の外部コネクタの各々を前記第1および第2のコントローラのいずれか一方に接続する。前記検出部は、前記複数の外部コネクタの各々に対する外部デバイスの接続を検出する。前記制御手段は、前記複数の外部コネクタの内の第1の外部コネクタに外部デバイスが接続されたことが検出された場合、前記複数の外部コネクタに接続されている外部デバイスの数に応じて、前記第1の外部コネクタに接続された外部デバイスが割り当てられるべきコントローラを前記第1および第2のコントローラから選択し、前記第1の外部コネクタが前記選択されたコントローラに接続されるように前記スイッチを制御する。以下、実施の形態について図面を参照して説明する。図1は、一実施形態に係る情報処理装置の外観を示す斜視図である。この情報処理装置は、たとえば、ノートブックタイプのパーソナルコンピュータPC、タブレットPC、PDA等として実現され得る。以下では、この情報処理装置がノートブックタイプのパーソナルコンピュータ10として実現されている場合を想定する。図1に示すように、本コンピュータ10は、コンピュータ本体11と、ディスプレイユニット12とから構成される。ディスプレイユニット12には、LCD16LiquidCrystalDisplayから構成される表示装置が組み込まれている。ディスプレイユニット12は、コンピュータ本体11の上面が露出される開放位置とコンピュータ本体11の上面を覆う閉塞位置との間を回動自在にコンピュータ本体11に取り付けられている。ディスプレイユニット12にはカメラWebカムコーダ18が設けられている。カメラ18はディスプレイユニット12のたとえば上端部に配置されている。コンピュータ本体11は薄い箱形の筐体を有しており、その上面にはキーボード13、本コンピュータ10をパワーオン/オフするためのパワーボタン14、およびタッチパッドのようなポインティングデバイス15が配置されている。ポインティングデバイス15としては、マウスや、タッチパネルを用いてもよい。さらに、コンピュータ本体11には複数の外部コネクタ171、172、173が設けられている。これら外部コネクタ171、172、173は、たとえばコンピュータ本体11の周壁にここでは、コンピュータ本体11の左側面に配置されている。外部コネクタ171、172、173はUSBデバイスのような外部デバイスリムーバブルデバイスを抜き出し自在に接続するためのコネクタである。以下では、外部コネクタ171、172、173がUSBデバイスを接続するための外部コネクタUSBコネクタである場合を想定する。コンピュータ本体11に設けられるUSBコネクタの数は3つには限られない。2以上の任意の数のUSBコネクタをコンピュータ本体11に、またはディスプレイユニット12に設けてもよい。図2は、本コンピュータ10のシステム構成を示している。本コンピュータ10は、CPU111、ブリッジデバイス112、主メモリ113、グラフィクスコントローラ114、USBホストコントローラ115、ハードディスクドライブHDD116、ネットワークコントローラ117、BIOS-ROM118、エンベデッドコントローラ/キーボードコントローラICEC/KBC119、電源回路120、TVチューナ131、バススイッチ201等を備えている。CPU111は、本コンピュータ10の各コンポーネントの動作を制御するプロセッサである。このCPU111は、HDD116から主メモリ113にロードされる、オペレーティングシステムおよび各種ユーティリティ/アプリケーションプログラムを実行する。また、CPU111は、フラッシュBIOS-ROM118に格納されたBIOSも実行する。BIOSは、ハードウェア制御のためのプログラムである。ブリッジデバイス112は、グラフィクスコントローラ114との通信を実行する機能を有している。グラフィクスコントローラ114は、本コンピュータ10のディスプレイモニタとして使用されるLCD16を制御する表示コントローラである。さらに、ブリッジデバイス112には、主メモリ113を制御するメモリコントローラも内蔵されている。また、ブリッジデバイス112は、PCIPeripheralComponentInterconnectバス上の各デバイスおよびLPCLowPINCountバ上の各デバイスとの通信も実行する。またさらに、ブリッジデバイス112は、USBホストコントローラ115も内蔵している。USBホストコントローラ115は、コンピュータ10内に設けられた幾つかのUSBデバイス内蔵USBデバイス、および任意の外部コネクタ171、172、173に接続されるUSBデバイス外部USBデバイスを制御するコントローラである。このUSBホストコントローラ115は、2つ以上のコントローラを内蔵している。ここでは、USBホストコントローラ115が、第1および第2の2つのコントローラ115A、115Bを備えている場合を想定する。第1のコントローラ115Aおよび第2のコントローラ115Bの各々は、たとえば、USB2.0規格に対応するホストコントローラであるEHCIコントローラによって実現されている。第1のコントローラ115Aおよび第2のコントローラ115Bの各々は、たとえば、最大8ポートをサポートするように構成されている。各ポートは、シリアルバスUSB信号ラインを介してUSBデバイスとの通信を実行するために用いられる。カメラ18、TVチューナ131などの内蔵デバイスは、内蔵USBデバイスとして実現されていてもよい。この場合、カメラ18およびTVチューナ131の各々は、USB2.0規格のHi-Speedデバイスであってもよい。各内蔵USBデバイスは、USBホストコントローラ115が有する複数のポートの一つに固定的に接続される。バススイッチ201は、USBホストコントローラ115と外部コネクタ171、172、173との間に配置されている。より詳しくは、バススイッチ201は、第1および第2のコントローラ115A、115Bと複数の外部コネクタ171、172、173との間を接続する。このバススイッチ201は、外部コネクタ171、172、173の各々をUSBホストコントローラ115の任意の使用可能ポート空きポートに接続するスイッチとして機能する。換言すれば、バススイッチ201は、外部コネクタ171、172、173の各々を第1および第2のコントローラ115A、115Bのいずれか一方に接続する。本実施形態では、上述したように2つ以上のEHCIコントローラ最大8ポートサポートを内蔵するUSBホストコントローラ115が用いられる。この場合、各USBデバイスの各EHCIコントローラへの割り当てをどのようにするかによって、USBホストコントローラ115の電力消費若しくはUSBホストコントローラ115のパフォーマンスに影響が与えられる可能性がある。即ち、省電力の点で言えば、一方のEHCIコントローラに全てのデバイスをアサインしそれで数が足りるのであれば、他方のEHCIコントローラをディセーブルにすることが好ましい。これにより、無駄な消費電力を抑えることができる。一方、パフォーマンスの点で言えば、一方のEHCIコントローラになるべくデバイスが集中しないように、2つのEHCIコントローラにバランス良くデバイスをアサインした方が有利である。しかしながら、外部USBコネクタを多数持つシステムでは、どのポートにデバイス外部USBデバイスが繋がるかはユーザ側がどの外部コネクタを使うかによって左右される。このため第1および第2のコントローラ115A、115Bに対するデバイスそれぞれのアサインの最適化が難しい。本実施形態では、2つのEHCIコントローラに対するデバイス外部USBデバイスのアサインを最適化するために、上述のバススイッチ201が用いられる。すなわち、本実施形態では、外部コネクタに外部デバイス外部USBデバイスが新たに接続された時、その時点で接続されている外部デバイス外部USBデバイスの数に応じて、その新たに接続された外部デバイスをUSBホストコントローラ115のどのポートにアサインするかが決定される。換言すれば、複数の外部コネクタに現在接続されている外部デバイス外部USBデバイスの数に応じて、新たに接続された外部デバイスが割り当てられるべきコントローラが、第1および第2のEHCIコントローラ115A,115Bから選択される。そして、新たに接続された外部デバイスに対応する外部コネクタが、選択されたEHCIコントローラに接続されるように、つまり、新たに接続された外部デバイスがUSBホストコントローラ115の決定されたポートに割り当てられるように、バススイッチ201が制御される。したがって、外部デバイス外部USBデバイスがどの外部コネクタに接続された場合でも、その外部デバイス外部USBデバイスを所望のEHCIコントローラに、つまり、USBホストコントローラ115の所望のポートに、割り当てることができる。よって、EHCIコントローラ115A,115Bに対する外部デバイス外部USBデバイスそれぞれの割り当てをシステム内で柔軟に制御することができる。例えば、各外部デバイスがどの外部コネクタに挿入されても片側のEHCIコントローラにそれら外部デバイスが集中して割り当てられるようにバススイッチ201を制御してもよい。これにより、他方のEHCIコントローラをディセーブルにすることができるので、USBホストコントローラ115の省電力化を実現できる。逆に、複数のEHCIコントローラに対して外部デバイスそれぞれがバランスよく分散して割り当てられるようにするために、各外部デバイスがどの外部コネクタに挿入されてもそれら外部デバイスが2つのEHCIコントローラ115A,115Bにバランスよく分散して割り当てられるように、バススイッチ201を制御してもよい。これにより、外部デバイス同士外部USBデバイス同士の通信の干渉によるスループットの低下つまり、片側のEHCIコントローラに外部デバイスが偏って割り当てられることによるスループットの低下を防ぐことができ、USBホストコントローラ115のパフォーマンス向上を実現できる。前者は省電力優先のUSBポート割り当て制御方法であると云える。また後者はパフォーマンス優先のUSBポート割り当て制御方法であると云える。省電力優先の割り当て制御方法省電力モードとパフォーマンス優先の割り当て制御方法パフォーマンスモードのどちらのモードを使用するかは、ユーザがオペレーティングシステム上の専用のユーザインタフェースを介して任意に指定することができる。また、コンピュータ10が外部電力によって駆動されている間AC電力駆動はパフォーマンスモードを選択し、コンピュータ10が内蔵のバッテリによって駆動されている間バッテリ駆動は省電力モードを選択してもよい。エンベデッドコントローラ/キーボードコントローラICEC/KBC119は、電力管理のためのエンベデッドコントローラと、キーボードKB13およびポインティングデバイス15などを制御するキーボードコントローラとが集積された1チップマイクロコンピュータである。EC/KBC119は、電源回路120と共同して、ユーザによるパワーボタンスイッチ14の操作に応じて本コンピュータ10を電源オン/電源オフする。電源回路120は、コンピュータ本体11に内蔵されたバッテリ121またはACアダプタ122を介して供給される外部電源を用いて、本コンピュータ10の各コンポーネントに供給すべきシステム電源を生成する。次に、図3を参照して、本実施形態のコンピュータ10に設けられたポート割り当て制御サブシステムの構成を説明する。上述したように、ホストコントローラ115は2つのECHIコントローラ115A、115Bを内蔵する。第1のEHCIコントローラEHCI1115AがPort0-7を、第2のEHCIコントローラEHCI2115BがPort8-13を持つ。Port0-6には内蔵USBデバイスがそれぞれ接続されているものとする。Port7-9はバススイッチ201を介して外部コネクタ171、172、173に接続される。つまり、Port7-9と外部コネクタ171-173との間の3つのUSB信号ラインにはバススイッチ201が挿入されている。バススイッチ201は、マイクロコンピュータ203から受信される制御信号に応じて、外部コネクタ171-173の各々をPort7-9内の任意のポートに接続する。なお、ここでは、第1のEHCIコントローラEHCI1115AのPort7と第2のEHCIコントローラEHCI2115BのPort8,9とがバススイッチ201に接続される場合を例示したが、これに限られない。第1のEHCIコントローラEHCI1115Aの1以上のポートと第2のEHCIコントローラEHCI2115Bの1以上のポートがバススイッチ201に接続されるようにしてもよい。外部コネクタ171-173のいずれにもデバイスが挿入されていない初期状態では、バススイッチ201により、Port7-9と外部コネクタ171-173との間は遮断状態非接続状態に設定される。つまり、バススイッチ201は、Port7-9の各々を全ての外部コネクタ171-173から電気的に分離する。これにより、どの外部コネクタに外部デバイスが接続されても、その時点では、その外部デバイスはホストコントローラ115には接続されない。よって、外部コネクタに外部デバイスが接続された時点で、その外部デバイスがホストコントローラ115の特定のポートにアサインされてしまうことを防止することができる。接続検出回路202は、外部コネクタ171-173に対応する3つのUSB信号ラインに接続されている。接続検出回路202は、外部コネクタ171-173の各々に対する外部デバイスの接続挿入、および外部コネクタ171-173の各々からの外部デバイスの抜き出しを検出する検出部である。ある外部コネクタに外部USBデバイスが挿入された時、接続検出回路202は、その外部コネクタに外部USBデバイスが挿入されたことを検出し、その外部コネクタに外部USBデバイスが挿入されたことを示す接続検出信号をマイクロコンピュータ203に送信する。同様に、接続検出回路202は、ある外部コネクタから外部USBデバイスが抜き出された時、その外部コネクタから外部USBデバイスが抜き出されたことを検出し、その外部コネクタから外部USBデバイスが抜き出されたことを示す抜出検出信号をマイクロコンピュータ203に送信する。マイクロコンピュータ203は、バススイッチ201を用いて、外部USBデバイスをPort7-9内の任意のポートに割り当てるためのUSBポート割り当て制御処理を実行する。接続検出回路202から検出信号接続検出信号、抜出検出信号を受信した時、マイクロコンピュータ203は、外部コネクタ171-173に現在接続されているデバイスの数を判定する。そして、マイクロコンピュータ203は、デバイスの数に応じて、必要に応じてバススイッチ201を制御し、これによってUSBデバイスに対するPortアサインをコントロールする。また、場合によっては、マイクロコンピュータ203は、USBホストコントローラ115内のEHCIコントローラEHCI2のイネーブルディセーブル処理も行う。USBデバイスのPortアサイン及びEHCIコントローラのイネーブルディセーブルの制御は、OS上で動作するソフトウェアによって実行するようにしてもよい。なお、イネーブルディセーブル制御の対象となるEHCIコントローラは、内蔵USBデバイスが接続されていないEHCIコントローラである。たとえば、USBホストコントローラ115が3つのEHCIコントローラを内蔵しており、それら3つのEHCIコントローラ内の2つのEHCIコントローラの各々に内蔵USBデバイスが接続され、残りの1つのEHCIコントローラに内蔵USBデバイスが接続されていない場合には、残りの1つのEHCIコントローラがイネーブルディセーブル制御の対象となる。USBポート割り当て制御処理の概要は以下の通りである。ある一つの外部コネクタに外部USBデバイス第1の外部USBデバイスが接続されたことが検出された場合、マイクロコンピュータ203は、外部コネクタ171-173に現在接続されている1以上の外部USBデバイスの数に応じて、第1の外部USBデバイスが割り当てられるべきEHCIコントローラを2つのEHCIコントローラ115A,115Bから選択する。換言すれば、マイクロコンピュータ203は、第1の外部USBデバイスが割り当てられるべきポートをPort7-9から選択する。そして、マイクロコンピュータ203は、第1の外部USBデバイスが接続された外部コネクタが、選択されたEHCIコントローラに接続されるように、つまり、第1の外部USBデバイスが接続された外部コネクタが、選択されたポートに接続されるように、バススイッチ201を制御する。バススイッチ201に接続されるEHCIコントローラ115Aのポート数は既知であり、またバススイッチ201に接続されるEHCIコントローラ115Bのポート数も既知であるので、マイクロコンピュータ203は、第1の外部USBデバイスが割り当てられるべきEHCIコントローラを、つまり、第1の外部USBデバイスが割り当てられるべきポートを、外部コネクタ171-173に現在接続されている1以上の外部USBデバイスの数に応じて決定することができる。以下、本実施形態のUSBポート割り当て制御処理によってUSBホストコントローラ115の省電力を実現する例について説明する。図4のフローチャートは、外部USBデバイスが接続された時に実行されるUSBポート割り当て制御処理省電力モードの手順を示している。使用されていないEHCIコントローラをディセーブルにすることはシステムの電力消費を低減することを可能にする。接続される全USBデバイス内蔵USBデバイスと外部USBデバイスの合計が8個以下であれば、第1のEHCIコントローラEHCI1115Aのみをイネーブルにし、第2のEHCIコントローラEHCI2115Bをディセーブルにすることが可能となる。一般に、ノートブックタイプのパーソナルコンピュータPCでは、内蔵するUSBデバイスの数が多いため、接続される全USBデバイスが8個以下にならないことが多い。しかし、外部コネクタ171-173の全てが同時に使用されるとは限らない。このため、実際に使用中のデバイスの数だけ計上した場合には、全USBデバイスが8個以内に収まるケースが多く、本実施形態のUSBポート割り当て制御処理省電力モードはこのようなケースで利用し得る。まず、外部コネクタ171-173に一つも外部デバイスが挿入されていない時を初期状態とする。前述の通り、この時は、USBホストコントローラ116と外部コネクタ171-173との間はバススイッチ201により遮断されている。そして、この時は第2のEHCIコントローラEHCI2115Bに接続されているデバイスの数は0なので、第2のEHCIコントローラEHCI2115Bはディセーブルに設定される。ここで、いずれかの外部コネクタコネクタXとするに外部デバイスが挿入されたとする。接続検出回路202は、コネクタXに外部デバイスが挿入されたことを検出するステップS11。そして、接続検出回路202は、コネクタXに外部デバイスが挿入されたことをマイクロコンピュータ203に通知するステップS12。マイクロコンピュータ203は、外部コネクタ171-173に現在接続されている外部デバイスの数を判定するステップS13。外部デバイスが挿入された直後における全外部コネクタ171-173に対する接続デバイス数が1である時、つまり外部デバイスの挿入前は接続デバイス数が0である時ステップS13のYES、マイクロコンピュータ203は、ステップS14に進み、コネクタXに接続された外部デバイスが割り当てられるべきEHCIコントローラを第1のEHCIコントローラEHCI1115APort7に決定する。つまり、第1のEHCIコントローラEHCI1115Aが、外部デバイスが割り当てられるべきEHCIコントローラとして選択される。ステップS14では、マイクロコンピュータ203は、コネクタXがPort7に接続され、かつコネクタX以外の2つの未使用の外部コネクタがPort8,9にそれぞれ接続されるように、バススイッチ201を制御するバススイッチ切り替え。これにより、接続デバイス数が1の場合には、どの外部コネクタに外部USBデバイスが接続されたとしても、その外部USBデバイスは第1のEHCIコントローラEHCI1115Aに割り当てられる。したがって、全USBデバイスが第1のEHCIコントローラEHCI1115Aのみに接続されることになる。次いで、マイクロコンピュータ203は、バススイッチ切り替えをロックするステップS15。以降、外部コネクタ171-173から全外部デバイスが抜出されるまで、つまり外部コネクタ171-173に一つも外部デバイスが接続されていない状態になるまで、バススイッチ201の切り替えは行われない。換言すれば、コネクタXがPort7に接続され、かつコネクタX以外の2つの外部コネクタがPort8,9にそれぞれ接続された状態が維持される。コネクタXがPort7に接続された時、第1のEHCIコントローラEHCI1115AはコネクタXに接続された外部デバイスを、Port7に接続されたデバイスとして検出するステップS18。この外部デバイスはOSによって認識され、第1のEHCIコントローラEHCI1115AのPort7を介してこのデバイスとの通信が実行される。外部コネクタ171-173に現在接続されているデバイスの数が1でないならばステップS13のNO、マイクロコンピュータ203は、ステップS16に進み、外部コネクタ171-173に現在接続されている外部デバイスの数が2であるか否かを判定する。外部コネクタ171-173に現在接続されている外部デバイスの数が2であるならば、つまり、外部コネクタ171-173のいずれかに外部デバイスが1つ接続されている状態で、残りの2つの外部コネクタのいずれかに新たな外部デバイスが挿入された時はステップS16のYES、マイクロコンピュータ203は、第2のEHCIコントローラEHCI2115Bをイネーブルにし、これによってPort8,9を使用できる状態にするステップS17。Portアサインは最初の外部デバイスの接続時にステップS14の処理によってすでに確定されている。したがって、ここではバススイッチ201の切り替えは行わない。また、外部デバイスが2つ接続されている状態で、残りのコネクタ1つに新たな外部デバイスが挿入された時は、既に第2のEHCIコントローラEHCI2115Bはイネーブルになっているので、特に制御は行わない。新たな外部デバイスは第2のEHCIコントローラEHCI2115Bに割り当てられる。第2のEHCIコントローラEHCI2115Bは新たな外部デバイスを検出するステップS18。なお、ここでは、第1のEHCIコントローラEHCI1115Aの空きポートがPort7のみである場合を例示して説明したが、これに限られない。たとえば、第1のEHCIコントローラEHCI1115Aが複数の空きポートを有しており、それら複数の空きポートがバススイッチ201に接続されていてもよい。この場合、その空きポートの数と同じ数の外部USBデバイスが接続されるまでは、各外部USBデバイスが第1のEHCIコントローラEHCI1115Aに優先的に割り当てられるように、バススイッチ201を制御してもよい。すなわち、省電力モードにおいては、マイクロコンピュータ203は、外部コネクタ171-173に現在接続されている外部USBデバイスの数が所定個数バススイッチ201に接続されている第1のEHCIコントローラEHCI1115Aのポート数を超えるまでは、新たに接続された外部USBデバイスをEHCIコントローラ115Aに優先的に割り当てられる。つまり、マイクロコンピュータ203は、新たに接続された外部USBデバイスがEHCIコントローラ115Aに優先的に割り当てられるように、外部コネクタ171-173に現在接続されている1以上の外部USBデバイスの数に応じて、新たに接続された外部USBデバイスが割り当てられるべきコントローラを2つのEHCIコントローラ115A,115Bから選択する。さらに、マイクロコンピュータ203は、外部コネクタ171-173に現在接続されている外部USBデバイスの数が上述の所定個数を超えるまでは、EHCIコントローラ115Bをディスエーブル状態に維持する。図5のフローチャートは、外部USBデバイスが抜出された時に実行されるUSBポート割り当て制御処理省電力モードの手順を示している。いま、いずれかの外部コネクタコネクタXとするから外部デバイスが抜き出されたとする。接続検出回路202は、コネクタXから外部デバイスが抜き出されたことを検出するステップS21。そして、接続検出回路202は、コネクタXから外部デバイスが抜き出されたことをマイクロコンピュータ203に通知するステップS22。マイクロコンピュータ203は、デバイス抜き出し後における外部コネクタ171-173に対する接続デバイスの数を判定するステップS23。外部コネクタ171-173に対する接続デバイス数が0である時、つまり外部デバイスの抜き出し前は接続デバイス数が1である時ステップS23のYES、マイクロコンピュータ203は、ステップS24に進み、第2のEHCIコントローラEHCI2115Bをディセーブルにする。ステップS24では、マイクロコンピュータ203は、さらに、バススイッチ201のロックを解除し、バススイッチ201を初期状態、つまりUSBホストコントローラ116と外部コネクタ171-173との間がバススイッチ201により遮断されている初期状態に戻す。外部コネクタ171-173に対する接続デバイス数が0でないならばステップS23のNO、マイクロコンピュータ203は、外部コネクタ171-173に現在接続されている外部デバイスがPort7に割り当てられた外部デバイス外部コネクタに最初に接続されたデバイスのみであるか否かを判定するステップS25。外部コネクタ171-173に現在接続されている外部デバイスがPort7に割り当てられた外部デバイスのみであるならばステップS25のYES、マイクロコンピュータ203は、ステップS26に進み、第2のEHCIコントローラEHCI2115Bをディセーブルにする。以下、本実施形態のUSBポート割り当て制御処理によってUSBホストコントローラ115のパフォーマンス低下の防止を実現する例について説明する。図6のフローチャートは、外部USBデバイスが接続された時に実行されるUSBポート割り当て制御処理パフォーマンスモードの手順を示している。パフォーマンスの低下を防ぐには、なるべく一つのEHCIコントローラにデバイスの制御が偏らないようにしてデバイス間の干渉を防ぐことが重要である。本実施形態は、その中でも、外部コネクタに接続された外部デバイス同士の干渉を防ぐことに重点を置いたものである。外部コネクタ171-173に一つも外部デバイスが挿入されていない時を初期状態とする。前述の通り、この時は、USBホストコントローラ116と外部コネクタ171-173との間はバススイッチ201により遮断されている。パフォーマンスモードにおいては、第2のEHCIコントローラEHCI2115Bは常時イネーブル状態を保持しているものとする。ここで、いずれかの外部コネクタコネクタXとするに外部デバイスが挿入されたとする。接続検出回路202は、コネクタXに外部デバイスが挿入されたことを検出するステップS31。そして、接続検出回路202は、コネクタXに外部デバイスが挿入されたことをマイクロコンピュータ203に通知するステップS32。マイクロコンピュータ203は、外部コネクタ171-173に現在接続されている外部デバイスの数を判定するステップS33。外部デバイスが挿入された直後における全外部コネクタ171-173に対する接続デバイス数が1である時、つまり外部デバイスの挿入前は接続デバイス数が0である時ステップS33のYES、マイクロコンピュータ203は、ステップS34に進み、コネクタXに接続された外部デバイスが割り当てられるべきEHCIコントローラを第2のEHCIコントローラEHCI2115B、つまり内蔵デバイスが接続されているEHCIコントローラとは異なるEHCIコントローラ、に決定する。ステップS34では、マイクロコンピュータ203は、コネクタXがPort8に接続されるようにバススイッチ201を制御するバススイッチ切り替え。これにより、接続デバイス数が1の場合には、どの外部コネクタに外部USBデバイスが接続されたとしても、その外部USBデバイスは第2のEHCIコントローラEHCI2115Bに割り当てられる。これにより、内蔵USBデバイスと外部USBデバイスとの間の干渉に起因するスループットの低下を防ぐことができる。マイクロコンピュータ203は、残り2つの外部コネクタについてはホストコントローラ115と遮断された状態に維持する。この時点では、まだ、残り2つの外部コネクタのPortアサインを確定させない為である。第2のEHCIコントローラEHCI2115BはコネクタXに接続された外部デバイスを検出するステップS35。この外部デバイスはOSによって認識され、第2のEHCIコントローラEHCI2115BのPort8を介してこの外部デバイスとの通信が実行される。外部コネクタ171-173に現在接続されている外部デバイスの数が1でないならばステップS33のNO、マイクロコンピュータ203は、ステップS36に進み、外部コネクタ171-173に現在接続されている外部デバイスの数が2であるか否かを判定する。外部コネクタ171-173に現在接続されている外部デバイスの数が2であるならば、つまり、外部コネクタ171-173に外部デバイスが1つ接続されている状態で、残りの2つの外部コネクタのいずれかに新たな外部デバイスが挿入された時はステップS36のYES、マイクロコンピュータ203は、バススイッチ201がロックされているか否かを判定するステップS37。バススイッチ201がロックされていないならばステップS37のYES、マイクロコンピュータ203は、ステップS38に進み、コネクタXに接続された外部デバイスが割り当てられるべきEHCIコントローラを、第1のEHCIコントローラEHCI1115Aに決定する。ステップS38では、マイクロコンピュータ203は、コネクタXがPort7に接続され、残り1つのコネクタがPort9に接続されるように、バススイッチ201を制御するバススイッチ切り替え。これにより、二つ目の外部USBデバイスは、一つ目の外部デバイスを制御するEHCIコントローラとは別の第1のEHCIコントローラEHCI1115Aによって制御されるので、外部デバイス同士の干渉を防ぐことができる二つ目の外部デバイスは内蔵デバイスからの干渉は受けることになるが、前述の通り外部デバイス間の干渉を防ぐことを優先させている。次いで、マイクロコンピュータ203は、バススイッチ切り替えをロックするステップS39。以降、外部コネクタ171-173から全外部デバイスが抜出されるまで、つまり外部コネクタ171-173に一つも外部デバイスが接続されていない状態になるまで、バススイッチ201の切り替えは行われない。第2のEHCIコントローラEHCI2115Bは2つ目の外部デバイスを検出するステップS35。この外部デバイスはOSによって認識され、第1のEHCIコントローラEHCI1115AのPort7を介してこの2つ目の外部デバイスとの通信が実行される。このように、省電力モードでは、マイクロコンピュータ203は、2つのEHCIコントローラ115A,115Bに外部USBデバイスそれぞれを分散して割り当てられる。つまり、マイクロコンピュータ203は、2つのEHCIコントローラ115A,115Bに外部USBデバイスそれぞれが分散して割り当てられるように、外部コネクタ171-173に現在接続されている1以上の外部USBデバイスの数に応じて、新たに接続された外部USBデバイスが割り当てられるべきコントローラを2つのEHCIコントローラ115A,115Bから選択する。図7のフローチャートは、外部USBデバイスが抜出された時に実行されるUSBポート割り当て制御処理パフォーマンスモードの手順を示している。いま、いずれかの外部コネクタコネクタXとするから外部デバイスが抜き出されたとする。接続検出回路202は、コネクタXから外部デバイスが抜き出されたことを検出するステップS41。そして、接続検出回路202は、コネクタXから外部デバイスが抜き出されたことをマイクロコンピュータ203に通知するステップS42。マイクロコンピュータ203は、外部デバイス抜き出し後における外部コネクタ171-173に対する接続デバイスの数を判定するステップS43。外部コネクタ171-173に対する接続デバイス数が0である時、つまり外部デバイスの抜き出し前は接続デバイス数が1である時ステップS43のYES、マイクロコンピュータ203は、ステップS44に進み、バススイッチ201のロックを解除し、バススイッチ201を初期状態、つまりUSBホストコントローラ116と外部コネクタ171-173との間がバススイッチ201により遮断されている状態に戻す。以上、省電力モードとパフォーマンスモードそれぞれにおけるUSBポート割り当て制御処理について述べたが、ユーザは、これら省電力モードとパフォーマンスモードの一方を指定することができる。図8は、ユーザにUSBポート割り当て制御処理のモードを指定させるための設定画面の例を示している。この設定画面400は、省電力モード、パフォーマンスモード、オートモードそれぞれに対応する3つのメニュー項目401,402,403を表示する。オートモードは、コンピュータ10がバッテリ駆動/AC電力駆動のいずれの状態であるかに応じて省電力モードとパフォーマンスモードの一方を自動的に選択するモードである。この設定画面400は、さらに、3つのメニュー項目401,402,403に関連づけられた3つのラジオボタン501,502,503を表示する。ユーザは、ポインティングデバイスを用いてラジオボタン501,502,または503を操作することによって、省電力モード、パフォーマンスモード、オートモードの一つをUSBポート割り当て制御処理モードとして選択することができる。選択されたUSBポート割り当て制御処理のモードを示す情報は、HDD116等の記憶装置に設定ファイルとして格納される。次に、図9のフローチャートを参照して、USBポート割り当てモード切替処理の手順を説明する。CPU111は、たとえば、コンピュータ10の起動時に、設定ファイルを参照して、現在のUSBポート割り当て制御処理モードをチェックする。現在のUSBポート割り当て制御処理モードが省電力モードであるならばステップS51のYES、CPU111は、マイクロコンピュータ203に省電力モードに対応するUSBポート割り当て制御処理を実行するように指示する。これにより、マイクロコンピュータ203は、省電力モードに対応する第1の動作モードに設定される。マイクロコンピュータ203が第1の動作モードである間、マイクロコンピュータ203は、各外部USBデバイスが実際に接続される外部コネクタとは関係なく、各外部USBデバイスが一方のEHCIコントローラに集中して割り当てられるように、図4および図5で説明した処理を実行するステップS52。現在のUSBポート割り当て制御処理モードがパフォーマンスモードであるならばステップS53のYES、CPU111は、マイクロコンピュータ203にパフォーマンスモードに対応するUSBポート割り当て制御処理を実行するように指示する。これにより、マイクロコンピュータ203は、パフォーマンスモードに対応する第2の動作モードに設定される。マイクロコンピュータ203が第2の動作モードである間、マイクロコンピュータ203は、個々の外部USBデバイスが実際に接続される外部コネクタとは関係なく、それら外部USBデバイスが2つのEHCIコントローラにバランスよく分散して割り当てられるように、図6および図7で説明した処理を実行するステップS54。現在のUSBポート割り当て制御処理モードがオートモードであるならばステップS53のNO、CPU111は、コンピュータ10が動作している間、コンピュータ10の電源ソースがバッテリまたは外部電源のいずれであるか監視するステップS55。コンピュータ10がバッテリ駆動されているならばステップS55のYES、CPU111は、マイクロコンピュータ203に省電力モードに対応するUSBポート割り当て制御処理を実行するように指示し、これによってマイクロコンピュータ203を第1の動作モードに設定する。マイクロコンピュータ203は、各外部USBデバイスが接続される外部コネクタとは関係なく、各外部USBデバイスが一方のEHCIコントローラに集中して割り当てられるように、図4および図5で説明した処理を実行するステップS56。コンピュータ10がAC電力駆動されているならばステップS55のNO、CPU111は、マイクロコンピュータ203にパフォーマンスモードに対応するUSBポート割り当て制御処理を実行するように指示し、これによってマイクロコンピュータ203を第2の動作モードに設定する。マイクロコンピュータ203は、個々の外部USBデバイスが接続される外部コネクタとは関係なく、それら外部USBデバイスが2つのEHCIコントローラに分散して割り当てられるように、図6および図7で説明した処理を実行するステップS57。以上説明したように、本実施形態によれば、外部コネクタ171-173の各々を第1および第2のコントローラ115A,115Bのいずれか一方に接続するバススイッチ201が設けられている。外部コネクタ171-173の任意の一つの外部コネクタに外部デバイス第1外部デバイスが接続された時に、外部コネクタ171-173に現在接続されている1以上の外部デバイスの数に応じて、第1デバイスが割り当てられるべきコントローラが第1および第2のコントローラ115A,115Bから選択される。そして、第1の外部デバイスが接続された任意の一つの外部コネクタが、選択されたコントローラに接続されるように、バススイッチ201が制御される。したがって、第1デバイスがどの外部コネクタに接続されるかに関係なく、その第1デバイスを所望のコントローラに割り当てることができる。よって、第1および第2のコントローラ115A,115Bに対するデバイスの割り当てを柔軟に制御することができる。また、省電力モードでは、可能な限り片側のコントローラのみが使用されるように、外部コネクタに接続された外部USBデバイスが割り当てられるべきコントローラを決定することにより、ユーザがどの外部コネクタを使うかに関係なく、USBホストコントローラ115の消費電力を最小限に抑えることができるようになる。また、パフォーマンスモードでは、可能な限り外部USBデバイスが片側のコントローラに偏らないように、外部コネクタに接続された外部USBデバイスが割り当てられるべきコントローラを決定することにより、ユーザがどの外部コネクタを使うかに関係なく、外部USBデバイス間の干渉を最小限に抑えることができるようになる。なお、以上の説明では、外部コネクタ171-173がUSBデバイスを接続するためのUSBコネクタである場合を説明したが、外部コネクタ171-173の各々は、たとえばeSATAのようなシリアルATAデバイスを接続するためのコネクタであってもよい。この場合、2つ以上のEHCIコントローラの代わりに、2つ以上のSATAコントローラが用いられ、2つ以上のSATAコントローラと外部コネクタ171-173との間に上述のバススイッチ201が設けられる。本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。"