JP2008513886A - バスの送信チャネル上の帯域幅を割り振る方法および装置 - Google Patents

バスの送信チャネル上の帯域幅を割り振る方法および装置 Download PDF

Info

Publication number
JP2008513886A
JP2008513886A JP2007532412A JP2007532412A JP2008513886A JP 2008513886 A JP2008513886 A JP 2008513886A JP 2007532412 A JP2007532412 A JP 2007532412A JP 2007532412 A JP2007532412 A JP 2007532412A JP 2008513886 A JP2008513886 A JP 2008513886A
Authority
JP
Japan
Prior art keywords
payload
broadcast
component
receiving component
transmission channel
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.)
Ceased
Application number
JP2007532412A
Other languages
English (en)
Other versions
JP2008513886A5 (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 JP2008513886A publication Critical patent/JP2008513886A/ja
Publication of JP2008513886A5 publication Critical patent/JP2008513886A5/ja
Ceased legal-status Critical Current

Links

Images

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14—Handling requests for interconnection or transfer
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14—Handling requests for interconnection or transfer
    • G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14—Handling requests for interconnection or transfer
    • G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)
  • Bus Control (AREA)

Abstract

処理システムと、処理システム内で通信する方法とが開示されている。処理システムは、送信チャネルをもつバスと、受信構成要素と、送出構成要素とを含み、送出構成要素は、送信チャネル上でペイロードを受信構成要素へ同報通信し、ペイロードの同報通信を中断して、送信チャネル上で新しいバスの動作を受信構成要素へ知らせ、送信チャネル上でのペイロードの同報通信を再開するように構成されている。処理システムは、小さいペイロードが、新しいバスの動作を開始するために中断されるのを防ぐアルゴリズムを含み得る。アルゴリズムは、新しいバスの動作を開始するために、1つの書き込み動作が中断され得る最大回数を制限するのにも使用され得る。
【選択図】 図3

Description

本開示は、概ね、バスアーキテクチャを用いる処理システム、より具体的には、バスの送信チャネル上の帯域幅を割り振る方法および装置に関する。
コンピュータは、非常に複雑な処理タスクが、キーパッドをほんの数回打つことで、行なわれるのを可能にすることによって、エレクトロニクス産業に大きな変革をもたらした。これらの非常に複雑なタスクは、信じられないほど多くの複雑な構成要素に関係し、これらの構成要素は、バスを使用して、高速で、効率的に、相互に通信する。バスとは、コンピュータ内の構成要素間のチャネルまたはパスである。
一般的なコンピュータは、システムメモリを備えたマイクロプロセッサを含む。システムのバス(system bus)は、二者間の通信を支援するのに使用され得る。さらに加えて、データを種々の周辺装置へ転送するのに使用される他の周辺装置のバス(peripheral bus)もあり得る。幾つかの場合において、種々の資源をプログラムする目的で使用される構成バス(configuration bus)もあり得る。ブリッジは、より大きいまたはより小さい帯域幅のバス間でデータを効率的に転送するのに、および必要なプロトコル変換を行うのに使用され得る。
コンピュータ内に存在する多くのバスは、従来から、共有バス(shared bus)として実施されてきた。共有バスは、任意の数の構成要素が共通の経路またはチャネルによって通信するための手段を与える。近年、共有バスの技術は、大部分は、二地点間交換接続(point-to-point switching connections)に代わった。二地点間交換接続は、バス上の2つの構成要素が相互に通信している間、それらの間に直接的な接続を与える。多数の直接リンクを使用して、幾つかの構成要素が同時に通信するのを可能にし得る。
従来のバス設計は、独立した別々の読み出しチャネル、書き込みチャネル、および1本以上のアドレスチャネルを含む。マイクロプロセッサは、例えば、アドレスチャネル上にアドレス位置を置き、適切な読み出し/書き込み制御信号を送ることによって、システムメモリを読み出すか、またはそこへ書き込むことができる。マイクロプロセッサは、システムメモリにデータを書き込むときは、書き込みチャネル上でデータを送る。マイクロプロセッサは、システムメモリからデータを読み出すときは、読み出しチャネル上でデータを受信する。
この特定のバス構造は、コンピュータの構成要素間で通信するための適正に標準化されたやり方を与えるが、多数の専用チャネルを必要とする。これらのチャネルは、ドライバ、受信機、および緩衝回路を必要とし、これらは全て、電力を消費する。集積回路の応用において、これらのチャネルは、大切なチップ領域を占める。したがって、単純化されたバス構造が、当技術において必要とされている。
本発明の1つの態様において、処理システムは、送信チャネルをもつバスと、受信構成要素(receiving component)と、送出構成要素(sending component)とを含み、送出構成要素は、送信チャネル上でペイロードを受信構成要素へ同報通信し、ペイロードの同報通信を中断して、送信チャネル上で新しいバスの動作を受信構成要素へ知らせ、送信チャネル上でのペイロードの同報通信を再開するように構成されている。
本発明の別の態様において、処理システムは、送信チャネルをもつバスと、受信構成要素と、送出構成要素とを含み、送出構成要素は、送信チャネル上でペイロードを受信構成要素へ同報通信し、ペイロードの同報通信中に開始された各新しいバスの動作のために、ペイロードの同報通信を、中断の最大数に達するまで、中断し、各中断の間に、送信チャネル上で新しいバスの動作の異なる1つを受信構成要素へ知らせ、各中断の後で、送信チャネル上でのペイロードの同報通信を再開するように構成されている。
本発明のまた別の態様において、処理システムは、送信チャネルをもつバスと、受信構成要素と、送出構成要素とを含み、送出構成要素は、送信チャネル上でペイロードを受信構成要素へ同報通信し、ペイロードの同報通信の開始に続くある時間期間中に、新しいバスの動作を開始し、ペイロードが、その時間期間中に、中断されることなく、同報通信されることを可能にし、ペイロードの同報通信がその時間期間を超えて延びるときは、その時間期間の後で、ペイロードの同報通信を中断し、送信チャネル上で新しいバスの動作を受信構成要素へ知らせ、中断されたときは、ペイロードの同報通信を再開するように構成されている。
本発明のさらに別の実施形態において、処理システムは、送信チャネルをもつバスと、受信構成要素と、送出構成要素とを含み、送出構成要素は、送信チャネル上でペイロードを受信構成要素へ同報通信する手段と、ペイロードの同報通信を中断し、送信チャネル上で新しいバスの動作を受信構成要素へ知らせる手段と、ペイロードの同報通信を再開する手段とをもつ。
本発明の他の態様において、送信チャネルをもつバス上で、送出構成要素と受信構成要素との間で通信する方法であって、方法は、送信チャネル上で送出構成要素から受信構成要素へペイロードを同報通信することと、ペイロードの同報通信を中断して、送信チャネル上で新しいバスの動作を受信構成要素へ知らせることと、送信チャネル上での送出構成要素から受信構成要素へのペイロードの同報通信を再開することとを含む。
本発明のまた他の態様において、送信チャネルをもつバス上で、送出構成要素と受信構成要素との間で通信する方法であって、方法は、送信チャネル上で送出構成要素から受信構成要素へペイロードを同報通信することと、ペイロードの同報通信中に送出構成要素によって開始された各新しいバスの動作のために、ペイロードの同報通信を、中断の最大数に達するまで、中断することと、各中断の間に、送信チャネル上で新しいバスの動作の異なる1つを受信構成要素へ知らせることと、各中断の後で、送信チャネル上での送出構成要素による受信構成要素へのペイロードの同報通信を再開することとを含む。
本発明のさらに他の態様において、送信チャネルをもつバス上で、送出構成要素と受信構成要素との間で通信する方法であって、方法は、第1および第2の時間期間中に、送信チャネル上で送出構成要素から受信構成要素へペイロードを同報通信することと、ペイロードの同報通信の開始に続く第1の時間期間中に、新しいバスの動作を開始することと、第1の時間期間に続く第2の時間期間中に、ペイロードの同報通信を中断し、送出構成要素によって送信チャネル上で新しいバスの動作を受信構成要素へ知らせることと、ペイロードの同報通信を再開することとを含む。
本発明の種々の実施形態が例示的に示され、記載されている次の詳細な説明から、本発明の他の実施形態が、当業者には容易に明らかになるであろうと理解される。理解されることになるように、本発明は、他の、および異なる実施形態が可能であり、その幾つかの細部は、その全てが本発明の意図および範囲から逸脱することなく、種々の他の点において、変更することができる。したがって、図面および詳細な記述は、本質的に例示的であって、限定的ではないと考えられる。
本発明の態様は、添付の図面において、限定によってではなく、例示によって示されている。
添付の図面に関連して次に記載される詳細な記述は、本発明の種々の実施形態の記述として意図しており、本発明が実行され得る唯一の実施形態を表わすことを意図しているわけではない。詳細な記述は、本発明を完全に理解させるために、具体的な詳細を含んでいる。しかしながら、当業者には、本発明が、これらの具体的な詳細がなくても実行され得ることが明らかであるだろう。いくつかの例において、本発明の概念を不明瞭にするのを避けるために、周知の構造および構成要素がブロック図の形で示されている。
図1は、処理システム内の2つの構成要素間における、バス上での二地点間接続の例を示す概念ブロック図である。処理システム100は、1つ以上の処理機能を行うために協力する構成要素の集まりであり得る。一般に、処理システムは、コンピュータであるか、またはコンピュータ内に存在し、情報を処理し、検索し、記憶することができる。
処理システム100は、バス106上で受信構成要素104と通信する送出構成要素102と共に示されている。処理システム100の1つの実施形態において、バス106は、送出構成要素102と受信構成要素104との間の専用バスである。処理システム100の別の実施形態において、送出構成要素102は、バスの相互接続(図示されていない)によって、バス106上で二地点間接続で受信構成要素104と通信する。本発明が、専用バスまたは二地点間交換接続に制限されるのではなく、例えば、共有バスを含む、任意のタイプのバス技術に応用され得るという認識のもとで、本発明の全体的な理解を容易にするために、バスのこれらの実施形態が与えられている。
送出構成要素102は、任意のタイプのバスの主構成要素(mastering component)であり、例えば、マイクロプロセッサ、ディジタル信号プロセッサ(digital signal processor, DSP)、直接メモリアクセス制御装置、ブリッジ、プログラム可能な論理構成要素、ディスクリートなゲートまたはトランジスタ論理、あるいは任意の他の情報処理構成要素を含む。
受信構成要素104は、任意の記憶構成要素であり、例えば、レジスタ、メモリ、ブリッジ、相互接続、または情報を受信し、検索することができる任意の他の構成要素を含む。受信構成要素の各アドレス位置における記憶容量は、個々の応用および全体的な設計の制約に依存して、変わり得る。説明のために、アドレス位置当たりに1バイトの記憶容量をもつ受信構成要素が記載される。
バス106の複雑さは、従来のバス構造で使用されているアドレスチャネルを無くすことによって軽減され得る。アドレスチャネルを無くすことは、書き込みチャネルを“送信チャネル”108として再定義することによって達成され得る。送信チャネル108は、時分割多重化方式で、送出構成要素102と受信構成要素104との間で情報を同報通信するための一般的な媒体として使用され得る。この情報は、読み出しおよび書き込みアドレス情報、転送クォリファイア(transfer qualifier)、バイト書き込み許可(write byte enable)、受信構成要素へ書き込まれるデータ(“書き込みデータ”)、または何か他のバスに関係する情報を含み得る。受信チャネル110は、受信構成要素104から読み出されたデータ(“読み出しデータ”)を、送出構成要素102へ同報通信するのに使用され得る。
“転送クォリファイア”という用語は、読み出し動作、書き込み動作、または何か他のバスに関係する動作の属性を記述しているパラメータを指す。転送クォリファイアの例は、読み出しまたは書き込み動作のためのペイロードのサイズを示す信号である。“ペイロード”という用語は、1つの読み出しまたは書き込み動作と関係付けられたデータを指す。ペイロードが複数のバイトであるとき、受信構成要素104は、その動作に関連する送信チャネル108上で同報通信されたアドレス位置から始まる、連続するアドレス位置のブロックへ書き込むか、または読み出し得る。
“バイト書き込み許可”は、送信チャネル108上の何れのバイトのレーンが、書き込み動作のためのペイロードを同報通信するのに使用されることになるかを示すのに使用され得る。例えば、32ビットの送信チャネル108上の2バイトのペイロードの同報通信は、4バイトのレーンの中の2バイトを使用し得る。バイト書き込み許可は、送信チャネル108上の2バイトのレーンの何れが、書き込み動作のためのペイロードを同報通信するのに使用されることになるかを、受信構成要素102に示すのに使用され得る。
送出構成要素102は、アドレス位置、転送クォリファイア、バイト書き込み許可、およびペイロードを送信チャネル108上で同報通信することによって、受信構成要素104に書き込み得る。ペイロードのサイズ、すなわち、送信チャネル108上でペイロードを同報通信するのに必要なクロック数は、送出構成要素102によって判断され、実施によって固定されるか、またはプログラム可能かであり得る。大抵の場合に、送信チャネル108全体で、大きいペイロードを同報通信して、バースティングプロトコルを使用することが望ましい。これは、多くの場合に、使用可能な帯域幅の全体的な効率をより高くする。しかしながら、大きいペイロードは、送信チャネル108上の読み出し動作のための次のアドレス位置を、送信チャネル上で受信構成要素104へ提示するのを遅らせるという欠点をもつ。これは、次に高い優先順位の読み出し動作の待ち時間を増加させ得る。待ち時間の間、送出構成要素102は、待ち状態であり得る。
送出構成要素102は、送信チャネル108上でアドレス情報およびペイロードの帯域幅を割り振り、この待ち時間を低減し、処理システム100の性能を高めるのを助けるように構成され得る。より具体的には、送出構成要素102は、送信チャネル108上の大きいペイロードの同報通信を中断し、ペイロード内の読み出し動作のためのアドレス位置および転送クォリファイアをインターリーブすることによって、高い優先順位の読み出し動作を開始するように構成され得る。次に、高い優先順位の読み出し動作のためのペイロードは、送信チャネル108上で同報通信されている書き込み動作のためのペイロードの残りの部分と並行して、受信チャネル110上で同報通信され得る。
送出構成要素102は、送信チャネル108上の大きいペイロードの同報通信を中断し、送信チャネル108全体における次の書き込み動作のパイプライン化を容易にするようにも構成され得る。受信構成要素104が、オフチップ(off-chip)メモリにアクセスするように構成されたメモリ制御器である場合に、アドレス位置がオフチップメモリに与えられるときから、ペイロードがメモリに書き込まれることができるまで、数クロックサイクルの遅れがあり得る。したがって、現在のペイロードの同報通信が完了する前に、書き込み動作のためのアドレス位置、転送クォリファイア、およびバイト書き込み許可が送信チャネル108全体で同報通信されることを可能にすることによって、受信構成要素104は、書き込み動作をより効率的にパイプライン化することができ得る。
これまでに記載された種々の概念は、任意の数のプロトコルを使用して、実施され得る。次の詳細な記述では、バスプロトコルの例が提示される。処理システムについての本発明の態様が任意の適切なプロトコルと共に使用され得るという認識のもとで、このバスプロトコルは、本発明の態様を説明するために提示されている。送信チャネルのための基本的なシグナリングプロトコルは、次のテーブル1に示されている。当業者には、本明細書に記載されているバス構造を実際に実施するとき、信号をこのプロトコルに容易に変更し、または追加し、あるいはこの両者を行うことができるであろう。
Figure 2008513886
次のテーブル2に示されているように、同じシグナリングプロトコルが、受信チャネルのために使用され得る。
Figure 2008513886
このシグナリングプロトコルにおいて使用されるタイプフィールドの定義は、テーブル3に示されている。
Figure 2008513886
図2は、どのように書き込み動作が中断され、読み出し動作を開始し得るかを示すタイミング図である。この例において、送信チャネルは、64ビットの幅であり、書き込み動作のためのペイロードは、64バイトである。したがって、送信チャネル上でペイロードを同報通信するのに、8クロックサイクルが必要である。通常は、書き込み動作のためのペイロードの同報通信が完了するまで、読み出し動作を開始することはできない。しかしながら、上述の送信チャネル上の帯域幅の割り振り方法を使用すると、読み出し動作が送出構成要素によって開始されると直ぐに、読み出し動作のためのアドレス位置が、書き込み動作のためのペイロードとインターリーブされ、それによって、読み出し待ち時間を低減し、送信および受信チャネルの利用度を向上し得る。
図2を参照すると、クロック(Clock)222は、送出構成要素と受信構成要素との間の通信を同期させるのに使用され得る。書き込み動作は、1番目のクロックサイクル201中に、送出構成要素によって開始され得る。これは、送信有効(Transmit Valid)信号224をアサートし、送信タイプ(Transmit Type)フィールド226を、書き込み動作のためのアドレス位置の書き込み有効(valid write address location)の同報通信を知らせるように設定することによって、達成され得る。同時に、アドレス位置が、送信チャネル(Transmit Channel)228上で受信構成要素へ同報通信され得る。受信構成要素は、送信有効信号224のアサーションを検出し、送信タイプフィールド226から、送信チャネル228上で同報通信されたアドレス位置が、書き込み動作のための有効なアドレスであると判断する。応答して、受信構成要素は、アドレス位置をアドレス待ち行列に記憶する。さらに加えて、受信構成要素は、送信の転送Ack(Transmit Transfer Ack)信号をアサートし、自分が同報通信を受信したことを示し得る。
アドレス位置の同報通信に続いて、2番目のクロックサイクル202において、書き込み動作のための転送クォリファイア(transfer qualifiers for the write operation)の同報通信が行われ得る。送出構成要素は、送信有効信号224をアサートし続け、タイプフィールド226を適切に変更することによって、この同報通信について、受信構成要素へ知らせ得る。転送クォリファイアは、書き込み動作のためのペイロードが64バイトであることを示すシグナリングを含み得る。この場合に、転送クォリファイアは、全バイトレーンがペイロードを同報通信するのに使用されることになることを示すバイト書き込み許可を含み得る。その代わりに、バイト書き込み許可は、側波帯信号を使用して同報通信されることもある。受信構成要素は、送信有効信号224のアサーションを検出し、送信タイプフィールド226から、書き込み動作のための、送信チャネル228上で同報通信された転送クォリファイアが有効であると判断する。受信構成要素は、転送クォリファイアから、数ある中でも、ペイロードが8クロックサイクルの間に同報通信され、アドレス待ち行列に記憶されているアドレス位置で始まる、64個の連続するアドレス位置のブロックに書き込まれることになることを判断し得る。
より高い優先順位の読み出しおよび書き込み動作が他にないと仮定して、クロックサイクル203において、ペイロードの同報通信が、送信チャネル228の全バイトレーンを使用して、8バイトのペイロードのデータビートで始まり得る。それに応じて、送出構成要素は、送信有効信号224をアサートし続けて、送信タイプフィールド226を変更することによって、ペイロードの同報通信について、受信構成要素に知らせ得る。受信構成要素は、送信有効信号224のアサーションを検出し、送信タイプフィールド226から、データの書き込み有効(valid write data)が送信チャネル228上で同報通信されていると判断する。応答して、8バイトが受信構成要素に書き込まれ得る。
この例において、送出構成要素は、次の3クロックサイクルの間に、ペイロードの8バイトを一度に同報通信し続ける。7番目のクロックサイクル207中に、書き込み動作のためのペイロードは、高い優先順位の読み出し動作のために中断される。送信有効信号224は、アサートされ、送信タイプフィールド226は、読み出し動作のためのアドレス位置の読み出し有効(valid read address location)の同報通信を知らせるように設定される。同時に、アドレス位置は、送信チャネル228上で、受信構成要素へ同報通信され得る。受信構成要素は、送信有効信号224のアサーションを検出し、送信タイプフィールド226から、読み出し動作のためのアドレス位置を優先して、書き込み動作のためのペイロードの同報通信が一時停止されたと判断する。応答して、受信構成要素は、アドレス待ち行列内にアドレス位置を記憶する。受信構成要素は、自分が同報通信を受信したことを示す送信の転送Ack信号230をアサートし得る。
アドレス位置の同報通信に続いて、8番目のクロックサイクル208において、読み出し動作のための転送クォリファイア(transfer qualifiers for the read operation)の同報通信が行われ得る。送出構成要素は、送信有効信号224をアサートし続けて、送信タイプフィールド226を適切に変更することによって、この同報通信について、受信構成要素に知らせ得る。転送クォリファイアは、読み出し動作のペイロードも64バイトであることを示すシグナリングを含み得る。受信構成要素は、送信有効信号224のアサーションを検出し、送信タイプフィールド226から、送信チャネル228上で同報通信された転送クォリファイアが、読み出し動作に対する有効であると判断する。受信チャネル240が8バイトの幅であると仮定すると、受信構成要素は、転送クォリファイアから、数ある中でも、ペイロードが8クロックサイクルの間に同報通信され、アドレス待ち行列に記憶されているアドレス位置から始まる、64個の連続するアドレス位置のブロックから読み出されることになると判断し得る。
9番目のクロックサイクル209の始めにおいて、送出構成要素は、送信チャネル228上で書き込み動作のためのペイロードの同報通信を再開し、12番目のクロックサイクル212の最後に同報通信を完了し得る。これらの4クロックサイクルの各々の間、送出構成要素は、送信有効信号224をアサートし続けて、送信タイプフィールド226を、データの書き込み有効を知らせるように設定することによって、ペイロードの同報通信について、受信構成要素に知らせる。受信構成要素は、各クロックサイクルにおいて、送信有効信号224のアサーションを検出し、送信タイプフィールド226から、データの書き込み有効が送信チャネル228上で同報通信されていると判断する。12番目のクロックサイクル212の最後に、ペイロードの同報通信の全てが完了するまで、各クロックサイクルの最後に、送信チャネル228上の8バイトのペイロードが受信構成要素に書き込まれる。
9番目のクロックサイクル209中に、送出構成要素が、書き込み動作のためのペイロードの同報通信を再開するのと同時に、受信構成要素は、読み出し動作のためのペイロードにアクセスし始める。受信構成要素の読み出し待ち時間のために、ペイロードが使用可能になる前に、1クロックサイクルの遅延が経験され得る。10番目のクロックサイクル210の始めに、ペイロード(または、少なくともペイロードの最初の8バイト)が使用可能になると、受信構成要素は、受信有効(Receive Valid)信号234をアサートし、受信タイプ(Receive Type)フィールド236を、受信チャネル(Receive Channel)238上でデータの読み出し有効(valid read data)の信号を送るように設定する。次に、受信構成要素は、受信チャネル238上で読み出し動作のためのペイロードを送出構成要素へ同報通信し始め得る。受信有効信号234および受信タイプフィールド236の設定は、読み出し動作のためのペイロードの全同報通信にわたって、維持されることになる。この場合に、読み出し動作は、10番目のクロックサイクル210から始まり、17番目のクロックサイクル217の最後に完了する全8クロックサイクルにわたることになる。送出構成要素において、受信の転送Ack(Receive Transfer Ack)信号240がアサートされ続けるならば、読み出し動作のためのペイロードの同報通信は、この時間フレームにおいて完了され得る。
読み出し動作が、書き込み動作のためのペイロードの同報通信中に、開始されなかったときは、読み出し動作のためのペイロードのリターン(return)は、14番目のクロックサイクル214まで開始されないであろう。したがって、従来の技術と比較して、上述の例における読み出し動作のための待ち時間は、4クロックサイクル分、低減される。
読み出し待ち時間を低減する恩恵は、幾つかの条件下における書き込み動作のためのペイロードの同報通信の遅延の増加によって相殺され得る。バス全体における性能を最適化するために、送出構成要素は、送出構成要素によって開始された新しい読み出し動作が、小さいペイロードの同報通信を中断するのを防ぎ、それによって、処理システムに見られる最大読み出し待ち時間を制御するアルゴリズムを採用し得る。アルゴリズムは、新しい読み出し動作を開始するために、送信チャネル上で同報通信される1つのペイロードが、中断され得る回数を制限し、それによって、書き込み動作のためのペイロードを同報通信するのにかかる最大時間を制御するのにも使用され得る。
アルゴリズムは、送出構成要素の一部として、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組合せで実施され得る。例示的に、送出構成要素は、読み出しおよび書き込み動作を開始することができるマイクロプロセッサ、およびハードウェアで実施され、アルゴリズムを組み込んだバスインターフェースを含み得る。その代わりに、アルゴリズムは、マイクロプロセッサ上で実行されるように構成されたソフトウェアであってもよい。別の実施形態において、送出構成要素は、DSPを含み、アルゴリズムは、埋め込まれたソフトウェア層であり得る。処理システムの幾つかの実施形態において、アルゴリズムは、送出構成要素から分かれている別個のスタンドアロン エンティティであり得る。この開示の目的において、“送出構成要素”という用語は、処理システム内のアルゴリズムの物理的な位置に関係なく、アルゴリズムを含むことを意図されている。
図3は、アルゴリズムを実施する送出構成要素の例を示す高いレベルのブロック図である。送出構成要素102は、マイクロプロセッサ302と、ハードウェアで実施されるバスインターフェース304とを含み得る。バスインターフェース304は、マイクロプロセッサ302とバス106との間のインターフェース306を含み得る。アルゴリズムは、状態機械308をもつバスインターフェース304において実施され、送出構成要素が小さいペイロードの同報通信を中断して、新しいバスの動作を開始するのを妨げ得る。レジスタ312内のプログラム可能な値は、ペイロードが中断され、新しいバスの動作を受信構成要素へ知らせることができる前に、ペイロードがバス106上で同報通信されなければならない最少数のクロックサイクルを表わす。書き込み動作が開始されるとき、値が、状態機械308によってカウンタ310にロードされ、ペイロードの同報通信の各クロックサイクルでカウントダウンされ得る。カウンタがゼロ以外の値を含んでいる間は、ペイロードの同報通信を中断して、新しいバスの動作を知らせることはできない。バスインターフェース304は、カウンタが0に達するか、またはペイロードの同報通信が完了するまで、全ての新しいバスの動作を知らせるのを遅らせる。
アルゴリズムは、第2のレジスタ316も採用し、これは、新しいバスの動作を受信構成要素へ知らせるために、ペイロードの同報通信を中断することができる回数を制限するのに使用され得る。1つのペイロードの同報通信の間における中断の最大数を示す値が、第2のレジスタ316内へプログラムされ得る。書き込み動作が開始されるとき、値は、状態機械308によって第2のカウンタ314へロードされ、ペイロードの同報通信が中断されるたびに、カウントダウンされ得る。第2のカウンタ314がゼロ以外の値を含んでいる間は、ペイロードの同報通信は中断され、新しいバスの動作を知らせることができる。カウンタが0に達すると、現在のペイロードの同報通信が完了するまで、バスインターフェース304は、全ての新しいバスの動作を知らせるのを遅らせることになる。
図4は、アルゴリズムの機能性を示すフローチャートである。ステップ402において、送出構成要素は、アドレス位置および転送クォリファイアを送信チャネル上で受信構成要素へ同報通信することによって、書き込み動作を開始する。同時に、またはその直ぐ後で、ステップ404において、送出構成要素は、2つのカウンタにロードする。第1のカウンタは、“カウンタA”と呼ばれ、ペイロードの同報通信の開始後に、送出構成要素が新しいバスの動作を知らせるために、同報通信を中断する前に、行わなければならない最少数のクロックサイクルまたは最少数のペイロードのデータビートに等しい値をロードされ得る。第2のカウンタは、“カウンタB”と呼ばれ、送出構成要素が新しいバスの動作を知らせるために、1つのペイロードの同報通信を中断する最大回数に等しい値をロードされ得る。受信構成要素が、書き込み動作のためのアドレス位置および転送クォリファイアの同報通信を確認応答すると、送出構成要素は、ペイロードを受信構成要素へ同報通信し始め得る。これは、ステップ406において、ペイロードのデータビートを送信チャネル上で同報通信することによって達成され得る。上述の処理システムの実施形態において、ペイロードのデータビートは、送信チャネルの全バイトレーンを使用した8バイトの同報通信を含む。
送出構成要素は、ステップ408において、ペイロードの同報通信が完了したかどうかを判断し、完了したときは、ステップ410において、書き込み動作を終了する。反対に、ペイロードの同報通信が完了していないときは、ステップ412において、送出構成要素は、次のクロックサイクルを待つ。これが行われると、ステップ414において、送出構成要素は、新しいバスの動作が要求されているかどうかを判断する。送出構成要素は、新しいバスの動作が要求されていないと判断すると、ステップ416において、カウンタAの値をディクリメントし、ステップ406において、別のペイロードのデータビートを同報通信する。他方で、ステップ414において、送出構成要素が新しいバスの動作が要求されていると判断すると、ステップ418において、カウンタAの値が、0に達したかどうかを確かめるために検査される。カウンタAの値がゼロ以外の値であるときは、送信チャネル上でのペイロードの同報通信は、新しいバスの動作を受信構成要素へ知らせるために、中断されない。その場合に、新しいバスの動作は、遅らされることになる。ステップ416において、カウンタAの値がディクリメントされると、ステップ406において、別のペイロードのデータビートが同報通信されることになる。カウンタAの値が0であるとき、ペイロードの同報通信が、送出構成要素によって許された最大回数まで、まだ中断されていないならば、送出構成要素は、ペイロードの同報通信を中断し、新しいバスの動作を受信構成要素へ知らせ得る。
ステップ420において、送出構成要素は、カウンタBの値が0に達したかどうかを確かめる検査をする。カウンタBの値が0であるときは、ペイロードの同報通信は、送出構成要素によって許された最大回数まで、中断されている。その場合は、ステップ406における別のペイロードのデータビートを優先して、新しいバスの動作は遅らされることになる。他方で、カウンタBの値がゼロ以外の値であるときは、ステップ422において、ペイロードの同報通信は中断され、新しいバスの動作を受信構成要素へ知らせる。送出構成要素は、ステップ424において、カウンタBの値をディクリメントし、ステップ426において、カウンタAをリロードし、ステップ406において、別のペイロードのデータビートを同報通信する。カウンタAは、レジスタ内の同じ値をリロードされ、したがって、中断間で同じ遅れを要求し得る。その代わりに、カウンタAは、何か他の値をロードされてもよい。少なくとも1つの実施形態において、カウンタAは、0をロードされ、これは、ペイロードの同報通信が、初期遅延の後で、ペイロードの同報通信の始めから、送出構成要素によって設定された最大量まで、連続するクロックサイクルを中断され得ることを示す。
図4のフローチャートは、各ペイロードのデータビート後に、カウンタAが0に達するまで、カウンタAをディクリメントするアルゴリズムを記載している。このアプローチは、最少量のデータが同報通信されるまで、ペイロードが中断されないことを保証する。その代わりに、ペイロードの同報通信の開始後に、バスの動作が遅らされる最大時間を制限することが望ましいことがある。これは、ペイロードのデータビートごとではなく、クロックサイクルごとに、カウンタAをディクリメントするアルゴリズムで達成され得る。このアプローチを用いると、送信チャネル上で同報通信されるペイロードの始めの方の部分の任意の時間長の間、送信の転送Ackが受信構成要素によってデアサートされるならば、バスの動作は過度に遅らされないであろう。
この開示に記載された種々の例示的な実施形態は、書き込み動作のためのペイロードのアドレス情報および転送クォリファイアのインターリービングに関する。しかしながら、これらの概念は、送信チャネル上での他のタイプのバスの動作に適用され得る。例えば、TLB無効コマンドが、ペイロードとインターリーブされ得る。個々のプログラム可能なレジスタは、同報通信の各タイプに使用され得る。個々のプログラム可能なレジスタは、各タイプの同報通信に対して、異なる数の中断を許し得る。さらに加えて、レジスタを0の値でプログラムすることによって、中断機能は、その特定のタイプの同報通信に対して、ディスエーブルされることができる。
本明細書において開示された実施形態に関連して記載された種々の例示的な論理ブロック、モジュール、回路、素子、および/または構成要素は、汎用プロセッサ、ディジタル信号プロセッサ(digital signal processor, DSP)、特定用途向け集積回路(application specific integrated circuit, ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array, FPGA)または他のプログラマブル論理構成要素、ディスクリートなゲートまたはトランジスタ論理、ディスクリートなハードウェア構成要素、あるいは本明細書に記載されている機能を実行するように設計された任意の組合せで実施または実行され得る。汎用プロセッサは、マイクロプロセッサであってもよいが、その代わりに、プロセッサは、従来のプロセッサ、制御装置、マイクロ制御装置、または状態機械であってもよい。プロセッサは、計算構成要素の組合せ、例えば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPのコアと関連した1つ以上のマイクロプロセッサ、または他のこのような構成としても実施され得る。
本明細書に開示されている実施形態に関連して記載された方法またはアルゴリズムは、ハードウェアにおいて、プロセッサによって実行されるソフトウェアモジュールにおいて、または2つの組合せにおいて直接的に具体化され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、取り外し可能ディスク、CD−ROM、または当技術において知られている記憶媒体の何か他の形態の中に存在し得る。記憶媒体はプロセッサに連結され、プロセッサが記憶媒体から情報を読み出し、そこへ情報を書き込むことができるようにする。その代りに、記憶媒体は、プロセッサと一体構成であってもよい。
開示された実施形態のこれまでの記述は、当業者が本発明を作成または使用できるようにするために与えられている。これらの実施形態に対する種々の変更は、当業者には容易に明らかになり、本明細書に定められている一般的な原理は、本発明の意図および範囲から逸脱することなく、他の実施形態に適用され得る。したがって、本発明は、本明細書に示されている実施形態に制限されることを意図されるのではなく、特許請求項に一致した全範囲にしたがう。単数形での要素の記載は、“1つ、および1つのみ”であると具体的に記載されていないならば、そのような意味をもつのではなく、むしろ“1つ以上”であるという意味をもつことを意図されている。当技術において普通の技能をもつ者に知られている、または将来知られることになる、本開示の全体を通して記載されている種々の実施形態の要素に対して構造的および機能的に同等のもの全ては、参照によって本明細書に明示的に取り入れられ、特許請求項に含まれることを意図される。さらに加えて、本明細書に開示されているものは、そのような開示が特許請求項に明示的に記載されているかどうかに関わらず、公に供されることを意図されていない。特許請求項の要素は、その要素が“〜のための手段(means for)”という語句を使用して、または方法の特許請求項の場合は、その要素が“〜のためのステップ(step for)”という語句を使用して明示的に記載されていないならば、米国特許法第112条第6項の条項のもとで解釈されない。
処理システム内の2つの構成要素間における、バス上での二地点間接続の例を示す概念ブロック図。 処理システム内の2つの構成要素間における、バス上での書き込み動作が中断され、読み出し動作を開始することを示すタイミング図。 処理システム内の2つの構成要素間における、バス上での書き込み動作の中断機能を制御するアルゴリズムの実施を示す概念ブロック図。 処理システム内の2つの構成要素間における、バス上での書き込み動作の中断機能を制御するアルゴリズムの機能を示すフローチャート。
符号の説明
106・・・バス。

Claims (41)

  1. 送信チャネルをもつバスと、
    受信構成要素と、
    送出構成要素とを含み、送出構成要素が、送信チャネル上でペイロードを受信構成要素へ同報通信し、ペイロードの同報通信を中断して、送信チャネル上で新しいバスの動作を受信構成要素へ知らせ、送信チャネル上でのペイロードの同報通信を再開するように構成されている処理システム。
  2. 新しいバスの動作が、読み出し動作を含む請求項1記載の処理システム。
  3. バスが、受信チャネルをさらに含み、受信構成要素が、読み出し動作のための受信構成要素への信号に応答して、受信チャネル上でペイロードを送出構成要素へ同報通信するように構成されている請求項2記載の処理システム。
  4. 受信構成要素が、送出構成要素によって送信チャネル上で同報通信されるペイロードの少なくとも一部分の同報通信と同時に、受信チャネル上でペイロードの少なくとも一部分を同報通信するように構成されている請求項3記載の処理システム。
  5. 読み出し動作のための信号が、アドレス位置および転送クォリファイアを含む請求項3記載の処理システム。
  6. 送出構成要素が、ペイロードを同報通信する前に、送信チャネル上で書き込み動作を受信構成要素へ知らせるようにさらに構成されている請求項1記載の処理システム。
  7. 書き込み動作のための信号が、アドレス位置および転送クォリファイアを含む請求項6記載の処理システム。
  8. 送信チャネルをもつバスと、
    受信構成要素と、
    送出構成要素とを含み、送出構成要素が、送信チャネル上でペイロードを受信構成要素へ同報通信し、ペイロードの同報通信中に開始された各新しいバスの動作のために、ペイロードの同報通信を、中断の最大数まで、中断し、各中断の間に、送信チャネル上で新しいバスの動作の異なる1つを受信構成要素へ知らせ、各中断の後で、送信チャネル上でのペイロードの同報通信を再開するように構成されている処理システム。
  9. 新しいバスの動作の少なくとも1つが、読み出し動作を含む請求項8記載の処理システム。
  10. 中断の最大数が、プログラム可能である請求項8記載の処理システム。
  11. 送出構成要素が、ペイロードの同報通信が最大回数まで中断された後で行われたペイロードの同報通信中に開始された新しいバスの動作の各々を、受信構成要素へ知らせるのを遅らせるようにさらに構成されている請求項8記載の処理システム。
  12. 送出構成要素が、カウンタをさらに含み、送出構成要素が、中断の最大数に等しい値をカウンタにロードし、ペイロードの同報通信が中断されるたびに、値をディクリメントし、値が0に達すると、中断することなく、ペイロードの同報通信を完了するようにさらに構成されている請求項8記載の処理システム。
  13. 送信チャネルをもつバスと、
    受信構成要素と、
    送出構成要素とを含み、送出構成要素は、送信チャネル上でペイロードを受信構成要素へ同報通信し、ペイロードの同報通信の開始に続くある時間期間中に、新しいバスの動作を開始し、ペイロードが、その時間期間中に中断されることなく、同報通信されることを可能にし、ペイロードの同報通信がその時間期間を超えて延びると、その時間期間の後で、ペイロードの同報通信を中断して、送信チャネル上で新しいバスの動作を受信構成要素へ知らせ、中断されたときは、ペイロードの同報通信を再開するように構成されている処理システム。
  14. 新しいバスの動作が、読み出し動作を含む請求項13記載の処理システム。
  15. 送出構成要素が、ペイロードの同報通信の開始後の特定数のクロックサイクルの後でのみ、ペイロードの同報通信を中断して、新しいバスの動作を受信構成要素へ知らせるようにさらに構成されている請求項13記載の処理システム。
  16. クロックサイクルの特定数が、プログラム可能である請求項15記載の処理システム。
  17. 送出構成要素が、カウンタをさらに含み、送出構成要素が、クロックサイクルの特定数に等しい値をカウンタにロードし、ペイロードの同報通信の開始後の各クロックサイクルの後で、値をディクリメントし、値が0に達した後でのみ、ペイロードの同報通信を中断して、新しいバスの動作を受信構成要素へ知らせるようにさらに構成されている請求項15記載の処理システム。
  18. 送出構成要素が、特定数のペイロードのデータビートが同報通信された後でのみ、ペイロードの同報通信を中断して、新しいバスの動作を受信構成要素へ知らせるようにさらに構成されている請求項13記載の処理システム。
  19. ペイロードのデータビートの特定数が、プログラム可能である請求項18記載の処理システム。
  20. 送出構成要素が、カウンタをさらに含み、送出構成要素が、ペイロードのデータビートの特定数に等しい値をカウンタにロードし、値が0に達した後でのみ、ペイロードの同報通信を中断して、新しいバスの動作を受信構成要素へ知らせるようにさらに構成されている請求項18記載の処理システム。
  21. 送信チャネルをもつバスと、
    受信構成要素と、
    送出構成要素とを含み、送出構成要素が、送信チャネル上でペイロードを受信構成要素へ同報通信する手段と、ペイロードの同報通信を中断し、送信チャネル上で新しいバスの動作を受信構成要素へ知らせる手段と、ペイロードの同報通信を再開する手段とをもつ処理システム。
  22. 送信チャネルをもつバス上で、送出構成要素と受信構成要素との間で通信する方法であって、
    送信チャネル上で送出構成要素から受信構成要素へペイロードを同報通信することと、
    ペイロードの同報通信を中断して、送信チャネル上で新しいバスの動作を受信構成要素へ知らせることと、
    送信チャネル上での送出構成要素から受信構成要素へのペイロードの同報通信を再開することとを含む方法。
  23. 新しいバスの動作が、読み出し動作を含む請求項22記載の方法。
  24. バスが、受信チャネルをさらに含み、方法が、読み出し動作のための受信構成要素への信号に応答して、受信チャネル上で受信構成要素から送出構成要素へペイロードを同報通信することをさらに含む請求項23記載の方法。
  25. 受信チャネル上での受信構成要素から送出構成要素へのペイロードの少なくとも一部分の同報通信が、送信チャネル上で送出構成要素から受信構成要素へ同報通信されるペイロードの少なくとも一部分の同報通信と同時に行われる請求項24記載の方法。
  26. 読み出し動作のための信号が、アドレス位置および転送クォリファイアを含む請求項24記載の方法。
  27. ペイロードを同報通信する前に、送出構成要素によって、送信チャネル上で書き込み動作を受信構成要素へ知らせることをさらに含む請求項22記載の方法。
  28. 書き込み動作のためのシグナリングが、アドレス位置および転送クォリファイアを含む請求項27記載の方法。
  29. 送信チャネルをもつバス上で、送出構成要素と受信構成要素との間で通信する方法であって、
    送信チャネル上で送出構成要素から受信構成要素へペイロードを同報通信することと、
    ペイロードの同報通信中に送出構成要素によって開始された各新しいバスの動作のために、ペイロードの同報通信を、中断の最大数に達するまで、中断することと、
    各中断の間に、送出構成要素によって、送信チャネル上で新しいバスの動作の異なる1つを受信構成要素へ知らせることと、
    各中断の後で、送信チャネル上での送出構成要素による受信構成要素へのペイロードの同報通信を再開することとを含む方法。
  30. 新しいバスの動作の少なくとも1つが、読み出し動作を含む請求項29記載の方法。
  31. 中断の最大数が、プログラム可能である請求項29記載の方法。
  32. ペイロードの同報通信が最大回数まで中断された後で行われたペイロードの同報通信中に開始された新しいバスの動作の各々を、送出構成要素によって、受信構成要素へ知らせるのを遅らせることをさらに含む請求項29記載の方法。
  33. 送出構成要素が、カウンタをさらに含み、方法が、中断の最大数に等しい値をカウンタにロードすることと、ペイロードの同報通信が中断されるたびに、値をディクリメントすることと、値が0に達すると、中断することなく、ペイロードの同報通信を完了することとをさらに含む請求項29記載の方法。
  34. 送信チャネルをもつバス上で、送出構成要素と受信構成要素との間で通信する方法であって、
    第1および第2の時間期間中に、送信チャネル上で送出構成要素から受信構成要素へペイロードを同報通信することと、
    ペイロードの同報通信の開始に続く第1の時間期間中に、新しいバスの動作を開始することと、
    第1の時間期間に続く第2の時間期間中に、ペイロードの同報通信を中断し、送出構成要素によって送信チャネル上で新しいバスの動作を受信構成要素へ知らせることと、
    ペイロードの同報通信を再開することとを含む方法。
  35. 新しいバスの動作が、読み出し動作を含む請求項34記載の方法。
  36. ペイロードの開始に続く特定数のクロックサイクルの後でのみ、新しいバスの動作の開始に応答して、ペイロードの同報通信が中断される請求項34記載の方法。
  37. クロックサイクルの特定数が、プログラム可能である請求項36記載の方法。
  38. 送出構成要素が、カウンタをさらに含み、方法が、クロックサイクルの特定数に等しい値をカウンタにロードすることと、ペイロードの同報通信の開始後の各クロックサイクルの後で、値をディクリメントすることと、値が0に達した後でのみ、新しいバスの動作の開始に応答して、ペイロードの同報通信を中断することとをさらに含む請求項36記載の方法。
  39. 特定数のペイロードのデータビートが同報通信された後でのみ、新しいバスの動作の開始に応答して、ペイロードの同報通信が中断される請求項34記載の方法。
  40. クロックサイクルの特定数が、プログラム可能である請求項39記載の方法。
  41. 送出構成要素が、カウンタをさらに含み、方法が、特定数のペイロードのデータビートに等しい値をカウンタにロードすることと、各ペイロードのデータビートが同報通信された後で、値をディクリメントすることと、値が0に達した後でのみ、新しいバスの動作の開始に応答して、ペイロードの同報通信を中断することとをさらに含む請求項39記載の方法。
