JP7263416B2 - マスタエージェント間のインターコネクト帯域幅の分配 - Google Patents

マスタエージェント間のインターコネクト帯域幅の分配 Download PDF

Info

Publication number
JP7263416B2
JP7263416B2 JP2021035569A JP2021035569A JP7263416B2 JP 7263416 B2 JP7263416 B2 JP 7263416B2 JP 2021035569 A JP2021035569 A JP 2021035569A JP 2021035569 A JP2021035569 A JP 2021035569A JP 7263416 B2 JP7263416 B2 JP 7263416B2
Authority
JP
Japan
Prior art keywords
time interval
bandwidth
interconnect
data processing
master
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.)
Active
Application number
JP2021035569A
Other languages
English (en)
Other versions
JP2021140789A (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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of JP2021140789A publication Critical patent/JP2021140789A/ja
Application granted granted Critical
Publication of JP7263416B2 publication Critical patent/JP7263416B2/ja
Active 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3041Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is an input/output interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/349Performance evaluation by tracing or monitoring for interfaces, buses
    • 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
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

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)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Bus Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

マルチコアマイクロコントローラは、複数のソフトウェアアプリケーションを並列に実行することができる。アプリケーション間のコンフリクトにより、インターコネクトのディスプレースメントが生じる可能性がある。例えば、第1のアプリケーションがインターコネクトに頻繁にアクセスする場合、またはアクセスレイテンシが高いインターコネクトリソースにアクセスする場合、インターコネクトアクセスを要求する第2のアプリケーションは、第1のアプリケーションがそのアクセスを終了するまで頻繁に待機する必要がある。その結果、第2のアプリケーションの処理が遅くなったり、または第1のアプリケーションがリアルタイムで実行不能となるために失敗したりする可能性がある。時分割多重化によりディスプレースメントは解決されるが、アプリケーションは遅くなり、マルチコアマイクロコントローラのハードウェア使用率が低下する。
本開示の態様によるデータ処理装置を示す図である。 本開示の態様による、図1のデータ処理装置のコントローラを示す図である。 図2Aのコントローラに対応するタイミング図である。 本開示の態様による、図1のデータ処理装置のコントローラを示す図である。 図3Aのコントローラに対応するタイミング図である。 本開示の態様による、マスタエージェント間でインターコネクト帯域幅を分配する方法のフローチャートを示す図である。
本開示は、マスタエージェントによって生成されるインターコネクトのコンフリクトを低減することを目的とする。インターコネクトに接続された各マスタエージェントは、タイムインターバル内で、各マスタエージェントがインターコネクトを占有できるインターコネクト帯域幅を割り当てられる。現在のタイムインターバル内で、マスタエージェントが割り当て帯域幅に達した場合、残りのタイムインターバルの間、このマスタエージェントは、新規アクセス要求がマスタエージェントアービトレーションについて考慮される前に、当該マスタエージェントからの各新規アクセス要求を複数のインターコネクトクロックサイクルにわたって無視することによって、低減された帯域幅でのアクセスの権限を付与される。
図1は、本開示の態様によるデータ処理装置100を示す。
データ処理装置100は、複数のマスタエージェント(MA)110(110.0…110.n)、コントローラ120、アービタ130およびシステムインターコネクト140を含む。システムインターコネクトは、マスタエージェントがバスを共有するマルチマスタインターコネクト、またはマスタエージェントが接続されたリソースを共有するクロスバーインターコネクトであってよい。
システムインターコネクト140は、一度に1つのマスタエージェント110のみによって占有されうる。マスタエージェント110は、インターコネクトアクセス要求によってインターコネクトアクセスを要求する。アービタ130は、インターコネクトアクセス要求の間でマスタエージェントアービトレーションを実行し、この場合にアービトレーションに勝利したマスタエージェント110に権限付与をシグナリングするように構成されている。勝利したマスタエージェント110は、インターコネクトアクセス権を有する次のマスタエージェント110となる。
コントローラ120は、それに結合されたマスタエージェント110の間でインターコネクト帯域幅を分配するように構成されている。より具体的には、コントローラ120は、タイムインターバル内でインターコネクト帯域幅のそれぞれの部分をマスタエージェント110の各々に割り当てるように構成されている。コントローラ120はまた、マスタエージェント110のいずれかが現在のタイムインターバル内でインターコネクト帯域幅の割り当て部分を消費したか否かを判別するために、マスタエージェント110を監視するように構成されている。あるマスタエージェント110が現在のタイムインターバル内でインターコネクト帯域幅の割り当て部分を消費した場合、コントローラ120は、当該マスタエージェント110からの任意の新規アクセス要求をマスタエージェントアービトレーションのためにアービタ130に転送する前に、当該マスタエージェント110からの任意の新規アクセス要求を現在のタイムインターバル内の所定の要求遅延時間だけ遅延させるように構成されている。
インターコネクト帯域幅の割り当て部分は、それぞれのマスタエージェント110が待機状態を含むインターコネクト140を占有することができる時間を割り当てられる。接続された各マスタエージェント110について、割り当て帯域幅は、マスタエージェント110がインターコネクト140を占有できるローカルインターコネクトクロックサイクルの数であり、クロスバーインターコネクトの場合には、アドレス指定されたスレーブエージェント接続である。この間、インターコネクト140は、別のマスタエージェント110によって占有されることができない。
図2Aは、本開示の態様による、図1のデータ処理装置100のコントローラ220を示しており、図2Bは、対応するタイミング図200Bを示す。コントローラ220は、図1のコントローラ120に相当する。
コントローラ220は、タイムインターバルレジスタTIRおよびタイムインターバルカウンタTICを含む。コントローラ220はまた、マスタエージェント110(110.0…110.n)の各々について、帯域幅レジスタBWR(BWR.0…BWR.n)、帯域幅カウンタBWC(BWC.0…BWC.n)、要求遅延レジスタRDR(RDR.0…RDRn)、要求遅延カウンタRDC(RDC.0…RDC.n)およびマルチプレクサMUX(MUX0…MUXn)を含む。
タイムインターバルレジスタTIRは、タイムインターバル値tTIを格納するように構成されている。タイムインターバルカウンタTICは、タイムインターバルTIの開始時に、タイムインターバルレジスタTIRからタイムインターバル値tTIを受信し、タイムインターバル値tTIに対応する時間区間の数をカウントするように構成されている。タイムインターバルTIは、設定可能であり、複数のインターコネクト装置140に適用可能でありうる。
帯域幅レジスタBWRは、それぞれの帯域幅値tBWを格納するように構成されている。帯域幅カウンタBWCは、それぞれの帯域幅レジスタBWRからそれぞれの帯域幅値tBWを受信し、それぞれのマスタエージェント110によって消費される現在のタイムインターバルTI内のインターコネクト帯域幅のそれぞれの部分をカウントするように構成されている。
要求遅延レジスタRDRは、それぞれの所定の要求遅延時間値tRDを格納するように構成されている。要求遅延カウンタRDCは、それぞれの要求遅延レジスタRDRからそれぞれの所定の要求遅延時間値tRDを受信し、それぞれの要求遅延時間値tRDに対応する時間区間の数を、それぞれの所定の要求遅延時間までまたは現在のタイムインターバルTIまでの終了のいずれか短い方でカウントするように構成されている。
マルチプレクサMUXは、帯域幅カウンタBWCから選択信号を受信するように構成されている。帯域幅カウンタBWCが0でない場合、選択信号は、マルチプレクサMUXに通常モードを選択させ、その間、マスタエージェント110からのインターコネクトアクセス要求は、遅延なくマスタエージェントアービトレーションのためにアービタ130に転送される。一方、帯域幅カウンタBWCが0までカウントダウンした後には、選択信号により、マルチプレクサMUXは、要求遅延モードのための要求遅延カウンタRDCを選択し、その間、マスタエージェント110からのインターコネクトアクセス要求は、マスタエージェントアービトレーションのためにアービタ130に転送される前に遅延される。
タイムインターバルTI、インターコネクト帯域幅の割り当て部分tBWおよび所定の要求遅延時間tRDは、時間区間であるローカルインターコネクトクロックサイクルに関して定義される。本開示では、時間区間がクロックサイクルであることに限定されるものではなく、好適には任意の時間区間であってよい。
図2Bのタイミング図200Bを参照して、次にコントローラ220の動作について説明する。タイミング図200Bの上段部分には、タイムインターバルTIおよびタイムインターバルカウンタTICが示されている。タイミング図200Bの中段部分には、マスタエージェント110.0の帯域幅および帯域幅カウンタBWC0が示されており、タイミング図200Bの下段部分には、マスタエージェント110.nの帯域幅および帯域幅カウンタBWCnが示されている。
タイムインターバル値tTIは、各タイムインターバルTIの開始時にタイムインターバルレジスタTIRからタイムインターバルカウンタTICにロードされる。次に、タイムインターバルカウンタTICは、タイムインターバル値tTIに対応する時間区間(例えば、インターコネクトクロックサイクル)の数をカウントダウンする。タイムインターバルTIは、タイムインターバル値tTIに対応する時間区間の数が0までカウントダウンされた後に終了する。次のタイムインターバルTIの開始に対応する各タイムインターバルTIの終了時には、タイムインターバルレジスタTIRからタイムインターバルカウンタTICにタイムインターバル値tTIがリロードされる。
コントローラ220は、タイムインターバルTI内でインターコネクト帯域幅のそれぞれの部分をマスタエージェント110の各々に割り当てるように構成されている。タイムインターバルTIの開始時に、マスタエージェント110.0,110.nの各々について、コントローラ220は、それぞれの帯域幅レジスタBWRからそれぞれの帯域幅カウンタBWCにそれぞれの帯域幅値tBWをロードし、かつそれぞれの要求遅延レジスタRDRからそれぞれの要求遅延カウンタRDCにそれぞれの所定の要求遅延時間値tRDをロードするように構成されている。また、所定の要求遅延時間値tRDは、それぞれのマスタエージェント110.0,110.nからの新規アクセス要求に応答してロードされる。
タイミング図200Bは、マスタエージェント110.0が第1のタイムインターバルTI内でインターコネクト帯域幅の割り当て部分を消費したことを示している。このため、マスタエージェント110.0は、要求遅延モード(request_delay_mode_0=1)に入る。コントローラ220は、次に、このマスタエージェント110.0からの任意の新規アクセス要求をマスタエージェントアービトレーションのためにアービタ130に転送する前に、このマスタエージェント110.0からの新規アクセス要求を第1のタイムインターバルTI内の所定の要求遅延時間tRDだけ遅延させるように構成されている。要求遅延カウンタRDC0は、それぞれの要求遅延時間値tRDに対応する時間区間の数を、それぞれの所定の要求遅延時間までまたは第1のタイムインターバルTIの終了までのいずれか早い方でカウントダウンする。それぞれの所定の要求遅延時間tRDの終了後、または第1のタイムインターバルTIの終了後、新規アクセス要求がアービタ130に転送される。マスタエージェント110.0は、第1のタイムインターバルTI内でインターコネクト帯域幅の割り当て部分を消費しているので、第1のタイムインターバルTI内で追加の帯域幅を所望する場合、当該マスタエージェント110.0は、他のマスタエージェント110が帯域幅を使用する機会を有することを待機する必要がある。しかし、他のマスタエージェント110が帯域幅を必要としない場合、要求遅延の後、マスタエージェント110.0は再びインターコネクト140にアクセスする機会を得ることができる。
あるマスタエージェント110が、第1のタイムインターバルTI中のマスタエージェント110.nの場合のように、現在のタイムインターバルTI内でインターコネクト帯域幅の割り当て部分を消費しなかった場合、コントローラ120は、このマスタエージェント110からの任意の新規アクセス要求を遅延なくアービタ130に転送するように構成されている。これが優先権を有するマスタエージェント110であれば、マスタエージェント110は、即座に権限を受け取る可能性が高く、インターコネクト140が空くとただちに、要求されたインターコネクトアクセスを開始することができる。
一例として、アプリケーションソフトウェアは、タイムインターバルTIを100,000インターコネクトクロックサイクルに設定可能であり、マスタエージェント110に、利用可能な100000インターコネクトクロックサイクルのうち30000インターコネクトクロックサイクルを割り当てる。マスタエージェント110がそのアクセス要求の権限を有し、インターコネクト上でトランザクションを実行しているとき、帯域幅カウンタBWC0は、常に、マスタエージェント110がインターコネクトを占有している間、データ転送および待機状態を含むインターコネクトクロックサイクルの数をカウントダウンする。スレーブエージェントが内部メモリからデータを読み出してからデータを転送するために3クロックサイクルを必要とすることによりマスタエージェント110が待機状態を挿入しているスレーブエージェントから読み出しを行っている場合、各読み出しアクセスは、マスタエージェント110の帯域幅の4インターコネクトクロックサイクルを消費するが、データビットは1ビットしか転送されない。言い換えれば、帯域幅は、マスタエージェント110.0のトランザクション中のインターコネクトクロックサイクルを表しており、転送されるデータ量ではない。
帯域幅カウンタBWC0が0までカウントダウンすることによって示されるように、マスタエージェント110がその割り当て帯域幅(30000インターコネクトクロックサイクル)を使用した後、マスタエージェント110は、要求遅延モードに入る(Request_Delay_Mode_0は0から1に変化する)。遅延レジスタ値tDRは遅延カウンタDCにロードされ、遅延カウンタDCは、タイムインターバルカウンタTICが0より大きい限り、インターコネクトクロックサイクルで0までカウントダウンする。現在のタイムインターバルTI間の任意の新しいインターコネクトアクセス要求は、アクセス要求がマスタエージェントアービトレーションのためにアービタ130に転送される前に、例えば、500インターコネクトクロックサイクル分だけ遅延される。
割り当て帯域幅を消費したマスタエージェント110が、タイムインターバルTIの終了に向けてインターコネクトアクセス要求を送信する場合(例えば、タイムインターバルTIの終了の前に400インターコネクトクロックサイクルがあり、要求遅延がインターコネクトの500インターコネクトクロックサイクルに構成されている場合)、現在のタイムインターバルTIは、要求遅延の終了よりも前に終了する。タイムインターバルTIの終了時、帯域幅カウンタBWC0は、その後、帯域幅レジスタBWRから30000インターコネクトクロックサイクルの帯域幅値tBWでリロードされる。また、要求遅延モードをオフ(request_delay_mode=0)にして、マルチプレクサMUXを通常モードに切り替え、新たなインターコネクトアクセス要求を遅延なくアービタ130に転送する。
タイムインターバルカウンタ(TIC)、帯域幅カウンタBWCおよび要求遅延カウンタRDC(RDC.0…RDC.n)は、本明細書ではカウントダウンとして説明されている。また、要求遅延モードビットは、要求遅延モードがない場合(すなわち、通常モード)には0に設定され、そうでない場合には1に設定される。もちろん、本開示のこれらおよび他の類似の態様は、単なる設計上の選択に過ぎない。本開示はこれらの点で限定されない。
図3Aは、本開示の態様による、図1のデータ処理装置100のコントローラ320を示しており、図3Bは、対応するタイミング図300Bを示す。コントローラ320は、図1のコントローラ120に相当する。
コントローラ320は、コントローラ320がタイムインターバルレジスタTIR、タイムインターバルカウンタTIC、ならびに各マスタエージェント110について、それぞれの帯域幅値tBWを格納するように構成されたそれぞれの帯域幅レジスタBWR、それぞれの所定の要求遅延時間値tRDを格納するように構成されたそれぞれの要求遅延レジスタRDRおよびそれぞれのマルチプレクサMUXを含むという点で、図2Aのコントローラ220と類似している。
しかし、コントローラ320は、別個の帯域幅カウンタBWCおよび要求遅延カウンタRDCを有さず、マスタエージェント110が要求遅延モードにあるか否かに応じて、帯域幅カウンタBWCまたは要求遅延カウンタRDCとして機能する単一のカウンタC(C0…Cn)を含む点において、コントローラ220と異なる。コントローラ320はまた、要求遅延モードレジスタRDMR(RDMR0…RDMRn)および追加のマルチプレクサMUX(MUX00…MUXnn)を含む。
マルチプレクサMUXは、要求遅延モードレジスタRDMRからの選択信号に従って、カウンタCが帯域幅カウンタBWCとして動作しているか、要求遅延カウンタRDCとして動作しているかを制御する。マルチプレクサMUXは、マスタエージェント110が通常モードを開始すると(TIC=0)、要求遅延モードレジスタRDMRからの値(RDMR値=0)により、帯域幅レジスタBWRから帯域幅値tBWを選択してカウンタCに送信するように構成されている。一方、マスタエージェント110が要求遅延モード(BWC=0かつTIC>0)を開始して、新たなインターコネクトアクセス要求を送信すると、マルチプレクサMUXは、要求遅延モードレジスタRDMRからの値(RDMR値=1)により、要求遅延レジスタRDRから要求遅延値tRDを選択してカウンタCに送信するように構成される。
図3Bのタイミング図300Bは、マスタエージェント110.nのカウンタCnが帯域幅カウンタBWCnとして機能し、その後、要求遅延カウンタRDCnとして機能することを示している。カウンタCnは、第1のタイムインターバルTIの間は帯域幅カウンタBWCnとして機能し、第2のタイムインターバルTIの第1の部分の間も帯域幅カウンタBWCnとして機能する。次いで、カウンタCnは、第2のタイムインターバルTIの第2の部分の間、要求遅延カウンタRDCnとして機能する。より具体的には、帯域幅カウンタBWCとしてのカウンタCが帯域幅値tBWnからゼロまでカウントダウンした後、マスタエージェント110.nは、要求遅延モード(request_delay_mode_n=1)に入り、その間、カウンタCは要求遅延値tRDnをロードされ、要求遅延カウンタRDCnとして機能する。マスタエージェント110.nは、この要求遅延モードの間、2つの新しいインターコネクトアクセス要求を送信するものとして示され、これらは、マスタエージェントアービトレーションのためにアービタ130に転送されるのではなく、遅延される。これらの新しいインターコネクトアクセス要求の各々により、カウンタCに要求遅延値tRDnがロードされ、カウンタCは、要求遅延値tRDnからゼロまでカウントダウンし、その後、新規の要求がマスタエージェントアービトレーションのためにアービタ130に転送されうる。そして、第2のタイムインターバルTIの終了時には、要求遅延モードも終了するので、カウンタCnは、帯域幅値tBWnでリロードされる。
コントローラ220およびコントローラ320の各々のためのインターコネクトアクセス要求を遅延させる代替的な方法は、一対の第1の遅延レジスタおよび第2の遅延レジスタを使用することである。第1の遅延レジスタは、タイムインターバルTI内で割り当てられたインターコネクト帯域幅を全て消費したマスタエージェント110からの新しいインターコネクトアクセス要求を格納するように構成され、要求遅延カウンタRDCに要求遅延値tRDがロードされる。要求遅延カウンタRDCが0にカウントダウンされると、インターコネクトアクセス要求は、第1の遅延レジスタから第2の遅延レジスタにコピーされ、第1の遅延レジスタの内容は削除される。マスタエージェント110からのアクセス要求は、インターコネクトアクセス要求が第1の遅延レジスタまたは第2の遅延レジスタに格納されている限り、アービトレーションされない。
図4は、本開示の態様による、マスタエージェント110間でインターコネクト帯域幅を分配するための方法のフローチャート400を示す。
ステップ410において、コントローラ120/220/320は、タイムインターバルTI内で、インターコネクト帯域幅のそれぞれの部分をマスタエージェント110の各々に割り当てる。
ステップ420において、コントローラ120/220/320は、マスタエージェント110のいずれかが現在のタイムインターバルTI内でインターコネクト帯域幅の割り当て部分を消費したか否かを判別するために、マスタエージェント110を監視する。
ステップ430において、あるマスタエージェント110が現在のタイムインターバルTI内でインターコネクト帯域幅の割り当て部分を消費した場合、コントローラ120/220/320は、このマスタエージェント110からの任意の新規アクセス要求を、現在のタイムインターバルTI内の所定の要求遅延時間tRDだけ遅延させる。
本開示の態様は、ハードリアルタイム要件を有するシステムインターコネクトのためのQoS(Quality-of-Service)に関わる問題を解決する。マスタエージェントのインターコネクトアクセス要求は同時に発生するのではなく、順次に発生する。このように、マスタエージェントは、直前にアービトレーションが行われた別のマスタエージェントによって速度が低下する可能性がある。マスタエージェントを完全に停止することはできない。本開示の態様は、マスタエージェントの優先権を変更するのではなく、そのインターコネクトアクセス要求を遅延させて、タイムインターバルの終了まで干渉を低減させるものである。その結果、システムインターコネクトの帯域幅割り当てが改善され、個別にまたはグローバルに構成することができる。
また、本開示の技術は、以下の実施例において説明されうる。
実施例1。マスタエージェント間でインターコネクト帯域幅を分配する方法であって、前記方法は、タイムインターバル内で、前記インターコネクト帯域幅のそれぞれの部分を前記マスタエージェントの各々に割り当てるステップと、前記マスタエージェントのいずれかが現在のタイムインターバル内でインターコネクト帯域幅の割り当て部分を消費したか否かを判別するために、前記マスタエージェントを監視するステップと、あるマスタエージェントが前記現在のタイムインターバル内でインターコネクト帯域幅の割り当て部分を消費した場合に、当該マスタエージェントからの任意の新規アクセス要求を、前記現在のタイムインターバル内の所定の要求遅延時間だけ遅延させるステップと、を含む、方法。
実施例2。前記タイムインターバルは、設定可能であり、ローカルインターコネクトクロックサイクルに関して定義される、実施例1記載の方法。
実施例3。前記タイムインターバルは、複数のインターコネクトに適用される、実施例2記載の方法。
実施例4。前記方法は、あるマスタエージェントが前記現在のタイムインターバル内でインターコネクト帯域幅の割り当て部分を消費していない場合、当該マスタエージェントからの任意の新規アクセス要求を、マスタエージェントアービトレーションを実行するように構成されたアービタに遅延なく転送するステップをさらに含む、実施例1記載の方法。
実施例5。前記割り当てるステップは、前記マスタエージェントの各々について、それぞれの帯域幅レジスタからそれぞれの帯域幅カウンタにそれぞれの帯域幅値をロードするステップを含む、実施例1記載の方法。
実施例6。前記それぞれの帯域幅値をロードするステップは、前記タイムインターバルの開始時に実行される、実施例5記載の方法。
実施例7。前記監視するステップは、前記マスタエージェントの各々について、前記現在のタイムインターバル内で前記それぞれのマスタエージェントが消費した前記インターコネクト帯域幅のそれぞれの部分を、それぞれのカウンタでカウントするステップを含む、実施例1記載の方法。
実施例8。前記インターコネクト帯域幅は、ローカルインターコネクトクロックサイクルに関して定義される、実施例7記載の方法。
実施例9。前記マスタエージェントの各々について、前記遅延させるステップは、それぞれの所定の要求遅延時間値を、それぞれの要求遅延レジスタから、以前に使用された同じそれぞれのカウンタにロードして、前記現在のタイムインターバル内で前記それぞれのマスタエージェントによって消費された前記インターコネクト帯域幅の前記それぞれの部分をカウントするステップと、前記それぞれのカウンタによって、前記それぞれの要求遅延時間値に対応する時間区間の数を、前記それぞれの所定の要求遅延時間までまたは前記現在のタイムインターバルの終了までのいずれか早い方でカウントするステップと、をさらに含む、実施例7記載の方法。
実施例10。前記方法は、前記マスタエージェントの各々について、それぞれの遅延レジスタからそれぞれの要求遅延カウンタにそれぞれの所定の要求遅延時間値をロードするステップをさらに含む、実施例1記載の方法。
実施例11。前記ロードするステップは、前記タイムインターバルの開始時に行われる、実施例10記載の方法。
実施例12。前記マスタエージェントの各々について、前記ロードするステップは、前記それぞれのマスタエージェントからの新規アクセス要求に応答して行われる、実施例10記載の方法。
実施例13。前記方法は、前記それぞれの要求遅延カウンタによって、前記それぞれの要求遅延時間値に対応する時間区間の数を、前記それぞれの所定の要求遅延時間までまたは前記現在のタイムインターバルの終了までのいずれか早い方でカウントするステップ、をさらに含む、実施例12記載の方法。
実施例14。前記方法は、それぞれの所定の要求遅延時間の終了後、または前記現在のタイムインターバルの終了後、マスタエージェントアービトレーションを実行するように構成されたアービタに新規アクセス要求を転送するステップをさらに含む、実施例13記載の方法。
実施例15。前記タイムインターバルの開始時に、タイムインターバルレジスタからタイムインターバルカウンタにタイムインターバル値をロードするステップと、前記タイムインターバルカウンタによって、前記タイムインターバル値に対応する時間区間の数をカウントするステップと、前記タイムインターバル値に対応する前記時間区間の数がカウントされた後、前記タイムインターバルレジスタから前記タイムインターバルカウンタに前記タイムインターバル値をリロードするステップと、をさらに含む、実施例1記載の方法。
実施例16。前記タイムインターバルと、前記インターコネクト帯域幅の割り当て部分と、前記所定の要求遅延時間とが、クロックサイクルに関して定義される、実施例1記載の方法。
実施例17。前記インターコネクト帯域幅の割り当て部分は、前記それぞれのマスタエージェントが前記インターコネクトを占有できる割り当て時間として定義される、実施例1記載の方法。
実施例18。データ処理装置であって、インターコネクトと、前記インターコネクトに結合されたマスタエージェントと、前記マスタエージェント間でインターコネクト帯域幅を分配するように構成されたコントローラであって、タイムインターバル内で、前記インターコネクト帯域幅のそれぞれの部分を前記マスタエージェントの各々に割り当て、前記マスタエージェントのいずれかが現在のタイムインターバル内でインターコネクト帯域幅の割り当て部分を消費したか否かを判別するために、前記マスタエージェントを監視し、あるマスタエージェントが前記現在のタイムインターバル内でインターコネクト帯域幅の割り当て部分を消費した場合に、当該マスタエージェントからの任意の新規アクセス要求を、前記現在のタイムインターバル内の所定の要求遅延時間だけ遅延させる、ように構成されたコントローラと、を含む、データ処理装置。
実施例19。前記タイムインターバルは、設定可能であり、ローカルインターコネクトクロックサイクルに関して定義されている、実施例18記載のデータ処理装置。
実施例20。前記タイムインターバルは、複数のインターコネクトに適用される、実施例18記載のデータ処理装置。
実施例21。前記マスタエージェントの各々について、それぞれの帯域幅値を格納するように構成されたそれぞれの帯域幅レジスタと、前記それぞれの帯域幅レジスタから前記それぞれの帯域幅値を受信し、前記それぞれのマスタエージェントによって消費される前記現在のタイムインターバル内で前記インターコネクト帯域幅のそれぞれの部分をカウントするように構成されたそれぞれの帯域幅カウンタと、をさらに含む、実施例18記載のデータ処理装置。
実施例22。前記インターコネクト帯域幅は、ローカルインターコネクトクロックサイクルに関して定義される、実施例18記載のデータ処理装置。
実施例23。前記データ処理装置は、前記マスタエージェントの各々について、それぞれの所定の要求遅延時間値を格納するように構成されたそれぞれの要求遅延レジスタと、前記それぞれの要求遅延レジスタから前記それぞれの所定の要求遅延時間値を受信し、前記それぞれの要求遅延時間値に対応する時間区間の数を、前記それぞれの所定の要求遅延時間までまたは前記現在のタイムインターバルの終了までのいずれか短い方でカウントするように構成されたそれぞれの要求遅延カウンタと、をさらに含む、実施例18記載のデータ処理装置。
実施例24。前記データ処理装置は、前記マスタエージェントの各々について、それぞれの帯域幅値を格納するように構成されたそれぞれの帯域幅レジスタと、それぞれの所定の要求遅延時間値を格納するように構成されたそれぞれの要求遅延レジスタと、前記それぞれの帯域幅レジスタから前記それぞれの帯域幅値を受信し、前記それぞれのマスタエージェントによって消費される前記現在のタイムインターバル内で前記インターコネクト帯域幅のそれぞれの部分をカウントし、前記それぞれの遅延レジスタから前記それぞれの所定の要求遅延時間値を受信し、前記それぞれの要求遅延時間値に対応する時間区間の数を、前記それぞれの遅延までまたは前記現在のタイムインターバルの終了までのいずれか早い方でカウントするように構成されたそれぞれのカウンタと、をさらに含む、実施例18記載のデータ処理装置。
実施例25。前記データ処理装置は、タイムインターバルの値を格納するように構成されたタイムインターバルレジスタと、前記タイムインターバルの開始時に前記タイムインターバルレジスタから前記タイムインターバル値を受信し、前記タイムインターバル値に対応する時間区間の数をカウントし、前記タイムインターバル値に対応する前記時間区間の数がカウントされた後、前記タイムインターバルレジスタから前記タイムインターバル値を再度受信するように構成されたタイムインターバルカウンタと、をさらに含む、実施例18記載のデータ処理装置。
実施例26。前記インターコネクト帯域幅の割り当て部分は、前記それぞれのマスタエージェントが前記インターコネクトを占有できる割り当て時間として定義される、実施例18記載のデータ処理装置。
前述の記載は、例示的な実施形態と関連しているが、「例示的」という用語は、最良または最適ではなく、単に例示的なものとして意味されることが理解される。したがって、本開示は、本開示の範囲内に含まれうる代替例、修正例および同等物を網羅することを意図している。
特定の実施形態が図示され、本明細書に例示かつ説明されてきたが、本開示の範囲から逸脱することなく、種々の代替例および/または同等物の実装形態が、図示され、説明された特定の実施形態に置き換えられうることは、当技術分野の当業者であれば理解されるであろう。本開示は、本明細書で論じた特定の実施形態の任意の適応例または変形例を包含することを意図している。

