(57)【要約】【課題】複数のバスマスタから共有メモリへのアクセス制御において、従来のバスアービタ手法では、あるバスマスタのメモリアクセスのデータ転送レートが他のバスマスタのアクセスパターンに依存して変化してしまうため、最低限のデータ転送レートを完全に保証することができない。【解決手段】複数のデータ処理装置による一連のデータ処理に必要なメモリへのデータ転送情報をメモリ制御装置が保持し、データバッファの状態を基にメモリ制御装置自身がメモリコマンドを生成し実行順序制御を行う。メモリアクセスの結果は、メモリ制御装置がバスマスタとして動作し、データバッファを介してデータ処理装置へ通信される。【選択図】図１
2010262526.tif 000002
【特許請求の範囲】
【請求項１】
データバッファとの間で行われる一連のデータ転送手順と性能要求を保持する内部レジスタと、
前記データバッファの状態を監視するデータバッファ監視手段と、
前記内部レジスタとデータバッファの状態に基づいてメモリデバイスに対するメモリコマンドを生成するコマンド生成手段と、
生成された前記メモリコマンドに応じて前記データバッファとのデータ転送を実行するデータ転送手段とを有することを特徴とするメモリ制御装置。
【請求項２】
前記データバッファ監視手段は、前記データバッファ内のデータ量の増減からデータ処理装置によるデータ処理速度を算出し、前記コマンド生成手段に通知することを特徴とする請求項１記載のメモリ制御装置。
【請求項３】
前記コマンド生成手段は、前記データバッファ監視手段から通知されるデータ処理速度を基に、各データバッファに対する単位時間あたりのメモリコマンドの生成回数を制御することを特徴とする請求項２記載のメモリ制御装置。
【請求項４】
前記コマンド生成手段は、生成したメモリコマンドを実行した際のデータ転送レートを前記メモリコマンドの発行に先立ち算出して、前記内部レジスタに保持された性能要求と比較し、性能要求を満せない場合にはメモリコマンドの生成回数を変更することを特徴とする請求項３記載のメモリ制御装置。
【請求項５】
前記コマンド生成手段は、プログラムの変更により前記データ転送の性能要求に応じたメモリコマンドの生成アルゴリズムを変更可能であることを特徴とする請求項１〜４の何れか１項に記載のメモリ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ制御装置に関する。
【背景技術】
【０００２】
近年、システムＬＳＩの構成として、複数のバスマスタがメモリ（例えば、ＤＲＡＭ）を共有するユニファイドメモリ構成が多く用いられている。例えば図３に示すような信号処理用のシステムＬＳＩ３０１では、ＣＣＤ３０８からの入力データを共有メモリであるＤＲＡＭ３１１に転送する映像データ取り込み回路３０３がひとつのＤＲＡＭインターフェースを介して共有メモリにアクセスする。また、映像データ処理回路３０４がひとつのＤＲＡＭインターフェースを介して共有メモリにアクセスする。また、映像データを外部記憶デバイス３０９に出力するための外部記憶デバイス制御回路３０５がひとつのＤＲＡＭインターフェースを介して共有メモリにアクセスする。また、映像データを液晶表示装置３１０に出力するための液晶表示回路３０６や制御を行うＣＰＵ３０２がひとつのＤＲＡＭインターフェースを介して共有メモリにアクセスする。
【０００３】
このようなシステムでは、各バスマスタからの共有メモリへのアクセス要求に係るアクセス制御は、システムの性能に大きな影響を与える。例えば、図３において、映像データ取り込み回路３０３からの映像元データの書き込みと、映像データ処理回路３０４による映像元データの読み出しや圧縮データの書き込みと、外部記憶デバイス制御回路３０５による圧縮データの読み出しが同時に実行される。ここで、映像データ処理回路３０４からのアクセスが連続して実行されると、他のバスマスタからのメモリアクセスが待たされてしまう。その結果、例えば映像データ取り込み回路３０３からの映像元データの取り込みが滞ってしまい、処理データが欠損し正常な映像を保存できなくなってしまう。
【０００４】
このようにユニファイドメモリ構成のシステムにおいては、複数のバスマスタからのアクセスを適切に制御する仕組みが必要となる。従来、複数のバスマスタからのアクセスを制御する方法としては、複数のバスマスタからのメモリアクセスの実行順序及び実行頻度を、各バスマスタとメモリ制御回路とを接続するバスで調整するバスアービタ手法が一般的であった。バスアービタ手法のアルゴリズムとしては、すべてのバスマスタに一定期間のアクセス権を平等に割り当てるラウンドロビン方式や、バスマスタの優先度に応じてアクセス権を許可する頻度を制御するアクセス許可頻度制御方式がある。
【０００５】
メモリ制御回路ではメモリアクセスの切り替えに伴うメモリバス制御のオーバヘッドが大きいため、メモリアクセスの切り替えが頻繁に発生するラウンドロビン方式ではメモリ帯域の使用効率が低下してしまう。そのため、アクセス許可頻度制御方式が一般的に用いられる。アクセス許可頻度制御方式では、例えばバスマスタＡ、Ｂ、Ｃの優先度を１：２：３に設定し、各バスマスタからのデータ転送要求が連続して発生しているとすると、データ転送は、Ａ→Ｂ→Ｂ→Ｃ→Ｃ→Ｃの順で繰り返される。また、バスマスタＢからのデータ転送要求が発生していない場合には、データ転送は、Ａ→Ｃ→Ｃ→Ｃの順で繰り返される。このように優先度が大きく、かつ転送要求が発生しているバスマスタに対するメモリアクセス頻度を大きくすることで、結果的にメモリアクセスの優先度及び緊急度に応じて、メモリ帯域を有効に振り分けている（例えば、特許文献１参照）。さらに、バスアービタ手法を機能強化する方法として、バスマスタでのデータ消費レートに応じてアクセスの優先度を動的に変更することで、柔軟にアクセス帯域を制御する技術も考案されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平７−３１９７５６号公報
【特許文献２】特開平１１−２０３４６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来技術に示されるバスアービタ手法ではバスマスタ毎に割り振られるメモリ帯域が他のバスマスタのアクセスパターンに依存しているために、要求性能を確実に保証することができないという課題があった。例えば、メモリバス幅が１６ビットのＤＤＲ−ＳＤＲＡＭを動作周波数１００ＭＨｚで使用した場合には、システムの最大メモリ帯域は４００ＭＢ／ｓｅｃとなる。システム上でバスマスタＡ、Ｂ、Ｃが連続してメモリアクセスを実行しているとすると、バスアービタの優先度設定が１：１：２であればメモリへのアクセス権はＡ→Ｂ→Ｃ→Ｃと与えられる。ここで、１回のメモリアクセスに対するデータ転送量が等しく、かつデータ転送が絶え間なく実行されるのであれば、バスマスタＡ、Ｂに対してそれぞれ１００ＭＢ／ｓｅｃ、バスマスタＣに対して２００ＭＢ／ｓｅｃのメモリ帯域が割り振られることになる。
【０００８】
しかし、実際のメモリアクセスでは、メモリ（ＤＲＡＭ）のリード、ライト切り替えタイミングの制約や、ページミス制御のためのプリチャージコマンド及びアクティブコマンドの発行の必要から、データバス上にデータ転送のないバブルサイクルが発生する。バブルサイクルの発生は、メモリバスの実行帯域を低下させる。このため、バスマスタＡ、Ｂ、Ｃのメモリ帯域の合計（メモリ実行帯域）は、通常、最大メモリ帯域である４００ＭＢ／ｓｅｃより低い値になる。
【０００９】
さらに１回のメモリアクセスに対するデータ転送量は、実際にはデータ処理の内容に応じて異なり、データ転送量が多いほどメモリバス帯域を多く利用する。そのため、各バスマスタに割り当てられるメモリ帯域の割合は、バスアービタの優先度に比例しない。例えばバスマスタＡ、Ｂ、Ｃのバスアービタ優先度設定が１：１：２であっても、１回のデータ転送量がそれぞれ３２バイト、１６バイト、８バイトであれば、バスマスタＡの方がバスマスタＣより単位時間あたり多くのデータ転送が実行されることになる。つまり、バスマスタＡの方がバスマスタＣより大きなメモリ帯域が割り振られることになる。
【００１０】
図２にバスマスタＡ、Ｂ、Ｃから同一バンクに対してライト（３２バイト）、リード（１６バイト）、ライト（８バイト）のデータ転送を連続して実行した場合のメモリバスの挙動を示す。図２においては、バスマスタＡ、Ｂ、Ｃについてバスアービタの優先度設定を１：１：２、メモリバス上のバーストレングス設定を４と仮定している。バスマスタからのデータ転送要求（Ｒｅｑｕｅｓｔ）はＡ→Ｂ→Ｃ→Ｃの順にメモリ制御回路に受け付けられる（サイクル２，３，１３，２２，２６）。メモリバス上ではバスマスタＡのライトデータ転送実行のために４回のライトコマンドが実行され、バスマスタＢのために２回のリードコマンドが実行され、バスマスタＣのライトデータ転送実行のためにライトコマンドがサイクル２３、２５で実行される。図示されているように、バスマスタＡのライトデータ発行から、バスマスタＢのリードコマンド発行（サイクル１５）まではＤＲＡＭのタイミングパラメータ（ｔＷＴＲ）に規定されるウェイトサイクルが必要となる。さらにリードコマンド発行（サイクル１５）から、最初のリードデータの読み出し（サイクル１７）までにはＤＲＡＭのタイミングパラメータ（ＣＬ：CAS Latency）に規定されるウェイトサイクルが必要となる。このためサイクル１３，１４，１５，１６にデータ転送のないバブルサイクルが発生する。さらにバスマスタＢとバスマスタＣのアクセスが異なるページであった場合には、メモリバス上にプリチャージコマンド、アクティブコマンドを発行する必要があるため、サイクル２２，２３でデータバス上にバブルサイクルが生じる。
【００１１】
このように実際の各バスマスタに割り当てられるメモリ帯域はアクセスパターンにより大きく変化するため、バスアービタによるメモリアクセス頻度のみの制御では正確にメモリ帯域を制御することは難しい。このため、バスマスタ毎に最低限保証すべきメモリ帯域を割り込んでしまい、システムの性能要求を充たせなくなるといった問題が生じていた。
【課題を解決するための手段】
【００１２】
本発明に係るメモリ制御装置は、データバッファとの間で行われる一連のデータ転送手順と性能要求を保持する内部レジスタと、前記データバッファの状態を監視するデータバッファ監視手段と、前記内部レジスタとデータバッファの状態に基づいてメモリデバイスに対するメモリコマンドを生成するコマンド生成手段と、生成された前記メモリコマンドに応じて前記データバッファとのデータ転送を実行するデータ転送手段とを有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、複数のデータ処理装置からの共有メモリへのアクセスにおいて、メモリ制御回路自身がデータ処理装置のデータ処理速度に応じてメモリコマンドを生成することで効率的なメモリアクセス制御が可能となる。また単位時間あたりのメモリコマンドの生成回数を変更することで、最低限のデータ転送レート（一定のデータ量の転送が決められたサイクル内に実行されること）を保証することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態におけるメモリ制御装置の構成例を示した図である。
【図２】バスアービタ手法における転送タイミングの概要を示した図である。
【図３】デジタルビデオカメラ用システムＬＳＩの構成例を示した図である。
【図４】本実施形態におけるデータバッファの構成例を示した図である。
【図５】本実施形態における内部レジスタの一例を示した図である。
【図６】本実施形態におけるデータ転送情報の一例を示した図である。
【図７】本実施形態におけるメモリコマンドの生成フローの一例を示した図である。
【図８】本実施形態におけるコマンドリストの一例を示した図である。
【図９】本実施形態におけるメモリコマンドの実行サイクル算出時に参照されるテーブルの一例を示した図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態を図面に基づいて説明する。
【００１６】
本発明の実施形態を図１により説明する。図１において、１０２、１０３、１０４は、データ処理装置である。データ処理装置１０２、１０３、１０４は、例えばデジタルカメラにおける外部記憶デバイス制御回路、ＪＰＥＧデコーダ・エンコーダ、液晶表示回路にあたる。データ処理に必要なデータは、リードデータバッファ１０６、１０８から読み出され、データ処理されたデータは、ライトデータバッファ１０５、１０７に格納される。
【００１７】
１０１は、本実施形態におけるメモリ制御装置である。メモリ制御装置１０１は、メモリ（ＤＲＡＭ）１２２とデータバッファ１０５、１０６、１０７、１０８との間でデータ転送及びそれに係る制御を行う。各データバッファ１０５、１０６、１０７、１０８へのデータ転送手順は、コマンド生成装置１１６にて制御される。コマンド生成装置１１６は、内部レジスタ１２３に保持した各データバッファに対するデータ転送情報と、データバッファ監視装置１１５からのデータ消費レートを基に、データ転送の実行に必要なメモリコマンドを生成する。コマンド生成装置１１６は、例えば各データバッファに係るデータ転送情報とデータ消費レートとに基づいて、各データバッファに対する単位時間あたりのメモリコマンドの生成回数を制御する。
【００１８】
内部レジスタ１２３は、データバッファ１０５、１０６、１０７、１０８との間で行われる一連のデータ転送手順及びデータ転送に係る性能要求を保持している。データバッファ監視装置１１５は、データバッファ１０５、１０６、１０７、１０８の状態を監視しており、それをコマンド生成装置１１６に通知する。例えば、データバッファ監視装置１１５は、データバッファ１０５、１０６、１０７、１０８内のデータ量の増減からデータ消費レート（データ処理装置でのデータ処理速度等）を算出してコマンド生成装置１１６に通知する。
【００１９】
データ転送制御装置１１７は、コマンド生成装置１１６で生成されたメモリコマンドに応じてＤＭＡＣ１１１、１１２、１１３、１１４を制御し、データバッファ１０５、１０６、１０７、１０８とのデータ転送を実行する。コマンド生成装置１１６で生成されたメモリコマンドがライトコマンドである場合には、データ転送制御装置１１７は、ＤＭＡＣ１１１又は１１３を用いて対応するデータバッファからデータを読み出し、ライトデータバッファ１１９に送信する。ライトデータバッファ１１９に送信されたライトデータは、メモリコマンド制御部１２１によりライトコマンドが実行された時にメモリ（ＤＲＡＭ）１２２に書き込まれる。生成されたメモリコマンドがリードコマンドである場合には、コマンド生成装置１１６によりメモリコマンドがコマンドバッファ１１８に送信された後、メモリコマンド制御部１２１によりメモリ（ＤＲＡＭ）１２２からのデータ読み出しが実行される。メモリ（ＤＲＡＭ）１２２から読み出されたデータがリードデータバッファ１２０に保持されると、データ転送制御装置１１７は、ＤＭＡＣ１１２又は１１４を起動し、対応するデータバッファにリードデータを送信する。
【００２０】
なお、内部レジスタ１２３に保持された各データバッファのデータ転送情報は、ＣＰＵ１０９によりバスインタフェース（バスＩＦ）１１０を介してデータ処理の内容に応じて変更される。
【００２１】
次に、データバッファ１０５、１０６、１０７、１０８及びデータバッファ監視装置１１５の詳細について説明する。データバッファ１０５、１０６、１０７、１０８は、あるまとまった単位でデータを保存、送信する機能を持ったモジュールであり、図４に一例を示すようにＰｕｓｈ、Ｐｏｐ、Ｆｕｌｌ、Ｅｍｐｔｙの各信号で制御される。例えばライトデータバッファとしてＦＩＦＯ（First In First Out）を用いる場合には、データ処理装置がＦＩＦＯに書き込みデータを送信すると共にＰｕｓｈ信号をアサートする。ＦＩＦＯにデータを受け付けるための空き容量がない場合には、ＦＩＦＯからＦｕｌｌ信号がアサートされ、データ書き込みが待たされる。また、メモリ制御装置１０１のＤＭＡＣがライトデータバッファからデータを読み出す際には、Ｐｏｐ信号をアサートしＦＩＦＯからデータを受け取る。もしＦＩＦＯ内に送信すべきデータが存在しない場合には、ＦＩＦＯからＥｍｐｔｙ信号がアサートされ、ＦＩＦＯ内にデータが保存されるまでＤＭＡＣへのデータ送信が待たされる。データバッファ内に保持されたデータ量は、例えばポインタにより管理されており、Ｆｕｌｌ信号やＥｍｐｔｙ信号はポインタ値とデータバッファ容量を基に生成される。データバッファ監視装置１１５は、単位サイクル毎のポインタ値の変動から各データバッファのデータ量、データ空き容量と、データ消費、増減（増加レート）を算出してコマンド生成装置１１６に通知する。
【００２２】
次に、内部レジスタ１２３の詳細について、図５を用いて説明する。コマンド生成装置１１６は、内部レジスタ１２３に保存されたデータ転送情報とデータバッファ監視装置１１５からのデータバッファの状態の情報に基づいてメモリデバイス（ＤＲＡＭ）１２２に対するメモリコマンドを生成しコマンドバッファ１１８に送信する。内部レジスタ１２３は、データ転送シーケンスレジスタ５０１、転送開始アドレス設定レジスタ５０２、データ転送レート設定レジスタ５０３、及び転送ステータスレジスタ５０４から構成される。データ転送シーケンスレジスタ５０１、転送開始アドレス設定レジスタ５０２、データ転送レート設定レジスタ５０３に設定されるデータ転送情報の一例を図６示す。
【００２３】
データ転送シーケンスレジスタ５０１は、データバッファのＩＤ、データ転送方向、アクセスするメモリアドレスを特定するためのアドレスＩＤ、及び転送データの総量の各々に係るフィールドにより構成される。データ転送シーケンスレジスタ５０１は、データバッファ数に対応して複数のレジスタが存在する。
【００２４】
また、転送開始アドレス設定レジスタ５０２は、データ転送シーケンスレジスタ５０１のアドレスＩＤに対応するアドレスを設定するためのレジスタである。データ転送レート設定レジスタ５０３は、あるデータバッファとの間で行うデータ転送について、最低限保証すべき要求性能（データ転送レート）を保証サイクル、保証転送データ量として保持する。コマンド生成装置１１６は、指定されたデータバッファに対するデータ転送が、設定された保証サイクル以内に保証転送データ量の転送が完了するようにメモリコマンドの生成を制御する。
【００２５】
転送ステータスレジスタ５０４は、コマンド生成装置１１６がメモリコマンドを生成する際に参照、変更される。転送ステータスレジスタ５０４は、最大転送レート、実行データ量、及び合計実行サイクルの各々に係るフィールドで構成される。最大転送レートとは、ひとつのデータバッファへのデータ転送を単独で連続して実行可能な場合の最大データ転送レートであり、メモリ制御装置１０１の動作モード及びメモリデバイス（ＤＲＡＭ）１２２の構成、タイミング設定値から算出される。最大転送レートは、コマンド生成装置１１６の起動前にＣＰＵ１０９により設定する必要がある。実行データ量は、データ転送レート設定レジスタ５０３に設定されたデータバッファに対する実行済みの転送データ量を保持する。合計実行サイクルは、一連のメモリコマンドの実行に伴う合計実行サイクルを計算する際に利用される。
【００２６】
続いて、図７を用いてメモリコマンドの生成フローについて説明する。
コマンド生成装置１１６は、ＣＰＵ１０９あるいは外部入力からのトリガ信号を受けてメモリコマンドの生成処理を開始する（７０１）。コマンド生成装置１１６は、まずデータ転送シーケンスレジスタ５０１の値を読み込む（７０２）。続いて、コマンド生成装置１１６は、データバッファ監視装置１１５からのデータバッファの状態を読み込み（７０３）、コマンドリストを生成する（７０４）。コマンドリストは、これからデータバッファ毎に実行されるメモリコマンド数を計上したものであり、コマンド生成装置１１６は、コマンドリスト単位でメモリコマンドの生成、データ処理速度の取得、及びデータ転送レートの確認を実施する。コマンドリストに計上されるメモリコマンドは、各データバッファのデータ処理速度やデータバッファのデータ量、データ空き容量に応じて算出される（図８参照）。
【００２７】
コマンドリストが生成されると、コマンド生成装置１１６は、コマンドリストの先頭から順にメモリコマンドの実行に要する実行サイクル数を算出する（７０５）。メモリコマンドの実行サイクルは、図９のテーブルに示すように、メモリコマンド実行時のバンクの状態と、メモリコマンド間の転送方向の関連性及びＤＲＡＭのタイミングパラメータ設定から算出される。図９において、“｜パラメータ｜”は、ＤＲＡＭのタイミングパラメータ（単位：ｎｓ）をＤＲＡＭのクロック周期を基にサイクル単位に変換した値である。
【００２８】
算出された実行サイクルは、転送ステータスレジスタ５０４の合計実行サイクルに加算される。また、データ転送レートを保証するデータ転送の場合には、メモリコマンドの実行により転送されるデータ量を転送ステータスレジスタ５０４の実行データ量に加算する。実行サイクルの計算を完了すると、コマンド生成装置１１６は、転送ステータスレジスタ５０４の実行データ量及び合計実行サイクルと、データ転送レート設定レジスタ５０３の保証転送データ量及び保証サイクルとを基にデータ転送レートを確認する（７０６）。
【００２９】
まず、データ転送レートを保証すべきデータ転送シーケンスに関して、以下の式より残りの転送データ量と残りの転送保証サイクルを算出する。
（残りの転送データ量）＝（保証転送データ量）−（実行データ量）
（残りの転送サイクル）＝（保証サイクル）−（合計実行サイクル）
【００３０】
前述のようにして算出された値より、残りのデータ転送を完了するまでに必要なデータ転送レート（必要データ転送レート）を以下の式により見積もる。
（必要データ転送レート）＝（残りの転送データ量）／（残りの転送サイクル）
【００３１】
算出された必要データ転送レートを、転送ステータスレジスタ５０４に保持された最大転送レートと比較する。必要データ転送レートが最大転送レートを超える場合には、保証サイクル内に保証転送データ量のデータ転送を実行できないことになる。したがって、この場合（性能要求を満たせない場合）には、転送ステータスレジスタ５０４の実行データ量と合計実行サイクルをもとの値に戻したうえで、保証すべきデータ転送の割合が大きくなるようにコマンドリストを再生成する（７０４）。例えばメモリコマンドの生成回数を変更してコマンドリストを再生成する。そして、再生成したコマンドリストを用いて、合計実行サイクルを再計算する。このようにして、本実施形態では、メモリコマンドを実行した際のデータ転送レートをメモリコマンドの発行に先立ち算出して、要求された性能を満たすか否かを判断し、性能要求を満せない場合にはコマンドリストを変更する。
【００３２】
必要データ転送レートが最大転送レートより小さい値であることが確認できた場合には、コマンド生成装置１１６は、コマンドリストに従って指定回数のメモリコマンドを生成してコマンドバッファ１１８に送信する（７０７）。データ転送制御装置１１７は、生成されたメモリコマンドに応じてＤＭＡＣを起動しデータ転送を実行する（７０８）。前述の操作を各データ転送の転送データ量に達するまで繰り返し行う（７０９）。これにより、最低限のデータ転送レートを確実に保証しつつ、データ処理装置のデータ処理速度に応じたメモリアクセスを実行することができ、効率的なメモリアクセス制御が可能となる。なお、コマンド生成装置１１６におけるメモリコマンドの生成アルゴリズムは、プログラムの変更によりデータ転送に要求される性能に応じて変更可能としても良い。
【００３３】
（本発明の他の実施形態）
前述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置又はシステム内のコンピュータ（ＣＰＵ又はＭＰＵ）に対し、前記実施形態の機能を実現するためのソフトウェアのプログラムを供給する。そして、そのシステム又は装置のコンピュータに格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
また、この場合、前記ソフトウェアのプログラム自体が前述した実施形態の機能を実現することになり、そのプログラム自体は本発明を構成する。また、そのプログラムをコンピュータに供給するための手段、例えばかかるプログラムを格納した記録媒体は本発明を構成する。かかるプログラムを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
また、供給されたプログラムがコンピュータにて稼働しているオペレーティングシステム又は他のアプリケーションソフト等と共同して前述の実施形態の機能が実現される場合にもかかるプログラムは本発明の実施形態に含まれることは言うまでもない。
さらに、供給されたプログラムがコンピュータに係る機能拡張ボードや機能拡張ユニットに備わるメモリに格納された後、そのプログラムの指示に基づいてその機能拡張ボード等に備わるＣＰＵ等が実際の処理の一部又は全部を行う。その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【００３４】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００３５】
１０１…メモリ制御装置、１０２、１０３、１０４…データ処理装置、１０５、１０６、１０７、１０８…データバッファ、１０９…ＣＰＵ、１１５…データバッファ監視装置、１１６…コマンド生成装置、１１７…データ転送制御装置、１２１…メモリコマンド制御部、１２２…メモリデバイス（ＤＲＡＭ）
【図１】
2010262526.tif 000003
【図２】
2010262526.tif 000004
【図３】
2010262526.tif 000005
【図４】
2010262526.tif 000006
【図５】
2010262526.tif 000007
【図６】
2010262526.tif 000008
【図７】
2010262526.tif 000009
【図８】
2010262526.tif 000010
【図９】
2010262526.tif 000011