JP2007532412A 2004-09-15 2005-09-12 バスの送信チャネル上の帯域幅を割り振る方法および装置 Ceased JP2008513886A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/942,291 US7185123B2 (en) 2004-09-15 2004-09-15 Method and apparatus for allocating bandwidth on a transmit channel of a bus
PCT/US2005/032653 WO2006031850A1 (en) 2004-09-15 2005-09-12 Method and apparatus for allocating bandwidth on a transmit channel of a bus

Publications (2)

Publication Number Publication Date
JP2008513886A true JP2008513886A (ja) 2008-05-01
JP2008513886A5 JP2008513886A5 (ja) 2008-09-04

Family

ID=35429408

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007532412A Ceased JP2008513886A (ja) 2004-09-15 2005-09-12 バスの送信チャネル上の帯域幅を割り振る方法および装置

Country Status (8)

Country Link
US (1) US7185123B2 (ja)
EP (1) EP1839164A1 (ja)
JP (1) JP2008513886A (ja)
KR (1) KR100874073B1 (ja)
CN (1) CN100476772C (ja)
BR (1) BRPI0515294A (ja)
IL (1) IL181846A0 (ja)
WO (1) WO2006031850A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100529326B1 (ko) * 2003-06-24 2005-11-17 삼성전자주식회사 프린팅 데이타의 처리 방법과 장치 및 컴퓨터 프로그램을저장하는 컴퓨터로 읽을 수 있는 기록 매체
US7209998B2 (en) * 2004-02-04 2007-04-24 Qualcomm Incorporated Scalable bus structure
US7536479B2 (en) * 2004-11-09 2009-05-19 Intel Corporation Local and remote network based management of an operating system-independent processor
US7526570B2 (en) * 2005-03-31 2009-04-28 Intel Corporation Advanced switching optimal unicast and multicast communication paths based on SLS transport protocol
US8463589B2 (en) 2006-07-28 2013-06-11 Synopsys, Inc. Modifying a virtual processor model for hardware/software simulation
US8644305B2 (en) 2007-01-22 2014-02-04 Synopsys Inc. Method and system for modeling a bus for a system design incorporating one or more programmable processors

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63231665A (ja) * 1987-03-20 1988-09-27 Fujitsu Ltd バス有効利用方式
JPH10334039A (ja) * 1997-05-27 1998-12-18 Shikoku Nippon Denki Software Kk バースト転送装置
JP2000082019A (ja) * 1998-09-07 2000-03-21 Hitachi Ltd データ転送制御装置
JP2000510659A (ja) * 1996-02-02 2000-08-15 ソニー エレクトロニクス インク バスを介したデータ転送及びバス管理に用いるアプリケーションプログラミングインターフェイス

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1915944A (en) * 1931-04-16 1933-06-27 Robert Forgie Hunter Projection screen
US5388237A (en) * 1991-12-30 1995-02-07 Sun Microsystems, Inc. Method of and apparatus for interleaving multiple-channel DMA operations
US5386532A (en) * 1991-12-30 1995-01-31 Sun Microsystems, Inc. Method and apparatus for transferring data between a memory and a plurality of peripheral units through a plurality of data channels
JPH0998362A (ja) * 1995-09-29 1997-04-08 Nec Corp マルチメディア通信システム
US6631435B1 (en) * 1996-02-02 2003-10-07 Sony Corporation Application programming interface for data transfer and bus management over a bus structure
US5794072A (en) * 1996-05-23 1998-08-11 Vlsi Technology, Inc. Timing method and apparatus for interleaving PIO and DMA data transfers
US5925118A (en) * 1996-10-11 1999-07-20 International Business Machines Corporation Methods and architectures for overlapped read and write operations
CN2280320Y (zh) * 1996-11-10 1998-04-29 陈锋 一种独立终端式数据处理机
US5937199A (en) * 1997-06-03 1999-08-10 International Business Machines Corporation User programmable interrupt mask with timeout for enhanced resource locking efficiency
US6748442B1 (en) * 1998-12-21 2004-06-08 Advanced Micro Devices, Inc. Method and apparatus for using a control signal on a packet based communication link
US6295573B1 (en) * 1999-02-16 2001-09-25 Advanced Micro Devices, Inc. Point-to-point interrupt messaging within a multiprocessing computer system
EP1059588A1 (en) * 1999-06-09 2000-12-13 Texas Instruments Incorporated Multi-channel dma with request scheduling
US6904079B2 (en) * 2000-02-08 2005-06-07 Ipr Licensing, Inc. Access channel structure for wireless communication system
NO315264B1 (no) 2001-01-23 2003-08-11 Tomra Systems Asa Deteksjonssystem
US8051212B2 (en) * 2001-04-11 2011-11-01 Mellanox Technologies Ltd. Network interface adapter with shared data send resources
US6748412B2 (en) 2001-09-26 2004-06-08 Intel Corporation Square-and-multiply exponent processor
US6868264B2 (en) * 2001-12-13 2005-03-15 International Business Machines Corporation Method and apparatus for managing audio broadcasts in an automobile

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63231665A (ja) * 1987-03-20 1988-09-27 Fujitsu Ltd バス有効利用方式
JP2000510659A (ja) * 1996-02-02 2000-08-15 ソニー エレクトロニクス インク バスを介したデータ転送及びバス管理に用いるアプリケーションプログラミングインターフェイス
JPH10334039A (ja) * 1997-05-27 1998-12-18 Shikoku Nippon Denki Software Kk バースト転送装置
JP2000082019A (ja) * 1998-09-07 2000-03-21 Hitachi Ltd データ転送制御装置

