(57)【特許請求の範囲】
【請求項１】
複数の回線を収容しデータの送受信を行う情報処理装置であって、
情報処理装置の制御を行う上位プロセッサユニットと、
複数の共有バスと、
前記上位プロセッサユニットと前記複数の共有バスとの間に接続され、各共有バスでのデータ転送を独立して制御するバスコントローラと、
前記複数の回線毎に、当該回線と前記共有バスとの間に接続され、該共有バスとはコネクタを介して接続される複数のアダプタとを有し、
前記上位プロセッサユニットは、データの送受信に用いるアダプタが少なくとも第１の共有バスに接続された第１のコネクタと第２の共有バスに接続された第２のコネクタを含む複数のコネクタを持つアダプタかどうか判定して判定結果を前記バスコントローラに通知し、
前記バスコントローラは、
前記上位プロセッサユニットから前記アダプタが複数のコネクタを持つとの判定結果を通知されると、前記第１のコネクタに接続されている前記第１の共有バスを、当該バスコントローラから当該アダプタに前記回線への送信データを転送する下り専用バスとして使用し、前記第２のコネクタに接続されている前記第２の共有バスを、当該アダプタから当該バスコントローラに前記回線からの受信データを転送する上り専用バスとして使用して同時双方向データ転送制御を行い、
前記上位プロセッサユニットから前記アダプタが１つのコネクタを持つとの判定結果を通知されると、当該コネクタに接続された共有バスを介して双方向のデータ転送制御を行う
ことを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記バスコントローラは、前記送信データを一時的に格納する第１のバッファと、前記受信データを一時的に格納する第２のバッファと、前記送信データと前記受信データとを格納する第１のメモリとを有し、
前記アダプタは、前記送信データを一時的に格納する第３のバッファと、前記受信データを一時的に格納する第４のバッファと、前記送信データと前記受信データとを格納する第２のメモリとを有し、
前記送信データは、前記バスコントローラから前記アダプタに前記第１の共有バスを介して転送され、該アダプタの前記第３のバッファ部に一時的に格納された後、前記第２のメモリ部に格納され、
前記受信データは、前記アダプタから前記バスコントローラに前記第２の共有バスを介して転送され、該バスコントローラの前記第２のバッファ部に一時的に格納された後、前記第１のメモリ部に格納される
ことを特徴とする情報処理装置。
【請求項３】
請求項１もしくは請求項２のいずれかに記載の情報処理装置であって、
前記上位プロセッサユニットは、
前記アダプタが複数のコネクタを持つのか１つのコネクタのみ持つのかを示すアダプタ種別情報と当該アダプタの識別情報とを対応付けて記憶し、
前記判定を、前記記憶した対応付け情報を参照して行う
ことを特徴とする情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置において、共有バスに接続される１つのアダプタが有するデータ転送処理能力を、１つの共有バス性能を超えて高速化することが可能な高速バスシステムに関する。
【０００２】
【従来の技術】
従来、１つのアダプタ上のバス高速化技術としては、アダプタに接続している共有バス上の動作クロックを高速化してデータの高速転送をおこなう第１の方法と、同時刻では片方向データ転送をしており、共有バス上の転送データ幅を拡張して高速転送を行う第２の方法がある。第２の方法では、例えばアドレスバス１０本、データバス１６本、コントロールバス５本のうちデータバスを拡張して３２本にする場合等が考えられる。
しかしながら、上記の従来方法を用いた情報処理装置では、クロックを高速化する方法を採用した場合には、高周波になるためパターン設計技術や、電磁波漏れ対策がより高度になり、面倒になる。また、転送データ幅を拡張した場合でも、共有バス上のデータはある時間をみると片方向転送であり、同時双方向データ転送を実現できないという問題があった。
従来、このようなバス制御方法としては、例えば特開平７−２１０４９８号公報に記載のバス調停回路や、特開平９−１９８３０７号公報に記載の情報処理装置のキャッシュコピーレンス制御方法がある。
【０００３】
【発明が解決しようとする課題】
このように、従来による共有バスの高速化においては、クロックを高速化する方法と転送データ幅を拡張する方法があるが、パターン設計技術や、電磁波漏れ対策がより高度で面倒になり、また、同時双方向データ転送は実現できなかった。
１つのアダプタが分離した複数の共有バスのコネクタ部と接続する場合に、アダプタが複数の上記共有バスを独立に制御することができれば、クロックを高速化することなく、データの同時双方向転送を実現することができる。
本発明の目的は、このような従来の課題を解決し、１つのアダプタが分離した複数の共有バスをそれぞれ独立して制御できるようにして、クロックを高速化せずにデータの同時双方向転送を実現することが可能な高速バスシステムを提供することにある。
【０００４】
【課題を解決するための手段】
上記目的を達成するため、本発明の高速バスシステムは、分離した２つ以上の共有バスを制御できるバスコントローラとアダプタを有し、該共有バスに複数のアダプタが接続できる情報処理装置において、1つの共有バスに接続するアダプタの性能が、該共有バスの性能以上のデータ転送能力を必要とする場合、共有バスの性能を向上させるために、該バスコントローラとアダプタが、独立して第１の共有バス及び該第１の共有バスとは別の第２の共有バスを同時に制御できる機能を設ける。
なお、該アダプタと該バスコントローラは、分離した共有バスに同一アダプタが接続されているかどうかを、上位ＭＰＵが通知してくることで判別する。
該アダプタと該バスコントローラは、分離した共有バスのうち一方の共有バスを制御するときには、アダプタからバスコントローラへデータを送出する上り側専用に使用し、他方の共有バスを制御するときは、バスコントローラからアダプタへデータを送出する下り側専用に使用する。
この場合、該アダプタと該バスコントローラは、分離した共有バス番号をもとに、各分離された共有バスをデータの上り側と下り側専用に分けて使用する。
このように、該アダプタが分離した２つ以上の共有バスに接続できるようにすることにより、該共有バスのデータ転送能力を向上させるものである。
【０００５】
【発明の実施の形態】
以下、本発明の実施例を、図面により詳細に説明する。
図１は、本発明の一実施例を示す情報処理装置の全体構成図である。
図１において、情報処理装置Ｊ１に収容される１つの回線は例えば電話回線であり、他の回線は例えば社内のネットワークの回線である。各アダプタＰ１〜Ｐｎは、ユーザ毎に使用される論理回路であって、ある回線にデータが受信されると、この旨を上位ＭＰＵに通知することにより、上位ＭＰＵは受信データがいずれのアダプタに転送されるべきかを指示する。このように、上位ＭＰＵは情報処理装置Ｊ１の統括的制御を行うユニットである。情報処理装置Ｊ１は、分離した２つ以上の共有バスＫ１，Ｋ２を制御できる１個のバスコントローラＢ１と複数個のアダプタＰ１，Ｐ２を有し、コネクタＣ１１，Ｃ１２，Ｃ２２を介して共有バスＫ１，Ｋ２に接続された複数のアダプタＰ１，Ｐ２を接続する。
上位ＭＰＵ（Ｍ１）は、共有バスＫ１と共有バスＫ２に接続されるアダプタが１つのコネクタを持つシングルアダプタであるのか、あるいは２つのコネクタを持つダブルアダプタであるのかを認識するために、最初に、システムバスＳ１、バスコントローラＢ１、共有バスＫ１または共有バスＫ２を介して各アダプタへアクセスして、アダプタ内にある共通部ＫＰ３にあるアダプタ固有ＩＤを読み出すことにより判定している。
【０００６】
図５は、図１におけるアダプタ固有ＩＤの認識方法の一例を示す図であり、図６は、同じく上位ＭＰＵによる固有ＩＤと回線種別の識別用テーブルの一例を示す構成図である。
上位ＭＰＵ（Ｍ１）がアダプタＰ２の共通部ＫＰ３にアクセスした場合、共通部ＫＰ３には３本の線（ＩＤ０，ＩＤ１，ＩＤ２）が接続されており、それらの先端に＋５Ｖに接続されていれば‘１’、接地されていれば‘０’と判別され、３つの値で識別コードを形成する。この識別コードにより、８種類の固有ＩＤと回線種別とシングルかまたはダブルのアダプタ種別を判別できるので、上位ＭＰＵは図６のようなテーブルを保持しておく。
例えば、図６に示すように、識別コードが‘０００’のときには、シングルアダプタで、回線種別はイーサネットワークであり、アダプタＰ１であることを判別する。また、‘１００’のときには、ダブルアダプタで、回線種別はイーサネットワークであり、アダプタＰ２であることを判別する。
ユーザロジックＵＬは回線種別、例えばＷＡＮ，ＬＡＮ，イーサネット等により決まる論理回路であって、プロトコル等の手順を交信するロジックを与える。
【０００７】
上位ＭＰＵ（Ｍ１）はそのアダプタＰ２がシングルアダプタか、あるいはダブルアダプタかの判定を行うと、その判定結果をバスコントローラＢ１に通知し、バスコントローラＢ１と共有バスＫ１，Ｋ２に接続しているアダプタＰ２は、アダプタタイプがシングルアダプタかダブルアダプタを認識する。ここでは、ダブルアダプタであることを認識する。また、複数の共有バスＫ１，Ｋ２は異なる番号を持ち、ダブルアダプタが２つにまたがって共有バスＫ１，Ｋ２に接続されるときには、小さい番号の共有バスＫ１（番号１）を介して、ダブルアダプタＰ２からバスコントローラＢ１へとデータ転送（上りデータ転送）を行い、大きい番号の共有バスＫ２（番号２）を介して、バスコントローラＢ１からダブルアダプタＰ２へとデータを転送（下りデータ転送）を行う。バスコントローラＢ１内にある下りデータ専用制御部ＫＢ１と上りデータ専用部ＫＢ２、ならびにダブルアダプタＰ２内にある下りデータ専用制御部ＫＰ１と上りデータ専用部ＫＰ２は、独立して動作することにより同時双方向データ転送を行い、共有バスの高速化を実現している。
【０００８】
図２は、回線からの受信データをアダプタＰ２がバスコントローラＢ１へ転送するデータ受信転送と、送信データをバスコントローラＢ１がアダプタＰ２に転送するデータ送信転送の流れを示す詳細図である。
図２により、先ずデータ受信転送の流れを説明する。
回線からの受信データは、ユーザロジックＵＬおよびアダプタＰ２内の送受信データ共通制御部ＫＰ３Ａを介してデュアルメモリＫＰ３Ｂに格納され、送受信データ共通制御部ＫＰ３Ａは上りデータ制御部ＫＰ２内の受信データ管理部ＫＰ２Ｂに受信データを格納したことを通知する。受信データ管理部ＫＰ２Ｂは、あらかじめ上位ＭＰＵから受信データを格納する上位デュアルメモリＫＢ３Ｂのアドレスを知らされているため、受信データフローＲ１で示すように、受信データをそのアドレス宛てに共有バスＫ２を介して共通バス２制御部ＫＢ２Ａの制御のもとでバスコントローラＢ１内の共通部ＫＢ３の上位デュアルメモリＫＢ３Ｂに転送する。アダプタＰ２内の共通バス２インタフェースタイミング制御部ＫＰ２ＡとバスコントローラＢ１内の上位共通バス２インタフェースタイミング制御部ＫＢ２Ｂは、共有バスＫ２の決められたバスタイミングに従い、受信データ転送を行う。
【０００９】
次に、図２によりデータ送信転送の流れを説明する。
上位ＭＰＵ（Ｍ１）は、送信データをバスコントローラＢ１内の上位デュアルメモリＫＰ３Ｂに格納し、そのときに、格納アドレスを共通制御部ＫＢ３Ａに通知する。共通制御部ＫＢ３Ａは、送信データが格納されていることを共通バス１制御部ＫＢ１Ａに通知する。共通バス１制御部ＫＢ１Ａは、アダプタＰ２内の送信データ管理部ＫＰ１Ｂに送信起動要求を出すことにより、送信データ管理部ＫＰ１Ｂは共通制御部ＫＢ３Ａから送信データの格納アドレスを入手して、送信データフローＴ１に示すように、送信データを上位デュアルメモリＫＰ３Ｂから共通バス１制御部ＫＢ１Ａ、共有バスＫ１、送受信データ共通制御部ＫＰ３Ａを介してデュアルメモリＫＰ３Ｂに転送する。デュアルメモリＫＰ３Ｂの送信データ転送アドレスは送信データ管理部ＫＰ１Ｂが管理している。
アダプタＰ２内の共通バス１インタフェースタイミング制御部ＫＰ１ＡとバスコントローラＢ１内の上位共通バス１インタフェースタイミング制御部ＫＢ１Ｂは、共有バスＫ１の決められたバスタイミングに従い、送信データ転送を行う。共通バスＫ１と共通バスＫ２は全く同じ仕様のバスであり、物理的に分離されている。
【００１０】
上記受信データフローＲ１に示すような受信データ転送中に、上記送信データフローＴ１に示すような送信データ要求が上位ＭＰＵ（Ｍ１）よりあった場合には、送受信が共通にアクセスする上位デュアルメモリＫＢ３Ｂと送受信デュアルメモリＫＰ３Ｂがあり、送受信データが同時にアクセスした場合にデータのオーバーフロー、アンダーフローが発生しないようにする必要がある。そのため、本実施例では、共有バス１制御部ＫＢ１Ａ、共有バス２制御部ＫＢ２Ａ、送信データ管理部ＫＰ１Ｂおよび受信データ管理部ＫＰ２Ｂの内部にそれぞれバッファを持たせることにより、送受信データの転送が同時に発生してもシステム的に問題なく高速通信が実現できる。例えば、上位デュアルメモリＫＢ３ＢおよびデュアルメモリＫＰ３Ｂでは、送信データと受信データの格納エリアが別個に分けられているが、送受信データ制御部ＫＰ３Ａから受信データ管理部ＫＰ２Ｂに受信データを送信している時間中に送信データ管理部ＫＰ１Ｂから送受信データ制御部ＫＰ３Ａに送信データが送られてきた場合には、誤動作が発生してしまうので、送信データ管理部ＫＰ１Ｂのバッファに送信データを一時格納して競合動作を回避する。同じように、共通制御部ＫＢ３Ａから共通バス１制御部ＫＢ１Ａに送信データを送信している時間中に、共通バス２制御部ＫＢ２Ａから共通制御部ＫＢ３Ａに受信データが送られてきた場合には、誤動作が発生してしまうので、共通バス２制御部ＫＢ２Ａのバッファに受信データを一時格納して競合動作を回避する。
【００１１】
図３は、本発明のコネクタ部と共有バスとの構成を説明する図である。
図３の上方破線内には、共有バスＫ１とその共有バスＫ１に接続するコネクタ群Ｃ１（Ｃ１１、Ｃ１２、Ｃ１ｎ）が、また下方破線内には、共有バスＫ２とその共有バスＫ２に接続するコネクタ群Ｃ２（Ｃ２１、Ｃ２２、Ｃ２ｎ）が示されている。
各共有バスＫ１，Ｋ２にコネクタ部がそれぞれ複数個存在する場合には、シングルアダプタは各１個ずつのコネクタ部を有し、ダブルアダプタは両方に１個ずつのコネクタ部を有している。ダブルアダプタの場合、Ｃ１１とＣ２１の組合わせでも、Ｃ１２とＣ２２の組合わせでもよく、またＣ１ｎとＣ２ｎの組合わせでもよい。
例えば、シングルアダプタＰ１は、１つのコネクタ部Ｃ１１をもち、ダブルアダプタＰ２は、２つのコネクタ部Ｃ１２とＣ２２を持つ。シングルアダプタＰ１は、共有バスＫ１に接続されたコネクタ部（Ｃ１１、Ｃ１２、Ｃ１ｎ）および共有バスＫ２にあるコネクタ部（Ｃ２１、Ｃ２２、Ｃ２ｎ）のいかなる場所でも接続でき、ダブルアダプタＰ２は、共有バスＫ１のコネクタ部Ｃ１１と共有バスＫ２にあるコネクタ部Ｃ２１、共有バスＫ１のコネクタ部Ｃ１２と共有バスＫ２にあるコネクタ部Ｃ２２、共有バスＫ１のコネクタ部Ｃ１ｎと共有バスＫ２にあるコネクタ部Ｃ２ｎ、というように２組のコネクタを使用して共有バスに接続する。
【００１２】
図４は、本発明のアダプタとコネクタ部の構成を示す図である。
図４には、一例としてシングルアダプタＰ１とコネクタ部Ｃ１１、ダブルアダプタＰ２と２つのコネクタ部（Ｃ１２とＣ２２）の構成が示されている。
情報処理装置Ｊ１には、シングルアダプタＰ１とダブルアダプタＰ２とが設けられるが、本発明データ同時双方向転送を実現するのはダブルアダプタＰ２であって、シングルアダプタＰ１は同時刻ではないが、データ双方向転送を行うのみである。
【００１３】
【発明の効果】
以上説明したように、本発明によれば、分離した２つ以上の共有バスを制御できるバスコントローラとアダプタを有し、該共有バスに複数の該アダプタが接続できる情報処理装置内で、複数の共有バスを独立にコントロールするバスコントローラとアダプタ間のデータ転送時、アダプタはバスコントローラへデータを送出するための共有バスと、バスコントローラからデータを受け入れるための前記共有バスと異なる共有バスを独立して制御し、バスコントローラおよびアダプタは上記２つの異なる共有バスを同時に使用するので、アダプタとバスコントローラ間でデータの同時双方向転送が可能となり、クロックを高速化することなく、データの同時双方向転送が実現できる。
【図面の簡単な説明】
【図１】本発明の一実施例を示す情報処理装置の全体構成図である。
【図２】図１における送信データと受信データの流れを説明する詳細図である。
【図３】本発明のコネクタ部と共有バスの構成を説明する図である。
【図４】本発明のアダプタとコネクタ部の組合わせの一例を示す図である。
【図５】上位ＭＰＵがアダプタの固有ＩＤと回線種別を識別する方法を説明する図である。
【図６】アダプタの固有ＩＤと回線種別を識別するテーブルの構成図である。
【符号の説明】
Ｊ１…情報処理装置、Ｍ１…上位ＭＰＵ、Ｓ１…システムバス、
Ｂ１…バスコントローラ、Ｋ１…共有バス１、Ｋ２…共有バス２、
ＫＢ１…バスコントローラ内共有バス１制御部、
ＫＢ２…バスコントローラ内共有バス２制御部、
ＫＢ３…システムバス制御と共有バス間コントローラ、
Ｃ１１…アダプタＰ１が接続する共有バス１のコネクタ部、
Ｃ２１…アダプタＰ１がダブルアダプタのときの共有バス２のコネクタ部、
Ｃ１２…アダプタＰ２が接続する共有バス１のコネクタ部、
Ｃ２２…アダプタＰ２が接続する共有バス２のコネクタ部、
Ｃ１ｎ…アダプタＰｎが接続する共有バス１のコネクタ部、
Ｃ２ｎ…アダプタＰｎが接続する共有バス２のコネクタ部、
Ｃ１…共有バス１のコネクタ群、Ｃ２…共有バス２のコネクタ群、
Ｐ１…共有バス１または共有バス２のいずれかに接続するアダプタ、
Ｐ２…共有バス１と共有バス２をまたがって接続するアダプタ、
ＫＰ１…アダプタＰ２内共有バス１制御部、
ＫＰ２…アダプタＰ２内共有バス２制御部、
ＫＰ３…アダプタＰ２内ＫＰ１とＫＰ２共通制御部、
ＫＢ１Ａ…バスコントローラＢ１内の共通バス１制御部、
ＫＢ１Ｂ…バスコントローラＢ１のインタフェースタイミング制御部、
ＫＢ２Ａ…バスコントローラＢ１内の共通バス１制御部、
ＫＢ２Ｂ…バスコントローラＢ１内のインタフェースタイミング制御部、
ＫＢ３Ａ…バスコントローラＢ１内の共通制御部、
ＫＢ３Ｂ…バスコントローラＢ１内の上位デュアルメモリ、
ＫＰ１Ａ…アダプタＰ２内の共通バス１インタフェースタイミング制御部、
ＫＰ１Ｂ…アダプタＰ２内の送信データ管理部、
ＫＰ２Ａ…アダプタＰ２内の共通バス２インタフェースタイミング制御部、
ＫＰ２Ｂ…アダプタＰ２内の受信データ管理部、
ＫＰ３Ａ…アダプタＰ２内の送受信データ制御部、
ＫＰ３Ｂ…アダプタＰ２内のデュアルメモリ、Ｔ１…送信データフロー、
Ｒ１…受信データフロー、
ＵＬ…ユーザロジック。
【図１】
0004154678.tif 000002
【図２】
0004154678.tif 000003
【図３】
0004154678.tif 000004
【図４】
0004154678.tif 000005
【図５】
0004154678.tif 000006
【図６】
0004154678.tif 000007