(57)【特許請求の範囲】
【請求項１】
少なくとも１つの送信装置及び少なくとも１つの受信装置と、
フレームを通信するために装置間に接続されたバスと
を有し、多位相符号化プロトコルを利用するネットワークであって、各フレームは、データ構造、命令構造及びクロック構造を含み、各フレームの立ち上がりエッジはクロック構造を示し、該立ち上がりエッジの後所定期間内における立ち下がりエッジは、該立ち下がりエッジに続く構造がデータ構造であることを示し、前記立ち上がりエッジに続く前記所定期間より後の立ち下がりエッジは、該立ち下がりエッジに続く構造が命令構造であることを示し、受信装置は、クロック構造を利用して、フレームの１つ又はそれ以上の各位相がフレームに互いに同期するようにし、
前記データ構造における所定の第１の場所で生じるフレームの立ち下がりエッジがデータワードの第１セットを示し、前記データ構造における所定の第２の場所で生じるフレームの立ち下がりエッジがデータワードの第２セットを示し、
前記命令構造における所定の第１の場所で生じるフレームの立ち下がりエッジが命令ワードの第１セットを示し、前記命令構造における所定の第２の場所で生じるフレームの立ち下がりエッジが命令ワードの第２セットを示すことを特徴とするネットワーク。
【請求項２】
前記データ構造が、所定数の符号化データフィールドビットを有することを特徴とする請求項１記載のネットワーク。
【請求項３】
前記命令構造が、所定数の符号化された命令／制御フィールドビットを有することを特徴とする請求項１記載のネットワーク。
【請求項４】
前記命令ワードの第２セットが前記データワードの第２セットより多いことを特徴とする請求項１記載のネットワーク。
【請求項５】
多位相符号化プロトコルを利用するネットワークでデータを処理する方法において、
送信装置から受信装置への搬送波に組み込まれたコンピュータデータ信号を送信する送信ステップであって、各コンピュータデータ信号が、符号化フレームに組み込まれたデータ構造、符号化フレームに組み込まれた命令構造及び符号化フレームに組み込まれたクロック構造を含み、符号化フレームの立ち上がりエッジはクロック構造を示し、該立ち上がりエッジの後所定期間内における立ち下がりエッジは、該立ち下がりエッジに続く構造がデータ構造であることを示し、前記立ち上がりエッジに続く前記所定期間より後の立ち下がりエッジは、該立ち下がりエッジに続く構造が命令構造であることを示す、送信ステップと、
受信装置にて前記コンピュータデータ信号を受信し、クロック構造を利用して、フレームの位相が互いにフレームに同期するように調整するステップと
を有し、前記送信ステップは、
データワードの第１セットを示す場合は前記データ構造における所定の第１の場所、及びデータワードの第２セットを示す場合は前記データ構造における所定の第２の場所でフレームの立ち下がりエッジを形成し、命令ワードの第１セットを示す場合は前記命令構造における所定の第１の場所、及び命令ワードの第２セットを示す場合は前記命令構造における所定の第２の場所でフレームの立ち下がりエッジを形成することを特徴とするネットワークでデータを処理する方法。
【請求項６】
前記送信ステップが、所定数のデータフィールドビットによりデータ構造を符号化するステップを有することを特徴とする請求項５記載の方法。
【請求項７】
前記送信ステップが、所定数の命令／制御フィールドビットにより命令構造を符号化するステップを有することを特徴とする請求項５記載の方法。
【請求項８】
前記命令ワードの第２セットは前記データワードの第２セットより多いことを特徴とする請求項５記載の方法。
【請求項９】
少なくとも１つの送信装置と、
フレームを通信するために送信装置に接続された少なくとも１つの受信装置と
を有し、多位相符号化プロトコルを利用するネットワークであって、各フレームは、データ構造、命令構造及びクロック構造を含み、フレームの立ち上がりエッジはクロック構造を示し、該立ち上がりエッジの後所定期間内における立ち下がりエッジは、該立ち下がりエッジに続く構造がデータ構造であることを示し、前記立ち上がりエッジに続く前記所定期間より後の立ち下がりエッジは、該立ち下がりエッジに続く構造が命令構造であることを示し、受信装置は、クロック構造を利用して、フレームの１つ又はそれ以上の位相がフレームに互いに同期するよう調整を行い、
前記データ構造における所定の第１の場所で生じるフレームの立ち下がりエッジがデータワードの第１セットを示し、前記データ構造における所定の第２の場所で生じるフレームの立ち下がりエッジがデータワードの第２セットを示し、
前記命令構造における所定の第１の場所で生じるフレームの立ち下がりエッジが命令ワードの第１セットを示し、前記命令構造における所定の第２の場所で生じるフレームの立ち下がりエッジが命令ワードの第２セットを示すことを特徴とするネットワーク。
【請求項１０】
前記データ構造が、所定数の符号化データフィールドビットを有することを特徴とする請求項９記載のネットワーク。
【請求項１１】
前記命令構造が、所定数の符号化された命令／制御フィールドビットを有することを特徴とする請求項９記載のネットワーク。
【請求項１２】
前記命令ワードの第２セットが前記データワードの第２セットより多いことを特徴とする請求項９記載のネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般にネットワークに関連する。特に、本発明はネットワークバスに関連する。
【背景技術】
【０００２】
一般に、バスは、共通の物理的な信号経路として定義され、ネットワークのある部分から別の部分に信号が伝送され得る有線その他の媒体（例えば、光ファイバ）を包含する。バスの一般的な性質の１つは、バスが進化（ｍａｔｕｒｅ）するにつれて、送信及び受信を必要とする機能性が向上することである。しかしながら、設計されるバスは、そのバスが取り扱い得る機能に上限（制限）を有する。また、バスは、命令／制御の語彙におけるワード数にて制限され得る。命令／制御の語彙の大きさ又は量は、バスが取り扱うことの可能な様々な機能を決定する傾向にある。
【０００３】
バスに関する他の一般的な性質は、バスにおける動作は、そのバスに関して適切に動作するよう同期しなければならないことである。典型的には、バスは、クロック、データライン、及び制御ラインの３つの部分を有する。クロックはバス整合性を与え、そのバスの部分が一体的に共に動作することを可能にする。クロックは、命令／制御ライン又はデータラインからの基本伝送周波数によって推定され得る。データラインは典型的にはデータを搬送し、命令／制御ラインは典型的には命令及び制御信号値を搬送する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
既存のネットワークの欠点の１つは、クロック及びデータライン間に、ある関係が存在し、それは、意図されるよう機能するために、そのネットワークに関して維持されなければならない。その理由は、クロック及びデータライン上のデータは、異なる供給源から到来するからである。バスの任意の部分（例えば、データライン上のデータ）が速くなり又は遅くなり、クロックエッジにより規定されるウインドウマージン外に落ち込むと、バスは誤り又はエラーを有することとなり、意図されている機能の実行に失敗してしまうであろう。バスがより速く又は遅く動作すると、データライン及び制御ラインに関するクロックは、意図されている機能を実行することに失敗してしまう虞がある。
【０００５】
ネットワークは、帯域を増やすために複数のチャネルを同時に伝送することが間々ある。チャネルは、典型的には、別々の信号トレース経路、配線、波長又はカラー（光通信用）を利用して分離される。あるチャネルについては受信機に至るある経路を採用し、別のチャネルは同一の受信機に至る別の経路を採用するのが一般的である。更に、あるチャネルの送信機がある時点で動作し、別のチャネルの送信機は別の時点で動作し得る。
【０００６】
これらの（及び他の）条件が存在すると（例えば、異なるカラー、異なるトレース経路、異なる伝送時間）、受信機にてチャネルがずれてしまう又はスキュー（ｓｋｅｗ）してしまう虞がある。その理由は、異なるカラーは、異なる速度で伝送媒体（例えば、大気、光ファイバ）中を伝搬し、又は異なる経路をたどり、その結果受信機にて異なる時点で到着し得るからである。チャネルが異なる経路をとる場合は、ある経路は別の経路より長く又は短くなり、或いはある経路は別の経路より高速又は低速であり、これらはチャネルの信号が受信機に異なる時点で到着することを意味する。送信機が異なる時点で発すると、そのチャネルは異なる時点で処理が始められ、これもチャネル上の信号値が受信機に異なる時点で到着することを意味する。受信機の側では、光トランスデューサにおける変換もチャネルをスキューする虞がある、というのは、光トランスデューサ各々が異なる遅延を有し得るからである。
【０００７】
チャネルスキューを補償するために、受信機は何らかの手法で到来するチャネルに同期する必要がある。受信端にてチャネルに同期する１つの現行の手法は、各々が少なくとも１つの埋め込まれたクロックを有する複数のチャネルを一度に収集すること、及び収集したラインをレジスタにて接続することを含む。データは別のクロックを利用してそのレジスタにクロック毎に入力される。データが安定したことをレジスタが検出すると、チャネル内の次のデータがそのレジスタにクロック入力される。しかしながら、この手法は一般的には通信速度を低下させる、というのは、受信機は、意図されるその機能の利用性を判別する前に、収集される総ての命令／制御情報及びデータを待機しなければならないからである。
【課題を解決するための手段】
【０００８】
本発明は、図面を参照することで効果的に理解され、概して、図中同様な参照番号に関する参照物は、同一の、機能的に同様な及び／又は構造的に同様な要素を示す。要素が最初に登場する図面は、その参照番号の最も左側の桁（数字）によって示される。
【０００９】
多位相又はマルチフェーズ符号化プロトコルを実現する、フレームやチャネルを含むバスに関するマルチフェーズ符号化プロトコル及び同期化が、以下に説明される。以下の説明において、特定のプロセス、材料、装置等のような多くの具体的詳細が、本発明の実施例についての充分な理解を図るために与えられる。しかしながら、関連する技術分野の当業者は、本発明が、１つ又はそれ以上の具体的な詳細によらず、又は他の手法や要素等と共に実現され得ることを、認めるであろう。他の例では、本発明の様々な実施態様を不明瞭化させることを避けるため、周知の構造又は動作が示されず又は説明されない。
【００１０】
本説明のある部分は、バス、ビット、クロック、命令等のような用語を用いて行なわれる。これらの用語は、当業者により一般的に使用されており、彼らが当該技術分野の他者に仕事内容を説明するために使用されるものである。ここで使用されているように、「線又はライン（ｌｉｎｅ）」なる用語は、多相的性質（ｍｕｌｔｉｐｈａｓｉｃ  ｐｒｏｐｅｒｔｙ）を有するある線を示す。一実施例では、多相的性質は、単独のラインが、あるシーケンスにおける１つ又はそれ以上の命令／制御フィールドビットと共に２つ又はそれ以上のデータフィールドビットより成る条件である。ラインに関し、データフィールドビット又は命令／制御フィールドビットは、両者同時に定義されない。バスに関し、あるラインが命令／制御フィールドビットセットを有するならば、そのバスにおける総ての情報が命令を定める。
【００１１】
本説明の別の部分は、符号化又はエンコード、受信、送信等のような用語を用いてネットワークで行なわれる動作の観点から与えられる。当業者に周知のように、それらの量及び動作は、格納され、伝送され、結合されることの可能な電気的、磁気的又は光学的信号の形式をとり、ネットワークの機械的及び電気的な要素を通じて取り扱われ；「ネットワーク」なる用語は、一般的な意味に加えて、スタンドアローン形式、付随的又は組み込み形式のデータ処理装置、システム等のような個別的な意味を含む。
【００１２】
本発明を理解するのに最も有効な方法で、順に実行される複数の個々のステップとして、様々な動作が説明される。しかしながら、それらが説明される順序は、それらの動作が必須に順序依存性を有すること、又はそれらの動作が提示されるステップの順序で実行されることを示唆するように解釈されるべきではない。
【００１３】
本説明を通じて「一実施例」又は「ある実施例」は、その実施例に関して説明される特殊な性質、構造、プロセス、ステップ又は特徴が、本発明の少なくとも一実施例に包含されることを意味する。従って、本明細書の様々な箇所で登場する「一実施例にあっては」や「ある実施例では」等の語句は、総て同一の実施例を指すとは限らない。更に、特殊な性質、構造又は特徴は、１つ又はそれ以上の実施例にて適切な手法で結合され得る。
【００１４】
本発明は、多相符号化プロトコルに関し、そのプロトコルを実現するバス上のライン数が増加するにつれて、命令／制御ワード数が、データワード数を上回り指数関数的に増加する。例えば、多相符号化プロトコルを利用すると、２つのラインは１６（２４）種類又はバリーションのデータワードを搬送することができ、同じラインは２０個種類の命令／制御ワードを搬送することができる。１０個のラインは、１，０４８，５７６（２２０）種類のデータワード及び６，５５３，６００種類以上の命令／制御ワードを搬送することができる。１６個のラインは、４，２９４，９６７，２９６（２３２）種類のデータワード及び４２，９４９，６７２，９６０種類以上の命令／制御ワードを搬送することができる。
【００１５】
本願実施例によれば、多相符号化プロトコルに関するいくつかの利点が得られる。１つの利点は、データ及び命令の構造は、簡易に判別するための固有の署名（ｓｉｇｎａｔｕｒｅ）がプロトコルの一部であることを可能にし、ハードウエア構成を簡素化し、ネットワークオーバーヘッドを軽減することである。例えば、多相符号化プロトコルは、簡易な電光及び光電インターフェースが形成されることを可能にする。
【００１６】
多相符号化プロトコルの他の利点は、（振幅及び幅が）高くて狭いパルスによる光学的トランスデューサの焼け付き又はバーニングの危険性を軽減することである。これは、多相符号化プロトコルが、増加した情報密度が光学的トランスデューサに与えられるところのパルスパッキング（ｐｕｌｓｅ  ｐａｃｋｉｎｇ）を許容することに起因する。
【００１７】
多相符号化プロトコルに関する更なる利点は、命令／制御の語彙のサイズが、そのバスの取り扱い得る様々な機能（例えば、命令及び制御）を決める傾向にあることに起因して、本願実施例による多相符号化プロトコルは、新たな命令セットがソフトウエアを用いて作成されることを可能にし、これは拡張性の観点から有利である。
【００１８】
当然に、本発明は、多相符号化における相の数によって制限されない。例えば、以下の表１は、ライン数（及びフィールドビット）と、対応する伝送される命令ワード及び／又はデータワード数とを例示的に列挙する。
【００１９】
【表１】
0004544858.tif 000002
命令／制御ワードの順列（ｐｅｒｍｕｔａｔｉｏｎ）の数は、データワードの順列よりも非常に多い点に留意を要する。また、６，５５３，６００個の命令／制御ワードは、英語で現在存在するものよりも多く、４２，９４９，６７２，９６０個の命令／制御ワードは、組み合わせられた既存の総ての言語で現在存在するものより多い点にも留意を要する。この命令の密度（ｄｅｎｓｉｔｙ）は、豊富な又はリッチな言語が実現される（言葉が表現される）ことを可能にする。多相符号化プロトコルにおける命令／制御ワードに関するこのリッチ性（ｒｉｃｈｎｅｓｓ）は、２つのデータフィールドビット及び２つの命令／制御フィールドビットが使用される場合や、３つのデータフィールドビット及び３つの命令／制御フィールドビットが使用される等の場合に向上する。
【発明を実施するための最良の形態】
【００２０】
図１は、本発明の実施例による多相符号化プロトコル１００の例を示す図である。例示的プロトコル１００は、４０個のフィールドビットを使用し、それは、命令／制御ワード用の１０個のフィールドビット（Ｄ０−Ｄ９）（命令／制御フィールドビット１０２）と、データ、アドレシング及び／又は他の機能用の２２個のフィールドビット（データフィールドビット１０４）と、誤り訂正用の８個のフィールドビット（ＥＣＣフィールドビット１０６）とを含む。命令／制御フィールドビット１０２は、そのプロトコル１００における残余のフィールドビットの意味や機能の情報を保持する。この実施例は、１０個の命令／制御フィールドビットを有し、クロック毎に選択する６，５５３，６００個の命令／制御ワードを有することが可能である。また、４０個のフィールドビットは、（１０個のフィールドビットの）命令／制御フィールドビット１０１の中で、４つの命令／制御ワードと同等視される４つの部分を許容する。４０個のフィールドビットにおける任意のフィールドビットがアクティブな命令／制御フィールドビットを有するならば、その４０個のフィールドビット全体は命令／制御構造を表現する。
【００２１】
本発明の一実施例では、多相符号化プロトコル１００は７相符号化プロトコルである。７相符号化は、クロックエッジにつき、２つのデータフィールドビット又は１つの命令／制御フィールドビットの可能性を有するものとして規定される。７相符号化では、立ち上がりクロックエッジに関連する立ち下がりエッジの落ち込みは、データの２ビット（００，０１，１０，１１）又は１つの命令／制御フィールドビット（０又は１）を規定する。命令／制御フィールドビット１０２は、Ｃ０，Ｃ１ビット定義を包含し、データフィールドビット１０４は、００，０１，１０，１１データフィールドビットに関連する。Ｃ１ビットセットと交互のＣ０ビットセットの全ビットは、アイドル（ＩＤＬＥ）モードを表現する。これは、多相符号化がバススキューを無効化することを可能にする。アイドルモードは、反復的なサイクルで、総てＣ０ビットセットを有するｎ個のラインに続く、１つ又はそれ以上のＣ１ビットセットに関するラインを含む。これは、１クロック期間を超えるバススキューを無効化し得る論理（ロジック）が形成されることを可能にする。
【００２２】
当然に、本発明は多相符号化の相数によって制限されない。例えば、本発明の他の実施例では、多相符号化プロトコル１００は９相符号化プロトコルである。９相符号化は、クロックエッジ毎に、２つのデータフィールドビット又は２つの命令／制御フィールドビットの可能性を有するものとして定められる。立ち上がりクロックエッジに関連する立ち下がりエッジの落ち込みは、データの２ビット（００，０１，１０，１１）又は命令の２ビット（００，０１，１０，１１）を規定する。
【００２３】
また、多相符号化プロトコル１００は１１相符号化プロトコルでもあり得る。１１相符号化は、クロックエッジ毎に、３つのデータフィールドビット又は１つの命令／制御フィールドビットの可能性を有するものとして定められる。立ち上がりクロックエッジに関連する立ち下がりエッジの落ち込みは、データの３ビット（０００，００１，０１０，０１１，１００，１０１，１１０，１１１）又は１つの命令／制御フィールドビット（０，１）を規定する。
【００２４】
更に、多相符号化プロトコル１００は１３相符号化プロトコルでもあり得る。１３相符号化は、クロックエッジ毎に、３つのデータフィールドビット又は２つの命令／制御フィールドビットの可能性を有するものとして定められる。立ち上がりクロックエッジに関連する立ち下がりエッジの落ち込みは、データの３ビット（０００，００１，０１０，０１１，１００，１０１，１１０，１１１）又は命令の２ビット（００，０１，１０，１１）を規定する。これらの説明を理解することにより、本発明による他の多相符号化プロトコルをどのように実現するかは、当業者に明白であろう。
【００２５】
また、本発明は、多相符号化プロトコルを実現する及びバス上のチャネルを同期させるアーキテクチャにも関連する。図２は、本願実施例を実現するのに適切なネットワーク例２００の概念図を示す。ネットワーク例２００は、バス２０６を通じて互いにデータを送信及び受信する少なくとも２つの装置（２０２，２０４）を含む。バス２０６は、装置２０２，２０４の間に接続され、装置２０２，２０４が、多相符号化プロトコル１００を利用しながら互いにデータ及び命令／制御情報をやりとり又は通信することを可能にする。
【００２６】
一実施例では、装置２０２，２０４は、本発明による多くの教示内容を実行することを含むプログラム命令を実行するプロセッサである。例えば、装置２０２，２０４は、カリフォルニア州サンタクララのインテル・コーポレーションから入手可能なペンティアム（登録商標）プロセッサファミリのプロセッサであり得る。２つの装置（２０２，２０４）しか描かれていないが、本願実施例は２以上の装置を利用しても実現され得る。
【００２７】
命令及び／又は制御情報は、任意の時点でデータと共に伝送されることが可能であり、このことはバス２０６の効率を増進する。データ及び命令／制御情報は、（それに続く又は以前の）データがどのように処理されるべきかを定める。より多くのデータ及び命令／制御情報が通信される場合には、（それに続く又は以前の）データがどのように処理されるかも変り得る。
【００２８】
本発明の実施例は、バス２０６上の装置によって通信されるフレームに同期する。図３は、本願実施例による多相符号化プロトコルを利用して、バス構造１００におけるあるラインで伝送するフレーム３００を図示する。図示されている実施例では、２つの立ち上がりエッジ３０２と、データ構造３０４と、少なくとも１つの命令／制御構造３０６と、少なくとも１つの立ち下がりエッジ３０８とがフレーム３００を規定する。立ち上がりエッジ３０２の各々はクロックを示す。フレーム３００（例えば、データ構造３０４、命令／制御構造３０６、及びクロック）は、伝送される搬送波に組み込まれる及びバス２０６を通じて受信されるコンピュータデータ信号であり得る。
【００２９】
データ構造３０４に関連する命令／制御構造３０６は、バス２０６のデータバス上の情報を規定する。クロックは、バス２０６における総てのラインの同期化を定める。命令／制御ワード毎に、データ構造３０４の意味内容は、クロックのその時点で再定義される。フレーム３００の波形の多相符号化は、複数の論理状態及びそれらの機能が、同期クロックとして波形初期の立ち上がりエッジを利用しながら決定されることを可能にする。
【００３０】
伝送における電荷の均衡を図るラインに関しては、立ち上がり及び立ち下がりエッジが反転され得る。例えば、立ち上がり／立ち下がりの反転したもので始まる命令が受信機に送信される。これは、受信機がその論理を反転することをも可能にする。
【００３１】
クロックとデータとの関係は、受信機にて導出及び補償され得る。受信機（２０２，２０４）は、互いにフレーム３００に同期するために１つ又はそれ以上の到来するフレーム３００の位相を調整する。そして、クロックは多相符号化プロトコルに組み込まれる。
【００３２】
一実施例では、立ち下がりエッジ３０８は、立ち下がりエッジ３０８に続く構造が、データ構造３０４又は命令／制御構造３０６であることを示す。立ち下がりエッジ３０８がある所定の地点（３１０，３１２，３１４又は３１６）で生じる場合には、その立ち下がりエッジ３０８に続く構造は、データ構造３０４であり、送信及び受信される情報がデータである。立ち下がりエッジ３０８がフレーム３００の別の所定の地点（３１８又は３２０）で生じる場合には、立ち下がりエッジ３０８に続く構造は命令／制御構造３０６であり、送信及び受信される情報は命令及び／又は制御情報である。立ち下がりエッジ３０８が所定の地点３１８で生じる場合には、命令／制御構造３０６は、ある命令（Ｃ０）を示す。立ち下がりエッジ３０８が所定の地点３２０で生じる場合には、命令／制御構造３０６は、別の命令（Ｃ１）を示す。
【００３３】
データ構造３０４及び命令／制御構造３０６の各々は、所定数のデータ／命令／制御フィールドビットフィールドを含む。各ビットフィールドは、所定数のデータ／命令／制御フィールドビットを含む。一実施例では、データ構造各々が、２つのラインバスにおけるデータの２ビットＤ０，Ｄ１＝又は命令Ｃの１ビットを有する。任意のラインにおける命令セットは、そのバスに命令／制御機能を行なわせる。Ｄ０の第１ラインはＤ１０であり、Ｄ１はＤ１１である。命令／制御フィールドビットはＣ１である。第２ラインはＤ２０及びＤ２１であり、命令／制御フィールドビットはＣ２である。従って、ある時点における別の２データビットと共に、ある時点における各ラインについての命令を考慮すると；
Ｃ１＝０に関する、第２ラインの００乃至１１の範疇にわたるＤ２０Ｄ２１＝４種類；
Ｃ１＝１に関する、第２ラインの００乃至１１の範疇にわたるＤ２０Ｄ２１＝４種類；
Ｃ２＝０に関する、第１ラインの００乃至１１の範疇にわたるＤ１０Ｄ１１＝４種類；
Ｃ２＝１に関する、第１ラインの００乃至１１の範疇にわたるＤ１０Ｄ１１＝４種類；及び
Ｃ１＝０  Ｃ２＝０、Ｃ１＝０  Ｃ２＝１、Ｃ１＝１  Ｃ２＝０、Ｃ１＝１  Ｃ２＝１は４種類である。
【００３４】
本実施例では、命令／制御ワードに関して合計２０種類、４ビットを有する２ラインのデータワードに関して１６種類である。当然に、この概念は、上記の表１に示されるように任意のバス幅に拡張され得る。
【００３５】
また、データ構造３０４及び命令／制御構造３０６は、所定数の誤り訂正及び検出（ＥＣＣ）ビットを含み、そのビットは８Ｂ／１０Ｂ符号化用に使用され得る。ＥＣＣビットは所定のバスに対しては必須ではない。また、１０Ｂ符号化に関し、ＥＣＣは、必須ではなく、バス幅を拡張するために使用され得る。
【００３６】
一実施例では、フレーム３００の最初の伝送内容は、命令／制御構造３０６であり、その構造には、フレーム３００の内容に関する任意の制約を明確にするための付加的な命令／制御構造が続き得る。そして、ＥＣＣビットを含む又は含まないデータ構造３０４のパケットは、フレーム３００に続く。
【００３７】
バス２０６に対する接続部の各々は、ドライバ及び受信機を包含する。ドライバは、送信されるデータを多相符号化フレームに構築する。装置２０２におけるドライバは、装置２０４内の受信機に通じる。装置２０４内のドライバは装置２０２内の受信機に通じる。ドライバ及び受信機は、シングルエンドドライバ（ｓｉｎｇｌｅ  ｅｎｄｅｄ  ｄｒｉｖｅｒ）及び共通の基準ラインを有する差動受信機（ｄｉｆｆｅｒｅｎｔｉａｌ  ｒｅｃｅｉｖｅｒ）であり得る。各受信機がそれ自身のドライバ電圧を無効化し、ドライバインピーダンスが伝送ラインインピーダンスに等しいならば、装置２０２から２０４へのドライバ及び受信機双方は、同一の差動バスに属することが可能である。
【００３８】
従来のネットワークは、システムに入る各チャネルについてクロック抽出を必要とする。データの同期化は、シリアル化解除（ｄｅ−ｓｅｒｉａｌｉｚａｔｉｏｎ）後に行なわれる。各チャネルはそれ自身のクロックドメインであるので、総てのチャネルが何らかの内部クロックに同期しなければならない。本発明の実施例によれば、ネットワーク２００は、位相ロックループ（ＰＬＬ）又は受信データ若しくは命令／制御に関するポスト（ｐｏｓｔ）シリアル化解除法によらず、システムクロック及び同期化を与える。例えば、チャネル同士の同期化は、１ビット乗算フリップフロップを利用しながら同相に維持される遅延ロックループ（ＤＬＬ：ｄｅｌａｙ−ｌｏｃｋ  ｌｏｏｐ）により達成される。１ビット乗算器フリップフロップは、スレーブのＤＬＬ装置へのフィードバックを与える相関要素として使用される。マスタＤＬＬ出力は、システムクロックを提供する。１ビット乗算器フリップフロップにより実現される各スレーブＤＬＬの同期化は、マスタＤＬＬに対する正確な位相追跡を可能にする。総ての命令／制御構造及びデータ構造は、システムクロックに同期する。
【００３９】
図４は、本発明の実施例による差動受信機例４００の概念図であり、差動増幅器４０２が、差動データ入力から共通オフセット電圧を抽出し、その結果を差動ＤＬＬ４０４に及びそれがバスの第１ラインならばＣＬＫｒｅｆに送信する。Ｖｆｒｅｑ電圧４０８は、電流調整又はステアリングトランジスタ４１０，４１２の充電又は放電により、ＤＬＬを介する遅延が、差動データ入力の立ち上がりエッジから差動データ入力の次の立ち上がりエッジまでの期間に等しくなるように自ら設定する。差動ＤＬＬ４０４のタップは、図示されているように、遷移期間の中間にある。
【００４０】
あるシステムでは、差動ＤＬＬ４０２へのノイズ結合に配慮され、ガードリングが充分でない場合に、分割／Ｍ論理４１４が周波数を計測又はカウントダウンし、差動受信機４００の基板へのバイアス電流が僅かに負に設定されるようにする。これは、ＤＬＬにつきピックアップされるチップ間干渉及びＰＬＬ段を減らす。
【００４１】
受信端では、各受信機がそれ自身のデータをバス２０６から抽出する。そして、受信機は、プロトコル組み込み済みデータ又は命令を抽出するためのクロックエッジとして、データ内の立ち上がりエッジ３０２を使用する。このプロセスは、クロック−データ間のスキュー（ずれ）及びジッタを解消する、というのは、その立ち上がりエッジ３０２は、立ち上がりエッジ３０２に続く組み込まれるデータを定式化又はフォーマット化するために使用されているからである。
【００４２】
これらの特徴は、いくつかの光ファイバからの良好なデータ抽出を行なうための位相整合性を与える。また、これらの特徴は、従来の８Ｂ／１０Ｂ符号化システムに必要とされていた付加的なオーバヘッドなしに、非常に広範な帯域が達成されることを可能にする。  これは、データ経路を動かす、光学的バス２０６に結合される複数のファイバが、データャネルによる遅延の障害となっているためである。
【００４３】
一実施例では、バス２０６は装置（２０２，２０４）間に接続され、多相符号化プロトコルでデータ及び制御情報を通信する。この実施例では、多数の論理状態及びそれらの機能が、フレーム初期の立ち上がりエッジを同期クロックとして使用しながら決定されることをフレームの複数の相が可能にするように、各フレームは符号化される。各装置（１０２，１０４）は、送信前にデータを符号化し、受信時に符号化されたデータをデコードする。
【００４４】
各フレームは２つの立ち上がりエッジによって規定される。立ち上がりエッジはシステムクロックを生成する。立ち下がりエッジの時点は、フレームの内容を規定する。フレームは、データゾーン（例えば、６つのデータゾーン）に更に分割される。立ち下がりエッジはデータゾーンの内の１つに落ちる。データゾーンは、００，０１，１０，１１，コマンド０，コマンド１として規定される。立ち下がりエッジは、その立ち上がりエッジ（クロック）に関するある状態から次の状態への線形な進行である。エッジ位置の不定性を補償するために、ウインドウ関数が使用され得る。
【００４５】
図５は、本発明の実施例による７相駆動シーケンサ５００の概念図である。駆動シーケンサ例５００は、７つの差動入出力増幅器５０２，５０４，５０６，５０８，５１０，５１２，５１４を有し、これらは、複数のゲート５１６，５１８，５２０，５２２，５２４，５２６，５２８を利用して、送信用のシーケンスデータワード及び／又は命令／制御ワードに対する７相ＰＬＬを形成する。データワード及び／又は命令／制御ワードは、送信レジスタに与えられる。７つの相は、位相Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ及びＲによってそれぞれ表現される。Ｒ位相はフリップフロップ５３２を高又はハイ状態に設定する。データＤ０及びＤ１の２ビットは、適切な位相でフリップフロップ５３２をリセットし、又は送信レジスタ５３０に対するＤ／Ｃ入力が命令又はコマンドに設定されているならば、Ｃ０ビットが命令／制御出力に対する位相を設定する。
【００４６】
図６は、本発明の実施例による差動ドライバ例６００の概念図である。ドライバシーケンス５００の出力は差動ドライバ６００に送信され、差動ドライバは、その物理的なバスと同一のインピーダンスを有するバスに多相符号化フレームを出力する。フリップフロップ５３２の低駆動電圧は、差動ドライバ６００電圧ＶＣＣと同一のポテンシャルにおけるものである。これは、差動ドライバ６００が、高速出力特性により飽和しないことを可能にする。トランジスタ６１０，６１２にそれぞれ接続されるＶｉｂｉａｓＨ及びＶｉｂｉａｓＬは、特性基板インピーダンス値を有する外部抵抗（図示せず）から導出される。
【００４７】
図７は、本発明の実施例による光学的なバス同期化を実現するための方法７００を示すフローチャートである。ステップ７０２は、データ構造、命令構造、及びクロック構造より成るフレームを受信装置に送信する。データ構造は所定数のデータフィールドビットと共に符号化され、命令構造は所定数の命令／制御フィールドビットと共に符号化される。フレームは立ち上がりエッジ及び立ち下がりエッジを包含する。立ち下がりエッジは、特定の立ち下がりエッジの後に続くものがデータ構造又は命令構造の何れであるかを示し、フレーム中のある所定の場所における立ち下がりエッジの落ち込みは、それに続くものがデータ構造であること、及び別の所定の場所におけるものを示すようにする。立ち上がりエッジはクロック構造を示す。
【００４８】
ステップ７０４は、フレームを受信し、互いにフレームを同期させるためにそのクロックを利用する。受信機はフレームからそのデータを抽出し、及びその立ち上がりをクロックエッジとして利用し、組み込まれているデータ又は命令／制御情報を抽出する。
【００４９】
多相符号化プロトコル及びバスチャネルの同期化は、様々なバスにて実現され得る。例えば、多相符号化プロトコル及びバスチャネルの同期化は、光学的バス、通信バス、検査バス等にて実現され得る。本説明を理解することで、当業者は、多相符号化プロトコルをどのように実現するか、これらのバスにおけるバスチャネルをどのように同期させるかを十分に理解するであろう。
【００５０】
本発明の実施態様は、ハードウエア、ソフトウエア又はハードウエア及びソフトウエアの組合せを用いて実現され得る。そのような実施態様は、ステートマシーン（ｓｔａｔｅ  ｍａｃｈｉｎｅ）、フィールドプログラムゲートアレイ（ＦＰＧＡ）、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、個別媒体スケール集積（ＭＳＩ）回路、アナログ回路等を包含する。ソフトウエアを用いる実施態様では、そのソフトウエアは、（光ディスク、磁気ディスク、フロッピディスク等のような）コンピュータプログラムプロダクト又は（光ディスクドライブ、磁気ディスクドライブ、フロッピディスクドライブ等のような）プログラム記憶媒体に格納され得る。
【００５１】
本願実施例に関する上記の説明は、総てを列挙すること又は説明した詳細な形態に本発明を限定することを意図しない。例えば本発明の特定の実施例は説明の目的で例示されており、当業者が理解するように、本発明の範疇で様々な等価的な修正がなされ得る。これらの修正は、上記の詳細な説明により本発明になされ得る。
【図面の簡単な説明】
【００５２】
【図１】本発明の実施例によるマルチフェーズ符号化プロトコル例を示す図である。
【図２】本発明を実現するのに適切なネットワーク例の概念図である。
【図３】本発明の実施例による図２のバスにおけるラインにてマルチフェーズ符号化されたフレームを示す図である。
【図４】本発明の実施例による差動受信機例の概念図である。
【図５】本発明の実施例による７相駆動シーケンサの概念図である。
【図６】本発明の実施例による差動ドライバ例の概念図である。
【図７】本発明の実施例による光学的バス同期化を実行するための方法を示すフローチャートである。
【図１】
0004544858.tif 000003
【図２】
0004544858.tif 000004
【図３】
0004544858.tif 000005
【図４】
0004544858.tif 000006
【図５】
0004544858.tif 000007
【図６】
0004544858.tif 000008
【図７】
0004544858.tif 000009