JP4142069B2 - 情報処理装置およびアクセス制御方法 - Google Patents

情報処理装置およびアクセス制御方法 Download PDF

Info

Publication number
JP4142069B2
JP4142069B2 JP2006167642A JP2006167642A JP4142069B2 JP 4142069 B2 JP4142069 B2 JP 4142069B2 JP 2006167642 A JP2006167642 A JP 2006167642A JP 2006167642 A JP2006167642 A JP 2006167642A JP 4142069 B2 JP4142069 B2 JP 4142069B2
Authority
JP
Japan
Prior art keywords
requester
access
unit
access request
token
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
JP2006167642A
Other languages
English (en)
Other versions
JP2007334749A (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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment 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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP2006167642A priority Critical patent/JP4142069B2/ja
Priority to US11/760,858 priority patent/US7617344B2/en
Publication of JP2007334749A publication Critical patent/JP2007334749A/ja
Application granted granted Critical
Publication of JP4142069B2 publication Critical patent/JP4142069B2/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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing

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

本発明は情報処理技術に関し、特に複数のタスクの並列処理においてバスを介したデータ伝送を行う情報処理装置およびそのアクセス制御方法に関する。
近年の情報処理技術の著しい進歩に伴い、高速演算を行う情報処理装置がより身近なものになってきた。現在では、プロセッサの演算速度の向上などに伴い、複数のアプリケーションやタスクを並列に処理できる情報処理装置や電子機器が主流となっている。並列処理では、一般的にはタスクを時分割してプロセッサの処理時間を割り当てたり、各アプリケーションに仮想メモリ領域を割り当てたり、といったことが行われる。複数のタスクに対する処理時間やメモリ容量などの割り当ては、オペレーティングシステム(以下、OSと略す)によって行われる。OSはさらに、複数のタスク処理におけるプロセッサとメモリや入出力装置との間のアクセスの排他制御、同期制御なども行う。
一方、プロセッサの高速化や仮想メモリシステムの導入などによって、大量のデータ処理を高速に行うことが可能となるにつれ、データの伝送に用いられるバス帯域の使用効率の問題が顕在化してきた。例えば3次元グラフィックスの動画を表示するゲームなど、リアルタイム性が重要となるアプリケーションを含めた複数のアプリケーションを実行した場合、画像処理が円滑に行われても、他のアプリケーションによって多量のデータがバスを伝送しているために、当該ゲームの画像データ出力処理が阻害されるなどといったことが起こりうる。
これを解決するための一手法として、優先度の高いタスクに対して高い頻度でバスの使用権を与える技術が提案されている(例えば特許文献1参照)。ここではデータ伝送要求を発行する前に、「トークン」と呼ばれる発行許可を得る処理がなされる。トークンはデータ伝送要求の発行元のユニットごとにあらかじめ決められたレートを上限として付与されるため、優先度の低いタスクのデータ伝送のレートを低く設定することにより、他のタスク処理への影響を軽減する。
米国出願公開US2005/0138621号
一方で、処理の高速化に対する要請は留まることを知らず、より安価かつ実装面積を増やすことなく高速化を実現できる技術が望まれている。しかしながら、例えば上記のようにバス帯域を効率的に使用する技術においても、トークンを付与するという処理によってレイテンシが発生し、処理時間の遅延に繋がる可能性があることを本発明者は認識した。
本発明はこのような課題に鑑みてなされたものであり、その目的は複数のタスク処理におけるバスの使用を、適応的かつ効率的に行うことのできる技術を提供することにある。
本発明のある態様は情報処理装置に関する。この情報処理装置は、リソースへのアクセス要求の発行許可を求める複数のリクエスタユニットと、アクセス要求が所定のレートで発行されるように制御したうえでリクエスタユニットに発行許可を出す発行レート制御部と、発行許可を得たアクセス要求を受け付け蓄積し、順次アクセスを実現するアクセス処理部と、を備え、アクセス処理部におけるアクセス要求の蓄積量が所定の第1のしきい値以下であるとき、複数のリクエスタユニットの少なくとも一部を、発行レート制御部による制御と独立にアクセス要求を発行する優先リクエスタユニットとすることを特徴とする。
ここで「リクエスタユニット」および「リソース」はプロセッサ、メモリ、入出力装置など情報処理装置に搭載された一般的なハードウェアモジュールでもよいし、それらを物理的、または仮想的に区分けしたそれぞれ、およびそれらの組み合わせでもよい。またプロセス、タスク、スレッドなど実行される処理単位としてもよく、アクセスの発行元、またはアクセス先として機能する何らかの処理単位に対応すればよい。
本発明の別の態様はアクセス制御方法に関する。このアクセス制御方法は、リクエスタユニットがリソースへのアクセス要求を所定のレートで発行するステップと、アクセス要求を蓄積し、順次アクセスを実現するステップと、を含み、発行するステップは、アクセス要求の蓄積量が所定のしきい値以下であるとき、当該所定のレートで定まるタイミング以外のタイミングでも、アクセス要求を発行することを特徴とする。
本発明の別の態様はアクセス制御方法に関する。このアクセス制御方法は、トークンを取得したリクエスタユニットがリソースへのアクセス要求を発行するステップと、アクセス要求を蓄積し、順次アクセスを実現するステップと、を含み、アクセス要求の蓄積量が所定のしきい値以下であるときは、トークンを取得していないリクエスタユニットがリソースへのアクセス要求を発行するステップをさらに含むことを特徴とする。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、複数のタスクの並列処理においてユニット間のアクセスを効率的に行うことができる。
(実施の形態1)
図1は本実施の形態における情報処理装置の構成を示している。情報処理装置100はロードされたアプリケーションやOSを実行するプロセッサユニット10、実行中のプログラムや実行に必要なデータを記憶するメモリ18、メモリ18に対するアクセスを制御するメモリコントローラ16、ユーザからの入力受け付けやデータ出力などを行う第1入出力装置22aおよび第2入出力装置22b、第1入出力装置22aおよび第2入出力装置22bに対するアクセスをそれぞれ制御する第1入出力装置コントローラ20aおよび第2入出力装置コントローラ20b、メモリ18や第1入出力装置22a、第2入出力装置22bへのアクセス要求に対するトークンを管理するトークンマネージャ12を含む。トークンについては後に詳述する。
プロセッサユニット10、メモリ18、第1入出力装置22a、第2入出力装置22bの間のデータ伝送は、バス14を介して行われる。実際には各ユニット間のデータ伝送路、またはデータの往路、復路としてそれぞれ専用のバスを設けてよいが、ここでは簡単のため一の線で示している。各ユニット間のデータ伝送で使用できるバス14のバス帯域は、あらかじめシミュレーションなどによって個々に設定しておく。その値は、ユニットの接続状況などに応じて複数の設定から適宜選択できるようにしてもよい。また本実施の形態における各ユニットとバス14との接続関係は図1に示したものに限定されず、各ユニットがここで述べる機能を実現できればよい。
第1入出力装置22a、第2入出力装置22bはキーボード、マウスなどの入力装置、ハードディスクドライブ、DVD(Digital Versatile Disk)やCD(Compact Disk)などの記録媒体の読取装置、表示装置、プリンタ、グラフィックプロセッサなどの各種プロセッサユニット、ブリッジチップ、ネットワーク用のチップなどのいずれか、またはそれらの組み合わせでよい。したがって入出力装置の数は限定されないが、図1および以後の説明では簡単のためそれらの入出力装置を第1入出力装置22a、第2入出力装置22bとして代表させる。同様に、各入出力装置に対応する入出力装置コントローラを第1入出力装置コントローラ20a、第2入出力装置コントローラ20bで代表させる。
本実施の形態におけるプロセッサユニット10は、複数のタスクを並列に処理する。各タスクは時分割され、それぞれに対しプロセッサユニット10における処理時間を割り当てることにより順次処理される。プロセッサユニット10は複数のプロセッサ(図示せず)からなる構成でもよい。このときは例えば、複数のプロセッサのうちの1つを制御用プロセッサと位置づけ、他のプロセッサによるタスク処理のスケジューリングや切り替えを制御する。
第1入出力装置コントローラ20aは、プロセッサユニット10や別の入出力装置コントローラ、すなわち第2入出力装置コントローラ20bからのアクセス要求を受け付け、対応する第1入出力装置22aと、プロセッサユニット10や別の入出力装置、すなわち第2入出力装置22bとの間におけるデータの送受を実施する。さらに第1入出力装置コントローラ20aは、対応する第1入出力装置22aからメモリ18や他の入出力装置、すなわち第2入出力装置22bへのアクセス要求も行う。アクセス確立によるデータの送受は、第1入出力装置22aに接続されたバス26aを介して行われる。
第2入出力装置コントローラ20bは、プロセッサユニット10や別の入出力装置コントローラ、すなわち第1入出力装置コントローラ20aからのアクセス要求を受け付け、対応する第2入出力装置22bと、プロセッサユニット10や別の入出力装置、すなわち第1入出力装置22aとの間におけるデータの送受を実施する。さらに第2入出力装置コントローラ20bは、対応する第2入出力装置22bからメモリ18や他の入出力装置、すなわち第1入出力装置22aへのアクセス要求も行う。アクセス確立によるデータの送受は、第2入出力装置22bに接続されたバス26bを介して行われる。
メモリ18はDRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)など一般的に用いられるメモリで構成してよい。メモリコントローラ16は、プロセッサユニット10や第1入出力装置コントローラ20a、第2入出力装置コントローラ20bからメモリ18へのアクセス要求を受け付け、プロセッサユニット10や第1入出力装置22a、第2入出力装置22bとメモリ18との間におけるデータの送受を実施する。データの送受は、メモリ18に接続されたバス24を介して行われる。
トークンマネージャ12はプロセッサユニット10からメモリ18または第1入出力装置22a、第2入出力装置22bへのアクセス要求、第1入出力装置コントローラ20aからメモリ18または第2入出力装置22bへのアクセス要求、および第2入出力装置コントローラ20bからメモリ18または第1入出力装置22aへのアクセス要求の発行を許可するか否かを決定する。ここでアクセス要求は所定の書き込み/読み出しデータサイズごとに行う。すなわちアクセス先のメモリ18、第1入出力装置22a、または第2入出力装置22bから読み出されるデータ、またはそれらへ書き込まれるデータは、同一サイズのパケットとしてそれぞれに接続されたバス、すなわちバス24、バス26a、バス26bに送られる。
1度のアクセス要求で伝送されるデータのサイズが同一であれば、アクセス要求を許可する最大レートを調整することによって、アクセス要求発行元が使用するバス帯域を制限することができる。そして各アクセス要求発行元が使用できる最大バス帯域の合計が、データが伝送するバスのバス帯域を越えないように、最大レートをそれぞれ設定すれば、全ての要求発行元が望ましい割合でバス帯域をシェアすることが可能となる。
そこでトークンマネージャ12にはあらかじめ、アクセス要求の発行元ごとに、それぞれのバスを介したアクセス要求を許可する最大レートを設定しておく。バス帯域の制限を、最大レートによって生成されるトークンとして実体化し、トークンを取得した発行元のみがアクセス要求を発行できるようにする。実装されたバス帯域がアクセス先ごとに異なる場合は、バス帯域に対応したトークンの生成レートを、アクセス先ごとに設定する。
これにより、例えば優先度の低いタスクによってバス帯域が占領され、リアルタイム性を要求されるタスクの、メモリ18や第1入出力装置22a、第2入出力装置22bへのアクセスが阻害される、といったことが発生しにくくなる。
ここでトークンマネージャ12の処理についてさらに詳しく説明する。図2はプロセッサユニット10または第1入出力装置コントローラ20a、第2入出力装置コントローラ20bによるメモリ18へのアクセス要求に係るトークンマネージャ12およびメモリコントローラ16における処理手順を説明する図である。同図ではメモリ18へのアクセス要求を説明するため、メモリコントローラ16のみが示されているが、第1入出力装置22a、または第2入出力装置22bへのアクセス要求であれば、メモリコントローラ16に代わり第1入出力装置コントローラ20a、または第2入出力装置コントローラ20bがそれぞれ同様の処理を行う。以後の説明においても理解を容易にするためメモリコントローラ16を例に説明するが、第1入出力装置コントローラ20aまたは第2入出力装置コントローラ20bに置き換えることも可能である。したがって以後の説明で制御対象となる使用バス帯域は、メモリ18に接続されたバス24のバス帯域であるが、これも第1入出力装置22aに接続されたバス26a、または第2入出力装置22bに接続されたバス26bのバス帯域に適宜置き換えることができる。
図2において、様々な処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU、メモリ、その他のLSIで構成することができ、ソフトウェア的には、要素間でのデータの送受を実現するプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
例えば第1リクエスタ30aから第nリクエスタ30nのn個のリクエスタは、プロセッサユニット10に含まれるプロセッサや第1入出力装置コントローラ20a、第2入出力装置コントローラ20bに対応してもよいし、情報処理装置100において処理されるプロセスやタスクごとに割り当てられた、プロセッサの仮想的な区画などに対応してもよい。いずれにしろ第1リクエスタ30a〜第nリクエスタ30nは、メモリ18へのアクセス要求を発行する発行元となりうる要素の単位とする。
トークンマネージャ12は、トークンを所定のレートで生成するトークン生成部36および、アクセス要求の発行許可を求めた第1リクエスタ30a〜第nリクエスタ30nのそれぞれに対し、生成したトークンを付与するトークン付与部34を含む。トークン生成部36におけるトークンの生成レートはリクエスタごとに異なる。あるいは、第1リクエスタ30a〜第nリクエスタ30nをその重要性や処理態様などに鑑みグルーピングし、グループごとに生成レートを異ならせてもよい。例えばグラフィックス処理を行う第1リクエスタ30aおよび第2リクエスタ30b、文書処理を行う第3リクエスタ30cおよび第4リクエスタ30dなどによってアクセス先に偏りがあったりアクセス頻度に特徴があったりする場合があるため、グルーピングによって適正な生成レートを設定することにより、リソースをより効率的に使用することが可能となる。
前者の場合、第1リクエスタ30a〜第nリクエスタ30nのそれぞれに対し、専用のトークンが、それぞれのレートで生成される。後者の場合、グループごとに専用のトークンがそれぞれのレートで生成され、同じグループに所属するリクエスタ、例えば第1リクエスタ30aおよび第2リクエスタ30bがそのトークンを分け合う。なお以後の説明では、第1リクエスタ30a〜第nリクエスタ30nをリクエスタのグループと置き換えてもよい。各リクエスタとトークンの生成レートとの対応はトークンマネージャ12の図示しないレジスタにあらかじめ設定しておく。生成レートは各リクエスタの特徴や重要性などに鑑み、実験やシミュレーションにより決定できる。
トークン生成部36は生成したトークンを、次の生成周期が到来するまで保持しておく。そしてその間に第1リクエスタ30a〜第nリクエスタ30nのいずれかから要求があった場合は、トークン付与部34から要求元のリクエスタへトークンが付与される。要求がなかった場合は、次の生成周期が到来した際、保持していたトークンを破棄し、新たなトークンを生成する。このとき、場合によってはトークンが不足している別のリクエスタに余分となったトークンを譲渡してもよい。
メモリコントローラ16は、トークンを付与されたリクエスタがメモリ18へのアクセス要求を発行した際、当該要求を蓄積していくコマンドキュー32を含む。メモリコントローラ16は、コマンドキュー32に蓄積された要求を順次処理することにより、メモリ18と要求発行元のリクエスタとの間のアクセス処理、すなわちバス14および24を介したデータ伝送を実施する。
次に図2に示した例に基づき、アクセス処理を実現する手順を説明する。まず第1リクエスタ30a〜第nリクエスタ30nのうち、第4リクエスタ30dにおいてメモリ18へのアクセスの必要が生じたとする。このときまず第4リクエスタ30dは、トークンマネージャ12に対しアクセス要求を発行したい旨の通知を行い、トークンを請求する(S40)。この通知には第1リクエスタ30a〜第nリクエスタ30nを識別する情報を含める。
トークン付与部34はリクエスタの識別情報に基づき、第4リクエスタ30dに付与できるトークンの有無を確認する。そしてトークンがあれば、それを要求元の第4リクエスタ30dに付与する(S42)。ここで、第4リクエスタ30dに対するトークン、あるいは第4リクエスタ30dの属するグループに対するトークンが、トークン生成の1周期内ですでに別の要求により使われてしまっている場合は、トークン生成部36において次にトークンが生成されるまで付与の処理を待機する。
第4リクエスタ30dはトークンを取得した場合に限り、メモリコントローラ16に対しメモリ18へのアクセス要求を発行することができる(S44)。アクセス要求には読み出し又は書き込みのコマンドと、それに必要なアドレス情報などを含める。メモリコントローラ16は、当該アクセス要求を受け付け、コマンドキュー32に蓄積する。そして先に蓄積したアクセス要求から順次アクセス処理を実施していく。
以上の処理により、例えば第4リクエスタ30dが連続してメモリ18に対しアクセスをしようとしても、実際にアクセス要求を発行できるのは所定のレート以下となるため、他のリクエスタが実行中の優先されるべき処理に支障をきたすといった事態の発生を抑制することができる。
一方で、トークンを導入することにより新たなオーバヘッドが発生しうる。例えば上記の手順によって、トークンマネージャ12が第4リクエスタ30dからのトークンの要求を受け付け、トークンを付与するまでには、使用されていないトークンが存在する場合であっても、トークンマネージャ12内の各処理によりレイテンシが発生する。さらに第4リクエスタ30d内部でも、トークンを要求するための処理によりレイテンシが発生する。
さらに、複数のリクエスタ、または異なるグループに属するリクエスタが、それぞれのトークンを取得して、同じメモリ18へのアクセス要求をメモリコントローラ16にほぼ同時に発行するような場合、メモリコントローラ16ではそれらの要求の受け付け処理を順次行うためのレイテンシが生じる。
そこで本実施の形態ではコマンドキュー32に蓄積されたアクセス要求の数に応じてトークンを生成するレートを変化させる。このため、蓄積量に関する情報を、メモリコントローラ16からトークンマネージャ12に送信する(S46)。具体的には蓄積量が小さい段階においては、実装されたバス帯域を超過するレート、例えば200%以上のレートでトークンを生成し、超過分のトークンはどのリクエスタでも取得できるようにする。これにより、トークン付与やアクセス要求の受け付け処理によるアクセス処理のオーバヘッドを抑制することができる。
図3はコマンドキュー32におけるアクセス要求の蓄積量に設定するレベルを説明する図である。同図のコマンドキュー32においてアクセス要求の蓄積量qは、最下位がq=0、すなわちアクセス要求が蓄積されていない状態、最上位がコマンドキュー32に蓄積できる最大量q=Qmaxが蓄積されている状態とする。そして図に示すようにq=Q1、q=Q2(0<Q1<Q2<Qmax)という2つのしきい値を設定する。以後の説明では蓄積量qが0≦q≦Q1なる範囲を「レベル0」、Q1<q≦Q2なる範囲を「レベル1」、Q2<q≦Qmaxなる範囲を「レベル2」と呼ぶ。
まず、第1リクエスタ30a、第2リクエスタ30b、・・・、第nリクエスタ30nに対するトークンの生成レート(単位時間当たりに生成するトークンの数)をそれぞれR1、R2、・・・、Rn(トークン/秒)としたとき、第1リクエスタ30a〜第nリクエスタ30nが最大限のアクセスを行ったときに使用されるバス帯域が実装されたバス帯域B(バイト/秒)と等しくなるように生成レートを設定する。すなわち、1度のアクセス処理で伝送されるデータサイズをD(バイト/トークン)とすると、
(R1+R2+・・・+Rn)×D=B (式1)
となるように、生成レートR1、R2、・・・、Rnを設定する。
次にレベル0では上述のとおり、実装されたバス帯域を超過したレートでトークンを生成する。すなわち、全トークンの生成レートの合計をR(トークン/秒)とすると、
R×D>B (式2)
となるようなレートRでトークンを生成する。例えばバス帯域の200%のレートとすると、R=2B/Dと設定される。ここで超過分の生成レートRo(トークン/秒)、すなわち
Ro=Rー(R1+R2+・・・+Rn) (式3)
で生成されるトークンは、未割り当てトークンとし、トークンを要求したリクエスタのいずれに付与してもよいこととする。
これにより、要求のあったトークンが生成されるまでの待機時間が解消する場合が増え、トークン要求から付与までに要する時間が全体的に少なくなる。したがって、コマンドキュー32におけるアクセス要求の蓄積量が少なく、トークン付与処理やアクセス要求受け付け処理などに起因して、アクセス処理にオーバヘッドが発生する可能性が高い状況において、トークン付与処理を迅速に行うことができる。また、一時的にアクセス要求の発行レートが増えるため、蓄積量が少ない状況自体を早急に脱することができる。
レベル1では未割り当てトークンの生成を行わず、第1リクエスタ30a〜第nリクエスタ30nに対するトークンを式1に示すようなレートでそれぞれ生成する。これにより、第1リクエスタ30a〜第nリクエスタ30nが適正な割合でバス帯域を確保することができ、バス帯域の不足によってアクセス処理が著しく遅延することがなくなる。また、レベル0と比較してコマンドキュー32におけるアクセス要求の蓄積速度が遅くなるため、蓄積量qがq=Qmaxへ到達してメモリコントローラ16がアクセス要求を受け付けられなくなる可能性を抑制することができる。メモリコントローラ16がアクセス要求を受け付けられなくなると、第1リクエスタ30a〜第nリクエスタ30nがアクセス要求を再発行するためにさらなる時間を要し、アクセスの実施が大きく遅れる可能性がある。
レベル2では全トークンの生成を停止する。これにより、その段階でトークンを取得済みのリクエスタ以外はアクセス要求を発行できなくなる。そのためリクエスタは、一度発行したアクセス要求を受け付けられずに、アクセス要求を再発行しなければならない状況が発生しにくくなり、上述のようなレイテンシの発生を抑制することができる。
図4は図3に示したコマンドキュー32の構造に基づき、トークンマネージャ12のトークン生成部36が実行するトークン生成スキームの例を示している。まず、コマンドキュー32の蓄積量がレベル0、レベル1、レベル2の境界のいずれかを越えた際、図2のS46に示したように、メモリコントローラ16からトークンマネージャ12へその旨の通知信号が送信される。トークンマネージャ12はその通知信号に基づき、内部に設けられたレジスタ(図示せず)に、現在のコマンドキュー蓄積量のレベルを書き込んでおく。
そしてトークン生成部36は、トークン生成周期ごとに当該レジスタを確認する。レジスタの値がレベル0を示していたら(S10のY)、未割り当てトークンを含み、実装されたバス帯域の200%に対応するレートでトークンを生成する(S12)。すなわち、第1リクエスタ30a〜第nリクエスタ30nに対するトークンの合計を実装されたバス帯域の100%分、さらに未割り当てトークンをバス帯域の100%分生成する。なお、この割合は例示であり、実装されたバス帯域と等価なレートより多いレートで全トークンが生成されればよい。全トークンの生成レートや、全トークンのうちの未割り当てトークンの占める割合は、コマンドキュー32の容量やアクセス要求の蓄積速度などによって最適な値を、実験やシミュレーションなどにより適宜求める。
レジスタの値がレベル1を示していたら(S14のY)、未割り当てトークンの生成を停止し、第1リクエスタ30a〜第nリクエスタ30nのそれぞれに対するトークンのみを、実装されたバス帯域の100%と対応するレートで生成する(S16)。
レジスタの値がレベル0、レベル1のいずれでもない場合(S10のN、S14のN)、すなわちレジスタの値がレベル2を示している場合は、全トークンの生成を停止する(S18)。
なお、図4の説明では本実施の形態をトークン生成部36の動作で実現した場合を示したが、同様の制御をトークン付与部34の動作で実現してもよい。すなわち、トークン生成部36では、未割り当てトークンを含むトークンを、実装されたバス帯域の200%に対応するレートで常時生成する。そして、リクエスタからトークンの要求を受け付けた際、トークン付与部34はレジスタの値を確認する。レベル0においては、要求元のリクエスタに対する専用トークンが存在しない場合、未割り当てトークンを当該リクエスタに付与する。レベル1の場合は、未割り当てトークンは付与しない。レベル2ではトークンの付与を停止する。
以上述べた本実施の形態によれば、メモリコントローラ16や、第1入出力装置コントローラ20a、あるいは第2入出力装置コントローラ20bへのアクセス要求の、コマンドキューにおける蓄積量にしきい値を設ける。そして蓄積量が0からあるしきい値までの範囲であるとき、すなわち蓄積量が少ないときは、最大使用バス帯域が実装されたバス帯域を越えるようなレートでトークンを生成する。これにより、トークンの付与に要する時間が削減されるとともに、コマンドキュー32におけるアクセス要求の蓄積速度が上昇し、メモリコントローラ16や、第1入出力装置コントローラ20a、あるいは第2入出力装置コントローラ20bにおいてアクセス要求の受け付けが重なった場合に発生するレイテンシを吸収できる。結果として、メモリ18や第1入出力装置22a、あるいは第2入出力装置22bに対してアクセスを行うためのトークン付与、アクセス要求受け付けといった処理に起因して発生するオーバヘッドを抑制できる。
また前述したしきい値を超え蓄積量が十分ある場合は、実装されたバス帯域と等価なレートでトークンを生成し、各リクエスタに割り当てる。これによりトークン付与処理やアクセス要求の受け付けによりレイテンシが発生しても、その間にメモリコントローラ16や第1入出力装置コントローラ20a、あるいは第2入出力装置コントローラ20bで処理されるべきアクセス要求はコマンドキュー32に蓄積されている。したがってオーバヘッドを増加させることなく、適正なバス帯域の割り当てを行うことができる。
また本実施の形態はOSにおいて新たな設定を加えることによって実現できるため、新たな回路の導入やバス帯域の増強といったハードウェアによるアプローチと異なり、安価かつ実装面積に影響を与えることなく汎用的に実施が可能である。
(実施の形態2)
実施の形態1では、コマンドキュー32におけるアクセス要求の蓄積量によって、トークンの生成レートまたはトークンの付与レートをバス帯域を超過した値から段階的に減少させていくことにより、アクセス処理におけるオーバヘッドの発生を抑制した。本実施の形態では、コマンドキュー32におけるアクセス要求の蓄積量が少ない状況においてトークンの付与処理を省略できる場合を設け、さらにオーバヘッドの発生を抑制する。本実施の形態は、図1で示した情報処理装置100と同様の構成、および、図2において説明したアクセス処理手順と同様の手順で実現することができる。以後、主に実施の形態1と異なる点を説明する。
トークンは第1リクエスタ30a〜第nリクエスタ30nの特徴や優先度などに鑑みバス帯域の使用レートを調停するために導入される。したがって、各リクエスタによるアクセス要求が重なり、バス帯域が不足する傾向にあるときにより効果を発揮する。一方、コマンドキュー32におけるアクセス要求の蓄積量が少ない場合、トークンによってバス帯域の使用を厳密に調停しなくても、各アクセス処理が円滑に行われる可能性が高いことに本発明者は想到した。
そこで実施の形態1で示したトークン生成レートのためのレベル分けとは別のレベル分け、すなわちトークンの付与処理を省略するためのレベル分けを導入する。さらに各リクエスタに優先度を設定し、新たに導入したレベルによってトークンの付与処理を省略してよいリクエスタの数を変化させる。
図5は本実施の形態のコマンドキュー32におけるアクセス要求の蓄積量に設定するレベルを説明する図である。アクセス要求の蓄積量qにQ1、Q2なるしきい値を設ける点は実施の形態1と同様である。これらのしきい値に対するトークンマネージャ12の動作の変化も実施の形態1と同様に行う。ただし、以後の説明では便宜上、蓄積量qが0≦q≦Q1なる範囲を「生成レベル0」、Q1<q≦Q2なる範囲を「生成レベル1」、Q2<q≦Qmaxなる範囲を「生成レベル2」と呼ぶ。
一方、本実施の形態では、アクセス要求の蓄積量qに、さらにS1、S2(0<S1<S2<Q1)なるしきい値を設ける。以後の説明では蓄積量qが0≦q≦S1なる範囲を「スキップレベル0」、S1<q≦S2なる範囲を「スキップレベル1」、S2<q≦Qmaxなる範囲を「スキップレベル2」と呼ぶ。図から明らかなように、本実施の形態ではアクセス要求の蓄積量は、スキップレベルと生成レベルの2種類のレベルで表現される。
図5では、しきい値S1およびS2、すなわちスキップレベルの境界のいずれも、生成レベル0に含まれている。このときはスキップレベルが変化しても、トークン生成部36では実施の形態1のレベル0の場合と同様、式2で表されるバス帯域を超過した所定のレートRで未割り当てトークンと各リクエスタに対するトークンが生成されているものとする。したがって以後の説明ではスキップレベルの変化に対する情報処理装置100の動作の変化のみを説明する。ただし、スキップレベルの境界は生成レベル0内に限定されず、スキップレベルによる動作の変化と、生成レベルによる動作の変化を適宜組み合わせてよい。
図6は第1リクエスタ30a〜第nリクエスタ30nのそれぞれに設定される優先度と、スキップレベルとに応じた、トークン付与処理省略のルールを示すテーブルである。以後、トークン付与処理を省略できるリクエスタにはトークンに変わり、フリーパス(以後、FPと呼ぶ)を付与する、として説明する。FP付与ルールテーブル50は、リクエスタに付与される優先度を示した優先度欄52、およびスキップレベルを示したスキップレベル欄54を含む。これを参照することによりそれぞれのスキップレベルにおいて各リクエスタにFPを付与するか省略を無効とするかを一意に決定する。FP付与ルールテーブル50はトークンマネージャ12の図示しないレジスタやメモリ18などに記憶しておく。
同図では優先度欄52に2〜0までの優先度が設定されている。ここでは優先度2を高優先度、優先度0を低優先度とする。優先度が高いリクエスタはスキップレベル0およびスキップレベル1の、より広い範囲で、FPを付与される。FPが付与されている間は、トークンの取得を省略してメモリコントローラ16や第1入出力装置コントローラ20a、あるいは第2入出力装置コントローラ20bへアクセス要求を発行できる。一方、優先度が低いリクエスタは、いかなる場合でもFPは付与されず、トークンを取得した場合にのみアクセス要求を発行する。優先度が中間の場合は、優先度が高い場合より狭い範囲、例えばスキップレベル0のときのみ、FPを付与される。
ここで優先度は第1リクエスタ30a〜第nリクエスタ30nのそれぞれに対し設定してもよいし、トークンの発生レートをリクエスタのグループごとに設定している場合などは、そのグループごとに設定してもよい。優先度は第1リクエスタ30a〜第nリクエスタ30nやそのグループの重要度や処理の特徴などに鑑み実験やシミュレーションにより決定し、トークンマネージャ12内部の図示しないレジスタに設定する。または第1リクエスタ30a〜第nリクエスタ30n内のレジスタ、あるいはプログラム内で設定してもよい。
「FPの付与」は実際には次のように行われる。メモリコントローラ16、第1入出力装置コントローラ20a、あるいは第2入出力装置コントローラ20bは、コマンドキュー32の蓄積量がスキップレベル0、スキップレベル1、スキップレベル2の境界のいずれかを越えた際、実施の形態1の図2におけるS46に示したように、トークンマネージャ12へその旨の通知信号を送信する。トークンマネージャ12はその通知信号に基づき、内部に設けられたレジスタ(図示せず)に、現在のスキップレベルを書き込む。
さらにトークンマネージャ12はスキップレベルに基づきFP付与ルールテーブル50を参照して各リクエスタにFPを付与するか、無効とするかを決定する。FPを付与する場合は、メモリ18に各リクエスタに対応して設けられたフラグ、または各リクエスタが有するレジスタに用意されたフラグなどを「1」などとセットする。FPを無効とする場合は当該フラグを「0」などとリセットする。あるいは第1リクエスタ30a〜第nリクエスタ30nがそれぞれ、アクセス要求を行う際などに現在のスキップレベルとFP付与ルールテーブル50を確認して、自らのフラグを書き換えてもよい。
図7は本実施の形態において第1リクエスタ30a〜第nリクエスタ30nが行うアクセス要求発行手順を示している。まずメモリ18、第1入出力装置コントローラ20a、あるいは第2入出力装置コントローラ20bにアクセスを行う必要が生じた場合、第1リクエスタ30a〜第nリクエスタ30nは自分がFPを取得しているかどうかを確認する(S30)。上述のとおりこの処理は実際には、メモリ18などに用意されたフラグが「1」とセットされているか「0」とセットされているかを確認する。FPを取得していたら(S30のY)、当該リクエスタはメモリコントローラ16、第1入出力装置コントローラ20a、あるいは第2入出力装置コントローラ20bに直接アクセス要求を発行する(S36)。
FPを取得していなかったら(S30のN)、実施の形態1で説明したのと同様、トークンマネージャ12にトークンを要求する(S32)。そしてトークンマネージャ12がトークン生成、付与に係る必要な処理を行うことによりトークンが取得できたら(S34)、要求元のリクエスタはメモリコントローラ16、第1入出力装置コントローラ20a、あるいは第2入出力装置コントローラ20bにアクセス要求を発行する(S36)。
図8は本実施の形態においてトークンマネージャ12が、第1リクエスタ30a〜第nリクエスタ30nに順次FPを付与していくスキームの例を示している。メモリコントローラ16、第1入出力装置コントローラ20a、あるいは第2入出力装置コントローラ20bからのスキップレベルの変更を通知する信号を受けると、トークンマネージャ12はそのスキップレベルを当該通知信号または一旦その情報を書き込んだレジスタの値により確認する。スキップレベル0であったら(S40のY)、次は付与対象となるリクエスタの優先度を確認する。
優先度1(S42のY)または優先度2であったら(S42のNおよびS46のY)、図6のFP付与ルールテーブル50に基づき、FPを付与する(S50)。FPの付与は上述のとおり、対象となるリクエスタのフラグをセットすることによって行われる。優先度0であったら(S46のN)、FP付与ルールテーブル50に基づき、FPを無効にし、フラグをリセットする(S48)。
同様に、スキップレベル1で(S40のNおよびS44のY)、優先度2であったら(S46のY)、FPを付与する(S50)。それ以外の場合(S44のYおよびS46のN、S44のN)はFPを無効とする(S48)。以上の処理を、全てのリクエスタ、第1リクエスタ30a〜第nリクエスタ30nに対して行い(S52のY)、FPの付与、無効を更新する。
以上述べた本実施の形態によれば、メモリコントローラ16や第1入出力装置コントローラ20a、あるいは第2入出力装置コントローラ20bのコマンドキュー32におけるアクセス要求の蓄積量に2系統のしきい値を設ける。第一の系統は実施の形態1と同様、トークンの生成レートを変化させるしきい値であり、第二の系統はトークンの取得処理を省略するためのしきい値である。第一の系統においてトークンの生成レートがバス帯域を越える態様を設けることにより、実施の形態1で説明したのと同様、トークン付与処理におけるレイテンシを削減できる。さらにアクセス要求が重なった際のメモリコントローラ16や第1入出力装置コントローラ20a、あるいは第2入出力装置コントローラ20bの受け付け処理におけるレイテンシを、コマンドキュー32におけるアクセス要求の蓄積量を十分に保つことにより吸収する。結果として、アクセス処理が実施されるまでのオーバーヘッドを軽減することができる。
さらに第2の系統において特定のリクエスタに対しトークンを取得せずにアクセス要求の発行を許す態様を設けることにより、トークン付与に要する処理時間やリソースを節約することができる。
トークンの取得を省略するのは、バス帯域が比較的空いている状況下であるため、トークンによる使用バス帯域の調停機能が一部省略されることによる影響は発生しにくい。さらにバス帯域が空いている状況においても、優先度の低いリクエスタにはトークンの取得が課せられるため、そのようなリクエスタのアクセス要求が集中して他のリクエスタのアクセス処理が滞る状況は発生しにくい。そのうえでトークン付与処理を省略するため、トークン導入の効果を確保しながらアクセスの実施までのオーバーヘッドをさらに軽減することができる。またバス帯域を有効に利用することができる。また実施の形態1と同様、導入コストや実装面積の点で有利に導入することができる。
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
例えば実施の形態2では、FPが付与されているか無効かをリクエスタ自信が確認し、その結果によってトークンマネージャ12へトークンを要求するか、トークンの要求をせずにメモリコントローラ16などへアクセス要求を発行するかを決定した。一方、全てのリクエスタ、第1リクエスタ30a〜第nリクエスタ30nはいったんトークンマネージャ12へトークンを要求し、トークンマネージャ12において、FPが付与されているリクエスタを識別するようにしてもよい。このときFPが付与されているリクエスタには、常時用意されている特殊なトークンを付与してすぐにアクセス要求の発行許可を出す。これにより、第1リクエスタ30a〜第nリクエスタ30nの動作についてはFPの導入のない場合から変更することなく、実施の形態2と同様の効果を達成することができる。
また、実施の形態2では生成レベルとスキップレベルという二つのレベル分けにより、トークンの生成レートおよびトークン付与処理を省略するリクエスタを変化させたが、スキップレベルのみを導入してもよい。この場合も、トークン付与に要する処理時間やリソースを節約することができ、オーバーヘッドの軽減、バス帯域の有効利用といった効果を安価に得ることができる。
実施の形態1における情報処理装置の構成を示す図である。 実施の形態1のメモリへのアクセス要求に係るトークンマネージャおよびメモリコントローラにおける処理手順を説明するための図である。 実施の形態1において、コマンドキューにおけるアクセス要求の蓄積量に設定するレベルを説明する図である。 実施の形態1におけるトークン生成部が実行するトークン生成スキームの例を示す図である。 実施の形態2において、コマンドキューにおけるアクセス要求の蓄積量に設定するレベルを説明する図である。 実施の形態2において、リクエスタの優先度とスキップレベルとに応じた、トークン付与処理省略のルールを示すテーブルである。 実施の形態2においてリクエスタが行うアクセス要求発行手順を示すフローチャートである。 実施の形態2においてトークンマネージャが、各リクエスタに順次FPを付与していくスキームの例を示すフローチャートである。
符号の説明
10 プロセッサユニット、 12 トークンマネージャ、 14 バス、 16 メモリコントローラ、 18 メモリ、 20a 第1入出力装置コントローラ、 20b 第2入出力装置コントローラ、 22a 第1入出力装置、 22b 第2入出力装置、 30n 第nリクエスタ、 32 コマンドキュー、 34 トークン付与部、 36 トークン生成部、 50 FP付与ルールテーブル、 100 情報処理装置。

