JP5254044B2 - バスのアドレスチャネル上における協調的書き込み - Google Patents

バスのアドレスチャネル上における協調的書き込み Download PDF

Info

Publication number
JP5254044B2
JP5254044B2 JP2008556569A JP2008556569A JP5254044B2 JP 5254044 B2 JP5254044 B2 JP 5254044B2 JP 2008556569 A JP2008556569 A JP 2008556569A JP 2008556569 A JP2008556569 A JP 2008556569A JP 5254044 B2 JP5254044 B2 JP 5254044B2
Authority
JP
Japan
Prior art keywords
channel
address
payload
write
receiving device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008556569A
Other languages
English (en)
Other versions
JP2009528597A (ja
Inventor
ホフマン、リチャード・ジェラード
ローマン、テレンス・ジェイ.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2009528597A publication Critical patent/JP2009528597A/ja
Application granted granted Critical
Publication of JP5254044B2 publication Critical patent/JP5254044B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • G06F13/4273Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using a clocked protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

この発明は処理システムに関する。特にこの発明は、この種のシステムと、バスのアドレスチャネル上における協調的書き込み技術に関する。
近年の処理システムの殆どは、いわゆるバスを相互に接続して形成される。バスはシステム内の種々の処理エンティティ間で情報を移動させる。今日では殆どのバスアーキテクチャは標準化されている。これらの標準化されたバスアーキテクチャは一般に、分離独立する読み出しチャネル、書き込みチャネルおよびアドレスチャネルを有する。
この種のバスアーキテクチャは、メモリにサポートされた1または複数の汎用プロセッサを持つ処理システムに、良く見られる。これらのシステムにおいては、メモリは、プロセッサがその機能を実行するのに要するプログラムおよびデータを保持するための記録メディアを提供する。アドレスチャネルにアドレスを指定し適切な読み出し/書き込み制御信号を与えれば、プロセッサはメモリからの読み出し、およびメモリへの書き込みを行うことができる。読み出し/書き込み制御の状態により、プロセッサは書き込みチャネルのデータをメモリに書き込んだり、読み出しチャネル上のデータをメモリから読み出したりできる。この種の処理システムに限らず他の多くのシステムにおいても、書き込みレイテンシの削減、および書き込み帯域幅の拡大が望まれる。
米国特許出願、代理人整理番号060485「Auxiliary Writes Over Address Channel」
本特許出願は、2006年2月24日に出願され、本明細書の譲受人に譲渡され、本明細書に参照によって明確に組み込まれる「Cooperative Writes Over Address Channel」と題された米国仮出願60/776,529号の優先権を主張する。
本出願は、代理人整理番号060485を有し、それをもって出願され、本明細書の譲受人に譲渡され、本明細書に参照によって明確に組み込まれる「Auxiliary Writes Over Address Channel」と題された米国特許出願(特許文献1)に関連する。
処理システムの一つの態様が開示される。すなわち処理システムは、受信装置と、第1、第2および第3チャネルを有するバスと、前記第1チャネルで前記受信装置をアドレスし、前記第2チャネルで当該受信装置からペイロードを読み出す送信装置とを具備し、前記送信装置は、ペイロードの第1の部分を前記受信装置に前記第1チャネルで書き込み、当該ペイロードの第2の部分を前記受信装置に前記第3チャネルで書き込む。
処理システムの他の態様が開示される。すなわち処理システムは、受信装置と、第1、第2および第3チャネルを有するバスと、前記第1チャネルで前記受信装置をアドレスする手段と、前記第2チャネルで当該受信装置からペイロードを読み出す手段と、ペイロードの第1の部分を前記受信装置に前記第1チャネルで書き込み、当該ペイロードの第2の部分を前記受信装置に前記第3チャネルで書き込む手段とを具備する。
第1、第2および第3チャネルを有するバスを介した送信装置と受信装置との通信方法の、一つの態様が開示される。すなわちこの方法は、前記第1チャネルで前記受信装置をアドレスし、前記第2チャネルで当該受信装置からペイロードを読み出し、ペイロードの第1の部分を前記受信装置に前記第1チャネルで書き込み、当該ペイロードの第2の部分を前記受信装置に前記第3チャネルで書き込む。
バスマスタ装置の一つの態様が開示される。すなわちバスマスタ装置は、プロセッサと、第1、第2および第3チャネルを有するバスに前記プロセッサを接続するバスインタフェースとを具備し、前記バスインタフェースは、スレーブ装置を前記第1チャネルでアドレスし、前記スレーブ装置からペイロードを前記第2チャネルで受信し、ペイロードの第1の部分を前記スレーブ装置に前記第1チャネルで書き込み、当該ペイロードの第2の部分を前記スレーブ装置に前記第3チャネルで書き込む。
バスマスタ装置の他の態様が開示される。すなわちバスマスタ装置は、プロセッサと、第1、第2および第3チャネルを有するバスに前記プロセッサを接続するインタフェース手段とを具備し、前記インタフェース手段は、スレーブ装置を前記第1チャネルでアドレスする手段と、前記スレーブ装置からペイロードを前記第2チャネルで受信する手段と、ペイロードの第1の部分を前記スレーブ装置に前記第1チャネルで書き込み、当該ペイロードの第2の部分を前記スレーブ装置に前記第3チャネルで書き込む手段とを備える。
スレーブ装置の一つの態様が開示される。すなわちスレーブ装置は、メモリと、第1、第2および第3チャネルを有するバスに前記メモリを接続するバスインタフェースとを具備し、前記バスインタフェースは、バスマスタ装置からアドレスおよびペイロードの第1の部分を前記第1チャネルで受信し、ペイロードを前記第2チャネルで前記バスマスタ装置に送信し、前記ペイロードの第2の部分を前記第3チャネルで受信する。
スレーブ装置の他の態様が開示される。すなわちスレーブ装置は、メモリと、第1、第2および第3チャネルを有するバスに前記メモリを接続するインタフェース手段とを具備し、前記インタフェース手段は、バスマスタ装置からアドレスおよびペイロードの第1の部分を前記第1チャネルで受信する手段と、ペイロードを前記バスマスタ装置に前記第2チャネルで送信する手段と、ペイロードの第1の部分を前記スレーブ装置に前記第1チャネルで書き込み、当該ペイロードの第2の部分を前記バスマスタ装置から前記第3チャネルで受信する手段とを備える。
次の記載は、いかなる当業者であっても、本発明の活用及び利用を可能にするために示される。以下の記載では、説明の目的のために、詳細が述べられる。当業者であれば、本発明は、これら具体的な詳細を用いずとも実現されうることが理解されるべきである。他の例では、本発明の記述を、不要な詳細で不明瞭にしないために、周知の構造及び処理が詳述される。したがって、本発明は、示された実施形態に限定されるのではなく、本明細書に開示の原理及び特徴に一致した最も広い範囲が与えられるべきであることが意図されている。
図1は、処理システムにおける2つの装置がバスを介して通信することの一例を示す簡単なブロック図である。処理システム100は例えば1または複数の処理機能を共同で実行するハードウェアデバイスの集合である。処理システム100の典型的な利用例は、これらに限られるものではないが、デスクトップコンピュータ、ラップトップコンピュータ、サーバ、セルラフォン、PDA(personal digital assistants)、ゲームコンソール、ページャ、モデム、オーディオ装置、医用装置、自動車、ビデオ装置、工業用装置、または、情報を処理し、追跡し、蓄積可能な他のマシンまたは装置を含む。
処理システム100は、バス106を介して通信する送信装置102と受信装置104とを備える。バス106は、アドレスチャネル106a、書き込みチャネル106b、および、読み出しチャネル106cの3つのチャネルを有する。”チャネル”とは情報を2つの装置間で伝送するために用いられる導電線のセットであり、コモン制御信号のセットを持つ。この実施形態では各チャネルは32ビットの幅を持つ。一般にバスインターコネクト(図示せず)は、送信装置102と受信装置104との間にバス106を経由してのポイント・ツウ・ポイントの通信パスを形成するために用いられる。あるいは、バス106は専用バス、共用バスまたは他のタイプの適切なバスアーキテクチャであってよい。
送信装置102はどのようなタイプのバスマスタ装置にもなり得る。この実施形態では、送信装置102はプロセッサ108とバスインタフェース110とを備える。プロセッサ108は、マイクロプロセッサなどの汎用プロセッサ、ディジタル信号プロセッサ(Digital Signal Processor : DSP)などの特定用途向けプロセッサ、ASIC(application specific integrated circuit)、ダイレクトメモリアクセス(DMA)コントローラ、ブリッジ、プログラム可能なロジックコンポーネント、または、バス106へのアクセスを要する他のエンティティ、などである。バスインタフェース110は、アドレスチャネル106aと書き込みチャネル106bとを駆動するのに用いられるし、専用の制御信号を与えることもする。バスインタフェース110は読み出しチャネル106cの受信機としても機能する。受信装置104は例えば、形式を問わないスレーブ装置である。受信装置104は例えばSDRAM、DRAM、またはRAMのようなテンポラリメモリ、あるいはフラッシュメモリ、ROM、EPROM、EEPROM、CD−ROM、DVD、磁気ディスク、書き込み可能な光ディスクなどのような長期記録デバイスである。
あるいは、受信装置104は例えばブリッジ、または、情報を追跡し蓄積可能な他の装置である。この実施形態では受信装置104はバスインタフェース112とメモリ114とを備える。バスインタフェース112は、読み出しチャネル106cおよび専用の制御信号を駆動するのに用いられる。バスインタフェース112はアドレスチャネル106aおよび書き込みチャネル106bの受信機としても機能する。メモリ114は記載内容にランダムアクセス(すなわち読み出しおよび書き込み)可能な他のどのようなデバイスであっても良い。
このバスアーキテクチャにおいては、送信装置102は受信装置104からの読み出しも、受信装置104への書き込みもできる。書き込み処理を行うにあたり、送信装置102は、専用の制御信号とともにアドレスをアドレスチャネル106aを介して受信装置104に送る。ペイロードはアドレスチャネル106aおよび書き込みチャネル106bのいずれか、あるいは双方を介して送られる。”ペイロード”は読み出し処理、または書き込み処理、(このケースでは書き込み処理)に係わるデータである。読み出し処理を行うにあたり、送信装置102は専用の制御信号とともにアドレスをアドレスチャネル106aを介して受信装置104に送る。これを受けて、受信装置104は読み出しチャネル106c経由でペイロードを送信装置102に送る。
書き込み処理の2通りの例を、図2を参照して説明する。図2は、アドレスチャネルおよび書き込みチャネルにおける情報の流れを示す図である。この実施形態では、送信装置は2つの16バイトの書き込み処理を開始する。
図2において、送信装置は最初のクロックサイクル202で4バイトのアドレスA1を、アドレスチャネル106aを介して専用の制御信号とともに受信装置に送り、最初の16バイトの書き込み処理を開始する。同じクロックサイクル202において、送信装置は最初のペイロードの最初の4バイトW1(1)を、書き込みチャネル106bを介して受信装置に送信する。
2回目のクロックサイクル204で、送信装置は、データ送信にアドレスチャネル106aと書き込みチャネル106bとを用いる。送信装置は、最初のペイロードの2つ目の4バイトW1(2)を書き込みチャネル106bで送信し、最初のペイロードの3つ目の4バイトW1(3)をアドレスチャネル106aで送信する。
送信装置は3回目のクロックサイクル206で4バイトのアドレスA2を、アドレスチャネル106aを介して専用の制御信号とともに受信装置に送り、次の16バイトの書き込み処理を開始する。同じクロックサイクル202において、送信装置は最初のペイロードの最初の4バイトW1(1)を、書き込みチャネル106bを介して受信装置に送信する。送信装置は、次の書き込み処理と同じクロックサイクルにおいて、最後の4バイトW1(4)を書き込みチャネル106bを介して受信装置に送信し、最初のペイロードの伝送を完了する。
次に送信装置は、次の2つのクロックサイクルにより2番目のペイロードを受信装置に送信する。4回目のクロックサイクル208で、送信装置は、2番目のペイロードの最初の4バイトW2(1)を書き込みチャネル106bで、2番目のペイロードの2つ目の4バイトW2(2)をアドレスチャネル106aで、受信装置に送信する。次のクロックサイクル210で、送信装置は、受信装置2番目のペイロードの3つ目の4バイトW2(3)を書き込みチャネル106bで、2番目のペイロードの最後の4バイトW2(4)をアドレスチャネル106aで送信装置に送信する。
アドレスおよびデータの伝送のために、2種類の制御信号を使うことができる。第1の制御信号(”アドレス/データ”信号と称する)は、アドレスチャネル106aで伝送される情報がアドレスか、あるいはデータであるかを示すために用いられる。この実施形態では、アドレス/データ信号と表示すればアドレスチャネル106aでアドレスが伝送されることを示す。逆に、アドレス/データ信号と明示されなければアドレスチャネル106aでデータが伝送されることを示す。
第2の制御信号(”ビートID”と称する)は、アドレスチャネル106aと書き込みチャネル106bとの双方において、伝送中のペイロード(カレントペイロード)のクロックタイミング(ビート)を示すために用いられる。注意すべきは”ビートID”がゼロベースでの(0に基づく)指標であることで、値”0”は、伝送中のペイロードの最初のビートを示す。この実施形態では、各ペイロードは、次のペイロードが伝送される前にその全てが伝送される。つまりペイロードの全ての部分が伝送されなければ次のペイロードは伝送されない。従って各ペイロードを特定するためのシグナリングは不要である。この処理システムの他の実施形態では、ペイロードの転送の順序が狂えば、または別々のペイロードのビートが入れ替われば、シグナリングはペイロードシーケンス番号を含んでよい。
図3を参照して、2つの制御信号の作用の例につき説明する。アドレスチャネル106aおよび書き込みチャネル106bのバスプロトコルを表1に示す。このバスプロトコルは、処理システムの発明性のある態様を、この態様が他のバスプロトコルと共に使用されてもよいという理解のもとで例示するために用いられる。当業者は容易に、ここに示すバスアーキテクチャの現実の実装プロトコルに対し、信号を変化させるか、および/または、信号を付け加えることができるだろう。ビートIDの定義を表2に示す。
Figure 0005254044
Figure 0005254044
Figure 0005254044
図3は、図1に示す接続において2つの同じ16バイトの書き込み処理の制御シグナリングを示すタイミングブロック図である。システムクロック306は、送信装置と受信装置との間の通信を同期させる。図3のシステムクロック306における5つのクロックサイクルに、順番に通し番号301〜305を付与する。
送信装置は、最初のクロックサイクル301において、アドレスチャネル106a上で書き込み処理を開始する。この書き込み処理は、初回の書き込み処理のアドレスA1が、32ビットのアドレスメディア308上で転送されて完了する。送信装置は、有効な情報がアドレスチャネル106a上に伝送されていることを、A有効信号312に示す。また送信装置102は、アドレスチャネルで情報が伝送されていることをアドレス/データ信号313に示す。106aはアドレスである。送信装置102は読み出し/書き込み信号316を落として書き込み処理を要求する。ペイロードサイズ信号318はペイロード長(このケースでは16バイト)を示すのに用いられる。アドレスチャネル106aにアドレスが保持されている間は、アドレスビートID314の状態を無視できる。
同じ最初のクロックサイクル301において、送信装置は書き込みメディア320で最初のペイロードの最初の4バイトW1(1)を伝送し、書き込みビートID326を”00”にセットする。また送信装置は、有効な情報が書き込みチャネル106b上に伝送されていることを、W有効信号324に示す。
最初のクロックサイクル301の終わりに、送信装置はアドレス転送ACK信号310をチェックして、アドレスA1が受信装置に、アドレスチャネル106aで正しく伝送されたかを確認する。また送信装置は書き込み転送ACK信号322をチェックして、最初のペイロードの最初の4バイトW1(1)が受信装置に、書き込みチャネル106bで正しく伝送されたかを確認する。
2回目のクロックサイクル302において、送信装置は書き込みメディア320で最初のペイロードの2つ目の4バイトW1(2)を伝送し、書き込みビートID326を”01”にセットする。また送信装置は、有効な情報が書き込みチャネル106b上に伝送されていることを、W有効信号324に示す。
同じ2回目のクロックサイクル302において、送信装置はアドレスメディア308で最初のペイロードの3つ目の4バイトW1(3)を伝送し、アドレスビートID314を”10”にセットする。また送信装置は、有効な情報が書き込みチャネル106b上に伝送されていることを、W有効信号324に示す。また送信装置は、有効な情報がアドレスチャネル106a上に伝送されていることをA有効信号312に示し、アドレス/データ信号313を落としてアドレスチャネル106aに伝送される情報はデータであることを示す。アドレスチャネル106aにデータが保持されている間は、読み出し/書き込み信号316の状態、およびペイロードサイズ318を無視できる。図3では読み出し/書き込み信号316およびペイロードサイズ318が変わらないが、任意の状態にセットできる。
2回目のクロックサイクル302の終わりに、送信装置は書き込み転送ACK信号322をチェックして、最初のペイロードの2つ目の4バイトW1(2)が受信装置に、書き込みチャネル106bで正しく伝送されたかを確認する。また送信装置はアドレス転送ACK信号310をチェックして、最初のペイロードの3つ目の4バイトW1(3)が受信装置に、アドレスチャネル106aで正しく伝送されたかを確認する。
3回目のクロックサイクル303において、送信装置は書き込みメディア320で最初のペイロードの最後の4バイトW1(4)を伝送し、書き込みビートID326を”11”にセットする。また送信装置は、有効な情報が書き込みチャネル106b上に伝送されていることを、W有効信号324に示す。
最初の書き込み処理が完了すると、送信装置は3回目のクロックサイクル303で、2回目の16バイトの書き込み処理のためアドレスA2をアドレスメディア308で伝送する。送信装置は、有効な情報がアドレスチャネル106a上に伝送されていることを、A有効信号312に示す。また送信装置はアドレスチャネル106aで伝送される情報はアドレスA2であることをアドレス/データ信号313に示す。送信装置102は読み出し/書き込み信号316を落として書き込み処理を要求する。ペイロードサイズ信号318はペイロードのバイト長(このケースでは16バイト)を示すのに用いられる。アドレスチャネル106aにアドレスが保持されている間は、アドレスビートID314の状態を無視できる。
3回目のクロックサイクル303の終わりに、送信装置はアドレス転送ACK信号310をチェックして、アドレスA2が受信装置に、アドレスチャネル106aで正しく伝送されたかを確認する。また送信装置は書き込み転送ACK信号322をチェックして、最初のペイロードの最後の4バイトW1(4)が受信装置に、書き込みチャネル106bで正しく伝送されたかを確認する。
送信装置は、次の2つのクロックサイクルで2番目のペイロードを受信装置に送信する。4回目のクロックサイクル304で、送信装置は2番目のペイロードの最初の4バイトW2(1)を書き込みメディア320で受信装置に送信し、書き込みビートID326を”00”にセットする。送信装置は、W有効信号324の状態を、書き込みチャネル106bで有効な情報が伝送されていることを示す状態に保つ。
同じ4回目のクロックサイクル304において、送信装置はアドレスメディア308で2番目のペイロードの2つ目の4バイトW2(2)を伝送し、アドレスビートID314を”01”にセットする。また送信装置は、有効な情報がアドレスチャネル106a上に伝送されていることをA有効信号312に示し、アドレス/データ信号313を落としてアドレスチャネル106aに伝送される情報はデータであることを示す。アドレスチャネル106aにおけるデータ保持期間においては、読み出し/書き込み信号316の状態、およびペイロードサイズ318を無視できる。
4回目のクロックサイクル304の終わりに、送信装置は書き込み転送ACK信号322をチェックして、2番目のペイロードの最初の4バイトW2(1)が受信装置に、書き込みチャネル106bで正しく伝送されたかを確認する。また送信装置はアドレス転送ACK信号310をチェックして、2番目のペイロードの2つ目の4バイトW2(2)が受信装置に、アドレスチャネル106aで正しく伝送されたかを確認する。
5回目のクロックサイクル305において、送信装置は書き込みメディア320で2番目のペイロードの3つ目の4バイトW2(3)を伝送し、書き込みビートID326を”10”にセットする。また送信装置は、有効な情報が書き込みチャネル106b上に伝送されていることを、W有効信号324に示す。
同じ5回目のクロックサイクル305において、送信装置はアドレスメディア308で2番目のペイロードの最後の4バイトW2(4)を伝送し、アドレスビートID314を”11”にセットする。また送信装置は、有効な情報がアドレスチャネル106a上に伝送されていることをA有効信号312に示し、アドレス/データ信号313を落としてアドレスチャネル106aに伝送される情報はデータであることを示す。アドレスチャネル106aにデータが保持されている間は、読み出し/書き込み信号316の状態、およびペイロードサイズ318を無視できる。
5回目のクロックサイクル305の終わりに、送信装置は書き込み転送ACK信号322をチェックして、2番目のペイロードの3つ目の4バイトW2(3)が受信装置に、書き込みチャネル106bで正しく伝送されたかを確認する。また送信装置はアドレス転送ACK信号310をチェックして、2番目のペイロードの最後の4バイトW2(4)が受信装置に、アドレスチャネル106aで正しく伝送されたかを確認する。
ビートIDに代えて暗黙的なアドレシング手順(アドレシングスキーム)により、シグナリングを少なくすることができる。図2に、暗黙的なアドレシングスキームの一例が示される。この実施形態では、このアドレシングスキーム最近のクロックサイクルで伝送されるカレントペイロードの次の4バイトのシーケンスを、アドレスチャネル106aよりも書き込みチャネル106bに対して優先的に要求する。
図2において、最初のペイロードの最初の4バイトW1(1)を送信するのに利用できる最近のクロックサイクルは、最初のクロックサイクル202であり、このクロックサイクル202で書き込みチャネル106bを利用できる。最初のペイロードの2つ目の4バイトW1(2)を送信するのに利用できる最近のクロックサイクルは、2回目のクロックサイクル204であり、このクロックサイクル204で書き込みチャネル106bを利用できる。また、2回目のクロックサイクル204は最初のペイロードの3つ目の4バイトW1(3)を伝送するのに使えるが、書き込みチャネル106bは使えない。よって最初のペイロードの3つ目の4バイトW1(3)はアドレスチャネル106aで伝送される。最初のペイロードの最後の4バイトW1(4)を送信するのに利用できる最近のクロックサイクルは、3回目のクロックサイクル206であり、このクロックサイクル206で書き込みチャネル106bを利用できる。
3回目のクロックサイクル206において、2回目の書き込み処理のためのアドレスA2が受信装置に伝送される。しかし、書き込みチャネル106aは、3回目のクロックサイクル206において最初のペイロードの最後の4バイトW1(4)を送信するために必要なので、2番目のペイロードの最初の4バイトW2を送信するためには使えない。2番目のペイロードの最初の4バイトW2(1)を送信するのに利用できる最近のクロックサイクルは4回目のクロックサイクル208であり、このクロックサイクル208で書き込みチャネル106bを利用できる。また、4回目のクロックサイクル208は、2番目のペイロードの2つ目の4バイトW2(2)を伝送するには使えるが、書き込みチャネル106bは使えない。よって2番目のペイロードの2つ目の4バイトW2(2)はアドレスチャネル106aで伝送される。2番目のペイロードの最後の8バイトW2(3)、W2(4)を送信するのに利用できる最近のクロックサイクルは、5回目のクロックサイクル210である。2番目のペイロードの3つ目の4バイトW2(3)は書き込みチャネル306b(すなわち優先されたチャネル)で伝送され、2番目のペイロードの最後の4バイトW2(4)はアドレスチャネル106aで伝送される。
アドレスチャネルは種々の処理環境で、アドレスおよびデータを伝送するためのメディアとして利用できる。例えば、ハードウェア寄りのキャッシュコヒーレントシステムにおいて、プロセッサが他のプロセッサからキャッシュラインを得るためにかかる時間を短縮するために、この技術を利用できる。さらに図4を参照してその例を説明する。図4は、キャッシュコヒーレント処理システム400の一例を示すブロック図である。図4のシステムでは、2つの処理装置402a、402bがバスインターコネクト406を介して共有リソース(例えばメモリデバイス404)と通信する。この実施形態では、第1処理デバイス402aはアドレスチャネル406a1に専用の制御信号でアドレスを置くことで、メモリデバイス404からの読み出しを行う。バスインターコネクト406は、メモリのアドレスチャネル406a3でアドレスをメモリデバイス404に転送する。これを受けてバスインタフェース408はメモリ410からのデータブロックを検索し、メモリの読み出しチャネル406C3に置く。バスインターコネクト406は、メモリデバイス404aからのこのデータを、第1プロセッサデバイスの読み出しチャネル406C1で第1処理デバイス402に転送する。データは第1処理デバイス402aに受信されると一旦キャッシュ412に置かれ、処理部414により変更されたのち、バスインタフェース416によりメモリデバイス404に書き戻される。書き込み処理も図2および図3と同様にしてなされる。
第2処理デバイス402bが引き続いて同じアドレスからの読み出しを試行するという状態は、キャッシュコヒーレンシにより処理される。キャッシュコヒーレンシを保証する機構が無ければ、もし、第1処理デバイス402aのキャッシュ412内のデータが変更されまだメモリデバイス404に書き戻されていない状態では、第2処理デバイス402bはメモリデバイス404から古いデータを受信するかも知れない。
普通、キャッシュとメモリとのコヒーレンシは”スヌーピング”と称するプロセスより保たれる。スヌーピングとは、処理デバイス(この実施形態では第2処理デバイス402b)が、そのキャッシュ418に無いデータを取得するためメモリデバイス404内のキャッシャブルなアドレスへの読み出し要求を出すのに先立って、バスインターコネクト406がスヌープアドレスをシステムの中の他の処理デバイスにブロードキャストするプロセスである。第1処理デバイス402aのような他の処理装置が、キャッシュ412内に要求されたデータを変更後の状態で持っていれば、この変更されたデータはメモリデバイス404に書き戻される。同時に、バスインターコネクト406は変更されたデータを第2処理デバイス402bに読み出しチャネル406C2で送信する。第2処理装置402は処理部422の処理に備え、変更されたデータをキャッシュ418に置く。
図5は、アドレスチャネル406a1および書き込みチャネル406b1における、第1処理デバイス402aとバスインターコネクト406との間の情報の流れを示す図である。図4および図5において、バスインターコネクト406によるスヌープアドレスブロードキャストに応じて、第1処理デバイス402aは32バイトのペイロードをキャッシュ412からメモリデバイス404に書き込む。書き込み処理は、32バイトのペイロードをアドレスチャネル406a1および書き込みチャネル406b1でバスインターコネクト406に送信してなされる。最初のクロックサイクル502で、第1処理デバイス402aは、スヌープされたアドレスAをバスインターコネクト406のアドレスチャネル406a1に専用の制御信号とともに送信する。同じクロックサイクル502で、ペイロードの最初の4バイトW(1)が第1処理デバイス402aからバスインターコネクト406に書き込みチャネル406b1で送信される。
次の4つのクロックサイクルで、残りのペイロードが第1処理デバイス402aからバスインターコネクト406に伝送される。2回目のクロックサイクル504で、第1処理デバイス402aはペイロードの2つ目の4バイトW(2)を書き込みチャネル406b1に送出し、ペイロードの3つ目の4バイトW(3)をアドレスチャネル406a1に送出する。次の3つのクロックサイクル506、508、510で、第1処理デバイス402aは、ペイロードの4つ目の4バイトW(4)、ペイロードの6つ目の4バイトW(6)およびペイロードの最後の4バイトW(8)を、バスインターコネクト406に書き込みチャネル406b1で送信する。次の2つのクロックサイクル506、508で、第1処理デバイス402は、ペイロードの5つ目の4バイトW(5)およびペイロードの7つ目の4バイトW(7)を、バスインターコネクト406にアドレスチャネル406a1で送信する。
同様に5つのクロックサイクルで、バスインターコネクト406は、32バイトのペイロードをメモリデバイス404に、アドレスチャネル406a3および書き込みチャネル406b3の双方でペイロードを送信する。またバスインターコネクト406は、処理デバイス402bのもとの読み出し要求に応じて、32バイトのペイロードを8つのクロックサイクルで第2処理デバイス402bに読み出しチャネル406C2で送信する。メモリデバイス404と第2処理装置402とへの、32バイトペイロードの伝送は、第1処理デバイス402aとバスインターコネクト406との間でのペイロードの伝送にオーバラップしてもよいし、この伝送に引き続いても良い。
図3で詳しく延べたような制御シグナリングの説明は繰り返すまでも無い。アドレスチャネル406a1と書き込みチャネル406b1との双方のビートIDを3ビットコードに拡張し、8バイトのペイロードを処理できるようにすればよい。
図6は、処理システム600の2つの装置が4チャネルバスで通信する例を示すブロック図である。読み出しチャネルと書き込みチャネルとに、それぞれ個別に独立するアドレスチャネルが設けられる。この実施形態では、各チャネルの帯域幅は32ビットであるがこれに限られるものではない。4チャネルバスでの書き込み処理は、書き込みアドレスチャネル606aでアドレスを、書き込みアドレスチャネル606a、書き込みチャネル606b、および/または読み出しアドレスチャネル606dでデータを受信装置604に送信することで実現する。4チャネルバスでの読み出し処理は、読み出しアドレスチャネル606dでアドレスを受信装置604に送信することで実現する。これを受けて受信装置604は、読み出しチャネル606cでペイロードを送信装置602に送信する。
図7は、送信装置と受信装置との間の4チャネルバスにおける、書き込みアドレスチャネル、読み出しアドレスチャネル、および書き込みチャネルでの情報の流れを示す図である。最初のクロックサイクル702で、送信装置は、4バイトのアドレスA1を専用の制御信号とともに書き込みアドレスチャネル606aで受信装置に送信して、最初の16バイトの書き込み処理を開始する。送信装置はまた、同じクロックサイクル702で、
最初のペイロードの最初の4バイトW1(1)を書き込みチャネル606bに送出し、同じペイロードの2つ目の4バイトW1(2)を読み出しアドレスチャネル606dに送出する。
2回目のクロックサイクル704で、送信装置は最初のペイロードの残りを受信装置に送信する。より具体的には、2回目のクロックサイクル704で最初の書き込み処理を完了するにあたり送信装置は最初のペイロードの3つ目の4バイトW1(3)を書き込みチャネル606bで伝送し、最初のペイロードの最後の4バイトW1(4)を読み出しアドレスチャネル606dで伝送する。同じクロックサイクル704で、送信装置は16バイトの書き込み処理のため、アドレスA2を書き込みアドレスチャネル606aで受信装置に送信する。
次に送信装置は、次の2つのクロックサイクルで、2番目のペイロードを受信装置に送信する。3回目のクロックサイクル706で、送信装置は受信装置に2番目のペイロードの最初の4バイトW2(1)を書き込みチャネル606bで伝送し、2番目のペイロードの2つ目の4バイトW2(2)を読み出しアドレスチャネル606dで伝送し、2番目のペイロードの3つ目の4バイトW2(3)を書き込みアドレスチャネル606aで伝送する。次のクロックサイクル708で、送信装置は2番目のペイロードの最後の4バイトW2(4)を書き込みチャネル606bで受信装置に伝送する。
本明細書において開示されている実施形態に関連して記載された種々の例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、ディジタル信号プロセッサ(digital signal processor, DSP)、特定用途向け集積回路(application specific integrated circuit, ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array, FPGA)または他のプログラマブル論理デバイス、ディスクリートなゲートまたはトランジスタ論理、ディスクリートなハードウェア構成要素、あるいは本明細書に記載されている機能を実行するように設計されたこれらの任意の組合せで実施または実行され得る。汎用プロセッサは、マイクロプロセッサであってもよいが、その代わりに、プロセッサは、従来のプロセッサ、制御装置、マイクロ制御装置、または状態機械であってもよい。プロセッサは、コンピューティングデバイスの組合せ、例えば、1つのDSPと1つのマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、1つ以上のマイクロプロセッサと関連する1つのDSPのコア、または何か他のこのような構成としても実施され得る。
本明細書に開示されている実施形態に関連して記載されている方法またはアルゴリズムのステップは、ハードウェアにおいて、プロセッサによって実行されるソフトウェアモジュールにおいて、または2つの組合せにおいて直接的に具体化され得る。ソフトウェアモジュールは、ランダムアクセスメモリ(random access memory, RAM)、フラッシュメモリ、読み出し専用メモリ(read-only memory, ROM)、消去可能プログラム可能読み出し専用メモリ(erasable programmable read-only memory, EPROM)、電気的消去可能プログラム可能読み出し専用メモリ(electrically erasable programmable read-only memory, EEPROM)、レジスタ、ハードディスク、取り外し可能ディスク、CD−ROM、または当技術において知られている記憶媒体の何か他の形態の中に存在し得る。例示的な記憶媒体はプロセッサに接続され、プロセッサが記憶媒体から情報を読み出し、かつそこへ情報を書き込みことができるようにする。その代りに、記憶媒体は、プロセッサと一体構成であってもよい。プロセッサおよび記憶媒体は、ASIC内に存在し得る。ASICは、無線システムの一部分、例えば、基地局、基地局制御装置、またはアクセス端末内に存在し得る。またその代りに、プロセッサおよび記憶媒体は、通信システムの一部分において、ディスクリートな構成要素として存在し得る。
開示された実施形態のこれまでの記述は、当業者が本発明を作成または使用できるようにするために与えられている。これらの実施形態に対する種々の変更は、当業者には容易に明らかになり、本明細書に定められている一般的な原理は、本発明の意図および範囲から逸脱することなく、他の実施形態に適用され得る。したがって、本発明は、本明細書に示されている実施形態に制限されることを意図されず、本明細書に開示されている原理および新規な特徴に一致する最も幅広い範囲にしたがうことを意図されている。
処理システムにおける2つの装置がバスを介して通信することの一例を示す簡単なブロック図。 アドレスチャネルおよび書き込みチャネルにおける情報の流れを示す図。 図1に示す接続において2つの同じ16バイトの書き込み処理の制御シグナリングを示すタイミングブロック図。 キャッシュコヒーレント処理システム400の一例を示すブロック図。 アドレスチャネル406a1および書き込みチャネル406b1における、第1処理デバイス402aとバスインターコネクト406との間の情報の流れを示す図。 処理システム600の2つの装置が4チャネルバスで通信する例を示すブロック図。 送信装置と受信装置との間の4チャネルバスにおける、書き込みアドレスチャネル、読み出しアドレスチャネル、および書き込みチャネルでの情報の流れを示す図。

Claims (39)

  1. 受信装置と、
    アドレスチャネル、書き込みチャネル、および読み出しチャネルを有するバスと、
    前記アドレスチャネルで前記受信装置へアドレスを送信し、前記読み出しチャネルで前記受信装置から読み出しデータを受信するように構成される送信装置と
    を備え、
    前記送信装置は、前記書き込みチャネルおよび前記アドレスチャネルで前記受信装置へペイロードを送信するようにさらに構成され、
    前記送信装置は、前記ペイロードの複数の順番部分を前記バスで同時に送信する場合に、前記ペイロードのためのアドレスを前記アドレスチャネルで、前記ペイロードの第1番目部分を前記書き込みチャネルで同時に送信し、前記ペイロードの複数の後続順番部分を前記書き込みチャネルおよび前記アドレスチャネルで送信することにおいて前記アドレスチャネルよりも前記書き込みチャネルにデータ順序の優先権を与え前記ペイロードの最終番目部分が次のペイロードのための別アドレスと同時に送信されることを可能にするように構成される処理システム。
  2. 前記ペイロードのためのアドレスは前記受信装置において前記第1番目部分を格納するための位置に対応する格納アドレスを含む請求項1に記載の処理システム。
  3. 前記複数の後続順番部分は前記ペイロードの第2番目および第3番目部分を含み、
    前記送信装置はさらに前記2番目部分を前記書き込みチャネルで、前記第3番目部分を前記アドレスチャネルで同時に送信するように構成される請求項1に記載の処理システム。
  4. 前記最終番目部分は前記ペイロードの第4番目部分であり、前記ペイロードの最終番目部分が前記書き込みチャネルを未使用のまま残して前記アドレスチャネルを占有しないようにデータ順序の優先権が与えられる請求項3に記載の処理システム。
  5. 前記送信装置は第1処理装置を備え、前記受信装置はバスインターコネクトを備え、前記処理システムはさらに第2処理装置を備え、前記バスインターコネクトは前記第1および第2処理装置を共有リソースに接続するように構成され、前記第1処理装置はさらに、前記第2処理装置からのスヌープアドレスに応じて、前記ペイロードの複数の部分を前記バスインターコネクトへ送信するように構成される請求項1に記載の処理システム。
  6. 前記バスはさらに第2アドレスチャネルを有し、前記送信装置はさらに書き込み動作のために前記アドレスを前記受信装置へ前記アドレスチャネルで送信し、読み出しアドレスを読み出し動作のために前記受信装置へ前記第2アドレスチャネルで送信するように構成されるものであり、前記送信装置はさらに前記ペイロードの追加的部分を前記第2アドレスチャネルで前記受信装置へ送信するように構成される請求項1に記載の処理システム。
  7. 前記送信装置はさらに前記別アドレスを前記受信装置へ前記アドレスチャネルで、前記ペイロードの第3番目部分を前記受信装置へ前記書き込みチャネルで、および前記ペイロードの前記第4番目部分を前記受信装置へ前記第2アドレスチャネルで同時に送信するように構成され、
    前記第4番目部分は前記ペイロードの最終番目部分であり、
    データ順序の優先権が前記第2アドレスチャネルよりも前記書き込みチャネルに与えられる請求項6に記載の処理システム。
  8. 前記送信装置は、さらに前記アドレスチャネルが前記受信装置へアドレスを送信するために用いられているか、または、書き込みペイロードの一部分を前記受信装置へ送信するために用いられているかを示す、前記受信装置への制御信号を提供するように構成される請求項1に記載の処理システム。
  9. 前記送信装置は、さらに前記アドレスチャネルおよび書き込みチャネルの各々について制御信号を提供するように構成され、これら制御信号の各々は前記ペイロードの該当部分を識別するもので、その対応チャネルで送信される請求項1に記載の処理システム。
  10. 受信装置と、
    アドレスチャネル、書き込みチャネル、および読み出しチャネルを有するバスと、
    前記アドレスチャネルで前記受信装置へアドレスを送信する手段と、
    前記読み出しチャネルで前記受信装置からデータを読み出す手段と、
    前記書き込みチャネルおよび前記アドレスチャネルで前記送信装置から前記受信装置へペイロードを送信する手段と
    を備え、
    前記送信手段は、前記ペイロードの複数の順番部分を前記バスで同時に送信する場合に、前記ペイロードのためのアドレスを前記アドレスチャネルで、前記ペイロードの第1番目部分を前記書き込みチャネルで同時に送信し、前記ペイロードの複数の後続順番部分を前記書き込みチャネルおよび前記アドレスチャネルで送信することによって前記アドレスチャネルよりも前記書き込みチャネルにデータ順序の優先権を与え
    前記ペイロードの前記複数の順番部分の最終番目部分が前記データ順序の優先権に基づいて前記書き込みチャネルで送信される場合に、前記ペイロードの最終番目部分は、次のペイロードのための別アドレスと同時に送信される処理システム。
  11. アドレスチャネル、書き込みチャネル、および読み出しチャネルを有するバスを介して送信装置と受信装置とが通信する方法であって、
    前記アドレスチャネルで前記受信装置へアドレスを送信し、
    前記読み出しチャネルで前記受信装置からデータを読み出し、
    前記書き込みチャネルおよび前記アドレスチャネルで前記送信装置から前記受信装置へペイロードを送信することを備え、
    前記送信装置は、前記ペイロードの複数の順番部分を前記バスで同時に送信する場合に、前記ペイロードのためのアドレスを前記アドレスチャネルで、前記ペイロードの第1番目部分を前記書き込みチャネルで同時に送信し、前記ペイロードの複数の後続順番部分を前記書き込みチャネルおよび前記アドレスチャネルで送信することにおいて前記アドレスチャネルよりも前記書き込みチャネルにデータ順序の優先権を与え前記ペイロードの最終番目部分が前記書き込みチャネルを占有し、前記最終番目部分が次のペイロードのための別アドレスと同時に送信されるようにする方法。
  12. 前記ペイロードのためのアドレスは前記受信装置において前記第1番目部分を格納するための位置に対応する格納アドレスを含む請求項11に記載の方法。
  13. 前記複数の後続順番部分は前記ペイロードの第2番目および第3番目部分を含み、前記送信装置は前記2番目部分を前記書き込みチャネルで、前記第3番目部分を前記アドレスチャネルで同時に送信する請求項11に記載の方法。
  14. 前記最終番目部分は前記ペイロードの第4番目部分である請求項13に記載の方法。
  15. 前記送信装置は第1処理装置を備え、前記受信装置はバスインターコネクトを備え、
    処理システムがさらに第2処理装置を備え、前記バスインターコネクトは前記第1および第2処理装置を共有リソースに接続するように構成され、前記第2処理装置からのスヌープアドレスに応じて、前記ペイロードの複数の部分が前記バスインターコネクトへ送信される請求項11に記載の方法。
  16. 前記バスはさらに第2アドレスチャネルを有し、前記アドレスチャネルで前記受信装置へ前記アドレスを送信することは書き込み動作のためであり、
    さらに、読み出しアドレスを読み出し動作のために前記受信装置へ前記第2アドレスチャネルで送信し、
    前記ペイロードの追加的部分を前記第2アドレスチャネルで前記受信装置へ送信すること
    を備える請求項11に記載の方法。
  17. さらに前記別アドレスを前記受信装置へ前記アドレスチャネルで、前記ペイロードの第3番目部分を前記受信装置へ前記書き込みチャネルで、および前記ペイロードの前記第4番目部分を前記受信装置へ前記第2アドレスチャネルで同時に送信することを備え、
    前記第4番目部分は前記ペイロードの最終番目部分であり、
    データ順序の優先権が前記第2アドレスチャネルよりも前記書き込みチャネルに与えられる請求項16に記載の方法。
  18. さらに前記アドレスチャネルが前記受信装置へアドレスを送信するために用いられているか、または、書き込みペイロードの一部分を前記受信装置へ送信するために用いられているかを示す前記受信装置への制御信号を提供することを備える請求項11に記載の方法。
  19. さらに前記アドレスチャネル、前記書き込みチャネルおよび前記第2アドレスチャネルの各々について制御信号を提供することを備え、
    これら制御信号の各々は前記ペイロードの該当部分を識別するもので、その対応チャネルで送信される請求項16に記載の方法。
  20. メモリと、
    アドレスチャネル、書き込みチャネル、および読み出しチャネルを有するバスに前記メモリをインタフェースするように構成されたバスインタフェースと
    を備え、
    前記バスインタフェースは、バスマスタ装置からアドレスを前記アドレスチャネルで受信し、読み出しデータを前記読み出しチャネルで前記バスマスタ装置へ送信するように構成され、
    前記バスインタフェースはさらに前記バスマスタ装置から前記ペイロードを前記書き込みチャネルおよび前記アドレスチャネルで同時に受信するように構成され、
    前記ペイロードの複数の順番部分が前記バスで同時に受信される場合に、前記アドレスチャネルにおけるペイロードのためのアドレスおよび前記書き込みチャネルにおける前記ペイロードの第1番目部分が同時に受信され、前記書き込みチャネルおよび前記アドレスチャネルにおける前記ペイロードの複数の後続順番部分が、前記ペイロードの複数の後続順番部分を前記書き込みチャネルおよび前記アドレスチャネルで送信することにおいて前記アドレスチャネルよりも前記書き込みチャネルに与えられるデータ順序の優先権に従って受信され、前記ペイロードの最終番目部分が次のペイロードのための別アドレスと同時に受信されることを可能にするスレーブ装置。
  21. 前記ペイロードのためのアドレスは前記スレーブ装置において前記第1番目部分を格納するための位置に対応する格納アドレスを含む請求項20に記載のスレーブ装置。
  22. 前記複数の後続順番部分は前記ペイロードの第2番目および第3番目部分を含み、前記バスインタフェースはさらに前記2番目部分を前記書き込みチャネルで、前記第3番目部分を前記アドレスチャネルで同時に受信するように構成される請求項20に記載のスレーブ装置。
  23. 前記最終番目部分は前記ペイロードの第4番目部分である請求項20に記載のスレーブ装置。
  24. 前記バスインタフェースはさらに第2アドレスチャネルを有し、
    前記バスインタフェースはさらに書き込み動作のために前記アドレスを前記アドレスチャネルで受信し、前記読み出しアドレスを読み出し動作のために前記第2アドレスチャネルで受信するように構成され、
    前記バスインタフェースはさらに前記ペイロードの追加的部分を前記バスマスタ装置から前記第2アドレスチャネルで受信するように構成される請求項20に記載のスレーブ装置。
  25. 前記バスインタフェースはさらに前記バスマスタ装置から第2アドレスを前記アドレスチャネルで、前記バスマスタ装置から前記ペイロードの第3番目部分を前記書き込みチャネルで、および前記バスマスタ装置から前記ペイロードの第4番目部分を前記第2アドレスチャネルで同時に受信するように構成され、
    前記第4番目部分は前記ペイロードの最終番目部分であり、
    データ順序の優先権が前記第2アドレスチャネルよりも前記書き込みチャネルに与えられる請求項24に記載のスレーブ装置。
  26. 前記バスインタフェースは、さらに前記アドレスチャネルがアドレスまたは書き込みペイロードの一部分を送信するために用いられているかを示す制御信号を前記バスマスタ装置から受信するように構成される請求項20に記載のスレーブ装置。
  27. 前記バスインタフェースはさらに前記アドレスチャネル、前記書き込みチャネル、および前記読み出しチャネルの各々で制御信号を受信するように構成され、
    これら制御信号の各々は前記ペイロードの該当部分を識別するもので、その対応チャネルで送信される請求項24に記載のスレーブ装置。
  28. 前記送信装置は前記受信装置に暗黙的にアドレスを提示するように構成され、前記ペイロードの次の後続順番部分が最近の利用可能クロックサイクルで書き込まれる請求項1に記載の処理システム。
  29. 各ペイロードはその全体において次のペイロードが送信される前に送信される請求項28に記載の処理システム。
  30. 前記送信装置は前記受信装置に暗黙的にアドレスを提示するように構成され、前記ペイロードの次の後続順番部分が最近の利用可能クロックサイクルで書き込まれる請求項11に記載の方法。
  31. 各ペイロードはその全体において次のペイロードが送信される前に送信される請求項30に記載の方法。
  32. 前記バスマスタ装置は前記メモリに暗黙的にアドレスを提示するように構成され、前記ペイロードの次の後続順番部分が最近の利用可能クロックサイクルで前記バスマスタ装置から受信される請求項20に記載のスレーブ装置。
  33. 各ペイロードはその全体において次のペイロードが送信される前に受信される請求項32に記載のスレーブ装置。
  34. 前記送信装置は複数のペイロードの部分をインターリーブし、これら複数のペイロードの各々を識別するためのペイロード整列番号を含む複数の制御信号を生成するように構成される請求項1に記載の処理装置。
  35. 前記送信装置は複数のペイロードの部分をインターリーブし、これら複数のペイロードの各々を識別するためのペイロード整列番号を含む複数の制御信号を生成するように構成される請求項11に記載の方法。
  36. 前記バスインタフェースは複数のペイロードの部分をインターリーブし、これら複数のペイロードの各々を識別するためのペイロード整列番号を含む複数の制御信号を生成するように構成される請求項20に記載のスレーブ装置。
  37. 受信装置と、
    書き込みアドレスチャネル、書き込みチャネル、および読み出しアドレスチャネルを有するバスと、
    前記書き込みアドレスチャネルで前記受信装置へアドレスを送信し、前記書き込みチャネルおよび前記読み出しアドレスチャネルで同時に前記受信装置へペイロードを送信するように構成される送信装置と
    を備え、
    前記送信装置は、前記ペイロードの複数の順番部分が前記バスで同時に送信される場合に、前記ペイロードのためのアドレスを前記書き込みアドレスチャネルで、前記ペイロードの第1番目部分を前記書き込みチャネルで同時に送信し、前記ペイロードの複数の後続順番部分を前記書き込みチャネルおよび前記アドレスチャネルで送信することにおいて前記アドレスチャネルよりも前記書き込みチャネルにデータ順序の優先権を与え、前記最終番目部分が前記書き込みチャネルを占有する場合に、前記ペイロードの最終番目部分が次のペイロードのための別アドレスと同時に送信されることを可能にするように構成される処理システム。
  38. 前記送信装置は、さらに前記ペイロードの第3番目部分を前記書き込みチャネルで、前記ペイロードの第4番目部分を前記読み出しアドレスチャネルで、前記受信装置への他のアドレスを前記書き込みアドレスチャネルで同時に送信するように構成される請求項37に記載の処理システム。
  39. 前記次のペイロードは第1、第2、および第番目部分を有し、
    前記送信装置は、さらに前記ペイロードの前記第1、第2、第3、および第4番目部分の送信後に、前記第2ペイロードの第1番目部分を前記書き込みチャネルで、前記第2ペイロードの第2番目部分を前記読み出しアドレスチャネルで、および前記第2ペイロードの第3番目部分を前記書き込みアドレスチャネルで同時に送信するように構成される請求項38に記載の処理システム。
JP2008556569A 2006-02-24 2007-02-23 バスのアドレスチャネル上における協調的書き込み Expired - Fee Related JP5254044B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US77652906P 2006-02-24 2006-02-24
US60/776,529 2006-02-24
US11/468,908 2006-08-31
US11/468,908 US8107492B2 (en) 2006-02-24 2006-08-31 Cooperative writes over the address channel of a bus
PCT/US2007/062761 WO2007101134A1 (en) 2006-02-24 2007-02-23 Cooperative writes over the address channel of a bus

Publications (2)

Publication Number Publication Date
JP2009528597A JP2009528597A (ja) 2009-08-06
JP5254044B2 true JP5254044B2 (ja) 2013-08-07

Family

ID=38123722

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008556569A Expired - Fee Related JP5254044B2 (ja) 2006-02-24 2007-02-23 バスのアドレスチャネル上における協調的書き込み

Country Status (11)

Country Link
US (2) US8107492B2 (ja)
EP (2) EP2002345B1 (ja)
JP (1) JP5254044B2 (ja)
KR (2) KR101081301B1 (ja)
CN (1) CN104199798B (ja)
BR (1) BRPI0708189A2 (ja)
CA (1) CA2640317C (ja)
MX (1) MX2008010822A (ja)
RU (1) RU2405195C2 (ja)
TW (1) TWI341468B (ja)
WO (1) WO2007101134A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8107492B2 (en) 2006-02-24 2012-01-31 Qualcomm Incorporated Cooperative writes over the address channel of a bus
US8108563B2 (en) 2006-02-24 2012-01-31 Qualcomm Incorporated Auxiliary writes over address channel
US8463589B2 (en) 2006-07-28 2013-06-11 Synopsys, Inc. Modifying a virtual processor model for hardware/software simulation
WO2008091575A2 (en) * 2007-01-22 2008-07-31 Vast Systems Technology Corporation Method and system for modeling a bus for a system design incorporating one or more programmable processors
KR101178293B1 (ko) 2011-03-25 2012-08-29 마사미 후쿠시마 중앙 처리 장치 및 마이크로컨트롤러
JP4862100B1 (ja) * 2011-03-25 2012-01-25 好一 北岸 中央演算処理装置及びマイクロコンピュータ
US8516225B2 (en) 2011-03-25 2013-08-20 Koichi Kitagishi Central processing unit and microcontroller
US9258244B1 (en) 2013-05-01 2016-02-09 Sandia Corporation Protocol for communications in potentially noisy environments
KR102206313B1 (ko) * 2014-02-07 2021-01-22 삼성전자주식회사 시스템 인터커넥트 및 시스템 인터커넥트의 동작 방법
DE102018001574B4 (de) * 2018-02-28 2019-09-05 WAGO Verwaltungsgesellschaft mit beschränkter Haftung Master-Slave Bussystem und Verfahren zum Betrieb eines Bussystems

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3689290T2 (de) * 1985-04-22 1994-04-28 Ncr Co Verfahren zur Auswahl eines optimalen Übertragungskanals in einem Kommunikationssystem mit mehreren Stationen.
JPS62231365A (ja) 1986-04-01 1987-10-09 Mitsubishi Electric Corp 情報処理方式
SU1550524A1 (ru) 1988-06-27 1990-03-15 Предприятие П/Я А-3886 Устройство дл сопр жени процессора с внешним устройством
JPH0736166B2 (ja) 1988-06-29 1995-04-19 日本電気株式会社 データ転送方式
JPH0225958A (ja) 1988-07-15 1990-01-29 Fuji Electric Co Ltd 高速データ転送システム
RU1807493C (ru) 1991-02-04 1993-04-07 Харьковское Научно-Производственное Объединение По Системам Автоматизированного Управления Система обмена данными в вычислительной сети
US5255376A (en) 1992-01-14 1993-10-19 Sun Microsystems, Inc. Method and apparatus for supporting a dual bit length protocol for data transfers
GB2285524B (en) 1994-01-11 1998-02-04 Advanced Risc Mach Ltd Data memory and processor bus
US5544163A (en) 1994-03-08 1996-08-06 Excel, Inc. Expandable telecommunications system
JPH0830546A (ja) * 1994-07-20 1996-02-02 Nec Niigata Ltd バス制御装置
US5612742A (en) 1994-10-19 1997-03-18 Imedia Corporation Method and apparatus for encoding and formatting data representing a video program to provide multiple overlapping presentations of the video program
US6434638B1 (en) * 1994-12-09 2002-08-13 International Business Machines Corporation Arbitration protocol for peer-to-peer communication in synchronous systems
GB2304210B (en) * 1995-08-11 2000-02-16 Fujitsu Ltd Data receiving devices
US6044225A (en) * 1996-03-13 2000-03-28 Diamond Multimedia Systems, Inc. Multiple parallel digital data stream channel controller
US7002964B1 (en) * 1998-02-24 2006-02-21 Canon Kabushiki Kaisha Communication system, method for a communication system and controller for a communication system
US6292873B1 (en) 1998-05-22 2001-09-18 Hewlett-Packard Company Dual-ported electronic random access memory that does not introduce additional wait states and that does not cause retransmission of data during shared access
US6163835A (en) 1998-07-06 2000-12-19 Motorola, Inc. Method and apparatus for transferring data over a processor interface bus
US6151262A (en) 1998-10-28 2000-11-21 Texas Instruments Incorporated Apparatus, system and method for control of speed of operation and power consumption of a memory
JP2000215183A (ja) 1999-01-01 2000-08-04 Seiko Epson Corp メモリポ―ト仲裁方法
US7243185B2 (en) 2004-04-05 2007-07-10 Super Talent Electronics, Inc. Flash memory system with a high-speed flash controller
CN1129071C (zh) 1999-10-27 2003-11-26 盖内蒂克瓦尔有限公司 元件之间的通道传输结构及其传输方法
US6769046B2 (en) 2000-02-14 2004-07-27 Palmchip Corporation System-resource router
GB2373595B (en) * 2001-03-15 2005-09-07 Italtel Spa A system of distributed microprocessor interfaces toward macro-cell based designs implemented as ASIC or FPGA bread boarding and relative common bus protocol
JP2003050742A (ja) 2001-08-07 2003-02-21 Sony Corp 情報処理装置及び情報処理方法、プログラム格納媒体並びにプログラム
US6868464B2 (en) 2002-01-03 2005-03-15 Intel Corporation Method, apparatus, and system for multi-line communication
US7209998B2 (en) 2004-02-04 2007-04-24 Qualcomm Incorporated Scalable bus structure
US7213092B2 (en) * 2004-06-08 2007-05-01 Arm Limited Write response signalling within a communication bus
US7392353B2 (en) * 2004-12-03 2008-06-24 International Business Machines Corporation Prioritization of out-of-order data transfers on shared data bus
US8108563B2 (en) 2006-02-24 2012-01-31 Qualcomm Incorporated Auxiliary writes over address channel
US8107492B2 (en) 2006-02-24 2012-01-31 Qualcomm Incorporated Cooperative writes over the address channel of a bus

Also Published As

Publication number Publication date
MX2008010822A (es) 2008-09-05
US20070201506A1 (en) 2007-08-30
US8107492B2 (en) 2012-01-31
KR101081301B1 (ko) 2011-11-08
EP2360599A3 (en) 2019-01-16
JP2009528597A (ja) 2009-08-06
TWI341468B (en) 2011-05-01
TW200809520A (en) 2008-02-16
CA2640317C (en) 2012-01-31
US8675679B2 (en) 2014-03-18
CN104199798A (zh) 2014-12-10
KR20080097481A (ko) 2008-11-05
RU2008137971A (ru) 2010-03-27
US20120096201A1 (en) 2012-04-19
BRPI0708189A2 (pt) 2012-06-12
EP2002345B1 (en) 2020-04-29
WO2007101134A1 (en) 2007-09-07
EP2002345A1 (en) 2008-12-17
EP2360599A2 (en) 2011-08-24
CA2640317A1 (en) 2007-09-07
RU2405195C2 (ru) 2010-11-27
KR20100135332A (ko) 2010-12-24
CN104199798B (zh) 2017-04-12

Similar Documents

Publication Publication Date Title
JP5254044B2 (ja) バスのアドレスチャネル上における協調的書き込み
US7822903B2 (en) Single bus command having transfer information for transferring data in a processing system
JP5893020B2 (ja) Pciエクスプレス適合デバイスの資源にアクセスするためのシステム及び方法
US10585734B2 (en) Fast invalidation in peripheral component interconnect (PCI) express (PCIe) address translation services (ATS)
US11030133B2 (en) Aggregated in-band interrupt based on responses from slave devices on a serial data bus line
US8521914B2 (en) Auxiliary writes over address channel
CN116483259A (zh) 一种数据处理方法以及相关装置
US11741028B1 (en) Efficiently striping ordered PCIe writes across multiple socket-to-socket links
JP4603054B2 (ja) スケーラブルバス構造
JP2008305232A (ja) Pcカード装置
JP2004171458A (ja) 情報処理装置および方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110419

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110719

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110726

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110816

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120327

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120627

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120704

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120827

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120927

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130417

R150 Certificate of patent or registration of utility model

Ref document number: 5254044

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160426

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees