JP2010262526A - メモリ制御装置 - Google Patents
メモリ制御装置 Download PDFInfo
- Publication number
- JP2010262526A JP2010262526A JP2009113700A JP2009113700A JP2010262526A JP 2010262526 A JP2010262526 A JP 2010262526A JP 2009113700 A JP2009113700 A JP 2009113700A JP 2009113700 A JP2009113700 A JP 2009113700A JP 2010262526 A JP2010262526 A JP 2010262526A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- command
- data transfer
- data buffer
- 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.)
- Pending
Links
Images
Landscapes
- Memory System (AREA)
Abstract
【課題】複数のバスマスタから共有メモリへのアクセス制御において、従来のバスアービタ手法では、あるバスマスタのメモリアクセスのデータ転送レートが他のバスマスタのアクセスパターンに依存して変化してしまうため、最低限のデータ転送レートを完全に保証することができない。
【解決手段】複数のデータ処理装置による一連のデータ処理に必要なメモリへのデータ転送情報をメモリ制御装置が保持し、データバッファの状態を基にメモリ制御装置自身がメモリコマンドを生成し実行順序制御を行う。メモリアクセスの結果は、メモリ制御装置がバスマスタとして動作し、データバッファを介してデータ処理装置へ通信される。
【選択図】図1
【解決手段】複数のデータ処理装置による一連のデータ処理に必要なメモリへのデータ転送情報をメモリ制御装置が保持し、データバッファの状態を基にメモリ制御装置自身がメモリコマンドを生成し実行順序制御を行う。メモリアクセスの結果は、メモリ制御装置がバスマスタとして動作し、データバッファを介してデータ処理装置へ通信される。
【選択図】図1
Description
本発明は、メモリ制御装置に関する。
近年、システムLSIの構成として、複数のバスマスタがメモリ(例えば、DRAM)を共有するユニファイドメモリ構成が多く用いられている。例えば図3に示すような信号処理用のシステムLSI301では、CCD308からの入力データを共有メモリであるDRAM311に転送する映像データ取り込み回路303がひとつのDRAMインターフェースを介して共有メモリにアクセスする。また、映像データ処理回路304がひとつのDRAMインターフェースを介して共有メモリにアクセスする。また、映像データを外部記憶デバイス309に出力するための外部記憶デバイス制御回路305がひとつのDRAMインターフェースを介して共有メモリにアクセスする。また、映像データを液晶表示装置310に出力するための液晶表示回路306や制御を行うCPU302がひとつのDRAMインターフェースを介して共有メモリにアクセスする。
このようなシステムでは、各バスマスタからの共有メモリへのアクセス要求に係るアクセス制御は、システムの性能に大きな影響を与える。例えば、図3において、映像データ取り込み回路303からの映像元データの書き込みと、映像データ処理回路304による映像元データの読み出しや圧縮データの書き込みと、外部記憶デバイス制御回路305による圧縮データの読み出しが同時に実行される。ここで、映像データ処理回路304からのアクセスが連続して実行されると、他のバスマスタからのメモリアクセスが待たされてしまう。その結果、例えば映像データ取り込み回路303からの映像元データの取り込みが滞ってしまい、処理データが欠損し正常な映像を保存できなくなってしまう。
このようにユニファイドメモリ構成のシステムにおいては、複数のバスマスタからのアクセスを適切に制御する仕組みが必要となる。従来、複数のバスマスタからのアクセスを制御する方法としては、複数のバスマスタからのメモリアクセスの実行順序及び実行頻度を、各バスマスタとメモリ制御回路とを接続するバスで調整するバスアービタ手法が一般的であった。バスアービタ手法のアルゴリズムとしては、すべてのバスマスタに一定期間のアクセス権を平等に割り当てるラウンドロビン方式や、バスマスタの優先度に応じてアクセス権を許可する頻度を制御するアクセス許可頻度制御方式がある。
メモリ制御回路ではメモリアクセスの切り替えに伴うメモリバス制御のオーバヘッドが大きいため、メモリアクセスの切り替えが頻繁に発生するラウンドロビン方式ではメモリ帯域の使用効率が低下してしまう。そのため、アクセス許可頻度制御方式が一般的に用いられる。アクセス許可頻度制御方式では、例えばバスマスタA、B、Cの優先度を1:2:3に設定し、各バスマスタからのデータ転送要求が連続して発生しているとすると、データ転送は、A→B→B→C→C→Cの順で繰り返される。また、バスマスタBからのデータ転送要求が発生していない場合には、データ転送は、A→C→C→Cの順で繰り返される。このように優先度が大きく、かつ転送要求が発生しているバスマスタに対するメモリアクセス頻度を大きくすることで、結果的にメモリアクセスの優先度及び緊急度に応じて、メモリ帯域を有効に振り分けている(例えば、特許文献1参照)。さらに、バスアービタ手法を機能強化する方法として、バスマスタでのデータ消費レートに応じてアクセスの優先度を動的に変更することで、柔軟にアクセス帯域を制御する技術も考案されている(例えば、特許文献2参照)。
しかしながら、従来技術に示されるバスアービタ手法ではバスマスタ毎に割り振られるメモリ帯域が他のバスマスタのアクセスパターンに依存しているために、要求性能を確実に保証することができないという課題があった。例えば、メモリバス幅が16ビットのDDR−SDRAMを動作周波数100MHzで使用した場合には、システムの最大メモリ帯域は400MB/secとなる。システム上でバスマスタA、B、Cが連続してメモリアクセスを実行しているとすると、バスアービタの優先度設定が1:1:2であればメモリへのアクセス権はA→B→C→Cと与えられる。ここで、1回のメモリアクセスに対するデータ転送量が等しく、かつデータ転送が絶え間なく実行されるのであれば、バスマスタA、Bに対してそれぞれ100MB/sec、バスマスタCに対して200MB/secのメモリ帯域が割り振られることになる。
しかし、実際のメモリアクセスでは、メモリ(DRAM)のリード、ライト切り替えタイミングの制約や、ページミス制御のためのプリチャージコマンド及びアクティブコマンドの発行の必要から、データバス上にデータ転送のないバブルサイクルが発生する。バブルサイクルの発生は、メモリバスの実行帯域を低下させる。このため、バスマスタA、B、Cのメモリ帯域の合計(メモリ実行帯域)は、通常、最大メモリ帯域である400MB/secより低い値になる。
さらに1回のメモリアクセスに対するデータ転送量は、実際にはデータ処理の内容に応じて異なり、データ転送量が多いほどメモリバス帯域を多く利用する。そのため、各バスマスタに割り当てられるメモリ帯域の割合は、バスアービタの優先度に比例しない。例えばバスマスタA、B、Cのバスアービタ優先度設定が1:1:2であっても、1回のデータ転送量がそれぞれ32バイト、16バイト、8バイトであれば、バスマスタAの方がバスマスタCより単位時間あたり多くのデータ転送が実行されることになる。つまり、バスマスタAの方がバスマスタCより大きなメモリ帯域が割り振られることになる。
図2にバスマスタA、B、Cから同一バンクに対してライト(32バイト)、リード(16バイト)、ライト(8バイト)のデータ転送を連続して実行した場合のメモリバスの挙動を示す。図2においては、バスマスタA、B、Cについてバスアービタの優先度設定を1:1:2、メモリバス上のバーストレングス設定を4と仮定している。バスマスタからのデータ転送要求(Request)はA→B→C→Cの順にメモリ制御回路に受け付けられる(サイクル2,3,13,22,26)。メモリバス上ではバスマスタAのライトデータ転送実行のために4回のライトコマンドが実行され、バスマスタBのために2回のリードコマンドが実行され、バスマスタCのライトデータ転送実行のためにライトコマンドがサイクル23、25で実行される。図示されているように、バスマスタAのライトデータ発行から、バスマスタBのリードコマンド発行(サイクル15)まではDRAMのタイミングパラメータ(tWTR)に規定されるウェイトサイクルが必要となる。さらにリードコマンド発行(サイクル15)から、最初のリードデータの読み出し(サイクル17)までにはDRAMのタイミングパラメータ(CL:CAS Latency)に規定されるウェイトサイクルが必要となる。このためサイクル13,14,15,16にデータ転送のないバブルサイクルが発生する。さらにバスマスタBとバスマスタCのアクセスが異なるページであった場合には、メモリバス上にプリチャージコマンド、アクティブコマンドを発行する必要があるため、サイクル22,23でデータバス上にバブルサイクルが生じる。
このように実際の各バスマスタに割り当てられるメモリ帯域はアクセスパターンにより大きく変化するため、バスアービタによるメモリアクセス頻度のみの制御では正確にメモリ帯域を制御することは難しい。このため、バスマスタ毎に最低限保証すべきメモリ帯域を割り込んでしまい、システムの性能要求を充たせなくなるといった問題が生じていた。
本発明に係るメモリ制御装置は、データバッファとの間で行われる一連のデータ転送手順と性能要求を保持する内部レジスタと、前記データバッファの状態を監視するデータバッファ監視手段と、前記内部レジスタとデータバッファの状態に基づいてメモリデバイスに対するメモリコマンドを生成するコマンド生成手段と、生成された前記メモリコマンドに応じて前記データバッファとのデータ転送を実行するデータ転送手段とを有することを特徴とする。
本発明によれば、複数のデータ処理装置からの共有メモリへのアクセスにおいて、メモリ制御回路自身がデータ処理装置のデータ処理速度に応じてメモリコマンドを生成することで効率的なメモリアクセス制御が可能となる。また単位時間あたりのメモリコマンドの生成回数を変更することで、最低限のデータ転送レート(一定のデータ量の転送が決められたサイクル内に実行されること)を保証することができる。
以下、本発明の実施形態を図面に基づいて説明する。
本発明の実施形態を図1により説明する。図1において、102、103、104は、データ処理装置である。データ処理装置102、103、104は、例えばデジタルカメラにおける外部記憶デバイス制御回路、JPEGデコーダ・エンコーダ、液晶表示回路にあたる。データ処理に必要なデータは、リードデータバッファ106、108から読み出され、データ処理されたデータは、ライトデータバッファ105、107に格納される。
101は、本実施形態におけるメモリ制御装置である。メモリ制御装置101は、メモリ(DRAM)122とデータバッファ105、106、107、108との間でデータ転送及びそれに係る制御を行う。各データバッファ105、106、107、108へのデータ転送手順は、コマンド生成装置116にて制御される。コマンド生成装置116は、内部レジスタ123に保持した各データバッファに対するデータ転送情報と、データバッファ監視装置115からのデータ消費レートを基に、データ転送の実行に必要なメモリコマンドを生成する。コマンド生成装置116は、例えば各データバッファに係るデータ転送情報とデータ消費レートとに基づいて、各データバッファに対する単位時間あたりのメモリコマンドの生成回数を制御する。
内部レジスタ123は、データバッファ105、106、107、108との間で行われる一連のデータ転送手順及びデータ転送に係る性能要求を保持している。データバッファ監視装置115は、データバッファ105、106、107、108の状態を監視しており、それをコマンド生成装置116に通知する。例えば、データバッファ監視装置115は、データバッファ105、106、107、108内のデータ量の増減からデータ消費レート(データ処理装置でのデータ処理速度等)を算出してコマンド生成装置116に通知する。
データ転送制御装置117は、コマンド生成装置116で生成されたメモリコマンドに応じてDMAC111、112、113、114を制御し、データバッファ105、106、107、108とのデータ転送を実行する。コマンド生成装置116で生成されたメモリコマンドがライトコマンドである場合には、データ転送制御装置117は、DMAC111又は113を用いて対応するデータバッファからデータを読み出し、ライトデータバッファ119に送信する。ライトデータバッファ119に送信されたライトデータは、メモリコマンド制御部121によりライトコマンドが実行された時にメモリ(DRAM)122に書き込まれる。生成されたメモリコマンドがリードコマンドである場合には、コマンド生成装置116によりメモリコマンドがコマンドバッファ118に送信された後、メモリコマンド制御部121によりメモリ(DRAM)122からのデータ読み出しが実行される。メモリ(DRAM)122から読み出されたデータがリードデータバッファ120に保持されると、データ転送制御装置117は、DMAC112又は114を起動し、対応するデータバッファにリードデータを送信する。
なお、内部レジスタ123に保持された各データバッファのデータ転送情報は、CPU109によりバスインタフェース(バスIF)110を介してデータ処理の内容に応じて変更される。
次に、データバッファ105、106、107、108及びデータバッファ監視装置115の詳細について説明する。データバッファ105、106、107、108は、あるまとまった単位でデータを保存、送信する機能を持ったモジュールであり、図4に一例を示すようにPush、Pop、Full、Emptyの各信号で制御される。例えばライトデータバッファとしてFIFO(First In First Out)を用いる場合には、データ処理装置がFIFOに書き込みデータを送信すると共にPush信号をアサートする。FIFOにデータを受け付けるための空き容量がない場合には、FIFOからFull信号がアサートされ、データ書き込みが待たされる。また、メモリ制御装置101のDMACがライトデータバッファからデータを読み出す際には、Pop信号をアサートしFIFOからデータを受け取る。もしFIFO内に送信すべきデータが存在しない場合には、FIFOからEmpty信号がアサートされ、FIFO内にデータが保存されるまでDMACへのデータ送信が待たされる。データバッファ内に保持されたデータ量は、例えばポインタにより管理されており、Full信号やEmpty信号はポインタ値とデータバッファ容量を基に生成される。データバッファ監視装置115は、単位サイクル毎のポインタ値の変動から各データバッファのデータ量、データ空き容量と、データ消費、増減(増加レート)を算出してコマンド生成装置116に通知する。
次に、内部レジスタ123の詳細について、図5を用いて説明する。コマンド生成装置116は、内部レジスタ123に保存されたデータ転送情報とデータバッファ監視装置115からのデータバッファの状態の情報に基づいてメモリデバイス(DRAM)122に対するメモリコマンドを生成しコマンドバッファ118に送信する。内部レジスタ123は、データ転送シーケンスレジスタ501、転送開始アドレス設定レジスタ502、データ転送レート設定レジスタ503、及び転送ステータスレジスタ504から構成される。データ転送シーケンスレジスタ501、転送開始アドレス設定レジスタ502、データ転送レート設定レジスタ503に設定されるデータ転送情報の一例を図6示す。
データ転送シーケンスレジスタ501は、データバッファのID、データ転送方向、アクセスするメモリアドレスを特定するためのアドレスID、及び転送データの総量の各々に係るフィールドにより構成される。データ転送シーケンスレジスタ501は、データバッファ数に対応して複数のレジスタが存在する。
また、転送開始アドレス設定レジスタ502は、データ転送シーケンスレジスタ501のアドレスIDに対応するアドレスを設定するためのレジスタである。データ転送レート設定レジスタ503は、あるデータバッファとの間で行うデータ転送について、最低限保証すべき要求性能(データ転送レート)を保証サイクル、保証転送データ量として保持する。コマンド生成装置116は、指定されたデータバッファに対するデータ転送が、設定された保証サイクル以内に保証転送データ量の転送が完了するようにメモリコマンドの生成を制御する。
転送ステータスレジスタ504は、コマンド生成装置116がメモリコマンドを生成する際に参照、変更される。転送ステータスレジスタ504は、最大転送レート、実行データ量、及び合計実行サイクルの各々に係るフィールドで構成される。最大転送レートとは、ひとつのデータバッファへのデータ転送を単独で連続して実行可能な場合の最大データ転送レートであり、メモリ制御装置101の動作モード及びメモリデバイス(DRAM)122の構成、タイミング設定値から算出される。最大転送レートは、コマンド生成装置116の起動前にCPU109により設定する必要がある。実行データ量は、データ転送レート設定レジスタ503に設定されたデータバッファに対する実行済みの転送データ量を保持する。合計実行サイクルは、一連のメモリコマンドの実行に伴う合計実行サイクルを計算する際に利用される。
続いて、図7を用いてメモリコマンドの生成フローについて説明する。
コマンド生成装置116は、CPU109あるいは外部入力からのトリガ信号を受けてメモリコマンドの生成処理を開始する(701)。コマンド生成装置116は、まずデータ転送シーケンスレジスタ501の値を読み込む(702)。続いて、コマンド生成装置116は、データバッファ監視装置115からのデータバッファの状態を読み込み(703)、コマンドリストを生成する(704)。コマンドリストは、これからデータバッファ毎に実行されるメモリコマンド数を計上したものであり、コマンド生成装置116は、コマンドリスト単位でメモリコマンドの生成、データ処理速度の取得、及びデータ転送レートの確認を実施する。コマンドリストに計上されるメモリコマンドは、各データバッファのデータ処理速度やデータバッファのデータ量、データ空き容量に応じて算出される(図8参照)。
コマンド生成装置116は、CPU109あるいは外部入力からのトリガ信号を受けてメモリコマンドの生成処理を開始する(701)。コマンド生成装置116は、まずデータ転送シーケンスレジスタ501の値を読み込む(702)。続いて、コマンド生成装置116は、データバッファ監視装置115からのデータバッファの状態を読み込み(703)、コマンドリストを生成する(704)。コマンドリストは、これからデータバッファ毎に実行されるメモリコマンド数を計上したものであり、コマンド生成装置116は、コマンドリスト単位でメモリコマンドの生成、データ処理速度の取得、及びデータ転送レートの確認を実施する。コマンドリストに計上されるメモリコマンドは、各データバッファのデータ処理速度やデータバッファのデータ量、データ空き容量に応じて算出される(図8参照)。
コマンドリストが生成されると、コマンド生成装置116は、コマンドリストの先頭から順にメモリコマンドの実行に要する実行サイクル数を算出する(705)。メモリコマンドの実行サイクルは、図9のテーブルに示すように、メモリコマンド実行時のバンクの状態と、メモリコマンド間の転送方向の関連性及びDRAMのタイミングパラメータ設定から算出される。図9において、“|パラメータ|”は、DRAMのタイミングパラメータ(単位:ns)をDRAMのクロック周期を基にサイクル単位に変換した値である。
算出された実行サイクルは、転送ステータスレジスタ504の合計実行サイクルに加算される。また、データ転送レートを保証するデータ転送の場合には、メモリコマンドの実行により転送されるデータ量を転送ステータスレジスタ504の実行データ量に加算する。実行サイクルの計算を完了すると、コマンド生成装置116は、転送ステータスレジスタ504の実行データ量及び合計実行サイクルと、データ転送レート設定レジスタ503の保証転送データ量及び保証サイクルとを基にデータ転送レートを確認する(706)。
まず、データ転送レートを保証すべきデータ転送シーケンスに関して、以下の式より残りの転送データ量と残りの転送保証サイクルを算出する。
(残りの転送データ量)=(保証転送データ量)−(実行データ量)
(残りの転送サイクル)=(保証サイクル)−(合計実行サイクル)
(残りの転送データ量)=(保証転送データ量)−(実行データ量)
(残りの転送サイクル)=(保証サイクル)−(合計実行サイクル)
前述のようにして算出された値より、残りのデータ転送を完了するまでに必要なデータ転送レート(必要データ転送レート)を以下の式により見積もる。
(必要データ転送レート)=(残りの転送データ量)/(残りの転送サイクル)
(必要データ転送レート)=(残りの転送データ量)/(残りの転送サイクル)
算出された必要データ転送レートを、転送ステータスレジスタ504に保持された最大転送レートと比較する。必要データ転送レートが最大転送レートを超える場合には、保証サイクル内に保証転送データ量のデータ転送を実行できないことになる。したがって、この場合(性能要求を満たせない場合)には、転送ステータスレジスタ504の実行データ量と合計実行サイクルをもとの値に戻したうえで、保証すべきデータ転送の割合が大きくなるようにコマンドリストを再生成する(704)。例えばメモリコマンドの生成回数を変更してコマンドリストを再生成する。そして、再生成したコマンドリストを用いて、合計実行サイクルを再計算する。このようにして、本実施形態では、メモリコマンドを実行した際のデータ転送レートをメモリコマンドの発行に先立ち算出して、要求された性能を満たすか否かを判断し、性能要求を満せない場合にはコマンドリストを変更する。
必要データ転送レートが最大転送レートより小さい値であることが確認できた場合には、コマンド生成装置116は、コマンドリストに従って指定回数のメモリコマンドを生成してコマンドバッファ118に送信する(707)。データ転送制御装置117は、生成されたメモリコマンドに応じてDMACを起動しデータ転送を実行する(708)。前述の操作を各データ転送の転送データ量に達するまで繰り返し行う(709)。これにより、最低限のデータ転送レートを確実に保証しつつ、データ処理装置のデータ処理速度に応じたメモリアクセスを実行することができ、効率的なメモリアクセス制御が可能となる。なお、コマンド生成装置116におけるメモリコマンドの生成アルゴリズムは、プログラムの変更によりデータ転送に要求される性能に応じて変更可能としても良い。
(本発明の他の実施形態)
前述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置又はシステム内のコンピュータ(CPU又はMPU)に対し、前記実施形態の機能を実現するためのソフトウェアのプログラムを供給する。そして、そのシステム又は装置のコンピュータに格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
また、この場合、前記ソフトウェアのプログラム自体が前述した実施形態の機能を実現することになり、そのプログラム自体は本発明を構成する。また、そのプログラムをコンピュータに供給するための手段、例えばかかるプログラムを格納した記録媒体は本発明を構成する。かかるプログラムを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、供給されたプログラムがコンピュータにて稼働しているオペレーティングシステム又は他のアプリケーションソフト等と共同して前述の実施形態の機能が実現される場合にもかかるプログラムは本発明の実施形態に含まれることは言うまでもない。
さらに、供給されたプログラムがコンピュータに係る機能拡張ボードや機能拡張ユニットに備わるメモリに格納された後、そのプログラムの指示に基づいてその機能拡張ボード等に備わるCPU等が実際の処理の一部又は全部を行う。その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
前述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置又はシステム内のコンピュータ(CPU又はMPU)に対し、前記実施形態の機能を実現するためのソフトウェアのプログラムを供給する。そして、そのシステム又は装置のコンピュータに格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
また、この場合、前記ソフトウェアのプログラム自体が前述した実施形態の機能を実現することになり、そのプログラム自体は本発明を構成する。また、そのプログラムをコンピュータに供給するための手段、例えばかかるプログラムを格納した記録媒体は本発明を構成する。かかるプログラムを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、供給されたプログラムがコンピュータにて稼働しているオペレーティングシステム又は他のアプリケーションソフト等と共同して前述の実施形態の機能が実現される場合にもかかるプログラムは本発明の実施形態に含まれることは言うまでもない。
さらに、供給されたプログラムがコンピュータに係る機能拡張ボードや機能拡張ユニットに備わるメモリに格納された後、そのプログラムの指示に基づいてその機能拡張ボード等に備わるCPU等が実際の処理の一部又は全部を行う。その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
101…メモリ制御装置、102、103、104…データ処理装置、105、106、107、108…データバッファ、109…CPU、115…データバッファ監視装置、116…コマンド生成装置、117…データ転送制御装置、121…メモリコマンド制御部、122…メモリデバイス(DRAM)
Claims (5)
- データバッファとの間で行われる一連のデータ転送手順と性能要求を保持する内部レジスタと、
前記データバッファの状態を監視するデータバッファ監視手段と、
前記内部レジスタとデータバッファの状態に基づいてメモリデバイスに対するメモリコマンドを生成するコマンド生成手段と、
生成された前記メモリコマンドに応じて前記データバッファとのデータ転送を実行するデータ転送手段とを有することを特徴とするメモリ制御装置。 - 前記データバッファ監視手段は、前記データバッファ内のデータ量の増減からデータ処理装置によるデータ処理速度を算出し、前記コマンド生成手段に通知することを特徴とする請求項1記載のメモリ制御装置。
- 前記コマンド生成手段は、前記データバッファ監視手段から通知されるデータ処理速度を基に、各データバッファに対する単位時間あたりのメモリコマンドの生成回数を制御することを特徴とする請求項2記載のメモリ制御装置。
- 前記コマンド生成手段は、生成したメモリコマンドを実行した際のデータ転送レートを前記メモリコマンドの発行に先立ち算出して、前記内部レジスタに保持された性能要求と比較し、性能要求を満せない場合にはメモリコマンドの生成回数を変更することを特徴とする請求項3記載のメモリ制御装置。
- 前記コマンド生成手段は、プログラムの変更により前記データ転送の性能要求に応じたメモリコマンドの生成アルゴリズムを変更可能であることを特徴とする請求項1〜4の何れか1項に記載のメモリ制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009113700A JP2010262526A (ja) | 2009-05-08 | 2009-05-08 | メモリ制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009113700A JP2010262526A (ja) | 2009-05-08 | 2009-05-08 | メモリ制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010262526A true JP2010262526A (ja) | 2010-11-18 |
Family
ID=43360527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009113700A Pending JP2010262526A (ja) | 2009-05-08 | 2009-05-08 | メモリ制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010262526A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023105603A1 (ja) * | 2021-12-07 | 2023-06-15 | 日本電信電話株式会社 | 転送管理装置、転送管理方法、および、転送管理プログラム |
-
2009
- 2009-05-08 JP JP2009113700A patent/JP2010262526A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023105603A1 (ja) * | 2021-12-07 | 2023-06-15 | 日本電信電話株式会社 | 転送管理装置、転送管理方法、および、転送管理プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4322259B2 (ja) | マルチプロセッサシステムにおけるローカルメモリへのデータアクセスを同期化する方法および装置 | |
EP1820309B1 (en) | Streaming memory controller | |
US9141568B2 (en) | Proportional memory operation throttling | |
US8601192B2 (en) | Arbitration device, arbitration system, arbitration method, semiconductor integrated circuit, and image processing device | |
JP5947302B2 (ja) | 複数のメモリチャネルを有するコンピューティングシステムにおけるメモリバッファの割り当て | |
JP2006195823A (ja) | Dma装置 | |
CN102646446A (zh) | 硬件动态高速缓存电源管理 | |
JP6053384B2 (ja) | 情報処理装置、メモリ制御装置およびその制御方法 | |
US6427181B1 (en) | Method of and apparatus for processing information, and providing medium | |
US7913013B2 (en) | Semiconductor integrated circuit | |
JP2011113119A (ja) | データフロー及びプロセッサのメモリ共有化ための装置、方法及びプログラム | |
JP3803196B2 (ja) | 情報処理装置、情報処理方法および記録媒体 | |
JP2009251713A (ja) | キャッシュメモリ制御装置 | |
JP2005084907A (ja) | メモリ帯域制御装置 | |
JP2011013835A (ja) | メモリシステム、メモリアクセス方法、及びプログラム | |
TW201437814A (zh) | 記憶體存取方法、記憶體存取控制方法、spi快閃記憶體裝置以及spi控制器 | |
JP2010262526A (ja) | メモリ制御装置 | |
KR0155044B1 (ko) | 선입선출 메모리를 이용한 램데이타 전송장치 및 그 방법 | |
JP2008225608A (ja) | メモリを制御するメモリコントローラ、メモリモジュール、メモリの制御方法 | |
JP2007172129A (ja) | 不揮発性メモリアクセス制御装置および不揮発性メモリ制御システム | |
JPWO2006132006A1 (ja) | メモリ制御装置及びメモリ制御方法 | |
JP2011034214A (ja) | メモリ制御装置 | |
JP2009037639A (ja) | ストリーミングidメソッドによるdmac発行メカニズム | |
JP4346506B2 (ja) | 先入れ先出しメモリ及びそれを用いた記憶媒体制御装置 | |
KR20210061583A (ko) | 적응형 딥러닝 가속 장치 및 방법 |