JP4944042B2 - Soc相互接続において転送待ち時間を低減するための方法および装置 - Google Patents

Soc相互接続において転送待ち時間を低減するための方法および装置 Download PDF

Info

Publication number
JP4944042B2
JP4944042B2 JP2007549545A JP2007549545A JP4944042B2 JP 4944042 B2 JP4944042 B2 JP 4944042B2 JP 2007549545 A JP2007549545 A JP 2007549545A JP 2007549545 A JP2007549545 A JP 2007549545A JP 4944042 B2 JP4944042 B2 JP 4944042B2
Authority
JP
Japan
Prior art keywords
arbiter
priority
request
signal
bus
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
JP2007549545A
Other languages
English (en)
Other versions
JP2008527498A (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 JP2008527498A publication Critical patent/JP2008527498A/ja
Application granted granted Critical
Publication of JP4944042B2 publication Critical patent/JP4944042B2/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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Description

この発明の実施形態はシステムオンチップ(「SOC」)相互接続において、バスマスタからバススレーブへの転送要求を一定の順序に配列するための方法と装置に向けられている。特に、実施形態は、SOC相互接続において要求の優先度を変更することによりバスマスタとバススレーブとの間の転送待ち時間を低減するための方法と装置に向けられている。
システムオンチップ(SOC)技術は種々のタイプのシステムを動作させ制御する。一般にSOC技術は一般にマイクロチップとして知られる単一集積回路(「IC」)上の(セル電話またはデジタルカメラのような)「システム」のためのすべての必要な電子回路およびパーツの組み立てである。
SOCsは典型的にバスマスタ(例えば、プロセッサー、グラフィックスエンジン、ダイレクトメモリアクセス(「dma」)エンジン等)としても知られるイニシエーター、バスターゲット(例えば、メモリコントローラー)、および相互接続としても知られるシステムバスを含む。SOCが制御するように意図されるシステムを動作させるために、バスマスタはシステムバスまたは相互接続を介してスレーブとしても知られる目標に対する転送要求を開始する。複数のマスタが特定のスレーブを同時にアクセスしようと望むなら、これらの複数のマスタのための要求は中央アービターまたは調停システムを介して処理されなければならない。調停システムはマスタとスレーブとの間の通信を制御する。特に、調停システムはマスタがスレーブと通信する順番を制御する。
マスタがスレーブと通信する順番は、マスタからの要求が、待ち時間においてまたは時間において制限されているなら重要である可能性がある。典型的に、SOC内の各マスタは各要求に対して待ち時間要件を有することができる。待ち時間要件はその要求を実行するために、もしあれば、時間制約を識別する。例えば、ビデオエンジンは、映画または画像を作成するためにある数のフレーム/秒を各ために必要かもしれない。そして、ビデオエンジンはその内部バッファーからこれらのフレームをメインメモリに書くかもしれない。メモリコントローラー、すなわちスレーブがタイムリーな方法でこれらの要求を受け入れるまたはサービスすることができないない、ビデオエンジン内のバッファーは、オーバーランするであろう。そして、生成された画像は不完全でありギザギザがあるであろう。
待ち時間要件は、マスタが要求を送信しているにもかかわらず、特定のマスタまたは特定のタイプの要求により指示されることができる。現在のシステムにおいて、要求の待ち時間要件は重要かもしれないけれども、マスタからスレーブへの待ち時間要件の移動はない。従って、同じ優先度を持つすべての要求は等しい緊急度であるとスレーブにより感知される。そのため、いくつかのインスタンスにおいて、より待ち時間が重要である要求はタイムリーな方法で応答されないかもしれない。
スレーブにアクセスするためにマスタが要求を調停システムに送信すると、マスタは要求信号を調停システムに送信する。上述したように、いくつかの転送要求は待ち時間が重要であり要求を実行する上で時間制約がある。これらのインスタンスにおいて、優先度は要求に関連していてもよい。要求に関連する優先度にも関わらず、調停システムは待ち時間制約に気づかず、従って別段の指示がなければ完全に同じように各要求を管理するであろう。
いくつかのSOCsにおいて、要求を有する待ち時間要件の同定の欠落を克服するために、特定のマスタは要求にかかわらず最高の優先度が与えられるであろう。特定のマスタからのすべての要求は最高の優先度が与えられるので、より低い優先度を有するマスタからの要求は別のマスタからのより高い優先度要求の前にセットされるであろう。これらのインスタンスにおいて、バスの使用を最適化することは困難である。
特定のマスタの代わりにいくつかのマスタからの要求を剥奪するのを回避するために、いくつかのSOCs内の調停システムはマスタが公正なラウンドロビン(round robin)スキームを用いて通信することを可能にするであろう。例えば、マスタM0,M1,...MnとスレーブSから構成されるシステムは以下のようにスレーブSとの通信の優先順位を決める。M0,M1...Mn;→M1...Mn;→...→Mn,M0・・・Mn-1。これはより公平にマスタによるスレーブへのアクセスを可能にするけれども、待ち時間基準を異ならせる要求に関連する問題を解決することができない。
要求が調停システムにより許可される前に内部バッファーに常駐していてもよいので、さらなる問題が生じる。経過時間の量がアービターにより認識されないので、要求は、マスタが要求を介してから経過した時間量を気にせずに送信される。たとえ要求がアービターにより許可されても、要求は、相互接続の他の層またはブリジッング装置に転送されるかもしれないし、最終目標には転送されないかもしれない。さらに、要求が最終目標に送信されると、要求は最初の要求と最終目標に到達したときとの間に経過した時間量に関わらず、早期に受信された要求の後にキューイングされるかもしれない。この点について、マスタの待ち時間要件は、要求が作用される前に満了したかもしれない。
要求するマスタからスレーブへの要求に付属する待ち時間要求の転送を可能にさせる産業上の必要性が存在する。要求の待ち時間要件に従って要求への応答のために以前に定義されたスケジュールの有線順序を付け直すことができるシステムのためのさらなる必要性が存在する。
この発明の実施形態は、チップ上のシステムにおいて転送待ち時間を低減するための方法および装置に向けられている。チップ上のシステムの実施形態は、バスマスタ、バススレーブ、およびアービターを含み、バスマスタ、バススレーブおよびアービターはそれらの間で電子通信している。待ち時間要件に関連する優先度信号を有する要求は、バスマスタからアービターに送信される。アービターは要求をバスフレーブに送信する前に待ち時間要件を再検討し優先度信号を高めるかどうかを決定する。次に要求信号はアービターからバススレーブに送信される。バススレーブは応答を要求に送信する。この場合、送信は優先度信号を含んでいてもよい。
この発明の実施形態の特徴は、要求の待ち時間要件は要求とともにマスタからスレーブに送信される。この特徴の利点は、要求が待ち時間要件に従って実行できることである。
この発明の実施形態のさらなる特徴は命令の待ち時間要件に基いて命令に対する応答の順番の優先順位をバススレーブが付け直すことができることである。この特徴の利点は、バススレーブがシステムリソースの消費を低減することができることである。
この発明の実施形態の他の特徴は、スレーブが要求の優先度を戻りデータを有するアービターに戻すことである。この特徴の利点はアービターは単一マスタへの戻りデータの送信順番を決定することができることである。
この発明の実施形態はSOC相互接続上のバスマスタとバススレーブとの間の転送要求を一定の順序に配列する方法および装置に向けられている。この発明の実施形態はSOC相互接続上で動作する。この場合、少なくとも1つのバスマスタはアービターを介してバススレーブと通信する。図1を参照すると、SOC相互接続10は少なくとも1つのバスマスタ12、バススレーブ14およびアービター16から構成される。この場合、バスマスタ12、バススレーブ14およびアービター16はバス15および17を介してそれらの間で電子通信する。
バスマスタ12は、例えばメモリにデータを記憶するまたはメモリからデータをリードする命令のように、バス15上のトランザクションを開始するように構成される任意のタイプの装置であり得る。例えば、バスマスタ12はこれらに限定されないが、プロセッサーとグラフィックエンジンを含む。
バスマスタ12は要求信号をアービター16に送信する。要求信号は、バスマスタ12がバス17上に存在するバススレーブ14へのアクセスを要求していることを示す。バスマスタとアービターとの間のバス15プロトコルに応じて、要求信号はバススレーブを対象とした命令を含むことができる。要求信号がバススレーブ14を対象とした命令を含まないなら、バスマスタ12は命令を記憶装置(図示せず)に記憶し、命令を送信するためにアービターからの信号を待つ。要求信号がバススレーブ14のための命令を含んでいうるなら、命令はアービター16内の内部記憶装置またはアービター16に接続された外部記憶装置(図示せず)に記憶することができる。
バスマスタ12は命令の各タイプに相関する所定の優先度を持つことができる。または各命令に対してダイナミックに優先度を割り当てることができる。優先度は特定の命令が完了しなければならない時間フレームを定義する待ち時間要件に関連する。待ち時間要件は固定要件であり得る。例えば、単一の番号または(高い、中間のまたは低い)ディスクリプターは、ビン値(binned value)であり得、または特定のサイクルまたは時間値であり得る。待ち時間要件がビンされると(binned)、待ち時間ビンニング要件は範囲または許容範囲の上限値のようはグループの要件を表すであろう。例えば、待ち時間要件は3(固定値)、高い(ディスクリプター)、20−40サイクルの間または40サイクル以上(ビンニング)であり得る。いくつかの実施形態において、優先度は要件が実行されなければならないまで残るクロックサイクルの数(または時間)に同一である。これらの実施形態において、要求とともに送信される待ち時間要件は要件を完了するためのサイクルの残りの数に相当する。どんなに定義されても、命令に相関する優先度、および従って、関連する待ち時間要件は、命令とともに、要求信号が送信される時刻にまたは命令がアービターによる送信に対して許可されたとき送信される。
バスマスタは各要求に対して優先度を割り当てることができるが、いくつかの実施形態において、優先度はアービターにより割り当てることができる。従って、マスタがアービターに要求するとき、またはマスタの要求がアービターにキューイングされるとき、優先度はマスタにより割り当てることができる。優先度がアービターにより割り当てられるなら、優先度はマスタからのすべての要求に対する単一のスタティック値であるということもあり得る。またはマスタにより作られた要求のタイプにより決定された値ということもあり得る。
バススレーブ14はバスマスタ12からの命令に応答するようにまたはサービスするように構成されるターゲット装置であるが、命令を発生しない。例えば、バススレーブ14はメモリコントローラーになり得る。好適実施形態において、バススレーブ14は命令の優先度ステータスと相関する待ち時間要件を含む、命令を受信するように構成され、待ち時間要件に従って命令を処理する。
バススレーブは1つ以上のマスタからの複数の命令を受信するように構成される。バススレーブが所定の命令を実行することができるまで、複数の受信された命令はキューにセットされる。いくつかの実施形態において、バススレーブは入ってくる命令の優先度を認識するだけであり、従って各命令の優先度に従って命令に対する応答の順番に優先順位をつける。しかしながら、他の実施形態において、バススレーブは待ち時間要件に気づいており、従ってバススレーブは、待ち時間要件に従ってキュー内の命令の応答の順番に優先順位をつけることができる。
バススレーブが命令に従って実行すると、バススレーブはもしあれば戻りデータをアービター16に送信する。戻りデータは任意のタイプの情報を含むことができる。例えば、これらに限定されないが、バスマスタにより要求されたデータのセット、問い合わせに対する応答、または命令が完了したアクノレジメントを含む。いくつかのインスタンスにおいて、バスマスタがタスクの完了の確認をさらに要求しない限り、命令完了時に応答はバススレーブにより戻されない。
アービター16はバスマスタ12からの要求信号を受信し、マスタからスレーブへの命令の送信を制御し、スレーブからマスタへの戻りデータの送信を制御するコントローラーである。いくつかの実施形態において、アービターは要求信号を受信するだけであり、命令はバスマスタに記憶される。このインスタンスにおいて、バススレーブに対するバス17が利用可能なら、アービターは命令を送信するようにバスマスタに命令する信号をバスマスタに送信する。
要求信号を受信すると、アービターはタグをつける、すなわち要求信号にタイムスタンプを刻印する。要求信号が命令に接続されているなら、アービターはまた命令をタイムスタンプする。次に、命令はアービター内のキューに記憶される。タイムスタンプは、要求信号の受信とバススレーブ14への命令の最終の送信との間に経過した時間量を追跡可能にする。
上述したように、命令がアービターに送信されるときにも関わらず、命令の優先度および相関待ち時間要件は命令とともに送信される。以下に述べるように、アービターは待ち時間要件と命令のタイムスタンプまたは信号要求のタイムスタンプを利用して、命令をバススレーブに送信する前に命令の優先度を高める必要があるか、すなわち更新する必要があるか否かを決定する。バスマスタが開始要求信号を送信してからあまりに長い時間が経過したなら、アービターは命令の優先度ステータスを高くするように構成されている。この点において、待ち時間要件は新しい優先度ステータスを反映するように自動的に変更されるであろう。優先度ステータスはバススレーブに命令に応答するための実際の時間制約を知らせる。いくつかの実施形態において、アービター要求信号とそのタイムスタンプを記憶し、要求がバススレーブと共に駐在している期間中要求の優先度を高め続けるように構成される。この点において、アービターはバススレーブから要求が戻ると、この要求の待ち時間要件に気が付く。
図2を参照すると、SOC相互接続は、複数のマスタ、スレーブ、アービターまたはそれらの任意の組み合わせを含むことができる。アービターの多重度は複数のレベルの相互接続を作成する。従って、いくつかの所望のスレーブ、例えばS1とS2に到達するために、要求は複数のアービターを通過しなければならない。各アービターは送信のための独自のキューを有する。多層相互接続において、アービターは、命令が1つのレベルから次のレベルに渡されるとき命令の優先度を高めることができる。この点において、命令に関連する待ち時間要件は失われずまたは無視されず、それによりバススレーブが命令に対するタイムリーな応答を提供することができる。
全体および図3を参照して、転送待ち時間を低減するための一実施形態において、マスタは要求をアービターに送信する。この場合、要求は優先度信号を含む(20)。要求を受信すると、アービターは要求にタイムスタンプを付けるかまたはタグを付け、それをキューに置く(22)。任意の要求を許可する前に、アービターは、キューに係属する各要求の相対的な優先度を再検討し、開始待ち時間要件に対して要求のサイクルが経過するとキュー内のエージング(aging)要求の優先度を増加させる(24)。最も低い番号が最も緊急である優先度として待ち時間要件が定義されるなら、要求がキューにある各サイクルに対してイチ(1)が優先値から減算されるであろう。アービターはより少ない待ち時間の重要な要求の前により多くの待ち時間の重要な要求を許可する。要求が許可されると、アービターは待ち時間要件に関連するタイムスタンプを再検討し、必要であれば要求の優先度を更新する。次に、要求はアービターから指定されたスレーブにまたは仲介アービターに送信される(28)。要求がスレーブに送信されるなら、スレーブは要求を実行し、アービター介してマスタにデータを返す(30)。要求が仲介アービターに送信されるなら、仲介アービターは上述したように要求にタイムスタンプを付け要求を処理する(22)
上述したように、マスタ12が要求を送信するとき、要求は優先度信号を含む。いくつかの実施形態において、優先度信号は要求とともに送信されるサイドバンド信号に含まれる。この場合、サイドバンド信号は要求に関連する信号の集合であり、転送クォリファイアー(qualifier)を識別する。例えば、サイドバンド信号はこれらに限定されないが、転送のタイプ、転送のサイズ、アクセスされる装置のアドレス、および命令の優先度信号を含むことができる。転送クォリファイアーは変更することができ、バス15、17プロトコルに依存していてもよい。
優先度信号はエンコードすることができる可変幅を有する。この場合、エンコーディングは待ち時間要件と関連する。図4を参照すると、優先度信号は、「0bxy」のような優先度識別子32により識別される。但し、xyは待ち時間ビンニング(binning)34を識別する。この例において幅は2ビットである。しかしながら、幅は任意の適切な幅であることができることが理解される。待ち時間ビンニングを識別するために使用されるより大きなビット数は、待ち時間要件を決定するために精度の量を増大させる。
各優先度識別子32は待ち時間識別子36に関連する。待ち時間識別子36は要求が待ち時間要件を有さないことを識別することを含む待ち時間要件を定義する。待ち時間要件は、これらに限定されないが、サイクルの数またはサイクルの範囲を含む任意の適切な方法により定義することができる。例えば、0b00の優先度識別子は待ち時間要件を持たず、0b01は「100サイクル以内のサービス」という待ち時間識別子36に関連する。他の例において、待ち時間要件は30−50サイクルの間のサービスとして識別することができる。いくつかの実施形態において、バスマスタの優先度エンコーディングに相当する待ち時間要件は、アービター内のレジスターを介してプログラマブルであってもよい。この点において、待ち時間要件は、優先度識別子32に対して変更することができる。
優先度信号を受信し受け付けると、アービターはアービテーションのためにキューイングされる入力要求にタイムスタンプを付けるかまたはタグを付ける。上述したように、要求を許可する前に、アービターは受信した要求の相対的な優先度を再検討する。受信した要求は、同じマスタからまたは異なるマスタから発生することができる。一般的により低い待ち時間要件を有する要求は、より高い待ち時間要件を有する要求より前に許可される。等しい優先度の要求は、これに限定されないが、最も早いタイムスタンプに基いて要求を許可することを含む任意の適切な順番で許可することができる。
要求が許可されることになると、アービターは要求のタグまたはタイムスタンプに関連して優先度識別子32を再検討する。この点において、アービターは、優先度識別子32が上昇または更新を必要とするか否かを決定する。図5を参照すると、上述したように、マスタ、例えばマスタ1から要求を受信すると、アービターは「0」のタイムスタンプを要求にセットする。その要求はタイムスタンプと優先度に関連してマスタ要求キュー40にセットされる。「n」クロックサイクルの各間隔において、アービターは各マスタに対してキュー内のすべての係属中のタイムスタンプをインクリメントまたは老化させる。従って、図5に関して、アービターはマスタ1のためのキュー内の要求0、要求1および要求2のためのタイムスタンプをインクリメントし、また、マスタ2のためのキュー内の要求0のためのタイムスタンプをインクリメントする。タイムスタンプの増加は、アービターが要求の待ち時間要件に対して要件の年齢を決定することを可能にする。この点に関して、要求が許可されると、優先度は古いタイムスタンプに基いて更新することができる。例えば、図4を参照して、0b10の優先度をもともと有する要求が3の古いタイムスタンプを有すると仮定する。「n」クロックサイクルが10の間隔値を表すなら、要求は許可される前に少なくとも30サイクルペンディングにされた。図4に従って、0b10の優先度は50サイクル内のサービスを要求する。今、要求は20サイクル内で応答しなければならないので、優先度は新しい時間制約を反映するために高められなければならない。従って、このインスタンスにおいて、アービターは、20サイクル内のサービスの必要性を反映するために、0b10から0b11に優先度識別子を変更するであろう。そのため、この要求がスレーブ、または相互接続の他のレベルに送信されると、受取人は要求が20サイクル内でサービスされなければならないことに気がつく。要求は複数の相互接続を介して送信されるので、優先度が調節され、それにより要求の待ち時間要件をリアルタイムで更新する。「n」のための間隔値はアービターにプログラムすることができ、従って、変更することができる。
どの要求を許可にするかを決定するために、いくつかの実施形態において、アービターは各マスタのための各キュー内の最も古い要求を調べる。例えば、(要求0が最も古いと仮定して)、マスタ1のためのキュー内の要求0、およびマスタ2のためのキュー内の要求0を調べるであろう。アービターは2つの要求を比較してどの要求がより待ち時間が重要であるかを決定し、要求を許可するであろう。他の実施形態において、アービターは、要求の年齢に関係なく各マスタのためのキュー内のどの要求が最も待ち時間が重要であるかを決定する。例えば、3つのペンディングしている要求のうちでマスタ1のためのキュー内の要求1が最も待ち時間が重要であると仮定すると、アービターはマスタ2のためのキュー内の要求1と要求0の待ち時間要件を比較し、どの要求を許可するかを決定するであろう。
他の例において、図6を参照すると、2つのマスタM0およびM1は命令(集合的に要求)を有した要求信号を実質的に同じ時間42にアービターに送信する。各要求は0b10の優先度を有する。両方の要求はアービター44、46によりアクノレジされる。
しかしながら、各要求のアクノレジメントは異なるサイクルで生じる。特に、M0のためのアクノレジメントが4番目のサイクル44で生じ、M1のためのアクノレジメントが第3のサイクル46にいて早期に生じる。時間xにおいて、アービターはM1のための要求を許可する。経過した時間量が要求の優先度の上昇を要求する前に要求が許可されたので、アービターはM1の優先度を変更しない。時間yにおいて、アービターはM0の要求を許可する。しかしながら、今M0の優先度が0b11に上昇されなければならないように十分な数のサイクルが経過した。従って、アービターは要求M0を上昇された優先度を有したバススレーブに送信する。優先度情報を含む要求はスレーブにより受信される。バススレーブが待ち時間情報を認識せずに命令の優先度ステータスを調べるだけである実施形態において、バススレーブは最初に最も高い優先度の命令を実行する。また、いくつかの実施形態において、いくつかのスレーブは優先度情報を認識しないかもしれない。これらのスレーブはすべての入力される要求を等しく処理するであろうけれども、要求は、待ち時間を低減するために最適である方法でアービターによりスレーブに提供されるであろう。
従って、上の例では、M1のための要求の後でM0のための要求が受信されたという事実にもかかわらず、スレーブは最初にM1のための要求よりも前にM0が作用されなければならないことに気づいている。アービターは待ち時間要件に対して命令の優先度を調べたので優先度は、アービターが優先度を上昇しないシステムにおけるよりもより高い精度で命令のステータスを反映する。バススレーブが要求の優先度を認識しないなら、バススレーブは要求が受信される順番で要求を実行する。しかしながら、上で示したように、これらのインスタンスにおいて、アービターは待ち時間を低減するために最適である方法で要求をバススレーブに提供した。
上で述べられたように、いくつかの実施形態において、スレーブが命令に応答する実際の順番はキュー内の命令の待ち時間要件に基いて優先順序を付け直すことができる。いくつかの実施形態において、キュー内の命令の待ち時間要件を比較することにより、バススレーブはシステムリソースの効率的な使用を増加させるために命令に応答する順番の優先順位を付けなおすことができる。例えば、命令の待ち時間要件に基いて、バススレーブがより高い優先度の命令の実行より前により低い優先度の命令を実行することができるかどうかおよび両方の命令のための待ち時間要件を依然として満足するかどうか評価することができる。
時々、順序づける命令は、バススレーブが所定のシステム装置を効率的にアクセスすることができるので、バススレーブが電力のようなシステムリソースの消費を低減することを可能にしてもよい。例えば、図7を参照すると、バススレーブは、第1のメモリデバイスMEM1からデータを検索するために第1の命令I1を受信する。バススレーブがデータを検索している間、第2の命令I2および第3の命令I3はバススレーブに送信される。
第2の命令は第3の命令P2より高い優先度P5を有する。しかしながら、第3の命令I3はバススレーブが第1のメモリデバイスMEM1をアクセスするように命令しており、第2の命令I2はバススレーブが第3のメモリデバイスMEM3をアクセスするように命令している。第1の命令I1のためのデータの検索が完了すると、バススレーブは、2つの残りの命令の待ち時間要件を調べることができ、第2の命令I2の待ち時間要件の制約を前提として、バススレーブは第2の命令I2の実行よりも前に第3の命令I3を実行することができるかどうかを決定することができる。例えば、第2の命令I2の待ち時間要件が30サイクル以内に命令の実行を必要とするなら、およびバススレーブが10サイクル以内に第3の命令I3を実行できると決定し、次に、15サイクル以内に第2の命令を実行できると決定するなら、バススレーブは両方の命令をタイムリーに実行することができる。バススレーブが3つの命令すべてを効率的に実行することができるなら、システムのリソースは節約されるであろう。なぜなら、バススレーブは、メモリをオフにせずに同じメモリデバイスを再アクセスし、次に第3の命令のための要求されたデータを検索することを再開しているだろうからである。これは、システム内の電力消費を低減するであろう。
スレーブにより要求を実行すると、スレーブは戻りデータを送信する。戻りデータに加えて、スレーブは更新された優先度識別子32を戻してもよい。いくつかの実施形態において、バススレーブはバススレーブがいつ命令を受信したかというタイムスタンプと、バススレーブによる命令の受信から計算されるように命令を実行するための経過時間とを比較するように構成される。上述したように、いくつかの実施形態において、経過時間が命令を新しい待ち時間ビンニングにセットするなら、バススレーブは、上昇された優先度を反映するために優先度識別子32を次のより高い優先度識別子32に更新することにより命令の優先度を上昇するように構成される。次に、戻りデータはアービターに送信される。
所定のマスタを目標にした1つ以上のスレーブからの戻りデータを送信するための順番を決定するために、アービターはスレーブにより戻された優先度識別子32と、戻りデータの最初の(または唯一の)データが相互接続により観察されるとき取り込まれるタイムスタンプを利用してどの要求がより待ち時間が重要かを評価する。いくつかの実施形態において、スレーブは優先度識別子を返さない。その代わり、上述したように、アービターは、要求の優先度に関連して送信された要求のレコードを維持し、時間が経過するにつれ優先度を更新する。特定のマスタへのアクセスを得るために争うすべての戻り転送の相対的優先度に基いて、アービターは、もしあれば、どの要求をバッファーするかまたは抑圧するか(すなわち、戻りデータを受け入れることができないスレーブに信号を送信する)を決定し、転送を抑圧する又は要求をバッファーにセットすることによるさらなる遅延を伴わずにより待ち時間に敏感な要求をより迅速に送信する。相対的な優先度の使用は、バススレーブからの戻りの順番に関わらず、アービターが戻りデータの優先順位を付けなおすことを可能にする。
一例において、図8を参照すると、双方向クロスバーアービター相互接続50はバス(3)を介してマスタに接続され、バス(1)および(2)を介して複数のスレーブS0およびS1に接続される。マスタは2つのリード要求を異なるスレーブに送信する。S0に対するリード要求の待ち時間要件はS1に対する要求よりも低い。両方の要求はバス(3)を介してアービター50に送信される。アービター50は次にその要求を上述した方法で異なるスレーブに送信する。その要求はスレーブにより完了され、この例において実質的に同時にアービター50に送信する準備ができている。送信のための複数のバス(1)および(2)があるので、戻りリードデータをアービター50に送信する順番に関する問題はない。しかしながら、単一のバス(3)のみがマスタに利用可能なので、アービターはマスタに送信するためにどのリードデータを優先させるかを決定しなければならない。
要求の待ち時間要件に基いて決定がなされる。そのため、アービターは要求の待ち時間要件に気が付いているので、アービターはS0からのリードデータを選択する。従って、S0からのリードデータはマスタに送信され、S1からのリードデータは、S0からのリードデータの転送の後にマスタに接続するバス(3)が利用可能になるまで抑圧されるかまたはアービターに内部的にバッファーされるかまたはキューにセットされる。
上記記載はこの発明の好適実施形態について記載したけれども、これはこの発明を制限することを意図したものではない。実際に、上述の記載は添付されたクレームに表されるようにこの発明の精神および範囲内にあるすべての変更および代替構成をカバーすることを意図している。クレームに記載されていなくても明示的にまたは黙示的に社会の共通財産に捧げられるように意図された開示の部分はない。
図1は1つのマスタとスレーブとアービターを有したSOC相互接続のブロック図である 図2は複数のマスタとスレーブとアービターを有したSOC相互接続のブロック図である。 図3は転送待ち時間を低減するための方法のフロー図である。 図4は、優先度と相関する待ち時間要件の例示テーブルである 図5はアービターに接続されたマスタ要求キューの概略図である。 図6は優先度上昇スキームを図解する概略図である 図7は、受信された命令に応答する順番の優先順位を付け直すバススレーブの概略図である。 図8は2つのスレーブと1つのマスタを有する構成のブロック図である。

Claims (21)

  1. チップ上のシステム内の転送待ち時間を低減する方法であって、前記チップ上のシステムはバスマスタ、バススレーブおよびアービターを有し、前記バスマスタ、バススレーブおよびアービターは電子通信をしており、前記バススレーブは要求に応答するように構成される方法において、
    前記要求と、前記要求の実行が完了するのに必要な時間を定義する待ち時間要件、及び前記要求の優先度を表す優先度信号を有する要求信号を前記バスマスタから前記アービターに送信することと、
    前記アービターによって、前記待ち時間要件を調べて前記優先度信号により表される優先度を高めるかどうかを決定することと、
    前記要求信号を前記アービターから前記バススレーブに送信することと、
    前記要求信号を受けて前記要求に対する前記応答を前記バススレーブから前記アービターに送信することと、
    を備えた方法。
  2. 前記アービターによって、前記要求信号にタイムスタンプを刻印することをさらに備えた、請求項1に記載の方法。
  3. 前記アービターによって、前記優先度信号により表される優先度を高めることをさらに備えた、請求項1に記載の方法。
  4. 前記アービターによって、前記タイムスタンプを前記待ち時間要件と比較し前記優先度信号により表される優先度を高めるかどうかを決定することをさらに備えた、請求項2に記載の方法。
  5. 前記アービターによって、前記バススレーブに送信するために前記要求信号を前記アービター内のキューにセットすることをさらに備えた、請求項1に記載の方法。
  6. 前記要求信号は第1の要求を有する第1の要求信号であり、前記優先度信号は第1の優先度信号であり、前記待ち時間要件は第1の待ち時間要件であり、
    第2の要求と前記第2の要求の実行が完了するのに必要な時間を定義する第2の待ち時間要件、及び前記第1の優先度信号により表される優先度よりも高い優先度を表す第2の優先度信号を有する第2の要求信号を前記バスマスタから前記アービターに送信することと、
    前記第2の要求信号を前記アービターから前記バススレーブに送信することと、
    をさらに備えた、請求項1に記載の方法。
  7. 前記アービターによって、前記第1の優先度信号により表される優先度と前記第2の優先度信号により表される優先度とを比較することと、
    前記バススレーブによって、前記第1の要求を実行する前に前記第2の要求を実行することと、
    をさらに備えた、請求項6に記載の方法。
  8. 前記アービターによって、前記第1の待ち時間要件と前記第2の待ち時間要件とを比較することと、
    前記バススレーブによって、前記第の要求を実行する前に前記第の要求を実行することと、
    をさらに備えた、請求項6に記載の方法。
  9. 前記チップ上のシステムは、第1のアービター、第2のアービター、第1のバススレーブ、第2のバススレーブを有し、前記第1のアービターは前記マスタおよび前記第2のアービターに接続され、前記第1のバススレーブは前記第1のアービターに接続され、前記第2のバススレーブは前記第2のアービターに接続され、前記バスマスタからの要求信号は前記第1のアービターおよび前記第2のアービターを介して前記バスマスタから前記第2のバススレーブに送信され、
    前記要求信号を前記第2のアービターに送信する前に前記第1のアービターによって前記待ち時間要件を調べて前記優先度信号により表される優先度を高めるかどうかを決定することと、
    前記要求信号を前記第2のバススレーブに送信する前に前記第2のアービターによって前記待ち時間要件を調べて前記優先度信号により表される優先度を高めるかどうかを決定することと、
    をさらに備えた、請求項1に記載の方法。
  10. 少なくとも1つのアービターによって、前記優先度信号により表される優先度を高めることをさらに備えた、請求項9に記載の方法。
  11. 前記要求信号を第2のアービターに送信する前に前記第1のアービターによって前記優先度信号により表される優先度を高めることと、
    前記要求信号をバススレーブに送信する前に前記第2のアービターによって前記優先度信号により表される優先度を高めることと、
    をさらに備えた、請求項9に記載の方法。
  12. 前記要求に対する応答を前記アービターに送信する前に前記要求の優先度を前記バススレーブにより高めることをさらに備えた、請求項1に記載の方法。
  13. 前記要求が前記バススレーブに駐在する間、前記アービターによって前記優先度信号により表される優先度を高めることをさらに備えた、請求項1に記載の方法。
  14. チップ上のシステム相互接続において、
    要求と、前記要求の優先度ステータスを識別する優先度信号と、前記要求の実行が完了するのに必要な時間を定義する待ち時間要件を識別し、また前記待ち時間要件を持たないことを識別する待ち時間識別子とを有する要求信号を送信するように構成されたバスマスタと、
    前記要求信号を受信するように構成されたバススレーブと、
    前記バスマスタとバススレーブに接続されているアービターであって、前記要求信号は前記アービターを介して前記バスマスタから前記バススレーブに送信され、前記バススレーブは前記要求信号のうち前記優先度信号及び前記待ち時間識別子を前記アービターに送信するように構成される、アービターと、
    を備えたシステム。
  15. 前記優先度信号は、対応する前記待ち時間識別子を識別できるようにエンコードされる請求項14に記載のシステム。
  16. 前記優先度信号は可変幅を有し、前記可変幅はエンコーディングのために構成される、請求項14に記載のシステム。
  17. 前記待ち時間識別子は定数、ディスクリプター、クロックサイクルのレンジおよびサイクル上限のグループの1つから選択される、請求項14に記載のシステム。
  18. 前記バススレーブは、前記優先度信号により表される優先度を高め、前記優先度が高められた優先度信号を前記アービターに送信するように構成される、請求項14に記載のシステム。
  19. 複数のアービターであって、第1のアービターは前記バスマスタに接続され、さらに第2アービターに接続され、各アービターは前記優先度信号により表される優先度を高めるように構成され、前記優先度信号により表される優先度を高めることは新しい待ち時間識別子に関連している、複数のアービターと、
    複数のバススレーブであって、第1のバススレーブは第1のアービターに接続され、第2のバススレーブは前記第2のアービターに接続され、各バススレーブは前記優先度信号により表される優先度を高めるように構成される、複数のバススレーブと、
    をさらに備えた、請求項14に記載のシステム。
  20. 複数のアービターであって、第1のアービターは前記バスマスタに接続され、さらに第2のアービターに接続され、各アービターは前記優先度信号により表される優先度を高めるように構成される、複数のアービターと、
    複数のバススレーブであって、第1のバススレーブは前記第1のアービターに接続され、第2のバススレーブは、前記第2のアービターに接続され、各アービターは、前記要求がバススレーブに駐在する間前記優先度信号により表される優先度を高めるように構成される、複数のバススレーブと、
    をさらに備えた、請求項14に記載のシステム。
  21. 前記アービターは前記要求が前記バススレーブに駐在する間前記優先度信号により表される優先度を高めるように構成される、請求項14に記載のシステム。
JP2007549545A 2004-12-30 2005-12-23 Soc相互接続において転送待ち時間を低減するための方法および装置 Expired - Fee Related JP4944042B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/027,532 2004-12-30
US11/027,532 US7263566B2 (en) 2004-12-30 2004-12-30 Method and apparatus of reducing transfer latency in an SOC interconnect
PCT/US2005/047038 WO2006073927A1 (en) 2004-12-30 2005-12-23 Method and apparatus of reducing transfer latency in an soc interconnect

Publications (2)

Publication Number Publication Date
JP2008527498A JP2008527498A (ja) 2008-07-24
JP4944042B2 true JP4944042B2 (ja) 2012-05-30

Family

ID=36143728

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007549545A Expired - Fee Related JP4944042B2 (ja) 2004-12-30 2005-12-23 Soc相互接続において転送待ち時間を低減するための方法および装置

Country Status (9)

Country Link
US (1) US7263566B2 (ja)
EP (1) EP1839167B1 (ja)
JP (1) JP4944042B2 (ja)
KR (1) KR101139188B1 (ja)
CN (1) CN100552656C (ja)
HK (1) HK1109227A1 (ja)
IL (1) IL183998A0 (ja)
MX (1) MX2007007944A (ja)
WO (1) WO2006073927A1 (ja)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7600058B1 (en) 2003-06-26 2009-10-06 Nvidia Corporation Bypass method for efficient DMA disk I/O
US8683132B1 (en) 2003-09-29 2014-03-25 Nvidia Corporation Memory controller for sequentially prefetching data for a processor of a computer system
US8356142B1 (en) 2003-11-12 2013-01-15 Nvidia Corporation Memory controller for non-sequentially prefetching data for a processor of a computer system
US8700808B2 (en) * 2003-12-01 2014-04-15 Nvidia Corporation Hardware support system for accelerated disk I/O
JP2006079394A (ja) * 2004-09-10 2006-03-23 Renesas Technology Corp データ処理装置
US8356143B1 (en) 2004-10-22 2013-01-15 NVIDIA Corporatin Prefetch mechanism for bus master memory access
US7404025B2 (en) * 2005-04-14 2008-07-22 Texas Instruments Incorporated Software programmable dynamically reconfigurable scheme for controlling request grant and masking for ultra high priority accessor during arbitration
US7380040B2 (en) * 2005-04-14 2008-05-27 Texas Instruments Incorporated Software programmable dynamic arbitration scheme
CN101341474B (zh) * 2005-12-22 2012-02-08 Arm有限公司 用于对事务重排序来确保每个事务所规定的服务质量的仲裁方法
US7734853B2 (en) * 2006-02-28 2010-06-08 Arm Limited Latency dependent data bus transmission
US8468283B2 (en) * 2006-06-01 2013-06-18 Telefonaktiebolaget Lm Ericsson (Publ) Arbiter diagnostic apparatus and method
TWI335517B (en) * 2006-08-25 2011-01-01 Via Tech Inc Method of requests access and scheduling and related apparatus thereof
US7596647B1 (en) * 2006-09-18 2009-09-29 Nvidia Corporation Urgency based arbiter
US20080114960A1 (en) * 2006-11-14 2008-05-15 Tau-Li Huang Memory control methods for accessing a memory with partial or full serial transmission, and related apparatus
GB2447688B (en) * 2007-03-22 2011-05-18 Advanced Risc Mach Ltd A data processing apparatus and method for arbitrating between messages routed over a communication channel
US8156273B2 (en) * 2007-05-10 2012-04-10 Freescale Semiconductor, Inc. Method and system for controlling transmission and execution of commands in an integrated circuit device
KR100900980B1 (ko) 2007-07-16 2009-06-04 한국생산기술연구원 디바이스의 응답 지연을 고려한 데이터 전송 시스템 및방법
US7870455B2 (en) * 2007-12-12 2011-01-11 Infineon Technologies Ag System-on-chip with master/slave debug interface
KR100932925B1 (ko) 2007-12-17 2009-12-21 한국전자통신연구원 MMoIP 데이터의 전송 효율을 위한 직접 메모리 접근제어 장치 및 그 방법
US20100070656A1 (en) * 2008-09-12 2010-03-18 Atto Technology, Inc. System and method for enhanced load balancing in a storage system
US8356128B2 (en) * 2008-09-16 2013-01-15 Nvidia Corporation Method and system of reducing latencies associated with resource allocation by using multiple arbiters
US7797476B2 (en) * 2008-09-19 2010-09-14 Texas Instruments Incorporated Flexible connection scheme between multiple masters and slaves
US8370552B2 (en) * 2008-10-14 2013-02-05 Nvidia Corporation Priority based bus arbiters avoiding deadlock and starvation on buses that support retrying of transactions
WO2010052679A1 (en) * 2008-11-10 2010-05-14 Nxp B.V. Resource controlling
CN102428450A (zh) 2009-03-11 2012-04-25 新诺普系统公司 用于资源控制的系统和方法
US8698823B2 (en) 2009-04-08 2014-04-15 Nvidia Corporation System and method for deadlock-free pipelining
GB2478795B (en) * 2010-03-19 2013-03-13 Imagination Tech Ltd Requests and data handling in a bus architecture
GB2484483B (en) * 2010-10-12 2018-07-11 Advanced Risc Mach Ltd Communication using integrated circuit interconnect circuitry
KR20120037785A (ko) * 2010-10-12 2012-04-20 삼성전자주식회사 부하 균형을 유지하는 시스템 온 칩 및 그것의 부하 균형 유지 방법
KR101699781B1 (ko) 2010-10-19 2017-01-26 삼성전자주식회사 시스템 온 칩 및 그것의 데이터 중재 방법
KR101841964B1 (ko) 2011-02-22 2018-05-15 삼성전자주식회사 인터커넥터를 포함하는 시스템 온 칩 및 그것의 제어 방법
JP5715458B2 (ja) * 2011-03-22 2015-05-07 ルネサスエレクトロニクス株式会社 情報処理システム、調停方法
JP6034008B2 (ja) * 2011-09-22 2016-11-30 Necプラットフォームズ株式会社 送信権調停装置、送信権調停制御方法、及びそのためのプログラム
KR102031952B1 (ko) * 2012-03-29 2019-10-14 삼성전자주식회사 메모리 장치 및 메모리 장치의 동작방법
KR101949382B1 (ko) * 2012-04-04 2019-02-18 삼성전자주식회사 서비스 품질의 향상을 위한 시스템 온 칩 및 시스템 온 칩의 제어 방법
US9135195B2 (en) * 2012-07-24 2015-09-15 Freescasle Semiconductor, Inc. Prediction of electronic component behavior in bus-based systems
US9684633B2 (en) * 2013-01-24 2017-06-20 Samsung Electronics Co., Ltd. Adaptive service controller, system on chip and method of controlling the same
JP6037869B2 (ja) * 2013-02-05 2016-12-07 三菱電機株式会社 マルチプロセッサ組込み機器
US9372818B2 (en) * 2013-03-15 2016-06-21 Atmel Corporation Proactive quality of service in multi-matrix system bus
US9569385B2 (en) 2013-09-09 2017-02-14 Nvidia Corporation Memory transaction ordering
KR102396309B1 (ko) * 2015-11-06 2022-05-10 삼성전자주식회사 데이터 요청을 제어하기 위한 장치 및 방법
DE102016011153A1 (de) * 2016-09-14 2018-03-15 Kathrein-Werke Kg Steuerungssystem
US10764455B2 (en) * 2018-12-31 2020-09-01 Kyocera Document Solutions Inc. Memory control method, memory control apparatus, and image forming method that uses memory control method
KR20210103836A (ko) * 2020-02-14 2021-08-24 에스케이하이닉스 주식회사 데이터 처리 장치 및 그 동작 방법
US11893240B2 (en) * 2021-10-28 2024-02-06 Qualcomm Incorporated Reducing latency in pseudo channel based memory systems
WO2023128479A1 (ko) * 2021-12-30 2023-07-06 주식회사 엘엑스세미콘 메모리 제어 시스템 및 메모리 제어 기능을 갖는 디스플레이 디바이스
CN115269467B (zh) * 2022-09-29 2023-01-10 沐曦科技(成都)有限公司 一种总线仲裁的方法、装置、存储介质及电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000207283A (ja) * 1999-01-19 2000-07-28 Advanced Risc Mach Ltd デ―タ処理システムに於けるメモリ制御

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US24987A (en) * 1859-08-09 Hukst
US188809A (en) * 1877-03-27 Improvement in machines for sewing boots and shoes
US5440752A (en) 1991-07-08 1995-08-08 Seiko Epson Corporation Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU
US5848297A (en) 1991-12-30 1998-12-08 Apple Computer, Inc. Control apparatus for maintaining order and accomplishing priority promotion in a computer interconnect
KR0163554B1 (ko) * 1995-08-08 1998-12-15 윤종용 칩의 지연시간을 측정하기 위한 감지회로
US5802330A (en) 1996-05-01 1998-09-01 Advanced Micro Devices, Inc. Computer system including a plurality of real time peripheral devices having arbitration control feedback mechanisms
US5907688A (en) * 1996-06-28 1999-05-25 Intel Corporation Smart arbitration for non-symmetric data streams
US5745913A (en) 1996-08-05 1998-04-28 Exponential Technology, Inc. Multi-processor DRAM controller that prioritizes row-miss requests to stale banks
US6304923B1 (en) * 1998-10-14 2001-10-16 Micron Technology, Inc. Method for prioritizing data transfer request by comparing a latency identifier value received from an I/O device with a predetermined range of values
EP1026595B1 (en) 1999-01-11 2008-07-23 STMicroelectronics Limited Memory interface device and method for accessing memories
EP1170669B1 (en) 2000-07-05 2006-03-29 STMicroelectronics S.r.l. Arbitration method and circuit architecture therefor
JP4022719B2 (ja) * 2001-12-18 2007-12-19 株式会社日立製作所 優先順位制御システム
US6792516B2 (en) * 2001-12-28 2004-09-14 Intel Corporation Memory arbiter with intelligent page gathering logic
US6823411B2 (en) * 2002-01-30 2004-11-23 International Business Machines Corporation N-way psuedo cross-bar having an arbitration feature using discrete processor local busses
KR100456696B1 (ko) * 2002-05-21 2004-11-10 삼성전자주식회사 집적회로장치의 버스중재기
US6907478B2 (en) * 2003-02-18 2005-06-14 Adaptec, Inc. Systems and methods optimizing data transfer throughput of a system on chip
KR100555501B1 (ko) * 2003-06-26 2006-03-03 삼성전자주식회사 동적으로 버스 점유 우선 순위를 정하는 버스 중재기 및그 버스 중재 방법
US7739436B2 (en) * 2004-11-01 2010-06-15 Sonics, Inc. Method and apparatus for round robin resource arbitration with a fast request to grant response

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000207283A (ja) * 1999-01-19 2000-07-28 Advanced Risc Mach Ltd デ―タ処理システムに於けるメモリ制御

Also Published As

Publication number Publication date
US7263566B2 (en) 2007-08-28
KR101139188B1 (ko) 2012-04-26
MX2007007944A (es) 2007-08-21
HK1109227A1 (en) 2008-05-30
EP1839167B1 (en) 2016-06-22
JP2008527498A (ja) 2008-07-24
IL183998A0 (en) 2007-10-31
US20060149874A1 (en) 2006-07-06
EP1839167A1 (en) 2007-10-03
WO2006073927A1 (en) 2006-07-13
CN100552656C (zh) 2009-10-21
KR20070098896A (ko) 2007-10-05
CN101091170A (zh) 2007-12-19

Similar Documents

Publication Publication Date Title
JP4944042B2 (ja) Soc相互接続において転送待ち時間を低減するための方法および装置
JP4861339B2 (ja) スイッチマトリックス経由のデータ転送を改善するフロー制御方法
JP4696024B2 (ja) データ処理装置用相互接続論理
US20050193155A1 (en) Data transfer apparatus and transfer control program
US7689732B2 (en) Method for improving flexibility of arbitration of direct memory access (DMA) engines requesting access to shared DMA channels
US20070038792A1 (en) Systems, methods, and computer program products for arbitrating access to a shared resource based on quality-of-service information associated with a resource request
JP5058167B2 (ja) メモリアクセス要求の遅延アービトレーション
US9984014B2 (en) Semiconductor device
KR100480605B1 (ko) 네트워크 제어기의 송신부 버퍼 및 수신부 버퍼를제어하는 방법 및 네트워크 제어기
US7543093B2 (en) Method and system for stream burst data transfer
US20060253662A1 (en) Retry cancellation mechanism to enhance system performance
US20080195782A1 (en) Bus system and control method thereof
US7080176B2 (en) Bus control device and information processing system
US8301816B2 (en) Memory access controller, system, and method
US8135878B1 (en) Method and apparatus for improving throughput on a common bus
US8239652B2 (en) Data processing system
US20060101173A1 (en) Pin sharing system
US7747806B2 (en) Resource use management device, resource use management system, and control method for a resource use management device
JPH11232215A (ja) バスコントローラ、バスマスタ装置及びバス制御システムの制御方法
JPH06243093A (ja) バス制御システム
US20050149655A1 (en) Bus allocation method and apparatus
JP2020129205A (ja) 制御装置および制御方法
JP2004062333A (ja) 画像処理装置
JP2005107771A (ja) 高スループットデータ転送システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100420

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100713

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100721

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110606

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: 20120131

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120301

R150 Certificate of patent or registration of utility model

Ref document number: 4944042

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: 20150309

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

LAPS Cancellation because of no payment of annual fees