Claims (8)

  1. データ処理装置であって、前記データ処理装置は、
    インターコネクトに結合されたマスタエージェントと、
    前記マスタエージェントと前記インターコネクトとの間に結合され、前記マスタエージェント間でインターコネクト帯域幅を分配するように構成されたコントローラと、
    を含み、
    前記コントローラは、
    タイムインターバル内で、前記インターコネクト帯域幅のそれぞれの部分を前記マスタエージェントの各々に割り当て、
    前記マスタエージェントのいずれかが現在のタイムインターバル内でインターコネクト帯域幅の割り当て部分を消費したか否かを判別するために、前記マスタエージェントを監視し、
    1つのマスタエージェントが前記現在のタイムインターバル内でインターコネクト帯域幅の割り当て部分を消費した場合に、前記1つのマスタエージェントからの任意の新規アクセス要求を、前記現在のタイムインターバル内の所定の要求遅延時間だけ遅延させる、
    ように構成されている、
    データ処理装置。
  2. 前記タイムインターバルは、設定可能である、
    請求項1記載のデータ処理装置。
  3. 前記タイムインターバルは、複数のインターコネクトに適用される、
    請求項1記載のデータ処理装置。
  4. 前記データ処理装置は、前記マスタエージェントの各々について、
    それぞれの帯域幅値を格納するように構成されたそれぞれの帯域幅レジスタと、
    前記それぞれの帯域幅レジスタから前記それぞれの帯域幅値を受信し、前記それぞれのマスタエージェントによって消費される前記現在のタイムインターバル内で前記インターコネクト帯域幅のそれぞれの部分をカウントするように構成されたそれぞれの帯域幅カウンタと、
    をさらに含む、
    請求項1記載のデータ処理装置。
  5. 前記データ処理装置は、前記マスタエージェントの各々について、
    それぞれの所定の要求遅延時間値を格納するように構成されたそれぞれの要求遅延レジスタと、
    前記それぞれの要求遅延レジスタから前記それぞれの所定の要求遅延時間値を受信し、前記それぞれの要求遅延時間値に対応する時間区間の数を、前記現在のタイムインターバルの終了までカウントするように構成されたそれぞれの要求遅延カウンタと、
    をさらに含む、
    請求項1記載のデータ処理装置。
  6. 前記データ処理装置は、前記マスタエージェントの各々について、
    それぞれの帯域幅値を格納するように構成されたそれぞれの帯域幅レジスタと、
    それぞれの所定の要求遅延時間値を格納するように構成されたそれぞれの要求遅延レジスタと、
    前記それぞれの帯域幅レジスタから前記それぞれの帯域幅値を受信し、前記それぞれのマスタエージェントによって消費される前記現在のタイムインターバル内で前記インターコネクト帯域幅のそれぞれの部分をカウントし、前記それぞれの要求遅延レジスタから前記それぞれの所定の要求遅延時間値を受信し、前記それぞれの要求遅延時間値に対応する時間区間の数を、前記現在のタイムインターバルの終了までカウントするように構成されたそれぞれのカウンタと、
    をさらに含む、
    請求項1記載のデータ処理装置。
  7. 前記データ処理装置は、
    タイムインターバル値を格納するように構成されたタイムインターバルレジスタと、
    前記タイムインターバルの開始時に前記タイムインターバルレジスタから前記タイムインターバル値を受信し、前記タイムインターバル値に対応する時間区間の数をカウントし、前記タイムインターバル値に対応する前記時間区間の数がカウントされた後、前記タイムインターバルレジスタから前記タイムインターバル値を再度受信するように構成された、タイムインターバルカウンタと、
    をさらに含む、
    請求項1記載のデータ処理装置。
  8. 前記インターコネクト帯域幅の割り当て部分は、前記それぞれのマスタエージェントが前記インターコネクトを占有できる割り当て時間として定義されている、
    請求項1記載のデータ処理装置。