Claims (10)

  1. リソースへのアクセス要求の発行許可を求める複数のリクエスタユニットと、
    前記アクセス要求が所定のレートで発行されるように制御したうえで前記リクエスタユニットに発行許可を出す発行レート制御部と、
    発行許可を得た前記アクセス要求を受け付け蓄積し、順次アクセスを実現するアクセス処理部と、
    を備え、
    前記アクセス処理部における前記アクセス要求の蓄積量が所定の第1のしきい値以下であるとき、前記複数のリクエスタユニットの少なくとも一部を、前記発行レート制御部による制御と独立に前記アクセス要求を発行する優先リクエスタユニットとすることを特徴とする情報処理装置。
  2. 前記アクセス処理部における前記アクセス要求の蓄積量は、あらかじめ前記第1のしきい値以下の範囲で複数のレベルに区分けされ、前記優先リクエスタユニットの数は、前記レベルによって変化することを特徴とする請求項1に記載の情報処理装置。
  3. 前記レベルごとに前記優先リクエスタユニットを指定するテーブルを記憶する記憶部をさらに備え、
    前記発行レート制御部は前記アクセス要求の蓄積量の前記レベルが変化したことを検出した際、前記テーブルを参照して、新たなレベルにおいて前記優先リクエスタユニットとなるべきリクエスタユニットを特定し、その結果を前記複数のリクエスタユニットのそれぞれに対応付けられたフラグに反映させて更新することを特徴とする請求項2に記載の情報処理装置。
  4. 各リクエスタユニットは、前記アクセス要求の発行許可を求める前に前記フラグを参照して当該リクエスタユニットが前記優先リクエスタユニットであるか否かを確認し、前記優先リクエスタユニットである場合は、前記アクセス要求の発行許可が得られたものとして前記アクセス処理部に前記アクセス要求を発行することを特徴とする請求項3に記載の情報処理装置。
  5. 前記発行レート制御部は、前記リクエスタユニットから前記アクセス要求の発行許可を求められた際、前記フラグを参照して当該リクエスタユニットが前記優先リクエスタユニットであるか否かを確認し、前記優先リクエスタユニットである場合は、前記制御を行わずに発行許可を出すことを特徴とする請求項3に記載の情報処理装置。
  6. 前記アクセス処理部における前記アクセス要求の蓄積量が所定の第2のしきい値以下であるとき、
    前記発行レート制御部は、前記優先リクエスタユニット以外のリクエスタユニットによるアクセスで使用するバス帯域の合計が、実装されたバス帯域を越えても前記アクセス要求の発行許可を出すことを特徴とする請求項1から5のいずれかに記載の情報処理装置。
  7. コンピュータが、内部のリクエスタユニットによるリソースへのアクセス要求を制御するアクセス制御方法であって、
    前記リクエスタユニットが前記アクセス要求を所定のレートで発行するステップと、
    前記アクセス要求を蓄積し、順次アクセスを実現するステップと、
    を含み、
    前記発行するステップは、前記アクセス要求の蓄積量が所定のしきい値以下であるとき、前記所定のレートで定まるタイミング以外のタイミングでも、前記アクセス要求を発行することを特徴とするアクセス制御方法。
  8. 前記発行するステップは、
    発行レート制御部が、前記アクセス要求が所定のレートで発行されるように制御したうえで前記リクエスタユニットに発行許可を出すステップと、
    発行許可を得た前記リクエスタユニットが前記アクセス要求を発行するステップと、を含み、
    前記アクセス要求の蓄積量が所定のしきい値以下であるとき、前記リクエスタユニットの少なくとも一部が、前記発行レート制御部による制御と独立に前記アクセス要求を発行することにより、前記所定のレートで定まるタイミング以外のタイミングでも前記アクセス要求を発行することを特徴とする請求項7に記載のアクセス制御方法。
  9. コンピュータが、内部のリクエスタユニットによるリソースへのアクセス要求を制御するアクセス制御方法であって、
    所定のレートでトークンを生成するステップと、
    前記トークンを取得した前記リクエスタユニットが前記アクセス要求を発行するステップと、
    前記アクセス要求を蓄積し、順次アクセスを実現するステップと、
    を含み、
    前記アクセス要求の蓄積量が所定のしきい値以下であるときは、前記トークンを取得していないリクエスタユニットがリソースへのアクセス要求を発行するステップをさらに含むことを特徴とするアクセス制御方法。
  10. リクエスタユニットからリソースへのアクセス要求が所定のレートで発行されるように制御したうえで前記アクセス要求に対し発行許可を出す機能と、
    発行許可を得た前記アクセス要求を蓄積する機能と、
    蓄積された前記アクセス要求を順次実現する機能と、
    前記蓄積する機能において蓄積された前記アクセス要求の蓄積量が所定のしきい値以下であるとき、前記リクエスタユニットの少なくとも一部を、前記発行許可を出す機能による制御と独立に前記アクセス要求を発行する優先リクエスタユニットとする機能と、
    をコンピュータに実現させることを特徴とするコンピュータプログラム。
