(57)【要約】【課題】通信リンクにおいて帯域幅制御を実施するための方法及び装置を提供する。【解決手段】通信リンクのためのセットされたリンク構成が、データ・エンベロープを送信するのに必要な数のクロック・サイクルを設定する。制御機能部が、データ・エンベロープ送信のための固定サイクルの境界に、データ・パケットの開始を揃える。この制御機能部はデータ・パケットの開始を１６バイト・フィールドの同じバイトにアライメントする。この制御機能部はメモリ管理入出力（ＭＭＩＯ）レジスタ１３２及びカウンタ１３４を実装し、その通信リンク１１２、１２２の送信側がデータ・パケット送信のペーシング、または固定サイクルの境界に全てのデータ・パケットを揃えることによって帯域幅の制御を可能にする。【選択図】図１
2007300612.tif 000002
【特許請求の範囲】
【請求項１】
通信リンクにおいて帯域幅制御を実施する方法であって、
データ・エンベロープを送信するのに必要なクロック・サイクルの数を設定するために前記通信リンクのためのセットされたリンク構成を用いるステップと、
固定サイクルの境界に各データ・パケットの開始を揃えるための制御機能部を準備するステップと
を含む方法。
【請求項２】
前記通信リンクのためのセットされたリンク構成を用い、前記データ・エンベロープを送信するのに必要なリンク構成ペーシング論理部を準備するステップ
を含む請求項１に記載の方法。
【請求項３】
前記制御機能部をメモリ管理入出力（ＭＭＩＯ）レジスタおよびカウンタを用いて実装するステップを含む、請求項１に記載の方法。
【請求項４】
前記ＭＭＩＯレジスタに閾値を記憶するステップを更に含む、請求項３に記載の方法。
【請求項５】
前記ＭＭＩＯレジスタにセットされた閾値に達するまでクロック・サイクルごとに前記カウンタを増分するステップを更に含む、請求項４に記載の方法。
【請求項６】
前記閾値に達することに応答して、データ・エンベロープの送信を開始できることを知らせるパルスを生成するステップを更に含む、請求項５に記載の方法。
【請求項７】
前記パルスを受取ると次のクロック・サイクルで前記データ・エンベロープの送信を開始するステップを更に含む、請求項６に記載の方法。
【請求項８】
前記カウンタをゼロにリセットし、前記ＭＭＩＯレジスタにセットされた前記閾値に達するまで前記カウンタを増分するステップを更に含む、請求項６に記載の方法。
【請求項９】
前記制御機能部は複数バイト・フィールドの規定のバイトに前記データ・パケットの前記開始を揃える、請求項１に記載の方法。
【請求項１０】
通信リンクにおいて帯域幅制御を実施する装置であって、
データ・エンベロープを送信するのに必要なクロック・サイクルの数を、前記通信リンクのためのセットされたリンク構成に基づいて設定するためのリンク構成ペーシング論理部と、
固定サイクルの境界に各データ・パケットの開始を揃えるための制御機能部と
を含む装置。
【請求項１１】
前記制御機能部はメモリ管理入出力（ＭＭＩＯ）レジスタおよびカウンタで実装される、請求項１０に記載の装置。
【請求項１２】
前記ＭＭＩＯレジスタが閾値を記憶している、請求項１１に記載の装置。
【請求項１３】
前記ＭＭＩＯレジスタにセットされた前記閾値に達するまでクロック・サイクルごとに前記カウンタが増分される、請求項１２に記載の装置。
【請求項１４】
前記制御機能部は、カウンタの値が前記閾値に一致することに応答して、データ・エンベロープの送信を開始できることを知らせるパルスを生成する、請求項１３に記載の装置。
【請求項１５】
前記カウンタの値が前記閾値に一致することに応答して前記カウンタがゼロにリセットされ、かつＭＭＩＯレジスタにセットされた前記閾値に達するまで前記カウンタがクロック・サイクルごとに増分される、請求項１３に記載の装置。
【請求項１６】
前記制御機能部は、前記パルスを受取ると次のクロック・サイクルで
データ・エンベロープの送信を開始する、請求項１４に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理分野に関し、特にプロセッサ入出力（Ｉ／Ｏ）インターフェースもしくは他のインターフェースなどの通信リンクにおいて帯域幅（バンド幅）制御を実施するための方法および装置に関する。
【背景技術】
【０００２】
より広いデータフローを必要とする通信リンク上で帯域幅は増加し続けている。その結果、受信側の論理（ロジック）が一層複雑になり続け、設計問題の影響を一層受け易くなっている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
例えば、クロック・サイクルごとに１６バイトのデータを受信する従来の通信リンクの設計は、１個のデータ・パケットの開始を該１６バイトのどこかに揃えることができる。また該１６バイトのデータは１個のデータ・パケットの終わりと別の１個のデータ・パケットの始めの両方を含むことができる。この結果、受信側の論理部が複雑になり、また設計上の問題の起こる可能性が高まった。
【０００４】
このように、通信リンクに要求される受信論理部を著しく簡素化する能力を提供する効果的な機構が必要である。
【課題を解決するための手段】
【０００５】
本発明の主たる側面は、通信リンクにおける帯域幅制御のペーシングおよびエンベロープ（メッセージの一部分）のアライメント（位置合わせ）を実施するための方法および装置を提供することにある。本発明の他の重要な側面は、実質的にマイナスの効果なしに、また従来技術の欠点の多くを克服する帯域幅制御を実施するための方法および装置を提供することにある。
【０００６】
要するに、通信リンクにおいて帯域幅制御を実施するための方法および装置が提供される。その通信リンクのためにセットされたリンク構成はデータ・エンベロープを送信するのに必要な数のクロック・サイクルを設定する。制御機能部が、データ・エンベロープの伝送ないし送信のために固定サイクルの境界にデータ・パケットの開始を揃える（合わせる）。
【０００７】
本発明の特徴によれば、データ・エンベロープを送信するのに必要なクロック・サイクルの数を設定することによってリンク構成ペーシング論理部がデータ・エンベロープをペーシングするセット・リンク構成を用いる。この制御機能部は１６バイト・フィールドの同じバイトでデータ・パケットの開始を揃える。この制御機能部はメモリ管理入出力（ＭＭＩＯ）レジスタおよびカウンタが実装され、通信リンクの送信側が、全てのデータ・パケットを固定サイクルの境界に揃えることによって、パケット送信のペーシングまたは帯域幅を制御できるようにする。
【０００８】
本発明の特徴によれば、カウンタはＭＭＩＯレジスタにセットされた閾値に達するまでクロック・サイクルごとに増分（インクリメント）する。この閾値に達すると、データ送信を開始することができるという知らせを送るためにパルスが生成され、そのパルスを受取った場合に限り該クロック・サイクルでデータ送信が開始する。
【０００９】
前記および他の目的および効果とともに本発明は以下の詳細な説明および図面に示される本発明の好適な実施例から一層理解されよう。
【発明を実施するための最良の形態】
【００１０】
本発明の特徴によれば、通信リンクの送信側が全てのデータ・パケットを固定サイクルの境界に揃えることによって帯域幅の制御もしくは絞りを行うことができるような方法および装置が提供される。この制御機能はデータ・パケットの一貫した整列を強制しあるいはデータ・パケット送信のペーシングを制御するのに使用される。その帯域幅を制御する能力は重要な利点である。それは受信側の論理部を簡素化するのを可能にし、また受信側の論理部の問題を調整する能力を可能とする。
【００１１】
ここで図面を参照する。図１は、本発明の好適な実施例に従い、参照番号１００で全体を示した例示のシステムである。システム１００は第１のチップ１０２および第２のチップ１０４を備える。
【００１２】
第１のチップ１０２はデータ・バッファ１０６を備え、そこにはエンベロープを構成するＰＬＧ０、ＰＬＧ１、ＰＬＧ２、ＰＬＧ３からなる複数の物理層グループ（ＰＬＧ）１０８を含む。システム１００では、一つのデータ・パケットが、例えば４つの１４４ビットＰＬＧを含むエンベロープからなる。第１のチップ１０２には、第２のチップ１０４に通信リンク１１２を介してデータ・パケット即ちエンベロープを送信するために、データ・バッファ１０６に結合されたＴＸ０ないしＴＸ５からなる複数の送信部１１０を含む送信側がある。
【００１３】
第２のチップ１０４は受信側を含み、通信リンク１１２に結合され、かつデータ・バッファ１１６に結合された、ＲＸ０ないしＲＸ５からなる複数の受信部１１４を備える。
【００１４】
図１に示すように、第２のチップ１０４は送信側をも含む。そこにはデータ・バッファ１１８と、ＴＸ０ないしＴＸ５よりなる複数の送信部１２０がある。それらの送信部１２０はデータを第１のチップ１０２に送信するために通信リンク１２２に結合される。第１のチップ１０２は受信側を含み,そこにはＲＸ０ないしＲＸ５からなる複数の受信部１２４を含む。それらの受信部１２４は通信リンク１２２に結合され、かつデータ・バッファ１２６にも結合される。
【００１５】
本発明の特徴によれば、リンク構成ペーシング論理部１３０が通信リンク１１２のためのリンク構成を用いて、第２のチップ１０４に通信リンク１１２を介してエンベロープを送信するのに必要なＢＣＬＫサイクルの数を設定する。第１のチップ１０２及び第２のチップ１０４の特定の配列、またはシステム１００の特定のアプリケーションに基づき、特定のリンク構成が提供される。
【００１６】
図３および図４も参照すると、例えば４つの１４４ビットＰＬＧを含むエンベロープの場合は、通信リンク１１２のための６バイトのリンク構成が一つのエンベロープを送信するために４個のＢＣＬＫサイクルを必要とする。５バイトのリンクは５個のＢＣＬＫサイクルを必要とし、４バイトのリンクは６個のＢＣＬＫサイクルを必要とする。また3バイトのリンクは8個のＢＣＬＫサイクルを必要とし、２バイトのリンクは１２個のＢＣＬＫサイクルを必要とする。また１バイトのリンクでは２４個のＢＣＬＫサイクルを必要とする。
【００１７】
本発明の特徴によれば、リンク構成ペーシング論理部１３０は、好適な実施例のメモリ管理入出力レジスタ（ＭＭＩＯレジスタ）１３２およびカウンタ１３４に結合される。ＭＭＩＯレジスタ１３２およびカウンタ１３４は両者で次のような制御機能を行う。即ち通信リンク１１２の送信側が、全てのデータ・パケットを固定サイクルの境界に揃えることにより帯域幅を制御しまたは絞るのを許容するような制御機能である。この制御機能はデータ・パケットの一貫した整列を強制的に行い、かつデータ・パケット送信のペーシングを制御するのに使用される。
【００１８】
本発明の特徴によれば、ＭＭＩＯレジスタ１３２にセットされた閾値に達するまでＢＣＬＫサイクルごとにカウンタ１３４が増分する。この閾値に達すると、図３および図４でＳＥＮＤ＿ＥＮＶと名づけた線で示すように、送信を開始できることを送信側の論理部に知らせるようにパルスが生成される。そのパルスを受取るとＢＣＬＫサイクルでのみその送信を開始することができる。その内部のカウンタ１３４はその閾値に達するときゼロにリセットされ、次のＢＣＬＫサイクルで再び増分が始まる。 
【００１９】
本発明の特徴によれば、ＭＭＩＯレジスタ１３２は、通信リンク１１２上でエンベロープ送信が開始するＢＣＬＫサイクル粒度（細分度）を制御する８ビットＭＭＩＯフィールドなどを記憶する。或るエンベロープが送信途中（ペンディング）である任意のときに送信が始まるという従来の動作の代わりに、このフィールドにセットされた値プラス１の倍数であるサイクルの境界でのみエンベロープの送信が始まる。
【００２０】
例えば、通信リンク１１２が６バイトのリンクであるように構成され、かつこのフィールドの値がｘ‘０５’にセットされているなら、新しいエンベロープはサイクルｎ、ｎ＋６、ｎ＋１２、ｎ＋１８等でのみ送信される。エンベロープが６バイト・リンクで送信するために４個のＢＣＬＫサイクルのみを必要とするので、エンベロープ相互間に最小で２個のＢＣＬＫサイクルかまたは６個のリンク・サイクルが常にある。
【００２１】
ＭＭＩＯレジスタ１３２及びカウンタ１３４が実装された制御機能部はエンベロープ相互間のＢＣＬＫサイクルが何もなしにエンベロープを連続して送信するかまたはエンベロープを阻止する（壁となって立ちはだかる）能力を提供する。例えば、もしリンクが４バイト・リンクに構成され、かつそのＭＭＩＯフィールドの値がｘ‘０５’にセットされるなら、新しいエンベロープは６個のＢＣＬＫサイクルごとに送信され得る。エンベロープが４バイト・リンク上で送信するのに６個のＢＣＬＫサイクルしか必要としないので、エンベロープ相互間になんらＢＣＬＫサイクルが生じない。
【００２２】
ＭＭＩＯレジスタ１３２は例えば８ビットＭＭＩＯレジスタを用いて実装され、またカウンタ１３４は例えば８ビット内部カウンタを用いて実装される。
【００２３】
図２も参照すると、これは本発明の実施例に従うデバッグおよび帯域幅制御のためのエンベロープ整列およびペーシングを行うためのシステム１００の例示的な動作を示す状態図である。
【００２４】
ＲＥＳＥＴと示すリセット入力およびＤＡＴＡ＿ＡＶＡＩＬＡＢＬＥ＝０と示す、データ使用可能入力に応答して、参照番号２０２で示すアイドル状態００に入る。このアイドル００、２０２では、ＳＴＡＲＴ  ＩＮＣＲＥＭＥＮＴＩＮＧ  ＡＬＩＧＮＭＥＮＴ＿ＣＯＵＮＴと示すように、カウンタ１３４の増分が行われる。
【００２５】
ＤＡＴＡ＿ＡＶＡＩＬＡＢＬＥ＝１と示す、データ使用可能入力に応答して、参照番号２０４で示す制御状態０１に入る。制御状態０１、２０４では、カウンタ１３４が、ＡＬＩＧＮＭＥＮＴ＿ＲＥＧ／＝ＡＬＩＧＮＭＥＮＴ＿ＣＯＵＮＴと示すように、ＭＭＩＯレジスタ１３２にセットされた閾値に達するまでＢＣＬＫサイクルごとに増分される。
【００２６】
ＡＬＩＧＮＭＥＮＴ＿ＲＥＧ＝ＡＬＩＧＮＭＥＮＴ＿ＣＯＵＮＴ  
ＲＥＳＥＴ  ＡＬＩＧＮＭＥＮＴ＿ＣＯＵＮＴ  ＡＮＤ  ＳＴＡＲＴ  ＩＮＣＲＥＭＥＮＴＩＮＧ  と示すように、ＭＭＩＯレジスタ１３２にセットされた閾値にカウンタ１３４が達するのに応答して、参照番号２０６で示すエンベロープ送信状態１０に入る。このエンベロープ送信状態１０、２０６で送信が始まる。
【００２７】
図３および図４は、本発明の好適な実施例によるデバッグ、ならびに帯域幅制御のための制御およびペーシングを実施するためのシステム１００における通信リンク１１２の複数の例示的なリンク構成のための例示的な動作を示すタイミング図である。
【００２８】
図３および図４では、ＢＣＬＫおよびＢＣＬＫサイクルを図の頂部付近に示す。通信リンク１１２の図示した例示的なリンク構成ごとに、データ使用可能信号を  ＤＡＴＡ＿ＡＶＡＩＬＡＢＬＥ  と名づけた線で示す。次いで、ＭＭＩＯレジスタ１３２およびカウンタ１３４の値を個々の線のところに  ＡＬＩＧＮＭＥＮＴ＿ＲＥＧＩＳＴＥＲ（０：７）および  ＡＬＩＧＮＭＥＮＴ＿ＣＯＵＮＴ（０：７）と名づけて示す。ＭＭＩＯレジスタ１３２およびカウンタ１３４が一致すると、送信を開始することができることを知らせるパルスが生成される。これはＳＥＮＤ＿ＥＮＶと名づけた線のところに示す。次いで、ＥＮＶ＿ＤＡＴＡ（０：１４３）と名づけた線でエンベロープの送信を示す。
【００２９】
図３で次に示すのは、ＭＭＩＯレジスタ値がｘ‘００‘にセットされて、アライメント機能が使用不可にされる場合の６リンク構成である。
【００３０】
図３で次に示すのは、ＭＭＩＯレジスタ値がｘ‘０６‘にセットされ、アライメント機能が使用可能にされる場合の６リンク構成である。ＡＬＩＧＮＭＥＮＴ＿ＣＯＵＮＴ（０：７）が０６に等しくなって、ＡＬＩＧＮＭＥＮＴ＿ＲＥＧＩＳＴＥＲ（０：７）のためにセットされた値に一致すると、線ＳＥＮＤ＿ＥＮＶで送信を開始できることを知らせるパルスが生成される。
【００３１】
図３で次に示すのは、ＭＭＩＯレジスタ値がｘ‘０７‘にセットされ、アライメント機能が使用可能にされる場合の５リンク構成である。ＡＬＩＧＮＭＥＮＴ＿ＣＯＵＮＴ（０：７）が０７に等しくなって、ＡＬＩＧＮＭＥＮＴ＿ＲＥＧＩＳＴＥＲ（０：７）のためにセットされた値に一致すると、線ＳＥＮＤ＿ＥＮＶで送信を開始できることを知らせるパルスが生成される。
【００３２】
図３で次に示すのは、ＭＭＩＯレジスタ値がｘ‘０８‘にセットされ、アライメント機能が使用可能にされる場合の４リンク構成である。ＡＬＩＧＮＭＥＮＴ＿ＣＯＵＮＴ（０：７）が０８に等しくなって、ＡＬＩＧＮＭＥＮＴ＿ＲＥＧＩＳＴＥＲ（０：７）のためにセットされた値に一致すると、線ＳＥＮＤ＿ＥＮＶで送信を開始できることを知らせるパルスが生成される。
【００３３】
図４で示すのは、ＭＭＩＯレジスタ値がｘ‘１０‘にセットされ、アライメント機能が使用可能にされる場合の３リンク構成である。ＡＬＩＧＮＭＥＮＴ＿ＣＯＵＮＴ（０：７）が１０に等しくなって、ＡＬＩＧＮＭＥＮＴ＿ＲＥＧＩＳＴＥＲ（０：７）のためにセットされた値に一致すると、線ＳＥＮＤ＿ＥＮＶで送信を開始できることを知らせるパルスが生成される。
【００３４】
図４で次に示すのは、ＭＭＩＯレジスタ値がｘ‘１０‘にセットされ、アライメント機能が使用可能にされる場合の２リンク構成である。ＡＬＩＧＮＭＥＮＴ＿ＣＯＵＮＴ（０：７）が１０に等しくなって、ＡＬＩＧＮＭＥＮＴ＿ＲＥＧＩＳＴＥＲ（０：７）のためにセットされた値に一致すると、線ＳＥＮＤ＿ＥＮＶで送信を開始できることを知らせるパルスが生成される。
【００３５】
図４で次に示すのは、ＭＭＩＯレジスタ値がｘ‘１Ｆ‘にセットされ、アライメント機能が使用可能にされる場合の１リンク構成である。ＡＬＩＧＮＭＥＮＴ＿ＣＯＵＮＴ（０：７）が１Ｆに等しくなって、ＡＬＩＧＮＭＥＮＴ＿ＲＥＧＩＳＴＥＲ（０：７）のためにセットされた値に一致すると、線ＳＥＮＤ＿ＥＮＶで送信を開始できることを知らせるパルスが生成される。
【００３６】
本発明を図面に示す本発明の実施例の詳細に沿って説明してきたが、特許請求の範囲に示すとおり、これらの詳細は本発明の範囲を限定するつもりはない。
【図面の簡単な説明】
【００３７】
【図１】本発明の実施例によるデバッグならびに帯域幅制御のためにエンベロープのアライメントおよびペーシングを行う、例示的なシステムを示す高レベル・システム・ダイアグラムである。
【図２】本発明の実施例によるデバッグならびに帯域幅制御のためにエンベロープのアライメントおよびペーシングを行う、図１のシステムの例示的な動作を示す実施例の状態図である。
【図３】本発明の実施例によるデバッグならびに帯域幅制御のためにエンベロープのアライメントおよびペーシングを行う、図１の通信リンク・システムの複数の例示的なリンク構成のための例示的な動作を示すタイミング図である。
【図４】本発明の実施例によるデバッグならびに帯域幅制御のためにエンベロープのアライメントおよびペーシングを行う、図１の通信リンク・システムの複数の例示的なリンク構成のための例示的な動作を示すタイミング図である。
【符号の説明】
【００３８】
１００  システム
１０２  第１のチップ
１０４  第２のチップ
１０６、１１６、１１８、１２６  データ・バッファ
１０８  物理層グループ（ＰＬＧ）
１１０、１２０  送信部
１１２、１２２  通信リンク
１１４、１２４  受信部
１３０  リンク構成ペーシング論理部
１３２  メモリ管理入出力レジスタ（ＭＭＩＯレジスタ）
１３４  カウンタ
【図１】
2007300612.tif 000003
【図２】
2007300612.tif 000004
【図３】
2007300612.tif 000005
【図４】
2007300612.tif 000006