JP4275085B2 - 情報処理装置、情報処理方法、およびデータストリーム生成方法 - Google Patents

情報処理装置、情報処理方法、およびデータストリーム生成方法 Download PDF

Info

Publication number
JP4275085B2
JP4275085B2 JP2005040887A JP2005040887A JP4275085B2 JP 4275085 B2 JP4275085 B2 JP 4275085B2 JP 2005040887 A JP2005040887 A JP 2005040887A JP 2005040887 A JP2005040887 A JP 2005040887A JP 4275085 B2 JP4275085 B2 JP 4275085B2
Authority
JP
Japan
Prior art keywords
data
memory
request
read
cache
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
JP2005040887A
Other languages
English (en)
Other versions
JP2006227912A (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 JP2005040887A priority Critical patent/JP4275085B2/ja
Priority to US11/311,700 priority patent/US7475210B2/en
Publication of JP2006227912A publication Critical patent/JP2006227912A/ja
Application granted granted Critical
Publication of JP4275085B2 publication Critical patent/JP4275085B2/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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack

Description

本発明は情報処理技術に関し、特に複数の読み出し単位のデータをメモリから読み出し、データストリームを生成する情報処理装置と、その装置による情報処理方法、およびデータストリーム生成方法に関する。
近年のコンピュータゲームやディジタル放送などの分野に利用されるコンピュータグラフィックス技術や画像処理技術の著しい進歩に伴い、コンピュータ、ゲーム機器、テレビなどの情報処理装置はよりサイズの大きなデータをより高速に処理する能力を求められている。これらの情報処理装置において高性能な演算処理を実現するためには、プロセッサ自体の処理速度を向上させたり、複数のプロセッサを設けて並列処理を行ったりすることが有効である。
上述の動作クロックの向上やマルチプロセッサの構成などの技術的発展によってプロセッサの動作速度が向上すると、メモリへのアクセス時間の問題が表面化する。アクセス時間を短縮するための対策のひとつとして、キャッシュメモリの導入によるメモリシステムの階層化が挙げられる。キャッシュメモリは高速、小容量の補助メモリであり、メインメモリに格納されたデータの一部をコピーして格納する。データアクセスに局所性のあるタスク処理の場合、繰り返しアクセスを行うデータをキャッシュメモリに格納することによって、アクセス時間を短縮することができる。
キャッシュメモリの導入によってメモリへのアクセス時間は短縮されるが、情報処理装置の高速化の要請は日々厳しくなり、さらなるアクセス時間短縮が望まれている。例えばキャッシュシステムにおいては、キャッシュヒット率が低いアプリケーションでは、当然メインメモリへのアクセス頻度が高くなり、情報処理装置に望まれるパフォーマンスが得にくくなる。しかしながら、キャッシュミスによるペナルティを低減するために、メインメモリの高速化、キャッシュメモリの大容量化、転送に用いるバス帯域の拡張など別の改良を加えることは、製造コスト、実装の容易性の観点から制約がある。
本発明はこのような課題に鑑みてなされたものであり、その目的は情報処理装置においてより高速なメモリアクセスを実現する技術の提供にある。
本発明のある態様は情報処理装置に関する。この情報処理装置は、メモリに格納されたデータの読み出し要求を発行する複数のリクエスト発行部と、前記読み出し要求を受け付け、複数の読み出し要求を調停し、前記メモリに伝送するリクエスト調停部と、伝送された読み出し要求に従って前記メモリから読み出されたデータを蓄積し、複数の読み出し単位のデータを一のデータストリームに同期化して出力するデータ同期化部と、を備え、前記リクエスト調停部は、前記データ同期化部における同期化待ち時間を短縮する方針で、複数の読み出し要求の調停を行うことを特徴とする。
本発明の別の態様もまた情報処理装置に関する。この情報処理装置は、複数のキャッシュメモリと、前記複数のキャッシュメモリのそれぞれに対応して備えられ、入力されたメインメモリ内のアドレスに格納されたデータが、前記キャッシュメモリに存在するか否かを判定する複数のヒット判定部と、前記複数のヒット判定部のそれぞれに対応して備えられ、前記データが前記キャッシュメモリに存在しないと判定された場合に、前記メインメモリから前記キャッシュメモリへのデータの転送要求を発行する複数のリクエスト発行部と、前記転送要求を受け付け、複数の転送要求の調停を行い、前記メインメモリに伝送するリクエスト調停部と、伝送された転送要求に従って前記メインメモリより前記複数のキャッシュメモリへ転送された複数の転送単位のデータを、一のデータストリームに同期化して後段の回路へ出力するデータ同期化部と、を備え、前記リクエスト調停部は、前記データ同期化部における同期化待ち時間を短縮する方針で、前記複数の転送要求の調停を行うことを特徴とする。
ここで「メインメモリ」とはキャッシュメモリよりアクセス時間の遅い記憶装置または記憶素子であり、情報処理装置におけるメインプロセッサが主に参照するメインメモリの他、グラフィックプロセッサが主に参照するグラフィックメモリや、ハードディスク、CD−ROM(Compact Disc - Read Only Memory)などの外部記憶装置のいずれかでよい。
本発明の別の態様は情報処理方法に関する。この情報処理方法は、入力されたメインメモリ内のアドレスに格納されたデータが複数のキャッシュメモリののうち所定のキャッシュメモリに存在するか否かを判定するステップと、データが所定のキャッシュメモリに存在しないと判定された場合に、前記メインメモリから前記所定のキャッシュメモリへのデータの転送要求を発行するステップと、複数の転送要求の調停を行うステップと、調停の結果に従い複数の転送要求を前記メインメモリに伝送するステップと、伝送された転送要求に従って前記メインメモリより前記所定のキャッシュメモリへデータを転送するステップと、前記複数のキャッシュメモリへ転送された複数の転送単位のデータを一のデータストリームに同期化して出力するステップと、を含み、前記複数の転送要求の調停を行うステップは、同期化待ち時間を短縮する方針で調停を行うことを特徴とする。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、複数のデータをメモリより読み出し同期化する処理を効率化できる。
(第一の実施の形態)
図1は、本実施の形態に係る情報処理装置100の構成図である。情報処理装置100は描画機能を強化したコンピュータであり、制御ブロック10、描画ブロック20および入出力ブロック40がバス90で接続されて構成され、入出力ブロック40にはメインメモリ30と表示装置80が接続される。メインメモリ30は入出力ブロック40とネットワークを経由して接続されていてもよい。
制御ブロック10は、この情報処理装置100全体を制御するブロックであり、メインメモリ30からのデータの読み出し制御、メインメモリ30、表示装置80との間のデータ転送の同期管理、情報処理装置100内部の各ユニットからの割り込みの処理、タイマーの管理などを行う。
入出力ブロック40は、メインメモリ30に格納された、頂点座標、頂点パラメータ、クリップパラメータなど、表示したいフレームデータを生成するための情報(以下、画像データと呼ぶ)を読み込み、描画ブロック20に提供する。メインメモリ30にはこれらの情報が種別ごとにまとめて格納してあり、入出力ブロック40は制御ブロック10から入力された情報に基づき、種別ごとに所望の画像データを抽出し、それらをデータストリームと呼ばれるひとつのデータ列として出力する。以後、複数のデータからデータストリームを生成することをデータの「同期化」とよぶ。データ抽出処理の効率化のため、入出力ブロック40には複数のキャッシュメモリ50が備えられ、メインメモリ30に格納された画像データの一部を、種別ごとにコピーして格納している。所望とする画像データがキャッシュメモリ50にすでに格納されている場合、その画像データは当該キャッシュメモリ50より抽出される。図1においてキャッシュメモリ50は、第一キャッシュメモリ50a、第二キャッシュメモリ50b、および第三キャッシュメモリ50cより構成されている。キャッシュメモリ50の数はこれに限られないが、以後、3つのキャッシュメモリ50a、50bおよび50cとして説明する。
さらに入出力ブロック40は、描画ブロック20が出力するフレームデータに基づき表示装置80に画像を表示する。
描画ブロック20は、入出力ブロック40から与えられる画像データのデータストリームをもとにフレームデータを生成し、メインメモリ30内の図示しないフレームバッファに書き込むレンダリング処理を行う。
図2は、入出力ブロック40の構成図である。上述のように、入出力ブロック40は3つのキャッシュメモリ50a、50bおよび50cを含む。キャッシュメモリ50は例えば高速SRAM(Static Random Access Memory)など、高速アクセスが可能な半導体メモリで構成する。また、キャッシュメモリ50は図示しないタグメモリを内蔵している。さらにキャッシュメモリ50は、メインメモリ30からのデータの読み出し単位の容量を有する「キャッシュライン」の集合体と考えることができる。すなわち、メインメモリ30からキャッシュメモリ50への一回の転送によって、ひとつのキャッシュラインが更新されることになる。
入出力ブロック40はさらに、制御ブロック10より受け取ったアドレス情報を、第一キャッシュメモリ50a、第二キャッシュメモリ50bおよび第三キャッシュメモリ50cのいずれかへ振り分けるアドレス処理部42を含む。アドレス情報には必要な画像データのメインメモリ30内のアドレスが記述されている。アドレス情報は例えば画像データの種別とアドレスとを関連づけた情報であり、アドレス処理部42は画像データの種別に応じて振り分け先のキャッシュメモリ50を選択する。またはあらかじめアドレスと識別番号とを関連付けたアドレス識別テーブルを別に容易しておき、アドレス情報を、画像データの種別と識別番号とを関連づけた情報としてもよい。この場合アドレス処理部42は、アドレス情報とアドレス識別テーブルを参照して、制御ブロック10が指定するアドレスを特定し、データ種別ごとにキャッシュメモリ50a、50bおよび50cのいずれかへ振り分ける。
入出力ブロック40はさらに、3つのキャッシュメモリ50a、50b、および50cにそれぞれ対応して設けられた、第一ヒット判定部44a、第二ヒット判定部44b、および第三ヒット判定部44cと、第一リクエスト発行部46a、第二リクエスト発行部46b、および第三リクエスト発行部46cと、を含む。ヒット判定部44は、アドレス処理部42より渡されたアドレスの所定のビットと、対応するキャッシュメモリ50に含まれるタグメモリ内のタグデータとを入力し、比較を行う図示しないコンパレータを含み、キャッシュメモリ50に所望のデータが存在するかどうかを判定する。比較手法については後述する。リクエスト発行部46は、対応するキャッシュメモリ50に所望のデータが存在しないと判定された場合に、メインメモリ30からの転送要求を発行する。
入出力ブロック40はさらに、3つのリクエスト発行部46a、46bおよび46cよりそれぞれの信号線を介して伝送された複数の転送要求の順序を調停してメインメモリ30へ伝送するリクエスト調停部48と、3つのキャッシュメモリ50a、50b、および50cに格納された所望のデータを読み出し、それらをデータストリームとして同期化するデータ同期化部52と、生成されたデータストリームを描画ブロック20へ送出するストリーム送出部54と、を含む。リクエスト調停部48からメインメモリ30へ転送要求を伝送する際の信号線は、1本でも複数でもよい。リクエスト調停部48による転送要求の順序の調停は、データ同期化部52における複数のデータの同期化処理におけるデータの読み出し待ちの時間が少なくなるように行われる。順序の決定については後に詳述する。
本実施の形態におけるデータストリームは上述のとおり、描画ブロック20がラスタライズ、シェーディングなどの処理を行い、最終的に表示装置80へ表示する画像のフレームデータを生成するための画像データのセットである。描画ブロック20ではこのデータストリームを一単位として処理することによりラスタライズを効率的に行うことができる。データストリームを構成するデータは、3つのキャッシュメモリ50a、50b、および50cの全てから読み出す必要はなく、それらのうちいずれかふたつのキャッシュメモリからのデータをもってデータストリームとしてもよい。あるいは、ひとつのキャッシュメモリのデータをそのままストリーム送出部54より出力してもよい。このように本実施の形態では、キャッシュメモリ50を複数備え、小さいサイズのデータはそのまま、大きいサイズのデータは同期化して出力することにより、余分なデータの転送頻度を極力抑制し、効率のよいデータ読み出しを行うことができる。
さらに画像データは、リアルタイム性を求められるフレームデータ生成において用いられるため、本実施の形態ではそれらのデータをいったんキャッシュメモリ50に格納し、繰り返し用いるデータはキャッシュメモリ50から読み出すことによって、フレームデータ生成に係る処理速度を向上させている。
画像データのようにデータストリームを構成するデータの種類が変化しない場合は、上述のように、例えば第一キャッシュメモリ50aには頂点座標を、第二キャッシュメモリ50bには頂点パラメータを、第三キャッシュメモリ50cにはクリップパラメータをそれぞれ格納するなど、複数のキャッシュメモリ50のそれぞれが格納するデータの種別をあらかじめ設定しておくことができる。メインメモリ30には、各データを種別ごとに連続した領域にまとめて格納しておき、フレームデータ生成に際して後からデータストリームとして組み合わせ、体裁を整えることによって、例えば画像データの一部のみを読み出したい場合に余分なデータへのアクセス頻度が軽減されるなど、より自由度の高い読み出しが効率的に行うことができる。また読み出し単位より小さいサイズのデータも連続して格納できるため、メインメモリ30の使用容量の節約になる。
次に図2に示した入出力ブロック40の動作について説明する。図3は主に入出力ブロック40において行われるデータの読み出しおよびデータストリームの生成処理の手順を示すフローチャートである。
ます制御ブロック10が、生成するフレームデータに対応する画像データのメインメモリ30におけるアドレス情報を入出力ブロック40へ入力する(S10)。入出力ブロック40のアドレス処理部42は、入力されたアドレス情報に基づき、指定されたアドレスを3つのヒット判定部44a、44bおよび44cへ振り分ける(S12)。ヒット判定部44は受け取ったアドレスとキャッシュメモリ内の情報とを比較し、アドレスに対応するデータがあるかどうかを判定する(S14)。比較にはダイレクトマップ方式やフルアソシエイティブ方式など、一般的に用いられる手法をあらかじめ選択しておく。前者は、メインメモリ30におけるアドレスの中間ビットがキャッシュラインを示すアドレスとなり、上位ビットが各キャッシュラインに対応するタグメモリに格納されるため、まず中間ビットによってキャッシュラインを特定し、上位ビットとタグデータとをコンパレータにより比較する。後者は、上位ビットおよび中間ビットが全てタグメモリに格納されるため、アドレスの上位ビットおよび中間ビットと、タグデータとを比較する。いずれの場合も、キャッシュメモリ50に一致するタグデータがあった場合は、キャッシュメモリ50に所望のデータが存在する、すなわち「ヒット」と判定され(S14のY)、一致するタグデータがなかった場合はキャッシュメモリ50に所望のデータが存在しない、すなわち「ミス」と判定される(S14のN)。
判定が「ミス」であった場合(S14のN)、対応するリクエスト発行部46はメインメモリ30から、当該リクエスト発行部46に対応するキャッシュメモリ50への該当データの転送要求を発行し、リクエスト調停部48がそれを受け付ける(S16)。制御ブロック10による1回のアドレス入力で、ひとつのデータストリームを構成する頂点座標、頂点パラメータなど複数のデータ要素に対する読み出し要求が一度に発生するため、リクエスト調停部48は「ミス」と判定されたデータに対する複数の転送要求をほぼ同時に受け付けることになる。
複数の転送要求を受け付けたリクエスト調停部48は、それらをメインメモリ30に伝送する順序を決定し、その結果に基づいて転送要求を伝送する(S20)。上述のようにリクエスト調停部48は、データストリームの生成処理におけるデータ同期化部52のストール時間、すなわち処理停止時間が短くなるように転送要求の順序を決定する。一方、リクエスト調停部48はリクエスト発行部46が発行した転送要求を常時受け付け、メインメモリ30へ伝送するまで保持しておく。
メインメモリ30は転送要求に従い、指定されたアドレスに格納されたデータを指定されたキャッシュメモリ50に転送する(S22)。アドレスは、リクエスト発行部46が発行する転送要求に含まれていてもよいし、制御ブロック10がアドレスを指定した際、アドレス処理部42がそれをメインメモリ30へ先に送信しておき、転送要求が伝送された場合にのみそのアドレスを有効にし、参照するようにしてもよい。データの転送はある読み出し単位(以下、一例として「8バイト単位」とする)で行われ、キャッシュメモリ50において8バイトのデータを格納したそれぞれの領域をキャッシュラインとする。キャッシュメモリ50に転送されたデータの、メインメモリ30におけるアドレスの一部は、タグデータとしてキャッシュメモリ50に内蔵されたタグメモリに格納される。
データ同期化部52は、ヒット判定部44によって「ヒット」と判定された(S14のY)キャッシュメモリ50、もしくは転送要求の発行によってメインメモリ30から転送されたデータを格納した(S22)キャッシュメモリ50から、データストリームを構成する所望のデータ要素をそれぞれ読み出す(S24)。データ要素がそろうまで読み出しを繰り返し(S26のN)、全てのデータ要素がそろったら(S26のY)、ストリーム送出部54によって当該データストリームが描画ブロック20へ出力される(S28)。
次にリクエスト調停部48が決定する、複数の転送要求の発行順序について説明する。上述のとおりメインメモリ30からキャッシュメモリ50へのデータ転送は、8バイト単位で行われ、データ同期化部52が読み出すデータ要素は8バイト単位のデータを格納したキャッシュラインのうちの一部となる場合も多い。図4はデータ同期化部52が3つのキャッシュメモリ50a、50bおよび50cに含まれる、あるキャッシュラインL0に格納されたデータを読み出し、データストリームを生成する様子を模式的に示している。ここではひとつのキャッシュラインを8等分したデータサイズ、すなわち1バイトを1単位として1矩形で表している。同図において、第一キャッシュメモリ50aのキャッシュラインL0の3〜6バイト目に格納された4バイト(図中、「s」と表記)、第二キャッシュメモリ50bのキャッシュラインL0の1〜7バイト目に格納された7バイト(図中、「t」と表記)、および第三キャッシュメモリ50cのキャッシュラインL0の5バイト目に格納された1バイト(図中、「u」と表記)をデータ同期化部52が読み出し、12バイトのデータストリームを生成している。
データ同期化部52においてデータストリームを完成させるためには、それを構成するデータ要素、すなわちデータ「s」、データ「t」およびデータ「u」の全てが、図4に示すようにキャッシュメモリ50に含まれるキャッシュラインのいずれかに書き込まれている必要がある。ところが図4における第二キャッシュメモリ50bのデータ「t」のように、データ同期化部52によって1回に読み出されるデータサイズ(以後、単にデータサイズと呼ぶ)が大きいほど、キャッシュメモリ50の有限領域に格納することのできるデータ数が小さくなり、ヒット判定において「ミス」と判定される確率が大きくなる。ここで「データ数」とは、上述のデータサイズを単位としたデータの数である。一方、第三キャッシュメモリ50cのデータ「u」のように、データサイズが小さいと、キャッシュメモリ50に格納できるデータ数が大きくなり、「ヒット」となる可能性が高い。
第二キャッシュメモリ50bがデータ「t」のように大きなサイズのデータを常に担当しているとすると、新たなデータをメインメモリ30より転送し、書き込みを行う必要性が生じる確率が他のキャッシュメモリ50a、および50cより高くなる。データの書き込みが終了し、所望のデータがキャッシュメモリに格納されるまでは、当該データを読み出すことができないため、データ同期化部52はこの書き込み期間が終了するまでデータストリームの完成を待たなければならない。このように、他のモジュールの処理終了を待って、本来行うべき処理を中断せざるを得ない時間がストール時間となって現れる。本実施の形態の場合、画像データのデータストリームを構成する頂点座標、頂点パラメータ、クリップパラメータなどデータの種別によってデータサイズの大小が概ね決まってしまうため、データの種別で担当するキャッシュメモリ50を振り分けると、あるキャッシュメモリ50のみデータの書き込み頻度が高くなり、ストール時間が増大する。
そこでリクエスト調停部48は、データ同期化部52におけるストール時間を軽減するように、複数の転送要求のメインメモリ30への伝送順序を決定する。具体的には上述のように、キャッシュメモリ50への書き込みの必要性が生じる確率が高い、すなわち、メインメモリ30からキャッシュメモリ50へのデータ転送頻度が高くなる、サイズの大きなデータの転送要求を優先してメインメモリ30へ伝送する。
例えば、リクエスト調停部48に既知の手法で最大値判定回路(図示せず)を設ける。そしてリクエスト発行部46が発行する転送要求にデータサイズを含ませ、当該最大値判定回路によって、リクエスト調停部48が受け付けた複数の転送要求のうち、データサイズの最も大きい転送要求を特定する。データの種別によってそのサイズが固定値である場合は、転送先のキャッシュメモリ50によって一意的かつ固定的に優先度を設定しておいてもよい。この場合は、上述のように、3つのリクエスト発行部46a、46bおよび46cが個別の信号線によってリクエスト調停部48へ転送要求を入力すれば、転送要求と3つのキャッシュメモリ50a、50bおよび50cのいずれかとの関連づけが取得できる。リクエスト調停部48は、ひとつのデータストリームを構成するデータの転送要求ごとにデータサイズを比較してもよいし、蓄積した全ての転送要求から、サイズの大きいデータ順に転送要求を伝送してもよい。
本実施の形態によれば、サイズの大きいデータは優先的にキャッシュメモリ50に格納されるため、「ミス」と判定される確率の差によるメモリアクセスのためのペナルティの差を軽減できる。結果として、そのキャッシュメモリへのデータ書き込みのためのストール時間を短縮することができ、さらに「ヒット」する確率の高い小さいサイズのデータとの構成によってデータストリームが完成するまでの時間が短縮される。これにより、フレームデータの生成に必要な画像データの取得処理が高速化され、フレームデータの効率的な生成が可能となる。本実施の形態は回路の挿入やプログラムの変更など比較的簡素な改良で実現でき、バス帯域を増加させたりメインメモリ30を高速化したりするより安価で容易にデータ読み出し時間の短縮効果を得ることができる。
本実施の形態では上述のとおり、サイズの大きいデータほど、キャッシュメモリ50への書き込み頻度が高くなるため、データサイズの大きい順にその転送要求の伝送を行うとしたが、実際のデータサイズやその他の環境により、適宜他の順番形態と組み合わせてもよい。例えば、あるデータ種目以外はデータサイズがそれほど変わらない場合や、描画ブロック20へのデータストリームの送出に所定の時間制限がある場合などは、あらかじめ定めた所定の種目に属するデータの転送要求のみ優先して行い、その他の種目に属するデータはリクエスト調停部48が受け付けた順番に転送要求を伝送するように設定してもよい。これにより、データの重要度などを考慮したうえで最大限のストール時間短縮効果を、上述と同じ原理により取得することができ、より柔軟な態様となる。
(第二の実施の形態)
第一の実施の形態では、複数の転送要求をメインメモリ30に伝送する順序をデータのサイズに基づき決定した。本実施の形態におけるリクエスト調停部48は、転送要求を伝送するタイミングの調整を行う。本実施の形態も、第一の実施の形態における図1に示した情報処理装置100、および図2に示した入出力ブロック40と同様の構成によって実現でき、入出力ブロック40によって主に処理される手順も第一の実施の形態における図3と同様である。ここでは第一の実施の形態と異なる点、すなわちリ伝送タイミングの調整について説明する。
まず本実施の形態の効果を明らかにするために、転送要求のタイミングを調整しない場合について説明する。図5は第一キャッシュメモリ50a、第二キャッシュメモリ50b、および第三キャッシュメモリ50cにおけるデータの読み出しおよび書き込みのタイミングを示すタイミングチャートである。ここで各キャッシュメモリ50は、説明の簡単のため、2つのキャッシュラインL0、L1のみで構成され、LRU(Least Recently Used)方式の2ウェイで、各エントリがひとつずつの構成とする。したがって、あるアドレスのデータが一方のキャッシュラインL0に書き込まれると、つぎに「ミス」と判定されたデータが発生したときには、当該データは他方のキャッシュラインL1へ書き込まれ、以降、ふたつのキャッシュラインL0、L1へ交互に書き込みが行われるとする。図の横軸は時間を示しており、キャッシュラインごとに示された矩形は白抜きがメインメモリ30からのデータ転送によるリフィル期間、すなわち書き込み期間、網掛けがデータ同期化部52によるデータの読み出し期間を示す。
本実施の形態は、いったんキャッシュメモリ50にデータを書き込んだ後、はじめてデータ同期化部52へ向けた出力がなされる構造とする。この構造は「ミス」と判定された場合にはある程度のペナルティがあるものの、メインメモリ30からデータ同期化部52へ直接データを伝送するためのバスが不要となり、実装上のメリットが大きい。したがって、比較的高いヒット率が見込めるアプリケーションにおいては有用である。
同図に戻り、各矩形内に記された数字は動作に必要なクロック数を表している。すなわち、全てのキャッシュメモリ50のキャッシュラインL0およびL1は、80周期で書き込みが行われ、100周期で1キャッシュライン分のデータがすべて読み出されるとする。
本実施の形態では簡単のために、データストリームを構成するデータは全て同じサイズであり、メインメモリ30から転送されるデータサイズと等しいとして説明する。したがってひとつのキャッシュラインの全てのデータを読み出すのに必要な時間は同一であり、これが上述の100周期に当たる。また本実施の形態では、メインメモリ30からのデータ転送には3つのキャッシュメモリ50a、50bおよび50cで共通のバスを使用し、図の右に示したように、第一キャッシュメモリ50a、第二キャッシュメモリ50b、第三キャッシュメモリ50cの順でデータ転送が繰り返される。各キャッシュメモリ50へのデータ転送は、バスネックが原因となり、ある周期をおいてしか実行できない。ここでは20周期に一度、各キャッシュメモリ50へデータの書き込みが行われるとしている。なお、同図からもわかるとおり、ここでは最悪の状況、すなわちすべてのアクセスにおいて「ミス」と判定され、キャッシュメモリ50への書き込みが行われるとする。実際には多くの場合「ヒット」と判定されることが一般的であり、同図ほど恒常的に「ミス」判定となりペナルティが発生するわけではない。
同図において時刻Aは各キャッシュメモリ50のキャッシュラインL0の読みだし期間が開始したタイミングを示す。時刻BはキャッシュラインL0からの読み出し期間が終了するとともに、つぎの読み出しが他方のキャッシュラインL1から開始されるタイミングを示す。この時刻Bでは、さらにつぎのアクセスが「ミス」と判定され、キャッシュラインL0への転送要求がメインメモリ30へ伝送されている。しかし上述のごとくバスネックが原因となり、キャッシュラインL0への書き込み期間の開始は、3つのキャッシュメモリ50においてそれぞれ20周期ずつずれている。時刻CはキャッシュラインL1に格納されたデータの読み出しが終了し、キャッシュラインL0に格納されたデータの読み出しを行うことができる状態となったタイミングを示している。
図5の場合、時刻Cにおいて、全てのキャッシュメモリ50のキャッシュラインL1のデータ読み出しが終了している。しかし、第三キャッシュメモリ50cのキャッシュラインL0において、上述のバスネックが原因となり、まだ書き込みが行われているため、データストリームを構成するデータがそろわない。このため、データ同期化部52によるキャッシュラインL0の読み出しを開始することができない。第三キャッシュメモリ50cのキャッシュラインL0へのデータの書き込みが終了した時刻(同図では2回目の「時刻A」と表記)において初めて、読み出しを開始することができる。したがって時刻Cから時刻Aまでの時間がストール時間となる。
3つのキャッシュメモリ50a、50bおよび50cの各キャッシュラインへデータ転送を行う転送要求は、時刻B、すなわちそのキャッシュラインにおける前のデータの読み出し終了とともにメインメモリ30へ伝送される。図5の場合、キャッシュラインの読み出し開始タイミングは、データストリームを構成するデータが全てそろったタイミングと等しいため、全てのキャッシュメモリ50a、50bおよび50cで同一となる。したがって、次のデータの転送要求は上述のとおり時刻Bに一斉にメインメモリ30へ伝送される。
上述のとおり、各キャッシュメモリ50へのデータの書き込みは20周期に一度行われるため、時刻Bにおいて各キャッシュメモリ50への転送要求をほぼ同時期にメインメモリ30に伝送したとしても、データの書き込みは同時には開始できない。このため、第三キャッシュメモリ50cの書き込み終了タイミングは他のキャッシュメモリ50a、および50cより遅れ、これがストール時間発生の原因となる。この現象は、ひとつのデータストリームを構成するデータを格納するキャッシュメモリ50の数が増加するほど顕著になる。
次に本実施の形態について説明する。本実施の形態は、3つの転送要求の伝送に時間間隔を設けられるように構成される。具体的には、メインメモリ30において、アドレスの上位ビットおよび中間ビットで特定される読み出し単位の区切りに対し、データの種別ごとに異なるオフセットを与えたアドレスにデータを格納する。そのため制御ブロック10が指定するアドレスはある読み出し単位のデータ列の中間のアドレスとなる。
図6は、上述のようにオフセットを与えてメインメモリ30に格納されたデータを、第一キャッシュメモリ50a、第二キャッシュメモリ50b、および第三キャッシュメモリ50cに格納した際のデータの配置例を模式的に示している。図4と同様、一例としてキャッシュラインは8バイト単位で構成され、1バイトを1単位として1矩形で表している。第一キャッシュメモリ50aのキャッシュラインL0の7、8バイト目に格納された2バイト、およびキャッシュラインL1の1〜6バイト目に格納された6バイトの、合計8バイト(図中、「v」と表記)が、データ同期化部52によって一度に読み出される。第二キャッシュメモリ50bおよび第三キャッシュメモリ50cにおける「v」と表記された8バイトも同様である。また各キャッシュメモリ50a、50bおよび50cにおいて、「w」と表記された数バイトは、「v」と表記されたデータの次にメインメモリ30に格納されたデータを示している。
図6は、第一キャッシュメモリ50aが格納するデータが6バイトのオフセットを、第二キャッシュメモリ50bが格納するデータが4バイトのオフセットを、第三キャッシュメモリ50cが格納するデータが2バイトのオフセットを与えられてメインメモリ30に格納されていることを示している。これにより、データ同期化部52によって一度に読み出される8バイトのデータ「v」は、ふたつのキャッシュラインをまたいで格納される。そのためこの例では、制御ブロック10による一回のアドレス入力から、16バイト分のデータを8バイトずつ、ふたつのキャッシュラインL0およびL1へ転送する2回の転送要求を行う。ふたつの転送要求とするかどうかは、データサイズおよびオフセット値を決定するデータ種別ごとにあらかじめ判明するため、リクエスト発行部46は転送要求にその情報を含ませる。そしてリクエスト調停部48は、制御ブロック10が指定したデータの先頭アドレスからオフセット分を減算して得た、読み出し単位の区切りの先頭アドレスと、その次にメインメモリ30に格納されている読み出し単位の区切りの先頭アドレスと、を転送すべきキャッシュラインの識別情報にそれぞれ関連付けて、メインメモリ30へ伝送する転送要求に含ませる。そのためリクエスト調停部48は、既知の手法で備えられた、図示しないオフセット減算回路およびアドレス加算回路を含む。
図7は本実施の形態における第一キャッシュメモリ50a、第二キャッシュメモリ50b、および第三キャッシュメモリ50cにおけるデータの読み出しおよび書き込みのタイミングを示すタイミングチャートである。同図の基礎となる条件は図5と同一である。
図7においてキャッシュラインL0の最初の読み出し期間は、図6のデータ「v」を読み出す期間に相当する。すなわち第一キャッシュメモリ50aからは2バイトのデータを20周期で読み出し、第二キャッシュメモリ50bからは4バイトのデータを40周期で読み出し、第三キャッシュメモリ50cからは6バイトのデータを60周期で読み出す。本実施の形態では、この読み出し期間が終了した時点でキャッシュラインL0の更新を行う。すなわちリクエスト調停部48は、各キャッシュメモリ50のキャッシュラインL0へのデータ転送を行う転送要求を、それぞれの読み出し期間が終了した時点でメインメモリ30に伝送する。本実施の形態の場合、読み出し期間の終了のタイミングがキャッシュメモリ50によって異なるため、転送要求の伝送のタイミングは、第一キャッシュメモリ50aについては時刻B、第二キャッシュメモリ50bについては時刻B'、第三キャッシュメモリ50cについては時刻B''と、異なる。すなわち3つの転送要求の伝送には20周期分の時間間隔が設けられたことになる。転送要求の伝送に時間間隔が設けられると、上述したバスネックが原因の、転送要求の伝送タイミングに対するキャッシュメモリ50への書き込み開始の遅延時間をなくすことができる。
キャッシュラインL0の読み出し期間が終了すると、キャッシュラインL0へ次の転送要求に従ったデータの書き込みが行われている間に、キャッシュラインL1の読み出しが行われる。図6の場合、キャッシュラインL1に格納されたデータ「v」の残りの部分、およびデータ「w」の一部がこの期間に読み出される。同様の処理を繰り返すことにより、読み出し期間の終了タイミングがキャッシュメモリ50によって異なることになり、転送要求の伝送のタイミングを時刻B、B'、B''と、常に分散させることができる。なお図を煩雑にしないため、図7では図5と同様、時刻A、時刻Bなどの表示は片方のキャッシュラインについてのみ行っている。
本実施の形態によれば、メインメモリ30における本来の読み出し単位の区切りを示すアドレスに対し、データの種別によって異なるオフセットをもたせたアドレスにデータを格納することにより、各キャッシュメモリ50のキャッシュライン上の格納アドレスもキャッシュメモリ50によって異なるオフセットを有する。このため、ひとつのデータストリームを構成する複数のデータの読み出し完了のタイミングが同一でも、キャッシュラインの全てのデータを読み出し終えたタイミングがキャッシュメモリ50によって異なり、結果的に転送要求の伝送タイミングが転送先のキャッシュメモリ50によって異なるようにできる。これにより、バスネックによる転送要求の伝送タイミングに対するキャッシュメモリへの書き込み開始の遅延がなくなるため、データストリームを構成するデータを格納するキャッシュメモリの数が多くても、その遅延時間に起因するストール時間の増大を回避できる。また、転送要求の伝送タイミングが分散されるため、複数のキャッシュメモリ50によって共有されるバスの負荷が分散し、書き込み期間そのものも短縮することができる場合がある。したがって、画像データの取得処理がより高速化され、フレームデータ生成の効率が顕著に向上する。第一の実施の形態同様、本実施の形態も安価かつ容易に上述の効果を得ることができる。
上述の説明では、データストリームを構成するデータ要素のサイズは全て等しいとしたが、サイズが異なっていても同じ原理によって同様の効果を得ることができる。
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
本実施の形態におけるデータストリームは、フレームデータを生成するための画像データのセットによって構成したが、複数の種別のデータをセットとして用いて加工処理を行う態様のものでよく、例えば音声データなどでもよい。この場合も、比較的安価で容易にデータの読み出し効率が向上し、結果的に加工処理を高速化することができる。
また本実施の形態では種別ごとにデータをメインメモリに格納し、転送するキャッシュメモリもデータの種別ごとに設定したが、種別に関わらずメインメモリへ格納したデータを、アドレスの範囲別に振り分けたキャッシュメモリへ転送するなど、他の属性に基づきキャッシュメモリの分担を設定してよい。または特に属性にかかわらず、制御ブロックからの読み出し要求を順次振り分けてもよい。後段で行われる処理内容やデータストリームの構造などによってより効率の良い態様を選択し、本実施の形態を適用することにより、上述のストール時間の短縮による読み出し処理の高速化の効果を、より効率的に得ることができる。
第一の実施の形態における、情報処理装置の構成図である。 第一の実施の形態における、入出力ブロックの構成図である。 第一の実施の形態における、データの読み出しおよびデータストリームの生成処理の手順を示すフローチャートである。 第一の実施の形態において、キャッシュラインに格納されたデータからデータストリームを生成する様子を模式的に示す図である。 従来の、転送要求のタイミング調整を行わないときの、各キャッシュメモリにおけるデータの読み出しおよび書き込みのタイミングを示すタイミングチャートである。 第二の実施の形態において、キャッシュラインに格納されたデータの配置例を模式的に示す図である。 第二の実施の形態における、各キャッシュメモリにおけるデータの読み出しおよび書き込みのタイミングを示すタイミングチャートである。
符号の説明
10 制御ブロック、 20 描画ブロック、 30 メインメモリ、 40 入出力ブロック、 42 アドレス処理部、 44 ヒット判定部、 46 リクエスト発行部、 48 リクエスト調停部、 50 キャッシュメモリ、 52 データ同期化部、 54 ストリーム送出部、 80 表示装置、 100 情報処理装置。

Claims (18)

  1. メモリに格納されたデータの読み出し要求を発行する複数のリクエスト発行部と、
    前記読み出し要求を受け付け、複数の読み出し要求を調停し、前記メモリに伝送するリクエスト調停部と、
    伝送された読み出し要求に従って前記メモリから読み出されたデータを蓄積し、複数の読み出し単位のデータを一のデータストリームに同期化して出力するデータ同期化部と、を備え、
    前記リクエスト調停部は、前記データ同期化部における同期化待ち時間を短縮する方針で、複数の読み出し要求の調停を行うことを特徴とする情報処理装置。
  2. 前記リクエスト調停部は、複数の読み出し要求を前記メモリに伝送する順序の調停を行うことを特徴とする請求項1に記載の情報処理装置。
  3. 前記リクエスト調停部による複数の読み出し要求に対する調停の結果、当該複数の読み出し要求を前記メモリに伝送する時間間隔が調整されることを特徴とする請求項1または2に記載の情報処理装置。
  4. 複数のキャッシュメモリと、
    前記複数のキャッシュメモリのそれぞれに対応して備えられ、入力されたメインメモリ内のアドレスに格納されたデータが、前記キャッシュメモリに存在するか否かを判定する複数のヒット判定部と、
    前記複数のヒット判定部のそれぞれに対応して備えられ、前記データが前記キャッシュメモリに存在しないと判定された場合に、前記メインメモリから前記キャッシュメモリへのデータの転送要求を発行する複数のリクエスト発行部と、
    前記転送要求を受け付け、複数の転送要求の調停を行い、前記メインメモリに伝送するリクエスト調停部と、
    伝送された転送要求に従って前記メインメモリより前記複数のキャッシュメモリへ転送された複数の転送単位のデータを、一のデータストリームに同期化して後段の回路へ出力するデータ同期化部と、を備え、
    前記リクエスト調停部は、前記データ同期化部における同期化待ち時間を短縮する方針で、前記複数の転送要求の調停を行うことを特徴とする情報処理装置。
  5. 前記データストリームは、後段で行われる画像処理において一のフレームデータの生成に用いられる画像データのセットであり、前記複数のキャッシュメモリは、画像データの種目ごとにそれぞれデータを格納することを特徴とする請求項4に記載の情報処理装置。
  6. 前記リクエスト調停部は、複数の転送要求を前記メインメモリに伝送する順序を調停することを特徴とする請求項4または5に記載の情報処理装置。
  7. 前記リクエスト調停部は、前記ヒット判定部によってキャッシュメモリに存在しないと判定される確率の高いデータの転送要求を優先して前記メインメモリへ伝送することを特徴とする請求項6に記載の情報処理装置。
  8. 前記リクエスト調停部は、サイズが大きいデータの転送要求を優先して前記メインメモリへ伝送することを特徴とする請求項6に記載の情報処理装置。
  9. 前記リクエスト調停部は、前記複数の転送要求のうち、所定の種目に属するデータの読み出し要求を優先して、前記メインメモリに伝送することを特徴とする請求項6に記載の情報処理装置。
  10. 前記リクエスト調停部による複数の転送要求に対する調停の結果、複数の転送要求を前記メインメモリに伝送する時間間隔が調整されることを特徴とする請求項4または5に記載の情報処理装置。
  11. 前記キャッシュメモリに含まれるキャッシュラインの先頭アドレスに対して、当該キャッシュラインに格納するデータの先頭アドレスに、キャッシュメモリごとに異なるオフセットを与えることにより、前記リクエスト調停部が複数の転送要求を前記メインメモリへ伝送する時間間隔が調整されることを特徴とする請求項10に記載の情報処理装置。
  12. メモリに格納されたデータの読み出し要求を受け付けるステップと、
    複数の読み出し要求の調停を行うステップと、
    前記調停の結果に従い複数の読み出し要求を前記メモリに順次伝送するステップと、
    伝送された読み出し要求に従い前記メモリから読み出されたデータを蓄積するステップと、
    蓄積された複数の読み出し単位のデータを一のデータストリームに同期化して出力するステップと、を含み、
    前記複数の読み出し要求の調停を行うステップは、同期化待ち時間を短縮する方針で調停を行うことを特徴とする情報処理方法。
  13. 入力されたメインメモリ内のアドレスに格納されたデータが複数のキャッシュメモリののうち所定のキャッシュメモリに存在するか否かを判定するステップと、
    データが所定のキャッシュメモリに存在しないと判定された場合に、前記メインメモリから前記所定のキャッシュメモリへのデータの転送要求を発行するステップと、
    複数の転送要求の調停を行うステップと、
    調停の結果に従い複数の転送要求を前記メインメモリに伝送するステップと、
    伝送された転送要求に従って前記メインメモリより前記所定のキャッシュメモリへデータを転送するステップと、
    前記複数のキャッシュメモリへ転送された複数の転送単位のデータを一のデータストリームに同期化して出力するステップと、を含み、
    前記複数の転送要求の調停を行うステップは、同期化待ち時間を短縮する方針で調停を行うことを特徴とする情報処理方法。
  14. 前記複数の転送要求の調停を行うステップは、キャッシュメモリに存在しないと判定される確率の高いデータの転送要求を優先して、前記メインメモリへ伝送する順序を決定することを特徴とする請求項13に記載の情報処理方法
  15. 前記キャッシュメモリに含まれるキャッシュラインの先頭アドレスに対して、当該キャッシュラインに格納するデータの先頭アドレスに、キャッシュメモリごとに異なるオフセットを与えることにより、前記複数の転送要求の調停を行うステップにおいて、複数の転送要求を前記メインメモリへ伝送する時間間隔が調整されることを特徴とする請求項13または14に記載の情報処理方法。
  16. 複数の読み出し要求によって複数のデータ要素をメモリから読み出して同期化し、一のデータストリームを生成するデータストリーム生成方法であって、
    前記同期化待ち時間を短縮する方針で、前記複数の読み出し要求の発行タイミングを調整することを特徴とするデータストリーム生成方法。
  17. メモリに格納されたデータの読み出し要求を発行する複数のリクエスト発行部と、
    前記読み出し要求を受け付け、複数の読み出し要求を調停し、前記メモリに伝送するリクエスト調停部と、
    伝送された読み出し要求に従って前記メモリから読み出されたデータを蓄積し、複数の読み出し単位のデータを一のデータストリームにパケット化して出力するデータ同期化部と、を備え、
    前記リクエスト調停部は、前記複数の読み出し要求を前記メモリに伝送する順序の調停を行うことを特徴とする情報処理装置。
  18. メモリに格納されたデータの読み出し要求を発行する複数のリクエスト発行部と、
    前記読み出し要求を受け付け、複数の読み出し要求を調停し、前記メモリに伝送するリクエスト調停部と、
    伝送された読み出し要求に従って前記メモリから読み出されたデータを蓄積し、複数の読み出し単位のデータを一のデータストリームに同期化して出力するデータ同期化部と、を備え、
    前記リクエスト調停部による複数の読み出し要求に対する調停の結果、前記複数の読み出し要求を前記メモリに伝送する時間間隔が調整されることを特徴とする情報処理装置。
JP2005040887A 2005-02-17 2005-02-17 情報処理装置、情報処理方法、およびデータストリーム生成方法 Expired - Fee Related JP4275085B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005040887A JP4275085B2 (ja) 2005-02-17 2005-02-17 情報処理装置、情報処理方法、およびデータストリーム生成方法
US11/311,700 US7475210B2 (en) 2005-02-17 2005-12-19 Data stream generation method for enabling high-speed memory access

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005040887A JP4275085B2 (ja) 2005-02-17 2005-02-17 情報処理装置、情報処理方法、およびデータストリーム生成方法

Publications (2)

Publication Number Publication Date
JP2006227912A JP2006227912A (ja) 2006-08-31
JP4275085B2 true JP4275085B2 (ja) 2009-06-10

Family

ID=36816968

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005040887A Expired - Fee Related JP4275085B2 (ja) 2005-02-17 2005-02-17 情報処理装置、情報処理方法、およびデータストリーム生成方法

Country Status (2)

Country Link
US (1) US7475210B2 (ja)
JP (1) JP4275085B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003102919A1 (en) 2002-05-31 2003-12-11 Onkyo Corporation Network type content reproduction system
JP2006065805A (ja) * 2004-08-30 2006-03-09 Canon Inc 画像処理装置及び制御方法
US8832706B2 (en) * 2006-12-22 2014-09-09 Commvault Systems, Inc. Systems and methods of data storage management, such as dynamic data stream allocation
JP4275085B2 (ja) * 2005-02-17 2009-06-10 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、情報処理方法、およびデータストリーム生成方法
US8593474B2 (en) * 2005-12-30 2013-11-26 Intel Corporation Method and system for symmetric allocation for a shared L2 mapping cache
JP4535047B2 (ja) * 2006-09-06 2010-09-01 ソニー株式会社 画像データ処理方法、画像データ処理方法のプログラム、画像データ処理方法のプログラムを記録した記録媒体及び画像データ処理装置
US7796137B1 (en) * 2006-10-24 2010-09-14 Nvidia Corporation Enhanced tag-based structures, systems and methods for implementing a pool of independent tags in cache memories
US9588810B2 (en) * 2007-08-08 2017-03-07 Microsoft Technology Licensing, Llc Parallelism-aware memory request scheduling in shared memory controllers
US8244987B2 (en) 2008-12-04 2012-08-14 Electronics And Telecommunications Research Institute Memory access device including multiple processors
KR20110024147A (ko) * 2009-09-01 2011-03-09 삼성전자주식회사 저항성 메모리 장치의 저항 드리프트를 보상할 수 있는 메모리 시스템 및 메모리 시스템의 데이터 처리 방법
JP2013069063A (ja) * 2011-09-21 2013-04-18 Fujitsu Ltd 通信ユニット及び情報処理方法
US9063938B2 (en) 2012-03-30 2015-06-23 Commvault Systems, Inc. Search filtered file system using secondary storage, including multi-dimensional indexing and searching of archived files
US9639297B2 (en) 2012-03-30 2017-05-02 Commvault Systems, Inc Shared network-available storage that permits concurrent data access
US10169121B2 (en) 2014-02-27 2019-01-01 Commvault Systems, Inc. Work flow management for an information management system
US9898213B2 (en) 2015-01-23 2018-02-20 Commvault Systems, Inc. Scalable auxiliary copy processing using media agent resources
US10313243B2 (en) 2015-02-24 2019-06-04 Commvault Systems, Inc. Intelligent local management of data stream throttling in secondary-copy operations
US9984004B1 (en) * 2016-07-19 2018-05-29 Nutanix, Inc. Dynamic cache balancing
US11227361B2 (en) * 2020-05-06 2022-01-18 Renesas Electronics Corporation Image processing device with parallel memory access

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761706A (en) * 1994-11-01 1998-06-02 Cray Research, Inc. Stream buffers for high-performance computer memory system
US5809538A (en) * 1996-02-07 1998-09-15 General Instrument Corporation DRAM arbiter for video decoder
US6092158A (en) * 1997-06-13 2000-07-18 Intel Corporation Method and apparatus for arbitrating between command streams
US6088772A (en) * 1997-06-13 2000-07-11 Intel Corporation Method and apparatus for improving system performance when reordering commands
GB9727485D0 (en) * 1997-12-30 1998-02-25 Sgs Thomson Microelectronics Processing a data stream
US6825848B1 (en) * 1999-09-17 2004-11-30 S3 Graphics Co., Ltd. Synchronized two-level graphics processing cache
JP2001216194A (ja) * 2000-01-28 2001-08-10 Sony Corp 演算処理装置
US6622272B1 (en) * 2000-03-10 2003-09-16 Teradyne, Inc. Automatic test equipment methods and apparatus for interfacing with an external device
US20020046251A1 (en) * 2001-03-09 2002-04-18 Datacube, Inc. Streaming memory controller
GB2373595B (en) * 2001-03-15 2005-09-07 Italtel Spa A system of distributed microprocessor interfaces toward macro-cell based designs implemented as ASIC or FPGA bread boarding and relative common bus protocol
JP4132788B2 (ja) * 2001-11-15 2008-08-13 三菱電機株式会社 データ通信装置
US7200137B2 (en) * 2002-07-29 2007-04-03 Freescale Semiconductor, Inc. On chip network that maximizes interconnect utilization between processing elements
DE60307798T2 (de) * 2003-05-30 2006-12-14 Agilent Technologies, Inc., Palo Alto Arbitrierung von gemeinsamen Speicher
JP4055903B2 (ja) * 2003-12-26 2008-03-05 シャープ株式会社 バス通信システム
JP4275085B2 (ja) * 2005-02-17 2009-06-10 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、情報処理方法、およびデータストリーム生成方法

Also Published As

Publication number Publication date
JP2006227912A (ja) 2006-08-31
US7475210B2 (en) 2009-01-06
US20060184737A1 (en) 2006-08-17

Similar Documents

Publication Publication Date Title
JP4275085B2 (ja) 情報処理装置、情報処理方法、およびデータストリーム生成方法
JP4439491B2 (ja) マルチグラフィックスプロセッサシステム、グラフィックスプロセッサおよびデータ転送方法
JP5715644B2 (ja) 高速仮想メモリシステムでデータを保存するためのシステムおよび方法
CN101650698B (zh) 直接存储器访问的实现方法
US9436506B2 (en) Effective scheduling of producer-consumer processes in a multi-processor system
US8244984B1 (en) System and method for cleaning dirty data in an intermediate cache using a data class dependent eviction policy
JP3846638B2 (ja) 画素エンジン・データ・キャッシング機構
JP4416694B2 (ja) データ転送調停装置およびデータ転送調停方法
KR101121592B1 (ko) 버스트 판독기록 동작을 구비한 처리 장치
EP1880277B1 (en) Command execution controlling apparatus, command execution instructing apparatus and command execution controlling method
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
US8949541B2 (en) Techniques for evicting dirty data from a cache using a notification sorter and count thresholds
JP6401512B2 (ja) キャッシュメモリシステム及びその動作方法
CN102375800A (zh) 用于机器视觉算法的多处理器片上系统
JP2006146921A (ja) 追跡バッファでブックマークを使用するための方法及びシステム
US8060700B1 (en) System, method and frame buffer logic for evicting dirty data from a cache using counters and data types
CN112789603A (zh) 用于在重排序期间维持高速缓存一致性的方法
US8738863B2 (en) Configurable multi-level buffering in media and pipelined processing components
EP2530598B1 (en) Data supply device, cache device, data supply method, and cache method
JP2006350555A (ja) コマンド転送制御装置およびコマンド転送制御方法
CN112189324A (zh) 带宽匹配的调度器
JP3444154B2 (ja) メモリアクセス制御回路
JP5580660B2 (ja) 情報処理装置、回路、情報処理方法、及びプログラム
US7480739B1 (en) Segregated caching of linked lists for USB
JPH10177541A (ja) データ転送装置及びデータ転送システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090224

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4275085

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120313

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130313

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140313

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

LAPS Cancellation because of no payment of annual fees