JP2006167642A 2006-06-16 2006-06-16 情報処理装置およびアクセス制御方法 Active JP4142069B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006167642A JP4142069B2 (ja) 2006-06-16 2006-06-16 情報処理装置およびアクセス制御方法
US11/760,858 US7617344B2 (en) 2006-06-16 2007-06-11 Methods and apparatus for controlling access to resources in an information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006167642A JP4142069B2 (ja) 2006-06-16 2006-06-16 情報処理装置およびアクセス制御方法

Publications (2)

Publication Number Publication Date
JP2007334749A JP2007334749A (ja) 2007-12-27
JP4142069B2 true JP4142069B2 (ja) 2008-08-27

Family

ID=38862838

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006167642A Active JP4142069B2 (ja) 2006-06-16 2006-06-16 情報処理装置およびアクセス制御方法

Country Status (2)

Country Link
US (1) US7617344B2 (ja)
JP (1) JP4142069B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4142068B2 (ja) * 2006-06-16 2008-08-27 株式会社ソニー・コンピュータエンタテインメント 情報処理装置およびアクセス制御方法
US8127063B2 (en) * 2009-01-20 2012-02-28 Fisher-Rosemount Systems, Inc. Distributed equipment arbitration in a process control system
CN101662799B (zh) * 2009-08-28 2012-06-13 中兴通讯股份有限公司 一种接纳控制的实现方法及装置
CN102103523A (zh) * 2009-12-22 2011-06-22 国际商业机器公司 锁分配控制的方法和装置
US8595402B1 (en) * 2010-03-02 2013-11-26 Marvell International Ltd. Dynamic arbitration schemes for multi-master memory systems
US8922571B2 (en) 2012-09-11 2014-12-30 Apple Inc. Display pipe request aggregation
US9117299B2 (en) 2013-05-08 2015-08-25 Apple Inc. Inverse request aggregation
US10205666B2 (en) * 2013-07-29 2019-02-12 Ampere Computing Llc End-to-end flow control in system on chip interconnects
US9471955B2 (en) 2014-06-19 2016-10-18 Apple Inc. Multiple display pipelines driving a divided display
US10157023B2 (en) * 2016-02-25 2018-12-18 SK Hynix Inc. Memory controller and request scheduling method using request queues and first and second tokens

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5381413A (en) * 1992-12-28 1995-01-10 Starlight Networks Data throttling system for a communications network
US5596576A (en) * 1995-11-03 1997-01-21 At&T Systems and methods for sharing of resources
US5918055A (en) * 1997-02-06 1999-06-29 The Regents Of The University Of California Apparatus and method for managing digital resources by passing digital resource tokens between queues
US7530068B2 (en) 2003-12-17 2009-05-05 International Business Machines Corporation Method of resource allocation using an access control mechanism
US7315912B2 (en) * 2004-04-01 2008-01-01 Nvidia Corporation Deadlock avoidance in a bus fabric
US7631131B2 (en) * 2005-10-27 2009-12-08 International Business Machines Corporation Priority control in resource allocation for low request rate, latency-sensitive units
CN101064672A (zh) * 2006-04-24 2007-10-31 华为技术有限公司 一种接入设备及其带宽控制方法