JP2021035569A 2020-03-06 2021-03-05 マスタエージェント間のインターコネクト帯域幅の分配 Active JP7263416B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/811,081 US20210279192A1 (en) 2020-03-06 2020-03-06 Distribution of interconnect bandwidth among master agents
US16/811,081 2020-03-06

Publications (2)

Publication Number Publication Date
JP2021140789A JP2021140789A (ja) 2021-09-16
JP7263416B2 true JP7263416B2 (ja) 2023-04-24

Family

ID=77388858

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021035569A Active JP7263416B2 (ja) 2020-03-06 2021-03-05 マスタエージェント間のインターコネクト帯域幅の分配

Country Status (3)

Country Link
US (1) US20210279192A1 (ja)
JP (1) JP7263416B2 (ja)
DE (1) DE102021105242A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241632A (en) 1992-01-30 1993-08-31 Digital Equipment Corporation Programmable priority arbiter
US6934871B2 (en) 2001-05-17 2005-08-23 Lsi Logic Corporation Programmable counters for setting bus arbitration delays involves counting clock cycles equal to a count number loaded from a memory
JP2014182727A (ja) 2013-03-21 2014-09-29 Kyocera Document Solutions Inc データ読出処理装置、データ書込処理装置及び画像形成装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11184807A (ja) * 1997-12-19 1999-07-09 Sony Corp 情報処理方法及び装置
US7724760B2 (en) * 2001-07-05 2010-05-25 Broadcom Corporation Method and apparatus for bandwidth guarantee and overload protection in a network switch
US7768920B2 (en) * 2005-06-29 2010-08-03 Bandwb Ltd. Means and methods for dynamically allocating bandwidth
US20070067531A1 (en) * 2005-08-22 2007-03-22 Pasi Kolinummi Multi-master interconnect arbitration with time division priority circulation and programmable bandwidth/latency allocation
JP2008165547A (ja) * 2006-12-28 2008-07-17 Brother Ind Ltd 通信制御装置
US9270944B2 (en) * 2007-02-14 2016-02-23 Time Warner Cable Enterprises Llc Methods and apparatus for content delivery notification and management
US9563369B2 (en) * 2014-04-14 2017-02-07 Microsoft Technology Licensing, Llc Fine-grained bandwidth provisioning in a memory controller
US10353747B2 (en) * 2015-07-13 2019-07-16 Futurewei Technologies, Inc. Shared memory controller and method of using same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241632A (en) 1992-01-30 1993-08-31 Digital Equipment Corporation Programmable priority arbiter
US6934871B2 (en) 2001-05-17 2005-08-23 Lsi Logic Corporation Programmable counters for setting bus arbitration delays involves counting clock cycles equal to a count number loaded from a memory
JP2014182727A (ja) 2013-03-21 2014-09-29 Kyocera Document Solutions Inc データ読出処理装置、データ書込処理装置及び画像形成装置