Also Published As

Publication number Publication date
KR100874073B1 (ko) 2008-12-12
BRPI0515294A (pt) 2008-07-15
US20060136615A1 (en) 2006-06-22
WO2006031850A1 (en) 2006-03-23
CN100476772C (zh) 2009-04-08
KR20070053340A (ko) 2007-05-23
CN101052953A (zh) 2007-10-10
EP1839164A1 (en) 2007-10-03
IL181846A0 (en) 2007-07-04
US7185123B2 (en) 2007-02-27

Similar Documents

Publication Publication Date Title
US7096296B2 (en) Supercharge message exchanger
US20090327548A1 (en) Scalable Bus Structure
JP2001524707A (ja) コントローラの機能性を高めるためのファームウェアの使用
CN1930563B (zh) 多地址两信道总线结构
WO2005071556A1 (en) A two channel bus structure to support address information, data, and transfer qualifiers
US7467245B2 (en) PCI arbiter
US8943238B2 (en) Operations using direct memory access
CN101996150A (zh) 数据传输控制装置和数据传输控制方法
CN100476772C (zh) 用于在总线的发射信道上分配带宽的方法和设备
US8756356B2 (en) Pipe arbitration using an arbitration circuit to select a control circuit among a plurality of control circuits and by updating state information with a data transfer of a predetermined size
US20060155893A1 (en) Methods and apparatus for sharing memory bandwidth
US20060179172A1 (en) Method and system for reducing power consumption of a direct memory access controller
JP4151362B2 (ja) バス調停方式、データ転送装置、及びバス調停方法
WO2002093392A1 (fr) Processeur de donnees
CN117880364B (zh) 一种数据传输方法、系统以及相关装置
JP3206656B2 (ja) バス上でのプリフェッチ装置およびプリフェッチ方法
JP4603054B2 (ja) スケーラブルバス構造
KR100441884B1 (ko) 패킷 처리 엔진과 메인 프로세서간에 고속 블록 데이터전송을 수행하는 네트워크 시스템 및 그것의 dma운영방법
US5784580A (en) System and method for communicating between devices
HK1108189A (en) Method and apparatus for allocating bandwidth on a transmit channel of a bus
JP2000259548A (ja) Dmaバス転送方式
JP2002269033A (ja) リトライ制御機能を有するアービタを用いたバスシステムおよびシステムlsi
JP2001282707A (ja) バス制御装置及びバス制御方法
JPH01193958A (ja) インターフェース制御回路
HK1112763A (en) Scalable bus structure

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080718

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100223

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100524

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100527

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100531

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100705

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20110830