JP2008305093A - メモリ制御装置、メモリ制御装置の制御方法、プログラム及び記憶媒体 - Google Patents
メモリ制御装置、メモリ制御装置の制御方法、プログラム及び記憶媒体 Download PDFInfo
- Publication number
- JP2008305093A JP2008305093A JP2007150773A JP2007150773A JP2008305093A JP 2008305093 A JP2008305093 A JP 2008305093A JP 2007150773 A JP2007150773 A JP 2007150773A JP 2007150773 A JP2007150773 A JP 2007150773A JP 2008305093 A JP2008305093 A JP 2008305093A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- reading
- descriptor information
- descriptor
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims description 25
- 239000000872 buffer Substances 0.000 description 16
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Landscapes
- Image Input (AREA)
Abstract
【課題】メモリアクセス効率に優れたメモリ制御技術を提供すること。
【解決手段】メモリ制御装置は、バスマスタから入力された読出しの対象となるデータのアドレス情報と、予め設定されているメモリのデータ領域のアドレスを定義する複数のディスクリプタ情報との比較を行う比較部と、比較に基づき、読出しの対象となるデータの格納領域にアクセスするためのディスクリプタ情報を取得する取得部と、取得されたディスクリプタ情報に基づき、メモリにアクセスし、メモリの格納領域からデータを読出す第1の読出し部と、取得されたディスクリプタ情報に基づき、次のアクセスに対応したデータを事前にメモリからデータを読出すための次ディスクリプタ情報を生成する生成部と、生成された次ディスクリプタ情報に基づき、メモリにアクセスし、メモリの格納領域からデータを読出す第2の読出し部と、第2の読出し部により読出されたデータを格納する格納部とを備える。
【選択図】図1
【解決手段】メモリ制御装置は、バスマスタから入力された読出しの対象となるデータのアドレス情報と、予め設定されているメモリのデータ領域のアドレスを定義する複数のディスクリプタ情報との比較を行う比較部と、比較に基づき、読出しの対象となるデータの格納領域にアクセスするためのディスクリプタ情報を取得する取得部と、取得されたディスクリプタ情報に基づき、メモリにアクセスし、メモリの格納領域からデータを読出す第1の読出し部と、取得されたディスクリプタ情報に基づき、次のアクセスに対応したデータを事前にメモリからデータを読出すための次ディスクリプタ情報を生成する生成部と、生成された次ディスクリプタ情報に基づき、メモリにアクセスし、メモリの格納領域からデータを読出す第2の読出し部と、第2の読出し部により読出されたデータを格納する格納部とを備える。
【選択図】図1
Description
本発明はメモリ制御技術に関する。
従来におけるメモリ制御システムの構成例を図6に示す。メモリ制御システムは、バスマスタ601、602、603、604と、メモリコントローラ605と、メモリデバイス606と、を有する。メモリコントローラ605は、バスインタフェース(Bus I/F)607、リードデータ制御回路611、メモリコマンド制御回路612を有する。メモリデバイス606は、ディスクリプタ領域617とデータ領域618とを有する。
例えば、バスマスタ601からメモリデバイス606のディスクリプタ領域617のディスクリプタ情報を読み出す場合、Bus I/F607、メモリコマンド制御回路612を介して、メモリデバイス606にアクセスする。そして、ディスクリプタ領域617からディスクリプタ情報を読み出す。
ディスクリプタ情報は、データ領域618に格納されているデータを特定するための情報であり、ディスクリプタ情報によりデータのアドレスとデータサイズより読み出すデータのデータ領域とが特定される。
上述の従来技術として、例えば、以下の特許文献1に示されるものがある。
特開2005−182538号公報
しかしながら、複数のバスマスタの動作が競合して異なった領域へのアクセスが発生した場合には、メモリデバイス606へのアクセス時にページングミスの発生頻度が増加し、メモリアクセス効率が低下するという問題が生じる。
本発明に係るメモリ制御装置は、バスマスタからのアクセスに基づきメモリからデータの読み出しを行うメモリ制御装置であって、
バスマスタから入力された読み出しの対象となるデータのアドレス情報と、予め設定されているメモリのデータ領域のアドレスを定義する複数のディスクリプタ情報との比較を行う比較手段と、
前記比較に基づき、読み出しの対象となるデータの格納領域にアクセスするためのディスクリプタ情報を取得する取得手段と、
前記取得手段により取得されたディスクリプタ情報に基づき、前記メモリにアクセスし、当該メモリの格納領域からデータを読み出す第1の読み出し手段と、
前記取得手段により取得されたディスクリプタ情報に基づき、次のアクセスに対応したデータを事前に前記メモリからデータを読み出すための次ディスクリプタ情報を生成する生成手段と、
前記生成手段により生成された前記次ディスクリプタ情報に基づき、前記メモリにアクセスし、当該メモリの格納領域からデータを読み出す第2の読み出し手段と、
前記第2の読み出し手段により読み出されたデータを格納する格納手段と、を備え、
前記バスマスタからの次のアクセスに基づきデータを読み出す場合に、前記第1の読み出し手段は、前記メモリへのアクセスに先立ち、前記格納手段に読み出しの対象となるデータが格納されているか判定し、当該格納手段に読み出しの対象となるデータが格納されている場合、前記メモリにアクセスせずに当該格納手段に格納されているデータを読み出して前記バスマスタに出力することを特徴とする。
バスマスタから入力された読み出しの対象となるデータのアドレス情報と、予め設定されているメモリのデータ領域のアドレスを定義する複数のディスクリプタ情報との比較を行う比較手段と、
前記比較に基づき、読み出しの対象となるデータの格納領域にアクセスするためのディスクリプタ情報を取得する取得手段と、
前記取得手段により取得されたディスクリプタ情報に基づき、前記メモリにアクセスし、当該メモリの格納領域からデータを読み出す第1の読み出し手段と、
前記取得手段により取得されたディスクリプタ情報に基づき、次のアクセスに対応したデータを事前に前記メモリからデータを読み出すための次ディスクリプタ情報を生成する生成手段と、
前記生成手段により生成された前記次ディスクリプタ情報に基づき、前記メモリにアクセスし、当該メモリの格納領域からデータを読み出す第2の読み出し手段と、
前記第2の読み出し手段により読み出されたデータを格納する格納手段と、を備え、
前記バスマスタからの次のアクセスに基づきデータを読み出す場合に、前記第1の読み出し手段は、前記メモリへのアクセスに先立ち、前記格納手段に読み出しの対象となるデータが格納されているか判定し、当該格納手段に読み出しの対象となるデータが格納されている場合、前記メモリにアクセスせずに当該格納手段に格納されているデータを読み出して前記バスマスタに出力することを特徴とする。
本発明によれば、メモリアクセス効率に優れたメモリ制御技術の提供が可能になる。
以下、図面を参照して、本発明の好適な実施形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
図1は、本発明の実施形態にかかるメモリ制御装置の構成を例示する図である。バスマスタ101、102、103、104と、メモリコントローラ105、メモリデバイス106がバス構造により接続される。
メモリコントローラ105は、バスマスタからデータの入出力を行うバスインタフェース(Bus I/F)107、バスマスタからの読み出しに先立ちデータのプリフェッチ処理を制御するためのフェッチ制御回路110を有する。また、メモリコントローラ105は、メモリデバイス106から、あるいはフェッチ制御回路110からデータを読み出すためのリードデータ制御回路111、メモリデバイス106へのコマンドを発行するためのメモリコマンド制御回路112を有する。Bus I/F107には、メモリデバイス106のディスクリプタ領域117の情報を含んだディスクリプタ領域リスト108、アドレス判定部(アドレス判定手段)109が含まれる。
ディスクリプタ領域リスト108には、例えば、図4Aに示すように、ディスクリプタ領域の設定例として、スタートアドレス401、次アドレス402、データサイズ403を含む情報が設定される。スタートアドレス401は、データ領域を特定するため先頭アドレス(スタートアドレス)を示す。次アドレス402は、データが分散して格納されているかいなかを判定することが可能な判定情報であり、データが分散して格納されている場合に、次に参照するべきデータ領域の先頭アドレスを示す。また、データサイズ403は、データ領域118(データ格納領域)において該当するデータのデータサイズを示す。ディスクリプタ領域の設定は、個別の処理に対応したディスクリプタ領域情報を数値情報として定義したものであり、通常、レジスタ等のBufferにより構成することが可能である。
アドレス判定部109は、バスマスタからメモリデバイス106のディスクリプタ領域へアクセスする際のアドレス情報と、ディスクリプタ領域リスト108に格納されている情報との比較を行う。入力されたアドレス情報と、ディスクリプタ領域リスト108に格納されている情報とが一致する場合、フェッチ制御回路110、メモリコマンド制御回路112、リードデータ制御回路111が起動される。
メモリコマンド制御回路112、リードデータ制御回路111は、メモリデバイス106からデータを読み取る読み取り回路(読み取り手段)として機能することが可能である。入力されたアドレス情報と、ディスクリプタ領域リスト108に格納されている情報とが一致する場合、メモリコマンド制御回路112は、ディスクリプタ領域リスト108に格納されている情報に基づいて、データの読み取り処理を行うことが可能である。リードデータ制御回路111の制御の下、メモリコマンド制御回路112は、ディスクリプタ領域リスト108に格納されている情報からデータ領域118のスタートアドレスを読み出す。
一方、メモリコマンド制御回路112、リードデータ制御回路111によるデータの読み取りに対応してフェッチ制御回路110によりプリフェッチ処理が実行される。プリフェッチ処理とは、最初にバスマスタより発行されるトランザクションに対して、次に必要な処理に先立ってデータを先に読み出す処理をいう。この処理により、複数のバスマスタからメモリデバイスに対するアクセスが競合する場合であっても、処理レイテンシを削減して処理性能を向上させることが可能になる。
フェッチ制御回路110は、アドレス判定部109で判定された結果から、ディスクリプタ領域117における次エントリを参照するためのディスクリプタコマンド制御部113を有する。また、フェッチ制御回路110は、参照したディスクリプタ領域117の次エントリをデコードするためのディスクリプタデコーダ114、次エントリのデータ領域118を判別するためのデータプリフェッチコマンド制御部115を有する。更に、フェッチ制御回路110は、判別したデータ領域118のデータをプリフェッチの対象として保持するためのプリフェッチバッファ116を有する。
メモリデバイス106は、ディスクリプタ領域117とデータ領域118とを有する。ディスクリプタ領域117には、ディスクリプタ情報として、例えば、図4Aのディスクリプタ領域の設定例に示されるスタートアドレス401、次アドレス402、データサイズ403の値が設定されている。ディスクリプタ情報に対応するデータがディスクリプタ領域リスト108にも設定されている。スタートアドレス401を参照することにより、データ領域118において読み取るべきデータが格納されている領域の先頭アドレスを特定することができる。
メモリコマンド制御回路112、リードデータ制御回路111は、ディスクリプタ領域117の情報に基づいて、データ領域118へアクセスしてデータの読み取り処理を行うことも可能である。
入力されたアドレス情報と、ディスクリプタ領域リスト108に格納されている情報とが一致しない場合、アドレス判定部109はディスクリプタ領域リスト108に格納されていない領域に対するアクセス要求と判定する。この場合、メモリコマンド制御回路112は、メモリデバイス106のディスクリプタ領域117からディスクリプタ情報を読み出し、読み出したディスクリプタ情報に基づいてデータ領域118からデータの読み出しを行う。
図2は、メモリデバイス106のディスクリプタ領域117及びデータ領域118の構造を示す図である。ディスクリプタ領域117には、各処理に対応した複数のディスクリプタ領域301〜308が定義されており、データ領域118には、各処理に対応した複数のデータ領域311〜318が定義されている。それぞれのディスクリプタ領域301〜308には、例えば、図4Aに示すように、ディスクリプタ情報として、スタートアドレス401と、次アドレス402及び、メモリデバイス106上のデータサイズ403の各情報によって構成される。
ディスクリプタ領域117は、例えば、図2に示すように、ディスクリプタ領域1(301)からディスクリプタ領域8(308)まで連続した領域で定義されている。ここで、ディスクリプタ領域2(302)はアドレス“0100”〜“0200”と定義される。入力されたアドレス情報と、ディスクリプタ領域リスト108に格納されている情報とが一致しているとアドレス判定部109が判定すると、メモリコマンド制御回路112は、該当するディスクリプタ領域からデータ領域118のスタートアドレスを読み出す。
図4Aに示すディスクリプタ領域の設定例には、ディスクリプタ領域2の設定として、データ領域2(312)のスタートアドレス401が“1200”として設定されている。データサイズ403は“00000300”に設定されており、スタートアドレス401の設定“1200”にデータサイズ403の値を加算して、データ領域のエンドアドレス "1500"を算出することができる。エンドアドレス"1500"は、「処理1(データ2)」の読み出し処理(S504)に使用することが可能である。
図3は、データが分散して格納される場合のディスクリプタ領域117及びデータ領域118の構造を示す図である。図3において、ディスクリプタ領域119は、ディスクリプタ領域1(321)からディスクリプタ領域8(328)まで連続した領域で定義される。ここで、ディスクリプタ領域4は、ディスクリプタ領域4−1(327)と、ディスクリプタ領域4−2(325)とに分散して格納されている。ディスクリプタ領域4−1(327)はアドレス“0600”〜“0700”に定義され、ディスクリプタ領域4−2(325)は、アドレス“0400”〜“0500”に定義される。
ディスクリプタ領域4−1と、ディスクリプタ領域4−2の設定例を図4Bに示す。ディスクリプタ領域4−1に対応するデータ領域4−1(332)のスタートアドレスは“1200”と設定されている。この場合、メモリデバイス106において対応するデータ領域4−1(332)の読み出しアドレスは“1200”となる。また、データ領域4−1のデータサイズ406は、“00000300”であることから、データ領域4−1(332)のエンドアドレスは、スタートアドレス“1200"にデータサイズ"300"を加算した"1500"となる。リードデータ制御回路111の制御の下、メモリコマンド制御回路112は、スタートアドレス“1200"からデータの読み出しを開始して、終了アドレス"1500"までデータの読み出し処理を実行する。
メモリコマンド制御回路112は、次アドレスの設定を参照して、データが分散して格納されているか否かを判定することが可能である。例えば、メモリコマンド制御回路112は、次アドレスに“0000”以外のデータが設定されている場合、分散して格納されているデータを特定するためのディスクリプタ領域の先頭アドレスと判定する。メモリコマンド制御回路112は、最初にスタートアドレスにより特定されるデータの読み出しを行う。そして、読み出しが完了した後、次アドレスにより特定されるディスクリプタ領域の設定により特定されるデータの読み出しを開始することが可能である。
図4Bのディスクリプタ領域4−1(327)における次アドレス405の設定では、“0000"以外のデータとして"0400"が設定されている。メモリコマンド制御回路112は、データの読み出しがデータ領域のアドレス"1500"まで完了した後に、次アドレス"0400"を参照して次ディスクリプタ領域であるディスクリプタ領域4−2(325)を参照する。
ディスクリプタ領域4−2(325)には、対応するデータ領域4−2(335)のスタートアドレス407が“1800”と設定されている。リードデータ制御回路111の制御の下、メモリコマンド制御回路112は、このスタートアドレスの参照により、データの読み出しは、アドレス“1800”から読み出し処理を開始する。そして、メモリコマンド制御回路112は、データの読み出し開始のアドレス“1800”にデータサイズ“100”を加算したエンドアドレス“1900”まで、読み出し処理を実行する。
ディスクリプタ領域4−2(325)の次アドレス408には、“0000”が設定されているため、メモリコマンド制御回路112は、更なるデータ領域の分散はないと判定する。エンドアドレス“1900”まで、読み出し処理が終了した後、処理は終了となる。
(メモリ制御装置の動作)
次に、本発明の実施形態にかかるメモリ制御装置の動作を説明する。図5は、メモリ制御装置の処理の流れを説明する図である。
次に、本発明の実施形態にかかるメモリ制御装置の動作を説明する。図5は、メモリ制御装置の処理の流れを説明する図である。
S501において、バスマスタ101のリクエストに基づき、メモリコントローラ105は、ディスクリプタ領域1に設定されているデータ(ディスクリプタ情報)の取得処理(「処理1(ディスクリプタ1)」)を行う。本処理において、バスマスタ101からのメモリアクセスのアドレス情報は、Bus I/F107内のアドレス判定部109に入力される。アドレス判定部109は、入力されたアドレス情報と、ディスクリプタ領域リスト108に格納されている情報との比較を行う。入力されたアドレス情報と、ディスクリプタ領域リスト108に格納されている情報とが一致している場合、メモリコマンド制御回路112は、該当するディスクリプタ領域からデータ領域118のスタートアドレス(アドレス情報)を読み出す。
入力されたアドレス情報と、ディスクリプタ領域リスト108に格納されている情報とが一致しない場合、アドレス判定部109はディスクリプタ領域リスト108に格納されていない領域に対するアクセス要求と判定する。この場合、メモリコマンド制御回路112は、メモリデバイス106のディスクリプタ領域117からディスクリプタ情報を読み出し、ディスクリプタ情報に基づいてデータ領域118からデータの読み出しを行う。
S502において、メモリコマンド制御回路112は、先のS501で読み出されたデータにより示されるデータ領域のアドレスポインタを用いてデータ領域118のデータを読み出す処理(「処理1(データ1)」)を行う。この場合、メモリコマンド制御回路112は、第1の読み出し手段として機能する。
例えば、図4Aのディスクリプタ領域2の設定に対して、スタートアドレス“1200”から終了アドレス“1500”までのデータの読み取りが実行される。また、図4Bのディスクリプタ領域4−1の設定に対して、スタートアドレス“1200”から終了アドレス“1500”までデータの読み出しが実行される。その後、次アドレスにより特定されるスタートアドレス“1800”から終了アドレス“1900”までのデータの読み出しが実行される。
S503で、先のS501で特定されたディスクリプタの情報がディスクリプタコマンド制御部113に入力される。ディスクリプタコマンド制御部113は、入力されたディスクリプタ情報から、次のアクセスでメモリデバイス106からデータを読み出すためのディスクリプタの情報(次ディスクリプタ情報)を生成する。
ディスクリプタデコーダ114は、ディスクリプタコマンド制御部113により生成された次ディスクリプタ情報に基づいて、次ディスクリプタ情報のアドレスを生成する。ディスクリプタデコーダ114は、メモリコマンド制御回路112を介してメモリデバイス106のディスクリプタ領域117から対応するディスクリプタ情報の読み出しを行う(「処理1(ディスクリプタ2)」)。
S504で、ディスクリプタデコーダ114は、ディスクリプタ領域117から読み出したディスクリプタ情報をデータプリフェッチコマンド制御部115に入力する。データプリフェッチコマンド制御部115は、先のS503で読み出された次ディスクリプタ情報に基づいて、データ領域118からデータを読み出す(「処理1(データ2)」)。この場合、データプリフェッチコマンド制御部115は、第2の読み出し手段として機能する。そして、メモリコントローラ105は、読み出したデータをプリフェッチバッファ116に格納する。プリフェッチバッファ116には、S503で読み出されたディスクリプタ情報と、S504で読み出されたデータとが対となり格納される。
バスマスタからのメモリアクセスがプリフェッチバッファ116に格納されているアドレス情報と一致する場合、フェッチ制御回路110は、プリフェッチバッファ116に格納されているデータをリードデータとして出力する。この場合、フェッチ制御回路110は、メモリコマンド制御回路112を介さず、プリフェッチバッファ116に格納されているデータを、リードデータ制御回路111を介してバスマスタに出力する。
一方、S502における処理が終了すると、バスマスタ101のリクエストに基づき、メモリコントローラ105は、次のディスクリプタ領域2に設定されているデータの読出し処理(「処理1(ディスクリプタ2)」)を行う。
S505において、バスマスタ101のリクエストに基づき、リードデータ制御回路111の制御の下、メモリコマンド制御回路112は、次のディスクリプタ情報の読み出し処理を行う(「処理1(ディスクリプタ2)」)。
S506において、リードデータ制御回路111の制御の下、メモリコマンド制御回路112は、先のS505で読み出されたディスクリプタ情報に基づいて、データ領域118のデータを読み出す処理(「処理1(データ2)」)を行う。
この際、リードデータ制御回路111は、アクセスすべきデータのディスクリプタ情報が、プリフェッチバッファ116内に既に格納されているかいなか判定する。プリフェッチバッファ116内に既にアクセスして読み出すべきデータが格納されている場合、メモリコマンド制御回路112を介さず、プリフェッチバッファ116に格納されているデータを読み出してバスマスタに出力する。以下同様の処理が繰り返される。
メモリデバイス106にアクセスする際に、読み出し先を事前に検出し、該当するデータがプリフェッチバッファ116に格納されている場合は、プリフェッチバッファ116に格納されているデータを処理に使用する。これにより、メモリアクセスによるページミスの発生を抑制し、メモリアクセス効率の改善を図ることが可能になる。
バスマスタ101、102、103、104からのメモリアクセスが発生した場合でも、読み出し先の事前検出に基づき、プリフェッチバッファ116に格納されているデータを処理に使用する。これにより、メモリアクセスが競合した場合でもページングミスの発生を抑制し、メモリアクセス効率の改善を図ることが可能になる。
尚、本実施形態では、1つのメモリデバイス106に対するアクセスを例に説明したが、この例に限定されず、例えば、種々のメモリデバイスを組み合わせたて一つのメモリデバイスとして扱う構成に対しても適用可能である。また、プリフェッチバッファ116を1つとする構成に限定されず、優先順位を付けて、複数に分割し、接続してプリフェッチバッファ116を構成することも可能である。
(他の実施形態)
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録したコンピュータ可読の記憶媒体を、システムあるいは装置に供給することによっても、達成されることは言うまでもない。また、システムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録したコンピュータ可読の記憶媒体を、システムあるいは装置に供給することによっても、達成されることは言うまでもない。また、システムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される。また、プログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態が実現される場合も含まれることは言うまでもない。
105 メモリコントローラ
108 ディスクリプタ領域リスト
109 アドレス判定部
110 フェッチ制御回路
111 リードデータ制御回路
112 メモリコマンド制御回路
108 ディスクリプタ領域リスト
109 アドレス判定部
110 フェッチ制御回路
111 リードデータ制御回路
112 メモリコマンド制御回路
Claims (8)
- バスマスタからのアクセスに基づきメモリからデータの読み出しを行うメモリ制御装置であって、
前記バスマスタから入力された読み出しの対象となるデータのアドレス情報と、予め設定されているメモリのデータ領域のアドレスを定義する複数のディスクリプタ情報との比較を行う比較手段と、
前記比較に基づき、読み出しの対象となるデータの格納領域にアクセスするためのディスクリプタ情報を取得する取得手段と、
前記取得手段により取得されたディスクリプタ情報に基づき、前記メモリにアクセスし、当該メモリの格納領域からデータを読み出す第1の読み出し手段と、
前記取得手段により取得されたディスクリプタ情報に基づき、次のアクセスに対応したデータを事前に前記メモリからデータを読み出すための次ディスクリプタ情報を生成する生成手段と、
前記生成手段により生成された前記次ディスクリプタ情報に基づき、前記メモリにアクセスし、当該メモリの格納領域からデータを読み出す第2の読み出し手段と、
前記第2の読み出し手段により読み出されたデータを格納する格納手段と、を備え、
前記バスマスタからの次のアクセスに基づきデータを読み出す場合に、前記第1の読み出し手段は、前記メモリへのアクセスに先立ち、前記格納手段に読み出しの対象となるデータが格納されているか判定し、当該格納手段に読み出しの対象となるデータが格納されている場合、前記メモリにアクセスせずに当該格納手段に格納されているデータを読み出して出力することを特徴とするメモリ制御装置。 - 入力された前記アドレス情報が、前記複数のディスクリプタ情報のいずれかに該当する場合、前記取得手段は、該当するディスクリプタ情報を取得することを特徴とする請求項1に記載のメモリ制御装置。
- 入力された前記アドレス情報が、前記複数のディスクリプタ情報のいずれにも該当しない場合、
前記取得手段は、前記メモリのディスクリプタ情報を格納する領域にアクセスして、入力された前記アドレス情報に対応するディスクリプタ情報を取得することを特徴とする請求項1に記載のメモリ制御装置。 - バスマスタからのアクセスに基づきメモリからデータの読み出しを行うためのメモリ制御装置の制御方法であって、
比較手段が、前記バスマスタから入力された読み出しの対象となるデータのアドレス情報と、予め設定されているメモリのデータ領域のアドレスを定義する複数のディスクリプタ情報との比較を行う比較工程と、
取得手段が、前記比較に基づき、読み出しの対象となるデータの格納領域にアクセスするためのディスクリプタ情報を取得する取得工程と、
第1の読み出し手段が、前記取得工程により取得されたディスクリプタ情報に基づき、前記メモリにアクセスし、当該メモリの格納領域からデータを読み出す第1の読み出し工程と、
生成手段が、前記取得工程により取得されたディスクリプタ情報に基づき、次のアクセスに対応したデータを事前に前記メモリからデータを読み出すための次ディスクリプタ情報を生成する生成工程と、
第2の読み出し手段が、前記生成工程により生成された前記次ディスクリプタ情報に基づき、前記メモリにアクセスし、当該メモリの格納領域からデータを読み出す第2の読み出し工程と、
前記第2の読み出し工程により読み出されたデータを格納手段に格納する格納工程と、を備え、
前記バスマスタからの次のアクセスに基づきデータを読み出す場合に、前記第1の読み出し工程では、前記メモリへのアクセスに先立ち、前記格納手段に読み出しの対象となるデータが格納されているか判定し、当該格納手段に読み出しの対象となるデータが格納されている場合、前記メモリにアクセスせずに当該格納手段に格納されているデータを読み出して出力することを特徴とするメモリ制御装置の制御方法。 - 入力された前記アドレス情報が、前記複数のディスクリプタ情報のいずれかに該当する場合、前記取得工程では、該当するディスクリプタ情報を取得することを特徴とする請求項4に記載のメモリ制御装置の制御方法。
- 入力された前記アドレス情報が、前記複数のディスクリプタ情報のいずれにも該当しない場合、
前記取得工程では、前記メモリのディスクリプタ情報を格納する領域にアクセスして、入力された前記アドレス情報に対応するディスクリプタ情報を取得することを特徴とする請求項4に記載のメモリ制御装置の制御方法。 - 請求項4乃至6のいずれか1項に記載のメモリ制御装置の制御方法をコンピュータに実行させることを特徴とするプログラム。
- 請求項7に記載のプログラムを格納したことを特徴とするコンピュータ可読の記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007150773A JP2008305093A (ja) | 2007-06-06 | 2007-06-06 | メモリ制御装置、メモリ制御装置の制御方法、プログラム及び記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007150773A JP2008305093A (ja) | 2007-06-06 | 2007-06-06 | メモリ制御装置、メモリ制御装置の制御方法、プログラム及び記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008305093A true JP2008305093A (ja) | 2008-12-18 |
Family
ID=40233785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007150773A Withdrawn JP2008305093A (ja) | 2007-06-06 | 2007-06-06 | メモリ制御装置、メモリ制御装置の制御方法、プログラム及び記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008305093A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009032243A (ja) * | 2007-07-30 | 2009-02-12 | Nvidia Corp | 取り出されたデータをメモリに直接に書き込むストレージコントローラによるバッファスペースの最適な使用 |
-
2007
- 2007-06-06 JP JP2007150773A patent/JP2008305093A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009032243A (ja) * | 2007-07-30 | 2009-02-12 | Nvidia Corp | 取り出されたデータをメモリに直接に書き込むストレージコントローラによるバッファスペースの最適な使用 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6069031B2 (ja) | 計算機及びメモリ管理方法 | |
US9043806B2 (en) | Information processing device and task switching method | |
US20090049232A1 (en) | Execute-in-place implementation for a nand device | |
JP2010500682A (ja) | フラッシュメモリアクセス回路 | |
US20100153622A1 (en) | Data Access Controller and Data Accessing Method | |
WO2009098737A1 (ja) | 外部デバイスアクセス装置、その制御方法及びシステムlsi | |
US8990741B2 (en) | Circuit design support device, circuit design support method and program | |
JP5630281B2 (ja) | ベクトル命令制御回路及びリストベクトルの追い越し制御方法 | |
JP2008305093A (ja) | メモリ制御装置、メモリ制御装置の制御方法、プログラム及び記憶媒体 | |
JP2007164303A (ja) | 情報処理装置、コントローラおよびファイル読み出し方法 | |
JP2017219931A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP6940283B2 (ja) | Dma転送制御装置、dma転送制御方法、及び、dma転送制御プログラム | |
JP4522216B2 (ja) | 画像処理装置 | |
JP2005038203A (ja) | メモリ制御方法及び装置 | |
JP2013080386A (ja) | 情報処理装置、アドレス管理方法 | |
JP2007304926A (ja) | 情報処理方法および命令生成方法 | |
JP2009251681A (ja) | スタック領域の拡張方法及びプログラム | |
JPH06324861A (ja) | Cpu制御システム及び制御方法 | |
JP4107278B2 (ja) | プロセッサ制御回路および情報処理装置 | |
JP2022124897A (ja) | 制御回路及び制御回路の制御方法 | |
JP6323155B2 (ja) | データ処理装置及びデータ処理装置の制御方法 | |
JP5679263B2 (ja) | 情報処理装置及びマイクロ命令処理方法 | |
JPH10289193A (ja) | メモリアクセス制御装置およびメモリアクセス制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
WO2024141084A1 (zh) | 同步渲染方法、装置、电子设备及存储介质 | |
JP5656589B2 (ja) | データ転送装置、データ転送方法及びデータ転送プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100907 |