(57)【特許請求の範囲】
【請求項１】
情報処理装置であって、
転送元であるマスタモジュールと、
転送先であるスレーブモジュールと、
前記スレーブモジュールがラッチクロックとして用いる前記マスタモジュールのソースクロックをデータと共に前記スレーブモジュールに転送するソースクロック同期方式のバスを設け、
前記バスにアクノリッジ系ソースクロック信号線を設け、
前記スレーブモジュールから前記マスタモジュールへのアクノリッジ系のプロトコルに基づく信号を、前記アクノリッジ系ソースクロック信号線を用いた前記スレーブモジュールのソースクロックと共に、前記バスを用いて転送する手段を備え、
前記マスタモジュールから前記スレーブモジュールへのリードオペレーションは、スプリット転送で行われることを特徴とする情報処理装置。
【請求項２】
請求項１記載の情報処理装置であって、
前記マスタモジュールは、プロセッサであることを特徴とする情報処理装置。
【請求項３】
請求項１記載の情報処理装置であって、
前記スレーブモジュールは、ＩＯ装置であることを特徴とする情報処理装置。
【請求項４】
情報処理装置における信号転送方法であって、
転送元であるマスタモジュールは、データと共に転送先であるスレーブモジュールがラッチクロックとして用いるソースクロックとをソースクロック同期方式のバスを介して転送する工程と、
前記マスタモジュールから前記データと前記ラッチクロックを転送された前記スレーブモジュールは、アクノリッジ系のプロトコルに基づく信号を前記スレーブモジュールのソースクロックと共に前記マスタモジュールに対して前記バスに設けられたアクノリッジ系ソースクロック信号線を用いて転送する工程とを有することを特徴とする信号転送方法。
【請求項５】
請求項４記載の信号転送方法において、
前記アクノリッジ系のプロトコルに基づく信号は、前記マスタモジュールから前記スレーブモジュールへの転送が正しく行われたことを示すアクノリッジ報告を含むことを特徴とする信号転送方法。
【請求項６】
請求項４記載の信号転送方法において、
前記アクノリッジ系のプロトコルに基づく信号は、前記スレーブモジュールが前記マスタモジュールからの転送を受け付けられない状態にあるため、再実行することを求めるリトライ要求を含むことを特徴とする信号転送方法。
【請求項７】
請求項４記載の信号転送方法において、
前記アクノリッジ系のプロトコルに基づく信号は、前記マスタモジュールから前記スレーブモジュールへの転送が正しく行われなかったことを示すエラー報告を含むことを特徴とする信号転送方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パーソナルコンピュータやワークステーションを始めとする情報処理装置、特に、これらの情報処理装置に用いるＬＳＩの内部バスに関する。
【０００２】
【従来の技術】
パーソナルコンピュータやワークステーションを始めとする情報処理装置に用いられるバスおよびその制御方法に関する従来技術に関しては、特開平５−３２４５４４号公報記載の技術が知られれいる。ここに示されるように、インタフェース回路の設計のしやすさから、バスに接続された複数のモジュールが共通のクロックタイミングに同期してデータの送受信制御を行なう同期式バスが主流になっている。典型的な同期式のバス構成およびタイミングチャートを図１３および図１４に示す。図１４において、１４００と１４０１はデータの転送元であるマスタモジュールの出力ピンで観測したシステムクロックと出力データのタイミング関係、１４０２と１４０３はデータの転送先であるスレーブモジュールの入力ピンで観測したシステムクロックと入力データのタイミング関係である。ここで、クロック１４００と１４０２は図１３のクロックジェネレータ１３００から同位相で分配されている。また、データに関しては、スレーブモジュールの入力ピンでは、マスタモジュールの出力ピンからバス上の伝播遅延時間の分だけ遅れている。ここで、データは１サイクルでマスタモジュールからスレーブモジュールに届かなければならないため、一般に、同期式バスでは、最大動作周波数は、バスの最大伝播遅延時間で決定される。この問題を解決して、さらなる周波数向上を行なうためには、転送元のモジュールが、転送データと共に転送先モジュールにおけるラッチクロックを送信する「ソースクロック同期方式」のバスが考えられる。典型的なソースクロック同期方式のバス構成およびタイミングチャートを図１５および図１６に示す。図１６において、１６００と１６０１はデータの転送元であるマスタモジュールの出力ピンで観測したソースクロックと出力データのタイミング関係、１６０２と１６０３はデータの転送先であるスレーブモジュールの入力ピンで観測したソースクロックと入力データのタイミング関係である。このように、ソースクロック同期方式のバスでは、ソースクロック線とデータ線を同じような配線経路で実装すると、ソースクロックおよびデータが同じ位相だけ遅れるため、データの取り損ないが少なくなる。すなわち、バスの最大動作周波数がデータの伝播遅延時に反映されない。（遠いモジュールでは、データがより遅れるが、ラッチクロックも同位相だけ遅れるため。）一般に、ソースクロック同期方式のバスは、動作周波数を上げ易いバスである。
【０００３】
【発明が解決しようとする課題】
しかし、同期方式バスの方が設計のしやすさでは優れている。例えば、特開平５−３２４５４４号公報記載のような、各転送サイクルに対するアクノリッジ系の信号の制御方法について考える。図１７にアクノリッジ系プロトコル付きの同期式バスの転送タイミングを示す。同期式のバスであれば、データ転送サイクルの必ず２サイクル後にアクノリッジ系の信号を出すことにしておけば、転送データとアクノリッジ系の報告の対応づけは非常に容易である。ここでアクノリッジ系のプロトコルとは、スレーブ側が確かにデータを受信したことをマスタ側に伝えるアクノリッジ、スレーブ側がデータを受取れる状態にないので、マスタ側に対して、後で再度転送し直すことを要求するリトライ要求、スレーブ側が受信したデータがエラー（パリティエラー等）であったことをマスタ側に伝えるエラー報告などがある。しかし、個々のモジュール固有のクロック周波数でのデータ転送が可能なソース同期方式のバスでは、マスタ側とスレーブ側が同じクロック系をもたない可能性がある。このため、アクノリッジやリトライ要求のプロトコルを付加し難いという問題点がある。
【０００４】
本発明の目的は、ソース同期方式のバスの高信頼かつ高効率で稼動させるため、アクノリッジ系のプロトコルを持たせることにある。
【０００５】
【課題を解決するための手段】
本発明では、アクノリッジ系信号の伝達もソースクロック同期方式で転送するため、バスの信号線にアクノリッジ系信号専用ソースクロック信号を設ける。さらに、異なる動作周波数を有するモジュールが混在しても制御が可能なように、一つ一つのサイクルでなく、纏まったサイクル数の基本転送ブロックごとのアクノリッジ信号とする。
【０００６】
アクノリッジ系信号専用ソースクロック信号を用いて、アクノリッジ系信号の伝達もソースクロック同期方式で転送するため、マスタ側がスレーブ側からのアクノリッジ系の信号を取り損なうことがなくなる。さらに、纏まったサイクル数の基本転送ブロックごとのアクノリッジ信号とするため、異なる動作周波数を有するモジュールが混在しても制御が可能となる。
【０００７】
【発明の実施の形態】
本発明の１実施例を図１から図１８を用いて説明する。図１は、本発明のバスに接続される各々のモジュールが有するバスインタフェース部の内部構造を示すブロック図、図２は、本発明のバスの信号線による接続関係を示すブロック図、図３の（１）は、本発明のバスにおけるアクノリッジ系信号線の意味の一覧表、図３の（２）はアクノリッジ系信号の出力タイミング図、図４は、本発明のバスの多重化されたコマンド／アドレス／データバスのコマンド出力時のコマンド一覧表、図５は、本バスのリード時のタイミングチャート図、図６は、本バスのライト時のタイミングチャート図、図７は、リード転送のデータフェーズに他の転送が挿入された場合のタイミングチャート図、図８は、本バスのライト転送時にスレーブモジュール側からリトライ要求された場合のタイミングチャート図、図９は、本バスの転送途中にバス権が移動する場合のアービトレーションの詳細を示すタイミングチャート図、図１０は、本バスの異なる３つのバスマスタによる転送を示すタイミングチャート図、図１１は、本発明のバスを用いた情報処理システムの一例の構成図、図１２は、本発明のバスを用いた情報処理システムの一例の構成図、図１３は、従来の共通クロック同期式バスの基本転送方式を示す構成図、図１４は、従来の共通クロック同期式バスの基本転送方式を示すタイミングチャート図、図１５は、ソースクロック同期式バスの基本転送方式を示す構成図、図１６は、ソースクロック同期式バスの基本転送方式を示すタイミングチャート図、図１７は、従来のアクノリッジ付き共通クロック同期式バスの基本転送方式を示すタイミングチャート、図１８は、本発明のバスをＬＳＩの内部バスに適用した場合のシステム構成例を示すブロック図である。
【０００８】
図１において、１００は本発明のシステムバスに接続されるモジュール、１０１はデータと共にスレーブに対して転送する送信クロック生成部、１０２は送信のタイミングや送信バッファを制御する送信制御部、１０３はデータ送信用の最終段バッファ、１０４はデータ受信用の初段バッファ、１０５は送信用データバッファ（コマンド／アドレス／データを含む）、１０６は受信用データバッファ（コマンド／アドレス／データを含む）、１０７はデータ受信時のコマンド／アドレスデコーダ、１０８は受信データバッファ等を制御する受信制御部（受信データのパリティチェックなどのエラーチェックも含む）、１０９、１１０、１１１は双方向入出力バッファ、１１２は送信データ出力のタイミングを制御するクロック信号線、１１３は受信データ用のラッチクロック信号線、１１４は送信データ（コマンド／アドレスも含む）の経路、１１５は、受信データ（コマンド／アドレスも含む）の経路、１１６、１１７、１１８は制御信号線である。図２において、２０１は、本実施例のシステムバスのバス使用権を調停するバスアービタ、２０２はバスアービタを内蔵したモジュール０のシステムバスインタフェース部、２０３は、転送元のマスタモジュールがデータと共に転送先のスレーブモジュールに送信するシステムバスのソースクロック信号線、２０４は、システムバスの多重化されたコマンド／アドレス／データ線、２０５は、システムバスのアクノリッジ系信号線（アクノリッジ、リトライ要求、エラー）、２０６は、バスマスタがバス権放棄を予告するラストサイクル信号線、２０７は、モジュール１からバスアービタに対するバス使用権要求信号（ＢＲＥＱ１−Ｎ）、２０８は、バスアービタからモジュール１に対するバス使用権許可信号（ＢＧＮＴ１−Ｎ）、２０９は、モジュール２からバスアービタに対するバス使用権要求信号（ＢＲＥＱ２−Ｎ）、２１０は、バスアービタからモジュール２に対するバス使用権許可信号（ＢＧＮＴ２−Ｎ）、２１１は、モジュール３からバスアービタに対するバス使用権要求信号（ＢＲＥＱ３−Ｎ）、２１２は、バスアービタからモジュール３に対するバス使用権許可信号（ＢＧＮＴ３−Ｎ）、２１３は、モジュール０から内蔵バスアービタに対するバス使用権要求信号（ＢＲＥＱ０−Ｎ）、２１４は、内蔵バスアービタからモジュール０に対するバス使用権許可信号（ＢＧＮＴ０−Ｎ）である。図７において、７００から７０３は、４データサイクルをひとかたまりとする基本転送ブロックで、７００は、コマンド／アドレスフェースの基本転送ブロック、７０１から７０３は、データフェーズの基本転送ブロック、７０４から７０７は、転送を受信したスレーブモジュールから出力されるアクノリッジ信号のタイミングである。図８において、８００から８０３は４データサイクルをひとかたまりとする基本転送ブロックで、８００は、コマンド／アドレスフェースの基本転送ブロック、７０１から７０３は、データフェーズの基本転送ブロック、８０４、８０５、８０７は転送を受信したスレーブモジュールから出力されるアクノリッジ信号のタイミング、８０６は、転送を受信したスレーブモジュールから出力されるリトライ要求信号のタイミングである。図９において、９００から９０４は、基本転送ブロックである。図１０において、１０００、１００１、１００２はそれぞれ異なるバスマスタから出力された転送を示し、１００２、１００３、１００４はそれぞれのソースクロック、１００５、１００６、１００７はそれぞれのデータ転送サイクル、１００８、１０１０は誰も転送を行なっていないためソースクロックが出ていない期間、１００９、１０１１はアービトレーションの期間である。図１１において、１は、プロセッサ、２は、メインメモリ、３は、プロセッサバス、４は、バスアダプタ、５は、本発明のシステムバス、６、７、８は、システムバス上のモジュール、９は、表示系ＩＯ装置、１０は、ファイル系ＩＯ装置である。図１２において、１１は、メモリバスである。図１３において、１３００は、各モジュールに共通なシステムクロックを分配するクロックジェネレータ、１３０１、１３０２、１３０３は、バス上のモジュールで、１３０１は、データの転送元であるマスタモジュール、１３０３は、データの転送先であるスレーブモジュール、１３０４は、データ線である。図１４において、１４００と１４０１はデータの転送元であるマスタモジュールの出力ピンで観測したシステムクロックと出力データのタイミング関係、１４０２と１４０３は、データの転送先であるスレーブモジュールの入力ピンで観測したシステムクロックと入力データのタイミング関係である。
【０００９】
図１５において、１５００は、転送元であるマスタモジュールが転送先であるスレーブモジュールに送信するソースクロック用の信号線である。図１６において、１６００と１６０１は、データの転送元であるマスタモジュールの出力ピンで観測したソースクロックと出力データのタイミング関係、１６０２と１６０３は、データの転送先であるスレーブモジュールの入力ピンで観測したソースクロックと入力データのタイミング関係である。図１７において、１７００は、バス上のモジュールに共通なシステムクロック、１７０１は、転送データタイミング、１７０２は、アクノリッジ信号タイミングである。図１８において、１８００は、周辺機能モジュールを共に１チップに集積化したプロセッサ、１８０１は、ＣＰＵコア、１８０２は、プロセッサの外部バスおよび内部システムバスを制御するバスインタフェース、１８０３は、プロセッサ１８００内部の周辺機能ジュール用内部システムバス、１８０４、１８０５、１８０６は、プロセッサ１８００に内蔵される周辺機能モジュールである。
【００１０】
まず、システム構成から説明する。本実施例では、本発明のバスプロトコルを図１１もしくは図１２のような情報処理装置のシステムバスへの適用した。システムバスの信号線は、図２に示すように、ソースクロック信号線１本（２０３）、多重化されたコマンド／アドレス／データ線９本（２０４）、アクノリッジ系信号線（２０５）、バスマスタがバス権放棄を予告するラストサイクル信号線（２０６）である。ＣＡＤ［０−８］は、１バイトのデータと１本のパリティである。基本転送タイミングを、図５および図６に示す。図５はリードオペレーション、図６はライトオペレーションである。リードライト共に、４サイクルのコマンド／アドレスフェーズから始まる。コマンド／アドレスフェーズの最初のサイクルがコマンドサイクルで、その内訳は図４に示す。コマンドサイクル中のＣＡＤ［４−７］はリザーブビットとなっている。それに続くコマンド／アドレスフェーズの３サイクルがアドレスサイクルで２４ビットのアドレスを有する。図５のように、リードオペレーションは、スプリット転送プロトコルになっており、リードしたモジュールはコマンド／アドレスフェーズが終了した時点でバス権を放棄し、リードされたモジュールはデータが準備できた時点でバス権を獲得し、マスタに対しデータサイクルを起動する。一方、ライトに関しては、転送元のバスマスタモジュールが、コマンド／アドレスフェーズに続いて、データサイクルを実行する。これらの転送における、アクノリッジ系の信号の制御を図３に示す。アクノリッジ系の信号は、それぞれのオペレーションのスレーブモジュールが、基本転送ブロックの期間中にマスタに対してＡＣＫ［０−２］を用いて伝達する。ここで、図３の（２）に示すように、ＡＣＫ［１，２］はアクノリッジデータ、ＡＣＫ［０］はマスタ側がＡＣＫ［１，２］をラッチするためのソースクロック信号線である。また、ＡＣＫ［１，２］の意味を図３の（１）に示す。リード転送のデータフェーズに他の転送が挿入された場合のタイミングチャート図を図７に、バスのライト転送時にスレーブモジュール側からリトライ要求された場合のタイミングチャート図を図８に示す。本バスでは、基本転送ブロックごとにアクノリッジ系の制御を行なっていることに加え、１つのモジュールがバスを占有しすぎないように、基本転送ブロックごとにアービトレーションができるようになっている。ソースクロック同期方式バスでは、異なる動作周波数を有するモジュールが混在する可能性があるため、基本転送ブロックが４サイクルで固定になっていても、その時間は各バスマスタによって異なる。このため、図９に示すようにバス権放棄予告信号であるラストサイクル（ＬＣ）を設けている。これにより、基本転送ブロック単位でバスのアービトレーションが可能となり、緊急度の高い転送を優先することができ、マルチメディアデータの扱いにも適するように考慮している。最後に、各モジュール共通のバスインタフェース部の内部構造を図１に示す。
【００１１】
本発明によれば、アクノリッジ系信号専用ソースクロック信号を用いて、アクノリッジ系信号の伝達もソースクロック同期方式で転送するため、マスタ側がスレーブ側からのアクノリッジ系の信号を取り損なうことがなくなり、ソースクロック同期方式バスの信頼性およびデータ効率を向上することができる。さらに、纏まったサイクル数の基本転送ブロックごとのアクノリッジ信号とするため、異なる動作周波数を有するモジュールが混在しても制御が可能となる。また、図１０に示すように、転送が行われていない期間は、バスのクロックが完全に停止するので、システム全体の低消費電力化に役立つ。
【００１２】
ここでは、ソースクロック同期方式バスの情報処理装置のシステムバスへの適用を説明してきたが、本方式はＬＳＩの内部バスに適用してもその効果を発揮する。図１８にその適用例を示す。プロセッサ上に共に集積化されるモジュールには、プロセッサとは異なる周波数を有する各種インタフェースである可能性があるため、異なるクロック周波数のモジュールが混在できるソースクロック同期方式バスは有効である。
【００１３】
【発明の効果】
本発明によれば、アクノリッジ系信号専用ソースクロック信号を用いて、アクノリッジ系信号の伝達もソースクロック同期方式で転送するため、マスタ側がスレーブ側からのアクノリッジ系の信号を取り損なうことがなくなり、ソースクロック同期方式バスの信頼性およびデータ効率を向上することができるという効果がある。さらに、纏まったサイクル数の基本転送ブロックごとのアクノリッジ信号とするため、異なる動作周波数を有するモジュールが混在しても制御が可能となる。また、転送が行われていない期間は、バスのクロックが完全に停止するので、システム全体の低消費電力化に役立つという効果がある。
【図面の簡単な説明】
【図１】本発明のバスに接続される各々のモジュールが有するバスインタフェース部の内部構造を示すブロック図である。
【図２】本発明のバスの信号線による接続関係を示すブロック図である。
【図３】（１）は、本発明のバスにおけるアクノリッジ系信号線の意味の一覧表、（２）はアクノリッジ系信号の出力タイミング図である。
【図４】本発明のバスの多重化されたコマンド／アドレス／データバスのコマンド出力時のコマンド一覧表である。
【図５】本バスのリード時のタイミングチャート図である。
【図６】本バスのライト時のタイミングチャート図である。
【図７】リード転送のデータフェーズに他の転送が挿入された場合のタイミングチャート図である。
【図８】本バスのライト転送時にスレーブモジュール側からリトライ要求された場合のタイミングチャート図である。
【図９】本バスの転送途中にバス権が移動する場合のアービトレーションの詳細を示すタイミングチャート図である。
【図１０】本バスの異なる３つのバスマスタによる転送を示すタイミングチャート図である。
【図１１】本発明のバスを用いた情報処理システムの一例の構成図である。
【図１２】本発明のバスを用いた情報処理システムの一例の構成図である。
【図１３】従来の共通クロック同期式バスの基本転送方式を示す構成図である。
【図１４】従来の共通クロック同期式バスの基本転送方式を示すタイミングチャート図である。
【図１５】ソースクロック同期式バスの基本転送方式を示す構成図である。
【図１６】ソースクロック同期式バスの基本転送方式を示すタイミングチャート図である。
【図１７】従来のアクノリッジ付き共通クロック同期式バスの基本転送方式を示すタイミングチャートである。
【図１８】本発明のバスをＬＳＩの内部バスに適用した場合のシステム構成例を示すブロック図である。
【符号の説明】
１、１８００…プロセッサ、２…メインメモリ、３…プロセッサバス、４…バスアダプタ、５…システムバス、６、７、８…バス上のモジュール、９…表示系ＩＯ装置、１０…ファイル系ＩＯ装置、１１…メモリバス、１００…システムバスに接続されるモジュール、１０１…送信クロック生成部、１０２…送信制御部、１０３…データ送信用最終段バッファ、１０４…データ受信用初段バッファ、１０５…送信用データバッファ、１０６…受信用データバッファ、１０７…コマンド／アドレスデコーダ、１０８…受信制御部、１０９、１１０、１１１…双方向入出力バッファ、１１２…送信データ出力のタイミングクロック信号線、１１３…受信データラッチクロック信号線、１１４…送信データの経路、１１５…受信データの経路、１１６、１１７、１１８…制御信号線、２０１…バスアービタ、２０２…システムバスインタフェース部、２０３…ソースクロック信号線、２０４…多重化されたコマンド／アドレス／データ線、２０５…アクノリッジ系信号線、２０６…バス権放棄予告信号線、２０７…バス使用権要求信号（ＢＲＥＱ１−Ｎ）、２０８…バス使用権許可信号（ＢＧＮＴ１−Ｎ）、２０９…バス使用権要求信号（ＢＲＥＱ２−Ｎ）、２１０…バス使用権許可信号（ＢＧＮＴ２−Ｎ）、２１１…バス使用権要求信号（ＢＲＥＱ３−Ｎ）、２１２…バス使用権許可信号（ＢＧＮＴ３−Ｎ）、２１３…バス使用権要求信号（ＢＲＥＱ０−Ｎ）、２１４…バス使用権許可信号（ＢＧＮＴ０−Ｎ）、７００〜７０３…基本転送ブロック、７０４〜７０７…アクノリッジ信号のタイミング、８００〜８０３…基本転送ブロック、８０４、８０５、８０７…アクノリッジ信号のタイミング、８０６…リトライ要求信号のタイミング、９００〜９０４…基本転送ブロック、１０００、１００１、１００２…異なるバスマスタから出力された転送、１００２、１００３、１００４…ソースクロック、１００５、１００６、１００７…データ転送サイクル、１００８、１０１０…ソースクロックが出ていない期間、１００９、１０１１…アービトレーションの期間、１３００…クロックジェネレータ、１３０１…マスタモジュール、１３０３…スレーブモジュール、１３０４…、１４００、１４０１…マスタモジュールの出力ピンで観測したシステムクロックと出力データのタイミング関係、４０２、１４０３…スレーブモジュールの入力ピンで観測したシステムクロックと入力データのタイミング、１５００…転送元であるマスタモジュールが転送先であるスレーブモジュールに送信するソースクロック用の信号線、１６００、１６０１…マスタモジュールの出力ピンで観測したソースクロックと出力データのタイミング関係、１６０２、１６０３…スレーブモジュールの入力ピンで観測したソースクロックと入力データのタイミング関係、１７００…システムクロック、１７０１…転送データタイミング、１７０２…アクノリッジ信号タイミング、１８０１…ＣＰＵコア、１８０２…バスインタフェース、１８０３…内部システムバス、１８０４、１８０５、１８０６…周辺機能モジュール。
【図１】
0003592547.tif 000002
【図２】
0003592547.tif 000003
【図３】
0003592547.tif 000004
【図４】
0003592547.tif 000005
【図５】
0003592547.tif 000006
【図６】
0003592547.tif 000007
【図７】
0003592547.tif 000008
【図８】
0003592547.tif 000009
【図９】
0003592547.tif 000010
【図１０】
0003592547.tif 000011
【図１１】
0003592547.tif 000012
【図１２】
0003592547.tif 000013
【図１３】
0003592547.tif 000014
【図１４】
0003592547.tif 000015
【図１５】
0003592547.tif 000016
【図１６】
0003592547.tif 000017
【図１７】
0003592547.tif 000018
【図１８】
0003592547.tif 000019