(57)【要約】【課題】ホストとクライアントの間を、ホスト側のＯＳ進化などで実質的にスポイルされない形で結ぶ。【解決手段】一実施の形態に係るデータ処理システムは、８ビット以上の外部データを扱うホスト１００を、８ビット単位の内部データおよび８ビットの内部アドレスを用いて１以上のクライアント６００につなぐ構成を持つ。このシステムにおいて、接続部５００を介して変換モジュール３００Ｓに複数のクライアント６００が接続される場合には、これら複数クライアントのうち、前記内部アドレスにより特定された１つ（ターゲットＩ／Ｏボード）が、変換モジュール３００Ｓと情報交換できるように構成される。ここで、ホスト１００は、変換モジュール３００Ｓに対して、前記内部アドレスの８ビット空間の１箇所を指定し、指定したアドレス空間に対してデータの送受を行う。指定されたアドレス空間に接続されたターゲットＩ／Ｏボードは、受け取ったデータに対して自身の処理を行う。【選択図】図１
2011138187.tif 000002
【特許請求の範囲】
【請求項１】
８ビット以上の外部データを扱う信号線を用いる外部機器と、８ビット単位の内部データおよびＮビットの内部アドレスを用いる１以上の内部機器をつなぐデータ処理システムにおいて、
前記データ処理システムは、
前記外部データを前記内部データに変換し、あるいは、前記内部データを前記外部データに変換する変換モジュールと、
前記内部データを扱う８ビットのデータ信号線、前記内部アドレスを扱うＮビットのアドレス信号線、データリード信号線、データライト信号線、および入出力リクエスト信号線を含む複数の信号線を介して、前記変換モジュールを1以上の前記内部機器に接続する接続部を備え、
前記接続部を介して前記変換モジュールに複数の前記内部機器が接続される場合には、これら複数の内部機器のうち前記内部アドレスにより特定された１つが前記変換モジュールと情報交換できるように構成されたデータ処理システム。
【請求項２】
前記外部機器は、前記内部アドレスにより前記接続部を指定するように構成され、
前記外部機器により指定された１つの前記接続部に接続される前記内部機器と前記変換モジュールとの間の情報交換は、前記外部機器と前記変換モジュールとの間の通信で用いられるプロトコルに依存せずに行われる請求項１に記載のデータ処理システム。
【請求項３】
前記内部アドレスにより1以上の前記内部機器のうちの１つが特定され、
前記変換モジュールが、前記データリード信号線または前記データライト信号線と前記入出力リクエスト信号線の論理状態に基づいて、特定された1つの前記内部機器に対して、８ビット単位で、前記内部データの読み出しまたは書き込みを行う請求項１または請求項２に記載のデータ処理システム。
【請求項４】
前記変換モジュールが前記外部データを前記内部データに変換する場合、８ビット以上の前記外部データは８ビット単位の前記内部データに分割され、分割された外部データは８ビット単位で１以上の記憶部に記憶され、その記憶の際にどの記憶部が用いられるのかが、前記内部アドレスの少なくとも一部により指定されるように構成された請求項１ないし請求項３のいずれか1項に記載のデータ処理システム。
【請求項５】
前記データ処理システムは、前記Ｎビットの内部アドレスにより指定される所定アドレス空間に1以上の前記内部機器を割り当てるように構成され、
前記外部機器は所定のアプリケーションを実行するホストコンピュータを備え、このホストコンピュータで実行されるアプリケーションが、前記データ処理システムの前記所定アドレス空間にアクセスできるように構成され、
1以上の前記内部機器は、演算処理ユニット、デジタル信号処理ユニット、および数値計算ユニットのうちの少なくとも１つを含むことができるように構成され、
前記ホストコンピュータが、前記データ処理システムを介して、1以上の前記内部機器の演算処理ユニット、デジタル信号処理ユニット、および数値計算ユニットのうちの２以上のユニットによる処理結果を受け取れるように構成された請求項１ないし請求項４のいずれか1項に記載のデータ処理システム。
【請求項６】
８ビット以上の外部データを扱う信号線を用いる外部機器と、８ビット単位の内部データおよびＮビットの内部アドレスを用いる１以上の内部機器をつなぐデータ処理システムであって、前記データ処理システムが、前記外部データを前記内部データに変換しあるいは前記内部データを前記外部データに変換する変換モジュールと、前記内部データを扱う８ビットのデータ信号線、前記内部アドレスを扱うＮビットのアドレス信号線、データリード信号線、データライト信号線、および入出力リクエスト信号線を含む複数の信号線を介して前記変換モジュールを1以上の前記内部機器に接続する接続部を備え、前記接続部を介して前記変換モジュールに複数の前記内部機器が接続される場合にはこれら複数の内部機器のうち前記内部アドレスにより特定された１つが前記変換モジュールと情報交換できるように構成されたデータ処理システムで用いられる方法において、
前記内部アドレスにより1以上の前記内部機器のうちの１つが特定されたあと、
前記データリード信号線または前記データライト信号線と前記入出力リクエスト信号線の論理状態に基づいて、特定された1つの前記内部機器に対して、８ビット単位で、前記内部データの読み出しまたは書き込みを行うデータ変換方法。
【請求項７】
８ビット以上の外部データを扱う信号線を用いる外部機器と、８ビット単位の内部データおよびＮビットの内部アドレスを用いる１以上の内部機器をつなぐデータ処理システムであって、前記データ処理システムが、前記外部データを前記内部データに変換しあるいは前記内部データを前記外部データに変換する変換モジュールと、前記内部データを扱う８ビットのデータ信号線、前記内部アドレスを扱うＮビットのアドレス信号線、データリード信号線、データライト信号線、および入出力リクエスト信号線を含む複数の信号線を介して前記変換モジュールを1以上の前記内部機器に接続する接続部を備え、前記接続部を介して前記変換モジュールに複数の前記内部機器が接続される場合にはこれら複数の内部機器のうち前記内部アドレスにより特定された１つが前記変換モジュールと情報交換できるように構成されたデータ処理システムで用いられる情報記憶媒体において、
前記データリード信号線または前記データライト信号線と前記入出力リクエスト信号線の論理状態に基づいて、前記内部機器に対して、８ビット単位で、前記内部データの読み出しまたは書き込みを行う処理が書き込まれた情報記憶媒体。
【請求項８】
８ビット以上の外部データを扱う信号線を用いる外部機器と、８ビット単位の内部データおよびＮビットの内部アドレスを用いる１以上の内部機器をつなぐデータ処理システムであって、前記データ処理システムが、前記外部データを前記内部データに変換しあるいは前記内部データを前記外部データに変換する変換モジュールと、前記内部データを扱う８ビットのデータ信号線、前記内部アドレスを扱うＮビットのアドレス信号線、データリード信号線、データライト信号線、および入出力リクエスト信号線を含む複数の信号線を介して前記変換モジュールを1以上の前記内部機器に接続する接続部を備え、前記接続部を介して前記変換モジュールに複数の前記内部機器が接続される場合にはこれら複数の内部機器のうち前記内部アドレスにより特定された１つが前記変換モジュールと情報交換できるように構成されたデータ処理システムで用いられる前記変換モジュールが、
前記８ビット以上の外部データを扱う信号線のデータを前記８ビット単位の内部データに変換するデータ変換回路と、
前記外部機器からの指示により、前記内部機器のうちの１つを特定する前記内部アドレスを生成するアドレス信号処理回路と、
前記外部機器からの指示により、前記データリード信号線または前記データライト信号線と前記入出力リクエスト信号線を生成する制御信号処理回路
を具備する。
【請求項９】
８ビット以上の外部データを扱う信号線を用いる外部機器と、８ビット単位の内部データおよびＮビットの内部アドレスを用いる１以上の内部機器をつなぐデータ処理システムであって、前記データ処理システムが、前記外部データを前記内部データに変換しあるいは前記内部データを前記外部データに変換する変換モジュールと、前記内部データを扱う８ビットのデータ信号線、前記内部アドレスを扱うＮビットのアドレス信号線、データリード信号線、データライト信号線、および入出力リクエスト信号線を含む複数の信号線を介して前記変換モジュールを1以上の前記内部機器に接続する接続部を備え、前記接続部を介して前記変換モジュールに複数の前記内部機器が接続される場合にはこれら複数の内部機器のうち前記内部アドレスにより特定された１つが前記変換モジュールと情報交換できるように構成されたデータ処理システムで用いられるハードウエアにおいて、
前記接続部で用いられ、前記複数の信号線に接続されるコネクタと、
前記コネクタから得られる前記内部アドレスと所定の識別データとを比較して、両者の一致を検出するコンパレータと、
前記８ビット単位の内部データを格納する１以上の記憶部と、
前記コンパレータが前記一致を検出した場合、前記コネクタから得られる前記データリード信号線または前記データライト信号線と前記入出力リクエスト信号線の論理状態に応じて、前記８ビット単位の内部データを、前記コネクタと前記１以上の記憶部の間で転送する転送制御手段
を具備したハードウエア。
【請求項１０】
前記転送制御手段は、前記コネクタから得られる前記内部アドレスの少なくとも一部を用いて、前記コネクタから得られる前記８ビット単位の内部データの転送先となる前記記憶部を特定するように構成される請求項９に記載のハードウエア。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、８ビット以上のデータを処理するコンピュータ機器（ホスト／サーバ等）と８ビット以上のデータを処理する周辺機器（クライアント／ターミナル等）を８ビットベースのバスを介して接続するデータ処理システムに関する。
【背景技術】
【０００２】
パーソナルコンピュータ（以下ＰＣと略記）は世界的に普及しており、大学の研究室などでも従前から広く用いられている。そのＰＣに搭載されるオペレーティングシステム（以下ＯＳと略記）の進化は著しく、古くは８ビットＯＳ（ＣＰ／Ｍ）に端を発し１６ビットＭＳ−ＤＯＳ（登録商標）を経て３２ビット以上に対応したＯＳが広く用いられるようになっている。３２ビット以上に対応したＯＳとしては、Ｗｉｎｄｏｗｓ（登録商標）、ＭａｃＯＳ（登録商標）、ＵＮＩＸ（登録商標）、Ｌｉｎｕｘ（登録商標）などが知られている。
【０００３】
ところが、ＯＳの進化が進むにつれ（Ｗｉｎｄｏｗｓを例にとれば、Ｗｉｎ９５・９８、Ｍｅ、Ｗｉｎ２０００といった進化）、ＰＣ（ホスト／サーバ）に接続される旧周辺機器（クライアント／ターミナル）は、新ＯＳに対応した専用ドライバ（周辺機器の制御プログラム）なくしては動かなくなってしまった。その結果、旧ＯＳ時代に開発されたレガシーな周辺機器およびその機器用のソフトウエアは使用できなくなり、研究室のノウハウともいえる、それまでのソフトウエア作成法が失われてしまった。また、新ＯＳに対応した周辺機器の入出力ボード（Ｉ／Ｏボード）は、複雑化・大型化して高価になる傾向があり、ＰＣを利用した実験を手軽に行うことが困難になってきた。このようなＰＣ環境の変化により、研究室からは、その研究室のノウハウで構築してきたＰＣによるシステムが消滅しつつある。
【０００４】
上記ＰＣ環境の変化による弊害の具体例を挙げると、次のようなものがある。例えば、ＰＣ（ホスト）を実験対象の制御ボード（クライアント）にPCI Expressなどの高級バスを介して接続し、この制御ボードをＰＣで制御する場合を想定してみる。この場合、実験者は制御ボードのＩ／Ｏ以降のハードウエアを作成することは容易にできても、ＰＣからそのハードウエアを制御するドライバは、かなり勉強しないと、書けない。つまり、あるアイディアがひらめいてその動作確認をするために実験装置基板を数日で完成させても、そのドライバを書くために（勉強時間を含めて）数ヶ月かかってしまうといったことが起き得る。やっと新ＯＳ対応のドライバの書き方をマスターしても、更に次の新ＯＳが出てくると（あるいは使用するＯＳが別のものに変わると）同じことの繰り返しになる恐れがある。
【０００５】
すなわち、新ＯＳが出て来るなどしてＰＣ環境（周辺機器との接続環境等）が変わると、新ＯＳならではの機能を必要としない場合（従前のＯＳで十分な場合）であっても、レガシーな周辺機器はその都度使用できなくなる。すると、レガシーな周辺機器で開発されたソフトウエア資産およびその作成ノウハウは、レガシーな周辺機器とともに捨てられて行くことになる。
【０００６】
上記の弊害に着目したものではないが、関連しそうな公知例はある（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】登録実用新案第３００１００８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１には、通信規格やプロトコルの異なる複数のコンピュータ間において、情報の交換が可能なデータ変換装置が開示されている。このデータ変換装置では、装置間接続指示用端末機１２により、情報の入力を行う拡張ポート２と情報の出力を行う拡張ポート２を選択するようにしている。そして、入力元の拡張ポート２から情報を入力し、ＣＰＵ５、ＲＯＭ６、ＲＡＭ８を利用して入力元の通信規格やプロトコルを出力先の通信規格やプロトコルに変換し、出力先の拡張ポート２へ出力している（要約参照）。
【０００９】
特許文献１の装置では、互換性のない通信規格やプロトコルを採用している異機種のコンピュータであっても、直接、情報交換が可能となっている。さらに、入出力ポートの数だけコンピュータを接続できるとともに、設置した入出力ポートが対応する通信規格であれば、どのような機種間においても情報の交換を行うことができるようになっている（段落００２３）。ここで、入出力ポートには種々な規格のものが利用可能となっている（段落００１０）。
【００１０】
特許文献１の装置において、装置間接続指示用端末機１２あるいは入出力ポートに接続されるコンピュータの１つが新ＯＳ対応機種（ホスト）であり、その他のコンピュータがレガシーな周辺機器（クライアント）である場合を想定してみる。その場合、適切なプロトコル変換を行うことにより、ホストとクライアントの間を、ホスト側のＯＳ進化などによりスポイルされない形で結べる可能性がある。そうであっても、しかしながら、ホストに接続されるクライアントが異なるプロトコル（複数種類のプロトコル）を用いる複数機器である場合、その機器毎のプロトコル変換が必要となり、接続の利便性に欠ける。
【００１１】
この発明の課題の１つは、接続の利便性を維持しつつ、ホストとクライアントの間を、ホスト側の環境変化など（ＯＳの変化など）にかかわらず結べるようにすることである。
【課題を解決するための手段】
【００１２】
この発明の一実施の形態に係るデータ処理システム（シンプル８と仮称する）は、８ビット以上の外部データを扱う信号線を用いる外部機器（ホスト／サーバ）を、８ビット単位の内部データおよびＮビット（例えば８ビット）の内部アドレスを用いる１以上の内部機器（クライアント／ターミナル）につなぐ構成を持ち、変換モジュールと接続部を備えている。
【００１３】
ここで、前記変換モジュールは、前記外部データを前記内部データに変換し、あるいは、前記内部データを前記外部データに変換する。
【００１４】
また、前記接続部は、前記内部データを扱う８ビットのデータ信号線、前記内部アドレスを扱うＮビット（例えば８ビット）のアドレス信号線、データリード信号線、データライト信号線、および入出力リクエスト信号線を含む複数の信号線を介して、前記変換モジュールを1以上の前記内部機器に接続する。前記接続部を介して前記変換モジュールに複数の前記内部機器が接続される場合には、これら複数の内部機器のうち前記内部アドレスにより特定された１つ（例えばターゲットＩ／Ｏボード）が前記変換モジュールと情報交換できるように構成される。
【００１５】
ここで、前記外部機器（例えばホストＰＣ）は、前記変換モジュールに対して、前記内部アドレスのＮビット空間（８ビットなら２５６空間）の１箇所を指定し、指定したアドレス空間に対してデータの送受を行う。指定されたアドレス空間に存在する内部機器（クライアント、例えばレガシーな周辺機器あるいは最新のＣＰＵボード）は、受け取ったデータに対して自身の処理を行い、その処理結果を、適宜、前記変換モジュールに返すことができる。
【００１６】
ここで、前記内部アドレスは、前記内部機器（クライアント）が持つメモリ内のアドレスを指定するのではなく、どのクライアントなのかを指定する。
【００１７】
また、前記変換モジュールが前記外部データを前記内部データに変換する場合、８ビット以上（例えば３２ビット）の前記外部データは８ビット単位の前記内部データに分割（例えば４分割）される。分割された外部データは８ビット単位で１以上の記憶部（ラッチやデュアルポートＲＡＭ等）に一旦記憶される。その際、どの記憶部を用いるのかは、前記内部アドレスの一部（例えばＡ０〜Ａ７のうちのＡ０〜Ａ１）を用いて指定できる。
【００１８】
前記変換モジュールは、前記外部機器との通信には、その通信手段（ＵＳＢ、PCI Express、ＰＣＩ−Ｘ等）に応じた所定のプロトコルを適宜用いる。しかし、前記内部機器（レガシー機器を含み得るクライアント）に対しては、前記通信手段で用いられるような複雑なプロトコルは用いずに、指定されたアドレス空間へ８ビット単位でデータを送受するだけでよい（前記変換モジュールは、シンプル８のアドレス空間の１つを指定する、入出力のリクエストおよびリード・ライトの指示、８ビット単位でデータを送受する、といった簡単な操作はする）。
【００１９】
８ビット（バイト）単位のデータはどのようなＯＳを用いたコンピュータ機器でも扱えるため、前記外部機器から前記変換モジュールに一旦取り込まれた８ビット単位のデータは、最新の周辺機器でもレガシーな周辺機器でも、問題なく扱うことができる。
【発明の効果】
【００２０】
この発明によれば、ホスト（例えばＯＳが変わり得るＰＣ）とクライアント（例えばレガシーな周辺機器を含む様々なＩ／Ｏボード）との間を、ホスト側の環境変化（ＯＳの変化）等にかかわらず結ぶことができる。
【図面の簡単な説明】
【００２１】
【図１】この発明の一実施の形態に係るデータ処理システムの一例（ホストとシンプル８変換モジュールの間はシリアル伝送）を説明する図。
【図２】図１のシンプル８変換モジュールの構成例を説明する図。
【図３】この発明の一実施の形態に係るデータ処理システムの他例（ホストとシンプル８変換モジュールの間はパラレル伝送）を説明する図。
【図４】図３のシンプル８変換モジュールの構成例を説明する図。
【図５】図１または図３に例示されるシステムにおいて、ホスト側が行う処理の一例を説明するフローチャート図。
【図６】図１または図３に例示されるシステムにおいて、シンプル８変換モジュール側で行われる処理の一例を説明するフローチャート図。
【図７】図１または図３に例示されるシステムにおいて、クライアント（ターゲットＩ／Ｏボード等）側で行われる処理の一例を説明するフローチャート図。
【図８】この発明の一実施の形態に係るデータ処理システムのさらに他の例（ホストと複数のクライアントの間でシリアル伝送および／またはパラレル伝送が行われる例）を説明する図。
【図９】この発明の一実施の形態に係るデータ処理システムのさらに他の例（クライアントの内部にシンプル８変換モジュールを設けた例）を説明する図。
【図１０】この発明の一実施の形態に係るデータ処理システムのさらに他の例（ホストの内部にシンプル８変換モジュールを設けた例）を説明する図。
【図１１】この発明の一実施の形態に係るデータ処理システムで使用される、シンプル８バスコネクタの例と、そのコネクタのピンアサイメントの例を説明する図。
【図１２】この発明の一実施の形態に係るデータ処理システムにおける、シンプル８バスのリード／ライト動作の一例を説明するタイミングチャート図。
【図１３】図１、図３等に例示されるシステムにおいて、クライアント（ターゲットＩ／Ｏボード等）側のシンプル８バスにつながる接続部の処理回路（図７の処理の一部に対応）の一例を説明する図。
【図１４】この発明の一実施の形態に係るデータ処理システムにおいて用いられるシンプル８バスカードの一例を説明する図。
【図１５】この発明の一実施の形態に係るデータ処理システムにおいて用いられるシンプル８バスカードの他例を説明する図。
【図１６】図１０等に例示されるデータ処理システムにおいて、図１４または図１５に例示されるような構成のシンプル８バスカード（クライアント）が１以上ラックマウントされる例を説明する図。
【発明を実施するための形態】
【００２２】
以下、図面を参照してこの発明の種々な実施の形態を説明する。  
＜シンプル８の概要＞
ＰＣの急速な進化発展により、ＰＣは大きなファイルサイズの高速転送使用が可能となっている。これは、ＰＣのバスが高速化大型化を進めており、６４ビット幅、３２ビットアドレスと高性能化が実現してきたことによる。その外部Ｉ／Ｏのバスとしては大型化したシリアルの高速バスPCI Express ができ、×1６レーンというサイズまで出て、高速大容量転送に事欠かない（PCI Expressでは×1レーン当たり５００ＭＢ/ｓものデータ転送速度が可能となっている）。しかし、最先端のみならず実用領域として最適な小型Ｉ／Ｏバスが規格化されていない。
【００２３】
この発明の一実施の形態に係るシンプル８バス４００は、パラレル８ビットのアドレス／データバスとして考えられた。シンプル８バスはＷｉｎｄｏｗｓＯＳとの親和性があり、ＤＬＬ（Dynamic Link Library）アプリケーションソフトが容易作成に可能な、コンパクトな構成を持つ。しかも、あらゆるパラレルバス／シリアルバスからデータ変換可能で、古典的１６ビットＰＣからも最新ＰＣのPCI Expressからも容易にデータ変換してソフトウエア対応が個々のユーザ側で可能になるバス方式である。
【００２４】
特に、PCI Express をシンプル８に変換することは意味がある。PCI Expressは×１レーンの小さいサイズではコネクタも小さく２本の差動データ信号が基幹で今後のＰＣの枢要なバスである。しかしユーザがＩ／Ｏを設計しソフトウエアを作成すると、ＰＣＩ（Peripheral Component Interconnect）を展開するＬＳＩ（Large Scale Integrated circuit）の設置やＤＬＬ作成など大きな手間が必要である。しかしPCI Express−シンプル８変換をしてあれば、従来の手法で容易にＩ／Ｏを設置運用することが可能になる。また、Ｉ／Ｏボードも簡易に設計製作することが出来るようになる。
【００２５】
図１は、この発明の一実施の形態に係るデータ処理システム（シンプル８のデータ処理システム）の一例を説明する図である。この例では、ホストＰＣ１００とシンプル８変換モジュール３００Ｓの間が、シリアル伝送路２００Ｓで結ばれている。そのシリアル伝送には、例えばＵＳＢ２．０またはPCI Express（適宜PCI(e)と略記）のような既存技術を用いることができる。シンプル８変換モジュール３００Ｓは、シンプル８バス４００を介して、シンプル８用に規格化された構成を持つ接続部５００に接続される。接続部５００にはクライアント（ターゲットＩ／Ｏボード）６００が接続される。（または、クライアントのＩ／Ｏボードに接続部５００が実装されている。）クライアント６００としては、種々な周辺機器またはコンピュータ機器を用いることができる。ホストまたはクライアントとなる機器には、従前から存在するレガシーな機器も、将来開発される機器も、含まれる。
【００２６】
図２は、図１のシンプル８変換モジュール３００Ｓの構成例を説明する図である。ホストＰＣ１００は、シリアルＩ／Ｆ２１０Ｓおよびシリアル伝送路２００Ｓを介して、シンプル８変換モジュール３００ＳのシリアルＩ／Ｆ２２０Ｓに接続される。この例では、ＵＳＢ２．０およびPCI Express（PCI(e)）を扱えるExpress Card（既存技術）が、シリアルＩ／Ｆ２１０Ｓ、２２０Ｓに用いられている。ＵＳＢ２．０ではデータ転送速度は４８０Ｍｂｐｓ（６０ＭＢ／ｓ）しか得られないが、PCI Expressなら、例えば×８レーンで４ＧＢ／ｓもの高速データ転送が可能となる。なお、データ転送が遅くてもよい場合は、ＲＳ２３２Ｃ等のレガシーな低速シリアルポートをシリアルＩ／Ｆ２１０Ｓ、２２０Ｓに用いることも考えられる。
【００２７】
シリアルＩ／Ｆ２２０Ｓからのデータは、データ変換回路３１０により、８ビット単位のデータＤ０〜Ｄ７に変換される。ホストＰＣ１００からのデータが例えば３２ビットなら、その３２ビットデータは８ビット単位で４分割され、８ビット幅のシンプル８バス４００に順次送出される。例えば、ホストＰＣ１００からの３２ビットデータ（Ｄ０〜Ｄ３１）は、図示しない８ビットラッチやデュアルポートＲＡＭ等により、８ビット単位（Ｄ０〜Ｄ７、Ｄ８〜Ｄ１５、Ｄ１６〜Ｄ２３、Ｄ２４〜Ｄ３１）で順次バッファリングされ、バッファリングされた８ビット単位のデータが順次シンプル８バス４００に送り出される。
【００２８】
ホストＰＣ１００からのデータが８ビットなら、一旦バッファリングし８ビットパラレルデータの形で、そのままシンプル８バス４００に送出できる。ホストＰＣ１００からのデータが１６ビットなら、バッファリングし８ビット単位で２分割してシンプル８バス４００に送出する。ホストＰＣ１００からのデータが３２ビットなら８ビット単位で４分割して送出し、６４ビットなら８ビット単位で８分割して送出する。
【００２９】
シンプル８バス４００からの８ビット単位データをホストＰＣ１００に返すときは、逆の操作を行う。すなわち、シンプル８バス４００から８ビット単位で４つのデータが送られてきたときは、データ変換回路３１０はそれらを順次バッファリングして８×４＝３２ビットに纏め（Ｄ０〜Ｄ７、Ｄ８〜Ｄ１５、Ｄ１６〜Ｄ２３、Ｄ２４〜Ｄ３１を順次３２ビットレジスタに書き込んでＤ０〜Ｄ３１とする等）、シリアル伝送路２００Ｓを介してホストＰＣ１００に返すことができる。
【００３０】
シンプル８バス４００のアドレスビット数Ｎは、シンプル８アドレス空間内のクライアントの数に応じて決めることができる。クライアントの最大数が例えば６４ならＮは６ビット、クライアントの最大数が２５６ならＮは８ビット、クライアントの最大数が１０２４ならＮは１０ビットとなる。以下の例では、Ｎ＝８とし、アドレス幅もデータ幅と同じ８ビットとしている。
【００３１】
ホストＰＣ１００は、例えば最大２５６存在し得るクライアントのどれかを、８ビットのアドレスで指定する。指定されたアドレスは、アドレス信号処理回路３２０を介して、シンプル８のアドレスＡ０〜Ａ７に変換（変換テーブルを参照する等）され、シンプル８バス４００に送出される。これにより、ホストＰＣ１００は、シンプル８の２５６アドレス空間のうちの任意の場所に存在するクライアント（ターゲットＩ／Ｏボード）を指定できるようになる。
【００３２】
ホストＰＣ１００はさらに、制御信号処理回路３３０を介して、指定したクライアントに対して入出力を要求し、指定したクライアントにデータを書き込む（データを渡す）か、指定したクライアントからデータを読み出す（データを貰う）かの指示等を行う。制御信号処理回路３３０は、ホストＰＣ１００からの指示に基づいて、入出力リクエスト信号ＩＯＲＬ、データライト信号ＷＤＬ、データリード信号ＲＤＬ等をシンプル８バス４００に送出する。
【００３３】
図３は、この発明の一実施の形態に係るデータ処理システムの他例（ホストとシンプル８の間はパラレル伝送）を説明する図である。この例では、ホストＰＣ１００とシンプル８変換モジュール３００Ｐの間が、パラレル伝送路２００Ｐで結ばれている。そのパラレル伝送には、例えばＰＣＩまたはＰＣＩ−Ｘのような既存技術を用いることができる。ＰＣＩでは、６４ビット／６６ＭＨｚ仕様なら５３３ＭＢ／ｓのデータ転送速度が得られる。ＰＣＩ−Ｘなら、６４ビット／１３３ＭＨｚの仕様で１０６７ＭＢ／ｓのデータ転送速度が得られる。シンプル８変換モジュール３００Ｐは、シンプル８バス４００を介して、シンプル８用に規格化された構成を持つ接続部５００に接続される。接続部５００にはクライアント（ターゲットＩ／Ｏボード）６００が接続される（または、クライアントのＩ／Ｏボードに接続部５００が実装されている）。図１の場合と同様、クライアント６００としては、種々な周辺機器またはコンピュータ機器を用いることができる。ホストまたはクライアントとなる機器には、従前から存在するレガシーな機器も、将来開発される機器も、含まれる。
【００３４】
図４は、図３のシンプル８変換モジュール３００Ｐの構成例を説明する図である。ホストＰＣ１００は、パラレルＩ／Ｆ２１０Ｐおよびパラレル伝送路２００Ｐを介して、シンプル８変換モジュール３００ＰのパラレルＩ／Ｆ２２０Ｐに接続される。ここでは、ＰＣＩまたはＰＣＩ−Ｘを扱えるカード（既存技術）が、パラレルＩ／Ｆ２１０Ｐ、２２０Ｐに用いられている（以下の説明では、ＰＣＩおよびＰＣＩ−Ｘのどちらでもよい場合はＰＣＩで代表する）。図４のデータ変換回路３１０、アドレス信号処理回路３２０、および制御信号処理回路３２０の回路機能は、図２の場合と同様である。なお、高速データ転送を必要としない場合は、ＩＥＥＥ１２８４準拠のレガシーなパラレルポートをパラレルＩ／Ｆ２１０Ｐ、２２０Ｐに用いることも可能である。
【００３５】
従来は、ＰＣＩバスによりＩ／Ｏボードを作る場合、ＰＣＩバスからＩ／Ｏに必要な取得アドレスを決め、各種のタイミングを合わせてアドレス／データのバスタイミングを決定し、Ｉ／Ｏに必要なＬＳＩ等を設置する。次にプラグアンドプレイに必要なコード発生機構も設置する（Ｗｉｎｄｏｗｓ等最近のＯＳはプラグアンドプレイに対応している）。こうしたハードウエアの設置のほか、プラグアンドプレイに必要なＤＬＬ、Ｉ／Ｏ用のＬＳＩに必要なＤＬＬを記述することになる。こうしたＡＰＩ（Application Programming Interface）に必要なＤＬＬとソフトウエアを、ＰＣＩ用のＩ／Ｏボードを作る度にＯＳにあわせた形で作成するのは、大変な手間となる。
【００３６】
しかし、ＰＣＩバス２００Ｐからシンプル８バス４００へデータ変換する機構（アダプタシステム）としてシンプル８変換モジュール３００Ｐを最初に設置すれば、上記の手間は大幅に軽減される。すなわち、シンプル８バス４００上に次に設置するＩ／Ｏボードのソフトウエア記述は、プラグアンドプレイに必要なアドレス（シンプル８の２５６アドレス空間を特定する情報）を最初に取得し、そのアドレスを使うようにアプリケーションソフトウエアを記述するのみで済む。そのため、シンプル８を用いれば、Ｉ／Ｏボード（クライアント）の増設は、ソフトウエアの作成上、極めて簡単になる。
【００３７】
ハードウエアの面から見ても、Ｉ／Ｏボードはシンプル８用のデコーダ（図１３参照）を設置してあればよく、そのデコーダの必要ゲート数は小さく、形状も小型化できる。
【００３８】
図５は、図１または図３に例示されるシステムにおいて、ホストＰＣ１００側が行う処理の一例を説明するフローチャートである。まず、所定の通信方法（ＵＳＢ、PCI Express、ＰＣＩ、ＰＣＩ−Ｘ等）により、ホストＰＣ１００をシンプル８変換モジュール３００（３００Ｓ、または３００Ｐ）に接続し、両者の間で情報の送受ができるようにする（ＳＴ１０）。ホストＰＣ１００のソフトウエア（Basicで書かれたアプリケーション等）は、使用するクライアント６００（ターゲットＩ／Ｏに接続されたＣＰＵボード等…プラグアンドプレイでホストＰＣ１００のＯＳが自動認識できるようになっている）のシンプル８アドレスを１以上指定する（ＳＴ１２）。
【００３９】
ここで、シンプル８アドレスが８ビットアドレスの場合は、００ｈ〜ＦＦｈの２５６アドレス空間がある。シンプル８のアドレス空間はホストＰＣ１００側のメモリ空間の何処に割り当てられていてもよい。ホストＰＣ１００が特定のクライアント６００を指定すると、ホストＰＣ１００側のＯＳのプラグアンドプレイ機能により、クライアントのシンプル８アドレス空間（００ｈ〜ＦＦｈ）は自動的にホストＰＣのメモリ空間に割り当てられる。ホストＰＣ１００は００ｈ〜ＦＦｈのいずれかを指定するだけでシンプル８のアドレス空間にアクセスできる。
【００４０】
こうして、ホストＰＣ１００は指定したクライアント６００と情報の送受ができるようになる。その後、使用する通信方法（PCI Express等）で用いられる所定のプロトコルに従い、ホストＰＣ１００とシンプル８変換モジュール３００との間で、通信が行われる（ＳＴ１４）。この通信で送受されるデータは、シンプル８バス４００が扱う８ビット単位のデータ以上のデータサイズが可能で、例えば３２〜６４ビットとなっている。また、例えば×８〜×１６レーンのPCI Expressを用いれば、ホストＰＣ１００とシンプル８変換モジュール３００との間の通信を、極めて高速化できる。
【００４１】
図６は、図１または図３に例示されるシステムにおいて、シンプル８変換モジュール３００側で行われる処理の一例を説明するフローチャートである。このフローチャートの処理は、シンプル８変換モジュール３００（図１では３００Ｓ、図３では３００Ｐに対応）内のロジック回路、および／または、ＭＰＵ＋ファームウエアＲＯＭにより実行できる。
【００４２】
まず、シンプル８変換モジュール３００がクライアント６００と送受するデータ（ホストＰＣ１００からのデータ）が８ビット以上のサイズを持っている場合は、そのデータを８ビット単位で分ける（ＳＴ２０）。例えば３２ビットデータなら８ビット単位で４分割する（ＳＴ２０）。
【００４３】
ここで、シンプル８変換モジュール３００は、ホストＰＣ１００との通信で用いられるプロトコルは使わずに、１以上の指定されたクライアント６００へ８ビット単位のデータおよびその制御信号（ＲＤＬ、ＷＤＬ、ＩＯＲＬ等）を送り、クライアント６００（ターゲットＩ／Ｏに接続されたＣＰＵボード等）にそのクライアントが行うべき処理を要求する（ホスト側からみればクライアントへデータライト）（ＳＴ２２）。
【００４４】
あるいは、シンプル８変換モジュール３００は、ホストＰＣ１００との通信で用いられるプロトコルは使わずに、各クライアント６００（ターゲットＩ／Ｏに接続されたＣＰＵボード等）の処理結果のデータを、８ビット単位で返してもらう。シンプル８変換モジュール３００は、クライアント６００から返ってきた８ビット単位のデータをホストＰＣ１００側のデータ単位（例えば３２ビット）に適宜変換し、ホストＰＣ１００に返す（ホスト側からみればクライアントからデータリード）（ＳＴ２２）。
【００４５】
図７は、図１または図３に例示されるシステムにおいて、クライアント６００（ターゲットＩ／Ｏボード等）側で行われる処理の一例を説明するフローチャートである。このフローチャートの処理は、クライアント６００とその接続部５００（内部の具体例は図１３参照）内のロジック回路とが協同することで、実行できる。
【００４６】
まず、ホストＰＣ１００が指定するアドレス空間のクライアント６００（ターゲットＩ／Ｏに接続されたＣＰＵボード等）は、シンプル８変換モジュール３００からの制御信号（ＩＯＲＬおよび、ＲＤＬ、ＷＤＬ等）により、シンプル８変換モジュール３００から８ビット単位で送られてくるデータを用いて、自身の処理（数値演算、画像処理、画像表示、画像取り込み、デジタルＡＶデータのエンコード／デコード処理、プリントアウト等）を行う。クライアント自身の処理結果（データ）は、制御信号に基づき適宜シンプル８変換モジュール３００へ返される（ＳＴ３０）。シンプル８変換モジュール３００に返されたデータは、適宜、伝送路（２００Ｓまたは２００Ｐ）を介して、ホストＰＣ１００へ転送することができる。
【００４７】
ここで、クライアントが複数（８ビットアドレス空間では最大２５６）のＩ／Ｏボード群（例えばＣＰＵ／ＤＳＰ／ＦＰＵ等を備えた演算処理ボード群）で構成される場合、ホストＰＣ１００は、それらのＩ／Ｏボード群に処理を分散して依頼することができる。このような分散処理を利用すれば、シンプル８バス４００上の個々のＩ／Ｏボードの通信／処理速度が遅くても、ホストＰＣ１００側からみれば、Ｉ／Ｏボード群が全体として高速な並列処理を行ってくれることになる（この場合は、ホストＰＣがクライアントとなってＩ／Ｏボード群によるサービスを受けると考えてもよい）。
【００４８】
図８は、この発明の一実施の形態に係るデータ処理システムのさらに他の例（ホストと複数のクライアントの間でシリアル伝送および／またはパラレル伝送が行われる例）を説明する図である。ホストＰＣ１００がＰＣＩ、ＵＳＢ，プリンタＩ／Ｏ（ＩＥＥＥ１２８４）、ＲＳ２３２Ｃ、ＬＡＮ（ＩＥＥＥ８０２．３）等の通信Ｉ／Ｏポートを持つ場合、それらのＩ／Ｏポートそれぞれに対して、PCI−Simple8、USB−Simple8、printer−Simple8、RS232C−Simple8、RS232C−Simple8等の変換用モジュール（３００Ｐ、３００Ｓ）が接続される。そうすると、現存する大部分のＩ／Ｏからシンプル８バスに変換が可能となる。シンプル８に変換されると、それらのＩ／Ｏに対して同じ（シンプル８バス準拠の）Ｉ／Ｏボード（クライアント６００）を使用できるようになる。
【００４９】
例えば、ホストＰＣ１００のＵＳＢポートよりシンプル８変換をすると、従来では専用のＩ／Ｏを個別に設置して動作させたのに対し、汎用のシンプル８ファミリボードをダイレクトにＵＳＢ接続できる。この場合、ＵＳＢを用いるアプリケーションソフトウエアの作成において、ユーザは、ＵＳＢのアドレス（シンプル８のアドレス空間）のみを記述すれば、ＵＳＢ接続されたＩ／Ｏボードを利用できるようになる。
【００５０】
従来は、ＵＳＢポートに専用のＩ／ＯやＬＳＩを設置し、専用のＤＬＬ、システムソフトウエア、アプリケーションソフトウエアを記述していたが、それに比べると、シンプル８変換には大きなメリットがある。すなわち、従来は、ＵＳＢポートに接続するＩ／Ｏボードの汎用化は考えられていない。これに対し、ＵＳＢ−シンプル８変換すれば、ホスト（ＰＣ）側のＵＳＢを、汎用データポート／制御ポートとして、クライアント（Ｉ／Ｏボード）側からも制御することができる。ソフトウエア上も、ＵＳＢのプロトコルを記述すれば、ＵＳＢを用いるアプリケーションソフトとＵＳＢを用いるハードウエアＩ／Ｏを使用できる。ＵＳＢポートは既に汎用のＩ／Ｏポートとして普及しているが、ユーザが任意に機能を追加したり制御機構を組み込むことは難しかった。これに対し、シンプル８では、容易に機能の追加変更可能なＩ／Ｏシステムを提供することができる。
【００５１】
また、従来は、ＩＳＡ（Industry Standard Architecture）バスにユーザＩ／Ｏを設置する場合、アドレスバスが２４本、データバス８本、各種コントロール信号８本などを必要に応じてデコードして必要なアドレスや制御信号を作り、エリアを確保する。次にその当該Ｉ／Ｏに必要なＤＬＬを作成し、アプリケーションソフトウエアを記述する必要がある。これに対し、ＩＳＡ−シンプル８変換を行うと、大きなアドレス、データ、制御信号をデコードするのは、シンプル８バスのためだけでよい。また、シンプル８バス上ではＤＬＬも共通となる。そのため、シンプル８バス上のＩＳＡボードを使う際は、ユーザはそのボードの処理に必要なアプリケーションソフトを書けばよい。
【００５２】
また、レガシープリンタポートから、シンプル８に変換すると、プリンタポートを汎用バスに変換できる。レガシープリンタポートはＩＥＥＥ１２８４としても使用できるので、各種のＩ／Ｏを設置し使用されてきた。しかし、ハード的には個別規格で使用されており汎用化がなされていなかった。これに対し、プリンタポート−シンプル８変換によれば、汎用ボードとして作られたシンプル８ファミリのボードが容易に設置可能となる。シンプル８バス上ではＤＬＬが共通化されるので、ＤＬＬとしても一度作成すればそのまま使用できる。レガシープリンタポートは古いＰＣでもほとんど標準で設置されているから、ＰＣをリニューアルして再使用することもできる。
【００５３】
ＲＳ−２３２Ｃは1対１の通信手段として便利であるが、制御対象として使用したり、データロガーとして使用することもできる。このとき、各種のＩ／Ｏをシンプル８により制御するように構成すれば、シンプル８ファミリボードを変えるだけで、種々のＩ／Ｏシステムを製作することが可能となる。
【００５４】
イーサネット（登録商標）（ＩＥＥＥ８０２．３）のＬＡＮは、ＰＣ同士を接続することが主目的であるが、ＰＣからみて単なる制御対象のＩ／Ｏとして使用できるアダプタを作ることもできる。このためにイーサネットＬＡＮ−シンプル８変換を行うと、「アドレス指定と、データを読みますあるいはデータを書きます」という単純なプロトコルで指示を送出すれば、イーサネットＬＡＮ端子をＩ／Ｏとして制御することが可能となる。例えば、イーサネットＬＡＮ端子を用いて、オン・オフスイッチシステム等の制御を簡易に行うことができる。イーサネットＬＡＮ端子を用いてデータロガー等の高度処理を行うときでも同様である。
【００５５】
図９は、この発明の一実施の形態に係るデータ処理システムのさらに他の例（クライアントの内部にシンプル８変換モジュールを設けた例）を説明する図である。PCI Expressは、従来のＰＣＩの「アドレス６４本、データ３２本、およびコントロール合わせて約１６０本の信号線」があるバスの行き詰まりから、差動とした1本のシリアル信号線で間に合うように考えられた。それでもＰＣＩと比べて約２倍から４倍の転送速度（×１レーン当たり５００ＭＢ／ｓ）を可能にしている。更に、シリアル信号を×１６レーンという１６本での転送にすれば、従来のＰＣＩ（３２ビット／３３ＭＨｚの場合）に比べ５０倍以上のスピードを実現することが可能になる。
【００５６】
ここで、PCI Expressからシンプル８に変換すれば、シンプル８バス上の低速Ｉ／Ｏでも十分なスピードとパフォーマンスを確保できる。つまり、PCI Expressは、その性質上、従来のＩ／Ｏを設置する場合、パラレルのラッチ機構で６４ビットのアドレスと３２ビットのデータを生成し、必要なエリアを確保し、デコードし、Ｉ／Ｏ用のＬＳＩ、ドライバーを設置する。
【００５７】
これに対し、シンプル８変換モジュール３００ＳにおけるＩ／Ｏ設置では、PCI Express−シンプル８変換を１回してあげればよい（図２参照）。PCI Expressのシリアル信号からのパラレル変換ＬＳＩはゲート数も多く高価であるが、シンプル８では、多数のＩ／Ｏを用いる場合であっても、この高価な変換ＬＳＩが１個で済む。シンプル８バス４００上の個別ボードは、単純なバッファ（ラッチやデュアルポートＲＭＡ等）でデータの受け渡しができるため、ボードを安価に作成できる。また、ＤＬＬも簡単になる。同一のボードサイズでも、シンプル８という変換機構によれば、Ｉ／Ｏボードの画期的な低価格化が可能である。
【００５８】
また、PCI Express変換ＬＳＩは×１レーンでも５００ＭＢ／ｓという大量のデータ転送レートがあるが、一般にＩ／Ｏは１ＭＢ/ｓ程度のスピードがあれば事足りることが多い。このような低速Ｉ／Ｏ各々に対してPCI Expressを用いようとすることは、指でつぶせる蟻（低速Ｉ／Ｏ）に、ロードローラー（PCI Express）を持ち出すのに等しい。例えば１００個のファイルをZipファイルに圧縮してあるときにそのうちの１個のファイルだけを用いる場合であっても１００個すべてを解凍していると同様な、無駄の多い手間をかけているといえる。しかも、PCI Expressの変換ＬＳＩは５００ＭＢ／ｓでの変換をサポートしているから、それなりにＤＬＬの作法も難しく、Ｉ／Ｏを作るたびに学習がいる。これに対し、PCI Express−シンプル８変換をしてあれば、シンプル８上では基本のＤＬＬは同一であるから、１度学習すれば、PCI Expressを介して処理したい内容のアプリケーションソフトを作る分だけで済む利便性がある。
【００５９】
図１０は、この発明の一実施の形態に係るデータ処理システムのさらに他の例（ホストの内部にシンプル８変換モジュールを設けた例）を説明する図である。クライアント（ＤＳＰ／ＦＰＵ等を搭載したＣＰＵボード）６００からシンプル８バス４００を設置すれば、そのクライアントが、あたかもホストの如く、シンプル８バス４００上（シンプル８バスのネットワーク上）のシンプル８ファミリボードを使用することができる。
【００６０】
また、ホストＰＣ１００等からＤＳＰやＦＰＵ付のＬＰＵ（ローカル処理ＣＰＵ）ボード６００等を制御する場合、シンプル８バス４００の前にデュアルポートＲＡＭ（図示せず）を設置すれば、容易に、ホストのＣＰＵとボードのＬＰＵとで並列処理を行うことができる。
【００６１】
また、例えばシンプル８バス４００で２バイト（１６ビット）をワンセットとして扱うように構成すれば、シンプル８バス４００を、虚部と実部に分けた８ビットデータの読み書きに使用したり、ベクトル部とスカラ部に分けた８ビットデータの送受信を行うこともできる。
【００６２】
さらに、シンプル８バス４００を用いたネットワークではパラレル処理が可能であるため、Ｗａｎ（Wide Area Network）やＬＡＮ（Local Area Network）上でのグリッドコンピューティングアレイよりも、処理能力上、メリットが大きい。
【００６３】
図１１は、この発明の一実施の形態に係るデータ処理システムで使用される、シンプル８バスコネクタ５００Ｃの例と、そのコネクタのピンアサイメントを説明する図である。シンプル８では、シンプル８ファミリのボード（クライアント）間の互換性を確保するため、共通のピンアサイメントを用いたシンプル８バスコネクタ５００Ｃ（図１１（ａ））が用いられる。このコネクタ５００Ｃは、シンプル８を８ビットアドレスで構成する場合は、正論理のアドレスＡ０〜Ａ７と、正論理のデータＤ０〜Ａ７と、負論理のＩ／ＯリクエストＩＯＲＬと、負論理の割込要求ＩＲＱＬと、負論理のライトデータストローブＷＤＬと、負論理のリードデータストローブＲＤＬと、正論理のイネーブルクロックＥと、負論理のリセットＲＥＳＬを扱う接続ピンを持つ（図１１（ｂ）（ｃ））。このコネクタ５００Ｃはさらに、＋５Ｖの電源ラインおよびグランドラインを扱う接続ピンも持つ（図１１（ｂ））。これらの接続ピンのうち、アドレスバスＡ０〜Ａ７、データバスＤ０〜Ａ７、Ｉ／ＯリクエストＩＯＲＬ、ライトデータストローブＷＤＬ、およびリードデータストローブＲＤＬの信号を扱うピン（電極）は規格化しておくことが必須であるが、電源ラインを含むその他のピン（電極）の割り振りはオプションとすることができる（例えば＋５Ｖピンをオープンピンとすることも可能）。
【００６４】
図１２は、この発明の一実施の形態に係るデータ処理システムにおける、シンプル８バスのリード／ライト動作の一例を説明するタイミングチャートである。図２または図４のデータ変換回路３１０から出力されるデータバス（Ｄ０〜Ｄ７）のリードデータあるいはライトデータと、制御信号処理回路３３０から出力されるＩ／ＯリクエストＩＯＲＬ、および、ライトデータストローブＷＤＬまたはリードデータストローブＲＤＬの信号タイミングは、例えば図１２のように設定することができる。
【００６５】
なお、図１２の例示はシンプル８バスのスピードが１ＭＨｚと遅い場合であるが、シンプル８バスのスピードが例えば６６ＭＨｚのように早くなる場合は、例示の時間は短くなる。例えば、バススピードが１ＭＨｚのときＩＯＲＬのパルス幅が３００ｎｓの場合に、それが６６ＭＨｚにスピードアップすれば、対応するパルス幅を３００ｎｓから６６ｎｓというように短縮できる（６６ＭＨｚの場合に３００ｎｓが不可能というわけではないので、その場合のパルス幅は３００／６６ｎｓ以上というように規定してもよい）。
【００６６】
図１３は、図１、図３等に例示されるシステムにおいて、クライアント（ターゲットＩ／Ｏボード等）側のシンプル８バスにつながる接続部（シンプル８バスコネクタ）５００Ｃの処理回路（図７の処理の一部に対応）の一例を説明する図である。このコネクタ５００Ｃの接続電極の割り振り方（ピンアサイメント）は、例えば図１１（ｂ）のようになっている。
【００６７】
シンプル８バスコネクタ５００ＣのデータＤ０〜Ｄ７の電極は、バストランシーバ（または周辺機器インターフェースアダプタＰＩＡ（Peripheral Interface Adaptor））５０２に接続される。コネクタ５００ＣのアドレスＡ０〜Ａ７の電極は、コンパレータ５０４に接続される。コネクタ５００Ｃのアドレス電極の一部（Ａ０〜Ａ１）および制御信号（ＩＯＲＬ、Ｅ、ＷＤＬ、ＲＤＬ）の電極は、リード／ライト制御回路５０８に接続される。バストランシーバ５０２は、汎用ＩＣ（＃７４２４５）を用いて構成できる。＃７４２４５の代わりに、ＰＩＡとして別の汎用ＩＣ（＃ＭＣ６８２１）を用いることもできる。コンパレータ５０４としては、汎用ＩＣ（＃７４６８８）を用いることができる。リード／ライト制御回路５０８は、汎用ＩＣ（＃７４１３８：デコーダ／デマルチプレクサ）等を用いて構成できる。
【００６８】
クライアント（Ｉ／Ｏボード）毎にユニークな識別コード５０６がシンプル８アドレスとして事前に設定されており、この識別コード５０６がコンパレータ５０４に入力されている。コンパレータ５０４は、識別コード５０６に合致するアドレスＡ０〜Ａ７を受け取ると、自分が指名されたと判断し、バストランシーバ５０２のゲートを開ける。
【００６９】
また、リード／ライト制御回路５０８は、バストランシーバ５０２のゲートが開くと、Ｉ／ＯリクエストＩＯＲＬがローレベルＬとなりイネーブルクロックＥがハイレベルＨとなった場合に、アドレスの一部（Ａ０、Ａ１）が指定する先に、ローレベルＬのライトデータストローブＷＤＬ（またはローレベルＬのリードデータストローブＲＤＬ）を出力する。このライトデータストローブＷＤＬ（またはリードデータストローブＲＤＬ）を受け取った記憶部（８ビットのラッチまたはデュアルポートＲＡＭ）５２１〜５２４は、トランシーバ５０２からの８ビットデータＤ０〜Ｄ７を記憶する（または図示しないクライアントのＩ／Ｏボードから書き込まれた８ビットデータＤ０〜Ｄ７を出力する）。
【００７０】
例えば、元が３２ビットのデータが４分割されてシンプル８コネクタ５００ＣのＤ０〜Ｄ７に順次送られてくる場合、Ａ０〜Ａ７でターゲットＩ／Ｏボード（クライアント）が特定されたあと、ＷＤＬがローレベルで（Ａ０、Ａ１）の組合せが（０、０）なら、シンプル８データバスのＤ０〜Ｄ７（元の３２ビットデータのＤ０〜Ｄ７）が記憶部５２１に記憶（ラッチ）される。ＷＤＬがローレベルで（Ａ０、Ａ１）の組合せが（０、１）なら、シンプル８データバスのＤ０〜Ｄ７（元の３２ビットデータのＤ８〜Ｄ１５）が記憶部５２２に記憶（ラッチ）される。ＷＤＬがローレベルで（Ａ０、Ａ１）の組合せが（１、０）なら、シンプル８データバスのＤ０〜Ｄ７（元の３２ビットデータのＤ１６〜Ｄ２３）が記憶部５２３に記憶（ラッチ）される。ＷＤＬがローレベルで（Ａ０、Ａ１）の組合せが（１、１）なら、シンプル８データバスのＤ０〜Ｄ７（元の３２ビットデータのＤ２４〜Ｄ３１）が記憶部５２４に記憶（ラッチ）される。記憶部５２１〜５２４にラッチされたデータは、図１３の接続部５００に繋がる図示しない３２ビットデバイス（クライアント６００のＩ／Ｏボード）へ送られる。
【００７１】
あるいは、例えば元が１６ビットのデータが２分割されてシンプル８コネクタ５００ＣのＤ０〜Ｄ７に順次送られてくる場合は、Ａ０〜Ａ７でターゲットＩ／Ｏボード（クライアント）が特定されたあと、ＷＤＬがローレベルで（Ａ０）が（０）ならシンプル８データバスのＤ０〜Ｄ７（元の１６ビットデータのＤ０〜Ｄ７）が記憶部５１１に記憶（ラッチ）され、ＷＤＬがローレベルで（Ａ０）が（１）ならシンプル８データバスのＤ０〜Ｄ７（元の１６ビットデータのＤ８〜Ｄ１５）が記憶部５１２に記憶（ラッチ）される。記憶部５１１〜５１２にラッチされたデータは、図１３の接続部５００に繋がる図示しない１６ビットデバイス（クライアント６００のＩ／Ｏボード）へ送られる。
【００７２】
図１３の接続部５００に繋がる図示しないビットデバイス（クライアント６００のＩ／Ｏボード）からデータを読み出す場合は、ＲＤＬがローレベルとなり、上記と同様に、（Ａ０、Ａ１）の組合せで指定される記憶部（ラッチあるいはデュアルポートＲＡＭ）からの８ビットデータが、順次、バストランシーバ５０２とシンプル８バスコネクタ５００Ｃを介して、シンプル８バス４００に送出される。
【００７３】
図１４は、この発明の一実施の形態に係るデータ処理システムにおいて用いられるシンプル８バスカードの一例を説明する図である。この例では、図１または図３等に例示されるシステムにおいて用いられるシンプル８バスカードの外観を例示している。このカードにはシンプル８用の２６ピンコネクタ５００Ｃが設けられている。シンプル８コネクタのピンアサイメントとカードサイズは規格化されていて、シンプル８バスカードはどのシンプル８バスにも任意に接続できるようになっている。
【００７４】
図１５は、この発明の一実施の形態に係るデータ処理システムにおいて用いられるシンプル８バスカードの他例を説明する図である。この例でも、シンプル８コネクタのピンアサイメントとカードサイズは規格化されている。この例では、接続部５００のコネクタ部分が、図１４の２６ピンコネクタと同様な信号を扱う複数電極群５００ｅ（カード基板端部に設置される櫛歯状の金メッキ電極等）で構成されている。この電極群５００ｅが、標準サイズのシンプル８カードを装着できる回路基板上のスロット（図示せず）に挿入できるようになっている。
【００７５】
図１６は、図１０等に例示されるデータ処理システムにおいて、図１４または図１５に例示されるような構成のシンプル８バスカード（クライアント）が１以上ラックマウントされる例を説明する図である。この例では、ＤＩＮ規格のラック７００に複数のシンプル８コネクタまたは複数のシンプル８カードスロットが設けられており、それらにシンプル８のボード（６００−１〜６００−ｎ）が任意に着脱できるようになっている。これらのシンプル８コネクタまたはシンプル８カードスロットのデータバス、アドレスバス、および制御信号群の配線は並列接続され、その配線（シンプル８パラレルバス４００）はシンプル８変換モジュール３００（例えば図１の３００Ｓ）に接続されるようになっている。
【００７６】
ラック７００に装着された任意数のシンプル８ファミリボード（クライアント）６００−１〜６００−ｎは、シンプル８変換モジュール（図１６では図示せず）を介してホストＰＣ１００に双方向接続される。ラック７００上に装着されたシンプル８ファミリボード６００−１〜６００−ｎ各々は、ＯＳのプラグアンドプレイ機能によりホストＰＣ１００にマウントされ、ホストＰＣ１００のアプリケーションソフトウエアからアクセスできるようになっている。
【００７７】
＜まとめ＞
この発明の一実施の形態に係るデータ処理システム（シンプル８と仮称する）は、８ビット単位の内部データ（例えばＤ０〜Ｄ７）およびＮビットの内部アドレス（例えばＡ０〜Ａ７）を扱うバス（シンプル８バス）を用いて、外部機器（ホスト／サーバ）を、１以上の内部機器（クライアント／ターミナル）につなぐ構成を持つ。この構成は、前記バス（シンプル８バス）に接続された、変換モジュール（シンプル８変換モジュール）と接続部（シンプル８コネクタ）を備えている。ここで、前記外部機器（ホスト／サーバ）は、８ビット以上の外部データ（例えば３２ビットデータ）を扱う信号線（シリアル伝送でもパラレル伝送でもよく、無線／有線は問わない）を用いて、前記変換モジュールにつなぐことができるようになっている。この信号線には、既存技術（ＵＳＢ、PCI Express、ＰＣＩ−Ｘ等）を利用することができる。
【００７８】
前記変換モジュール（シンプル８変換モジュール）は、前記外部データ（例えばＤ０〜Ｄ３１）を前記内部データ（Ｄ０〜Ｄ７）に変換し（Ｄ０〜Ｄ３１をＤ０〜Ｄ７に４分割する等）、あるいは、前記内部データ（Ｄ０〜Ｄ７）を前記外部データ（Ｄ０〜Ｄ３１）に変換する（４つＤ０〜Ｄ７をＤ０〜Ｄ３１に纏める等）。
【００７９】
前記接続部（シンプル８コネクタ）は、前記内部データを扱う８ビットのデータ信号線（Ｄ０〜Ｄ７）、前記内部アドレスを扱うＮビット（例えば８ビット）のアドレス信号線（Ａ０〜Ａ７）、データリード信号線（ＲＤＬ）、データライト信号線（ＷＤＬ）、および入出力リクエスト信号線（Ｉ／ＯＲＬ）を含む複数の信号線（回路基板上の配線あるいは２６芯フラットケーブル等）を介して、前記変換モジュールを1以上の前記内部機器（クライアント）に接続する。
【００８０】
前記接続部を介して前記変換モジュールに複数の前記内部機器（例えばＩ／Ｏボード）が接続される場合には、これら複数の内部機器のうち前記内部アドレス（Ａ０〜Ａ７）により特定された１つ（ターゲットＩ／Ｏボード）が前記変換モジュールと情報交換できるように構成される。
【００８１】
ここで、前記外部機器（例えばホストＰＣ）は、前記変換モジュールに対して、前記内部アドレスのＮビット空間（８ビットなら２５６空間）の１箇所を指定し、指定したアドレス空間（ターゲットＩ／Ｏボードが存在するアドレス空間）に対してデータの送受を行う。指定されたアドレス空間に接続された内部機器（ターゲットＩ／Ｏボード、例えばレガシーな周辺機器、あるいは最新のＣＰＵボード）は、受け取ったデータに対して自身の処理を行い、その処理結果を、適宜、前記変換モジュールに返すことができる。
【００８２】
すなわち、前記外部機器（ホストＰＣ）から見れば、専用ドライバで前記変換モジュール（シンプル８変換モジュール）に対して前記Ｎビット（８ビット）アドレス空間の１つを指定し、そのアドレス空間に、処理して欲しいデータを送るだけで済む。そのアドレス空間にある機器（ターゲットＩ／Ｏボード：最新機器でもレガシー機器でもよい）のドライバを前記外部機器（ホストＰＣ）側で改めて書く必要はない。（そのアドレス空間にあるレガシー機器が既に自分用のデバイスドライバを持っている場合、ホストＰＣのＯＳが変わってもそのデバイスドライバを書き直す必要はない。とはいえ、ホスト側でターゲットＩ／Ｏボードのドライバを書くことができれば、そのドライバでターゲットＩ／Ｏボードを直接制御することも可能である。）
前記変換モジュール（シンプル８変換モジュール）は、前記外部機器（ホストＰＣ）との通信には、その通信手段（ＵＳＢ、PCI Express、ＰＣＩ−Ｘ等）に応じた所定のプロトコルを適宜用いる。しかし、前記内部機器（レガシー機器を含み得るクライアント）に対しては、前記通信手段で用いられるような特別な（複雑な）プロトコルは用いずに、指定されたアドレス空間へ８ビット単位でデータを送受するだけでよい（複雑なプロトコルは用いないが、シンプル８のアドレス空間の１つを指定することと、入出力のリクエストおよびリード・ライトの指示はする）。
【００８３】
８ビット（バイト）単位のデータはどのようなＯＳを用いたコンピュータ機器でも扱えるため、前記外部機器（ホストＰＣ等）から前記変換モジュール（シンプル８変換モジュール）に一旦取り込まれた８ビット単位のデータは、最新の周辺機器でもレガシーな周辺機器（コンピュータ機器）でも問題なく扱うことができる。
【００８４】
＜実施の形態の効果＞
（１）ホスト（例えばＯＳが変わり得るＰＣ）に繋がるシンプル８変換モジュールとクライアント（例えばレガシーな周辺機器あるいは将来の最新機器）との間を、ホスト側のＯＳ進化などで実質的に影響されない形で結ぶことができる。
【００８５】
（２）ホストに繋がるシンプル８変換モジュールと１以上のクライアントとの間を、クライアント毎にプロトコル変換しない形で結ぶことができる。
【００８６】
（３）ホストから見れば、シンプル８変換モジュールに対してＮビット（８ビット）アドレス空間の１つを指定し、そのアドレス空間にある機器に処理して欲しいデータを送るだけで済む。そのアドレス空間にある機器のドライバをホスト側で個別に書かなくてもよい。
【００８７】
（４）８ビット（バイト）単位のデータはどのようなＯＳを用いたコンピュータ機器でも扱えるため、ホストＰＣ等からシンプル８変換モジュールに一旦取り込まれた８ビット単位のデータは、レガシーなコンピュータ機器でも問題なく扱うことができる。
【００８８】
（５）前記Ｎビット空間（８ビットなら２５６空間）に割り当てられた複数機器（クライアント）に並列処理を行わせれば、ホストＰＣ等からみると、シンプル８変換モジュールは、見かけ上、高速コンピュータのように扱うこともできる。ホストとシンプル８変換モジュールとの通信接続にPCI Expressのような超高速バスを用い、最新の高速ＣＰＵで組み上げたボードを個々のクライアントとして多数用いれば、スーパーコンピュータ並みの処理能力を持った、シンプル８グリッドコンピューティングシステムを構築することも可能となる。
【００８９】
（６）前記接続部（２６ピンコネクタ＋２６芯フラットケーブル等）の物理的構造（複数接続ピンのサイズ、配列等）および電気的構造（各接続ピンに対する信号の割り振り方等）を規格化しておけば、同じ規格の接続部を持つボード（シンプル８ファミリボード）を単純に増設するだけで、前記Ｎビット空間（８ビットなら２５６空間）に収まる範囲で、幾らでもクライアントを増設できる。
【００９０】
なお、この発明は前述した実施の形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。例えば、クライアントがデジタルＡＶ機器（デジタルＴＶやデジタルレコーダ）である場合、ホストとシンプル８変換モジュールの接続にＨＤＭＩ（High Definition Multimedia Interface）やＩＥＥＥ１３９４を用いることも考えられる。また、ホストおよび／またはクライアントにデジタルゲーム機や携帯電話を用いることも考えられる。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【符号の説明】
【００９１】
１００…ホストＰＣ、２００…８ビット以上の外部データを扱う信号線（伝送路）、２００Ｓ…シリアル伝送路、２００Ｐ…パラレル伝送路、３００…シンプル８変換モジュール、３００Ｓ…シリアルＩ／Ｆ用シンプル８変換モジュール、３００Ｐ…パラレルＩ／Ｆ用シンプル８変換モジュール、４００…シンプル８バス、５００…接続部、５００Ｃ…接続部（シンプル８用に規格化されたコネクタ）、６００…クライアント（ターゲットＩ／Ｏボード等）。
【図１】
2011138187.tif 000003
【図２】
2011138187.tif 000004
【図３】
2011138187.tif 000005
【図４】
2011138187.tif 000006
【図５】
2011138187.tif 000007
【図６】
2011138187.tif 000008
【図７】
2011138187.tif 000009
【図８】
2011138187.tif 000010
【図９】
2011138187.tif 000011
【図１０】
2011138187.tif 000012
【図１１】
2011138187.tif 000013
【図１２】
2011138187.tif 000014
【図１３】
2011138187.tif 000015
【図１４】
2011138187.tif 000016
【図１５】
2011138187.tif 000017
【図１６】
2011138187.tif 000018