(57)【要約】【課題】  従来の情報処理ボードでは、ローカルバスとＰＣＩバスの制御をＭＰＵが行うので、ＭＰＵの負荷が大きく、また、ＬＡＮ等の外部周辺デバイスからの割込みが頻発するとＭＰＵの負荷が更に増大するという問題点があり、バス権の制御や割込みによるＭＰＵの負荷を低減することができる情報処理ボードを提供することを目的とする。【解決手段】  ＭＰＵ２０１が接続された第１のローカルバスであるノースバス２１０と、ＬＡＮ等の外部周辺機器が接続された第２のローカルバスであるサウスバス２１１とを備え、ノースバス２１０とサウスバス２１１とがゲート２０５によって接続又は非接続になり、サウスバス２１１に接続されたＦＰＧＡ２０６が、ゲート２０５の接続／非接続を制御し、サウスバス権を管理して付与する制御を行い、外部周辺デバイスからＭＰＵ２０１に対する割込みを統括する制御を行う情報処理ボードである。【選択図】        図１
2005258502.tif 000002
【特許請求の範囲】
【請求項１】
ＭＰＵが接続された第１のローカルバスと、ＬＡＮコントローラ等の外部周辺デバイスが接続された第２のローカルバスとを備え、前記ＭＰＵと前記外部周辺デバイスとの間でデータの送受を行う情報処理ボードであって、
前記第１のローカルバスと、前記第２のローカルバスとの間に設けられ、前記第１のローカルバスと前記第２のローカルバスとの接続／非接続を行うゲートと、
前記ゲートの接続／非接続の制御を行うと共に、前記ＭＰＵ又は前記外部周辺デバイスから、前記第２のローカルバスにデータを送出する権利としてのバス権の付与の要求があると、前記バス権を前記要求元のデバイスに付与する制御を行い、前記外部周辺デバイスから前記ＭＰＵへの割込みが発生すると、前記割込みの種類に応じて予め設定された優先順位に従って前記割込みを統括して前記ＭＰＵに出力する外部制御デバイスとを備え、
前記ＭＰＵは、前記第２のローカルバスにデータを送出する権利としてのバス権の付与を要求する際に、前記ゲートを接続状態にするＭＰＵであり、
前記外部制御デバイスは、前記割込みを統括して前記ＭＰＵに出力する際に、前記ゲートを接続状態にする外部制御デバイスであることを特徴とする情報処理ボード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散処理システムにおいて用いられ、ＭＰＵと外部周辺デバイスとがローカルバスにより接続された情報処理ボードに係り、特に外部周辺デバイスとのデータのやり取りに伴うバス権の制御や外部割り込みに伴うＭＰＵの負荷を低減することができる情報処理ボードに関する。
【背景技術】
【０００２】
情報処理ボードが用いられる分散情報処理システムについて図６を用いて説明する。図６は、一般的な分散情報処理システムの概略構成図である。
図６に示すように、分散情報処理システムは、複数のシステムの間で、音声、テレタイプといったデータのやり取りをリアルタイムに行うものであり、図６の例ではシステムＡ１０１と、システムＢ１０２との間で、データの送受信が行われる。システムＡには、当該システムで行われる機能Ａ、機能Ｂ、機能Ｃを実行する情報処理ボード１０３、１０４、１０５が搭載されている。また、同様に、システムＢには、当該システムで行われる機能Ｄ、機能Ｅ、機能Ｆを実行する情報処理ボード１０６、１０７、１０８が搭載されている。
【０００３】
各ボードには、ＭＰＵ及びオペレーティングシステムを記憶した回路（図示せず）が実装されている。そして、各システム内の情報処理ボードは、通信バス（Ｃ−ＰＣＩ）１０９又は通信バス（Ｃ−ＰＣＩ）１１０により接続され、互いにデータのやり取りを行うものである。
【０００４】
また、図６の例では、システムＡ１０１の情報処理ボード１０５とシステムＢ１０２の情報処理ボード１０６との間はＬＡＮ（１）で接続され、システムＡ１０１の情報処理ボード１０４とシステムＢ１０２の情報処理ボード１０７との間はＬＡＮ（２）で接続されており、互いにデータのやり取りを行うようになっている。
【０００５】
次に、情報処理ボードの構成について図７を用いて説明する。図７は、一般的な情報処理ボードの構成を示す構成ブロック図である。
図７に示すように、一般的な情報処理ボードは、ＭＰＵ（Micro Processor Unit）７０１と、メモリ（１）７０２と、ローカルバス７０９と、ＨＯＳＴ−ＰＣＩブリッジ７０５と、ＬＡＮ（１）７０３と、ＬＡＮ（２）７０４と、メモリ（２）７０６と、ＰＣＩ−ｃＰＣＩブリッジ７０７と、ＰＣＩバス７１０と、Ｃ−ＰＣＩバス７０８とから構成されている。
【０００６】
各構成部分について具体的に説明する。
ＭＰＵ７０１は、各ボード毎に搭載されるＣＰＵであり、ボードに実装されているプログラムを起動して、機能を実現する処理を実行する制御部である。また、ＭＰＵ７０１は、ＬＡＮドライバを備え、ＬＡＮ（１）７０３、ＬＡＮ（２）７０４を介したデータの送受信を行うものである。また、ＭＰＵ７０１は、ＬＡＮ（１）７０３、ＬＡＮ（２）７０４からの割込みを受け付け、割込みに応じた処理を行うものである。
【０００７】
メモリ（１）７０２は、ＭＰＵ７０１の処理に伴うデータを記憶するメモリであり、ＭＰＵ７０１が管理し、使用する。
ローカルバス７０９は、ＭＰＵ７０１とメモリ（１）７０２とを接続し、データの伝送を行うバスである。
【０００８】
ＬＡＮ（１）７０３は、図６に示したＬＡＮ（１）を介してデータの送受信を行うコントローラ部分であり、同様に、ＬＡＮ（２）７０４は、図６に示したＬＡＮ（２）を介してデータの送受信を行うコントローラ部分である。ＬＡＮ（１）７０３及びＬＡＮ（２）７０４は、内部に送信データ又は受信データを一時的に格納する記憶部（ＦＩＦＯ）を備えている。尚、図６において各ＬＡＮに接続されていない情報処理ボードにもＬＡＮコントローラとしてのＬＡＮ（１）７０３及びＬＡＮ（２）７０４が設けられている。
【０００９】
メモリ（２）７０６は、ＬＡＮ（１）７０３又はＬＡＮ（２）７０４で受信したデータが転送されて、一時蓄積されるメモリ（バッファ）である。
ＰＣＩバス７１０は、ＬＡＮ（１）７０３、ＬＡＮ（２）７０４、メモリ（２）７０６を接続すると共に、ＰＣＩ−ｃＰＣＩブリッジ７０７を介して別の情報処理ボードに接続するバスである。
【００１０】
ＨＯＳＴ−ＰＣＩブリッジ７０５は、ローカルバス７０９とＰＣＩバス７１０とを接続して信号変換するブリッジである。
また、ＰＣＩ−ｃＰＣＩブリッジ７０７は、ＰＣＩバス７１０と、システム内の情報処理ボード間に設けられたＣ−ＰＣＩバス７０８とを接続するブリッジである。
【００１１】
尚、上記構成においては、ローカルバス７０９及びＰＣＩバス７１０を介してデータを流す権利（バス権）の制御は、ＭＰＵ７０１が行うようになっている。
【００１２】
次に、上記一般的な情報処理ボードにおけるＬＡＮを介した送信処理について説明する。
まず、ＭＰＵ７０１においてアプリケーション処理が動作している際に送信指示が入力されると、アプリケーションは、カーネルのシステムコール関数群を呼び出して起動し、データを渡す。
【００１３】
次に、ＭＰＵ７０１はソケット関数の処理で、受け取ったデータを通信プロトコルに応じて変換し、ＬＡＮドライバの送信関数の処理を起動してソケットバッファとしてデータを渡す。
【００１４】
そして、ＭＰＵ７０１は、ＬＡＮドライバの送信関数の処理で、ソケットバッファとして受け取ったデータを簡単にチェックし、ＬＡＮ（１）７０３又はＬＡＮ（２）７０４のＬＡＮコントローラに対して、受け取ったデータ分の記憶領域を確保するメモリ確保要求を出力する。
【００１５】
ＬＡＮコントローラは、メモリが確保できると、メモリ確保完了割込みをＭＰＵ７０１に出力する。ＭＰＵ７０１は、ＬＡＮコントローラのデバイス送信関数の処理を起動してデータを渡し、ＬＡＮコントローラが送信関数の処理で実際にデータを送信する。
【００１６】
全てのデータを送信完了すると、ＬＡＮコントローラは完了通知としてＭＰＵ７０１に「送信完了割込み」を通知する。
ＭＰＵ７０１は、「送信完了割込み」を受信すると、送信完了割込みの処理を行って一連の送信処理を終了する。
【００１７】
尚、送信処理においては、送信が成功した場合にはＬＡＮコントローラからＭＰＵ７０１に対して「送信完了割込み（送信ＥＭＰＴＹ割込み）」が通知され、送信が失敗した場合には、「送信エラー割込み」が通知される。
【００１８】
次に、上記一般的な情報処理ボードにおける受信処理について説明する。
まず、ＬＡＮ（１）又はＬＡＮ（２）を介してデータを受信すると、ＬＡＮコントローラＬＡＮ（１）７０３又はＬＡＮ（２）７０４は、内部のＦＩＦＯに受信データを蓄積する。
【００１９】
データがＦＩＦＯに一定値以上蓄積されると、ＬＡＮコントローラがＭＰＵ７０１に対して、「データ受信割込み」を通知する。
ＭＰＵ７０１は、「データ受信割込み」を受信すると、ＬＡＮコントローラのＦＩＦＯから、ＭＰＵ７０１のカーネル領域のメモリにデータを転送し、更にそこからユーザ領域のメモリへとデータを転送し、ＭＰＵ７０１上で起動しているアプリケーションへとデータが渡る。
【００２０】
受信処理においては、ＬＡＮコントローラからＭＰＵ７０１に対して「データ受信割込み」、「受信オーバーランエラー割込み」、「その他の受信関連のエラー割込み」が通知されるものである。
【００２１】
また、従来のマイクロプロセッサシステムの技術としては、マイクロプロセッサと、それとデータの送受を行う周辺デバイスとの間のバス調停を一括して行うバス一括調停手段を設けて、マイクロプロセッサと周辺デバイス間のバスサイジング用インタフェース回路の小規模化を図るものがあった（特許文献１参照）。
【００２２】
【特許文献１】特開平５−４６５３４号公報（第３−６頁）
【発明の開示】
【発明が解決しようとする課題】
【００２３】
しかしながら、従来の情報処理ボードでは、ローカルバスとＰＣＩバスの制御をＭＰＵが行うので、ＭＰＵの負荷が大きくなってしまい、特に、リアルタイムのプロセスを行っている場合にはＭＰＵの負荷の増大がシステム全体に影響を及ぼすおそれがあるという問題があった。
また、ＬＡＮ等の外部周辺デバイスからの割込みが頻発するとＭＰＵの負荷が更に増大してしまうという問題点があった。
【００２４】
本発明は上記実情に鑑みて為されたもので、バス権の制御の一部を担う制御デバイスを設け、更に、当該制御デバイスがＬＡＮ等の外部周辺デバイスからの割込みの制御を行って、バス権の制御や割込みによるＭＰＵの負荷を低減することができる情報処理ボードを提供することを目的とする。
【課題を解決するための手段】
【００２５】
上記従来の問題点を解決するための本発明は、ＭＰＵが接続された第１のローカルバスと、ＬＡＮコントローラ等の外部周辺デバイスが接続された第２のローカルバスとを備え、ＭＰＵと外部周辺デバイスとの間でデータの送受を行う情報処理ボードであって、第１のローカルバスと、第２のローカルバスとの間に設けられ、第１のローカルバスと第２のローカルバスとの接続／非接続を行うゲートと、ゲートの接続／非接続の制御を行うと共に、ＭＰＵ又は外部周辺デバイスから、第２のローカルバスにデータを送出する権利としてのバス権の付与の要求があると、バス権を要求元のデバイスに付与する制御を行い、外部周辺デバイスからＭＰＵへの割込みが発生すると、割込みの種類に応じて予め設定された優先順位に従って割込みを統括してＭＰＵに出力する外部制御デバイスとを備え、ＭＰＵは、第２のローカルバスにデータを送出する権利としてのバス権の付与を要求する際に、ゲートを接続状態にするＭＰＵであり、外部制御デバイスは、割込みを統括してＭＰＵに出力する際に、ゲートを接続状態にする外部制御デバイスである情報処理ボードとしており、従来のＰＣＩバスを用いた回路に比べて回路構成を簡易にしてコストを低減することができ、また、バス権の制御の一部と、外部周辺デバイスからの割込み制御を外部制御デバイスが行うことにより、ＭＰＵの負荷を低減することができる。
【発明の効果】
【００２６】
本発明によれば、ＭＰＵが接続された第１のローカルバスと、ＬＡＮコントローラ等の外部周辺デバイスが接続された第２のローカルバスとの接続／非接続を行うゲートと、ゲートの接続／非接続の制御を行うと共に、ＭＰＵ又は外部周辺デバイスから、第２のローカルバスのバス権の付与の要求があると、バス権を要求元のデバイスに付与する制御を行い、外部周辺デバイスからＭＰＵへの割込みが発生すると、割込みの種類に応じて予め設定された優先順位に従って割込みを統括してＭＰＵに出力する外部制御デバイスとを備え、ＭＰＵは、第２のローカルバスのバス権の付与を要求する際に、ゲートを接続状態にし、外部制御デバイスは、割込みを統括してＭＰＵに出力する際に、ゲートを接続状態にする情報処理ボードとしているので、従来のＰＣＩバスを用いた回路に比べて回路構成を簡易にしてコストを低減することができ、また、バス権の制御の一部と、外部周辺デバイスからの割込み制御を外部制御デバイスが行うことにより、ＭＰＵの負荷を低減することができ、システム全体としての処理効率を向上させることができるできる効果がある。
【発明を実施するための最良の形態】
【００２７】
本発明の実施の形態について図面を参照しながら説明する。
本発明の情報処理ボードは、ＬＡＮ等の外部周辺デバイスを第２のローカルバスによって接続し、ＭＰＵに接続する第１のローカルバスとの間にデータの入出力を制御するゲートを設け、外部周辺デバイス側の第２のローカルバスに、外部周辺デバイスの一種であるＦＰＧＡ（Field Programmable Gate Alley）を接続し、該ＦＰＧＡが、第２のローカルバスのバス権の制御と、ゲートの制御を行うと共に、ＬＡＮ等の外部周辺デバイスからの割込みを統括してＭＰＵに対する割込みを少なくし、ＭＰＵの負荷を低減することができるものである。
【００２８】
本発明の実施の形態に係る情報処理ボードについて説明する。
本発明の実施の形態に係る情報処理ボードは、図６に示した分散処理システムと同様のシステムにおいて用いられるものであるため、システム全体の説明は省略する。そして、図６と同様に、システム内の情報処理ボード間はＰＣＩバスによって接続され、システム間はＬＡＮによって接続されている。
【００２９】
図１は、本発明の実施の形態に係る情報処理ボード（本装置）の構成ブロック図である。
図１に示すように、本発明の実施の形態に係る情報処理ボードの構成は、図７に示した一般的な情報処理ボードの構成とほぼ同様であり、情報処理ボード全体の制御を行うＭＰＵ２０１と、ＭＰＵ２０１のワークメモリとしてのメモリ（１）２０２と、ゲート（ＧＡＴＥ）２０５と、ＬＡＮコントローラとローラとしてのＬＡＮ（１）２０３及びＬＡＮ（２）２０４と、バッファとしてのメモリ（２）２０７と、ＨＯＳＴ−ＰＣＩブリッジ２０８と、第１のローカルバスとしてのノースバス２１０と、第２のローカルバスとしてのサウスバス２１１と、外部制御デバイスであるＦＰＧＡ２０６と、システム内の情報処理ボード同士を接続するＣ−ＰＣＩバス２０９とから構成されている。
【００３０】
上記構成部分の内、メモリ（１）２０２、メモリ（２）２０７、ノースバス２１０は図７に示した一般的な情報処理ボードと同様のものであるため、説明は省略する。
【００３１】
本装置の特徴としては、外部周辺デバイスのＬＡＮ（１）２０３、ＬＡＮ（２）２０４、メモリ（２）２０７及びＨＯＳＴ−ＰＣＩブリッジ２０８を接続するバスとして、従来のＰＣＩバスの代わりに第２のローカルバスを用いている点と、更に当該第２のローカルバスにデータを送出する権利としてのバス権を管理し、第１のローカルバスと第２のローカルバスの間に設けられたゲート２０５の開閉を制御する外部周辺デバイスとしてＦＰＧＡ２０６を設けている点である。
【００３２】
本装置の特徴部分について具体的に説明する。
ＭＰＵ（Micro Processor Unit）２０１は、図７に示したＭＰＵ７０１と同様に装置全体の制御を行うものであり、ＬＡＮ（１）２０３、ＬＡＮ（２）２０４を介したデータの送受信や、外部周辺デバイスからＦＰＧＡ２０６を介して入力された割込みを受け付けて割込みに応じた処理を行うものである。また、本装置では、ＭＰＵ２０１は、後述するＦＰＧＡ２０６に対してサウスバス権の要求を出力する際に、ゲート２０５を接続状態にする制御を行うものである。
【００３３】
本装置の特徴として、ＭＰＵ２０１に対する外部周辺デバイスからの割込みは、一旦ＦＰＧＡ２０６に入力されて統合された後、ＦＰＧＡ２０６からＭＰＵ２０１に出力されるようになっている。
【００３４】
ノースバス２１０及びサウスバス２０６は共にローカルバスであり、ゲート２０５によって接続されている。ノースバス２１０のバス権制御はＭＰＵ２０１によって行われ、サウスバス２１１のバス権制御はＦＰＧＡ２０６によって行われる。
【００３５】
ゲート２０５は、ノースバス２１０とサウスバス２１１との間に介在し、ＭＰＵ２０１又はＦＰＧＡ２０６の指示により、ノースバス２１０とサウスバス２１１の接続／非接続を行うものである。つまり、ゲートが「接続」の状態であれば、ノースバス２１０とサウスバス２１１との間のデータ伝送が可能であり、ゲート２０５が「非接続」の状態であれば、ノースバス２１０とサウスバス２１１との間のデータ伝送は不可能である。
【００３６】
ＦＰＧＡ（Field Programmable Gate Alley）２０６は、外部周辺デバイスの一種であり、請求項に記載した「外部制御デバイス」に相当するものである。そして、ＦＰＧＡ２０６は、サウスバス２１１にデータを流す権利であるサウスバス権を管理し、サウスバス権の要求があると、要求元のデバイスにサウスバス権を付与する制御を行うものである。
【００３７】
また、ＦＰＧＡ２０６は、ノースバス２１０とサウスバス２１１を接続するゲート２０５の開閉（接続／非接続）を制御するものであり、通常は非接続の状態にしておき、ＭＰＵ２０１と、ＦＰＧＡ２０６やＬＡＮ（１）２０３及びＬＡＮ（２）２０４等の外部周辺デバイスとの間でデータの送受が行われる際にゲート２０５を接続の状態にする。例えば、ＦＰＧＡ２０６からＭＰＵ２０１に対して割込みを送出する場合にはゲート２０５を接続状態にし、ＭＰＵ２０１からサウスバス権開放の要求があった場合には、ゲート２０５を非接続状態にする制御を行うものである。
【００３８】
また、ＦＰＧＡ２０６は、ＬＡＮ（１）２０３及びＬＡＮ（２）２０４からの割込みを統括して、ＭＰＵ２０１に出力する割込み制御を行うものである。ＦＰＧＡ２０６の内部には、外部周辺デバイスからの割込みを受け付けて統括し、ＭＰＵ２０１に出力する割り込みコントローラ２１０が設けられている。割込みコントローラ２１０の処理については後で説明する。
【００３９】
ＬＡＮ（１）２０３及びＬＡＮ（２）２０４は、ＬＡＮを介してデータの送受信を行うＬＡＮコントローラであり、内部に送受信データを一時蓄積するＦＩＦＯメモリを備えている。また、受信時に、ＦＩＦＯに蓄積されたデータを、サウスバス２１１を介してメモリ（２）２０７に転送するＤＭＡＣ（Dynamic Memory Access Controller）を備えている。これにより、ＬＡＮ（１）２０３及びＬＡＮ（２）２０４が受信したデータは、ＭＰＵ２０１が管理するノースバス２１０を占有することなく、メモリ（２）２０７に転送可能としているものである。
【００４０】
ＨＯＳＴ−ｃＰＣＩブリッジ２０８は、ローカルバスであるサウスバス２１１と、システム内の情報処理ボード間に設けられたＣ−ＰＣＩバス２０９とを接続し、信号変換を行うブリッジである。
【００４１】
図７に示した一般的な情報処理ボードでは、ＭＰＵ２０１と外部周辺デバイスとの間を接続するのにＰＣＩバス及びＨＯＳＴ−ＰＣＩブリッジを用いているが、このように、本装置では、ＰＣＩバス及びＨＯＳＴ−ＰＣＩブリッジの代わりに安価なローカルバスと簡易な構成のゲート２０５を用いたことにより、情報処理ボードのコストを低減することができるものである。
【００４２】
次に、本装置における受信時の動作について図２を用いて説明する。図２は本装置におけるＬＡＮを介してデータを受信する際の動作を示すフローチャート図である。
図２に示すように、ＬＡＮの送受信を制御するＬＡＮコントローラであるＬＡＮ（１）２０３又はＬＡＮ（２）２０４がＬＡＮを介してデータを受信すると、ＬＡＮコントローラは、受信データを内部のＦＩＦＯに格納する（３０１）。ＦＩＦＯにデータが一定値以上蓄積されると、ＬＡＮコントローラは、ＦＰＧＡ２０６に対して受信割込みを通知する（３０２）。
【００４３】
そして、ＬＡＮコントローラが、サウスバス権を取得しているかどうかを判断し（３０３）、取得していれば処理３０６に移行する。
処理３０３で、ＬＡＮコントローラがサウスバス権を取得していない場合には、ＬＡＮコントローラがＦＰＧＡ２０６に対してサウスバス権を要求し（３０４）、ＦＰＧＡ２０６からサウスバス権許可応答を受信することにより、サウスバス権を取得する（３０５）。
【００４４】
そして、ＬＡＮコントローラがサウスバス権を取得すると、ＤＭＡＣ（Dynamic Memory Access Controller）により、ＦＩＦＯに蓄積されたデータをサウスバス２１１を介してメモリ（２）２０７に転送する（３０６）。
【００４５】
メモリ（２）２０７への転送が完了すると、ＤＭＡＣは、ＦＰＧＡ２０６に対してＤＭＡ完了を割込みで通知する（３０７）。その際、ＬＡＮコントローラは、サウスバス権を開放する。これを受けて、ＦＰＧＡ２０６は、ゲート２０５を接続状態にして、ＭＰＵ２０１に対してＤＭＡ完了割込みを通知する（３０８）。
【００４６】
ＭＰＵ２０１は、ＦＰＧＡ２０６にサウスバス権を要求し（３０９）、ＦＰＧＡ２０６からサウスバス権許可応答を受信してサウスバス権を取得した後、メモリ（２）２０７のデータをメモリ（１）２０２に転送し（３１０）、ユーザアプリケーションへ引き渡す。そして、ＭＰＵ２０１は、サウスバス権を開放する（３１１）。ＦＰＧＡ２０６は、サウスバス権の開放を受けて、ゲート２０５を非接続状態にする。又は、ＭＰＵ２０１からのサウスバス権開放要求にゲート２０５を非接続状態とする指示を含むようにしてもよい。このようにして本装置における受信処理が行われるものである。
【００４７】
このように、本装置では、ＬＡＮコントローラからＭＰＵ２０１に対する割込み要求が、ＭＰＵ２０１ではなくＦＰＧＡ２０６に出力される点が従来とは異なっている。つまり、受信動作に伴う割込み要求は全て一旦ＦＰＧＡ２０６に出力され、ＦＰＧＡ２０６で優先度に応じて統合されて順次ＭＰＵ２０１に出力される。ＭＰＵ２０１に入力された割込みは、優先度に応じて順次ＭＰＵ２０１で処理されるようになっている。
【００４８】
次に、本装置における送信時の動作について図３を用いて説明する。図３は、本装置におけるＬＡＮを介してデータを送信する際の動作を示すフローチャート図である。
図３に示すように、ＭＰＵ２０１上で起動されているユーザアプリケーションが、送信指示の入力を受けると（４０１）、ユーザアプリケーションがソケット関数（ライブラリ）を呼び出して起動し、データを渡す（４０２）。
【００４９】
次に、ＭＰＵ２０１は、ソケット関数の処理で、渡されたデータをソケット構造体に入れ、ソケットバッファとして管理し、ＬＡＮドライバの送信関数を起動して、ソケットバッファを渡す（４０３）。
【００５０】
ＭＰＵ２０１上のＬＡＮドライバの送信関数の処理では、サウスバス権を取得しているかどうかを判断し（４０４）、取得していれば処理４０７に移行する。
【００５１】
処理４０４でサウスバス権を取得していなければ、ＭＰＵ２０１はＬＡＮドライバの送信関数の処理で、ＦＰＧＡ２０６に対してサウスバス権を要求する（４０５）。ここで、サウスバス権要求の中にゲート２０５を接続状態とする指示を含むようにすれば、ゲート２０５が通常は非接続状態となっていてもＦＰＧＡ２０６にサウスバス権の要求を出力することができるものである。
【００５２】
ＭＰＵ２０１は、サウスバス権許可応答を割込みで受信することによりサウスバス権を取得すると（４０６）、ＬＡＮドライバの送信関数の処理においてＬＡＮコントローラＬＡＮ（１）２０３又はＬＡＮ（２）２０４にデータを渡す（４０７）。
【００５３】
そして、ＬＡＮ（１）２０３又はＬＡＮ（２）２０４は宛先のシステムの情報処理ボードにパケット送信する（４０８）。このとき、送信に関連して発生する割り込み「送信ＥＭＰＴＹ割込み」又は「送信エラー割込み」の要求は、受信の際と同様に、全てＦＰＧＡ２０６に出力され、優先度に応じて統合された後、ＭＰＵ２０１に出力されるようになっている。
【００５４】
そして、ＭＰＵ２０１は、サウスバス権を開放し（４０９）、ユーザアプリケーションからの次の送信要求を待ち受ける。これを受けてＦＰＧＡ２０６は、ゲート２０５を「非接続」とする。又はＭＰＵ２０１からのサウスバス権開放要求にゲート２０５を非接続状態とする指示を含むようにしてもよい。このようにして、本装置における送信時の処理が行われるものである。
【００５５】
次に、本装置におけるＬＡＮコントローラからの割込み制御について図４を用いて説明する。図４は、本装置における割込み制御を示す模式説明図である。
図４に示すように、ＬＡＮコントローラ（ＬＡＮ（１）２０３又はＬＡＮ（２）２０４）からＭＰＵ２０１に対する割込み要求には〈１〉〜〈１０〉の１０種類の要因がある。具体的には、〈１〉ＬＡＮ（１）受信割込み、〈２〉ＬＡＮ（１）送信エラー割込み、〈３〉ＬＡＮ（１）送信ＥＭＰＴＹ割込み、〈４〉ＬＡＮ（１）受信オーバーランエラー、〈５〉ＬＡＮ（１）その他エラー、〈６〉ＬＡＮ（２）受信割込み、〈７〉ＬＡＮ（２）送信エラー割込み、〈８〉ＬＡＮ（２）送信ＥＭＰＴＹ割込み、〈９〉ＬＡＮ（２）受信オーバーランエラー、〈１０〉ＬＡＮ（２）その他エラー、の１０種類である。
そして、従来は、これらの１０種類が独立してそれぞれＭＰＵ２０１に入力されていた。
【００５６】
本装置では、ＦＰＧＡ２０６の割込みコントローラ２１０が、これらの１０種類の割込み要求を優先度に応じて４種類に分類してまとめて、ＭＰＵ２０１に出力するようにしている。
分類の仕方は、チャンネル毎に「受信割込み」とそれ以外の割込みとしており、上述した「〈１〉ＬＡＮ（１）受信割込み」を「ＦＰＧＡ割込み〈１〉」とし、「〈２〉〜〈５〉の割込み」を「ＦＰＧＡ割込み〈２〉」とし、「〈６〉ＬＡＮ（２）受信割込み」を「ＦＰＧＡ割込み〈３〉」とし、「〈７〉〜〈１０〉の割込み」を「ＦＰＧＡ割込み〈４〉」としてＭＰＵ２０１に出力するようにしている。つまり、本装置では、優先度の高い各チャンネルの「受信割込み」と優先度のあまり高くない「受信割込み以外の割込み」に分けている。
【００５７】
ＦＰＧＡ２０６の割り込みコントローラ２１０からＭＰＵ２０１に対する割込みは、優先順位に応じたレベル割込み（ＩＲＬ）であり、ＦＰＧＡ割込み〈１〉〜〈４〉に応じた優先順位は予め設定されているものである。そして、統合されたＦＰＧＡ割込み〈１〉〜〈４〉の内の複数が同時にＭＰＵ２０１に出力された場合には、ＭＰＵ２０１において優先順位に応じて順次割込み処理を行うものである。
【００５８】
このように、本装置では、ＦＰＧＡ２０６がサウスバス権の制御と外部周辺デバイスからの割込み制御を行うようにしているので、ＬＡＮを頻繁に利用する状況であっても、ＭＰＵ２０１のバス権制御処理と割込み処理の負荷を軽減することができるものである。
【００５９】
ここで、ＦＰＧＡ２０６の割込みコントローラ２１２の処理について図５を用いて説明する。図５は、割込みコントローラ２１２の処理を示すフローチャート図である。
図５に示すように、ＦＰＧＡ２０６の割込みコントローラ２１２は、ＬＡＮコントローラのＬＡＮ（１）２０３又はＬＡＮ（２）２０４から割込み発生を受けると（６００）、ＬＡＮ割込みの種類が何であるかを判断し（６０２）、〈１〉であれば「ＦＰＧＡ割込み〈１〉」として（６０４）ＭＰＵ２０１に出力し（６０６）、〈２〉〜〈５〉であれば「ＦＰＧＡ割込み〈２〉」に統合して（６０８）ＭＰＵ２０１に出力し（６１０）、〈６〉であれば「ＦＰＧＡ割込み〈３〉」として（６１２）ＭＰＵ２０１に出力し（６１４）、〈７〉〜〈１０〉であれば「ＦＰＧＡ割込み〈４〉」に統合して（６１６）ＭＰＵ２０１に出力する（６１８）。このようにして割込みコントローラ２１２の処理が行われるものである。
【００６０】
本発明の実施の形態に係る情報処理ボードによれば、ＭＰＵ２０１が接続された第１のローカルバスであるノースバス２１０と、ＬＡＮ（１）２０３、ＬＡＮ（２）２０４等の外部周辺デバイスが接続された第２のローカルバスであるサウスバス２１１とを備え、ノースバス２１０とサウスバス２１１との間に、データ伝送路の開閉（ノースバス２１０とサウスバス２１１との接続／非接続）を行うゲート２０５を設け、サウスバス２１１に接続された外部制御デバイスであるＦＰＧＡ２０６がゲート２０５の接続／非接続の制御及びサウスバス権を付与する制御を行う情報処理ボードとしているので、外部周辺デバイスをＰＣＩバスで接続して、更にＭＰＵにＨＯＳＴ−ＰＣＩブリッジで接続する回路に比べて、構成を簡素にして回路コストを低減することができ、また、ＭＰＵ２０１におけるバス権制御の処理による負荷を低減することができる効果がある。
【００６１】
また、本装置によれば、ＦＰＧＡ２０６の割り込みコントローラ２１２が、ＬＡＮ（１）２０３、ＬＡＮ（２）２０４からの１０種類の割込み要因を優先順位に応じて４種類に分類して統合して、ＭＰＵ２０１に出力する情報処理ボードとしているので、ＭＰＵ２０１における割込み処理の負荷を軽減することができる効果がある。
【産業上の利用可能性】
【００６２】
本発明は、外部周辺デバイスとのデータのやり取りに伴うバス権の制御や外部割り込みに伴うＭＰＵの負荷を低減することができる情報処理ボードに適している。
【図面の簡単な説明】
【００６３】
【図１】本発明の実施の形態に係る情報処理ボード（本装置）の構成ブロック図である。
【図２】本装置におけるＬＡＮを介してデータを受信する際の動作を示すフローチャート図である。
【図３】本装置におけるＬＡＮを介してデータを送信する際の動作を示すフローチャート図である。
【図４】本装置における割込み制御を示す模式説明図である。
【図５】割込みコントローラ２１２の処理を示すフローチャート図である。
【図６】一般的な分散情報処理システムの概略構成図である。
【図７】一般的な情報処理ボードの構成を示す構成ブロック図である。
【符号の説明】
【００６４】
１０１…システムＡ、  １０２…システムＢ、  １０３〜１０６…情報処理ボード、  ０９、１１０…通信バス（Ｃ−ＰＣＩ）、  ２０１…ＭＰＵ、  ２０２…メモリ（１）、  ２０３…ＬＡＮ（１）…、  ２０４…ＬＡＮ（２）、  ２０５…ゲート、  ２０６…ＦＰＧＡ、  ２０７…メモリ（２）、  ２０８…ＨＯＳＴ−ｃＰＣＩブリッジ、  ２０９…Ｃ−ＰＣＩバス、  ２１０…ノースバス、  ２１１…サウスバス、  ２１２…割り込みコントローラ、  ７０１…ＭＰＵ、  ７０２…メモリ（１）、  ７０３…ＬＡＮ（１）、  ７０４…ＬＡＮ（２）、  ７０５…ＨＯＳＴ−ＰＣＩブリッジ、  ７０６…メモリ（２）、  ７０７…ＰＣＩ−ｃＰＣＩブリッジ、  ７０８…Ｃ−ＰＣＩバス
【図１】
2005258502.tif 000003
【図２】
2005258502.tif 000004
【図３】
2005258502.tif 000005
【図４】
2005258502.tif 000006
【図５】
2005258502.tif 000007
【図６】
2005258502.tif 000008
【図７】
2005258502.tif 000009