(57)【要約】  一実施例によるシステムが開示される。本システムは、第１集積回路（ＩＣ）と、第１ＩＣに接続される第１インタフェースと、インタフェースに接続される第２ＩＣとを有する。第１ＩＣは、インタフェースに関連付けされていない複数の信号のそれぞれの状態を、当該状態の変化が検出される毎にインタフェースを介し第２ＩＣにインバンドに送信する。【特許請求の範囲】
【請求項１】
第１集積回路（ＩＣ）と、
前記第１ＩＣに接続されるインタフェースと、
前記インタフェースに接続される第２ＩＣと、
から構成されるシステムであって、
前記第１ＩＣは、前記インタフェースに関連付けされていない複数の信号のそれぞれの状態を、前記複数の信号の１つの状態の変化が検出される毎に、前記インタフェースを介し前記第２ＩＣのインバンドに同時に送信することを特徴とするシステム。
【請求項２】
請求項１記載のシステムであって、
前記複数の信号のすべての状態は、前記信号の何れかが変化するときは常に、前記第１ＩＣにおいてサンプリングされることを特徴とするシステム。
【請求項３】
請求項１記載のシステムであって、
前記第２ＩＣは、前記複数の信号値が受信される毎に、インバンドに受信された新たな値によって前記信号のそれぞれを駆動することを特徴とするシステム。
【請求項４】
請求項１記載のシステムであって、
前記第１ＩＣは、
前記複数の信号のそれぞれに関連付けされた信号ロジックと、
前記複数の信号のそれぞれに関連付けされた信号ロジックに接続され、前記信号値を前記第２ＩＣのプロトコルにインバンドに送信するプロトコルロジックと、
を有することを特徴とするシステム。
【請求項５】
請求項４記載のシステムであって、
前記信号ロジックは、
関連付けされた信号に接続される入力と、ｈｅｌｄ信号値を生成し、前記プロトコルロジックに接続される出力とを有する第１フリップフロップと、
前記ｈｅｌｄ信号値を受信するため前記第１フリップフロップの出力に接続される入力と、送信信号を生成する出力とを有する第２フリップフロップと、
を有することを特徴とするシステム。
【請求項６】
請求項４記載のシステムであって、
前記信号ロジックは、
関連付けされた信号に接続される入力と、前記プロトコルロジックに接続され、ｈｅｌｄ信号値を生成する出力とを有するフリップフロップと、
前記ｈｅｌｄ信号値を受信するため、送信信号を生成する前記フリップフロップの出力に接続された入力を有するカウンタと、
を有することを特徴とするシステム。
【請求項７】
請求項４記載のシステムであって、
前記プロトコルロジックは、前記ｈｅｌｄ信号値のすべてを同時に有するプロトコルポイントを選択し、前記プロトコルポイントを前記インタフェースを介し前記第２ＩＣに送信されるプロトコルに統合することを特徴とするシステム。
【請求項８】
請求項７記載のシステムであって、
以降の信号遷移が短い遅延で通信されるように、さらなる信号遷移毎に送信される前記プロトコルポイントが変更されることを特徴とするシステム。
【請求項９】
請求項１記載のシステムであって、
前記インタフェースを介し前記第１ＩＣと前記第２ＩＣとの間で繰り返されるように、以前の遷移に近接して行われる信号遷移が破棄され、より広範な遷移及び前記信号の安定状態値が繰り返されることを特徴とするシステム。
【請求項１０】
請求項１記載のシステムであって、
前記第２ＩＣは、
前記インタフェースに接続され、前記インバンド信号のそれぞれを受信し、前記インバンド信号のそれぞれの状態を抽出するプロトコルロジックと、
前記プロトコルロジックに接続され、前記インバンド信号のそれぞれの状態を、前記状態が受信されると維持するシーケンシャルロジックと、
を有することを特徴とするシステム。
【請求項１１】
第１集積回路（ＩＣ）において複数の信号のそれぞれの状態をモニタするステップと、
前記複数の信号の１つの状態の変化が検出される毎に、前記信号のそれぞれの状態をインタフェースを介し第２ＩＣにインバンドに送信するステップと、
から構成されることを特徴とする方法。
【請求項１２】
請求項１１記載の方法であって、
前記第１ＩＣにおいて複数の信号のそれぞれの状態をモニタするステップは、
前記複数の信号のそれぞれに関連付けされたプロトコルロジックにおいて信号ｈｅｌｄ値をモニタするステップと、
前記複数の信号のすべてに関連付けされたプロトコルロジックにおいて送信信号をモニタするステップと、
を有することを特徴とする方法。
【請求項１３】
請求項１２記載の方法であって、さらに、
前記プロトコルロジックにおいて前記入力信号のすべてのｈｅｌｄ値を同時に含むプロトコルポイントを選択するステップと、
前記インタフェースを介し前記第２ＩＣに送信されるプロトコルに前記プロトコルポイントを統合するステップと、
を有することを特徴とする方法。
【請求項１４】
請求項１３記載の方法であって、さらに、
前記第２ＩＣにおいて前記プロトコルポイントを受信するステップと、
前記複数のインバウンド信号のそれぞれの状態を抽出するステップと、
を有することを特徴とする方法。
【請求項１５】
チップセットと、
前記チップセットに接続されるインタフェースと、
前記チップセットに接続される集積回路（ＩＣ）と、
から構成されるシステムであって、
前記チップセットは、前記インタフェースに関連付けされていない複数の信号のそれぞれの状態を、前記複数の信号の１つの状態の変化が検出される毎に、前記インタフェースを介し前記ＩＣにインバンドに同時に送信することを特徴とするシステム。
【請求項１６】
請求項１５記載のシステムであって、
前記複数の信号のすべての状態は、前記信号の何れかが変更されると常に前記チップセットにおいてサンプリングされることを特徴とするシステム。
【請求項１７】
請求項１５記載のシステムであって、
前記ＩＣは、前記複数の信号値が受信される毎に、インバンドに受信された新たな値によって前記信号のそれぞれを駆動することを特徴とするシステム。
【請求項１８】
請求項１５記載のシステムであって、
前記チップセットは、
前記複数の信号のそれぞれに関連付けされた信号ロジックと、
前記複数の信号のそれぞれに関連付けされた信号ロジックに接続され、前記信号値を前記ＩＣのプロトコルにインバンドに送信するプロトコルロジックと、
を有することを特徴とするシステム。
【請求項１９】
請求項１８記載のシステムであって、
前記信号ロジックは、
関連付けされた信号に接続される入力と、前記プロトコルロジックに接続され、ｈｅｌｄ信号値を生成する出力とを有する第１フリップフロップと、
前記ｈｅｌｄ信号値を受信するため前記第１フリップフロップの出力に接続される入力と、送信信号を生成する出力とを有する第２フリップフロップと、
を有することを特徴とするシステム。
【請求項２０】
請求項１８記載のシステムであって、
前記信号ロジックは、
関連付けされた信号に接続される入力と、前記プロトコルロジックに接続され、ｈｅｌｄ信号値を生成する出力とを有するフリップフロップと、
前記ｈｅｌｄ信号値を受信するため、送信信号を生成する前記フリップフロップの出力に接続された入力を有するカウンタと、
を有することを特徴とするシステム。
【請求項２１】
請求項１８記載のシステムであって、
前記プロトコルロジックは、前記ｈｅｌｄ信号値のすべてを同時に有するプロトコルポイントを選択し、前記プロトコルポイントを前記インタフェースを介し前記第２ＩＣに送信されるプロトコルに統合することを特徴とするシステム。
【請求項２２】
請求項２１記載のシステムであって、
以降の信号遷移が短い遅延で通信されるように、ｈｅｌｄ信号遷移毎に送信される前記プロトコルポイントが変更されることを特徴とするシステム。
【請求項２３】
請求項１５記載のシステムであって、
前記インタフェースを介し前記チップセットと前記ＩＣとの間で繰り返されるように、以前の遷移に近接して行われる信号遷移が破棄され、より広範な遷移及び前記信号の安定状態値が繰り返されることを特徴とするシステム。
【請求項２４】
請求項１５記載のシステムであって、
前記ＩＣは、
前記インタフェースに接続され、前記インバンド信号のそれぞれを受信し、前記インバンド信号のそれぞれの状態を抽出するプロトコルロジックと、
前記プロトコルロジックに接続され、前記インバンド信号のそれぞれの状態を、前記状態が受信されると維持するシーケンシャルロジックと、
を有することを特徴とするシステム。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
［発明の技術分野］
本発明は、集積回路に関し、より詳細には、集積回路間のインタフェース処理に関する。
【０００２】
［背景］
集積回路（ＩＣ）は、通常はデータ転送及び制御のためのインタフェースによってシステムに接続されている。このようなインタフェースは、バスやポイント・ツー・ポイントリンクを含むかもしれない。典型的には、リンクに直接的には関連付けされていないが、ＩＣのアクションを調整するのに実現される追加的な信号が存在する。このような信号は、他のタイプの信号のうちエラー及びデバッグ信号を含む。
【０００３】
これらの信号が物理配線として実行されると、個別の各配線は、信号を送信するＩＣと受信するＩＣを復号したそれ自体のピン、タイミングスペック、電圧スペックなどを有する必要がある。現在のシステムは、各配線を介し搬送された同一の情報をＩＣ間で通信するため各ＩＣを接続する既存のバス又はリンク上で割り当てられていないプロトコルポイントを実現し、これにより、さらなる配線を排除することによってＩＣ間の物理的インタフェースを簡単化する。
【０００４】
このような機構は、インバンドシグナリング（ｉｎ−ｂａｎｄ  ｓｉｇｎａｌｉｎｇ）と呼ばれている。なぜなら、プロトコルが関連付けされていないが、さらなる情報がプロトコルシグナリングの一部として搬送され、このため、プロトコルにとってインバンドであるからである。例えば、１つのプロトコルポイントは、「デバッグ信号Ａがアサートされている」ことを示すかもしれない。他のプロトコルポイントは、「デバッグ信号Ａがデアサートされている」ことを示すであろう。第１ＩＣがデバッグ信号Ａがアサートされていることを第２ＩＣに通信する必要があるとき、メッセージ「デバッグ信号Ａはアサートされている」が、第１ＩＣから第２ＩＣへのプロトコルストリームにより送信される。デバッグ信号Ａがデアサートされているとき、第１ＩＣは、第２ＩＣに「デバッグ信号Ａはデアサートされている」を送信する。
【０００５】
さらなる配線を追加することなく各ＩＣ間で信号を伝送する上記機構は多くの利点を提供するが、またいくつかの信号がこのように各ＩＣ間で送信されているときなど、重大な欠点がある。
【０００６】
［詳細な説明］
関連付けされていないリンクを介し信号を繰り返す機構が説明される。以下の説明では、多数の詳細が提供される。しかしながら、本発明がこれらの具体的詳細なしに実現可能であるということは、当業者には明らかであろう。他の例では、本発明を不明りょうにすることを回避するため、周知の構成及び装置は、詳細にではなくブロック図により示される。
【０００７】
明細書における「一実施例」又は「ある実施例」という表現は、当該実施例に関して説明される特定の特徴又は構成が本発明の少なくとも１つの実施例に含まれることを意味する。明細書の各所における「一実施例では」というフレーズの出現は、そのすべてが同一の実施例を参照しているとは限らない。
【０００８】
図１は、コンピュータシステム１００の一実施例のブロック図である。コンピュータシステム１００は、バス１０５に接続される中央処理ユニット（ＣＰＵ）１０２を有する。一実施例では、ＣＰＵ１０２は、カリフォルニア州サンタクララのインテルコーポレイションから入手可能なＰｅｎｔｉｕｍ（登録商標）ＩＩ系プロセッサ、Ｐｅｎｔｉｕｍ（登録商標）ＩＩＩプロセッサ及びＰｅｎｔｉｕｍ（登録商標）ＩＶプロセッサを含むＰｅｎｔｉｕｍ（登録商標）系プロセッサのプロセッサである。あるいは、他のＣＰＵが使用されてもよい。
【０００９】
チップセット１０７がまた、バス１０５に接続される。チップセット１０７は、メモリコントロールハブ（ＭＣＨ）１１０を有する。一実施例では、ＭＣＨ１１０は、ハブインタフェースを介し入出力コントロールハブ（ＩＣＨ）１４０に接続される。ＩＣＨ１４０は、コンピュータシステム１００内の入出力（Ｉ／Ｏ）装置とのインタフェースを提供する。例えば、ＩＣＨ１４０は、オレゴン州ポートランドのＰＣＩ  Ｓｐｅｃｉａｌ  Ｉｎｔｅｒｅｓｔ  Ｇｒｏｕｐによって開発された仕様書改訂２．１バスに従うＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスに接続されてもよい。
【００１０】
一実施例では、ＭＣＨ１１０は、メインシステムメモリ１１５に接続されるメモリコントローラ１１２を有する。メインシステムメモリ１１５は、ＣＰＵ１０２又はシステム１００に含まれる他の何れかの装置によって実行可能なデータ信号によって表されるコード及び命令シーケンス並びにデータを格納する。一実施例では、メインシステムメモリ１１５は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を有するが、メインシステムメモリ１１５は、他のメモリタイプを利用して実現されてもよい。
【００１１】
一実施例によると、ＭＣＨ１１０とＩＣＨ１４０は、ハブインタフェースを介し接続される個別のＩＣ上に実現される。しかしながら、ＭＣＨ１１０とＩＣＨ１４０を調整するのに必要とされるかもしれないハブインタフェースに関連付けされていない追加的な信号（エラー信号、デバッグ信号など）が存在してもよい。これらの信号は、一般には以下の特性を有する。１）任意のクロックサイクル上で遷移が発生可能である。２）限定的な遅延が信号がアサートするときと、信号が他のＩＣによって観察されるときの間に許容される。３）安定状態から第１の遷移のタイミングは重要であり、ある状態の始まりを通知する一方、リターンから安定状態への遷移のタイミングはあまり重要ではない。４）各信号は頻繁には変化しないが、複数の信号が近隣のクロックサイクル上で変化するかもしれず、互いの信号変化の相対的なタイミングを維持することが重要である。
【００１２】
上述のように、インバンドシグナリングは、各ＩＣ間で情報を通信するのに実現される既存の機構である。複数の信号が同時に又はほぼ同時に（プロトコルによる信号送信速度に関して）インバンドシグナリング変化状態を利用してわたされるとき、インバンドシグナリングを利用した問題が発生する。このようなケースでは、プロトコルは、信号情報を直列化し、１つの信号の新たな状態を送信し、その後、すべての信号に関する変化が通信されるまで次の信号の新しい状態を送信する。
【００１３】
この結果、１つのＩＣにおいて実質的に同時に確認されるアクションが、他のＩＣにおいて時間的に連続に確認されることとなる。例えば、第１ＩＣ（ＩＣ１）と第２ＩＣ（ＩＣ２）は通信プロトコルによりリンクによって接続されると仮定する。２つの信号ＡとＢの値が双方のＩＣに関心があると仮定する。これらの信号はＩＣ１に存在し、当該信号はリンクの動作と関連付けされていないが、リンクを介しＩＣ２にインバンド通信される。ＡのみがＩＣ１においてアサートであるとき、このことは、「Ａはアサートされている」というメッセージによりＩＣ２に通知され、ＩＣ２は、それが発生した時点から１リンク以内の遅延でＡがアサートされたことを知る。同じことが、信号Ｂのみがアサートされるときに生じ、ＩＣ２は、それが発生した時点から１リンク以内の遅延でＢがアサートされたことを知る。しかしながら、ＡとＢが同時にアサートされると、これは同時に通信することはできない。なぜなら、「Ａがアサートされた」及び「Ｂがアサートされた」ということは、同時に通信することができない異なるプロトコルポイントであるからである。
【００１４】
この結果、ある機構は、１つの信号を他方に対して優先し、直列的に状態変化を送信しなければならない。送信されない信号によって引き起こされる状態変化は、何れかの方法により格納され、次の機会に送信されねばならない。従って、ＩＣ１において知られる、ＡとＢが同時にアサートされたという情報は、ＡがアサートされるとＩＣ２に到着することによって時間的に歪められ、Ｂがアサートされることによって以降のリンク遅延に続く。図５において、ＩＣ２のこの時間的な歪みが示される。
【００１５】
上述の例は、信号ＡとＢが同時にアサート及びでアサートする場合、さらに複雑なものとなり、信号Ａに対する変化は信号Ｂに対する変化より優先される。図６において、この状況が示される。まず、「Ａがアサートされた」が送信されるよう選ばれる。ＩＣ１の次のクロックサイクルでは、「Ａがアサートされた」の送信中に、ＡとＢはデアサートされる。ここで、「Ａがデアサートされた」が送信されるよう選択される。従って、「Ｂがアサートされた」は、２リンクメッセージ時間だけ遅延される。
【００１６】
さらに、「Ｂがアサートされた」の後に「Ｂがデアサートされた」を送信することを記憶するバッファに２つのエントリが要求される。このバッファは、フル及びオーバーフローとなる可能性があり、関連するエラー状態が処理される必要がある。バッファを処理するための例外状態は、複雑なものとなり、設計エラーを招く傾向がある。従って、遷移系列後の最終的な信号状態がバッファにおいて欠落する可能性があり、この結果、エンドにおける受信ＩＣは、信号の１以上の誤った状態を有することとなる。
【００１７】
現在、２つのポイントが、すなわち、アサーションについて１つとデアサーションについて１つが、信号毎にプロトコルにおいて割り当てられている。従って、Ｎ個のインバンド信号について２＊Ｎ個のプロトコルポイントが現在実現されている。一実施例によると、インバンド信号送信のためのプロトコルポイントは変更される。このような実施例では、すべてのインバンド信号の状態は、何れかの変化がインバンド信号の何れかにおいて観察される毎に送信される。この結果、Ｎ個のインバンド信号について２ｎ個のプロトコルポイントが実現される（例えば、Ｎ本の信号ラインの可能性のある各状態について１つのプロトコルポイントが、インバンド送信される）。
【００１８】
さらなる実施例では、送信されるすべてのインバンド信号の状態が、信号の何れかが変化するときは常にサンプリングされる。その後、すべての信号の状態が、インタフェースを介し１つのプロトコルポイントにおいてすぐに送信される。さらなる実施例では、信号を受信するＩＣは、インバンドプロトコルポイントがインタフェースを介し受信される毎に、それが受信する新たな値によりすべての信号を駆動する。
【００１９】
図２は、送信ＩＣ２００の一実施例を示す。一実施例では、送信ＩＣ２００はＭＣＨ１１０である。しかしながら、当業者は、送信ＩＣ２００が何れかのタイプのバス又はインタフェースを介し他のＩＣに接続される他の何れかのタイプのＩＣであってもよい。図２を参照するに、ＩＣ２００は、信号ロジック２１０とプロトコルロジック２３０とを有する。
【００２０】
一実施例では、ＩＣ２００は、受信ＩＣに送信されるべき各信号について信号ロジック２１０を有する。従って、信号ロジック２１０（１）〜２１０（ｎ）が信号Ａ〜Ｎに対応して含まれる。ここで、ＮはＮ番目の信号を表し、ｎは対応する信号ロジック２１０を表す。信号ロジック２１０は、個別の各信号がインタフェースを介しインバンドに繰り返されることを可能にするロジックを有する。プロトコルロジック２３０は、インバンドに繰り返される信号を受信し、適切なプロトコルポイントを選択し、当該プロトコルポイントをインタフェースを介し送信されているプロトコルに統合するロジックである。
【００２１】
一実施例によると、図示されるすべての信号と、信号ロジック２１０とプロトコルロジック２３０内のフリップフロップは、共通のクロックにより動作する。以下の説明は、同様に動作する他の信号による信号Ａと対応する信号ロジック２１０とに着目する。初期化後、送信信号を起動する信号ロジック２１０のフリップフロップ２（ＦＦ２）がクリアされる。これは、信号Ａがマルチプレクサ（ｍｕｘ）を介しＦＦ１のＤ入力に伝搬されることを可能にする。１クロックサイクル後、ｓｉｇｎａｌ＿Ａ＿ｈｅｌｄ信号は、信号Ａと同じ値を有する。これは、回路の安定状態である。
【００２２】
長期間の非アサート状態後、信号Ａがアサートされるとき、安定状態からの変化が生じる。信号Ａがアサートされると、ＸＯＲゲートはそれの入力に異なる値を検出し、それの出力（Ｌ）がアサートされる。これは、送信信号を生成するＯＲゲートを介しＦＦ２のＤ入力をアサートする。次のクロックにおいて、送信信号とｓｉｇｎａｌ＿Ａ＿ｈｅｌｄ信号とがアサートされる。信号Ａとｓｉｇｎａｌ＿Ａ＿ｈｅｌｄ信号の両方がこのとき同じ値を有するため、ＸＯＲゲートの出力Ｌはデアサートされる。
【００２３】
同時に、送信信号はハイになり、送信信号がすでに安定状態ローであったため、ＡＮＤゲートはＯＲゲートへのそれの出力をアサートし、ＯＲゲートはＦＦ２へのＤ入力をアサートするそれの出力を維持する。従って、ＱからＦＦ２のＤまでのフィードバックループが形成され、送信信号がローにある限りそれの出力を一定してアサートに維持する。
【００２４】
送信信号のアサーションはまた、Ｑ出力からＦＦ１のＤ入力までのフィードバックループが構成されるようにｍｕｘをスイッチする。送信信号がアサートされている限り、Ａは無視され、ｓｉｇｎａｌ＿Ａ＿ｈｅｌｄ信号は、送信信号がアサートされたときにそれが有していた値を維持する。以下で説明されるように、送信信号は、信号Ａの新たな値がインタフェースにおいて繰り返されるまで、この状態を維持する。従って、ｍｕｘは、インタフェースにおいて繰り返されるように前の遷移の近傍で行われる信号遷移を無視するために機能する。これは、従来技術と同様に、信号変化をバッファし、その後にインタフェース帯域幅がそれらの送信を許可しないとき、バッファコンテンツを破棄する必要なく実現される。
【００２５】
プロトコルロジック２３０について、すべてのｓｉｇｎａｌ＿Ａ＿ｈｅｌｄ信号の値が連続的に観察される。プロトコルロジック２３０はまた、各信号ロジック２１０コンポーネントからの送信信号のＯＲを観察する。何れかの送信信号がアサートされると、プロトコルロジック２３０における送信信号がアサートされる。信号Ａに対応する信号ロジック２１０からの送信信号が、プロトコルロジック２３０において送信信号をアサートすると、次に利用可能な機会において、プロトコルロジック２３０は、それらの即値のすべてを表すプロトコルポイントを利用して、すべてのｓｉｇｎａｌ＿Ｘ＿ｈｅｌｄ信号の値を１つのインバンドシグナリングプロトコルフレームに配置する。その後、送信信号は、１つのクロックサイクルについてアサートされる。
【００２６】
送信信号が信号Ａについて信号ロジック２１０に到着すると、ＱからＦＦ２のＤへのフィードバックループが中断され、Ｄ入力は非アサートとされる。次のクロックサイクルにおいて、ｍｕｘをスイッチする送信信号がデアサートされ、これにより、信号ＡはＦＦ１のＤ入力とＸＯＲゲートへの入力に伝搬される。
【００２７】
信号Ａがちょうど繰り返された（又は当該状態に再びリターンした）同じ状態にまだあると仮定すると、ＸＯＲは、それの２つの入力について同じ値を検出し、当該回路は安定状態にリターンした。しかしながら、信号Ａが異なる値を有する場合、ＸＯＲゲートはこれを検出し、上述のプロセスがインタフェースを介しこの新たな値を送信するため繰り返される。
【００２８】
Ｎ個の信号がインタフェースを介しインバンドに繰り返されるとき、それらは互いに関して何れかのクロックサイクルにおいて変化するかもしれないことが確認できる。いくつかのクロックサイクルにおいては変化はないが、他のクロックサイクルにおいては１以上の変化があるかもしれない。また、繰り返しインタフェースがこの変化を繰り返すことが可能であるまでの遅延は、インタフェース設計に応じて短く又は長く、一定又は可変であるかもしれない。何れのケースでも、第１の変化は、インタフェースに信号を繰り返すよう準備させる。
【００２９】
信号を繰り返すよう準備するのにインタフェースによって必要とされる時間中、他の信号は状態を変更し、それらの新しい状態はまた、準備が完了すると繰り返されるであろう。インタフェースの準備ができると、それは、当該時間までに変化した各信号の新たな状態を含むすべての信号の状態をすぐにインタフェースを介し送信する。その後、これらの信号は、インタフェースを介しちょうど繰り返された値に対する変化について再評価される。新たな変化が検出されると、本プロセスは繰り返される。
【００３０】
図３は、受信ＩＣ３００の一実施例を示す。ＩＣ３００は、プロトコルロジック３３０とシーケンシャルロジック３５０とを有する。シーケンシャルロジック３５０は、受信される各繰り返し信号に専用のＦＦを有する。プロトコルロジック３３０が入力インバンドシグナリングプロトコルフレームを検出すると、プロトコルロジック３３０は、受信した信号のすべての状態を抽出し、これをシーケンシャルロジック３５０においてＦＦのＤ入力に提供すると同時に、ＦＦがイネーブル信号によりデータを受け付けることを可能にする。これらＦＦは、次のインバンドシグナリングプロトコルフレームがそれらを更新するまで、最後に書き込まれた値に繰り返し信号を維持する。
【００３１】
ますますＩＣリンクは高速になり、送信エラーを受けやすくなる。インバンド信号の繰り返しは、ときどき送信遅延の最小化やより高いプロトコルレベルでのバッファコンプレクシティの低減などのため、下位のプロトコルレイヤに挿入される。この結果、インバンド信号繰り返しフレームが欠落するかもしれない。
【００３２】
上述の繰り返し機構は、フレームの時間ウィンドウに属するすべての信号変化について１つの信号繰り返しフレームを送信する。当該フレームが欠落する場合、受信ＩＣは、欠落したフレームに含まれる変化によりすべての信号について誤った状態を有することとなる。この状態は、他の信号が変化するまで維持され、すべての信号状態が再び繰り返される。
【００３３】
インバンドシグナリングプロトコルフレームの損失に対する許容度は、上述の信号ロジック２１０へのシンプルな変更によって実現可能である。この変更は、各信号変化について複数のフレームが送信され、これにより、信号変化の受信機への送信確率が向上する。
【００３４】
各信号変化に対して送信されるフレーム数は、物理リンクを介し予想されるエラーレートを調整するよう設定することが可能である。各変化について複数のフレームを送信することは、リンク帯域幅を使用するが、バッファリングやリトライスキームが実現されることを求めない。到着すべき最初の正しいフレームが受信機における信号値を設定するため、リンクを介し信号を繰り返すための遅延が最小化される。
【００３５】
図４は、インバンドシグナリングプロトコルフレームの損失について耐性を有するインバンドシグナリング機構を含む送信ＩＣ２００の他の実施例を示す。信号ロジック２１０における各信号変化について複数のフレームを送信することを実現するため、破線のブロック内のロジック（ＯＲゲート、ＡＮＤゲート、ＦＦ２など）がロード可能なカウントダウンカウンタ４２０と置き換えられる。信号Ｌは、カウンタ４２０のロード信号である。Ｌがアサートされると、カウンタ４２０はそれのデフォルト値をロードする。Ｃがアサートされるすべてのクロックサイクルについて、Ｅがまたアサートされると、カウンタ４２０は１だけカウントをデクリメントする。カウンタ４２０の出力Ｎは、カウンタ値が非ゼロであるときは常にアサートされる。
【００３６】
カウンタ４２０は、以下のようにＩＣ２００において動作する。ＸＯＲゲートが信号変化の結果としてアサートされると、Ｌはアサートされる。信号変化がＸＯＲの入力を同一にした後の最初のクロックサイクルとして、Ｌは１つのみのサイクルについてアサートされる。Ｌをアサートすることは、カウンタへのデフォルト値を次のクロックエッジにロードする。デフォルト値４２０の値は、リンクエラーレート、プロトコルスループットに対する影響、繰り返されるデータの重要性などをバランスするよう選ばれる。
【００３７】
カウンタ４２０がロードされると、カウンタ４２０は現在非ゼロであるため、それのＮ出力はアサートされる。これはｍｕｘをスイッチし、それの送信中に入力信号の値を保持する。Ｎ出力のアサートはまた、信号Ｅをアサートし、Ｃ入力のアサーションに基づき、カウンタ４２０をカウントダウンすることを可能にする。それはまた、プロトコルロジック２３０への送信信号をアサートする。
【００３８】
プロトコルロジック２３０がアサートされた送信信号を観察する毎に、プロトコルロジック２３０は、信号を繰り返す準備をし、それらの値をキャプチャし、インバンドシグナリングプロトコルフレームを送信し、送信信号をアサートする。信号変化した各信号ロジック２１０のコンポーネントのカウンタ４２０は、非ゼロの値を有する。送信パルスは、この状態で１カウントだけ各カウンタ４２０をデクリメントする。このことは、当該カウンタが追跡している信号変化がリンクを介し以前に送信されたことを示す。これは、このような各カウンタが０に到達し、Ｎがデアサートされ、カウンタ４２０がディスエーブルされ（この結果、それはアンダーフローしない）、信号ロジック２１０からプロトコルロジックへの送信信号はデアサートされ、ｍｕｘはさらなる入力信号の変化を観察するようスイッチするまで継続される。
【００３９】
上述の機構は、各信号遷移のインバンド信号フレームのデフォルト数を送信する。他の信号に対する以前の変化の繰り返し中、さらなる信号に対する変化が生じると、これらさらなる変化は、送信される次の及び以降のインバンドシグナリングフレームにすぐに含まれる。直近に生じた信号変化がデフォルト回数だけ繰り返されると、インバンドシグナリングプロトコルフレームの送信は停止する。
【００４０】
カウンタを含む信号ロジック２１０と共に使用される受信ＩＣ３００（図３）は、上述した受信機と同一である。エラーによって損傷したインバンドシグナリングプロトコルフレームは、プロトコルロジック３３０によるリンクチェックにより検出され、イネーブル信号がアサートされることなく破棄される。従って、ＩＣ３００に信号値を保持するシーケンシャルロジック３５０内のＦＦの出力は変化しない。リンクチェックをパスした最初のインバンドシグナリングプロトコルフレームは、すべての信号ＦＦをそれらの正しい繰り返し値に変更する。以降の良好なフレームはまたＦＦを書き込むが、これらの値は同一であり、このため、ＩＣ３００の信号における変化は認められない。１つの良好なフレームが受信される限り、信号は正しく繰り返されるであろう。
【００４１】
上述の機構は、第１ＩＣの同時の信号遷移が送信遅延後に第２ＩＣにおいて同時に観察されることを可能にする。さらに、複合的なバッファ（エラーを発生しやすい構成）が軽減される。これは、介在するリンク上のエラーが一部のプロトコルフレームの損失を引き起こすときでさえ真である。さらに、複数の信号上の互いの少数のクロックサイクル内で発生する遷移は、バッファをオーバーフローすることなく、そして信号遷移が予想不可能（予想困難）な方法により失われることなく、インタフェースを介し送信されるかもしれない。
【００４２】
本発明の多数の代替及び改良が、上記説明を参照した後に当業者に明らかになるが、説明のために図示及び説明された何れの実施例も限定的なものとして解釈されるべきではない。従って、様々な実施例の詳細に対する参照は、本発明とみなされる特徴のみを記載した請求項の範囲を限定するものではない。
【図面の簡単な説明】
【００４３】
【図１】図１は、コンピュータシステムの一実施例を示す。
【図２】図２は、送信ＩＣの一実施例を示す。
【図３】図３は、受信ＩＣの一実施例を示す。
【図４】図４は、送信ＩＣの他の実施例を示す。
【図５】図５は、信号タイミングの一実施例を示すタイミング図である。
【図６】図６は、信号タイミングの他の実施例を示すタイミング図である。
【図１】
2007529976.tif 000002
【図２】
2007529976.tif 000003
【図３】
2007529976.tif 000004
【図４】
2007529976.tif 000005
【図５】
2007529976.tif 000006
【図６】
2007529976.tif 000007
【国際調査報告】
2007529976.tif 000008
2007529976.tif 000009