JP2018077564A - 情報処理装置、及び情報処理システム - Google Patents
情報処理装置、及び情報処理システム Download PDFInfo
- Publication number
- JP2018077564A JP2018077564A JP2016217286A JP2016217286A JP2018077564A JP 2018077564 A JP2018077564 A JP 2018077564A JP 2016217286 A JP2016217286 A JP 2016217286A JP 2016217286 A JP2016217286 A JP 2016217286A JP 2018077564 A JP2018077564 A JP 2018077564A
- Authority
- JP
- Japan
- Prior art keywords
- address
- designated
- main memory
- data
- list
- 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.)
- Granted
Links
Images
Landscapes
- Information Transfer Systems (AREA)
- Memory System (AREA)
Abstract
Description
高速データ転送が可能なインターフェースの規格の1つにPCIe(PCI Express)があり、PCIe接続のSSD(Solid State Drive)のコマンド規格としてAHCI(Advanced Host Controller Interface)やNVMe(Non-Volatile Memory Express)がある。特に後者はキューに発行できるコマンド数がAHCIに比べて拡張されていることから、SSDの性能を最大限に発揮させることができる規格として、今後、急速な普及が予想される。
ここで、NVMeにおいては、メインメモリを介してデータやコマンドの受け渡しが行われる。図11(a)、(b)は、NVMe規格におけるデータの転送方法について説明するための模式図である。NVMe規格では、例えばデータの転送先となるメインメモリ上に夫々4KB(キロバイト)からなる複数の小領域を確保し、各小領域の先頭アドレスを夫々8バイトのPRP(Physical Region Page)リストにより管理する。
本発明は上述の事情に鑑みてなされたものであり、PRPリストによるメモリの消費を低減することを目的とする。
ここで、NVMeコマンド規格においては、夫々のPRPリストによってメインメモリ上の1つの小領域(例えば4KB)を表現する。
本発明においては、夫々のPRPリストによってメインメモリ上の連続する複数の小領域を表現する点に特徴がある。具体的には、メインメモリ上の連続する領域の先頭に位置する開始アドレスをポインタ情報としてPRPリストに保持させる。開始アドレスに対して小領域のサイズに応じた加算アドレス(例えば、4KB、8KB、16KB…)を加算した仮想アドレスを順次生成することにより、1つのPRPリストでメインメモリ上の連続した複数の小領域群を表現する。
以下、本発明を図に示した実施形態を用いて詳細に説明する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対配置などは特定的な記載がない限り、この発明の範囲をそれのみに限定する主旨ではなく単なる説明例に過ぎない。
図1は、本発明の一実施形態に係る画像処理装置を示すハードウェアブロック図である。
画像処理装置100は、メインCPU(Central Processing Unit)101、メインメモリ103、GPU(Graphics Processing Unit)105(画像処理ユニット)、表示装置111、及び、CGROM(Character Generator ROM)コントローラ120を備える。メインCPU101、メインメモリ103、GPU105、及びCGROMコントローラ120は、メインバス151により接続されている。また、画像処理装置100は、外部記憶装置140が接続されるPCIeインターフェースを備えており、画像処理装置100と外部記憶装置140とによって画像処理システム(情報処理システム)が構成される。画像処理装置100は、外部記憶装置140に記憶されたデータをNVMeコマンド規格に従ってメインメモリ103に格納する。
メインメモリ103は、画像処理装置100の各部がメインバス151を介してアクセス可能な揮発性の記憶手段である。メインメモリ103は、メインCPU101が作成したコマンドリスト、ディスプレイリスト、外部記憶装置140から読み出された画像データ、及びGPU105が描画した画像データ等を格納する。メインメモリ103は大容量の、例えばDDR(Double-Data-Rate)3メモリ等から構成される。
GPU105は画像処理専用の処理装置であり、描画回路107、及び表示回路109を備える。描画回路107は、メインCPU101から供給されるディスプレイリストに基づいて画像を描画する回路である。表示回路109は、描画回路107が描画した画像を表示装置111に表示させる回路である。
表示装置111は画像を表示する手段であり、LCD(Liquid Crystal Display)等から構成される。
CGROMコントローラ120は、cgbI/F121、サブCPU123(指定アドレス指示手段)、PCIeRC・IP125、及びアドレス記憶ユニット129を備える。cgbI/F121、サブCPU123、PCIeRC・IP125、及びアドレス記憶ユニット129は、CGROMコントローラ120内の各部を接続する内部バス153により接続されている。
サブCPU123は、CGROMコントローラ120の全体を制御する処理装置である。サブCPU123は、NVMe規格のフォーマットに従ったコマンドリストをRC・IP125を介して外部記憶装置140に出力する。
PCIeRC・IP125は、PCIe(PCI Express)のルートコンプレックスIP(Root Complex IP)である(以下、単に「RC・IP」と表記する)。RC・IP125は、外部記憶装置140(指定アドレス指示手段)を接続するPCIeインターフェースを有したコントローラであり、PCIeインターフェースを制御する。また、RC・IP125は、外部記憶装置140に対するデータのリードリクエストを中継するブリッジとして機能する。したがって、サブCPU123からのコマンドリストはRC・IP125を介して外部記憶装置140に出力され、外部記憶装置140のコントローラ(図示省略)によってリクエストされたリードデータが読み出され、また読み出したデータのメインメモリ103への格納先情報は外部記憶装置140のコントローラがRC・IP125を介してアドレス記憶ユニット129から入手する。
外部記憶装置140はRC・IP125にPCIe接続するSSD等の不揮発性記憶装置であり、GPU105が描画する画像のコンテンツデータを格納する。
図1に示すようにアドレス記憶ユニット129は、アドレス生成回路130(仮想アドレス生成手段)、及びSRAM(Static Random Access Memory:PRPリスト格納メモリ)139を備える。アドレス生成回路130は、外部記憶装置140から読み出したデータをメインメモリ103に格納するための仮想アドレスを生成する。
図2は、アドレス生成回路の構成を示す機能ブロック図である。
アドレス生成回路130は、アドレス割当部131(アドレス割当手段)、PRPリスト開始アドレス記憶部133、指定アドレス解析部135(指定アドレス解析手段)、及び、仮想アドレス算出部137(仮想アドレス算出手段)を備える。
アドレス割当部131は、複数の指定アドレスを1つのPRPリスト(1つの開始アドレス)に割り当てる手段である。PRPリスト開始アドレス記憶部133は、SRAM139から読み出した開始アドレスの1つを一時的に記憶する手段である。指定アドレス解析部135は、指定アドレスから、指定アドレスに対応する開始アドレスを記憶しているSRAMのアドレスと、指定アドレスに対応する加算アドレスを求める手段である。仮想アドレス算出部137は、指定アドレスに対応する開始アドレスと加算アドレスとに基づいて仮想アドレスを算出する手段である。
SRAM139は、アドレス生成回路130から高速アクセス可能な揮発性メモリであり、メインメモリ103に設けた複数のデータ格納用の領域について、夫々の開始アドレス(PRPリスト)を格納する。
CGROMコントローラによるアドレスの割り当て例について説明する。ここでは、メインメモリに夫々連続した1MBからなる4つの領域(領域0,1,2,3)を確保できる場合の例により説明する。
図3(a)、(b)は、メインメモリに確保される領域の一例を示す模式図である。メインメモリに確保する各領域0〜3は、図3(a)に示すように互いに連続した領域であってもよいし、図3(b)に示すように互いに連続していない領域であってもよい。
「指定アドレス」は、サブCPU123から出力されるコマンドリストに含まれ、外部記憶装置140がRC・IP125を介してアドレス記憶ユニット129から読み出す情報が格納されている場所を示す。具体的には、指定アドレスは、アドレス生成回路130内のアドレスであって、情報が格納されている領域の先頭アドレスである。RC・IP125を介して外部記憶装置140がアドレス記憶ユニット129から読み出す情報とは、外部記憶装置140が読み出したデータのメインメモリへの格納場所を示す仮想アドレスである。
「SRAMのアドレス」は、指定アドレスに対応するメインメモリの「開始アドレス」を格納しているSRAM139内のアドレスを示す。
メインメモリの「開始アドレス」は、メインメモリ103上に確保した各領域0〜3の先頭に位置するアドレスを示す情報(データ)であり、夫々8バイトからなる。メインメモリの開始アドレスはNVMe規格に定義されているPRPリスト(非特許文献1、4.3 Physical Region Page Entry and List)そのものである。本例では、メインメモリ103の一つの領域として1MBを割り当てていると共に、メモリページサイズを4KBに設定したので、1つの開始アドレスに対して夫々256個の指定アドレスが付与され、メインメモリ103の1MBの領域を管理することができる。
なお、本明細書では、説明の便宜上、夫々のメインメモリの開始アドレスに「PRPリスト番号」を付して、「PRPリスト#0」、「PRPリスト#1」…のようにも表記する。
このように、夫々のPRPリスト#0〜#3にはメインメモリ103のメモリ空間として、夫々1MBの連続領域を表現する仮想アドレスが割り当てられる。
続いて、アドレス記憶ユニット129の動作の概要について、図2、及び図4を参照して説明する。
また、アドレス割当部131は、夫々の指定アドレスに加算アドレスを対応づける。指定アドレスと加算アドレスとの対応関係は、アドレス生成回路130のレジスタ内に保持される。アドレス割当部131はレジスタに、指定アドレスから加算アドレスを算出するための演算式を保持させてもよいし、複数の指定アドレス(0,1,2…)と各指定アドレスに対応する加算アドレス(0KB,4KB,8KB…)を夫々保持させてもよい。なお、レジスタの容量を効率的に使用するためには、前者の方が望ましい。
PRPリスト開始アドレス記憶部133は、指定アドレス解析部135が導出したSRAM139のアドレスから読み出された1つのPRPリストの開始アドレスを一時的に記憶する。
他のアドレスの割り当て例について説明する。図5〜図8は、アドレスの割り当て例を説明する図である。1つのPRPリストで管理するメインメモリ103の領域は1MBである必要はないし、加算アドレス(メモリページサイズ)は4KBに限られない。
図5は、1つのPRPリストでメインメモリ103の512KBの領域を管理する例である。本例では、加算アドレス(メモリページサイズ)が4KBであるため、1つのPRPリストに対して128個の指定アドレスが対応づけられている。
図6は、1つのPRPリストでメインメモリ103の2MBの領域を管理する例である。本例では、加算アドレス(メモリページサイズ)が4KBであるため、1つのPRPリストに対して512個の指定アドレスが対応づけられている。
図7は、1つのPRPリストでメインメモリ103の2MBの領域を管理する例である。本例では、加算アドレス(メモリページサイズ)が8KBであるため、1つのPRPリストに対して、256個の指定アドレスが対応づけられている。
図8は、実際にメインメモリ103に確保される領域(512KB)と1つのPRPリストで管理できる領域のサイズ(1MB)とが異なっている例である。本例では、実際にメインメモリ103に確保された領域に対応する指定アドレス0〜127のみをメモリの領域管理に利用し、他の指定アドレス128〜255は利用しない。
画像処理装置の起動時の動作について説明する。図9は、画像処理装置の起動時の動作を示すシーケンス図である。なお、この処理は、GPU105の起動前に実行される。画像処理装置100の起動時にサブCPU123はSRAM139を初期化すると共に、例えば図4に示すような開始アドレスD0〜D3を記述したPRPリスト#0〜#3を生成してSRAM139に格納する処理を実行する。
ここで、図3(a)に示すように連続領域がメインメモリ103内で単一の連続領域として確保されている場合、メインCPU101は、連続領域の先頭アドレスD0と連続領域の大きさ(例えば4MB)をサブCPU123に出力する。また、図3(b)に示すように連続領域がメインメモリ103内で分散している場合、メインCPU101は、各連続領域0、1…の先頭アドレス(D0,D1…)と各連続領域の大きさ(例えば夫々1MB)をサブCPU123に出力する。なお、メインCPU101は、図3(a)に示すような連続領域を小さい連続領域に区切り、区切られた夫々の連続領域の先頭アドレスD0、D1…と、各連続領域の大きさ(例えば夫々1MB)をサブCPU123に出力するようにしてもよいし、連続領域の先頭アドレスD0と各連続領域の大きさ(例えば夫々1MB)をサブCUP123に出力するようにしても良い。
例えば、図3(a)に示すように4MBの連続した領域が利用可能であり、サブCPU123がメインCPU101から先頭アドレスD0と領域の大きさとして4MBの情報を取得しているが、PRPリストにおいて連続領域の1単位を1MBに設定する場合は、以下のように処理される。即ち、サブCPU123は、開始アドレスD0をポインタ情報として有するPRPリスト#0を生成し、開始アドレスD0から1MBずれた開始アドレスD1をポインタ情報として有するPRPリスト#1を生成する。サブCPU123は上記動作を順次実行して合計4個のPRPリストを生成する。
また、図3(a)に示すように4MBの連続した領域が確保されているが、メインCPU101から1MB毎に区切られた連続領域に関する情報が出力された場合、サブCPU123は開始アドレスD0〜D3を夫々ポインタ情報として有する4個のPRPリスト#0〜#3を生成する。
更に、図3(b)に示すように分散した複数の連続領域が確保されており、各連続領域を夫々1つのPRPリストで管理する場合、サブCPU123は、開始アドレスD0をポインタ情報として有するPRPリスト#0を生成し、以下同様に開始アドレスD1〜D3をポインタ情報として有するPRPリスト#1〜#3を生成する。
ステップS5において、サブCPU123は、メモリページサイズを、アドレス記憶ユニット129を構成するアドレス生成回路130のレジスタに記憶させる。
ステップS6において、アドレス生成回路130のアドレス割当部131は、メモリページサイズに基づいて、1つのPRPリストに対して複数の指定アドレスを割り当てる。例えば、メモリページサイズが4KB、1つのPRPリストでメインメモリ103の1MBの領域を管理する場合は、PRPリスト#0に指定アドレス0〜255を割り当て、PRPリスト#1に指定アドレス256〜511を割り当てる。アドレス割当部131は、指定アドレスとPRPリストのSRAM139内におけるアドレスとの対応関係をレジスタに記憶させる。
ステップS7において、アドレス生成回路130のアドレス割当部131は、加算アドレスを設定する。即ち、アドレス割当部131は、メモリページサイズに基づいて、各指定アドレスに加算アドレスを対応づけると共に、その対応関係をレジスタに記憶させる。
画像処理装置が外部記憶装置からデータを取得して表示装置に出力する動作について説明する。図10は、画像データの読み出し時の画像処理装置の動作を示すシーケンス図である。
ステップS15において、描画回路107は、ディスプレイリストに基づいて、例えば1フレーム分の画像形成に必要な画像データのリードリクエストを、cgbI/F121を介してCGROMコントローラ120のサブCPU123に出力する。このリードリクエストには、外部記憶装置140から読み出すデータの読み出し先頭アドレスと、データ量の情報とが含まれている。
ステップS21において、外部記憶装置140のコントローラはコマンドリストに含まれる指定アドレスに基づきRC・IP125を介してアドレス記憶ユニット129にアクセスする。1つの指定アドレスはメモリページサイズ1つ分(例えば4KB)のデータに対応する。
ステップS23において、アドレス記憶ユニット129を構成するアドレス生成回路130の指定アドレス解析部135は、指定アドレスを解析する。即ち、指定アドレス解析部135は、RC・IP125を介して外部記憶装置140から出力された指定アドレスに基づいて、指定アドレスに対応するPRPリストが格納されたSRAMのアドレスと加算アドレスとを求める。例えば指定アドレス「0」の場合は、SRAMのアドレス「0」と、加算アドレス「0」を求める。
例えば、指定アドレス「0」の場合、指定アドレス解析部135は、SRAMのアドレス「0」から開始アドレス「D0」を取得する。また、指定アドレス解析部135は、取得した開始アドレスをPRPリスト開始アドレス記憶部133に一時的に記憶させる。
例えば、指定アドレス「1」の場合、指定アドレス解析部135は、SRAMのアドレス「0」から開始アドレス「D0」を取得する。また、指定アドレス解析部135は、取得した開始アドレスをPRPリスト開始アドレス記憶部133に一時的に記憶させる。
ステップS41は、ステップS29と同様である。ステップS41において、外部記憶装置140は、アドレス記憶ユニット129内の指定アドレスから仮想アドレスを読み出す。
例えばコマンドリストに含まれる指定アドレスが「0」で、外部記憶装置140からの読み出しデータ量が32KBの場合、外部記憶装置140はステップS21〜S31で指定アドレス「0」に対応するデータの読み出しと書き込みを実行した後に、ステップS33〜S43を実行して順次、指定アドレス「1」〜「7」を生成し、4KBずつのデータをメインメモリ103の仮想アドレス「D0+4K」〜「D0+28K」に格納する。
ステップS47において、サブCPU123はメインメモリ103上の仮想アドレスを指定して、該アドレスに格納されたデータを読み出す。
ステップS49において、サブCPU123は、cgbI/F121を介して読み出したデータを描画回路107に出力する。ここで、描画回路107とcgbI/F121はマスタとスレーブの関係にある。ステップS15でマスタである描画回路107からスレーブであるcgbI/F121に対して行われたリクエストに対するレスポンスとしてのリードデータは、cgbI/F121から描画回路107に返される。
ステップS53において、描画回路107は、描画処理により生成した画像データをメインメモリ103に格納する。
ステップS55において、表示回路109は、表示装置111の表示タイミングに基づいてメインメモリ103から画像データを取得する。
ステップS57において、表示回路109は、表示装置111に表示画面としての画像データを出力する。
サブCPU123は、コマンドリストに含める指定アドレスを管理する。以下、図4を参照しながら説明する。
サブCPU123は、直前のリードリクエストで使用していない指定アドレスをコマンドリストに含めるように制御する。例えば、サブCPU123は、直前のリードリクエストで使用された指定アドレスの直後に位置する指定アドレス(未使用の指定アドレス)をコマンドリストに含めるように制御する。なお、サブCPU123は、コマンドリストに含めた指定アドレスと、メモリページサイズと、読み出しデータ量とから、直前のリードリクエストで使用された指定アドレスを認識することができる。
仮に、直前のリードリクエストで指定アドレス0〜3が使用された場合、サブCPU123は、次のリードリクエストに基づくコマンドリストに指定アドレス4を含める。また、外部記憶装置140のコントローラは、コマンドリストに含まれた指定アドレス4からカウントアップする。
サブCPU123は、1つのリードリクエストで要求されるデータの全体が、メインメモリ103内に連続して格納されるように、コマンドリストに含める指定アドレスを制御する。例えば、サブCPU123は、1つのPRPリストによって表現されるメインメモリの連続する1領域に1つのリードリクエストに基づくデータの全部を格納できない場合、他のPRPリストに割り当てられている指定アドレスをコマンドリストに含めるように制御する。
仮に、メインメモリ103に図3(b)に示すような分散した領域0〜3が確保されているとする。図4の指定アドレス0〜250までが使用済みの結果、領域0の残容量が20KB、領域1は未使用であるとする。読み出しデータのデータ量が32KBの場合、読み出しデータの全体を領域0の未使用部分に格納することはできない。そこで、サブCPU123は、読み出しデータの全体がメインメモリ103の領域1に格納されるように、図4に示す指定アドレス256をコマンドリストに含めるように制御する。この場合、読み出しデータは、図4の指定アドレス256〜263に対応するメインメモリ103内の領域に格納される。
サブCPU123は、1つのリードリクエストで要求されるデータの全体が、メインメモリ103内に連続して格納されるように、コマンドリストに含める指定アドレスを制御する。例えば、サブCPU123は、1つのリードリクエストに対して1つのPRPリストを割り当てるように、コマンドリストに含める指定アドレスを制御する。
具体的には、1番目に出力されたリードリクエストに対して、サブCPU123は、PRPリスト#0に対応づけられた複数の指定アドレスのうちの先頭に位置するアドレス(指定アドレス0)を含むコマンドリストを生成する。また、2番目に出力されたリードリクエストに対して、サブCPU123は、PRPリスト#1に対応づけられた複数の指定アドレスのうちの先頭に位置するアドレス(指定アドレス256)を含むコマンドリストを生成する。
このような処理は、サブCPU123が複数のリードリクエストを並列処理する場合に特に有効である。
サブCPU123は、1つのリードリクエストで要求されるデータの全体が、メインメモリ103内に連続して格納されるように、コマンドリストに含める指定アドレスを制御する。例えば、サブCPU123は、複数のPRPリストに跨がって表現されるメインメモリの連続する領域に1つのリードリクエストに基づくデータの全部を格納するように、コマンドリストに含める指定アドレスを制御する。
仮に、メインメモリ103に図3(a)に示すような連続した領域0〜3が確保されているとする。図4の指定アドレス0〜250までが使用済みの結果、領域0の残容量が20KB、領域1は未使用であるとする。読み出しデータのデータ量が32KBの場合、サブCPU123は、図4に示す指定アドレス251をコマンドリストに含めることで、読み出しデータを指定アドレス251〜258に対応するメインメモリ103内の領域に格納される。このように、PRPリストで管理する領域がメインメモリ内で連続する場合は、メインメモリ103の隣接する領域に跨がってデータを格納してもよい。
上記制御は、1つのリードリクエストで読み出すデータ量が、1つのPRPリストで管理するメインメモリの領域のサイズよりも大きい場合にも同様に適用できる。
上記実施形態においては、PRPリストの格納先として、CGROMコントローラ120に用意したSRAM139を利用したが、PRPリストの格納場所はメインメモリ103であってもよいし、他のメモリであってもよい。
上記実施形態においては、サブCPU123が画像処理装置100の起動時にPRPリストをSRAM139に格納したが、PRPリストは少なくともステップS17のコマンドリストの作成前に格納されていればよい。例えば、サブCPU123は、ステップS15のリードリクエストを受け取った後に、PRPリストを生成してSRAM139に格納してもよい。
サブCPU123が自身のレジスタに設定するメモリページサイズは、外部記憶装置140のメモリページサイズの最小値には限られない。例えば、サブCPU123は、外部記憶装置140のCAPレジスタに記述されたメモリページサイズの最大値(CAP.MPSMAX)を、自身のレジスタに設定してもよい。
上記実施形態においてはサブCPU123が外部記憶装置140に対して指定アドレスを指示し、また外部記憶装置140が指定アドレスを用いてアドレス記憶ユニット129に対してアクセスするため、指定アドレス指示手段はサブCPU123及び外部記憶装置140として説明したが、サブCPU123と、外部記憶装置140へのブリッジ機能であるRC・IP125とを指定アドレス指示手段として捉えることもできる。
本発明について、画像処理装置、及び画像処理システムの例により説明したが、本発明は、画像データ以外のデータを処理する装置、例えば音声データを処理する音声処理装置、及び音声処理装置と外部記憶装置とによって構成される音声処理システムにも適用可能である。音声処理装置は、画像処理装置のGPUに代えて音声データを処理するDSP(Digital Signal Processor:音声処理ユニット)を備え、表示装置に代えてスピーカを備える。上記、画像データや音声データを処理する情報処理装置は、パチンコ機やパチスロ機等の遊技機に搭載される。
以上のように本実施形態によれば、1つの開始アドレスから複数の仮想アドレスを生成することにより、メインメモリ上で連続する複数の小領域を1つのPRPリストで表現することができる。従って、メインメモリの領域管理に使用するPRPリストが少なくて済み、PRPリストによるメモリの消費を低減できる。
<第一の実施態様>
本態様に係る情報処理装置(画像処理装置100)は、バスを介してアクセス可能なメインメモリ103と、外部記憶装置140が接続されるPCIeインターフェースを有すると共に該PCIeインターフェースを制御するコントローラ(CGROMコントローラ120)と、を備え、外部記憶装置に記憶されたデータを読み出して、NVMeコマンド規格に従ってメインメモリに格納する装置であり、以下の特徴を有する。
即ち、情報処理装置は、PRPリストを格納するリスト格納メモリ(SRAM139)と、外部記憶装置から読み出したデータをメインメモリに格納するための仮想アドレスを生成する仮想アドレス生成手段(アドレス生成回路130)と、を備え、仮想アドレス生成手段は、複数のアドレスを単一のPRPリストに割り当てると共に、アドレスが指示された場合に指示された指定アドレスに対応するPRPリストに含まれる開始アドレスと指定アドレスに応じた加算アドレスとに基づいて仮想アドレスを生成することを特徴とする。
即ち、PRPリストにはメインメモリ内で連続する領域の先頭に位置する開始アドレスを記述すると共に、1つのPRPリストにリスト格納メモリ内の複数のアドレスを割り当てる。仮想アドレス生成手段は、リスト格納メモリ内のアドレスが指示される毎に、指示された指定アドレスに対応する仮想アドレスを順次生成する。各仮想アドレスはメインメモリ上の各小領域を表現するものであり、開始アドレスに加算アドレスを加算することにより生成される。従って、より少ないPRPリストでメインメモリの連続領域を表現でき、PRPリストによるメモリの消費を低減することができる。
例えば、遊技機等の画像処理装置のように、高速かつ高精細な画像表示が求められている装置においてはPRPリストによるメモリ消費を低減することで、画像処理に割り当てるメモリを増やすことができる。
本態様に係る情報処理装置(画像処理装置100)において、仮想アドレス生成手段(アドレス生成回路130)は、複数のアドレスを単一のPRPリストに割り当てるアドレス割当手段(アドレス割当部131)と、指定アドレスに対応するPRPリストと加算アドレスとを求める指定アドレス解析手段(指定アドレス解析部135)と、求められたPRPリストに含まれる開始アドレスと加算アドレスとに基づいて仮想アドレスを算出する仮想アドレス算出手段(仮想アドレス算出部137)と、を備えることを特徴とする。
本態様は、第一の実施態様と同様の効果を奏する。
本態様に係る情報処理装置(画像処理装置100)は、データのリードリクエストに基づいて仮想アドレス生成手段(アドレス生成回路130)に指定アドレスを指示する指定アドレス指示手段(サブCPU123、外部記憶装置140またはRC・IP125)を備え、指定アドレス指示手段(外部記憶装置140またはRC・IP125)は、直前のリードリクエストにおいて未使用の指定アドレスからカウントアップすることを特徴とする。
本態様によれば、指定アドレスを順番に使用するので、メインメモリのメモリ空間を有効に活用できる。
本態様に係る情報処理装置(画像処理装置100)において、指定アドレス指示手段(サブCPU)は、一のPRPリストによって表現されるメインメモリ103の連続する一領域に一のリードリクエストに基づくデータの全部を格納できない場合、他のPRPリストに割り当てられている指定アドレスを指示することを特徴とする。
本態様によれば、外部記憶装置から読み出したデータを、メインメモリ上に連続した状態で格納することができる。
本態様に係る情報処理装置(画像処理装置100)は、データのリードリクエストに基づいて仮想アドレス生成手段(アドレス生成回路130)に指定アドレスを指示する指定アドレス指示手段(サブCPU123、外部記憶装置140またはRC・IP125)を備え、指定アドレス指示手段(サブCPU123)は、一のリードリクエストに対して一のPRPリストを割り当てるように指定アドレスを指示することを特徴とする。
本態様においては、1つのリードリクエストに対してPRPリストが1対1で割り当てられるので、複数のリードリクエストに基づく処理を並列して実行する場合に、メインメモリのアドレス管理が容易となる。
本態様に係る情報処理装置(画像処理装置100)は、画像データ又は音声データを処理する処理ユニット(GPU105、DSP)と、メインメモリ103上の仮想アドレスに格納されたデータを取得して、処理ユニットに出力するように制御するサブCPU123と、を備えることを特徴とする。
本発明は、遊技機等の画像処理装置や音声処理装置等、メインメモリ上に大きな連続領域を確保することが容易な情報処理装置に特に有効である。
本態様に係る情報処理システムは、情報処理装置(画像処理装置100)と、PCIeインターフェースと接続する外部記憶装置140と、を備えることを特徴とする。
本態様によれば、第一乃至第六の実施態様と同様の効果を奏する。
Claims (7)
- バスを介してアクセス可能なメインメモリと、外部記憶装置が接続されるPCIeインターフェースを有すると共に該PCIeインターフェースを制御するコントローラと、を備え、前記外部記憶装置に記憶されたデータを読み出して、NVMeコマンド規格に従って前記メインメモリに格納する情報処理装置であって、
PRPリストを格納するリスト格納メモリと、
前記外部記憶装置から読み出したデータを前記メインメモリに格納するための仮想アドレスを生成する仮想アドレス生成手段と、を備え、
前記仮想アドレス生成手段は、複数のアドレスを単一のPRPリストに割り当てると共に、前記アドレスの一つが指示された場合に指示された指定アドレスに対応するPRPリストに含まれる開始アドレスと指定アドレスに応じた加算アドレスとに基づいて前記仮想アドレスを生成することを特徴とする情報処理装置。 - 前記仮想アドレス生成手段は、
前記複数のアドレスを前記単一のPRPリストに割り当てるアドレス割当手段と、
前記指定アドレスに対応するPRPリストと前記加算アドレスとを求める指定アドレス解析手段と、
求められたPRPリストに含まれる前記開始アドレスと前記加算アドレスとに基づいて前記仮想アドレスを算出する仮想アドレス算出手段と、を備えることを特徴とする請求項1に記載の情報処理装置。 - データのリードリクエストに基づいて前記仮想アドレス生成手段に前記指定アドレスを指示する指定アドレス指示手段を備え、
前記指定アドレス指示手段は、直前のリードリクエストにおいて未使用の指定アドレスからカウントアップすることを特徴とする請求項1又は2に記載の情報処理装置。 - 前記指定アドレス指示手段は、一のPRPリストによって表現されるメインメモリの連続する一領域に一のリードリクエストに基づくデータの全部を格納できない場合、他のPRPリストに割り当てられている指定アドレスを指示することを特徴とする請求項3に記載の情報処理装置。
- データのリードリクエストに基づいて前記仮想アドレス生成手段に前記指定アドレスを指示する指定アドレス指示手段を備え、
前記指定アドレス指示手段は、一のリードリクエストに対して一のPRPリストを割り当てるように前記指定アドレスを指示することを特徴とする請求項1又は2に記載の情報処理装置。 - 画像データ又は音声データを処理する処理ユニットと、
前記メインメモリ上の前記仮想アドレスに格納されたデータを取得して、前記処理ユニットに出力するように制御するサブCPUと、を備えることを特徴とする請求項1乃至5の何れか一項に記載の情報処理装置。 - 請求項1乃至6の何れか一項に記載の情報処理装置と、PCIeインターフェースと接続する外部記憶装置と、を備えることを特徴とする情報処理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016217286A JP6562419B2 (ja) | 2016-11-07 | 2016-11-07 | 情報処理装置、及び情報処理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016217286A JP6562419B2 (ja) | 2016-11-07 | 2016-11-07 | 情報処理装置、及び情報処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018077564A true JP2018077564A (ja) | 2018-05-17 |
JP6562419B2 JP6562419B2 (ja) | 2019-08-21 |
Family
ID=62150678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016217286A Active JP6562419B2 (ja) | 2016-11-07 | 2016-11-07 | 情報処理装置、及び情報処理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6562419B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113064552A (zh) * | 2021-03-24 | 2021-07-02 | 山东华芯半导体有限公司 | 一种自主分离的NVMe PRP获取加速方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11194991A (ja) * | 1998-01-06 | 1999-07-21 | Canon Inc | システムの制御方法及び通信装置 |
JP2013037422A (ja) * | 2011-08-04 | 2013-02-21 | Hitachi Information & Control Solutions Ltd | 制御装置 |
WO2015121912A1 (ja) * | 2014-02-12 | 2015-08-20 | 株式会社日立製作所 | データ記憶装置 |
US20160026388A1 (en) * | 2014-07-24 | 2016-01-28 | Samsung Electronics Co., Ltd. | Data storage device and method of processing data thereof |
-
2016
- 2016-11-07 JP JP2016217286A patent/JP6562419B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11194991A (ja) * | 1998-01-06 | 1999-07-21 | Canon Inc | システムの制御方法及び通信装置 |
JP2013037422A (ja) * | 2011-08-04 | 2013-02-21 | Hitachi Information & Control Solutions Ltd | 制御装置 |
WO2015121912A1 (ja) * | 2014-02-12 | 2015-08-20 | 株式会社日立製作所 | データ記憶装置 |
US20160026388A1 (en) * | 2014-07-24 | 2016-01-28 | Samsung Electronics Co., Ltd. | Data storage device and method of processing data thereof |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113064552A (zh) * | 2021-03-24 | 2021-07-02 | 山东华芯半导体有限公司 | 一种自主分离的NVMe PRP获取加速方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6562419B2 (ja) | 2019-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10732982B2 (en) | Data processing systems | |
KR20190021474A (ko) | 페이지 오류 없이 가상 메모리 내 희소 데이터 세트에의 물리 페이지의 할당 | |
JP7008422B2 (ja) | NVMe装置に対しカーネルモードアクセス及び使用者モードアクセスを同時に可能にする方法及びホストコンピュータシステム並びに非一時的コンピュータ読出可能記録媒体 | |
US20170236244A1 (en) | Graphics processing systems | |
JP6029550B2 (ja) | 計算機の制御方法及び計算機 | |
CN103034524A (zh) | 半虚拟化的虚拟gpu | |
JP4886866B2 (ja) | 主記憶装置へのアクセスを高速化する方法および記憶装置システム | |
JP2022516486A (ja) | リソース管理方法と装置、電子デバイス、及び記録媒体 | |
CN109977037B (zh) | 一种dma数据传输方法及系统 | |
US20040107329A1 (en) | Memory pool configuration system | |
CN107077376B (zh) | 帧缓存实现方法、装置、电子设备和计算机程序产品 | |
CN109766179B (zh) | 一种显存分配方法以及装置 | |
JP3186244B2 (ja) | 仮想計算機システム | |
WO2018119713A1 (zh) | 用于多操作系统的显示方法、装置和电子设备 | |
JP6974510B2 (ja) | データを処理するための方法、装置、デバイス及び媒体 | |
CN113485791B (zh) | 配置方法和访问方法、装置、虚拟化系统和存储介质 | |
JP6562419B2 (ja) | 情報処理装置、及び情報処理システム | |
TW201351276A (zh) | 計算工作的排程和執行 | |
WO2018119712A1 (zh) | 视频显示方法、装置、电子设备和计算机程序产品 | |
CN107329790B (zh) | 一种数据处理方法和电子设备 | |
US11960410B2 (en) | Unified kernel virtual address space for heterogeneous computing | |
US12105623B2 (en) | Virtualized input/output device local memory management | |
CN108701047A (zh) | 具有dma写时复制的高密度虚拟机容器 | |
US20160026567A1 (en) | Direct memory access method, system and host module for virtual machine | |
US20230266992A1 (en) | Processor for managing resources using dual queues, and operating method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180703 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180828 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190122 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190318 |
|
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: 20190702 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190717 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6562419 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |