(57)【要約】【課題】  簡素な構成でメモリアクセス時間を短縮すること。【解決手段】  メモリへのアクセスを制御する制御装置は、メモリへのアクセスについて、メモリのアクセスされるアドレスの順序に対応する所定のアドレスを取得し、所定のアドレスとアクセスの対象アドレスとが一致するかを判定し、その所定のアドレスと対象アドレスとが一致する場合に、対象アドレスへのアクセス終了後のページクローズを行うようにメモリへのアクセスを制御する。【選択図】  図７
2015022437.tif 000002
【特許請求の範囲】
【請求項１】
メモリへのアクセスを制御する制御装置であって、
前記メモリへのアクセスについて、当該メモリのアクセスされるアドレスの順序に対応する所定のアドレスを取得する取得手段と、
前記所定のアドレスとアクセスの対象アドレスとが一致するかを判定する判定手段と、  前記所定のアドレスと前記対象アドレスとが一致する場合に、当該対象アドレスへのアクセス終了後のページクローズを行うように前記メモリへのアクセスを制御する制御手段と、
を有することを特徴とする制御装置。
【請求項２】
前記所定のアドレスは、前記順序と前記メモリにおけるページの範囲とに基づいて定められる、
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記所定のアドレスは、前記順序において当該所定のアドレスの次にアクセスされるアドレスを含むページが、当該所定のアドレスを含むページと異なるように定められる、
ことを特徴とする請求項２に記載の制御装置。
【請求項４】
前記取得手段は、複数のバスマスタのいずれかが、システムバスを通じて前記メモリへアクセスする場合、前記バスマスタの識別情報に基づいて、前記順序を特定し、前記所定のアドレスを取得する、
ことを特徴とする請求項１から３のいずれか１項に記載の制御装置。
【請求項５】
請求項１から４のいずれか１項に記載の制御装置と、前記メモリとを有することを特徴とするコンピュータシステム。
【請求項６】
メモリへのアクセスを制御する制御装置の制御方法であって、
取得手段が、前記メモリへのアクセスについて、当該メモリのアクセスされるアドレスの順序に対応する所定のアドレスを取得する取得工程と、
判定手段が、前記所定のアドレスとアクセスの対象アドレスとが一致するかを判定する判定工程と、
制御手段が、前記所定のアドレスと前記対象アドレスとが一致する場合に、当該対象アドレスへのアクセス終了後のページクローズを行うように前記メモリへのアクセスを制御する制御工程と、
を有することを特徴とする制御方法。
【請求項７】
メモリへのアクセスを制御する制御装置に備えられたコンピュータに、
前記メモリへのアクセスについて、当該メモリのアクセスされるアドレスの順序に対応する所定のアドレスを取得する取得工程と、
前記所定のアドレスとアクセスの対象アドレスとが一致するかを判定する判定工程と、  前記所定のアドレスと前記対象アドレスとが一致する場合に、当該対象アドレスへのアクセス終了後のページクローズを行うように前記メモリへのアクセスを制御する制御工程と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメモリアクセス技術に関する。
【背景技術】
【０００２】
半導体の集積度の向上により、様々な処理装置が１つのＬＳＩチップに統合されるようになった。様々な処理装置を１つのＬＳＩチップに統合する場合、コストを低く抑えるために、チップ内の様々な処理装置がＬＳＩチップ外に接続されたＤＲＡＭを共用する構成が広く使用されている。
【０００３】
このとき、それぞれの処理装置がＤＲＡＭへアクセスするときの、メモリのアクセスされるアドレスの順序（アクセスパターン）が異なる場合がある。これに伴い、異なるアクセスパターンが使用される場合であってもＤＲＡＭアクセス時間を短縮して高い性能を得られるように、ＤＲＡＭのページモードでのページクローズを最適に行うことが求められている。
【０００４】
最近のＤＲＡＭは、アクセス時間を短縮できるページモードを備える。ＤＲＡＭは複数のバンクで構成され、それぞれのバンクは複数のページを含む。ＤＲＡＭはバンク選択信号とＲＯＷアドレスにより、アクセスするページを選択してオープンを行い、次のＣＯＬＵＭＮアドレスの指定により読み出しあるいは書き込み先アドレスを指定する。
【０００５】
なお、ページモードを用いることにより、ＤＲＡＭのバンク内の同一ページに対してアクセスする場合（ページヒットの場合）、当該ページに短い時間でアクセスすることが可能となる。しかし、ＤＲＡＭのバンク内の別のページに対してアクセスする場合（ページミスの場合）には、プリチャージを行ってそれまでアクセスしていたページをクローズして、新しいＲＯＷアドレスを指定してページをオープンしてからアクセスすることとなる。
【０００６】
図１にＤＲＡＭアクセスの手順を示す。ＤＲＡＭはＡＣＴによりページをオープンして、ＣＭＤによりページを指定し、書き込みまたは読み出しアクセスを行い、ＰＲＥによりページをクローズする。
【０００７】
図１（ａ）は、１番目のアクセスと２番目のアクセスとが同一バンクかつ同一のページに対するものであり、２番目のアクセスがページヒットの場合を示している。この場合、ＡＣＴ１２０によりページオープンしてＣＭＤ１２１により１番目のアクセスをした後、ページのクローズと別のページのオープンをすることなく、ＣＭＤ１２２を発行することにより２番目のアクセスを行うことができる。
【０００８】
図１（ｂ）は、例えば、１番目のアクセスと２番目のアクセスとが同一バンクの異なるページに対するものであり、２番目のアクセスがページミスとなる場合である。この時は、まず、ＡＣＴ１２３によりページをオープンしてＣＭＤ１２４により１番目のアクセスを行う。その後、ＰＲＥ１２５によりページをクローズしてからＡＣＴ１２６により２番目のアクセスのためのページオープンが行われ、ＣＭＤ１２７により２番目のアクセスが行われる。このためＡＣＴとＰＲＥの分のページミスペナルティ１２８が生じる。
【０００９】
したがって、メモリアクセス速度を向上するには、ページミスを減らすことによりページミス時のペナルティを少なくすることが重要である。
【００１０】
ページヒットとなるかミスとなるかは、処理装置のメモリアクセスパターン（アクセスの順序）とページの割り当て方に依存する。例えば、図２に示すラスタ方向のアクセスパターンでは、アドレスが連続的に増加する。図３に示す矩形のアクセスパターンでは、Ｘ方向にアドレスが連続して増加した後、Ｙ方向にアドレスが増加するためにアドレスが大きく増加する。
【００１１】
このように複数のアクセスパターンが使用される場合、メモリアクセスの高速化のために、ページをＸ方向とＹ方向とのいずれが増加した場合でも同一ページになるように、ＲＯＷアドレスとＣＯＬＵＭＮアドレスのビットに対するページの割り当てが行われる。例えば、図４はページサイズが１ＫＢであるときに、フレームバッファとして１ピクセル３２Ｂｉｔ（４Ｂｙｔｅ）、Ｘ方向に１６ピクセル、Ｙ方向に１６ピクセルが同一ページになるようにしている。
【００１２】
また、特許文献１及び特許文献２には、メモリアクセスのパターンによってページクローズの発行を制御する技術が記載されている。特許文献１には、メモリコントローラがアドレスキュー内で今回メモリアクセスを行うページと次のメモリアクセスのページが同一であるかどうかを検出することでクローズを最適なタイミングで行う技術が記載されている。また、特許文献２には、複数のバスマスタが、メモリのアクセスされるアドレスの異なる順序を有するとき、メモリコントローラがバスマスタ毎にバーストアクセスの終了検知ができるようにすることを記載している。そして、特許文献２に記載の技術では、マスタデバイス毎に、バーストアクセスの終了時に、ページクローズと後続するメモリアクセスが参照するページのオープンとを行う。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２０００−３３１４７６号公報
【特許文献２】特開２００６−１２７１１０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
システム内に処理装置が複数存在し、それぞれが異なるメモリアクセスパターンを有することが一般化している。この時、ページクローズの制御を最適にするという観点からは、特許文献１のメモリコントローラでは、ページ変化検出をするため次のメモリアクセスが到着していない場合は最適な制御を行うことができないという課題があった。さらに、特許文献１の技術では、ページ変化を検出するための回路量が大きくなってしまうという課題があった。また、特許文献２のメモリコントローラでは、ページクローズの制御をバーストアクセスの終了時のみに行うため、バーストアクセス中でページが変わる場合のページクローズの制御が最適ではなく、メモリアクセス時間が長くなるという課題があった。
【００１５】
本発明は上記課題に鑑みなされたものであり、簡素な構成でメモリアクセス時間を短縮する技術を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記目的を達成するため、本発明による制御装置は、メモリへのアクセスを制御する制御装置であって、前記メモリへのアクセスについて、当該メモリのアクセスされるアドレスの順序に対応する所定のアドレスを取得する取得手段と、前記所定のアドレスとアクセスの対象アドレスとが一致するかを判定する判定手段と、前記所定のアドレスと前記対象アドレスとが一致する場合に、当該対象アドレスへのアクセス終了後のページクローズを行うように前記メモリへのアクセスを制御する制御手段と、を有する。
【発明の効果】
【００１７】
本発明によれば、簡素な構成でメモリアクセス時間を短縮することができる。
【図面の簡単な説明】
【００１８】
【図１】ページヒット時とページミス時のＤＲＡＭ制御の概念図。
【図２】メモリのアクセスされるアドレスの順序の例を示す図。
【図３】メモリのアクセスされるアドレスの順序の例を示す図。
【図４】フレームバッファ上のページ割り当ての例を示す図。
【図５】コンピュータシステムの構成例を示す図。
【図６】メモリコントローラの構成例を示す図。
【図７】ページクローズ判定部の構成例を示すブロック図。
【発明を実施するための形態】
【００１９】
以下、添付図面を参照して本発明の実施の形態を詳細に説明する。
【００２０】
本実施形態では、複数の処理装置ごとに定まるメモリのアドレスへのアクセス順序（アクセスパターン）に対応する所定のアドレスを取得し、その所定のアドレスと、アクセスの対象アドレスとが一致するかを判定する。そして、その所定のアドレスと対象アドレスとが一致する場合に、対象アドレスへのアクセス後にページクローズを行うことで、メモリアクセス時間を短縮する。
【００２１】
なお、ここでのアクセスパターンとは、図２又は図３に示すようなものを含む。なお、図２及び図３の例では、１つのマス目は１画素に関する情報を含む。例えば、図２のアクセスパターンでは、メモリの１つの行の全てについてのメモリアクセスが完了した後に、次の行のメモリアクセスが行われる。また、図３のアクセスパターンでは、８画素×８画素のブロック単位でアクセスが行われる。図３の例では、ブロック内の１つの行の８画素分のメモリアクセスが完了した後に、次の行の８画素分のメモリアクセスを行い、これを繰り返して８行分のアクセスが完了した後に、次（右隣）のブロックへのメモリアクセスを行う。
【００２２】
ここで、メモリが、図４のように、１６画素分×１６画素分の範囲を有する複数のページに分割されているものとする。この場合、図２のアクセスパターンを用いる場合は、ページの左端のアドレスへのアクセスの後、その１６画素分だけ右に存在するアドレスへのアクセス時には、ページの切り替えが発生することが予め分かる。さらに言えば、例えば、図２の２０１ａのアドレスにアクセスする時点において、アクセスパターンにおける次のアドレスへのアクセスの際にページの切り替えが生じることが分かる。したがって、２０１ａのアドレスへアクセスする場合、アクセスの終了後にページクローズしておけば、改めてページクローズをする必要がなく、高速なメモリアクセスを行うことが可能となる。したがって、本実施形態では、２０１ａ、２０１ｂ及び２０１ｃのアドレスへのアクセスをする場合に、そのアクセスの終了後にページクローズするような制御を行う。
【００２３】
同様に、図３のアクセスパターンを用いる場合は、図４のページ構成では、図３におけるブロックがＸ方向に２個、Ｙ方向に２個存在する。ここで、図３のアクセスパターンでは、１つのブロックのメモリアクセスが終了すると、右隣のブロックのメモリアクセスを行う。そして、その右隣のブロックのメモリアクセスが終了すると、さらにその右隣のブロックのメモリアクセスを行う。したがって、図３のアクセスパターンを用いる場合では、２つのブロックを１つのグループとして、その右側のブロックの最後（右下端）の画素分についてのメモリアクセスが完了した後に、ページが切り替わる。すなわち、図３の２１１ａのアドレスへアクセスする場合、アクセスの終了後にページクローズしておくことにより、高速なメモリアクセスを行うことが可能となる。したがって、本実施形態では、２１１ａ、２１１ｂ及び２１１ｃのアドレスへのアクセスをする場合に、そのアクセスの終了後にページクローズするような制御を行う。
【００２４】
すなわち、本実施形態では、アクセスパターンが図２のようなものであるか、図３に示すようなものであるかに応じて、そのアクセスの終了後にページクローズする所定のアドレスを定めておく。そして、実際のアクセスの対象アドレスがページクローズする所定のアドレスである場合に、アクセス終了後にページクローズするような制御が行われる。
【００２５】
これにより、システム内に処理装置が複数存在し、それぞれが異なるメモリアクセスパターン（順序）を有する場合でも、少ない回路量でページクローズの制御を最適に行うことができる。また、この結果、メモリアクセスのページクローズ、ページオープンのための時間が短縮でき、メモリインタフェースの周波数、ビット幅、チャネル数を少なくすることができ、製品コストを安くすることができる。
【００２６】
続いて、本実施形態に係るコンピュータシステムの構造及び具体的な動作について説明する。
【００２７】
図５は、本実施形態に係るコンピュータシステムの構成例を示す図である。ここでは、ＤＲＡＭとのインタフェースが３２ビットであり、１アクセスで４回の３２ビットのアクセスを行うものを例に説明するが、他の構成でも以下の実施形態を適用することができる。また、本実施形態では、説明を簡単にするため、アクセスパターンごとのページクローズするアドレスを識別するための情報として、バスマスタとメモリコントローラとの間を接続するバスの、バスマスタＩＤ（識別情報）を用いる場合について説明する。なお、バスマスタとメモリコントローラの間では、アクセスパターンごとのページクローズするアドレスを特定する情報がサイドバンド信号で通知されてもよい。また、アクセスパターン自体を特定する情報が通知されてもよい。この場合、アクセスパターンとメモリ内のページの範囲とから、ページクローズするアドレスを特定してもよい。例えば、あるアクセスパターンにおいて、第１のアドレスを含むページと、その第１のアドレスの次にアクセスされる第２のアドレスを含むページとが異なる場合に、その第１のアドレスがページクローズするアドレスとして定められる。なお、アクセスパターンごとに、定められたページクローズするアドレスをテーブルとして保持しておいてもよい。
【００２８】
図５のコンピュータシステムは、例えば、第１処理装置１０１、第２処理装置１０２、システムバス１０３、メモリコントローラ１０４、及びＤＲＡＭ１０７を含む。
【００２９】
第１処理装置１０１がメモリアクセスを行う場合、第１バスマスタ１０８が、システムバス１０３に対してコマンド（Ｒｅａｄ、又はＷｒｉｔｅ）、バスマスタＩＤ、アドレス、コマンドがＷｒｉｔｅの場合は書き込みデータを出力する。第２処理装置１０２がメモリアクセスを行う場合も同様であるが、バスマスタが異なるため、第２バスマスタ１０９は第１バスマスタ１０８とは異なるバスマスタＩＤをシステムバス１０３に対して出力する。
【００３０】
システムバス１０３は、調停を行い、調停に勝ったメモリアクセスのコマンド（Ｒｅａｄ、又はＷｒｉｔｅ）、バスマスタＩＤ、アドレス、コマンドがＷｒｉｔｅの場合は書き込みデータをメモリコントローラ１０４に出力する。なお、Ｒｅａｄコマンドを受け取った場合、システムバス１０３は、メモリコントローラ１０４が送出したＤＲＡＭからの読み出しデータをバスマスタＩＤで指定された処理装置に送る。
【００３１】
メモリコントローラ１０４は、Ｒｅａｄコマンドを受信すると、ＤＲＡＭに対して指定されたアドレスで読み出しを行う。また、メモリコントローラ１０４は、受け取ったバスマスタＩＤに対して、ＤＲＡＭから読み出したデータを送出する。さらに、メモリコントローラ１０４は、Ｗｒｉｔｅコマンドを受信すると、ＤＲＡＭに対して指定されたアドレスへの書き込みを行う。
【００３２】
図６は、メモリコントローラ１０４の構成例を示す図である。メモリコントローラ１０４は、例えば、制御部１４１、ページクローズ判定部１４２、ＲＯＷアクセスシーケンサ１４４、タイミングカウンタ１４５、ＣＯＬアクセスシーケンサ１４６、及びページ情報保持部１４８を有する。
【００３３】
制御部１４１はページヒット、ページミスの判定を行い、ページオープン（ページの活性化）、ページクローズ（プリチャージ）をＲＯＷアクセスシーケンサ１４４とＣＯＬアクセスシーケンサ１４６に対して指示する。また、制御部１４１は、コマンド発行アドレスの生成、リフレッシュ、リード、ライト、モードセット等を行う。
【００３４】
ページ情報保持部１４８には、バンクごとにページがオープン／クローズのいずれの状態であるかの情報と、オープンされている場合はオープンされているページのページ番号とが保持される。制御部１４１はページをオープン、クローズする度に、ページ情報保持部１４８を更新する。
【００３５】
制御部１４１は、アクセスの対象アドレスからバンクとページを算出し、ページ情報保持部１４８を参照する。算出したバンクがオープンされていて、オープンされているページが算出したページと等しい場合はページヒットである。この時は、制御部１４１は、そのままＣＯＬアクセスシーケンサ１４６に対してメモリアクセスコマンドを発行する。
【００３６】
一方、算出したバンクがオープンされていて、オープンされているページが算出したページと異なる場合はページミスである。この時は、制御部１４１は、ＲＯＷアクセスシーケンサ１４４に対して、現在オープンされているページをクローズする指示を発行してから、アクセスするページをオープンする指示を発行する。その後、制御部１４１は、ＣＯＬアクセスシーケンサ１４６に対してメモリアクセスコマンドを発行する。
【００３７】
また、算出したバンクがクローズされている場合は、制御部１４１は、ＲＯＷアクセスシーケンサ１４４にページをオープンする指示を出す。そして、制御部１４１は、アクセスの対象ページがオープンされた後に、ＣＯＬアクセスシーケンサ１４６に対してメモリアクセスコマンドを発行する。
【００３８】
ＲＯＷアクセスシーケンサ１４４は、ページオープン、クローズの指示を受けると、タイミングカウンタ１４５を参照して発行可能なタイミングを待って、ページオープンコマンド、ページクローズコマンドをＤＲＡＭ１０７に対して発行する。なお、タイミングカウンタ１４５は、ＤＲＡＭのコマンド発行タイミングの制約に違反しないようにタイミング待ちを行うためのカウンタである。
【００３９】
ＣＯＬアクセスシーケンサ１４６は、メモリアクセスコマンドを受け取ると、タイミングカウンタ１４５を参照してコマンド発行可能なタイミングを待って、読み出し又は書き込みコマンドをＤＲＡＭ１０７に対して発行する。ＣＯＬアクセスシーケンサ１４６は、読み出し又は書き込みを行う際に、その動作が終了した後でページクローズする指示を出すことができる（ＡｕｔｏＰａｇｅＣｌｏｓｅ）。ＡｕｔｏＰａｇｅＣｌｏｓｅ機能により、読み出し又は書き込みの対象アドレスへのアクセスが終了した後に、ページクローズコマンドを発行することがわかっている場合に、ページクローズコマンドを改めて発行する必要がなくなる。この結果、メモリアクセス時間を短縮することができる。
【００４０】
図７は、ページクローズ判定部１４２の構成例を示す図である。ページクローズ判定部１４２は、現在のアクセスの対象アドレスと、バスマスタＩＤごとに定められるページクローズするアドレスとから、アクセスを行うページに対するクローズコマンドを発行するか否かを判定する。この判定手順について、以下、説明する。
【００４１】
まず、ページクローズ判定部１４２では、アドレス１５１とバスマスタＩＤ１５３とが入力される。次にマルチプレクサ２４４において、ＰａｇｅＣｌｏｓｅアドレスマスクレジスタ２４０に格納されているＰａｇｅＣｌｏｓｅアドレスマスクから、バスマスタＩＤ１５３に対応する値を出力する。そして、ＡＮＤゲート２４５において、この値とアドレス１５１との論理積が取られる。さらに、マルチプレクサ２４６において、ＰａｇｅＣｌｏｓｅアドレスコンペアレジスタ２４１に格納されているＰａｇｅＣｌｏｓｅアドレスのコンペア値から、バスマスタＩＤ１５３に対応する値を出力する。そして、比較回路２４７において、この値とＡＮＤゲート２４５の出力とのコンペアが行われ、同じであればＰａｇｅＣｌｏｓｅｒｅｑｕｅｓｔ２４８がアサートされる。
【００４２】
ＰａｇｅＣｌｏｓｅｒｅｑｕｅｓｔ２４８がアサートされた時、読み出し又は書き込みをする際に、ＣＯＬアクセスシーケンサ１４６に対してＡｕｔｏＰａｇｅＣｌｏｓｅの読み出し又は書き込みコマンドを送る。これにより、ＣＯＬアクセスシーケンサ１４６は、アクセスの対象アドレスが、アクセスパターンに対応するページクローズする所定のアドレスと一致する場合は、ＡｕｔｏＰａｇｅＣｌｏｓｅ機能を実行することとなる。したがって、アクセスパターンごとに適切なページクローズするアドレスを決定することにより、異なる複数のアクセスパターンが用いられる場合のメモリアクセス時間を短縮することが可能となる。
【００４３】
図４に示すＤＲＡＭのページ割り当てがなされている状態で、０ｘ０１００００００番地から画像データの各画素値が格納されているとする。このアドレスに対して、第１バスマスタ１０８がラスタ方向（図２のようなアクセスパターン）でピクセル書き込みを行い、書き込まれたデータを第２バスマスタ１０９が、８×８×Ｎの順序（図３のようなアクセスパターン）で読み出しを行う例を説明する。
【００４４】
第１バスマスタ１０８は、図２のようなラスタ方向のアクセスパターンでメモリへの書き込みを行うため、第１バスマスタ１０８からのアクセスに対して、図２の２０１ａ、２０１ｂ及び２０１ｃのような位置において、ＡｕｔｏＰａｇｅＣｌｏｓｅが行われる。すなわち、下位６ビットが１１１１００（０ｘ３ｃ）であるアドレスを含む読み出しを行う時に、ＡｕｔｏＰａｇｅＣｌｏｓｅが行われる。したがって、この時には、ＰａｇｅＣｌｏｓｅアドレスマスクレジスタ２４０のマスタＩＤ＃１  ２４２ｂには、０ｘ００００００３ｃが格納される。さらに、ＰａｇｅＣｌｏｓｅアドレスコンペアレジスタ２４１のマスタＩＤ＃１  ２４３ｂには、０ｘ００００００３ｃが格納される。
【００４５】
また、第２バスマスタ１０９は、図３のような８×８×Ｎのアクセスパターンでメモリからの読み出しを行う。このため、第２バスマスタ１０９からのアクセスに対して、図３の２１１ａ、２１１ｂ及び２１１ｃのような位置において、ＡｕｔｏＰａｇｅＣｌｏｓｅが行われる。すなわち、アドレスの下位６ビットが０ｘ３ｃで、かつ、アドレスの１５ビット〜１３ビットが０ｘ７である時にＡｕｔｏＰａｇｅＣｌｏｓｅが行われる。したがって、この時には、ＰａｇｅＣｌｏｓｅアドレスマスクレジスタ２４０の２４２ｄマスタＩＤ＃３  ２４２ｄには、０ｘ００００ｅ０３ｃが格納される。さらに、ＰａｇｅＣｌｏｓｅアドレスコンペアレジスタ２４１のマスタＩＤ＃３  ２４３ｄには、０ｘ００００ｅ０３ｃが格納される。
【００４６】
したがって、第１バスマスタ１０８が、ラスタ方向のアクセスパターンで１９２０画素分のデータの書き込みを行う際には、
｛０ｘ０１００００３ｃ，０ｘ０１００００７ｃ，０ｘ０１００００ｂｃ，０ｘ０１００００ｆｃ，０ｘ０１０００１３ｃ，０ｘ０１０００１７ｃ，０ｘ０１０００１ｂｃ，０ｘ０１０００１ｆｃ，・・・，０ｘ０１００１ｄ３ｃ，０ｘ０１００１ｄ７ｃ，０ｘ０１００１ｄｂｃ，０ｘ０１００１ｄｆｃ｝
が書き込みの対象アドレスであった時に、その書き込みの終了後、ＡｕｔｏＰａｇｅＣｌｏｓｅが行われる。
【００４７】
また、第２バスマスタ１０９が８×８×Ｎのアクセスパターンで５１２ピクセルの読み出しを行う際には、
｛０ｘ０１００ｅ０３ｃ，０ｘ０１００ｅ０７ｃ，０ｘ０１００ｅ０ｂｃ，０ｘ０１００ｅ０ｆｃ｝
が読み出しの対象アドレスであった時に、その読み出しの終了後、ＡｕｔｏＰａｇｅＣｌｏｓｅが行われる。
【００４８】
以上のようにして、本実施形態に係るメモリコントローラは、バスマスタＩＤからアクセスパターンごとに対応するページクローズするアドレスを識別して、読み出し／書き込みのアドレスに応じてページクローズを行う。これによりシステム内に処理装置が複数あり、それぞれが異なるメモリアクセスパターンを有する場合でも、ページクローズの制御を最適に行うことができる。この結果メモリアクセス時間を短くすることができる。また、ページクローズの制御を行う際の回路に、後続のアクセスアドレスとの比較をする必要がないため後続アクセス待ちをする必要もなく、また回路量も小さくすることができる。
【００４９】
＜＜その他の実施形態＞＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015022437.tif 000003
【図２】
2015022437.tif 000004
【図３】
2015022437.tif 000005
【図４】
2015022437.tif 000006
【図５】
2015022437.tif 000007
【図６】
2015022437.tif 000008
【図７】
2015022437.tif 000009