(57)【要約】【課題】  複数データ形式を扱うシステムにおいて、データ形式によらずＤＲＡＭメモリアクセス時のページミスによるペナルティーを少なくし、システム全体のメモリアクセス速度を向上させる。【解決手段】  複数のマスタデバイスからのメモリアクセスが可能なシステムで、メモリコントローラと、任意のアクセス単位ごとに規則的に離散的なメモリアクセスを行うマスタデバイスを有するシステムにおいて、マスタデバイスを識別し、規則的かつ離散的なアクセスを判定する手段を有し、アクセスに応じてページミスを予測しあらかじめページオープンを行う手段を有する。【選択図】  図１
2006127110.tif 000002
【特許請求の範囲】
【請求項１】
ＤＲＡＭメモリアクセスを制御するメモリコントローラで、該メモリコントローラはメモリ高速アクセス（ページモードアクセス）制御手段、アクセスマスタ識別手段を有し、識別されたアクセスマスタデバイスのアクセスに対して、該アクセスマスタデバイスのアクセス単位を識別しアクセス単位の終了を検知する手段と、該マスタのアクセス単位終了検知に基づき、現行のＤＲＡＭアクセスページをクローズし、該アクセスマスタの後続アクセスのＤＲＡＭページを判定し該当ページをオープンする手段を有することを特徴とするメモリアクセス制御手法、およびその手段。
【請求項２】
メモリアクセス単位の識別と、後続アクセスページの判定をレジスタにより設定値に従いページのクローズ、オープンを行うことを特徴とする請求項１で記されるメモリアクセス制御手法、およびその手段。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置におけるメモリアクセス手法、手段に関する。
【背景技術】
【０００２】
近年半導体技術の向上に伴い、ＬＳＩ内部回路の動作周波数が飛躍的に高速化しており、ＬＳＩ内部の処理を高速に行うことができるようになった。
【０００３】
複合機器の制御装置といった複数の処理を並行に行う制御装置においても、半導体技術の向上に伴って、内部処理の高速化を実現することが可能となっている。
【０００４】
しかし、ＣＰＵや処理回路の高速化が進むにつれてメモリアクセスの速度が相対的に遅くなりメモリアクセスがシステムのボトルネックとなることが顕在化してきた。
【０００５】
現在、様々な機器の主メモリとしてＤＲＡＭが使用されている。
【０００６】
近年のＤＲＡＭにはページモードと呼ばれる高速アクセスモードが備えられている。
【０００７】
ＤＲＡＭのデバイスは、複数のバンクで構成され、各バンクは複数のページに分割されている。
【０００８】
ＤＲＡＭはバンク選択信号とＲＯＷアドレスにより、アクセスするページを選択しオープンし、後続のＣＯＬＵＭＮアドレスの指定によりアクセス先アドレスを指定する。
【０００９】
ページモードとはＤＲＡＭデバイスのバンク内同一ページにアクセスしている期間（ページヒットの期間）はプリチャージを必要とせずに連続してアクセスすることが可能となる。
【００１０】
しかし、同一バンク内で別のページにアクセスが移った場合には（ページミス）、それまでアクセスを行っていたページをプリチャージでクローズし、新しいＲＯＷアドレスを指定して、ページをオープンしアクセスする必要がある。
【００１１】
図２に示されるように、ＡＣＴでページをオープンしＣＭＤでページを指定しアクセスし、ＰＲＥでページをクローズする。
【００１２】
図２（ａ）は２番目のアクセスが同一ページである、つまりページヒットの場合の例であり、ページをクローズして、別のページをオープンする必要なく２番目のコマンドを発行することができる。
【００１３】
図２（ｂ）は２番目のアクセスが同一バンクの別のページへのアクセスのつまりページミスの場合であり、１番目のアクセス終了後にページをクローズし、２番目のアクセスページをオープンする必要があるため、ＡＣＴ、ＰＲＥの分のページミスペナルティーが生じる。
【００１４】
したがってメモリアクセス速度を向上は、ページミスを減らすことによりページミス時のペナルティーを少なく抑えることにより実現させる。
【００１５】
画像を扱う複合機器の制御装置の場合、一般的にメモリを処理の中間バッファとして使用しているため、メモリアクセスの速度が処理全体の性能に大きく影響を与える。
【００１６】
メモリアクセス速度を向上させるために、画像を取り扱う場合は処理方法に応じて画像の取り扱い方式を変更し、ページミス頻度を少なくする試みがなされている。
【００１７】
画像の取り扱い方法として、ひとつの画像を一連の画素の連続としてとらえる方法（ラスター画像として取り扱う方法）や、画像を複数のブロックに分割して捉え、それぞれのブロックごとに画像を取り扱う方法（ブロック画像、あるいはタイル画像として取り扱う方法）などがある。
【００１８】
ブロックあるいはタイル画像として画像を取り扱う場合、ひとつの画像をある単位でタイル画像として区切り、そのタイル画像の集合として１ページの画像を取り扱う。
【００１９】
タイル画像は、画像サイズを小さく抑えることができ、画像処理を加える場合タイルごとの処理が行われるため、複合機器の制御装置といった複数処理を同時に行うような機器の場合は、単位処理時間を少なく抑えることができ、より多くの並列動作を行うことができる。
【００２０】
図１で示すのは、画像の画素の配置と、ラスター状あるいはタイル状にメモリに保持された場合のメモリイメージを表す。
【００２１】
図１の（ａ）は画像の画素の配置を表しており、小さな枠が画素であり、縦横２画素でタイルを構成しているイメージを表している。
【００２２】
ラスター画像として処理を行う場合、図１の（ｂ）に示されるように連続したメモリ領域に画素順にメモリに保持され、ラスター画像のアクセス時に連続アクセスを発行することによってページミスのオーバーヘッドを最小限に抑えることができる。
【００２３】
タイル画像として処理を行う場合に、図１の（ｃ）に示されるように、タイル画像をひとつの単位としてメモリ内に保持することにより、タイル画像がＤＲＡＭの同一ページに存在するためページミスのオーバーヘッドがなく高速アクセスが可能となる。
【００２４】
つまり画像の取り扱いを処理に応じて変更することにより、ページミスによるペナルティーを低減することができる。
【００２５】
したがって画像を連続画素として捉える処理を行うブロックの場合、ラスター画像としてメモリに保持することにより、ページミスを抑えてメモリへとアクセスが行うことができ、またブロック画像、タイル画像を単位として処理を行うブロックの場合、図１（ｃ）に示される、その画像単位でメモリ上に保持することによりタイル毎にメモリアクセスを発行することでページミスを抑えることができる。
【００２６】
以上のように、画像の処理方法によりメモリに保持される形式を変更にすることによりページミス時のペナルティーを低減し、メモリアクセスの性能向上が得られる（例えば、特許文献１、２参照）。
【特許文献１】特開平７−６４８６４
【特許文献２】特開平７−１５３２６２
【発明の開示】
【発明が解決しようとする課題】
【００２７】
スキャナやプリンタ等の制御を行う画像を扱う複合機器の制御装置の場合、ＣＰＵや様々な処理を行う機能ブロックのＤＭＡがメモリを中間バッファとして使用し処理を行うが、その画像の取り扱い方法は様々である。
【００２８】
複合機器の制御装置の場合は同時動作を行う必要があるため、画像をひとつのページとして扱うラスターとして取り扱うよりも、画像を複数の処理ブロックに分割するタイルとして取り扱うほうが有利ある。
【００２９】
しかし一般に、入力出力部等では画像をひとつのページとして取り扱う必要がある。スキャナ制御部やプリンタの出力部などは最終的に画像をページとして取り扱うためラスターとして取り扱われる。
【００３０】
したがって複合機器の制御装置においては、画像ページとして取り扱う必要のあるブロックではラスターとして画像を取り扱い、それ以外の処理を行う場合に置いてはタイルとして画像を取り扱うことにより、効率的なメモリアクセスを行うシステムを実現できる。
【００３１】
画像をタイルとして取り扱うブロックでは、画像アクセス単位がタイルでメモリに保持されたデータであり、通常一連のアクセスはページヒットするため、高速アクセスが可能である。
【００３２】
また、ラスターとして画像を取り扱う場合、ラスター画像としてメモリに保持されたデータに連続的にアクセスするため、ほとんどのアクセスはページヒットとして高速にアクセスすることができる。
【００３３】
しかしながら、それぞれの処理に対してラスター画像、タイル画像をメモリに用意する必要があるため、ラスター画像をタイル画像に変換するブロックやタイル画像をラスター画像に変換して取り扱うブロックが、あるいはラスターとタイルの変換をしながら処理を行うブロックが存在する。
【００３４】
タイル画像とラスター画像の変換を取り扱うブロックにおいても、一般にメモリを中間バッファとして使用し、処理を行う。
【００３５】
たとえばラスター画像をタイル画像に変換する場合、ラスターとしてメモリに保持されたイメージをタイルにする、構成画素順にメモリから読み出し、タイル画像を生成する。
【００３６】
逆にタイルとしてメモリに保持されたイメージをラスター画像に変換する場合は、タイル画像を読み込みブロック内部でラスターの画素列ごとに分割してメモリにラスター画像の配列となるように書き戻す処理が必要となる。
【００３７】
ラスター状のものをタイル構成画素順に読み出す処理の場合、読み出し動作が画素列ごとに読み出すことなる。
【００３８】
スキャナやプリンタといった処理を行う複数機器の制御装置の場合において扱う画像サイズは小さくないため、画素列ごとの読み出す場合、画素列が移るたびにＤＲＡＭの別のページに遷移するためページミスが発生する。
【００３９】
タイルとして保持された画像をラスター画像に変換する場合の書き込み動作も、タイル画像単位の画素列ごとにメモリへと書き込むため、画素列の遷移ごとにＤＲＡＭのページミスが発生する。
【００４０】
一例として、Ａ４、６００ｄｐｉで、１ピクセルあたり３２ビットのラスター状の画像を３２ピクセル×３２ピクセルのタイルへと変換する処理を考える。
【００４１】
するとＡ４の１ページ画像は水平方向１５６タイル、垂直方向２２０タイル、合計３４３２０タイルで構成される。
【００４２】
タイルに変換する処理を行うブロックは、タイルの画素列分である３２ピクセル、１２８バイトのデータを読み込み、次の画素列の先頭ピクセルへと飛ぶという規則的なアクセスを繰り返し行う。
【００４３】
次の画素列の先頭ピクセルは水平方向で１５６タイル分先のアドレス、１９９６８バイト（１９．５キロバイト）先に存在する。
【００４４】
図５に示したのは、ラスター画像とタイル画像のメモリ上アドレスの関連を示したものであり、図内部の矢印は１画素列でアドレスが進む方向を示しており、ある画素列のある画素と次の画素列の同一位置の画素とのアドレス関連を示している。
【００４５】
ＤＲＡＭのページは、デバイスにより差異があるものの、おおよそ１キロバイトから２キロバイトのものが多く、すなわち１９．５キロバイト先のアドレスに飛ぶ場合は必ずページミスとなる。
【００４６】
したがって、ひとつのタイル変換処理を行うにあたり３２回のページミスが発生し、Ａ４、１ページ全体では１０９８２４０回のページミスが発生する。
【００４７】
このように、一般にタイル画像の単位は画像ページに対してかなり小さく設定されるため、数多くの画素列の遷移が行われるため、ページミスによるペナルティーの発生が頻発する。
【００４８】
複合機器の制御装置では、メモリを様々なブロックのバッファとして使用するため、本アクセスのページミスペナルティーは、ブロック処理速度の低下のみならず、システム全体の性能に対して大きな影響を与える。
【００４９】
たとえば、あるラスター画像をメモリに書き出し、そのラスターをタイルに変換して処理を行う場合、ラスター画像をある単位（バンド）に分割して処理を行い、バンド分のラスター画像を書き込んだ後にタイルに変換するマスタがラスター画像からタイルに変換し、その間にラスター画像を別の領域へと書き込むといった、バッファリングの処理を行う時、タイルへと変換するブロックのアクセス中にページミスが発生し、その間ページヒットとなるラスター画像を書き込む処理がページミスペナルティー分待たされるといった、他の処理に対しても性能を低下させる。
【００５０】
本発明は、画像を取り扱う複合機器の制御装置において、ラスター画像とタイル形式画像の変換時におけるページミスによるペナルティーの影響を低減し、メモリアクセスのバンド幅、画像処理性能の向上を目的とする。
【課題を解決するための手段】
【００５１】
ＤＲＡＭメモリアクセスを制御するメモリコントローラで、該メモリコントローラはメモリ高速アクセス（ページモードアクセス）制御手段、アクセスマスタ識別手段を有し、識別されたアクセスマスタデバイスのアクセスに対して、該アクセスマスタデバイスのアクセス単位を識別しアクセス単位の終了を検知する手段と、該マスタのアクセス単位終了検知に基づき、現行のＤＲＡＭアクセスページをクローズし、該アクセスマスタの後続アクセスのＤＲＡＭページを判定し、ページをオープンする手段を有する。
【発明の効果】
【００５２】
図６に示されるように、アクセスを受けるより前で他のバンクへのアクセスが行われている期間中にアクセスのページを予測しページオープンすることにより（ａ）で見られるページミスのペナルティーを他のバンクのアクセス中に隠蔽し、実際のアクセス時にページヒットと同様にアクセスを行うことができる。
【００５３】
本発明を適用することにより、複数マスタが混在するシステム等で、規則的なアクセスや規則的かつ離散的なアクセスを行うマスタが存在する場合において、規則的かつ離散的なアクセスを行うマスタを識別し、該マスタに対してページミスの発生を予測し、あらかじめ次のページをオープンする手段を有することにより、他のマスタのメモリアクセス性能低下をもたらすことなしに、離散的メモリアクセス速度を向上させることができる。
【００５４】
画像を扱う複合機器の制御装置等においては、画像は複数の形式で処理される必要があり、本発明を適用することにより複数の画像処理ブロックが処理を行う期間においても、アクセスマスタによらずページミスのペナルティーを最小限に抑えることにより高速並列処理が実現できる。
【発明を実施するための最良の形態】
【００５５】
本発明のメモリアクセス制御手法は、複数のマスタデバイスがＤＲＡＭメモリに対してアクセス発行することが可能なシステムで、マスタデバイスのうち規則的かつ離散的なアクセスを行うマスタが存在するシステムに適用可能である。
【００５６】
本発明の実施の形態として、複数マスタデバイスからのメモリアクセスが可能であり、あるマスタデバイスが規則的かつ離散的なアクセスをＤＲＡＭメモリに対して発行するシステムを使用する。
【００５７】
該システムにおいて、メモリコントローラはアクセスマスタを識別する手段を有しており、規則的かつ離散的なアクセスマスタのアクセスを識別する。
また、メモリコントローラは当マスタの規則的かつ離散的なアクセス認識する手段を有しており、マスタからの規則的なアクセス単位とその終了を認識する手段を有する。
【００５８】
アクセス単位の終了を認識すると、次のアクセスは離散的であると判定し現在のアクセスページをクローズし、後続アクセスのページを予測しオープンすることにより、本発明のメモリアクセス制御手法が実現される。
【００５９】
本発明を実現する一例として、以下の実施例を用いて詳細に説明する。
【実施例１】
【００６０】
本発明の実施例として、図３に示されるよな複数のマスタ３０３、３０４からアクセスされるＤＲＡＭメモリ３０１とそのメモリを制御するメモリコントローラ３０２を含むシステムをもちいる。図４は、本発明実施例のブロック概念図である。
【００６１】
本実施例にあげる構成のブロック図を図９に示す。
【００６２】
本実施例にあげる構成は、本発明を実現する一例であり、マスタ識別手段、アクセス終了検知手段、後続アクセスページ判定手段は本実施例に限定されるものではない。
【００６３】
本実施例においてはスキャナの取り込んだ画像といったラスター画像を書き出すマスタデバイス４０１（以下ラスター出力マスタ）と、そのラスター画像を図５に示されるような３２ピクセル×３２ピクセル単位のタイルに変換し書き出すマスタデバイス４０２（以下、タイル変換マスタ）を含むものとする。
【００６４】
ラスター出力マスタ４０１は、メモリ上に水平方向の画素順に画像を出力し、水平方向１ライン出力すると、次の画素列を水平方向に画像を出力するものとする。
【００６５】
タイル変換マスタ４０２は、ラスター出力マスタ４０１が出力したラスター画像からタイルを生成し処理を行う。
【００６６】
本タイル変換マスタ４０２は、ラスターでメモリ上に展開された画像を３２ピクセル×３２ピクセルのタイル単位でデータを読み出す。
【００６７】
最初の水平方向の３２ピクセルを読み取ると、タイルの次のラインへと遷移し、次のラインの先頭ピクセルから画像を読み出す処理を３２回繰り返し、読み出したデータを並べてタイル画像に変化し処理を行う。
【００６８】
本処理を行う際、タイル変換マスタ４０２の動作は、３２ピクセルの連続の読み出しを行い、次ラインのピクセル先頭までアドレスが飛んで、３２ピクセル連続の読み出し処理を繰り返し行う。
【００６９】
たとえばＡ４、６００ｄｐｉの画像を扱う場合、水平方向に１５６タイル、垂直方向に２２０タイルで構成される。
【００７０】
また１ピクセルあたり３２ビットで構成されるとすると、タイル変換マスタの処理は、１２８バイトの読み出しを行い、１９９６８バイト先のピクセルへと飛ぶという処理を単位として繰り返し行われる。
【００７１】
１２８バイトの連続読み出しを規則的アクセスとし、１２８バイト単位のアクセスの終了を検知し、１９９６８バイト先へのアクセスを行われると予測をし１９９６８バイト先のページをオープンするシステムにより本発明は実現される。
メモリコントローラ３０２は、内部バスインターフェース部４０３と、ＤＲＡＭ制御部４０４から構成され、内部バス３０５を介してＤＲＡＭ３０１へのアクセスを受け付ける。
【００７２】
内部バス３０５にはアクセス発行マスタの識別情報であるマスタ識別子７０１を含んでおり、各マスタ３０４、４０１、４０２に対して固有のマスタ識別子が割り当てられている。
【００７３】
内部バスインターフェース４０３は、アクセス判定やアドレスのデコードを行い、アクセス制御信号としてＤＲＡＭ制御部４０４へアクセス情報７０９を伝達する。
【００７４】
また、内部バスインターフェース４０３では、内部バス３０５のマスタ識別子７０１を参照することによりアクセスのマスタの識別が可能となる。
【００７５】
内部アクセスインターフェース部４０３の構成を示したのが図７である。
【００７６】
内部アクセスインターフェース部４０３では、アクセスマスタの識別を行うマスタ識別部７０２があり、タイル変換マスタ４０２からの読み取りアクセスを識別する。
【００７７】
マスタ識別部７０２には、アクセスバイトカウンタ７０６が含まれる。
【００７８】
マスタ識別部７０２では、アクセス開始が開始されると比較器７０４にてタイル変換マスタ４０２に割り当てられたマスタ識別子とアクセスされたマスタ識別子７０１の比較を行い、アクセスマスタ識別子がタイル変換マスタ４０２に割り当てられたマスタ識別子であった場合には、アクセスされたバイト数に応じてアクセスバイトカウンタ７０６を加算する。
【００７９】
タイル変換マスタ４０２に割り当てられたマスタ識別子の指定はレジスタ７０３設定にてあらかじめ行われ、比較器７０４ではレジスタ７０３への設定値とアクセスされたマスタ識別子７０１との比較が行われる。
【００８０】
本実施例における内部バス３０５では一回のアクセスが３２バイト転送できるものとする。
【００８１】
タイル変換マスタ４０２がアクセスするタイルのピクセル列のアクセスバイト数は１２８バイトであり、４回のアクセスがタイル変換マスタ４０２の連続ピクセルアクセスする単位である。
【００８２】
アクセスバイトカウンタ７０６は任意のビットのカウンタであり、タイル変換マスタ４０２からの読み込みアクセスであると判定すると加算される。
【００８３】
内部バスインターフェース部４０３では、タイル変換マスタ４０２の読み込みアクセスごとにアクセスカウンタ７０６を参照し、アクセス単位判定レジスタ７０７に設定された値との比較を行う。
【００８４】
アクセス単位判定レジスタ７０７は、タイル変換マスタ４０２の連続アクセスする単位を設定し、本実施例の場合１２８バイトを示す値が設定される必要がある。
【００８５】
アクセスカウンタ７０６の値がアクセス単位判定レジスタ７０７の設定値、１２８バイトとなった場合に、カウンタをクリアして、タイル変換マスタ４０２のアクセス単位終了と判定しページクローズ信号７０８とともにＤＲＡＭ制御部４０４へとアクセスを伝達する。
【００８６】
アクセスマスタ識別子７０１がタイル変換マスタ４０２でないアクセスや、タイル変換マスタ４０２のアクセスでカウンタ値がアクセス単位判定レジスタ７０７の設定値となっていない場合は、ページクローズ信号７０８を発行せずにＤＲＡＭ制御部４０４へとアクセス７０９を伝達する。
【００８７】
以上の構成によりアクセス終了判定手段９０１を有した内部バスインターフェース部３０２を構成する。
【００８８】
図８は本発明実施例におけるメモリコントローラ内ＤＲＡＭ制御部のブロック図である。
【００８９】
ＤＲＡＭ制御部４０４は、アクセス情報７０９の伝達に基づき、ＤＲＡＭ３０１へのアクセスコマンドの発行を行う。
【００９０】
ＤＲＡＭ制御部は後続アクセスページ判定手段９０２を有し、後続アクセスページの判定を行いページクローズ、ページオープンを行う手段を有し、タイル変換マスタ４０２の後続アクセスページをあらかじめオープンする。
【００９１】
ＤＲＡＭ制御部４０４で制御するアクセスコマンドは、ページオープン（ページの活性化）、ページクローズ（プリチャージ）、リフレッシュ、リード、ライト、モードセット等である。
【００９２】
ＤＲＡＭ制御部４０４はＲＯＷコマンドを制御するシーケンサ８０４と、ＣＯＬコマンドを制御するシーケンサ８０５、ページアドレス制御部８０１、タイミングカウンタ８０６等で構成される。
【００９３】
ＲＯＷアクセス制御シーケンサ８０４、ＣＯＬアクセス制御シーケンサ８０５はアクセス情報７０９に基づいてＤＲＡＭ３０１に対してコマンドを発行する。
ページアドレス制御部８０１はページヒット、ミスの判定および判定に基づくページオープン、ページクローズ発行指示をシーケンサ８０４、８０５に対して発行し、コマンド発行アドレス８０７の生成を行う。
【００９４】
また、ページクローズ信号７０８を伴ったアクセスにより、該当アクセス終了後にページクローズの指示と、次のページオープン要求をシーケンサに対して発行する。
【００９５】
ページアドレス制御部８０１内にはバンクごとのページ情報８０２を保持しており、ページがオープン、クローズされるごとに更新する。
【００９６】
ページアドレス制御部８０１はアクセス情報７０９が伝達されるとアクセスアドレスからアクセスページを割り出し、ページ情報８０２を参照する。
【００９７】
ページ情報８０２でアクセスページがオープンであった場合、そのままＣＯＬアクセス制御シーケンサ８０５に対してコマンドを発行する。
【００９８】
ページ情報８０２でアクセスするバンクにオープンなページがない場合は、ＲＯＷアクセス制御シーケンサ８０４にページをオープンにする指示を発行し、アクセスするページがオープンされた後にＣＯＬアクセス制御シーケンサ８０５に対してコマンドを発行する。
【００９９】
ページ情報８０２でアクセスするバンクにオープンな別ページがあった場合はページミスであり、ＲＯＷアクセス制御シーケンサ８０４にページをクローズする指示とページをオープンにする指示を発行して、アクセスするページがオープンされた後にＣＯＬアクセス制御シーケンサ８０５に対してコマンドを発行する。
【０１００】
オープン、クローズするページアドレスはページアドレス制御部８０１から発行され、ページクローズの場合はページ情報８０２内に保持されているページアドレスを発行し、ページオープンの場合はアドレスをデコードしたページアドレスが発行される。
【０１０１】
以上のページアドレス制御部８０１の構成は一般的な高速アクセスモード（オープンページモード）のメモリコントローラの構成であり、本実施例では、ページアドレス制御部８０１に以下の構成を加える。
【０１０２】
ページアドレス制御部８０１がページクローズ信号７０８とともにアクセスを受けた場合は、該当アクセスを発行した後に、アクセスされたページのクローズとバンク内の指定されたページアドレスのオープンを指示する。
【０１０３】
本ページクローズ、オープンの指示は通常アクセスにおける指示とは別信号線８０３として用意され、低優先度として取り扱われる。
【０１０４】
ＲＯＷアクセス制御シーケンサ８０４は、メモリアクセス受信ステータスを参照し、ページクローズ信号７０８の指定によるページクローズ、オープンの指示を受けると、シーケンサ８０４、８０５がコマンドを発行できるタイミングを待って発行する。
【０１０５】
ページクローズ信号７０８の指定によるページクローズ、オープンの指示はＲＯＷアクセス制御シーケンサ８０４では低優先順位として取り扱われ、他のアクセスが発行されない空白のタイミングにて発行されるように制御される。
【０１０６】
図６に示されるのは、二つのバンクａ、ｂに対して１回の読み込みコマンドと２回の書き込みコマンドを発行するときのコマンド発行シーケンスである。
【０１０７】
（ａ）は本発明を実施しない場合の例であり、（ｂ）は本発明を適用した際のアクセス例となっている。
【０１０８】
図６（ｂ）に示す最初のＲＤコマンドが一連のアクセス終了であるとすると、そのアクセス情報７０９はページクローズ信号７０８とともに伝達され、バンクａのページクローズとページオープンが指示される。
【０１０９】
他のバンクへのアクセスを受け取っている場合は、本アクセスを発行し、その期間中ＤＲＡＭへのアクセスバスが空白のタイミングにページクローズ、ページオープンを発行するよう制御される。
【０１１０】
図６（ｂ）の例では、次のバンクｂに対するＷＲコマンドを発行しているアクセス中はバンクａは空白の期間となっており、ｂのＷＲアクセス中のアドレスバスが空いている期間中にページクローズとページオープンを行い、ＷＲコマンド後のＲＤコマンドがページヒットとしてアクセスすることが可能となる。
【０１１１】
具体的には、本実施例のラスター出力マスタ４０１がラスターを書き込み、タイル変換マスタ４０２が読み込む処理を行う場合、多くにおいて図６の例のようにラスター出力の書き込みとタイル変換の読み込みは同時に行われ、それぞれはＤＲＡＭ３０１の別バンクで行われるように制御される。
【０１１２】
この場合、タイル変換マスタ４０２のアクセスでページクローズ信号７０８が発行された期間中もラスター出力マスタ４０３もアクセスを行っており、したがってメモリ３０１に対して書き込みのコマンドが発行される。
【０１１３】
ページクローズ信号７０８によるページクローズとページオープンの指示を受けると、ＲＯＷアクセス制御シーケンサ８０４は、ラスター出力マスタ４０１の書き込みアクセス中にコマンドを発行できるタイミングにページクローズとページオープンを発行する。
【０１１４】
クローズページアドレスの指定はページ情報８０２内のページアドレスにより指定される。
【０１１５】
オープンページアドレスの指定はアクセスされたページアドレスにアドレスピッチ設定レジスタ８０８に設定された値を加えたアドレスより示されるページが設定される。
【０１１６】
アドレスピッチ設定レジスタ８０８は、タイル変換マスタ４０２のアクセスでピクセル列ごとに飛ぶアドレス幅が設定され、本実施例の場合は１９９６８バイトが設定される。
【０１１７】
以上より構成されるメモリコントローラの動作は以下のとおりである。
【０１１８】
タイル変換マスタ４０２からの読み込みアクセスを識別し、アクセスされたバイト数が１２８バイトとなった場合に規則的アクセスの終了と判定し、該当アクセス終了後にラスター出力マスタ４０１等のアクセス間でコマンド発行可能なタイミングに、ページクローズを行い１９．５キロバイト先のページをオープンする。
【０１１９】
この場合、ページクローズとページオープンに要する期間は、ラスター出力マスタ４０１等のアクセス間に消費される。
【０１２０】
タイル変換マスタ４０２から、次の画素列のアクセスが実際に発行される場合、前アクセスがタイル画素列の最後のアクセスでなかった場合は、すでにアクセスページがオープンされているため、ページヒットとして取り扱われ、ページミスが発生しない。
【０１２１】
本実施例において、アクセス単位設定レジスタ７０７、アドレスピッチ設定レジスタ８０８、マスタ識別子指定レジスタ７０３の設定を変更することにより、任意の大きさ、画像サイズ、アクセスマスタにおいて上記機能を実現することが可能である。
【０１２２】
本発明は以上説明した発明実施の形態および実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。
【図面の簡単な説明】
【０１２３】
【図１】（ａ）は画像の画素配列を擬似的に示し、タイル画像、ブロック画像の取り扱いを示した概念図であり、（ｂ）は（ａ）に示した画像をラスター画像として保持した場合のメモリ内画素配置を示した概念図であり、（ｃ）は（ａ）に示した画像をタイル画像として保持した場合のメモリ内画素配置を示した概念図である。
【図２】（ａ）はＤＲＡＭへのページヒットアクセスにおけるコマンド発行手順を示した概念図であり、（ｂ）はＤＲＡＭへのページミスアクセスにおけるコマンド発行手順を示した概念図である。
【図３】（ａ）は複数マスタからアクセス可能なＤＲＡＭを有するシステムでメモリコントローラがバスに接続されるシステムのブロック概念図であり、（ｂ）は複数マスタからアクセス可能なＤＲＡＭを有するシステムでメモリコントローラがスイッチで接続されるシステムのブロック概念図である。
【図４】本発明実施例のブロック概念図である。
【図５】ラスター画像をタイル画像に変換する際のメモリアドレス関連を示す概念図である。
【図６】１回の読み込みと２回の書き込みが繰り返されるメモリアクセス手順で読み込み書き込みが別バンクで行われ、書き込みアクセスはページヒットとなり２順目のメモリ読み込みアクセスがページミスとなる場合において（ａ）は本発明を適用しない場合のメモリアクセス手順を示した一例の概念図であり、（ｂ）は本発明を適用した場合のメモリアクセス手順を示した一例の概念図である。
【図７】本発明実施例におけるメモリコントローラ内内部バスインターフェース部のブロック図である。
【図８】本発明実施例におけるメモリコントローラ内ＤＲＡＭ制御部のブロック図である。
【図９】本発明実施例の構成ブロック図である。
【符号の説明】
【０１２４】
301  ＤＲＡＭ
302  メモリコントローラ
303  マスタデバイス
304  マスタデバイス
305  内部バス
401  ラスター出力マスタ
402  タイル変換マスタ
403  内部バスインターフェース部
404  ＤＲＡＭ制御部
701  マスタ識別子
702  マスタ識別部
703  マスタ識別レジスタ
704  比較器
705  アクセスデコード部
706  アクセスバイトカウンタ
707  アクセス単位判定レジスタ
708  ページクローズ信号
709  アクセス情報
801  ページアドレス制御部
802  ページ情報
803  ページクローズ情報
804  ＲＯＷアクセスシーケンサ
805  ＣＯＬアクセスシーケンサ
806  タイミングカウンタ
807  アドレス信号
808  アドレスピッチ設定レジスタ
901  アクセス単位終了判定手段
902  後続アクセスページ判定手段
【図１】
2006127110.tif 000003
【図２】
2006127110.tif 000004
【図３】
2006127110.tif 000005
【図４】
2006127110.tif 000006
【図５】
2006127110.tif 000007
【図６】
2006127110.tif 000008
【図７】
2006127110.tif 000009
【図８】
2006127110.tif 000010
【図９】
2006127110.tif 000011