Also Published As

Publication number Publication date
US20210279192A1 (en) 2021-09-09
JP2021140789A (ja) 2021-09-16
DE102021105242A1 (de) 2021-09-09

Similar Documents

Publication Publication Date Title
EP0706137B1 (en) Queued arbitration mechanism for data processing system
US7802040B2 (en) Arbitration method reordering transactions to ensure quality of service specified by each transaction
US8180941B2 (en) Mechanisms for priority control in resource allocation
US7352741B2 (en) Method and apparatus for speculative arbitration
US6519666B1 (en) Arbitration scheme for optimal performance
US7231475B1 (en) Advanced bandwidth allocation in PCI bus architecture
US20110072178A1 (en) Data processing apparatus and a method for setting priority levels for transactions
US7013357B2 (en) Arbiter having programmable arbitration points for undefined length burst accesses and method
JPH0227697B2 (ja)
WO1998012646A1 (en) Guaranteed bandwidth allocation method in a computer system for input/output data transfers
US10740269B2 (en) Arbitration circuitry
JP2012512472A (ja) データバースト間の競合の解決
CN115454897A (zh) 一种改善处理器总线仲裁机制的方法
US6415367B1 (en) Apparatus for reducing asynchronous service latency in a time slot-based memory arbitration scheme
US6240475B1 (en) Timer based arbitrations scheme for a PCI multi-function device
US8185679B2 (en) Controlling bus access
US10705985B1 (en) Integrated circuit with rate limiting
US6430640B1 (en) Self-arbitrating, self-granting resource access
JP7263416B2 (ja) マスタエージェント間のインターコネクト帯域幅の分配
US6363461B1 (en) Apparatus for memory resource arbitration based on dedicated time slot allocation
US10983937B2 (en) Method for managing access to a shared bus and corresponding electronic device
US6412049B1 (en) Method for minimizing CPU memory latency while transferring streaming data
US8135878B1 (en) Method and apparatus for improving throughput on a common bus
KR100973419B1 (ko) 버스 중재 방법 및 장치
WO2007088426A1 (en) Device and method for accessing dynamic memory units

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210305

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220414

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220613

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220912

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20220912

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220927

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20221005

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20221021

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20221026

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20221108

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20230105

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20230207

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20230314

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20230314

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230412

R150 Certificate of patent or registration of utility model

Ref document number: 7263416

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150