(57)【要約】      （修正有）【課題】スケーラブルなバス構造を提供する。【解決手段】バスで接続された送信要素と受信要素を持つ処理システムが開示される。該バスは第１チャネルと第２チャネルを伴って構成される。送信要素は、読み出し及び書き込みアドレス情報と読み出し及び書き込み制御信号と書き込みデータを第１チャネル上でブロードキャストするよう構成される。該送信要素は、該第１チャネル上でブロードキャストされた、読み出し及び書き込みアドレス情報と読み出し及び書き込み制御信号と書き込みデータを受信要素が区別できるよう、受信要素へ信号で知らせるようにも構成される。受信要素は、書き込みアドレス情報と書き込み制御信号に基づき第１チャネル上でブロードキャストされた書き込みデータを格納し、読み出しアドレス情報と読み出し制御信号に基づき読み出しデータを引き出し、引き出された読み出しデータを第２チャネル上でブロードキャストするよう構成される。【選択図】図１
2011044154.tif 000002
【特許請求の範囲】
【請求項１】
バス上で送信要素と受信要素との間で通信する方法であって、
前記バスは、第１チャネルと第２チャネルとを備え、
前記方法は、
読み出しアドレス情報及び書き込みアドレス情報と、読み出し制御信号及び書き込み制御信号と、書き込みデータとを前記第１チャネル上で前記送信要素からブロードキャストし、
前記第１チャネル上でブロードキャストされた、前記書き込みデータと、前記読み出し制御信号及び前記書き込み制御信号と、前記読み出しアドレス情報及び前記書き込みアドレス情報とを前記受信要素が区別できるように、前記送信要素から前記受信要素へシグナリングし、
前記書き込みアドレス情報と前記書き込み制御信号とに基づいて、前記受信要素において前記第１チャネル上でブロードキャストされた書き込みデータを格納し、
前記読み出しアドレス情報と前記読み出し制御信号とに基づいて、前記受信要素から読み出しデータを引き出し、
引き出された読み出しデータを前記第２チャネル上で前記受信要素からブロードキャストする、
ことを備える方法。
【請求項２】
前記第１チャネルは複数の副チャネルを備え、
前記副チャネルの第１副チャネルがとあるタイムピリオドの間に前記アドレス情報の一部をブロードキャストし、並行して、前記副チャネルの第２副チャネルが同一のタイムピリオドの間に制御信号の一部をブロードキャストする、
請求項１に記載の方法。
【請求項３】
前記副チャネルの第３副チャネルが前記同一のタイムピリオドの間に書き込みデータの一部をブロードキャストする、請求項２に記載の方法。
【請求項４】
書き込み信号と読み出し信号とは複数の転送修飾句と書き込みバイトイネーブルとを備える、請求項１に記載の方法。
【請求項５】
前記第２チャネル上で、前記引き出された読み出しデータの少なくとも一部のブロードキャストと並行して、少なくとも、書き込みデータ、読み出し制御信号あるいは書き込み制御信号、もしくは前記読み出しアドレス情報あるいは前記書き込みアドレス情報の一部が前記第１チャネル上でブロードキャストされる、請求項１に記載の方法。
【請求項６】
前記書き込みデータは複数のペイロードを備え、
前記送信要素が前記ペイロードの１つの第１の部分と第２の部分との間に読み出しアドレス情報あるいは書き込みアドレス情報の一部をブロードキャストする、
請求項１に記載の方法。
【請求項７】
さらに、前記受信要素から前記送信要素へ、前記第１チャネル上の前記ブロードキャストを受け取ったことを知らせるためにシグナリングする、請求項１に記載の方法。
【請求項８】
さらに、前記受信要素から前記送信要素への前記シグナリングに応答して、前記読み出しアドレス情報あるいは前記書き込みアドレス情報、前記読み出し制御信号あるいは前記書き込み制御信号、もしくは書き込みデータの同一部分のブロードキャストを繰り返す、請求項７に記載の方法。
【請求項９】
前記書き込みデータは複数のペイロードを備え、
前記ペイロードの１と関連づけられた前記書き込みアドレス情報の部分の前記ブロードキャストに続くが、前記ペイロードの前記１つが前記受信要素に完全にブロードキャストされる前のタイムピリオドの間、前記読み出しアドレス情報あるいは前記読み出し制御信号の前記同一部分が、繰り返しブロードキャストされ、
前記方法は、さらに、
前記タイムピリオドの終わりに前記繰り返されたブロードキャストを中断し、
前記ペイロードの前記１つの前記ブロードキャストを完了し、
前記ペイロードの前記１つの前記ブロードキャストの完了に続いて、前記読み出しアドレス情報あるいは前記読み出し制御信号の前記同一部分のブロードキャストを繰り返す、
請求項８に記載の方法。
【請求項１０】
さらに、前記受信要素から前記送信要素へ、前記受信要素がいつ前記読み出しデータをブロードキャストしているかを示すためシグナリングする、請求項１に記載の方法。
【請求項１１】
さらに、
前記第２チャネル上で前記受信要素から命令をブロードキャストし、
前記送信要素が前記読み出しデータと前記命令とを区別できるよう、前記受信要素から前記送信要素へシグナリングする、
請求項１０に記載の方法。
【請求項１２】
前記第２チャネルは複数の副チャネルを備え、
前記副チャネルの第１副チャネルがとあるタイムピリオドの間に読み出しデータの一部をブロードキャストし、並行して、前記副チャネルの第２副チャネルが同一のタイムピリオドの間に命令の一部のブロードキャストする、
請求項１１に記載の方法。
【請求項１３】
第１チャネルと第２チャネルとを有するバスと、
前記第１チャネル上で、読み出しアドレス情報と、書き込みアドレス情報と、読み出し制御信号と、書き込み制御信号と、書き込みデータとをブロードキャストするよう構成されている送信要素と、
前記書き込みアドレス情報と前記書き込み制御信号とに基づいて前記第１チャネル上でブロードキャストされた前記書き込みデータを格納し、前記読み出しアドレス情報と前記読み出し制御信号とに基づいて読み出しデータを引き出し、前記送信要素に前記引き出された読み出しデータを前記第２チャネル上でブロードキャストする、よう構成されている受信要素と、
を備え、
前記送信要素はさらに、前記第１チャネル上でブロードキャストされた、前記書き込みデータと、前記読み出し制御信号及び前記書き込み制御信号と、前記読み出しアドレス情報及び前記書き込みアドレス情報とを区別できるように、前記受信要素をシグナリングするよう構成されている、
処理システム。
【請求項１４】
前記第１チャネルは複数の副チャネルを備え、
前記送信要素はさらに、前記副チャネルの第１副チャネルがとあるタイムピリオドの間に前記アドレス情報の一部をブロードキャストし、並行して、前記副チャネルの第２副チャネルが同一のタイムピリオドの間に制御信号の一部をブロードキャストするよう構成されている、
請求項１３に記載の処理システム。
【請求項１５】
前記送信要素はさらに、前記副チャネルの第３副チャネル上に前記同一のタイムピリオドの間に書き込みデータの一部をブロードキャストするよう構成されている、請求項１４に記載の処理システム。
【請求項１６】
前記読み出し信号と前記書き込み信号とは、複数の転送修飾句と書き込みバイトイネーブルとを備える、請求項１３に記載の処理システム。
【請求項１７】
前記送信要素はさらに、前記第２チャネル上で、前記引き出された読み出しデータの少なくとも一部のブロードキャストと並行して、少なくとも、書き込みデータ、読み出し制御信号あるいは書き込み制御信号、もしくは前記読み出しアドレス情報あるいは前記書き込みアドレス情報の一部が前記第１チャネル上でブロードキャストするよう構成されている、請求項１３に記載の処理システム。
【請求項１８】
前記書き込みデータは複数のペイロードを備え、
前記送信要素はさらに、前記ペイロードの１つの第１の部分と第２の部分との間に読み出しアドレス情報あるいは書き込みアドレス情報の一部をブロードキャストするよう構成されている、
請求項１３に記載の処理システム。
【請求項１９】
前記受信要素はさらに前記第１チャネル上の前記ブロードキャストを受け取ったことを知らせるために、前記送信要素に対してシグナリングするよう構成されている、請求項１３に記載の処理システム。
【請求項２０】
前記送信要素はさらに、前記受信要素からそのようなブロードキャストに関する確認を受け取っていない場合、書き込みデータ、読み出し制御信号あるいは書き込み制御信号、もしくは読み出しアドレス情報あるいは書き込みアドレス情報の前記同一部分のブロードキャストを繰り返すよう構成されている、請求項１９に記載の処理システム。
【請求項２１】
前記送信要素がさらにアドレスバックオフ機構を備える、請求項１９に記載の処理システム。
【請求項２２】
前記受信要素がさらに前記受信要素がいつ前記読み出しデータをブロードキャストしているかを示すために前記送信要素にシグナリングするよう構成されている、請求項１３に記載の処理システム。
【請求項２３】
前記受信要素がさらに、前記第２チャネル上で命令をブロードキャストし、前記送信要素が前記読み出しデータと前記命令とを区別できるように前記送信要素にシグナリングする、よう構成されている、請求項２２に記載の処理システム。
【請求項２４】
前記第２チャネルは複数の副チャネルを備え、
前記受信要素はさらに、前記副チャネルの第１副チャネル上でとあるタイムピリオドの間に読み出しデータの一部をブロードキャストし、並行して、前記副チャネルの第２副チャネル上で同一のタイムピリオドの間に命令の一部のブロードキャストするよう構成されている、
請求項２３に記載の処理システム。
【請求項２５】
第１チャネルと第２チャネルとを有するバスと、
前記第１チャネル上を、読み出しアドレス情報と、書き込みアドレス情報及び読み出しアドレス制御信号と、書き込みアドレス制御信号及び書き込みデータとをブロードキャストするための送信手段と、
前記書き込みアドレス情報と前記書き込み制御信号とに基づいて、前記第１チャネル上でブロードキャストされた前記書き込みデータを格納し、前記読み出しアドレス情報と前記読み出し制御信号とに基づいて、読み出しデータを引き出し、前記第２チャネル上で送信要素へ前記引き出された読み出しデータをブロードキャストするための受信手段と、
を備え、
前記送信手段はさらに、前記受信要素が、前記第１チャネル上でブロードキャストされた、前記書き込みデータと、前記読み出し制御信号及び前記書き込み制御信号と、前記読み出しアドレス情報及び前記書き込みアドレス情報とを区別できるように、前記受信手段をシグナリングするための手段を備える、
処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にはデジタルシステムに関し、より詳細にはスケーラブルなバス構造に関する。
【背景技術】
【０００２】
洗練された処理タスクが素早く実行されることを可能にすることにより、計算機は電子産業界に革命を起こしてきた。これらの洗練されたタスクは、バスを用いる速く効率的な方法で互いと通信する多くの複雑な要素を含むシステムにより実行されることができる。バスは計算機、計算機サブシステム、計算機システム、あるいは他の電子システム内の要素間のチャネルあるいはパス（ｐａｔｈ）である。
【０００３】
計算機内にある（ｒｅｓｉｄｅｎｔ）多くのバスは伝統的に共有バスとして実現されてきた。共有バスは、いずらかの数の要素が共通のパスあるいはチャネル上で通信するための手段を提供する。近年、共有バス技術は１対１（ｐｏｉｎｔ−ｔｏ−ｐｏｉｎｔ）スイッチング接続により補われてきた。１対１スイッチング接続はバス上の２要素間での直接接続を提供し、同時にそれらはお互いに通信する。マルチプル直接リンクはいくつかの要素が同時に通信できるようにするために使用されることができる。
【０００４】
計算機向けの共通の構成はシステムメモリを持つマイクロプロセッサを含む。高帯域システムバスがそれら２つの間の通信をサポートするために使用されることができる。加えて、データを周辺機器に転送させるために使用される周辺バスも存在できる。ある場合には、様々な資源（ｒｅｓｏｕｒｃｅ）を規定する（ｐｒｏｇｒａｍｍｉｎｇ）目的で使用されるコンフィギュレーション（ｃｏｎｆｉｇｕｒａｔｉｏｎ）バスもありえる。必要なプロトコル変換を提供するためだけでなく、より高帯域幅のバスとより低帯域幅のバスとの間でデータを効率的に転送するために、ブリッジ（ｂｒｉｄｇｅｓ）が使用されることができる。これらのバスのそれぞれは異なるプロトコルで実現されてきており、それらの間の性能要件（ｒｅｑｕｉｒｅｍｅｎｔ）において幅広い変種を持つことができる。
【０００５】
計算機におけるマルチプルバス構造の利用は長年の間、実行できる解決策を提供してきた。しかし、面積と電力とが集積回路向けの主要な設計考慮事項として出現しているため、バス構造の複雑さを減らすことがますます望ましくなってきた。
【発明の概要】
【０００６】
本発明の第１の観点では、バス上における送信要素と受信要素との間で通信する方法は、読み出しアドレス情報及び書き込みアドレス情報と、読み出し制御信号及び書き込み制御信号と、書き込みデータとを前記バスの第１チャネル上で前記送信要素からブロードキャストすることを含む。前記方法は、前記第１チャネル上でブロードキャストされた、前記書き込みデータと、前記読み出し制御信号及び前記書き込み制御信号と、前記読み出しアドレス情報及び前記書き込みアドレス情報とを前記受信要素が区別できるように、前記送信要素から前記受信要素へシグナリングすることも含む。前記方法はさらに、前記書き込みアドレス情報と前記書き込み制御信号とに基づいて、前記受信要素において前記第１チャネル上でブロードキャストされた書き込みデータを格納し、前記読み出しアドレス情報と前記読み出し制御信号とに基づいて、前記受信要素から読み出しデータを引き出し、引き出された読み出しデータを第２チャネル上で前記受信要素からブロードキャストすることを含む。
【０００７】
本発明の別の観点では、処理システムは第１チャネルと第２チャネルとを有するバスを含む。前記処理システムは、前記第１チャネル上で、読み出しアドレス情報と、書き込みアドレス情報と、読み出し制御信号と、書き込み制御信号と、書き込みデータとをブロードキャストするよう構成された送信要素を含む。前記処理システムはさらに、前記書き込みアドレス情報と前記書き込み制御信号とに基づいて、前記第１チャネル上でブロードキャストされた書き込みデータを格納し、前記読み出しアドレス情報と前記読み出し制御信号とに基づいて、読み出しデータを引き出し、前記送信要素に前記第２チャネル上で前記引き出された読み出しデータをブロードキャストするよう構成された受信要素を含む。前記送信要素はさらに、前記第１チャネル上でブロードキャストされた、前記書き込みデータと、前記読み出し制御信号及び前記書き込み制御信号と、前記読み出しアドレス情報及び前記書き込みアドレス情報とを区別できるように、前記受信要素をシグナリングするよう構成される。
【０００８】
本発明のさらに別の観点では、処理システムは第１チャネルと第２チャネルとを有するバスを含む。前記処理システムは、前記第１チャネル上で、読み出しアドレス情報と、書き込みアドレス情報及び読み出しアドレス制御信号と、書き込みアドレス制御信号及び書き込みデータとをブロードキャストするための送信手段も含む。前記処理システムはさらに、前記書き込みアドレス情報と前記書き込み制御信号とに基づいて、前記第１チャネル上でブロードキャストされた書き込みデータを格納し、前記読み出し信号と前記読み出し制御信号とに基づいて、読み出しデータを引き出し、前記送信要素に前記第２チャネル上で前記引き出された読み出しデータをブロードキャストするための受信手段を含む。前記送信手段はさらに、前記受信要素が、前記第１チャネル上でブロードキャストされた、前記書き込みデータと、前記読み出し制御信号及び前記書き込み制御信号と、前記読み出しアドレス情報及び前記書き込みアドレス情報とを区別できるように、前記受信手段をシグナリングするための手段を含む。
【０００９】
本発明の他の実施形態は、図解の方法で本発明の様々な実施形態が示されそして記述されている以下の詳細な記述から当業者にとって容易に明白となることが理解されるであろう。すべて本発明の精神と範囲とから逸脱することなく、理解されるように、本発明は他の異なる実施形態が可能であり、そのいくつかの詳細は様々な他の側面における変更が可能である。したがって、図面と詳細な記述とは、本質的に例として、そして制限的でないとしてみなされるべきである。
【図面の簡単な説明】
【００１０】
【図１】図１は、処理システム内の２要素間２チャネルバス上での１対１接続の例を説明する概念的なブロック図である。
【図２】図２は、２チャネルバス上での１対１接続を有する処理システムにおいて２要素間での書き込み動作と読み出し動作とを示すタイミング図である。
【図３】図３は、処理システム内の２要素間高性能２チャネルバス上での１対１接続の例を説明する概念的なブロック図である。
【図４】図４は、図３の高性能バスの時分割多重の性質を説明する概念的なブロック図である。
【図５】図５は、処理システム内の２要素間低帯域幅２チャネル上での１対１接続の例を説明する概念的なブロック図である。
【図６】図６は、図５の低帯域幅バスの時分割多重の性質を説明する概念的なブロック図である。
【図７】図７は、ブリッジを通した高性能要素と低帯域幅要素との間の１対１接続の例を説明する概念的なブロック図である。
【発明を実施するための最良の形態】
【００１１】
本出願は、２００４年２月４日に出願された米国特許出願第６０／５４２１１４号の優先権を主張する。
【００１２】
本発明の側面は例として図解されているのであり、添付図面に制限されない。
【００１３】
添付された図面と関連して以下の詳細な記載は、本発明の様々な実施形態の記載とみなされ、本発明が実践される可能性のある実施形態のみを表現することを意図したものではない。詳細な記載は本発明の完全な理解を提供する目的のために具体的な詳細を含む。しかし、当業者にとってはこれらの具体的な詳細がなくても本発明が実践できることが明白であろう。いくつかの例では、本発明の概念を不明瞭にすることを避けるため、よく知られた構造と要素とがブロック図の形式で示されている。略語と他の叙述的な用語とが単に便宜と明快さとのためのみで使用される可能性があり、本発明の範囲を制限することは意図されていない。
【００１４】
処理システムにおける様々な要素はバス上で通信できる。様々な要素の帯域幅の必要条件をサポートするため、このバスは幅とクロック周波数とに関してスケーラブル（ｓｃａｌａｂｌｅ）であってもよい。このバスはまた、すべてのスケーラブルな構成のために、共通のアーキテクチャとシグナリングプロトコルとを使用できる。これは、そのバスのシグナリングプロトコルを、情報を送信あるいは受信することのどちらか一方に必要なそれらの信号のみに減らすことにより達成されることができる。
【００１５】
そのバスは、時分割多重の仕方と同一のシグナリングプロトコルを用いて、送信要素から受信要素へ情報をブロードキャストするための一般的な媒体を提供する「送信チャネル」と共に構成されることができる。「受信チャネル」は同一のシグナリングプロトコルを用いて受信要素から送信要素へ情報をブロードキャストすることもできる。
【００１６】
図１はこの基本的概念を説明する概念的なブロック図である。２つの要素間のバス上の１対１接続が処理システム内に示されている。処理システム１００は１あるいは２以上の処理機能を実行するために協力する要素の集合であってもよい。典型的には、処理システムは計算機であり、あるいは計算機の中にあって、情報の処理、引き出し、格納ができるであろう。処理システムはスタンドアロンであることが可能である。あるいは、処理システムは例として携帯電話を含む、いずれかの装置に組み込まれることができる。
【００１７】
この処理システム１００の１実施形態では、バス１０６は送信要素１０２と受信要素との間の専用バスである。処理システム１００の別の実施形態では、送信要素１０２は受信要素１０４と、（図示しない）バス相互接続を介してバス１０６上での１対１接続で通信する。その上、当業者には容易に認識できるであろうに、本明細書のいたるところに記載されている独創的な側面は専用バスあるいは１対１スイッチング接続に限られるものではなく、例として共有バスを含むあらゆる種類のバス技術に適用されることができる。
【００１８】
送信要素１０２は、例としてマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、直接メモリアクセスコントローラ、ブリッジ、プログラマブル論理要素、ディスクリートゲートあるいはトランジスタロジック、あるいは任意の他の情報処理要素を含む、任意の種類のバスマスタリング（ｍａｓｔｅｒｉｎｇ）要素であってもよい。
【００１９】
受信要素１０４は例として、レジスタ、メモリ、ブリッジ、あるいは、情報を引き出し格納できる任意の他の要素を含む任意の格納要素であることができる。その受信要素の各アドレス位置での記憶容量は特定のアプリケーションと全体の設計制約とに依存して変わってもよい。説明の目的のため、受信要素はアドレス位置ごとに１バイトの記憶容量を持って記述されよう。
【００２０】
送信要素１０２は受信要素１０４から読み出され、あるいは受信要素１０４に書き込まれることができる。送信要素１０２が受信要素１０４に書き込む場合、送信要素は、送信チャネル１０８上で受信要素１０４へ、アドレス位置と適切な制御信号とペイロード（ｐａｙｌｏａｄ）とをブロードキャストすることができる。「ペイロード」は特定の読み出し動作あるいは書き込み動作、この場合では書き込み動作、と関連づけられたデータのことを指す。
【００２１】
制御信号は転送修飾句（ｔｒａｎｓｆｅｒ  ｑｕａｌｉｆｉｅｒ）を含むことができる。用語「転送修飾句」は、書き込み動作、読み出し動作、あるいは別のバスに関連した動作の属性（ａｔｔｒｉｂｕｔｅ）を記述するパラメータのことを指す。この場合、転送修飾句は、そのペイロード内に含まれるデータバイトの数を示すために「ペイロードサイズ信号」を含めることができる。そのペイロードが複数のバイトである場合、受信要素１０４は送信チャネル１０８上でブロードキャストされたアドレス位置で始まる連続したアドレス位置のブロック内にそのペイロードを格納できる。例として、送信デバイス１０２が４バイトの書き込みデータが続くアドレス位置１００ＨＥＸをブロードキャストした場合、受信要素１０４は１００ＨＥＸで始まり、１０３ＨＥＸで終わる連続したアドレス位置のブロックにそのペイロードを書き込むことができる。
【００２２】
制御信号は書き込みバイトイネーブル（ｗｒｉｔｅ  ｂｙｔｅ  ｅｎａｂｌｅｓ）も含むことができる。「書き込みバイトイネーブル」は、書き込み動作に関しペイロードをブロードキャストするために送信チャネル１０８上のどのバイトレーンが使用されるかを示すために使用されることができる。例として、３２ビットの送信チャネル１０８上でブロードキャストされる２バイトのペイロードは４つのバイトレーンのうち２つを使用できる。書き込みバイトイネーブルは、そのペイロードをブロードキャストするため送信チャネル１０８上のどの２つのバイトレーンが使用されるかを受信要素１０４に示すために使用できる。
【００２３】
送信要素１０２が受信要素１０４から読み出す場合、アドレス位置と適切な転送修飾句とは、送信チャネル１０８でブロードキャストされる必要のある情報のみであってもよい。その転送修飾句は、ペイロード内に含まれるデータバイトの数を示すためのペイロードサイズ信号を含むことができる。受信要素１０４はそのブロードキャストを受け取ったことを知らせ、受信チャネル１１０上にそのペイロードを送信してもよい。そのペイロードが複数のバイトである場合、受信要素１０４は送信チャネル１０８上でブロードキャストされたアドレス位置で始まる連続したアドレス位置のブロックからペイロードを読み出せる。例として、送信デバイス１０２がアドレス位置２００ＨＥＸをブロードキャストし４バイトの読み出しパイロードを要求する場合、受信要素１０４は２００ＨＥＸで始まり、２０３ＨＥＸで終わる連続したアドレス位置のブロックからペイロードを引き出すことができる。
【００２４】
ここまでに（ｔｈｕｓ  ｆａｒ）記述された処理システムの実施形態において、送信要素１０２は送信チャネル１０８の全体の（ｔｏｔａｌ）制御を有し、活動中の書き込み動作、に先立って、の間、あるいは、の後に、それらの関連づけられた制御信号と共に、１あるいは２以上のアドレス位置をブロードキャストすることができる。その上、送信チャネル１０８と受信チャネル１１０とはまったく独立しており、送信要素によるアドレス位置と制御信号と書き込みデータとのブロードキャストは、受信要素１０４による読み出しデータのブロードキャストと同時に起こることがあってもよい。「書き込みデータ」は送信要素１０２によりブロードキャストされたデータのことを指し、「読み出しデータ」は受信要素１０４から読み出され受信チャネル１１０上でブロードキャストされたデータのことを指す。
【００２５】
送信チャネル１０８と受信チャネル１１０との上での読み出し動作と書き込み動作とのシーケンスを制御するため、暗黙のアドレッシングスキーム（ｓｃｈｅｍｅ）が使用できる。例として、送信要素１０２が、送信チャネル１０８上で適切な制御信号と共に一連のアドレス位置をブロードキャストすることで、マルチプルな（ｍｕｌｔｉｐｌｅ）書き込み動作を開始する場合、送信要素１０２はアドレス位置がブロードキャストされたのと同一のシーケンスで、各書き込み動作のためのペイロードをブロードキャストするであろう。同様に、送信要素１０２が適切な制御信号と共に一連のアドレス位置をブロードキャストすることで、マルチプルな読み出し動作を開始する場合、受信要素１０４はアドレス位置を受け取ったのと同一のシーケンスで、各読み出し動作のためのペイロードを引き出すであろう。
【００２６】
「転送タグ」は、この暗黙のアドレッシングスキームの代案として使用されてもよい。送信要素１０２はそれぞれの書き込み動作と読み出し動作とのために転送タグを割り当てることができる。その転送タグは送信チャネル１０８上でブロードキャストされた転送修飾句に含めることができる。書き込み動作の場合、送信要素１０２はペイロードと共に転送タグを送信でき、受信要素１０４はそのペイロードを同定するためにその転送修飾句から取り出された（ｒｅｃｏｖｅｒｅｄ）転送タグを使用できる。読み出し動作の場合、受信要素１０４はそのペイロードと共に取り出された転送タグを送信でき、送信要素はそのペイロードを同定するために転送タグを使用できる。
【００２７】
ここまでに（ｔｈｕｓ  ｆａｒ）記述された様々な概念はいずれかの数のプロトコルを使用しても実現されてもよい。続く詳細な記述において、バスプロトコルの例が提示されるであろう。処理システムの独創的な側面を説明するため、そのような独創的な側面が任意の相応しいプロトコルと共に使用されうるという理解と共に、このバスプロトコルは提示されている。送信チャネルに関する基本シグナリングは以下の表１に示される。当業者はここに記載するバス構造の現実の実現において、容易にこのプロトコルに対し信号を変更、及び／あるいは追加できるであろう。
【表１】
2011044154.tif 000003
【００２８】
以下の表２に示されるように、受信チャネルに関する同一のシグナリングプロトコルが使用できる。
【表２】
2011044154.tif 000004
【００２９】
このシグナリングプロトコルで使用される種類フィールドの定義は表３に示される。
【表３】
2011044154.tif 000005
【００３０】
このシグナリングプロトコルにおける有効信号と転送要請信号との定義は表４に示される。
【表４】
2011044154.tif 000006
【００３１】
図２は、３２ビットの送信チャネルと３２ビットの受信チャネルとの上での読み出し動作と書き込み動作とを図解するタイミング図である。システムクロック２０２は、送信要素と受信要素との間の通信を同期させるために使用されてもよい。システムクロック２０２は、１１クロックサイクルで示され、説明しやすくするため各サイクルは連続的に番号が付けられている。
【００３２】
第２クロックサイクル２０３の間に、送信要素により書き込み動作が開始されることができる。これは、書き込み動作用のアドレス位置のブロードキャストをシグナリングする（ｓｉｇｎａｌ）ために、有効信号２０４をアサートし、種類フィールド２０６を設定することにより達成されることができる。アドレス位置は、受信要素に向けて送信チャネル２０８上でブロードキャストされることもできる。このブロードキャストに応答して、受信要素はそのアドレスキュー（ｑｕｅｕｅ）中に当該アドレス位置を格納する。
【００３３】
アドレス位置のブロードキャストに、第３クロックサイクル２０５において書き込み動作用にブロードキャストされた制御信号が続いてもよい。送信要素は、有効信号２０４がアサートされた状態に保ち、種類フィールド２０６を適切に変更することで、ブロードキャストされたその制御信号について受信要素に警報を出せ（ａｌｅｒｔ）る。ブロードキャストされた制御信号は、書き込み動作のため書き込みバイトイネーブルと転送修飾句とを含んでもよい。この場合、転送修飾句は８バイトペイロードを示しているペイロードサイズ信号を含めることができる。書き込みバイトイネーブルは、その８バイトペイロードが送信チャネル２０８のすべてのバイトレーン上で送信されるであろうことを示すことができる。受信要素はブロードキャストされたペイロードが２クロックサイクルにわたってブロードキャストされるであろうことをこの情報から判別できる。
【００３４】
書き込み動作用のペイロードの最初の４バイトは、第４クロックサイクルの間、送信チャネル２０８上でブロードキャストされることができる。送信要素は、ブロードキャストされたペイロードをシグナリングするため種類フィールド２０６を変更し、有効信号２０４をアサートされた状態に保つことで、ブロードキャストされたペイロードについて受信要素に警報を出せる。転送タグがない場合、受信要素は、その書き込みデータを、先に議論された暗黙のアドレッシングスキームに基づくペイロードの最初の４バイトとして認識する。このブロードキャストに応答して、ペイロードの最初の４バイトは受信要素に書き込むことができる。
【００３５】
続くクロックサイクル２０９において、送信チャネル２０８上でペイロードの第２の４バイトがブロードキャストされるように、有効信号２０４と種類フィールド２０６とは不変のままである。しかし、受信要素は、当該ブロードキャストを受け入れられないことを示している転送要請信号２１０を論じる（ｄｉｓｓｅｒｔｅｄ）。送信要素はこの第５クロックサイクル２０９の終わりに転送要請信号２１０がアサートされていないことを検出し、続くクロックサイクル２１１において、そのペイロードの第２の４バイトのブロードキャストを再度行うことができる。送信要素は、送信要素が受信要素からの転送要請信号２１０のアサーションを検出するまで、クロックサイクルごとにペイロードの第２の４バイトをブロードキャストし続けてもよい。この場合、ただ１つの繰り返しのブロードキャストが要求される。ペイロードの第２の４バイトは第６クロックサイクルにおいて受信要素に書き込まれることができる。第６クロックサイクル２１１の終わりに、送信要素は転送要請信号２１０のアサーションを検出し、当該ブロードキャストが受け取られたことを判別する。
【００３６】
第７クロックサイクル２１３の間に送信要素により読み出し動作が開始されることができる。これは、読み出し動作のためのアドレス位置のブロードキャストをシグナリングするために、有効信号２０４をアサートし、種類フィールド２０６を設定することにより達成されることができる。そして、アドレス位置が受信要素へ送信チャネル２０８上でブロードキャストされることができる。このブロードキャストに応答して、受信要素はそのアドレスキューに当該アドレス位置を格納する。
【００３７】
アドレス位置のブロードキャストに、第８クロックサイクル２１５において読み出し動作用にブロードキャストされた制御信号が続くことが可能である。送信要素は、有効信号２０４をアサートされた状態に保ち、種類フィールド２０６を適切に変更することで、ブロードキャストされた制御信について受信要素に警報を出せる。ブロードキャストされた制御信号は、読み出し動作のために転送修飾句を含んでもよい。この場合、転送修飾句は４バイトペイロードを示しているペイロードサイズ信号を含むことができる。受信要素はブロードキャストされたペイロードが１クロックサイクルにわたってブロードキャストされうることをこの情報から判別できる。
【００３８】
受信要素の読み出し遅延時間のため、読み出しデータが利用可能となる前に、数クロックサイクルの遅延が経験され（ｅｘｐｅｒｉｅｎｃｅｄ）てもよい。ひとたび４バイトのペイロードが利用可能となると、受信要素は有効信号２１２をアサートし、受信チャネル２１６上をブロードキャストされたペイロードをシグナリングする種類フィールド２１４をアサートできる。送信要素により転送要請信号２１８がアサートされるため、そのペイロードのブロードキャストが１クロックサイクル内で完了させられることができる。受信要素は第１０クロックサイクル２１９の終わりにおいて転送要請信号２１８のアサーションを検出し、それによりそのペイロードのブロードキャストが成功したことを判別する。
【００３９】
図３は高性能バス上での２要素間の１対１接続を図解する概念的なブロック図である。高性能バスの送信チャネル１０８と受信チャネル１１０とは、各副チャネルが３２ビット幅であるマルチプル副チャネルとして実現されることができきる。現実の実装において、副チャネルの数と各副チャネルの幅とは特定の応用の性能要件に依存して変化してもよい。この例では、送信チャネルは４つの３２ビット副チャネル１０８ａ−１０８ｄを含み、受信チャネルは２つの３２ビット副チャネル１１０ａ−１１０ｂを含む。この実装は、例として、計算機内のシステムバスあるいは任意の他の高性能バスに相応しいかもしれない。用語「副チャネル」はチャネル内の他のワイヤあるいは導線から独立して制御されてもよいワイヤあるいは導線の集まりを指す。これは、副チャネルが独立したシグナリング能力が提供されることができることを意味する。
【００４０】
いくつかの情報の組み合わせを同時にブロードキャストするため、この高性能バスが送信要素１０２により使用されることができる。例として、単一のクロックサイクル内で３２ビットのアドレス位置と、転送修飾句と書き込みバイトイネーブルとを含む制御信号の３２ビットと、書き込みデータの８バイトとを送信要素はブロードキャストできる。受信チャネル１１０の場合は、単一のクロックサイクル内で、読み出しデータの８バイトが受信要素１０４から送信要素１０２へブロードキャストされることができる。
【００４１】
ここまでに記述された処理システムの様々な実施形態は、読み出しデータ以外の、受信チャネル１１０上でブロードキャストされるあらゆる他の種類の情報を含まないため、副チャネルの必要がない。シグナリング要件（すなわち、副チャネルなし（ｎｏ  ｓｕｂ−ｃｈａｎｎｅｌｓ））を減らすため、単一の６４ビット受信チャネルが実現されてもよい。しかし、処理システムのある種の実施形態では、他の情報のブロードキャストを可能にするためにシグナリングプロトコルにおける種類フィールドが拡張されてもよい。例として、そのデータが受信要素１０４に書き込まれたことを送信要素にシグナリングするため、「書き込み応答」が受信チャネル１１０上にブロードキャストされることができる。書き込み応答は予約された種類フィールドの１つを用いて受信チャネル１１０上にブロードキャストされてもよい。この場合、読み出しデータと書き込み応答とが同時に受信チャネル１１０上にブロードキャストされうるために、２つの独立して制御された３２ビットの副チャネルを有することが有益でありうる。そのうえ、２つの３２ビット副チャネルで、読み出しデータの４バイト、読み出しデータの２バイト及び３２ビットの書き込み応答、あるいは２つの３２ビットの書き込み応答を同時にブロードキャストできる可能性もある。他方、単一の６４ビット受信チャネル１１０は、いずれかの与えられたクロックサイクルにおいて、読み出しデータあるいは書き込み応答をサポートできるのみである可能性がある。
【００４２】
同様の方法で、標準コマンドのような、多くのバスプロトコルに共通する他の種類の情報のブロードキャストを含むために送信チャネルが拡張されることもできる。例として、バスに付属したマイクロプロセッサは、システム内の他の要素に、例えば、ＴＡＢ同期コマンドやＴＡＢ無効コマンドのような、情報をブロードキャストする必要があってもよい。これらのコマンドは、付加的なシグナリングの必要性なしに種類フィールド内に分類されることができる。
【００４３】
図４は、４つの副チャネル１０８ａ−１０８ｄを持つ送信チャネル１０８の時分割多重の性質を図解するブロック図である。この例では、完全な８バイトのペイロードのブロードキャストが、単一のクロックサイクル内で４つの副チャネルにわたって完了させられる。より詳細には、第１クロックサイクル４０１の間に、第１の書き込み動作のために、第１の副チャネル１０８ａ上で３２ビットのアドレス位置を、第２の副チャネル１０８ｂ上で制御信号の３２ビットを送信要素はブロードキャストすることができる。送信要素も、同じクロックサイクルの間に、第３の副チャネル１０８ｃ上でペイロードのより高い順序の４バイトを、第４の副チャネル１０８ｄ上でそのペイロードのより低い順序の４バイトをブロードキャストすることができる。副チャネル１０８ａ−１０８ｄのそれぞれは独立したシグナリング能力と共に提供されることが可能であり、上述した場合には、各副チャネルに関して適切な種類フィールドを持つ有効信号をアサートする。
【００４４】
第１クロックサイクル４０１の終わりに各副チャネル１０８ａ−１０８ｄに関して転送要請がアサートされた状態で、第２クロックサイクル４０３の間に２つの書き込み動作が送信要素により開始されることができる。これは、各副チャネル１０８ａ−１０８ｂに関する適切なシグナリングと共に、第１の読み出し動作のために、第１の副チャネル１０８ａ上で３２ビットのアドレス位置を、第２の副チャネル１０８ｂ上で制御信号の３２ビットをブロードキャストすることにより達成されることができる。再び各副チャネル１０８ｃ−１０８ｄに関する適切なシグナリングと共に、第２の読み出し動作のために、第３の副チャネル１０８ｃ上で３２ビットのアドレス位置を、第４の副チャネル１０８ｄ上で制御信号の３２ビットを送信要素がブロードキャストできる。
【００４５】
第２クロックサイクルの終わりに各副チャネル１０８ａ−１０８ｄに関して転送要請がアサートされた状態で、第３クロックサイクル４０５の間に、第２の書き込み動作と第３の読み出し動作とが送信要素により開始されることができる。これは、各副チャネル１０８ａ−１０８ｂに関する適切なシグナリングと共に、第２の書き込み動作のために、第１の副チャネル１０８ａ上で３２ビットのアドレス位置を、第２の副チャネル１０８ｂ上で制御信号の３２ビットをブロードキャストすることにより達成されることができる。再び各副チャネル１０８ｃ−１０８ｄに関する適切なシグナリングと共に、第３の読み出し動作のために、第３の副チャネル１０８ｃ上で３２ビットのアドレス位置を、第４の副チャネル１０８ｄ上で制御信号の３２ビットを送信要素がブロードキャストできる。
【００４６】
この例において、第３クロックサイクル４０５の終わりに、第１の副チャネル１０８ａと第２の副チャネル１０８ｂとの上で転送要請信号がアサートされるが、第３の副チャネル１０８ｃと第４の副チャネル１０８ｄとの上ではアサートされない。送信要素は、第３の副チャネル１０８ｃと第４の副チャネル１０８ｄとの上で、転送要請信号がアサートされていないことを検出し、第３の読み出し動作のための制御信号とアドレス位置とが再びブロードキャストされるべきことを判別できる。第３の読み出し動作のための制御信号とアドレス位置とが、それぞれ第４の副チャネル１０８ｄと第３の副チャネル１０８ｃとで、第４クロックサイクル４０７の間にブロードキャストされていることが示されているが、その後のいずれかのクロックサイクルの間にいずれの副チャネル上でも再びブロードキャストされてもよい。
【００４７】
上述の例において、受信要素は、第３の読み出し動作に関し制御信号とアドレス位置との双方とを受け入れるかあるいは拒否するかのように構成される。しかし、処理システムのある種の実施形態では、同一の読み出し動作あるいは書き込み動作に関し、受信要素はアドレス位置を受け入れ制御信号を拒否する、あるいはその逆を行うように構成されてもよい。同様に、受信要素が個々にペイロードのより高い順序のバイトあるいはより低い順序のバイトを受け入れるあるいは拒否するように構成されてもよい。この場合、第３の読み出し動作のための制御信号を言うの再ブロードキャストを以前ブロードキャストされた同一の動作のためのアドレス位置と結びつける方法である必要がある。これは様々な方法で達成されることができる。例として、ひとたび読み出し動作あるいは書き込み動作のためのアドレス位置が送信され受信要素により受け取ったことを知らされる（ａｃｋｎｏｗｌｅｄｇｅｄ）と、次の読み出し動作あるいは書き込み動作のためのアドレスは、現在の読み出し動作要求あるいは書き込み動作要求と関連づけられた制御信号が受け取られ受信要素により受け取ったことが知らされるまでブロードキャストされない。
【００４８】
第４クロックサイクル４０７の間に、送信要素は第２の書き込み動作のためのペイロードをブロードキャストし、第３の読み出し動作を開始するために２回目を試みることができる。これは、各副チャネル１０８ａ−１０８ｂに関する適切なシグナリングと共に、第２の書き込み動作のために、第１の副チャネル１０８ａ上でペイロードのより高いオーダの４バイトを、第２の副チャネル１０８ｂ上でペイロードのより低いオーダの４バイトをブロードキャストすることにより達成されることができる。第３の読み出し動作に関する、第３の副チャネル１０８ｃ上で３２ビットのアドレス位置を、第４の副チャネル１０８ｄ上で制御信号の３２ビットを送信要素が再びブロードキャストできる。
【００４９】
この高性能バスの実施形態において、書き込み／読み出し要求の順序は状況により暗に示されてもよい。送信要素は、第１の副チャネル１０８ａ上で第１の書き込み／読み出し要求を、第２の副チャネル１０８ｂ上で第２の書き込み／読み出し要求を、第３の副チャネル１０８ｃ上で第３の書き込み／読み出し要求を、第４の副チャネル１０８ｄ上で第４の書き込み／読み出し要求をブロードキャストできる。受信要素は連続した一貫性を維持するためこの暗黙のポジショニング（ｐｏｓｉｔｉｏｎｉｎｇ）に基づいて要求を処理できる。例として、第３クロックサイクル４０５の間に開始された読み出し動作に関するアドレス位置と書き込み動作とに関するアドレス位置が同一である場合、受信要素は、送信要素への送信のためにこのアドレス位置に新たに書き込まれたデータを受信チャネルに供給する前に、第４クロックサイクルの間に第１の副チャネル１０８ａと第２の副チャネル１０８ｂとの上でブロードキャストされたデータがそのアドレス位置に書き込まれるまで待つことができる。
【００５０】
ここまでで記述された高性能バスの実施形態において、書き込み動作の要求（すなわち、アドレス位置と制御信号と）のブロードキャストに続いて書き込みデータが直ちにブロードキャストされる必要はない。他のより高い優先順位を持つ読み出し動作要求、および／あるいは命令は、送信チャネル１０８上でブロードキャストされた書き込みデータにインターリーブされる（ｉｎｔｅｒｌｅａｖｅｄ）ことができる。しかし、送信要素が読み出し動作要求、および／あるいは命令を、書き込みデータにインターリーブした場合、送信要素はアドレスバックオフ機構と共に構成されるべきである。
【００５１】
図２と関連して先に記載したように、送信要素は送信チャネル２０８でのブロードキャストに続く転送要請信号２１０をサンプリング（ｓａｍｐｌｅ）する。送信要素がアサートされた転送要請信号２１０を検出し損ねた場合、続くクロックサイクルの間そのブロードキャストを繰り返してもよい。アサートされた転送要請信号２１０を送信要素が検出するまで、そのブロードキャストがクロックサイクルごとに繰り返されることが可能である。アドレスキューが読み出し動作要求の間一杯で、したがってそれ以上のアドレス位置の受け取りができない時には、問題が生じる可能性がある。同時に、受信要素はそのアドレスキュー内の空きを解放するため中断している書き込み動作を完了させる必要がある。この場合、受信要素はデッドロックであると言われる。
【００５２】
アドレスバックオフ機構は、受信要素がデッドロック状態にある際に書き込み動作を完了するように計画される。これは、読み出し動作要求に関連して送信要素によるブロードキャストの繰り返し回数を制限することにより達成されることができる。あるクロックサイクル数内に転送要請信号と共に読み出し動作要求を受け取ったことを受信要素が知らせない場合、現在の読み出し動作要求に関するアドレス位置の代わりに残っている書き込みデータを送信することにより送信要素はその要求を中止できる。完了させる必要のある中断している書き込み動作がない場合、その読み出し動作要求のブロードキャストが中止させられる必要はない。そのブロードキャストは受信要素がその要求を受け取ったことを知らせるまで続けられるかもしれない。
【００５３】
送信要素が読み出し動作要求に書き込みデータをインターリーブしない場合、アドレスバックオフ機構が必要とされない可能性がある。すなわち、書き込み動作に関するアドレス位置に直ちに制御信号が続き、そして直ちに書き込みデータが続く場合、受信要素は決してデッドロックに遭遇しないであろう。しかし、送信要素が、ずっと読み出し動作のパイプラインを受信チャネルの帯域幅をフルに利用するのに十分であるように維持できない可能性があるため、受信チャネルの性能を悪化させるかもしれない。
【００５４】
図５は、低帯域幅バス上での２要素間の１対１接続を図解する概念的なブロック図である。その低帯域幅バスは、より少ない信号を要求し、より少ない電力消失（ｄｉｓｓｉｐａｔｉｏｎ）に帰着する、単一の送信チャネル１０８と単一の受信チャネル１１０とで実現できる。図５に示された例において、３２ビット送信チャネル１０８上で受信要素１０４への情報を送信要素１０２がブロードキャストし、３２ビット受信チャネル１１０上で受信要素１０４への情報を受信要素１０４が元の場所へ（ｂａｃｋ）ブロードキャストできる。代わりに、この同一のバス構造がより低いバス幅で実現されてもよい。
【００５５】
この構成は送信チャネル１０８と受信チャネル１１０とが同時に情報をブロードキャストできることを可能にし続けるが、読み出し動作あるいは書き込み動作のおのおのは、図６のブロック図に示されているようにただちに（ｎｏｗ）複数のクロックサイクルを必要とすることができる。この例では、読み出し動作を開始するために２クロックサイクルが使用される。より詳細には、第１クロックサイクル６０１において送信チャネル１０８上で３２ビットのアドレス位置がブロードキャストされることができ、続くクロックサイクル６０３において、制御信号の３２ビットが続くことができる。４バイトのペイロードがこの要求に応答して受信要素から読み出され、第３クロックサイクル６０５において受信チャネル上でロードキャストされることができる。
【００５６】
受信チャネル上でのペイロードのブロードキャストと同時に、送信要素は書き込み動作を開始できる。この場合、その書き込み動作は３クロックサイクルを要する。第３クロックサイクル６０５において、第５クロックサイクル６０９における４バイトのペイロードに伴われた、第４クロックサイクル６０７における制御信号の３２ビットに伴われた、３２ビットのアドレス位置を、送信要素は送信チャネル１０８上でブロードキャストする。
【００５７】
多くの処理システムにおいて、あるデバイスが高帯域幅の相互接続を要求する可能性がある一方で、他のデバイスはずっと低い帯域幅の相互接続で十分に動作できる。スケーラブルなバスアーキテクチャを使用することで、ブリッジの実装が共通のシグナリングプロトコルと共に実現されることができる。図７はブリッジを通過する２つの要素間の１対１接続を図解する概念的なブロック図である。高性能バスに取りつけられた送信要素１０２を、より低帯域幅のバスに取りつけられた受信要素とインターフェイスするためにブロック７０２が使用されることができる。その高性能バスは、４つの３２ビット副チャネル１０８ａ−１０８ｄを有する送信チャネル１０８と、２つの３２ビット受信チャネル１１０ａと１１０ｂとを有する受信チャネル１１０とで実現されることができる。低帯域幅のバスは、単一の３２ビット送信チャネル１０８´と単一の３２ビット受信チャネル１１０´とで実現されることができる。
【００５８】
この例において、図３と図４とに関連して先に述べたように、アドレス位置と制御信号と８バイトのペイロードとをブロードキャストするために、高性能バスの４つの送信副チャネル１０８ａ−１０８ｄを用いて、単一のクロックサイクル内でブリッジ７０２と送信デバイス１０２との間で書き込み動作を完了させることができる。図５と図６とに関連して先に述べたように、ブリッジ７０２は、４クロックサイクル中でより低帯域幅のバスの３２ビット送信チャネル１０８´上で受信要素１０４への情報をブロードキャストし、バッファできる。
【００５９】
読み出し動作の場合、単一のクロックサイクル内で高性能バスの２つの送信副チャネル上で送信要素１０２によりブリッジ７０２へアドレス位置と制御信号とがブロードキャストされることができる。ブリッジ７０２は、この情報をバッファし、２クロックサイクルのうちに３２ビット送信チャネル１０８´上で受信要素１０４へブロードキャストできる。そして、受信要素１０４からブリッジ７０２へ３２ビット受信チャネル１１０´上で８バイトのペイロードがブロードキャストされ、ブリッジ７０２において一時記憶領域へ入れられ、そして、単一のクロックサイクルにおいて２つの受信副チャネル１１０ａと１１０ｂとの上でブリッジ７０２により送信要素１０２にブロードキャストされることができる。
【００６０】
ここに開示された実施形態と関連して述べた、様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）あるいは他のプログラマブル論理要素、ディスクリートゲートあるいはトランジスタロジック、ディスクリートハードウェア要素、あるいはここに記載された機能を実行するように設計されたこれらのあらゆる組み合わせにより実現され、あるいは実行されることが可能である。汎用プロセッサは、マイクロプロセッサであってもよいが、別の例では、そのプロセッサは、任意の従来プロセッサ、コントローラ、マイクロコントローラ、あるいは状態機械であってもよい。また、プロセッサは、計算要素の組み合わせ、例えば、ＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサの組み合わせ、ＤＳＰコアと連動する１あるいは２以上のマイクロプロセッサの組み合わせ、あるいは任意の他のそのような構成として実現されることができる。
【００６１】
ここにおいて開示された実施形態と関連して記載された方法あるいはアルゴリズムは、直接にプロセッサにより実行されるソフトウェアモジュールで、ハードウェアであるいはそれら２つの組み合わせで具体化されることができる。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、あるいは当技術分野で既知の任意の他の記憶媒体の形態内にあって（ｒｅｓｉｄｅ）もよい。記憶媒体は、プロセッサがその記憶媒体から情報を読み出したり、その記憶媒体へ情報を書き込んだりするように、プロセッサと結合されてもよい。別の例では、記憶媒体はそのプロセッサと一体であってもよい。そのプロセッサとその記憶媒体とがあるＡＳＩＣ内にあってもよい。そのＡＳＩＣが送信要素および／あるいは受信要素、もしくはその他の場所にあってもよい。別の例では、そのプロセッサとその記憶媒体とが、送信要素および／あるいは受信要素、もしくはその他の場所に個別の要素としてあってもよい。
【００６２】
開示した実施形態の先行する記載はいかなる当業者でも本発明を構成あるいは利用できるように提供される。これらの実施形態に対する様々な変形例は、当業者にとっては容易に明白であり、ここで定義された一般的な原理は、本発明の精神あるいは範囲から逸脱することなく、他の実施形態に適用可能である。したがって、本発明は、ここで示した実施形態に限定されることを意図したものではなく、ここに開示した原理と新規な特徴と合致する最も広い範囲と一致すべきものである。
【図１】
2011044154.tif 000007
【図２】
2011044154.tif 000008
【図３】
2011044154.tif 000009
【図４】
2011044154.tif 000010
【図５】
2011044154.tif 000011
【図６】
2011044154.tif 000012
【図７】
2011044154.tif 000013
【手続補正書】
【提出日】平成22年10月12日(2010.10.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
バス上で通信する方法であって、
前記方法は、
前記バスの送信チャネル上で送信要素から受信要素に第１のデータおよび第１のアドレス情報を送信し、前記送信チャネル上で前記送信要素から前記受信要素に第２のデータおよび第２のアドレス情報を送信すること、
前記送信要素から前記受信要素に複数の種類フィールド中の種類データを送信すること、前記種類データは、前記受信要素が前記第１のデータと前記第１のアドレス情報を区別でき、前記第２のデータと前記第２のアドレス情報を区別できるように通信される、
前記受信要素から読み出しデータを受信すること、前記読み出しデータは前記バスの受信チャネル上で送信される、
受信確認が前記送信要素によって前記受信要素から受信されないとき、前記送信要素から前記受信要素への前記第１のデータおよび第１のアドレス情報あるいは前記第２のデータおよび第２のアドレス情報の送信を繰り返すこと、
前記受信確認が所定のクロックサイクル数内に受信されないとき、前記送信要素による送信の繰り返し回数を制限すること、ここにおいて、前記送信要素は動作要求に関するアドレス位置の代わりに、中断している書き込み動作から残っている書き込みデータを送信するように構成される
を備える方法。
【請求項２】
前記第１のアドレス情報及び前記第２のアドレス情報は、共通のクロックサイクル中に前記送信チャネル上で送信される、
請求項１に記載の方法。
【請求項３】
さらに、前記受信要素から前記送信要素へ、前記受信要素が前記読み出しデータをいつ送信しているかを示すためにシグナリングすることを備える、請求項１に記載の方法。
【請求項４】
前記受信要素から前記受信チャネル上で複数の命令を送信すること、
前記送信要素が前記読み出しデータと前記複数の命令とを区別できるように、前記受信要素から前記送信要素へシグナリングすること
をさらに備える、請求項３に記載の方法。
【請求項５】
前記受信チャネルは複数の副チャネルを備える、
請求項４に記載の方法。
【請求項６】
下記を備える処理システム、
第１チャネルと第２チャネルとを有するバスと、
前記第１チャネル上で送信要素から受信要素へ第１のデータおよび第１のアドレス情報を送信するように、および前記第１チャネル上で前記送信要素から前記受信要素へ第２のデータおよび第２のアドレス情報を送信するよう構成されている送信要素と、
ここにおいて、前記受信要素は、前記第１チャネル上で送信された前記第１および第２のデータを格納するように、及び前記第１および第２のアドレス情報に基づいて読み出しデータを引き出すように、構成されている、
ここにおいて、前記送信要素は、前記受信要素に複数の種類フィールド中の種類データを送信するようにさらに構成され、前記種類データは、前記受信要素が前記第１のデータと前記第１のアドレス情報を区別できるように、及び前記第２のデータと前記第２のアドレス情報を区別できるように通信される、
ここにおいて、前記送信要素は、受信確認が前記送信要素によって前記受信要素から受信されないとき、前記送信要素から前記受信要素への前記第１のデータおよび第１のアドレス情報あるいは前記第２のデータおよび第２のアドレス情報の送信を繰り返すようにさらに構成されている、
ここにおいて、前記送信要素は、前記受信確認が所定のクロックサイクル数内に受信されないとき、繰り返し送信の回数を制限するようにさらに構成され、ここにおいて、前記送信要素は、動作要求に関するアドレス位置の代わりに、中断している書き込み動作から残っている書き込みデータを送信するようにさらに構成されている。
【請求項７】
前記受信要素は、前記第１チャネル上の前記送信を受け取ったことを知らせるために、前記送信要素に対してシグナリングするようにさらに構成されている、請求項６に記載の処理システム。
【請求項８】
前記送信要素はアドレスバックオフ機構をさらに備える、請求項７に記載の処理システム。
【請求項９】
前記受信要素は、前記受信要素が前記読み出しデータをいつ送信しているかを示すために前記送信要素にシグナリングするようにさらに構成されている、請求項６に記載の処理システム。
【請求項１０】
前記受信要素は、前記第２チャネル上で命令を送信するように、及び前記送信要素が前記読み出しデータと前記命令とを区別できるように前記送信要素にシグナリングするように、さらに構成されている、請求項９に記載の処理システム。
【請求項１１】
送信のために利用可能である前記送信チャネルの副チャネルの第１の数を決定することをさらに備え、ここにおいて、副チャネルの前記第１の数は少なくとも２である、請求項１に記載の方法。
【請求項１２】
前記読み出しデータの送信に利用可能である前記受信チャネルの副チャネルの第２の数を決定することをさらに備え、ここにおいて、副チャネルの前記第２の数は少なくとも２である、請求項１１に記載の方法。
【請求項１３】
副チャネルの前記第１の数を変更することをさらに備える、請求項１２に記載の方法。
【請求項１４】
副チャネルの前記第２の数を変更することをさらに備える、請求項１３に記載の方法。
【請求項１５】
副チャネルの前記第１の数を増加することをさらに備える、請求項１３に記載の方法。
【請求項１６】
前記第１のデータは前記送信チャネルの第１の副チャネル上で通信され、前記第２のデータは前記送信チャネルの第２の副チャネル上で通信される、請求項１に記載の方法。
【請求項１７】
前記第１のデータおよび第１のアドレス情報の少なくとも一部分は、前記送信チャネルのうちの第１の副チャネル上で送信され、前記第２のデータおよび第２のアドレス情報の少なくとも一部分は、前記読み出しデータの少なくとも一部分の受信と並行して、前記送信チャネルのうちの第２の副チャネル上で送信される、請求項１６に記載の方法。
【請求項１８】
前記複数の種類フィールドのうちの少なくとも１つにおける前記種類データは、共有参照クロック信号のライジング・エッジ上でデータ種類とアドレス種類との間で変化する、請求項１に記載の方法。
【請求項１９】
前記第１のデータは、第１の副チャネル上でペイロードにより通信される、請求項１６に記載の方法。
【請求項２０】
前記ペイロードを識別する転送タグは、前記送信チャネル上で通信される、請求項１９に記載の方法。
【請求項２１】
前記送信チャネル上で複数の転送修飾句を送信することをさらに備える、請求項１に記載の方法。
【請求項２２】
前記複数の転送修飾句はペイロードサイズを備える、請求項２１に記載の方法。
【請求項２３】
前記第１のデータは前記送信チャネルの第１の副チャネル上で通信され、前記第２のデータは前記送信チャネルの第２の副チャネル上で通信される、請求項６に記載のシステム。
【請求項２４】
前記送信要素は、前記第２チャネル上で通信された前記引き出された読み出しデータの少なくとも一部分を受信することと実質的に並行して、前記第１の副チャネル上で前記第１のデータおよび第１のアドレス情報の少なくとも一部分を送信するようにさらに構成されている、請求項２３に記載の処理システム。
【請求項２５】
前記複数の種類データフィールドのそれぞれは、３ビットデータフィールドである、請求項６に記載のシステム。
【請求項２６】
前記動作要求は、読み出し動作要求および書き込み動作要求のうちの１つである、請求項１に記載の方法。
【請求項２７】
前記動作要求は、読み出し動作要求および書き込み動作要求のうちの１つである、請求項６に記載のシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００６２
【補正方法】変更
【補正の内容】
【００６２】
開示した実施形態の先行する記載はいかなる当業者でも本発明を構成あるいは利用できるように提供される。これらの実施形態に対する様々な変形例は、当業者にとっては容易に明白であり、ここで定義された一般的な原理は、本発明の精神あるいは範囲から逸脱することなく、他の実施形態に適用可能である。したがって、本発明は、ここで示した実施形態に限定されることを意図したものではなく、ここに開示した原理と新規な特徴と合致する最も広い範囲と一致すべきものである。  
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［１］バス上で送信要素と受信要素との間で通信する方法であって、
前記バスは、第１チャネルと第２チャネルとを備え、
前記方法は、
読み出しアドレス情報及び書き込みアドレス情報と、読み出し制御信号及び書き込み制御信号と、書き込みデータとを前記第１チャネル上で前記送信要素からブロードキャストし、
前記第１チャネル上でブロードキャストされた、前記書き込みデータと、前記読み出し制御信号及び前記書き込み制御信号と、前記読み出しアドレス情報及び前記書き込みアドレス情報とを前記受信要素が区別できるように、前記送信要素から前記受信要素へシグナリングし、
前記書き込みアドレス情報と前記書き込み制御信号とに基づいて、前記受信要素において前記第１チャネル上でブロードキャストされた書き込みデータを格納し、
前記読み出しアドレス情報と前記読み出し制御信号とに基づいて、前記受信要素から読み出しデータを引き出し、
引き出された読み出しデータを前記第２チャネル上で前記受信要素からブロードキャストする、
ことを備える方法。
［２］前記第１チャネルは複数の副チャネルを備え、
前記副チャネルの第１副チャネルがとあるタイムピリオドの間に前記アドレス情報の一部をブロードキャストし、並行して、前記副チャネルの第２副チャネルが同一のタイムピリオドの間に制御信号の一部をブロードキャストする、
上記［１］に記載の方法。
［３］前記副チャネルの第３副チャネルが前記同一のタイムピリオドの間に書き込みデータの一部をブロードキャストする、上記［２］に記載の方法。
［４］書き込み信号と読み出し信号とは複数の転送修飾句と書き込みバイトイネーブルとを備える、上記［１］に記載の方法。
［５］前記第２チャネル上で、前記引き出された読み出しデータの少なくとも一部のブロードキャストと並行して、少なくとも、書き込みデータ、読み出し制御信号あるいは書き込み制御信号、もしくは前記読み出しアドレス情報あるいは前記書き込みアドレス情報の一部が前記第１チャネル上でブロードキャストされる、上記［１］に記載の方法。
［６］前記書き込みデータは複数のペイロードを備え、
前記送信要素が前記ペイロードの１つの第１の部分と第２の部分との間に読み出しアドレス情報あるいは書き込みアドレス情報の一部をブロードキャストする、
上記［１］に記載の方法。
［７］さらに、前記受信要素から前記送信要素へ、前記第１チャネル上の前記ブロードキャストを受け取ったことを知らせるためにシグナリングする、上記［１］に記載の方法。
［８］さらに、前記受信要素から前記送信要素への前記シグナリングに応答して、前記読み出しアドレス情報あるいは前記書き込みアドレス情報、前記読み出し制御信号あるいは前記書き込み制御信号、もしくは書き込みデータの同一部分のブロードキャストを繰り返す、上記［７］に記載の方法。
［９］前記書き込みデータは複数のペイロードを備え、
前記ペイロードの１と関連づけられた前記書き込みアドレス情報の部分の前記ブロードキャストに続くが、前記ペイロードの前記１つが前記受信要素に完全にブロードキャストされる前のタイムピリオドの間、前記読み出しアドレス情報あるいは前記読み出し制御信号の前記同一部分が、繰り返しブロードキャストされ、
前記方法は、さらに、
前記タイムピリオドの終わりに前記繰り返されたブロードキャストを中断し、
前記ペイロードの前記１つの前記ブロードキャストを完了し、
前記ペイロードの前記１つの前記ブロードキャストの完了に続いて、前記読み出しアドレス情報あるいは前記読み出し制御信号の前記同一部分のブロードキャストを繰り返す、
上記［８］に記載の方法。
［１０］さらに、前記受信要素から前記送信要素へ、前記受信要素がいつ前記読み出しデータをブロードキャストしているかを示すためシグナリングする、上記［１］に記載の方法。
［１１］さらに、
前記第２チャネル上で前記受信要素から命令をブロードキャストし、
前記送信要素が前記読み出しデータと前記命令とを区別できるよう、前記受信要素から前記送信要素へシグナリングする、
上記［１０］に記載の方法。
［１２］前記第２チャネルは複数の副チャネルを備え、
前記副チャネルの第１副チャネルがとあるタイムピリオドの間に読み出しデータの一部をブロードキャストし、並行して、前記副チャネルの第２副チャネルが同一のタイムピリオドの間に命令の一部のブロードキャストする、
上記［１１］に記載の方法。
［１３］第１チャネルと第２チャネルとを有するバスと、
前記第１チャネル上で、読み出しアドレス情報と、書き込みアドレス情報と、読み出し制御信号と、書き込み制御信号と、書き込みデータとをブロードキャストするよう構成されている送信要素と、
前記書き込みアドレス情報と前記書き込み制御信号とに基づいて前記第１チャネル上でブロードキャストされた前記書き込みデータを格納し、前記読み出しアドレス情報と前記読み出し制御信号とに基づいて読み出しデータを引き出し、前記送信要素に前記引き出された読み出しデータを前記第２チャネル上でブロードキャストする、よう構成されている受信要素と、
を備え、
前記送信要素はさらに、前記第１チャネル上でブロードキャストされた、前記書き込みデータと、前記読み出し制御信号及び前記書き込み制御信号と、前記読み出しアドレス情報及び前記書き込みアドレス情報とを区別できるように、前記受信要素をシグナリングするよう構成されている、
処理システム。
［１４］前記第１チャネルは複数の副チャネルを備え、
前記送信要素はさらに、前記副チャネルの第１副チャネルがとあるタイムピリオドの間に前記アドレス情報の一部をブロードキャストし、並行して、前記副チャネルの第２副チャネルが同一のタイムピリオドの間に制御信号の一部をブロードキャストするよう構成されている、
上記［１３］に記載の処理システム。
［１５］前記送信要素はさらに、前記副チャネルの第３副チャネル上に前記同一のタイムピリオドの間に書き込みデータの一部をブロードキャストするよう構成されている、上記［１４］に記載の処理システム。
［１６］前記読み出し信号と前記書き込み信号とは、複数の転送修飾句と書き込みバイトイネーブルとを備える、上記［１３］に記載の処理システム。
［１７］前記送信要素はさらに、前記第２チャネル上で、前記引き出された読み出しデータの少なくとも一部のブロードキャストと並行して、少なくとも、書き込みデータ、読み出し制御信号あるいは書き込み制御信号、もしくは前記読み出しアドレス情報あるいは前記書き込みアドレス情報の一部が前記第１チャネル上でブロードキャストするよう構成されている、上記［１３］に記載の処理システム。
［１８］前記書き込みデータは複数のペイロードを備え、
前記送信要素はさらに、前記ペイロードの１つの第１の部分と第２の部分との間に読み出しアドレス情報あるいは書き込みアドレス情報の一部をブロードキャストするよう構成されている、
上記［１３］に記載の処理システム。
［１９］前記受信要素はさらに前記第１チャネル上の前記ブロードキャストを受け取ったことを知らせるために、前記送信要素に対してシグナリングするよう構成されている、上記［１３］に記載の処理システム。
［２０］前記送信要素はさらに、前記受信要素からそのようなブロードキャストに関する受信確認を受け取っていない場合、書き込みデータ、読み出し制御信号あるいは書き込み制御信号、もしくは読み出しアドレス情報あるいは書き込みアドレス情報の前記同一部分のブロードキャストを繰り返すよう構成されている、上記［１９］に記載の処理システム。
［２１］前記送信要素がさらにアドレスバックオフ機構を備える、上記［１９］に記載の処理システム。
［２２］前記受信要素がさらに前記受信要素がいつ前記読み出しデータをブロードキャストしているかを示すために前記送信要素にシグナリングするよう構成されている、上記［１３］に記載の処理システム。
[２３]前記受信要素がさらに、前記第２チャネル上で命令をブロードキャストし、前記送信要素が前記読み出しデータと前記命令とを区別できるように前記送信要素にシグナリングする、よう構成されている、上記［２２］に記載の処理システム。
［２４］前記第２チャネルは複数の副チャネルを備え、
前記受信要素はさらに、前記副チャネルの第１副チャネル上でとあるタイムピリオドの間に読み出しデータの一部をブロードキャストし、並行して、前記副チャネルの第２副チャネル上で同一のタイムピリオドの間に命令の一部のブロードキャストするよう構成されている、
上記［２３］に記載の処理システム。
［２５］第１チャネルと第２チャネルとを有するバスと、
前記第１チャネル上を、読み出しアドレス情報と、書き込みアドレス情報及び読み出しアドレス制御信号と、書き込みアドレス制御信号及び書き込みデータとをブロードキャストするための送信手段と、
前記書き込みアドレス情報と前記書き込み制御信号とに基づいて、前記第１チャネル上でブロードキャストされた前記書き込みデータを格納し、前記読み出しアドレス情報と前記読み出し制御信号とに基づいて、読み出しデータを引き出し、前記第２チャネル上で送信要素へ前記引き出された読み出しデータをブロードキャストするための受信手段と、
を備え、
前記送信手段はさらに、前記受信要素が、前記第１チャネル上でブロードキャストされた、前記書き込みデータと、前記読み出し制御信号及び前記書き込み制御信号と、前記読み出しアドレス情報及び前記書き込みアドレス情報とを区別できるように、前記受信手段をシグナリングするための手段を備える、
処理システム。
【外国語明細書】
2011044154000001.pdf