(57)【特許請求の範囲】
【請求項１】
−第１クロックに同期する第１サブシステムと、
−第２クロックに同期する第２サブシステムと、
−複数のレジスタと、
−第１クロックによってクロック動作したデータを前記第１サブシステムから前記複数のレジスタに書き込む書き込み回路と、
−第２クロックによってクロック動作したデータを前記複数のレジスタから前記第２サブシステムに読み出す読み出し回路と、
−前記第１クロックのＡサイクルの第１基礎的サイクルを、前記第２クロックのＢサイクルの第２基礎的サイクルに固定する同期化回路とを具え、ＡおよびＢを１より大きく互いに異なる整数とし、前記同期化回路が、前記第１基礎的サイクルにおける第１クロックの開始クロックサイクルを示す第１同期化信号および前記２基礎的サイクルにおける第２クロックの開始クロックサイクルを示す第２同期化信号を発生し、
−前記読み出しおよび書き込み回路が前記複数のレジスタに同じ順序でアクセスし、前記書き込み回路において、前記第１同期化信号を基準として、前記第１クロックの一定数のサイクルの遅延後に前記順序で前記複数のレジスタへのアクセスが開始され、前記読み出し回路において、前記第２同期化信号を基準として、前記第２クロックの一定数のサイクルの遅延後に前記順序で前記複数のレジスタへのアクセスが開始され、前記第１および第２基礎的サイクルが時間において一致する場合において、前記遅延を、前記書き込み回路における前記順序の開始が前記読み出し回路における前記順序の開始の少なくとも前記第１クロックの１サイクルの持続時間だけ前になるようにしたことを特徴とするコンピュータシステム。
【請求項２】
請求の範囲１に記載のコンピュータシステムにおいて、前記第１および第２基礎的サイクルを、前記第１および第２クロック信号をＡおよびＢによって各々分周することによって得られた分周信号のサイクルとし、前記同期化信号が前記分周信号を位相固定することを特徴とするコンピュータシステム。
【請求項３】
請求の範囲１に記載のコンピュータシステムにおいて、前記読み出し回路が、前記複数のレジスタからの出力信号と、前記順序に従ってこれらの出力信号を選択する選択信号とを受けるマルチプレクサを具え、前記マルチプレクサが、前記選択信号によって選択された前記出力信号の内の１つを出力するようにしたことを特徴とするコンピュータシステム。
【請求項４】
請求の範囲１に記載のコンピュータシステムにおいて、Ａを３とし、Ｂを２とし、前記順序の前記複数のレジスタのうちの第１レジスタへの書き込みが、前記第１基礎的サイクルの開始クロックサイクル後に前記第１クロックの２サイクルにわたり行われ、前記第１レジスタからの読み出しが、前記第２基礎的サイクルの開始クロックサイクル後に前記第２クロックの２サイクルにわたり行われることを特徴とするコンピュータシステム。
【請求項５】
請求の範囲１に記載のコンピュータシステムにおいて、前記第１サブシステムをＣＰＵとし、前記第２サブシステムをメモリとしたことを特徴とするコンピュータシステム。
【発明の詳細な説明】
本発明は、異なったクロックを有するサブシステム間のデータ伝送を使用するコンピュータシステムに関係する。コンピュータシステムにおいて、あるサブシステムは第１クロックを使用するかもしれず、他のサブシステムは異なるクロックを使用するかもしれない。これらのクロックは、異なった周波数および位相を有するかもしれない。
前記クロックを、例えば位相固定ループを使用して互いに同期させる。位相固定ループによって、前記クロックの周波数間のどのような比Ａ：Ｂも、例えば、第１クロック信号をＡによって分周し、第２クロック信号をＢによって分周し、これらの分周された信号を位相固定することによって実現できる。位相固定は、前記２つのクロックの周波数間の正確な比を保証する。前記第１クロックのＡクロックサイクルの第１基礎的サイクルは、前記第２クロックのＢブロックサイクルの第２基礎的サイクルとちょうど同じ長さに形成される。前記位相固定は、これら２つの基礎的サイクルの位相を等しくする傾向もあり、その結果、前記第１および第２基礎的サイクルは一致する。しかしながら、これは、一般的に必ずしも実情ではなく、小さいが予測できない位相差が残る。
前記クロック間の周波数および位相差は、データ伝送がクロックによって同期され、通常、発信側および受信側が同じクロックを使用することが必要なため、前記サブシステム間のデータ伝送に問題を生じさせる。
本発明の目的は、位相および周波数において異なるかもしれない異なったクロックを使用するサブシステム間のデータ伝送を同期するコンピュータシステムを提供することである。
本発明は、請求の範囲１によるコンピュータシステムを提供する。請求の範囲１に記載のレジスタは、請求の範囲１に記載の読み出しおよび書き込み回路と共に、伝送されているデータの劣化および損失なく２つのサブシステム間でデータを伝送する第１サブシステムおよび第２サブシステム間のインタフェースを提供する。情報を、第１クロックを使用して前記レジスタに書き込み、第２クロックを使用して前記レジスタから読み出す。書き込みおよび読み出し間で、前記レジスタが情報を読み出される前に獲得することを可能にするための最短時間間隔がなければならない。
このような最短時間間隔を保証するために、本発明は、請求の範囲１に記載の同期化回路の能力を使用し、前記第１および第２クロックのクロックサイクルを前記共通の基礎的サイクルにおける固定された位置とみなす。レジスタへの書き込みを、前記第１クロックのこのようなみなされたクロックサイクルの後、前記第１クロックの一定のサイクル数の遅延によって行う。同様に、レジスタからの読み出しを、このような周期後、前記第２クロックの一定のサイクル数の遅延によって行う。これらの遅延を、ＡおよびＢクロック周期の基礎的サイクルが一致する場合において、レジスタの読み出しおよび書き込み間に、前記第１クロックの少なくとも１サイクルが存在するように選択する。もちろん、前記基礎的サイクルは一般的に一致しないが、この選択により、前記第１クロックのほぼ完全な１周期のこれらのサイクル間の位相差を容認することができる。このように、データの伝送を、前記サブシステム間で最短の待ち時間および最少数のパイプラインレジスタで行う。
本発明の他の目的は、準安定問題の発生を防ぐことである。位相固定を使用しない２つのクロック領域間の同期化回路は、準安定問題を受ける。
本発明の依然として他の目的および利点は、本開示からある程度明らかになるであろう。
本発明のより完全な理解のために、添付した図面に関連して行った以下の説明が参考になる。
図１は、各々が個々のクロックを有する２つのサブシステムを有するシステムのブロック図である。
図２は、各々が個々のクロックおよびインタフェースを有する２つのサブシステムを有するシステムのより詳細なブロック図である。
図３は、３：２のクロック比を有するシステムのインタフェースの第１の実施形態である。
図４は、３：２のクロック比を有するシステムのインタフェースの第１の好適な実施形態である。
図５は、３：２のクロック比を有するシステム用インタフェースの第１実施形態に関するタイミング図である。
図６は、３：２のクロック比を有するシステムのインタフェースの第２の実施形態である。
図１のシステムにおいて、第１および第２サブシステム１０２および１０４は、システム１００内に存在する。第１サブシステム１０２を第１クロックＣＬＫＡによってクロック動作し、第２サブシステム１０４を第２クロックＣＬＫＢによってクロック動作する。前記第１および第２クロックは、異なった周波数を有してもよく、しかしながら、前記第１および第２クロックのいくらかのクロックエッジは一定の関係を有し、すなわち、これらのクロックは同期するが、最大を有するかもしれないスキューを伴う。
前記異なるクロック周波数によって、サブシステム２がデータを標本化しようとする場合、サブシステム１をスイッチングデータから防ぐために、サブシステム１および２間に、２つのサブシステム１０２および１０４間でデータ損失または劣化なくデータを伝送するインタフェース１０６を設ける。
図２は、システム１００の一実施形態の詳細な例を示す。中央処理ユニット（ＣＰＵ）１０５を含む第１サブシステム１０２と、メモリ１０７を含む第２サブシステム１０４とが、システム１００内に存在する。同期化インタフェース１０６を、ＣＰＵサブシステム１０２およびメモリサブシステム１０４に設け、これら２つのサブシステム間のデータの伝送を可能にする。ＣＰＵサブシステム１０２を第１クロックＣＬＫＡによってクロック動作し、メモリサブシステム１０４を第２クロックＣＬＫＢによってクロック動作する。ＣＬＫＡおよびＣＬＫＢ間の一定の関係を、例えば、ＰＬＬ（位相固定ループ）１０１によって達成する。ＣＬＫＡを、この例においては、位相固定ループ１０１に供給し、この位相固定ループ１０１は、ＣＬＫＢをメモリサブシステム１０４に供給する。加えて、ＰＬＬ１０１は、２つの同期化信号ＳＹＮＣＡおよびＳＹＮＣＢを同期化インタフェース１０６に供給する。これらの同期化信号は、クロック信号ＣＬＫＡおよびＣＬＫＢが同期する時を示し、すなわち、これらの個々のパルスは、固定された信号間に位相差がない場合において、互いに整列した個々のエッジを有する。
ＣＬＫＡおよびＣＬＫＢは、Ａ：Ｂのクロック比を有し、ここで、Ａをある長さの時間におけるクロックサイクル数とし、Ｂを同じ長さの時間におけるクロックサイクル数とする。したがって、前記第１クロックのＡクロックサイクルの長さは、前記第２クロックのＢクロックサイクルの長さに等しい。このように、クロックＣＬＫＡおよびＣＬＫＢは同期するが、起こりうるスキューを伴う。このスキューは、前記２つのクロックが位相固定される精度によって決定される最大値を有するかもしれない。考慮されるこの最大値は、後に説明するような、クロックサイクル時間と、保持レジスタから出力レジスタまでの遅延時間との間の時間差である。
ＰＬＬ１０９は、ＣＬＫＡを受け、処理を行い、ＣＬＫＢと、データの出力を制御するのに使用される２つの同期化信号ＳＹＮＣＡおよびＳＹＮＣＢとを出力する。
この処理は、例えば、ＡによるＣＬＫＡの分周と、ＢによるＣＬＫＢの分周と、これらの分周された信号を位相固定するためのＣＬＫＢの周波数の調節とを含む。このように、Ａ  ＣＬＫＡクロックサイクルおよびＢ  ＣＬＫＢサイクルの基礎的サイクルを、互いに固定する。前記２つの同期化信号ＳＹＮＣＡおよびＳＹＮＣＢは、前記個々の基礎的サイクルにおけるＣＬＫＡおよびＣＬＫＢの第１クロックサイクルを同じくさせる。
１つの同期化信号を各々のクロック領域に対して発生し、この例においては、第１クロック領域１０８ａに対してＳＹＮＣＡを発生し、これらの第２クロック領域１０８ｂに対してＳＹＮＣＢを発生する。
代わりに、クロック信号ＣＬＫＡおよびＣＬＫＢと、同期化信号ＳＹＮＣＡおよびＳＹＮＣＢとを、例えば、共通マスタクロックを使用し、この共通マスタクロックをＢおよびＡによって各々分周することによってＣＬＫＡおよびＣＬＫＢを得ることによって発生してもよい。ＳＹＮＣＡおよびＳＹＮＣＢを、各々、ＣＬＫＡのＡ番目の周期ごとおよびＣＬＫＢのＢ番目の周期ごとに示してもよい。これは、極めて高い周波数のマスタクロックを必要とし、したがってしばしば非実用的であり、分周器または伝送ラインにおける遅延によるＣＬＫＡおよびＣＬＫＢ間のスキューがまだ存在するかもしれない。
図３は、前記クロック比が３：２の場合、すなわち、ＣＬＫＡの３クロックサイクルに必要な時間またはその長さが、ＣＬＫＢの２クロックサイクルに必要な時間またはその長さと等しい場合の、本発明によるインタフェース１０６の一例を示す。インタフェース１０６は、ＣＰＵサブシステム１０２からメモリサブシステム１０４にデータを伝送し（ＣＰＵ／ＭＥＭ  ＴＲＡＮＳ  １０８）、メモリサブシステム１０４からＣＰＵサブシステム１０２にデータを伝送する（ＭＥＭ／ＣＰＵ  ＴＲＡＮＳ  １１０）インタフェースセクションを含んでもよい。本発明のインタフェース１０６において、第１セクション１０８は、データＤCINをＣＰＵサブシステム１０２からメモリサブシステム１０４に伝送する。
各々のインタフェースセクション１０８および１１０は、第１クロック領域および第２クロック領域を含む。例えば、インタフェースセクション１０８は、この例において、第１クロック領域１０８ａおよび第２クロック領域１０８ｂを含む。第１クロック領域１０８ａは、第１クロックＣＬＫＡによってクロック動作し、同期化信号ＳＹＮＣＡを受ける。同様に、第２クロック領域１０８ｂは、第２クロックＣＬＫＢによってクロック動作し、同期化信号ＳＹＮＣＢを受ける。この例において、前記第１クロック領域は、対応する保持レジスタを含み、前記第２クロック領域は、マルチプレクサと、位相カウンタレジスタと、出力レジスタとを含む。
さらに特に、この例において、第１クロック領域１０８ａは、データ信号を受ける２つの保持レジスタを含む。３：２のクロック比を有するこの例において、保持レジスタの数を２つ（ＲＲ0−ＲＲ1）１１２0−１１２1とする。
各々の保持レジスタＲＲ0−ＲＲ1１１２0−１１２1は、この例において、データＤCINをＣＰＵサブシステム１０２から受け、対応する選択されたデータ信号ＳＤiを、ＣＬＫＡおよびデータ有効信号ＶＡＬＩＤiに応じて出力する。データ有効信号ＶＡＬＩＤiは、新たな有効データをＤCIN信号を経て受け、出力すべきかどうか、または、以前の対応する選択されたデータ信号ＳＤiを再び出力すべきかどうかを示す。このデータ有効信号ＶＡＬＩＤiを、ＣＬＫＡおよびＳＹＮＣＡに基づいて発生する。位相カウンタ１２２に、ＣＬＫＡおよびＳＹＮＣＡ信号と、ＳＴＡＲＴＡ信号とを供給する。ＳＴＡＲＴＡ信号は、伝送の開始を示す、ＣＬＫＡに同期した全体的な開始信号である。連続的な有効信号ＶＡＬＩＤiｉ＝０，１（より多くのレジスタが有る場合、および２、等）を、ＣＬＫＡによって示される連続的なクロックサイクルにおいて発生する。連続的な有効信号ＶＡＬＩＤiｉ＝０，１等の個々のサイクルは、各々のＳＹＮＣＡ信号によって開始する。データ有効信号ＶＡＬＩＤ0およびＶＡＬＩＤ1を、ＳＴＡＲＴ信号が伝送の開始を示した場合、位相カウンタ１３２によって出力し、すなわち、他の有効信号ＶＡＬＩＤiは、有効データを示さない。位相カウンタ１３２は、レジスタにおけるデータの受け取りと、そのレジスタからのデータの供給との間の最短の時間間隔、この例において、１高速クロック周期を保証する。
第２クロック領域１０８ｂは、マルチプレクサＭＵＸ１１６を含む。ＭＵＸ１１６は、前記受けた選択されたデータ信号、この例においてＳＤ0〜ＳＤ1のうちどの選択された信号ＳＤ1を出力するかを、選択信号ＳＥＬに基づいて選択する。出力されたデータ信号ＤTRANSを、この例において出力レジスタＲOUT１１８に供給し、この出力レジスタＲOUT１１８は、出力信号ＤCOUTをメモリサブシステム１０４にＣＬＫＢに応じて出力する。出力レジスタＲOUT１１８を、メモリサブシステム１０４にインタフェース１０６の代わりに含めてもよい。
ＣＬＫＢを位相カウンタ１２０にも供給し、この位相カウンタ１２０を、例えば、ＣＬＫＢによってトリガされる位相カウンタレジスタまたは位相カウンタフリップフロップとしてもよい。位相カウンタ１２０を、ＰＬＬ１００からのＳＹＮＣＢ同期信号によって制御する。位相カウンタ１２０は、この例において、第２クロック信号ＣＬＫＢおよび開始信号ＳＴＡＲＴＢを受け、選択信号ＳＥＬを発生し、この例においてどの選択されたデータ信号ＳＤ0−ＳＤ1をＭＵＸ１１６によって出力データ信号ＤTRANSとして出力すべきかを示す。
位相コントローラ１２０は、信号ＳＥＬの連続的な値を、ＣＬＫＢの連続的なサイクルにおいて発生する。前記連続的な値のサイクルをＳＹＮＣＢ信号によって開始し、すなわち、ＶＡＬＩＤi信号の位相に関係するその位相をＳＹＮＣＢ信号によって設定する。
図４に示す好適実施形態において、各々の保持レジスタＲＲ0−ＲＲ1１１２0−１１２1は、個々のレジスタＲ0−Ｒ1１１３0−１１３1および個々のマルチプレクサＭ0−Ｍ1１１４0−１１４1を含む。各々のマルチプレクサＭi（この例においてＩ＝０ないし１）は、ＤCIN信号および対応する選択されたデータ信号ＳＤiを受け、データ有効信号ＶＡＬＩＤiに応じて有効データ信号ＶＤiを出力する。
各々のレジスタＲ0−Ｒ1１１３0−１１３1は、この例において、対応するマルチプレクサＭi１１４iから対応する有効データ信号ＶＤiを受け、ＣＬＫＡに応じて対応する選択されたデータ信号ＳＤiを出力する。マルチプレクサＭ0−Ｍ1は、レジスタＲ0−Ｒ1１１３0−１１３1の内容を、レジスタＳＤ0−ＳＤ1の出力を各々これらの個々の入力に再循環することによって保持する。この機能を、各々のレジスタ用のクロックを制約的に停止するような他の手段によって達成してもよい。
ＣＬＫＡおよびＣＬＫＢの周波数の比がＡ：Ｂである場合、どちらが少ないとしても、多くてＡまたはＢ個のレジスタとする必要がある。位相カウンタ１２０を、例えば、アクセス（書き込みまたは読み出し）しなければならないレジスタのインデックス「ｉ」をカウントするカウンタを使用して実現してもよい。このインデックス「ｉ」は、どのＶＡＬＩＤi信号を活性化すべきかを知らせる。第１クロック領域１０８ａに関する位相カウンタ１２２におけるカウンタは、ＣＬＫＡの立ち上がりエッジごとにインクリメント（ｉがｉ＋１に成る）し、ＳＹＮＣＡがＣＬＫＡの立ち上がりエッジにおいて活性化したときのクロックサイクル後、その初期値（ｉ＝０）にリセットする。前記カウンタのカウント値「ｉ」は、どのレジスタを選択すべきかを知らせる。前記カウンタを、所望のＶＡＬＩＤi信号を発生する出力部を有するジョンソンカウンタとしてもよい。ＶＡＬＩＤi信号のカウントおよび出力を、有効データをＳＴＡＲＴＡ信号によって示されるように利用できない場合、禁止する。
同様に、第２クロック領域１１０ａに関する位相カウンタ１２０におけるカウンタは、ＣＬＫＢの立ち上がりエッジごとにインクリメントし、ＳＹＮＣＢがＣＬＫＢの立ち上がりエッジにおいて活性化したときのクロックサイクル後、その初期値にリセットする。この例において、Ｂ＝２であり、これは前記位相カウンタが０および１間でトグルすることを意味する。
前記２つのクロック間にスキューが存在するとしても、レジスタへの書き込みと、レジスタからの読み出しとの間に十分な遅延があることを保証しなければならない。これを、ＳＹＮＣＡおよびＳＹＮＣＢ信号と、位相カウンタ１２０および１２２におけるカウンタによってカウントされる最低数を有するレジスタへのアドレスとの間に十分な遅延があることを保証することによって達成する。
適切な遅延を選択するために、スキューがない状況を考える。この場合において、ＣＬＫＡのＡサイクルの第１基礎的サイクルが、ＣＬＫＢのＢサイクルの第２基礎的サイクルと一致する。ＳＹＮＣＡおよびＳＹＮＣＢは、例えば、各々、前記第１および第２基礎的サイクルにおけるＣＬＫＡおよびＣＬＫＢの第１サイクルを示す。第１クロック領域１０８ａの位相カウンタ１２２の所定の構造に関して、ＣＬＫＡにおけるどのサイクルＸにおいて、ＳＹＮＣＡによる前記位相カウンタのリセット後に前記第１レジスタに書き込むかが明らかである。このとき、第２位相カウンタ１２０を、データを読み出すＳＹＮＣＢによるリセット後のＣＬＫＢの第１サイクルが、サイクルＸに対して、少なくともＣＬＫＢの１サイクルと同じ長さの遅延だけ遅れて生じるように構成する。
このように、ＣＬＫＡおよびＣＬＫＢ間にスキューがある場合、ＣＬＫＡのほぼ１サイクルのスキューまで問題はない。
スキューが、レジスタが読み出される前に再び書き込まれることを引き起こさないことも保証しなければならない。Ａ＞Ｂであり、データを基礎的サイクル当たりＢ回のみ書き込む場合、これを、Ｂの異なるレジスタを使用することによるきわめて簡単な方法において保証することができる。ＡおよびＢが両方とも大きい場合、より少ないレジスタで十分であるかもしれず、これらのレジスタへの書き込みを、新たなＳＹＮＣＡおよびＳＹＮＣＢ信号を受ける前に多数回繰り返すことができるかもしれない。この場合において、位相カウンタ１２０および１２２は、ＶＡＬＩＤ／ＳＥＬ信号を、新たなＳＹＮＣＡおよびＳＹＮＣＢ信号が到着する前に繰り返す。十分であるレジスタの数を、種々の数を試し、レジスタへの新たな書き込みが、前の読み出し前のＣＬＫＡの１サイクルが経たないうちは生じない最低数を選択することによって容易に決定することができる。
図５は、データをＣＰＵサブシステム１０２からメモリサブシステム１０４に伝送する図４に示すインタフェースセクション１０８に関するタイミング図である。前記システムのクロック比を３：２とし、すなわち、ＣＰＵサブシステム３０２をクロック動作するＣＬＫＡの３クロックサイクル間の時間の長さ（クロック長サイクル）が、メモリサブシステム３０４をクロック動作するＣＬＫＢの２クロックサイクル間の時間の長さに等しいとする。この例において、前記スキューの最大値は、前記クロック長サイクルから、信号が前記保持レジスタにおけるレジスタの内の１つまたは前記保持レジスタ、例えばレジスタＲ0から出力レジスタＲOUT１１８に伝播する遅延時間を引いた値である。このタイミング図から、前記スキューの最大値は、ｔ4における時間引くｔ3における時間である。
ＣＰＵサブシステム１０２から伝送されるデータＤCINは、ｔ2において、ＣＬＫＡのクロック長サイクルの第２パルスにおいてクロックされ始める。時間ｔ１において、ＳＹＮＣＡおよびＳＹＮＣＢの双方は、個々のクロックパルスサイクルの間、この例において、クロックパルスサイクルＡおよびクロックパルスサイクルＢの間、活性である。時間ｔ２において、ＶＡＬＩＤ0は、クロックパルスサイクルＡの間、活性であり、Ｍ0に与えられたデータが有効であることを示し、したがって、データＤCINの項目０は、Ｒ0１１３0に与えられ、時間ｔ３においてレジスタＲ0１１３0に記録される。データＤCOUTは、時間ｔ４において供給され、このデータは、ＳＥＬ信号に基づく。この例において、ｔ３において、ＳＥＬ信号はロウであり、Ｒ0からのデータを供給すべきであることを示す。ＭＵＸ１１６およびＲOUT１１８の双方がＣＬＫＢによってクロック動作することから、出力データＤCOUTは、クロックＣＬＫＢに同期して供給される。
項目１−７は、図５のタイミング図に示すように、前記と同様に供給される。
このように、この例において、項目０は、第１レジスタＲ0１１３0にｔ３において記録され、項目１は、第２レジスタＲ1１１３1に、１ＣＬＫＡクロックサイクル後のｔ３Ａにおいて記録される。１クロックサイクル遅延後、新たなデータがレジスタＲ0-1１１３0-1に記録され、すなわち、項目２−３が、上述したのと同様に、ＣＬＫＡの第２クロック長サイクルの第３クロックサイクル（ｔ４におけるＰ３）の初めにおいて記録される。残りの項目は、同様に記録される。
データ信号ＤCINは、マルチプレクサＭ0-1１１４0-1に各々のクロックサイクルにおいて供給される。この例において、有効信号ＶＡＬＩＤ0は、前記データ信号がｔ２においてＭ0１１４0に対して有効であり、同時に前記データ信号が残りのマルチプレクサＭ1１１４1に対して有効でないことを示す。データ信号ＤCINは、ｔ３における次のクロックサイクルＰ１においてＲ0１１３0に記録される項目０を含む。Ｒ0１１３0は、項目０を受け、この値を完全な１クロック長サイクル、この例においてはＣＬＫＡの３クロックサイクルの間保持し、すなわち、マルチプレクサＭ0１１４0は、データ信号ＤCINが有効であることを示すＶＡＬＩＤ0信号を完全な１クロック長サイクルの間受けない。
同様に、Ｒ1１１３1は、信号ＶＡＬＩＤ1が有効データを示し、このレジスタが、個々のマルチプレクサＭ1１１４1からのデータを記録する場合に項目１を受け、前記個々の項目を完全な１クロック長サイクルの間保持する。
位相カウンタ１２０によって供給されるＳＥＬ信号は、レジスタＲ0-1による選択されたデータ信号ＳＤi出力のどれをＲOUT１１８への出力に選択するかをＭＵＸ１１６に知らせる。この例において、ＳＥＬ信号がＲ0を示す場合、項目０がＣＬＫＢを基礎とするメモリサブシステム１０４にＤCOUTとして出力される。レジスタＲOUT１１８はＣＬＫＢによってクロック動作することから、出力信号ＤCOUTはＣＬＫＢに同期して供給される。したがって、ｔ４またはＣＬＫＢクロック長サイクルのクロックサイクルＰ２において開始し、項目０−７がクロックサイクルごとに１つ出力される。
図５の例において、ＶＡＬＩＤi信号および有効ＳＥＬ信号の生成は、ＳＹＮＣＡおよびＳＹＮＣＢが各々アサートされたクロックサイクル後、ＣＬＫＡおよびＣＬＫＢの第１クロックサイクルにおいて開始する。これは、ＳＹＮＣＡ信号によってトリガされる書き込みサイクルの第１の書き込みが、ＣＬＫＡのＡサイクルの基礎的サイクルの開始後にＣＬＫＡの２サイクルを生じることを意味する。同様に、ＳＹＮＣＢによってトリガされるサイクルの第１の読み出しは、前記基礎的サイクルの開始後にＣＬＫＢの２サイクルを生じる。本例において、前記クロックサイクルの持続時間の比が２：３の場合、これは、前記読み出しが、書き込みの後ＣＬＫＡの１サイクルを生じることを意味する。前記クロックをこの量によってスキューし、問題を生じることなく、レジスタＲ0から出力Ｒoutにデータを伝送するための時間を引いてもよい。
図６は、ＭＥＭ／ＣＰＵ  ＴＲＡＮＳ  １１０の一実施形態である。ＣＰＵ／ＭＥＭ  ＴＲＡＮＳ  １０８と同様に、ＭＥＭ／ＣＰＵ  ＴＲＡＮＳ  １１０は、第１クロック領域１１０ｂおよび第２クロック領域１１０ａを有する。加えて、レジスタの数は、Ａ＋Ｂより少なく、３：２クロック比のこの例において、第２クロック領域１１０ｂにおけるレジスタおよび対応するマルチプレクサの数は、２（ＭＲ0−ＭＲ1）１２２0−１２２1である。
各々のマルチプレクサＭＭi（この例においてＩ＝０ないし１）１２４0−１２４1は、ＤMIN信号および対応する選択されたデータ信号ＭＳＤiを受け、有効データ信号ＭＶＤiをデータ有効信号ＶＡＬiに応じて出力する。データ有効信号ＶＡＬiは、新たな有効データをＤMIN信号を通じて受けており、出力すべきかどうか、または、前の有効データ信号ＭＳＤiを再び出力すべきかどうかを示す。個々のＶＡＬ信号を、位相カウンタ１３３から供給する。位相カウンタ１３３は、ＣＬＫＢ信号およびＳＹＮＣＢ信号と、ＣＬＫＢに同期し、伝送の開始を示す全体的な開始信号であるＳＴＡＲＴＢ信号とを受ける。位相カウンタ１３３は、レジスタにおけるデータの受け取りと、レジスタからのデータの供給との間の最短の時間間隔、この例においては、１高速クロック周期間隔を保証する。
各々のレジスタＭＲ0−ＭＲ1１２２1−１２２1は、この例において、対応する有効データ信号ＭＶＤiを対応するマルチプレクサＭi１２４iから受け、対応する選択されたデータ信号ＭＳＤiをＣＬＫＢに応じて出力する。
第２クロック領域１１０ａは、マルチプレクサＭＭＵＸ１２６を含む。ＭＭＵＸ１２６は、受ける選択されたデータ信号、この例においてＭＳＤ0−ＭＳＤ1の内のどの選択されたデータ信号ＭＳＤiを出力するかの選択を、選択信号ＳＳＥＬに基づいて出力する。出力されたデータ信号ＭＤSYNCをレジスタＭＲOUT１２８に供給し、レジスタＭＲOUT１２８は、出力信号ＤMOUTをＣＰＵサブシステム１０２にＣＬＫＡに応じて出力する。
ＣＬＫＡを位相コントローラ１３０にも供給し、この位相コントローラ１３０を、例えばフリップフロップとしてもよい。位相コントローラ１３０は、第１クロック信号ＣＬＫＡと、開始信号ＳＴＡＲＴＡと、ＳＹＮＣＡ信号とを受け、選択信号ＳＳＥＬを発生し、この例においてどの選択されたデータ信号ＭＳＤ0−ＭＳＤ1をＭＭＵＸ１２６によって出力データ信号ＭＤSYNCとして出力すべきかを示す。
ここで容易に理解できるように、本発明は、異なるクロックを有するシステム間のデータ伝送を可能にし、同時に準安定問題の発生を防ぐ。本発明を、前記サブシステムのいずれに含んでもよく、別個のサブシステムとしてもよい。当業者は、不活性信号の代わりに活性信号を、またはその逆を容易に使用するであろう。付加的な変更が、当業者によって容易に行われるであろう。
このように、前述の説明から明らになったこれらのうちで、上述した目的は、有効に達成されたことが分かり、本発明の精神および範囲から逸脱することなく、いくらかの変更を前記構成において行うことができることから、上記説明に含まれる、または添付した図面に示すすべての内容を、説明的であり意味を制限しないと解釈すべきであるとする。
以下の請求の範囲を、ここに説明した本発明の一般的および固有の特徴をのすべてと、言語の問題としてこれらの間にあると言える本発明の範囲のすべてのステートメントとをカバーするものとすることも理解すべきである。
【図１】
0004572264.tif 000002
【図２】
0004572264.tif 000003
【図３】
0004572264.tif 000004
【図４】
0004572264.tif 000005
【図５】
0004572264.tif 000006
【図６】
0004572264.tif 000007