(57)【要約】肯定応答の実行方法、送信するとすればその送信時期、さらに送信時の位置は、システムの性能に影響を与える可能性がある。構成可能なポスティング・ポイント（４１０、４２２、４１６）を使用する通信システム（４００）および方法について説明した。
2005524891.tif 000002
【特許請求の範囲】
【請求項１】
通信システム内にポスティング・ポイントを設定することを含む方法。
【請求項２】
前記ポスティング・ポイントは、前記通信システム内の任意の位置に設定できる請求項１に記載の方法。
【請求項３】
ポスティング・ポイントを設定することは、さらに、イニシエータ、マスタ、相互接続、第２の通信システム、前記通信システム、ターゲット、スレーブからなるグループから選択された要素を構成することを含む請求項１に記載の方法。
【請求項４】
ポスティング・ポイントを設定することに、前記通信システムの製作時にポスティング・ポイントを設定することを含む請求項１に記載の方法。
【請求項５】
ポスティング・ポイントを設定することは、静的にポスティング・ポイントを設定することである請求項１に記載の方法。
【請求項６】
ポスティング・ポイントを設定することは、動的にポスティング・ポイントを設定することである請求項１に記載の方法。
【請求項７】
前記ポスティング・ポイントは、バースト内の要求の位置によって異なる請求項１に記載の方法。
【請求項８】
さらに、前記ポスティング・ポイントからの応答を含む請求項１に記載の方法。
【請求項９】
ポスティング・ポイントからの応答は、イニシエータ、マスタ、相互接続、通信システム、前記通信システム、ターゲット、スレーブからなるグループから選択された要素により決定される請求項８に記載の方法。
【請求項１０】
前記ポスティング・ポイントは、書込みオペレーションのためである請求項１に記載の方法。
【請求項１１】
さらに、混合書込みバーストを含む請求項１０に記載の方法。
【請求項１２】
前記ポスティング・ポイントは、位置を構成可能であり、バースト内の書込みが、ポステッドまたは非ポステッド書込みとして個別に構成できる請求項１１に記載の方法。
【請求項１３】
前記ポスティング・ポイントは、複数のポスティング・ポイントであり、それぞれの個別ポスティング・ポイントはイニシエータ別、ターゲット別、ロジック・セクション別、サブシステム別、グローバル別からなるグループから選択された基準に応じて設定することができる請求項１に記載の方法。
【請求項１４】
一組の命令を実行すると請求項１の方法を実行するプロセッサを備える処理システム。
【請求項１５】
実行されると請求項１の方法を実行する命令が格納されている機械可読媒体。
【請求項１６】
入力と出力を備えるイニシエータと、
入力と出力を備え、前記入力はイニシエータからの出力を受け取るように結合され、前記出力はイニシエータの前記入力に送るように結合されている通信システムとを備える装置。
【請求項１７】
前記通信システムは、さらに、１つまたは複数のポスティング・ポイントを備える請求項１６に記載の装置。
【請求項１８】
前記１つまたは複数のポスティング・ポイントは、前記通信システムに結合されている請求項１７に記載の装置。
【請求項１９】
前記通信システムへの結合は、前記通信システムの入力、前記通信システムの出力、通信システムの第２の入力、通信システムの第２の出力からなるグループから選択されたリンクへの結合である請求項１８に記載の装置。
【請求項２０】
前記通信システムへの結合は、前記通信システム内の任意の場所に配置されるリンクへの結合である請求項１８に記載の装置。
【請求項２１】
リンクへの結合は前記リンク上の任意の位置での結合である請求項２０に記載の装置。
【請求項２２】
請求項１６の装置を表す情報が格納されている機械可読媒体。
【請求項２３】
入力と出力を備えるターゲットと、
入力と出力を備え、前記入力はターゲットからの出力を受け取るように結合され、前記出力はターゲットの入力に送るように結合されている通信システムとを備える装置。
【請求項２４】
前記通信システムは、さらに、１つまたは複数のポスティング・ポイントを備える請求項２３に記載の装置。
【請求項２５】
１つまたは複数のポスティング・ポイントは、前記通信システムに結合されている請求項２４に記載の装置。
【請求項２６】
前記通信システムへの結合は、前記通信システムの入力、前記通信システムの出力、通信システムの第２の入力、通信システムの第２の出力からなるグループから選択されたリンクへの結合である請求項２５に記載の装置。
【請求項２７】
前記通信システムへの結合は、前記通信システム内の任意の場所に配置されるリンクへの結合である請求項２５に記載の装置。
【請求項２８】
前記リンクへの結合は、前記リンク上の任意の位置での結合である請求項２７に記載の装置。
【請求項２９】
請求項２３の装置を表す情報が格納されている機械可読媒体。
【請求項３０】
入力と出力を備えるイニシエータと、
第１の入力、第１の出力、第２の入力、第２の出力を備え、前記第１の入力は前記イニシエータの出力を受け取るように結合され、前記第１の出力は前記イニシエータの入力に送るように結合されている通信システムと、
入力と出力を備え、前記入力は通信システムからの第２の出力を受け取るように結合され、前記出力は前記通信システムの第２の入力に送るように結合されているターゲットとを備える装置。
【請求項３１】
前記通信システムは、さらに、１つまたは複数のポスティング・ポイントを備える請求項３０に記載の装置。
【請求項３２】
前記１つまたは複数のポスティング・ポイントは、前記通信システムに結合されている請求項３１に記載の装置。
【請求項３３】
前記通信システムへの結合は、前記通信システムの第１の入力、前記通信システムの第１の出力、前記通信システムの第２の入力、前記通信システムの第２の出力からなるグループから選択されたリンクへの結合である請求項３２に記載の装置。
【請求項３４】
前記通信システムへの結合は、前記通信システム内の任意の場所に配置されるリンクへの結合である請求項３２に記載の装置。
【請求項３５】
前記リンクへの結合は、前記リンク上の任意の位置での結合である請求項３４に記載の装置。
【請求項３６】
請求項３０の装置を表す情報が格納されている機械可読媒体。
【請求項３７】
通信システム内にポスティング・ポイントを設定する手段を備える装置。
【請求項３８】
さらに、前記通信システムの作成時に前記ポスティング・ポイントを設定する手段を備える請求項３７に記載の装置。
【請求項３９】
さらに、前記ポスティング・ポイントを静的に設定する手段を備える請求項３７に記載の装置。
【請求項４０】
さらに、前記ポスティング・ポイントを動的に設定する手段を備える請求項３７に記載の装置。
【請求項４１】
請求項３７の装置を表す情報が格納されている機械可読媒体。
【請求項４２】
作動すると、
入力信号を受信することと、
前記入力信号をポスティング・ポイントに転送することを実行する回路を備えるシステム。
【請求項４３】
さらに、前記入力信号を受け取ったポスティング・ポイントへの応答として出力信号を生成することを含む請求項４２に記載のシステム。
【請求項４４】
さらに、前記入力信号を送信するように結合されている出力を備えるマスタを備える請求項４２に記載のシステム。
【請求項４５】
さらに、前記入力信号を出力と入力を備えるスレーブとに転送することを含み、前記入力は前記出力を受け取るように結合されている請求項４２に記載のシステム。
【請求項４６】
さらに、支払いおよび／またはクレジットを転送することを含む請求項４２に記載のシステム。
【請求項４７】
ポスティング・ポイントをその場で構成するための方法であって、
構成のための信号を入力することと、
構成のための前記信号をポスティング・ポイント・コマンドに変換することと、
前記ポスティング・ポイント・コマンドを前記ポスティング・ポイントに送信することと、
前記ポスティング・ポイント・コマンドを前記ポスティング・ポイントで受信することと、
前記受信されたポスティング・ポイント・コマンドを実行することとを含む方法。
【請求項４８】
前記信号をポスティング・ポイント・コマンドに変換することは、ルックアップ・テーブルを使用することを含む請求項４７に記載の方法。
【請求項４９】
構成のための前記信号は、初期化時に決定される請求項４７に記載の方法。
【請求項５０】
さらに、前のポスティング・ポイント・コマンドの記録を保持することを含む請求項４７に記載のシステム。
【請求項５１】
通信システム内でポスティング・ポイントの位置を決定することと、
前記所定の位置にポスティング・ポイントを持つように前記通信システムを構成することとを含む方法。
【請求項５２】
前記ポスティング・ポイントは、前記通信システム内の任意の位置に置ける請求項５１に記載の方法。
【請求項５３】
さらに、前の構成の記録を保持することを含む請求項５１に記載の方法。
【請求項５４】
前記構成することが前記通信システムの製作時に実行される請求項５１に記載の方法。
【請求項５５】
書込み応答有効信号を伝達することと、
書込み選択信号を伝達することとを含む方法。
【請求項５６】
前記書込み応答有効信号がデアサートされたときに、マスタは書込みコマンドを伝達する請求項５５に記載の方法。
【請求項５７】
スレーブは、前記書込みコマンドをポステッドと非ポステッドからなるグループから選択されたパラメータを持つものとして処理することができる請求項５６に記載の方法。
【請求項５８】
前記スレーブは、遅延なしで前記書込みコマンドを受け付けることにより、書込みをポステッドとして処理する請求項５７に記載の方法。
【請求項５９】
前記スレーブは、前記書込みコマンドを受け付ける前に、書込みオペレーションを完了することにより、前記書込みコマンドを非ポステッドとして処理する請求項５７に記載の方法。
【請求項６０】
前記書込み応答有効信号がアサートされ、前記書込み選択有効信号がデアサートされたとき、マスタは書込みコマンドを伝達する請求項５５に記載の方法。
【請求項６１】
スレーブは、前記書込みコマンドをポステッドと非ポステッドからなるグループから選択されたパラメータを持つものとして処理することができる請求項６０に記載の方法。
【請求項６２】
前記スレーブは、前記書込みコマンドをポステッドまたは非ポステッドとして処理することができる請求項６１に記載の方法。
【請求項６３】
前記書込みコマンドはポステッドとして処理され、さらに、ポスト・ポイントを設定するスレーブを含む請求項６２に記載の方法。
【請求項６４】
前記書込み応答有効信号がアサートされ、前記書込み選択有効信号がアサートされたとき、マスタはポステッドと非ポステッドからなるグループから選択された書込みコマンドを伝達する請求項５５に記載の方法。
【請求項６５】
スレーブは、前記書込みコマンドをポステッドと非ポステッドからなるグループから選択されたパラメータを持つものとして処理することができる請求項６４に記載の方法。
【請求項６６】
前記スレーブは、前記書込みコマンドをポステッドまたは非ポステッドとして処理することができる請求項６５に記載の方法。
【請求項６７】
前記書込みコマンドはポステッドとして処理され、さらに、ポスト・ポイントを設定する前記スレーブを含む請求項６６に記載の方法。
【請求項６８】
一組の命令を実行すると、請求項５５の方法を実行するプロセッサを備える処理システム。
【請求項６９】
実行されると請求項５５の方法を実行する命令が格納されている機械可読媒体。
【請求項７０】
前記通信では、マスタとスレーブからなるグループから選択された要素に対し構成を設定する請求項５５に記載の方法。
【請求項７１】
前記通信は前記マスタの組み立て時、前記スレーブの組み立て時、電源投入時、リセット時、前記要素の通常稼働前の初期化時、前記要素の動的な通常動作時からなるグループから選択されたタイミングで実行される請求項７０に記載の方法。
【請求項７２】
書込み応答有効信号を受信する手段と、
書込み選択信号を受信する手段とを含む装置。
【請求項７３】
さらに、前記応答有効信号の状態と前記書込み選択信号の状態から、ポステッド書込み、非ポステッド書込み、応答後の書込み、応答前の書込み、ポスティング・ポイント・オペレーション、ポスティング・ポイントの作成からなるグループから選択されたスレーブ・オペレーションを決定する手段を備える請求項７２に記載の装置。
【請求項７４】
複数の入力と出力を備え、前記複数の入力のうちの１つは書込み応答有効信号を受信するように結合され、前記複数の入力のうちの１つは書込み選択信号を受信するように結合され、前記複数の入力のうちの１つは書込みコマンド応答を受信するように結合され、前記出力は書込みコマンドを送信するように結合されているマスタと、
複数の入力と出力を備え、前記複数の入力のうちの１つは書込み応答有効信号を受信するように結合され、前記複数の入力のうちの１つは書込み選択信号を受信するように結合され、前記複数の入力のうちの１つは前記書込みコマンドを受信するように結合され、前記出力は前記書込みコマンド応答を送信するように結合されているスレーブとを備える装置。
【請求項７５】
さらに、前記応答有効信号の状態および前記書込み選択信号の状態から、ポステッド書込み、非ポステッド書込み、応答後の書込み、応答前の書込み、ポスティング・ポイント・オペレーション、ポスティング・ポイントの作成からなるグループから選択されたマスタ・オペレーションを決定する装置を備える請求項７４に記載の装置。
【請求項７６】
さらに、前記応答有効信号の状態と前記書込み選択信号の状態から、ポステッド書込み、非ポステッド書込み、応答後の書込み、応答前の書込み、ポスティング・ポイント・オペレーション、ポスティング・ポイントの作成からなるグループから選択されたスレーブ・オペレーションを決定する装置を備える請求項７４に記載の装置。
【請求項７７】
請求項７４の装置を表す情報が格納されている機械可読媒体。
【請求項７８】
それぞれ構成可能な動作モードを持つ複数のマスタと、
それぞれ構成可能な動作モードを持つ複数のスレーブとを備えるシステム。
【請求項７９】
さらに、
マスタとスレーブからなる複数のグループを含み、それぞれのグループはグループ内で通信するための少なくとも１つのインターフェースを備える請求項７８に記載のシステム。
【請求項８０】
特定のグループ内の通信は、各マスタと各スレーブに対して構成された動作モードにより決定される請求項７９に記載のシステム。
【請求項８１】
前記動作モードは、書込み応答有効の値と書込み選択の値により決定される請求項８０に記載のシステム。
【請求項８２】
特定のマスタの前記動作モードは、伝達された書込みと同じもののみからなるグループから選択され、マスタはポステッド書込みまたは非ポステッド書込みを送ることを決定することができる請求項８１に記載のシステム。
【請求項８３】
特定のスレーブの前記動作モードは、スレーブが書込みをポステッドとしてまたは非ポステッドとして処理することを決定する、スレーブが書込みをポステッドとして、またはポステッドでないものとして処理することと書込みをポストする場所を決定する、スレーブが書込みを処理する方法と書込みをポストする場所を決定するという動作からなるグループから選択される請求項８１に記載のシステム。
【請求項８４】
特定のスレーブと通信している特定のマスタの間の特定のグループ内の前記通信は、前記特定のマスタと前記特定のスレーブについて構成された動作モードにより決定される請求項７９に記載のシステム。
【請求項８５】
前記動作モードは、書込み応答有効の値と書込み選択の値により決定され、
前記書込み応答有効の値がデアサートされ、前記書込み選択の値がアサートまたはデアサートされた場合に、
前記マスタは書込みコマンドを伝達し、
前記スレーブは、前記書込みコマンドを、遅れることなく前記書込みコマンドを受け付けることによりポステッドとして処理するか、または前記書込みコマンドを受け付ける前に書込みオペレーションを完了することにより非ポステッドとして処理し、
前記書込み応答有効の値がアサートされ、前記書込み選択の値がデアサートされた場合に、
前記マスタは書込みコマンドを伝達し、
前記スレーブは、前記書込みコマンドを、ポスト・ポイントを設定しないことにより非ポステッドとして処理するか、またはポスト・ポイントを設定することによりポステッドとして処理し、
前記書込み応答有効の値がアサートされ、前記書込み選択の値がアサートされた場合に、
前記マスタは、ポステッド書込み・コマンド、または非ポステッド書込み・コマンドを伝達し、
前記スレーブは、前記ポステッドまたは非ポステッド書込み・コマンドを、ポスト・ポイントを設定しないことにより非ポステッドとして処理するか、またはポスト・ポイントを設定することによりポステッドとして処理する請求項８４に記載のシステム。
【請求項８６】
前記動作モードは、前記システムの組み立て時、システム電源投入時、リセット時、前記システム稼働時からなるグループから選択されたタイミングで構成することができる請求項８５に記載のシステム。
【請求項８７】
前記構成可能な動作モードは、前記システムの組み立て時、システム電源投入時、リセット時、前記システム稼働時からなるグループから選択されたタイミングで構成することができる請求項７８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信に関する。より具体的には、本発明は、通信システム内で構成可能なポスティング・ポイントに関する。
【背景技術】
【０００２】
通信システムでは、ある地点から他の地点への情報の転送の仕方が重要である。さらに、重要なのは情報を正常に転送できることである。多くの場合、伝達された情報の受信の肯定応答を使用して、情報を正常に転送できたこと、または失敗したことを伝達する。情報の伝達形態は、パケット、ストリーム、読み出し、書込みなどがある。
【０００３】
肯定応答の実行方法、送信するとすればその送信時期、さらに送信の位置は、システムの性能に影響を与える。例えば、受信側が送信された内容の全受信を完了した後でないと肯定応答が送信されない場合、送信側デバイスは、前の送信の肯定応答が行われるまで次の情報の送信を遅らせることになる。他方、受信側が実際に情報を受信したか否かに関係なく送信側が情報を送信する場合も、通信システムにおいては問題であろう。
【発明を実施するための最良の形態】
【０００４】
本発明は、例を使用して説明され、付属の図面に制限されないが、類似の参照番号は類似の要素を示す。
【０００５】
通信システム内の構成可能なポスティング・ポイントのための方法および装置について説明する。
【０００６】
図１は、説明されている手法を適用することが可能なネットワーク環境１００を例示している。ネットワーク環境１００は、１０４−１から１０４−ＳのＳ台のサーバと、１０８−１から１０８−ＣのＣ台のクライアントとを接続するネットワーク１０２を備える。以下ではさらに詳しく説明する。
【０００７】
図２は、図１に示されているクライアントおよび／またはサーバを表している、コンピュータ・システム２００をブロック図の形態で例示している。以下ではさらに詳しく説明する。
【０００８】
本発明は、一実施形態において、通信システムでの書込み、パケットなどの処理を対象とする。特に、本発明の一実施形態では、書込みが完了したとみることができるのはいつか、および／またはパケットの肯定応答がされたとみることができるのはいつか、という問題を取り扱う。本発明を説明する便宜上、説明は書込みに限られているが、当業者であれば、開示されている手法はパケットなどにも適用されることを理解するであろう。
【０００９】
イニシエータ（プロセッサなど）をターゲット（メモリ・システムなど）に直接接続した場合は、書込みがいつ完了したとみることができるかに関してほとんどあいまいなところはない。プロセッサは、書込みコマンドとデータをメモリに送り、メモリ側では、書込みコマンドの肯定応答をプロセッサに送り返す。このときに、書込みデータは、実質的にメモリ内にあり、プロセッサは書込みが完了したことをすでに通知されているため、通信にかかわる対象それぞれは、書込みが発生した時期に関して同期がとれている。この例は、プロセッサとメモリとの間の密結合と呼ばれることが多い。
【００１０】
例えばシステムの規模が大きくなっており、プロセッサとメモリとの間に通信システムがあるといったことにより、イニシエータとターゲットとの結合があまり緊密でない場合、システム内のどこから見てもただ１つの時刻において書込みが完了しているという概念はなくなる。そのためシステム内の異なる要素から、異なる時刻に書込みが完了していることが観察されることがある。
【００１１】
このため、図３Ａと図３Ｂに例示されているようなポステッド書込みや非ポステッド書込みの概念が得られる。イニシエータが、ターゲットから書込み完了の確認を受け取ったときのみその書込みを完了しているとみる場合の書込みを非ポステッドであるという。図３Ａでは、プロセッサ３０２は通信システム３０４を通じて書込みコマンド３０８をメモリ３０６に送信する。メモリ３０６は、書込みを実行してから、通信システム３０４を通じてプロセッサ３０２に応答する（３１０）。書込み３０８は、プロセッサ３０２がメモリ３０６から（応答３１０を通じて）書込み完了の明示的確認を受け取るので、非ポステッドである。その一方で、図３Ｂには、ポステッド書込みが示されている。ここで、プロセッサ３２２は、書込み３２８を通信システム３２４に送るだけである。プロセッサ３２２は、その書込み３２８を通信システム３２４に転送されるとすぐに完了したものとみなし、応答のあることを期待しない。メモリ３２６は書込みを実行するが、肯定応答を送信しない。ポステッド書込みと非ポステッド書込みの主要な違いは、ポステッド書込みがプロセッサの観点から完了しているとみなされたときでも、メモリ内では書込みが実際に完了している場合も完了していない場合もあるという点である。
【００１２】
ポステッド書込みと非ポステッド書込みとの間のトレードオフの１つは性能対精度である。ポステッド書込みでは、完了は（イニシエータの観点から）高速であり、例えば、バッファを再利用し、待たずに計算を続けることができる。しかし、ダウンサイドでは、システム全体に対して書込みがいつ完了するかが一定せず、エラー処理や大域的なイベントの順序付けなどの問題が複雑になる。システム要件によっては、ポステッド書込みか非ポステッド書込みのいずれかが理にかなうであろう。
【００１３】
既存の通信システムでは、書込みの処理は、通常、システム設計者の裁量で決められず、したがって、書込みに関する性能と精度との間に細かなトレードオフの関係を設定することは困難である。本発明の一実施形態では、通信システムでは、システム設計者が性能と精度のトレードオフ関係を細かく制御できるように書込みの処理を構成させることができる。本発明の一実施形態では、システム設計者はポスティング・ポイント（書込み要求がポストされる場所）をイニシエータからターゲットまでの途中のどこかに設定できる。
【００１４】
図４は、本発明４００の一実施形態を通信システム４０４（雲の形で表されている）として例示している。その通信システム４０４では、一組のイニシエータ（Ｉ０、Ｉ１、．．．、Ｉｎ）（それぞれ４０２−０、４０２−１、．．．、４０２−ｎ）が、異なるポスティング・ポイント（それぞれ４１０、４１６、４２２）を持つ一組のターゲット（Ｔ０、Ｔ１、．．．、Ｔｎ）（それぞれ４０６−０、４０６−１、．．．、４０６−ｎ）と通信することができる。異なるポスティング・ポイントの３つの例が示されている。それぞれの場合に、通信システム４０４により、書込み要求がイニシエータ（４０２−０、４０２−１、．．．、４０２−ｎなど）からターゲット（４０６−０、４０６−１、．．．、４０６−ｎなど）に送信される。これら３つの例の違いは、ポスティング・ポイントと呼ばれる応答が生成される地点である。Ｉ０  ４０２−０とＴ０  ４０６−０を含む図４の一番左の位置に示された第１の例では、ポスティング・ポイント４１０は、通信システム４０４への入口にある。通信システム４０４は、イニシエータＩ０  ４０２−０から書込み要求４０８を受け取ると、すぐに応答４１２をイニシエータＩ０  ４０２−０に送り返す。これは、書込み要求の早いポスティングから遅いポスティングの範囲の最も速い極端な例を表している。その範囲内の逆の例が、Ｉ１  ４０２−１とＴ１  ４０６−１を含む図４の真ん中の例で表されている。この場合、書込み４１４を受け取り処理したときに、応答４１８はターゲットＴ１  ４０６−１自体により（Ｔ１  ４０６−１のまたはその中のポスティング・ポイント４１６のところで）生成される。これにより、書込み４１４はイニシエータ４０２−１の立場からは非ポステッド書込みとなる。Ｉｎ  ４０２−ｎとＴｎ  ４０６−ｎを含む図４の一番右の位置に示されている第３の例は、通信システム４０４内のどこかの中間位置に配置されているポスティング・ポイント４２２を示している。ここでは、ポスティング・ポイント４２２で書込み要求４２０を受け取ると通信システム４０４がイニシエータＩｎ  ４０２−ｎに応答４２４を送り返す。
【００１５】
既存のシステムでは、ポスティング・ポイントはイニシエータ（ポステッド書込みの場合）それ自体またはターゲット（非ポステッド書込みの場合）自体にあるのがふつうである。これらのシステムでは、ポスティング・ポイントの位置は、イニシエータまたはターゲットの設計によって異なり、またシステム設計者はその場所を越えた選択を行えない。
【００１６】
したがって、本発明の一実施形態では、ポスティング・ポイントは、イニシエータのところでポストされた書込みの一方の極端から非ポステッド書込みの他の極端までの間の任意のポイントに置くことができる。ポスティング・ポイントを配置するこのような機能を用意することにより、設計者および／またはユーザは性能と精度のどちらかを選ぶことができる。
【００１７】
次に、イニシエータとターゲットの観点からは、書込みのポスティングおよび／または非ポスティングの程度を様々に考えることができる。例えば、図４の一番右では、ポスティング・ポイントは４２２にある。イニシエータＩｎ  ４０２−ｎの観点からは、応答４２４がポスティング・ポイント４２２から送られてイニシエータＩｎ  ４０２−ｎに戻るため、書込みはポイント４２２で非ポステッドである。ターゲットＴｎ  ４０６−ｎの観点では、ポイント４２２からターゲットＴｎ  ４０６−ｎまでの間に、ターゲットＴｎ  ４０６−ｎからポイント４２２に向かう応答はないため書込みはポステッド書込みのように見える。したがって、ポスティング・ポイントは、異なる観点（見方）から、ポステッドおよび／または非ポステッド特性を持つようにすることができる。
【００１８】
図５Ａ、図５Ｂは、ポスティング・ポイントの位置がすべてのイニシエータとターゲットに対して同じである必要がない本発明の実施形態（５００および５４０を例示する図である。図５Ａでは、特定のターゲットＴ  ５０６に対するポスティング・ポイント５１０は、イニシエータＩ０からＩｎ（５０２−０から５０２−ｎ）への異なる要求ストリーム（５１２、５１６、５２０）が通信システム５０４の内側に収束し、ターゲットＴ  ５０６にアクセスできるようにシリアライズされる。これは、要求がシリアライズされた後も正しい順序に保たれている限り、またターゲットＴ  ５０６への他のアクセス・ルートがない限り、ターゲットＴ  ５０６内に配置されているものとこのポスティング・ポイント５１０とを区別することは不可能であるため、便利なポスティング・ポイントである。ポスティング・ポイント５１０からイニシエータＩ０〜Ｉｎ（それぞれ５０２−０〜５０２−ｎ）への応答は、それぞれ、５１４、５１８、２２である。ポスティング・ポイント５１０でシリアライズされているイニシエータからの要求はターゲットＴ  ５０６へのリンク５０８を介してシリアライズされている順序と同じ順序で進行する。
【００１９】
図５Ｂは、ターゲットＴ  ５４６にアクセスする異なるイニシエータ（Ｉ０  ５４２−０およびＩ１  ５４２−１）に対する異なるポスティング・ポイントの例を示している。イニシエータＩ０  ５４２−０のポスティング・ポイントは、ポスティング・ポイント５５０でイニシエータＩ０  ５４２−０に近いが、イニシエータＩ１  ５４２−１のポスティング・ポイント５５２はターゲットＴ  ５４６に近い。イニシエータＩ０  ５４２−０では、資源、例えばバッファをより迅速に再利用することができ、その一方で、イニシエータＩ１  ５４２−１では、応答５６４がターゲットＴ  ５４６に近いところで発信されるため書込み要求の完了順序をより適切に制御することができる。つまり、イニシエータＩ０  ５４２−０は、５５０でポストされた書込み５５４を送信し、イニシエータＩ０  ５４２−０に近い５５６で応答を受信する。イニシエータＩ０  ５４２−０書込みがポスティング・ポイント５５０でポストされた後、書込み５５８は５５２を通り、ターゲットＴ  ５４６にリンクする（５４８）。イニシエータＩ１  ５４２−１書込み５６０は、通信システム５４４を通じて５６２として続行し、５５２でポストされ、書込みはターゲットＴ  ５４６へのリンク５４８を介して続く。書込み５６２が５５２でポストされると、応答５６４がイニシエータＩ１  ５４２−１に送信される。
【００２０】
本発明の一実施形態では、通信システムがポスティング・ポイントの位置に関して構成可能なものとすることが可能である。システム・ソフトウェアからアクセス可能なレジスタは、通信システム内のポスティング・ポイントの存在とその位置を制御することができる。これにより、システム・ソフトウェア側でアプリケーションを実行しながら通信システムの構成を修正することができ、したがって、性能と実行時の順序付けの正確さとのトレードオフの関係を望む通りにチューニングすることができる。ポスティング・ポイントは、静的ポイントとして設定するか、または動的に設定することができる。例えば、初期電源オン時に、システム側で、様々なポスティング・ポイントを設定し、システムの動作中には変更しないようにすることもできる。これらの静的ポスティング・ポイントは、あらかじめ決定しておき、かつ／または電源投入シーケンスのときに決定することができる（例えば、外部メモリのアクセス速度に基づいて）。それとは別に、システムが稼働しているときにポスティング・ポイントを調整することもできる。さらに他の方法として、ポスティング・ポイントをシステム設計時に決定し、その後、例えば、システムに組み込む集積回路に搭載することができる。この「ハード配線」または組み込みアプローチでは、電源投入後システムを構成するのに明示的な通信またはセットアップを必要としない。静的ポスティングと動的ポスティングの組合せも可能である。
【００２１】
本発明の一実施形態では、図６Ａ、図６Ｂは、混合バーストの概念、つまり、バースト内のそれぞれの要求が異なるポスティング動作を示す可能性のある要求のバーストを例示している（それぞれ６００、６４０）。書込み要求のバーストがバーストとして非ポステッド・セマンティックスを必要とするが、バースト内の個々の要求の完了に関してはそれほど厳格な要求条件がない場合、混合バーストにより、バーストの順序制御を犠牲にすることなく性能を向上させることができる。通信システムがバースト内の要求の順序を保持する限り、バースト内の最後の要求に対してのみターゲットでポスティング・ポイントを使用することが可能である。前のすべての要求は、イニシエータの近くにポストすることができる。図６Ａは、本発明の一実施形態６００を例示しており、２つのポスティング・ポイント（６０８および６１０）の位置を示す。ポスティング・ポイントＡ（６０８）は、イニシエータＩ  ６０２の近くにあり、バースト内の最後の要求を除くすべての要求に対し使用される。ポスティング・ポイントＢ（６１０）は、ターゲットＴ  ６０６の近くにあり、バースト内の最後の要求に対してのみ使用される。
【００２２】
例えば、書込みバーストがｎ個の要求（１、．．．、ｎ、ただし１は最初の要求、ｎは最後の要求）からなる場合、１からｎ−１までの要求について、イニシエータＩ  ６０２は、書込み６１２が６０８でポストされ、返された応答６１４を受け取り、書込みは６１６、６１８を介してターゲットＴ  ６０６へ続く。最後の要求ｎで、イニシエータＩ  ６０２での書込み６１２は、６１６、６１８を介して続き、ターゲットＴ  ６０６の一部である６１０でポストされ、ターゲットＴ  ６０６から返される応答６２０を受け取る。
【００２３】
図６Ｂは、時間の経過による４個の要求（６６２−１から６６２−４）のバースト６６２の挙動を示す本発明の一実施形態６４０を例示している。４個の要求（６６２−１から６６２−４）はすべて、イニシエータ６４２からポスティング・ポイントＡ  ６４８、Ｂ  ６５０を通じてターゲット６４６に進む。矢印の方向は、要求／応答の進行の仕方を示している。要求は、実線の矢印で示され、応答は破線の矢印で示されている。第１の３つの要求（６６２−１、６６２−２、６６２−３）は、Ａ  ６４８で応答（グループ６４４）を生成し、その結果、イニシエータ６４２の観点から待ち時間の短い応答が得られる。最後の要求６６２−４は、ポスティング・ポイントＢ  ６５０から応答６６０を受信する。ポスティング・ポイントＢ  ６５０は、イニシエータ６４２からさらに遠く離れており（ここでは、ターゲット６４６に近いように示されている）ため、応答がイニシエータ６４２に戻る時間は、ポスティング・ポイントＡ  ６４８からの応答（グループ６４４）よりも長くなる。
【００２４】
これまで、本明細書ではイニシエータとターゲットという用語を使用してきた。これらの用語で、通信のためのエンド・ポイントを定義しており、イニシエータは要求の発信元であり、ターゲットは書込みが最終的に実行される場所である。しかし、イニシエータとターゲットとの間の通信チェーンには他にもいくつかの要素が含まれることがある。例えば、図３Ａ、図３Ｂ、図４、図５Ａ、図５Ｂ、図６Ａ、図６Ｂでは、イニシエータとターゲットとの間に通信システムが置かれている。通信システム自体は、複数の通信要素で構成することが可能である。イニシエータからターゲットへのチェーン内の要素の接続ペアは、ポイント・ツー・ポイント・インターフェースを介して通信するマスタとスレーブとみることができるが、ただしマスタはイニシエータに近い位置にある要素であり、スレーブはターゲットに近い要素である。前の図（図３Ａ、図３Ｂ、図４、図５Ａ、図５Ｂ、図６Ａ、図６Ｂ）の一実施形態ではマスタ／スレーブ・インターフェースはすべてのイニシエータ／ターゲットと通信システムとの間に現ている。イニシエータ／通信システム・インターフェースの場合、イニシエータはマスタであり、通信システムはスレーブである。通信システム／ターゲット・インターフェースの場合、通信システムはマスタであり、ターゲットはスレーブである。
【００２５】
図７Ａ、図７Ｂ、図７Ｃは、本発明の一実施形態（それぞれ７００、７１０、７２０）における、マスタ（それぞれ７０２、７１２、７２２）とスレーブ（それぞれ７０４、７１４、７２４）との間のポイント・ツー・ポイント・インターフェースで段階的に実行される応答からポスティングのセマンティックスを分離するという概念を例示する図である。定義により、ポステッド書込みは応答を必要としないが、あってもよい。非ポステッド書込みは、書込みの完了を示す応答を必要とする。しかし、書込み要求に応答があるかどうかという概念は書込みがポストされるかされないかという概念と切り離すことができる。この分離により、スレーブが、書込みがポストされるかどうか、またどのようにポストされるかを決定することが可能になる。特に、通信システムは、イニシエータの設計に影響を及ぼすことなく、書込みがポストされるかどうか、および／または書込みがどこにポストされるかどうかを決定することができる。本発明の一実施形態では、インターフェースの挙動は、１）書込み応答許可（ｗｒｉｔｅｒｅｓｐ＿ｅｎａｂｌｅと表される）と２）書込み選択許可（ｗｒｉｔｅｃｈｏｉｃｅ＿ｅｎａｂｌｅと表される）の２つのパラメータで構成することができる。これら２つのパラメータ（ｗｒｉｔｅｒｅｓｐ＿ｅｎａｂｌｅおよびｗｒｉｔｅｃｈｏｉｃｅ＿ｅｎａｂｌｅ）はそれぞれ、互いに独立にＯＮまたはＯＦＦにすることができる。
【００２６】
パラメータｗｒｉｔｅｒｅｓｐ＿ｅｎａｂｌｅは、ＯＮまたはＯＦＦであり、書込みに対する応答の存在を制御する。ｗｒｉｔｅｒｅｓｐ＿ｅｎａｂｌｅをＯＦＦにした場合（図７Ａに例示されているように）、ポステッド書込みのセマンティックスが設定されているのが好ましい。実施形態７００の図７Ａに示されているように、マスタ７０２は、書込み７０６をスレーブ７０４に発行する。スレーブ７０４からマスタ７０２への応答はないため、これはポステッド書込みである。ただし、スレーブがコマンドを受け付けないがそれでも書込みの実行に進み、実際の書込みが実行されてはじめてコマンドを受け付けるようにすることが可能であることに注意されたい。この手法を使用すると、このアプローチで書込みが受け入れられることはターゲットで書込みが完了していることを意味するので、ポステッド書込みは非ポステッドになる。
【００２７】
パラメータｗｒｉｔｅｒｅｓｐ＿ｅｎａｂｌｅがＯＮの場合、ｗｒｉｔｅｃｈｏｉｃｅ＿ｅｎａｂｌｅパラメータを使用して、ポステッドまたは非ポステッド書込みのセマンティックスが望まれているかどうかを明示的に知らせるマスタの機能をＯＮ、ＯＦＦすることができる。ｗｒｉｔｅｃｈｏｉｃｅ＿ｅｎａｂｌｅがＯＦＦの場合（図７Ｂに示されているように）、マスタ７１２は書込み７１６のようなもののみ通信できる。しかし、スレーブ７１４は、それらの書込み７１６をポストすべきかどうか、および／またはどこにポストすべきかを決定することができる。つまり、スレーブ７１４は、応答を（７１８を介して）即座に送信し、それにより、書込み７１６にポステッドのセマンティックスを与えるか、または書込み７１６が実際に完了するまで（７１８を介して）応答を返さず、それにより、非ポステッドのセマンティックスを与えることができる。
【００２８】
ｗｒｉｔｅｃｈｏｉｃｅ＿ｅｎａｂｌｅがＯＮの場合（図７Ｃに例示されているように）、マスタ７２２は、特定の書込み要求７２６をポストすることを望んでいるかどうかを明示的に要求するが、スレーブ７２４はそれでも書込みをポステッドとして処理するかしないかを決定することができる。これらのオプションは、図８の表にまとめられている。
【００２９】
図９、図１０は、構成可能なポスティング・ポイント（それぞれ、９１０−１から９１０−ｎ、および１０１０）を使用する本発明の一実施形態（それぞれ９００および１０００）を例示している。図９では、通信システム９０２は、例えば、リンク９０４を介してターゲットに進む要求と、例えば、リンク９０６を介してイニシエータに戻ることが可能な応答を持っている。通信システム９０２のあらゆるところで、ポスティング・ポイント（９１０−１、９１０−２、．．．、９１０−ｎ）が可能である。通信システム９０２はシステム内の任意のポイントから他のポイントへの通信を表していることは理解されるであろう。例えば、通信システム９０２は、イニシエータとターゲットとの間の通信リンクを表すことができる。他の例では、通信システム９０２は、イニシエータ、ターゲットなどのそれぞれに配置されている通信リンクを表すことができる。リンク９０４、９０６は、それは、イニシエータとターゲットとの間の通常の通信リンクであるためバンド内と呼ぶことができる。これは、唯一の通信リンクではなく、リンク９１２は、側バンド、すなわちバンド外通信リンクと呼ばれるものを例示している。
【００３０】
図１０は、可能なポスティング・ポイント１０１０の詳細を示す、本発明の一実施形態１０００を例示している。ポスティング・ポイント１０１０は、情報を転送し、ポスティング・ポイント・ロジック１００８と通信することができるリンク１００４−Ｉ、１００４−Ｏ、１００６−Ｉ、１００６−Ｏを持つ。ポスティング・ロジック１００８の制御は、ポスティングを有効または無効にし、ポスティング・ロジックを構成できる信号１００２である。ポスティング・ロジック１００８は、さらに、バンド外リンク１０１２と通信することもできる。一実施形態では、ポスティング・ロジック１００８は、有効になっている場合、リンク１００４−Ｉを監視し、適切な時期に、リンク１００６−Ｏを介して応答を送信することができる。これは、１００４−Ｉで受信された信号を１００４−Ｏリンクに渡すことができる。ポスティング・ロジックは、その後、ポスティング・ロジック１００８によりすでに発行されていた１００６−Ｉ上の応答の戻し信号を横取りすることができる。図１０に例示されているようにポスティング・ロジック１００８は（１００４−Ｉ、１００４−Ｏ、１００６−Ｉ、１００６−Ｏを介して）通信リンクにアクセスできるため、通信を修正することができる。つまり、例えば、ポスティング・ロジック１００８は、現在、ポステッド書込みであることを明確にするため書込みコマンドを修正するか、またはターゲットから送り返された応答を処理し、応答がすでに与えられていた場合、イニシエータに渡さないようにできる。信号１００２は、例えば、チップ上の制御ユニットから発信することができる。当業者であれば、この一実施例の可能な数多くの変更形態が可能であるとともに、ポスティング・ポイントを実装するための他の数多くの手法があり得ることを理解するであろう。
【００３１】
したがって、本発明で開示されているのは、構成可能なポスティング・ポイントを使用する通信システムと方法である。
【００３２】
再び図１を参照すると、図１は、説明されている手法を適用することが可能なネットワーク環境１００を例示している。ネットワーク環境１００は、１０４−１から１０４−ＳのＳ台のサーバと、１０８−１から１０８−ＣのＣ台のクライアントを接続するネットワーク１０２を備える。図に示されているように、Ｓ台のサーバ１０４−１から１０４−ＳとＣ台のクライアント１０８−１から１０８−Ｃからなる形態の複数のシステムを、ネットワーク１０２を介して互いに接続し、例えば、オンチップ通信ネットワークとすることができる。それとは別に、ネットワーク１０２は、チップ間通信機能、光ネットワーク、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、衛星リンク、ファイバ・ネットワーク、ケーブル・ネットワーク、またはこれらと他のものの組合せとするか、または含むことも可能であることに注意されたい。サーバとしては、例えば、チップ上のマスタ・デバイス、メモリ、マイクロプロセッサ、通信インターフェースなどの知的所有権のあるコア、ディスク記憶システム、および／またはコンピューティング資源とすることができる。同様に、クライアントはコンピューティング機能、記憶機能、表示機能を備えることができる。本明細書で説明されている方法と装置は、ＬＡＮ、ＷＡＮ、システム・バス、オンチップ・バスなど、ローカルまたはリモートを問わず、本質的にいかなる種類の通信手段またはデバイスにも適用することができる。さらに、クライアント、サーバという用語を使用しているのは、通信の開始側（クライアント）と応答側（サーバ）とを明確に指定するためであることは理解されるであろう。特に断りのない限り階層を暗黙のうちに想定しているわけではない。両方の機能を、単一の通信デバイス内に配置することができ、その場合、クライアント−サーバおよびサーバ−クライアント関係は、ピア・ツー・ピアとみることができる。したがって、１０８−１と１０４−Ｓなどの２つのデバイスが両方とも、通信を開始し通信に応答することができる場合、それらの通信はピア・ツー・ピアとみることができる。同様に、１０４−１と１０４−Ｓ、および１０８−１と１０８−Ｃとの通信は、それぞれのそのような通信デバイスが通信の開始と応答を行える場合にピア・ツー・ピアとみることができる。
【００３３】
再び図２を参照すると、図２は図１に示されているクライアントおよび／またはサーバのどれかを表している、コンピュータ・システム２００をブロック図の形態で例示している。ブロック図は、高水準の概念表現であり、様々な手段と様々なアーキテクチャにより実装することができる。パス・システム２０２は、中央演算処理装置（ＣＰＵ）２０４、読み取り専用メモリ（ＲＯＭ）２０６、ランダム・アクセス・メモリ（ＲＡＭ）２０８、記憶装置２１０、表示装置２２０、オーディオ２２２、キーボード２２４、ポインタ２２６、様々な入出力（Ｉ／Ｏ）デバイス２２８、通信機能２３０を相互接続している。バス・システム２０２は、例えば、オンチップ・バス、システム・バス、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）、Ａｄｖａｎｃｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ（ＡＧＰ）、Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ（ＳＣＳＩ）、Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ（ＩＥＥＥ）規格番号１３９４（ＦｉｒｅＷｉｒｅ）、ユニバーサル・シリアル・バス（ＵＳＢ）などのバスのうちの１つまたは複数とすることができる。ＣＰＵ  ２０４は、単一のコンピューティング資源、複数のコンピューティング資源、さらには分散コンピューティング資源とすることができる。記憶装置２１０は、コンパクト・ディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、ハード・ディスク（ＨＤ）、光ディスク、テープ、フラッシュ・メモリ、メモリ・スティック、ビデオ・レコーダなどとすることができる。表示装置２２０は、例えば、ブラウン管（ＣＲＴ）表示装置、液晶表示装置（ＬＣＤ）、プロジェクタ・システム、テレビ（ＴＶ）などとすることも可能である。システムの実際の実装に応じて、システムはブロック図内のコンポーネントの一部、全部、さらに多くのもの、または再配置を含むことができる。例えば、集積回路上のオンチップ通信システムは、表示装置２２０、キーボード２２４、ポインタ２２６がない場合もある。他の例としては、シンクライアントは、例えば従来のキーボードを持たない無線ハンドヘルド・デバイスからなる場合がある。したがって、図２のシステムについては多数の変更形態が可能である。
【００３４】
当業界に関する知識を有する者であれば、本発明の説明や理解を目的として、様々な用語を使用し複数の手法とアプローチを説明することは理解されるであろう。さらに、説明では、説明を目的として、本発明を完全に理解できるように多数の具体的詳細を述べている。ただし、当業者であれば、こうした具体的詳細がなくても本発明を実施できることは明白であろう。いくつかの場合に、本発明をわかりにくくしないために、よく知られている構造とデバイスがブロック図形式で示されている。これらの実施形態は十分に詳しく説明されているため当業者であれば本発明を実施できるであろうし、また他の実施形態を利用することができ、論理的、機械的、電気的、その他の変更も本発明の範囲を逸脱することなく行えることは理解されるであろう。
【００３５】
説明のいくつかの部分は、例えばコンピュータ・メモリ内のデータ・ビットに関するオペレーションのアルゴリズムと記号表現によって提示されている。これらのアルゴリズムに関する説明や表現は、作業内容を当業者に最も効果的に伝達するためにデータ処理技術において当業者が使用する手段である。アルゴリズムは、ここでは、一般的に、所望の結果が得られる自己矛盾のない一連の活動とみられる。これらの活動は、物理的数量の物理的操作を必要とするものである。通常、必ずというわけではないが、これらの数量は格納、転送、組合せ、比較、その他の手段による操作が可能な電気信号、磁気信号、または光信号の形をとる。主に使用法を共通にする理由から、ときには、これらの信号をビット、値、要素、記号、文字、用語、数値などと呼ぶと都合がよい場合があることが実証されている。
【００３６】
ただし、これらおよび類似の用語はすべて適切な物理的数量に関連付けられるべきであり、それらの数量に適用される単に便利なラベルにすぎないことに留意されたい。特に断りのない限り、説明から明らかなように、説明全体を通して、「処理」または「コンピューティング」または「計算」または「決定」または「通信」または「表示」などの用語を使用した説明は、電子デバイスまたはコンピュータ・システムのレジスタおよびメモリ内に物理的（電子的）量として表されるデータを操作し、電子デバイスおよび／またはコンピュータ・システムのメモリまたはレジスタまたは他のそのような情報記憶装置、伝送または表示デバイス内に物理的量として同様に表される他のデータに変換するコンピュータ・システムまたは電子デバイスのアクションおよびプロセスを指している。
【００３７】
本発明は、本明細書のオペレーションを実行する装置により実装することができる。この装置は、必要な目的専用のものとして製作するか、またはコンピュータ内に格納されているコンピュータ・プログラムにより選択的にアクティブ化または再構成される汎用コンピュータを備えることができる。そのようなコンピュータ・プログラムはコンピュータ可読記憶媒体に格納されている。それらの媒体の例としては、フロッピ・ディスク、ハード・ディスク、光ディスク、コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、磁気光ディスク、読み取り専用メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、電気的プログラム可能読み取り専用メモリ（ＥＰＲＯＭ）、電気的消去可能プログラム可能読み取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュ・メモリ、磁気または光カードなどの任意の種類のディスク、または電子命令をローカルのコンピュータまたはリモートのコンピュータに格納するのに適している任意の種類の媒体などである。
【００３８】
本明細書に提示されているアルゴリズムと表示装置は、特定のコンピュータまたはその他の装置に本質的に関係しているわけではない。本発明の教示に従って様々な汎用システムを使用するか、または必要な方法を実行するためにさらに特化した装置を製作すると都合がよいことが実証される場合もある。例えば、本発明による方法は、ハード配線回路で実装したり、汎用プロセッサをプログラムしたり、またはハードウェアとソフトウェアとを組み合わせることにより実装することができる。当業者には、本発明がハンドヘルド・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのまたはプログラム可能な家電製品、デジタル・シグナル・プロセッシング（ＤＳＰ）デバイス、セット・トップ・ボックス、ネットワークＰＣ、ミニコンピュータ、メインフレーム・コンピュータなど、説明されているもの以外のコンピュータ・システム構成でも実施できることは明白であろう。また、本発明は、通信ネットワークを通じてリンクされているリモート処理デバイスによりタスクが実行される分散コンピューティング環境で実施することもできる。この通信ネットワークは、サイズの制限を受けず、例えば、オンチップ通信機能からインターネットなどのＷＡＮまで様々なものがある。
【００３９】
本発明の方法は、コンピュータ・ソフトウェアを使用して実装することができる。認定されている規格に準拠するプログラミング言語で書かれている場合、様々なハードウェア・プラットフォーム上で実行し、様々なオペレーティング・システムにインターフェースできるように、これらの方法を実装するように設計されている命令シーケンスをコンパイルすることができる。本明細書で説明されているように本発明の教示を実装するため様々なプログラミング言語を使用できることは理解されるであろう。さらに、当業では、ある形態または別の形態（例えば、プログラム、プロシージャ、アプリケーション、ドライバ、．．．）のソフトウェアがアクションを実行するまたは結果を生じさせると述べるのはふつうのことである。このような表現は、コンピュータによりソフトウェアが実行されるとコンピュータのプロセッサがアクションを実行するか、または結果を出力するということの単なる簡略化した言い方にすぎない。
【００４０】
当業に関する知識を有する者が通信、プロトコル、アプリケーション、実装、メカニズムなどを説明するために様々な用語や手法を使用することは理解されるであろう。このような手法の１つは、アルゴリズムまたは数式に関する手法の実装の説明である。つまり、手法は、例えば、コンピュータ上でコードを実行することとして実装できるが、その手法の表現は、より適切にかつ簡潔に、公式、アルゴリズム、または数式として伝達し、通信することができる。したがって、当業者であれば、Ａ＋Ｂ＝Ｃと表されているブロックを、ハードウェアおよび／またはソフトウェアによる実装で２つの入力（ＡおよびＢ）をとり、合計出力（Ｃ）を生成する加法機能と認識するであろう。したがって、公式、アルゴリズム、または数式を説明として使用することは、少なくともハードウェアおよび／またはソフトウェアによる物理的実施形態を備えることと理解すべきであろう（本発明の手法が実施されるだけでなく実施形態として実装できるコンピュータ・システムなど）。
【００４１】
機械可読媒体は、機械（例えば、コンピュータ）で読める形式で情報を格納または送信するためのメカニズムを備えると理解される。例えば、機械可読媒体は、読み取り専用メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶装置、フラッシュ・メモリ・デバイス、電気、光、音響、またはその他の形態の伝搬信号（例えば、搬送波、赤外線信号、デジタル信号など）などを含む。
【００４２】
こうして、構成可能なポスティング・ポイントを備える通信システムおよび方法が説明された。
【図面の簡単な説明】
【００４３】
【図１】本発明の方法および装置を実装できるネットワーク環境を例示する図である。
【図２】コンピュータ・システムのブロック図である。
【図３】非ポステッド書込みおよびポステッド書込みを例示する図である。
【図４】本発明の一実施形態を異なるポスティング・ポイントを持つ通信システムとして例示する図である。
【図５】ポスティング・ポイントの位置がすべてのイニシエータおよびターゲットについて同じである必要がない本発明の実施形態を例示する図である。
【図６】バースト内の各要求のポスティングの挙動が異なる場合がある混合バーストのある本発明の実施形態を例示する図である。
【図７】本発明の一実施形態における、マスタとスレーブとの間のポイント・ツー・ポイント・インターフェースで段階的に実行される応答からポスティングのセマンティックスを分離するという概念を例示する図である。
【図８】本発明の一実施形態におけるパラメータとその効果をまとめた表である。
【図９】構成可能なポスティング・ポイントを使用する本発明の一実施形態を例示する図である。
【図１０】本発明の一実施形態のポスティング・ポイントの詳細を示す図である。
【図１】
2005524891.tif 000003
【図２】
2005524891.tif 000004
【図３】
2005524891.tif 000005
【図４】
2005524891.tif 000006
【図５】
2005524891.tif 000007
【図６】
2005524891.tif 000008
【図７】
2005524891.tif 000009
【図８】
2005524891.tif 000010
【図９】
2005524891.tif 000011
【図１０】
2005524891.tif 000012
【国際調査報告】
2005524891.tif 000013
2005524891.tif 000014