Also Published As

Publication number Publication date
US20070294448A1 (en) 2007-12-20
JP2007334749A (ja) 2007-12-27
US7617344B2 (en) 2009-11-10

Similar Documents

Publication Publication Date Title
JP4142068B2 (ja) 情報処理装置およびアクセス制御方法
JP4142069B2 (ja) 情報処理装置およびアクセス制御方法
US10353747B2 (en) Shared memory controller and method of using same
US7631131B2 (en) Priority control in resource allocation for low request rate, latency-sensitive units
US7530068B2 (en) Method of resource allocation using an access control mechanism
JP4926963B2 (ja) 多重メモリアクセスレイテンシ時間をサポートするコンピュータメモリシステムにおける性能を改善するためのシステムおよび方法
US8819687B2 (en) Scheduling for multiple memory controllers
US7350004B2 (en) Resource management device
US8095744B2 (en) Device for controlling access from a plurality of masters to shared memory composed of a plurality of banks each having a plurality of pages
JP2005505857A (ja) サービス品質の規制に適合するリソースをスケジューリングする方法及び装置
KR101812300B1 (ko) 다수의 메모리 채널들을 가진 컴퓨팅 시스템에서의 메모리 버퍼들의 할당
WO2012167526A1 (zh) 一种片上总线仲裁方法及装置
US8490102B2 (en) Resource allocation management using IOC token requestor logic
US20070239888A1 (en) Controlling transmission of data
CN110059035B (zh) 半导体装置和总线发生器
WO2022269582A1 (en) Transmission of address translation type packets
US10705985B1 (en) Integrated circuit with rate limiting
US11144473B2 (en) Quality of service for input/output memory management unit
CN110035021B (zh) 针对原子数据访问请求进行的资源分配
KR20210061583A (ko) 적응형 딥러닝 가속 장치 및 방법
US9483502B2 (en) Computational processing device including request holding units each provided for each type of commands, information processing device including request holding units each provided for each type of commands, and method of controlling information processing device
CN116185603A (zh) 改善rdma单边操作可扩展性的自适应优化方法及系统

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080521

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

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

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

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4142069

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130620

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250