(57)【要約】【課題】ＤＲＡＭへのアクセス時に、ページヒットの確率を高めるデータ転送制御装置を提供する。【解決手段】プリンタコントローラ１０１は、各デバイス（ＣＰＵ１０６、印刷エンジン１０２、ＰＣ１０３）からＤＲＡＭ（ＤＤＲ_ＳＤＲＡＭ１０５）へのアクセスの要求を受け付けたときに、その要求に応じて、アクティブ処理、リード／ライト処理、プリチャージ処理、をＤＲＡＭに対して実行する。リード／ライト処理を実行する際には、メモリ制御ＡＳＩＣ１０４は、ページヒットしているか否かを判定する。メモリ制御ＡＳＩＣ１０４は、このページヒットの判定を、リード／ライト処理を命令するコマンドを発行したときから、プリチャージ処理を命令するコマンドを発行するまでの期間中、行う。【選択図】図１
2008117242.tif 000002
【特許請求の範囲】
【請求項１】
ＤＲＡＭが接続され、
前記ＤＲＡＭに対するデータのリードまたはライトを要求する各種デバイスからのリード／ライト要求に応じて、前記ＤＲＡＭにアクセスするメモリ制御手段と、
前記リード／ライト要求がされたときに、前記ＤＲＡＭのロウアドレスを指定するアクティブコマンドを発行してメモリアクセスサイクルを開始し、前記ＤＲＡＭに対してプリチャージコマンドを発行して該メモリアクセスサイクルを終了させるコマンド制御手段であって、前記プリチャージコマンドの発行が必要ない場合には、前回のメモリアクセスサイクルにおけるプリチャージコマンドの発行を禁止するコマンド制御手段と、
を備えるデータ転送制御装置であって、
前記コマンド制御手段は、
メモリアクセスサイクルにおいて要求されたページと同一のページに対して、別の前記リード／ライト要求がされた場合、前記プリチャージコマンドの発行が不要と判定し、
メモリアクセスサイクルにおいて要求されたページと異なるページに対して、別の前記リード／ライト要求がされる、或いは、リード／ライト要求がされない、ことが２以上の所定回数を上限として繰り返された場合、前記プリチャージコマンドの発行を必要と判定する、
を備えることを特徴とするデータ転送制御装置。
【請求項２】
前記所定回数は、システムクロックの４クロック分である、
ことを特徴とする請求項１に記載のデータ転送制御装置。
【請求項３】
前記各種デバイスは、当該データ転送制御装置を制御するＣＰＵ、前記ＤＲＡＭに格納した画像データを印刷する印刷エンジン、当該データ転送制御装置とデータの送受信が可能な情報処理装置、を含む、
ことを特徴とする請求項１又は２に記載のデータ転送制御装置。
【請求項４】
ＤＲＡＭが接続され、
前記ＤＲＡＭに対するデータのリードまたはライトを要求する各種デバイスからのリード／ライト要求に応じて、前記ＤＲＡＭにアクセスするメモリ制御手段と、
前記リード／ライト要求がされたときに、前記ＤＲＡＭのロウアドレスを指定するアクティブコマンドを発行してメモリアクセスサイクルを開始し、前記ＤＲＡＭに対してプリチャージコマンドを発行して該メモリアクセスサイクルを終了させるコマンド制御手段であって、前記プリチャージコマンドの発行が必要ない場合には、前回のメモリアクセスサイクルにおけるプリチャージコマンドの発行を禁止するコマンド制御手段と、
を備えるデータ転送制御装置におけるデータ転送制御方法であって、
前記コマンド制御手段が、
メモリアクセスサイクルにおいて要求されたページと同一のページに対して、別の前記リード／ライト要求がされた場合、前記プリチャージコマンドの発行が不要と判定するステップと、
メモリアクセスサイクルにおいて要求されたページと異なるページに対して、別の前記リード／ライト要求がされる、或いは、リード／ライト要求がされない、ことが２以上の所定回数を上限として繰り返された場合、前記プリチャージコマンドの発行を必要と判定するステップと、
を有することを特徴とするデータ転送制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送制御装置に関し、特に、データ転送の効率を向上させる技術に関する。
【背景技術】
【０００２】
従来から、印刷装置を制御するプリンタコントローラに備わるＣＰＵ（Central Processing Unit）は、メインメモリとしてＤＲＡＭ（Dynamic Random Access Memory）等を利用する。ＣＰＵとＤＲＡＭは、メモリ制御ＡＳＩＣ（Application Specific Integrated Circuit）を介して、相互にデータ転送を行う。
【０００３】
メモリ制御ＡＳＩＣは、ＣＰＵとＤＲＡＭとの間のデータ転送の他に、印刷エンジンとＤＲＡＭ間、パーソナルコンピュータ（以下では、ＰＣと呼ぶ）間、等といった、各種デバイスとＤＲＡＭとの間のデータ転送を制御する。
【０００４】
メモリ制御ＡＳＩＣのＤＲＡＭとのデータ転送における制御は、一般に、（バンク）アクティブ処理、リード／ライト処理、プリチャージ処理、というシーケンスに従って行われる。ここで、（バンク）アクティブ処理とは、メモリ制御ＡＳＩＣが、ＤＲＡＭ上のｒｏｗアドレス（ページ）を指定する処理である。リード／ライト処理とは、メモリ制御ＡＳＩＣが、アクティブ処理で指定したアドレスの記憶素子に対して、読み込み（リード）処理や書き込み（ライト）処理といった所定の処理を実行する処理である。（バンク）プリチャージ処理とは、メモリ制御ＡＳＩＣが、リード／ライト処理された記憶素子のデータを保持する処理である。
また、（バンク）プリチャージ処理は、リード／ライト処理の実行時間を考慮して、リード／ライト処理から数クロック期間経過後に行われる。
【０００５】
上記のようなシーケンスに従ったデータ転送の制御方法では、メモリ制御ＡＳＩＣが、ＤＲＡＭに連続してアクセスする場合、同一のシーケンスを繰り返し行う。従って、ＤＲＡＭの同ページに連続してアクセスする場合にも、リード／ライト処理後のプリチャージ処理、アクティブ処理といった、実行しなくても不都合のない処理を繰り返し実行することになる。
【０００６】
そこで、ＤＲＡＭの同ページに連続してアクセスする際には、実行しなくても不都合のない処理は実行しないようにする技術が開発されている。例えば、従来技術では、メモリ制御ＡＳＩＣが、ＤＲＡＭへアクセスする際に、同ページへのアクセスが連続しているか否かを判定し、実行しなくても不都合のない処理は実行しない。なお、以下では、メモリ制御ＡＳＩＣが、ＤＲＡＭの同ページへ連続してアクセスすることをページヒットとよぶ。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来技術では、上記の判定期間は、システムクロックの１クロック期間に固定しているため、ページヒットの確率が低いという問題がある。
【０００８】
そこで、本発明は、メモリ制御ＡＳＩＣとＤＲＡＭとのデータ転送の制御において、ページヒットの確率を高める技術を提供する。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明では、メモリ制御ＡＳＩＣがＤＲＡＭへアクセスする際に行うページヒットの判定を、リード／ライト処理を命令するコマンドの発行から、プリチャージ処理を命令するコマンドの発行までの期間中行う。
【００１０】
具体的には、上記メモリ制御ＡＳＩＣを備えるデータ制御装置は、ＤＲＡＭが接続され、前記ＤＲＡＭに対するデータのリードまたはライトを要求する各種デバイスからのリード／ライト要求に応じて、前記ＤＲＡＭにアクセスするメモリ制御手段と、前記リード／ライト要求がされたときに、前記ＤＲＡＭのロウアドレスを指定するアクティブコマンドを発行してメモリアクセスサイクルを開始し、前記ＤＲＡＭに対してプリチャージコマンドを発行して該メモリアクセスサイクルを終了させるコマンド制御手段であって、前記プリチャージコマンドの発行が必要ない場合には、前回のメモリアクセスサイクルにおけるプリチャージコマンドの発行を禁止するコマンド制御手段と、を備えるデータ転送制御装置であって、前記コマンド制御手段は、メモリアクセスサイクルにおいて要求されたページと同一のページに対して、別の前記リード／ライト要求がされた場合、前記プリチャージコマンドの発行が不要と判定し、メモリアクセスサイクルにおいて要求されたページと異なるページに対して、別の前記リード／ライト要求がされる、或いは、リード／ライト要求がされない、ことが２以上の所定回数を上限として繰り返された場合、前記プリチャージコマンドの発行を必要と判定する、ことを特徴とする。
【００１１】
なお、以下に、本発明の具体的な実施の形態について説明するが、そこで挙げた構成は、可能な限りの組み合わせの自由度を有し、その組み合わせのいずれもが発明を構成するものとする。すなわち、以下に説明する実施形態から一部の構成を適宜に削除した形態も、本発明の他の実施形態となり得る。また、以下において具体的に示される構成は、いずれも、機能において同一とされる上位概念のなかの一下位概念に過ぎないものである。
【００１２】
本発明のデータ転送制御装置によれば、メモリ制御ＡＳＩＣとＤＲＡＭとのデータ転送の制御において、ページヒットの確率を高めることができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の最良の実施の形態を図面を参照して説明する。
【００１４】
本発明の実施形態に適用される印刷システム１００は、図１に示すように、印刷システム１００を制御するプリンタコントローラ１０１と、印刷処理を実行する印刷エンジン１０２と、ＰＣ１０３と、を含む。
【００１５】
プリンタコントローラ１０１は、メモリ制御ＡＳＩＣ１０４と、ＤＤＲ_ＳＤＲＡＭ１０５と、ＣＰＵ１０６と、Ｉ／Ｏ制御ＡＳＩＣ１０７と、を備える。
【００１６】
メモリ制御ＡＳＩＣ１０４は、ＣＰＵ１０６、印刷エンジン１０２、及び、ＰＣ１０３と、ＤＤＲ_ＳＤＲＡＭ１０５との間のデータ転送を制御する回路である。メモリ制御ＡＳＩＣ１０４は、ＣＰＵ１０６、印刷エンジン１０２、又は、ＰＣ１０３、から、ＤＤＲ_ＳＤＲＡＭ１０５へのアクセスの要求を受け付けたときに、その要求に応じて、上述した（バンク）アクティブ処理、リード／ライト処理、プリチャージ処理、をＤＤＲ_ＳＤＲＡＭ１０５に対して実行する。なお、ＤＤＲ_ＳＤＲＡＭ１０５への１の要求に基づいた（バンク）アクティブ処理、リード／ライト処理、プリチャージ処理を実行することをメモリアクセスサイクルという。このメモリアクセスサイクルは、（バンク）アクティブ処理により開始する。また、プリチャージ処理を実行してメモリアクセスサイクルは終了する。
リード／ライト処理を実行する際には、メモリ制御ＡＳＩＣ１０４は、ページヒットしているか否かを判定する。メモリ制御ＡＳＩＣ１０４は、このページヒットの判定を、リード／ライト処理を命令するコマンドを発行したときから、プリチャージ処理を命令するコマンドを発行するまでの期間中、行う。
これにより、本実施形態における印刷システム１００は、ページヒットの確率を高めることができる。
【００１７】
また、メモリ制御ＡＳＩＣ１０４は、ページヒットしていると判定した場合には、その後のプリチャージ処理、（バンク）アクティブ処理を実行しない。メモリ制御ＡＳＩＣ１０４は、前回の（バンク）アクティブ処理で指定したＤＤＲ_ＳＤＲＡＭ１０５上のアドレスの記憶素子に対して、次のリード／ライト処理を実行する。これにより、本実施形態における印刷システム１００は、メモリ制御ＡＳＩＣ１０４とＤＤＲ_ＳＤＲＡＭ１０５との間でのデータ転送の効率を向上させることができる。
【００１８】
メモリ制御ＡＳＩＣ１０４の内部は、図２に示すように、メモリインタフェース回路２００、ＣＰＵインタフェース（Ｉ／Ｆ）回路２０１、印刷エンジンインタフェース（Ｉ／Ｆ）回路２０２、Ｉ／Ｏインタフェース（Ｉ／Ｆ）回路２０３、ステートマシン２０４、メモリ回路２０５、等から構成される。
【００１９】
メモリインタフェース回路２００は、ＣＰＵインタフェース回路２０１、印刷エンジンインタフェース回路２０２、又は、Ｉ／Ｏインタフェース回路２０３を介して、各デバイスとＤＤＲ_ＳＤＲＡＭ１０５との間のデータ転送を制御する。メモリインタフェース回路２００とＤＤＲ_ＳＤＲＡＭ１０５との間のデータ転送は、外部バス１０８を介して行われる。
【００２０】
ＣＰＵインタフェース回路２０１、印刷エンジンインタフェース回路２０２、Ｉ／Ｏインタフェース回路２０３は、メモリ制御ＡＳＩＣ１０４と各デバイス（ＣＰＵ１０６、印刷エンジン１０２、ＰＣ１０３）との間におけるデータ転送を制御する。
【００２１】
ステートマシン２０４は、メモリインタフェース回路２００に接続される。ステートマシン２００は、予め決められた複数の状態を、メモリインタフェース回路２００から供給された信号に基づいて、決められた順番で遷移させていくデバイスである。ステートマシン２０４は、ある状態から別の状態に遷移したときに、遷移先の状態を示す信号をメモリインタフェース２００に供給し、メモリインタフェース回路２００を制御する。
なお、本願発明は、ステートマシン２００を備えずに、ソフトウェアによりメモリインタフェース回路２００の状態を制御してもよい。
【００２２】
メモリ回路２０５は、メモリインタフェース回路２００に接続される。メモリ回路２０５には、メモリインタフェース回路２００が各デバイスからＤＤＲ_ＳＤＲＡＭ１０５へのアクセスの要求を受け付けたときに、アクセスを要求されたＤＤＲ_ＳＤＲＡＭ１０５上のアドレスが格納される。このアドレスには、ページを示す行（ｒｏｗ）アドレスと列（ｃｏｌｕｍｎ）アドレスとを含む。また、メモリ回路２０５は、メモリインタフェース回路２００がページヒット判定を行うときに参照される。
【００２３】
図１に戻って、ＤＤＲ_ＳＤＲＡＭ１０５は、外部クロックに同期して動作するように設計されたＤＲＡＭである。ＤＤＲ_ＳＤＲＡＭ１０５は、メモリ制御ＡＳＩＣ１０４により制御される。例えば、メモリ制御ＡＳＩＣ１０４は、ＤＤＲ_ＳＤＲＡＭ１０５上のｒｏｗアドレスを指定して、特定のページに、データの書き込み、読み込みを行うことができる。ＤＤＲ_ＳＤＲＡＭ１０５は、複数のバンクを備え、各バンクを独立して制御することが可能である。また、ＤＤＲ_ＳＤＲＡＭ１０５のクロック速度は、６６ＭＨｚ、１００ＭＨｚ、１３３ＭＨｚなどでよい。
【００２４】
ＣＰＵ１０６は、印刷システム１００全体を制御する。ＣＰＵ１０６は、メモリ制御ＡＳＩＣ１０４を介して、ＤＤＲ_ＳＤＲＡＭ１０５に対してデータの読み込み、書き込み等の処理を行う。
【００２５】
Ｉ／Ｏ制御ＡＳＩＣ１０７は、ＰＣ１０３から供給された信号を、メモリ制御ＡＳＩＣ１０４が処理可能な信号に変換する回路である。また、Ｉ／Ｏ制御ＡＳＩＣ１０７は、メモリ制御ＡＳＩＣ１０４から供給された信号を、ＰＣ１０３が処理可能な信号に変換する。本実施形態では、Ｉ／Ｏ制御ＡＳＩＣ１０７に接続される機器をＰＣ１０３に限定しているが、本願発明は、これに限定しなくてもよい。例えば、Ｉ／Ｏ制御ＡＳＩＣ１０７に接続される機器は、デジタルカメラやＰＤＡ等でもよい。
【００２６】
印刷エンジン１０２は、トナーカートリッジ、感光体ドラム、レーザ光照射機構、紙送り機構、印刷媒体の給排紙処理を行なう給排紙機構等からなる。また、印刷エンジン１０２は、ＰＣ１０３から送信される印刷データに含まれる印刷コマンドを、ＣＰＵ１０６が実行することにより制御される。具体的には、印刷エンジン１０２は、例えば、ＤＤＲ_ＳＤＲＡＭ１０５からメモリ制御ＡＳＩＣ１０４を介して転送された画像データを印刷することができる。
【００２７】
ＰＣ１０３は、一般的に普及してるパーソナルコンピュータ等でよい。
【００２８】
次に、以上のような構成からなる印刷システム１００におけるメモリ制御ＡＳＩＣ１０４がページヒットの判定を行う際の、具体的な動作について、図３に示す状態遷移図を参照して説明する。なお、状態遷移図に示す状態は、ステートマシン２０４の状態に従って遷移する。
【００２９】
メモリ制御ＡＳＩＣ１０４内のメモリインタフェース回路２００は、プリンタコントローラ１０１に電源が供給されたときや、プリンタコントローラ１０１がリセットされたときに、ステートをＩＤＬＥ状態として、ＤＤＲ_ＳＤＲＡＭ１０５を制御する動作を開始する。ＩＤＬＥ状態では、メモリインタフェース回路２００は、ＣＰＵインタフェース回路２０１、印刷エンジンインタフェース回路２０２、Ｉ／Ｏインタフェース回路２０３、を介した各デバイスからの要求を待機する。具体的には、メモリインタフェース回路２００は、外部（ＣＰＵ１０６、印刷エンジン１０２、ＰＣ１０３）からのクロック信号を有効にする。なお、外部からのクロック信号が有効の場合に、メモリインタフェース回路２００内のシステムクロックは動作する。
【００３０】
ＩＤＬＥ状態で、メモリインタフェース回路２００は、各デバイスからの要求を受け付けると、ステートをＡＣＳ状態として、外部バス１０８を介して、ＤＤＲ_ＳＤＲＡＭ１０５に対して（バンク）アクティブ処理を命令するコマンドを発行する。具体的には、メモリインタフェース回路２００は、各デバイスからＤＤＲ_ＳＤＲＡＭ１０５へのアクセスを要求する信号をＯＲした信号（ＭＥＭ_ＲＥＱＸ）を生成する。参考のため、このとき生成した信号（ＭＥＭ_ＲＥＱＸ）の波形を図４に示す。ここで、図４に示す点線（Ｔ０〜Ｔ１９）は、システムクロックの立ち上がり時を示す。図４に示すように、ＭＥＭ_ＲＥＱＸは、各デバイスのいずれかのデバイスからＤＤＲ_ＳＤＲＡＭ１０５へのアクセスを要求する信号が供給されたときに、ＨｉｇｈからＬｏｗに切り替わる（Ｔ０→Ｔ１）。これに伴い、ステートは、ＩＤＬＥ状態からＡＣＳ状態に遷移する（Ｔ２）。また、各デバイスからは、ＤＤＲ_ＳＤＲＡＭ１０５へのアクセスを要求する信号とともに、アクセスを要求するＤＤＲ_ＳＤＲＡＭ１０５内のページを指定するｒｏｗアドレス（ＭＥＭ_ＡＤＲ）が供給される。これとともに、ＤＤＲ_ＳＤＲＡＭ１０５へのデータの書き込みが要求されている場合には、ＤＤＲ_ＳＤＲＡＭ１０５に書き込むデータ（ＭＥＭ_ＤＡＴＡ）も供給される。このとき、メモリインタフェース回路２００は、供給されたＭＥＭ_ＡＤＲを、メモリ回路２０５に格納する。参考のため、ＭＥＭ_ＡＤＲ及びＭＥＭ_ＤＡＴＡの波形を図４に示す。図４には、供給されたＭＥＭ_ＡＤＲはＡＤＲ０、供給されたＭＥＭ_ＤＡＴＡは、Ｗ_ＤＡＴＡ０として示す。メモリインタフェース回路２００は、ＭＥＭ_ＡＤＲに対応するアドレスを指定するコマンド（ＡＣＴ）を、外部バス１０８を介して、ＤＤＲ_ＳＤＲＡＭ１０５に発行する。参考のため、発行するコマンド（ＡＣＴ）の波形を図４に示す（Ｔ２）。
【００３１】
図３に戻って、メモリインタフェース回路２００は、各デバイスからの要求を受け付ける際に、ＤＤＲ_ＳＤＲＡＭ１０５に対して書き込み（ライト）か読み込み（リード）かを示す信号も供給される。この信号に基づいて、メモリインタフェース回路２００は、各デバイスからの要求が、書き込み（ライト）か読み込み（リード）かを判別する。メモリインタフェース回路２００は、書き込み（ライト）であると判別した場合には、ステートをＷ０状態、Ｗ１状態、ＷＣＳ状態へと移行させる。一方、読み込み（リード）であると判別した場合には、ステートをＲ０状態、Ｒ１状態、ＲＣＳ状態へと移行させる。参考のため、図４には、メモリインタフェース回路２００が書き込み（ライト）であると判別した場合の、ステートの遷移を示す（Ｗ０状態（Ｔ３）、Ｗ１状態（Ｔ４）、ＷＣＳ状態（Ｔ５））。
【００３２】
ここで、Ｗ０状態、Ｗ１状態は、ステートをＷＣＳ状態へ移行させる準備ステートである。また、同様に、Ｒ０状態、Ｒ１状態は、ステートをＲＣＳ状態へ移行させる準備ステートである。
【００３３】
図３に戻って、ＷＣＳ状態、及び、ＲＣＳ状態では、メモリインタフェース回路２００は、リード／ライト処理を命令するコマンドを、ＤＤＲ_ＳＤＲＡＭ１０５に発行する。ただし、ＷＣＳ状態では、メモリインタフェース回路２００は、書き込み（ライト）コマンドを発行し、ＲＣＳ状態では、読み込み（リード）コマンドを発行する。参考のため、発行するコマンド（ＷＲ）の波形を図４に示す（Ｔ５）。また、書き込み（ライト）コマンドを発行する場合、メモリインタフェース回路２００は、外部バス１０８を介して、（バンク）アクティブ処理で指定したＤＤＲ_ＳＤＲＡＭ１０５上のページに、ＭＥＭ_ＤＡＴＡを書き込む。参考のため、ＤＤＲ_ＳＤＲＡＭ１０５に書き込むデータ（ＲＡＭ_ＤＡＴＡ）の波形を図４に示す。図４には、ＤＤＲ_ＳＤＲＡＭ１０５に書き込むデータを、ＲＡＭ_ＷＤ０として示す。
【００３４】
図３に戻って、ステートがＷＣＳ状態或いはＲＣＳ状態のとき、リード／ライト処理を命令するコマンドをＤＤＲ_ＳＤＲＡＭ１０５に発行後、メモリインタフェース回路２００は、各デバイスからのこの時点（図４の例では、Ｔ５の時）での要求がページヒットしているか否かを判定する（図４のＴ５時における太線の矢印を参照）。具体的には、メモリインタフェース回路２００は、まず、各デバイスからＤＤＲ_ＳＤＲＡＭ１０５へのアクセスを要求する信号をＯＲした信号（ＭＥＭ_ＲＥＱＸ）を生成する。続いて、メモリインタフェース回路２００は、生成したＭＥＭ_ＲＥＱＸがＨｉｇｈかＬｏｗかにより、各デバイスから要求があるか否かを判別する。各デバイスから要求がある場合には、メモリインタフェース回路２００は、各デバイスからの要求とともに供給されたｒｏｗアドレス（ＭＥＭ_ＡＤＲ）（図４の例では、Ｔ４からＴ６の範囲に示されたＡＤＲ０）が、前回供給されたｒｏｗアドレス（図４の例では、Ｔ１からＴ２の範囲に示されたＡＤＲ０）と一致するか否かを判定する。ここで、前回供給されたｒｏｗアドレスは、メモリ回路２０５に格納されている。ｒｏｗアドレスが一致する場合は、ページヒットしていることになる。図４の例では、両方のｒｏｗアドレスは、ＡＤＲ０で一致しているため、ページヒットしていることになる。
【００３５】
図３に戻り、ステートがＷＣＳ状態、或いは、ＲＣＳ状態において、メモリインタフェース回路２００は、続いて、各デバイスからの要求とともに供給される信号に基づいて、書き込み（ライト）か読み込み（リード）かを判別する。
【００３６】
ここで、ステートがＷＣＳ状態の場合で、受け付けた要求がページヒットしており、この要求とともに供給された信号が書き込み（ライト）であると判別した場合には、メモリインタフェース回路２００のステートは、Ｗ１状態（Ｔ６）、ＷＣＳ状態（Ｔ７）へと遷移する。一方、このとき読み込み（リード）であると判別した場合には、メモリインタフェース回路２００のステートは、ＷＡＩＴ状態、Ｒ１状態、ＷＣＳ状態へと遷移する。
【００３７】
ここで、ＷＡＩＴ状態は、ステートをＷ１状態、或いは、Ｒ１状態へ移行させる準備ステートである。
【００３８】
また、ステートがＲＣＳ状態の場合で、受け付けた要求がページヒットしており、この要求とともに供給された信号が読み込み（リード）であると判別した場合には、メモリインタフェース回路２００のステートは、Ｒ１状態、ＲＣＳ状態へと遷移する。一方、このとき書き込み（ライト）であると判別した場合には、メモリインタフェース回路２００のステートは、ＷＡＩＴ状態、Ｗ１状態、ＷＣＳ状態へと遷移する。
【００３９】
一方、ステートがＷＣＳ状態、或いは、ＲＣＳ状態において、各デバイスからの要求がない場合、又は、受け付けた要求はページヒットしていないと判定した場合、ページミスとして、メモリインタフェース回路２００のステートは、Ｐ０状態へ遷移する。ここで、Ｐ０状態は、プリチャージ処理を命令するコマンドを発行するまでの待機ステートである。
【００４０】
上記の状態遷移を、図４の例で説明すると、Ｔ５時のＷＣＳ状態で受け付けた要求がページヒットし、この要求とともに供給された信号が書き込み（ライト）であるとして、ステートはＷ１状態（Ｔ６）、ＷＣＳ状態（Ｔ７）へと遷移している。Ｔ７時のＷＣＳ状態では、各デバイスからの要求がないため（Ｔ７時における太線の矢印を参照）、ページミスとして、ステートは、Ｐ０状態（Ｔ８）に遷移している。
【００４１】
図３に戻り、ステートがＰ０状態のとき、メモリインタフェース回路２００は、ＷＣＳ状態／ＲＣＳ状態時と同様に、各デバイスからの要求がページヒットしているか否かの判定を行う。ステートがＰ０状態のときに、ページヒットしていると判定した場合は、ＷＣＳ状態／ＲＣＳ状態時にページヒットしていると判定したときと同様の状態にステートは遷移する。
【００４２】
一方、ステートがＰ０状態のときに、ページミスと判定した場合は、ステートはＰ０状態を維持する。図４の例では、Ｔ８時、Ｔ９時のＰ０状態において、各デバイスからの要求がないため（太字の矢印を参照）、ページミスとして、Ｔ８からＴ１０までの期間、Ｐ０状態を維持している。
【００４３】
図３に戻り、Ｐ０状態がシステムクロックの４クロック期間維持されても、ページヒットしない場合は、ステートはＰＣＳ状態に遷移することが、予めステートマシン２０４に記述されている。
しかし、Ｐ０状態の維持が４クロック期間内で、各デバイスから受け付けた要求はページヒットしているとメモリインタフェース回路２００が判定した場合、ステートは、ＰＣＳ状態へと遷移せずに、受け付けた要求とともに供給された信号に基づいて、Ｗ１状態、或いは、Ｒ１状態へと遷移する。図４の例では、Ｔ８からＴ１０までの３クロック期間、Ｐ０状態が維持された後に、各デバイスから受け付けた要求がページヒットしたため（Ｔ１０時における太字の矢印を参照）、ステートは、Ｗ１状態（Ｔ１１）に遷移している。
これにより、メモリインタフェース回路２００は、ページヒット後、Ｔ７時の要求に対応するプリチャージ処理のコマンドの発行（ＰＲＥ）、Ｔ１０時の要求に対応する（バンク）アクティブ処理のコマンドの発行（ＡＣＴ）をせずに、Ｔ１０時の要求に対応するリード／ライト処理のコマンドを発行する（Ｔ１２）。
また、Ｔ１３からＴ１６までの４クロック期間では、一度もページヒットしていないため（Ｔ１３〜Ｔ１６時の太字の矢印を参照）、Ｔ１７時には、ステートはＰＣＳ状態に遷移している。
【００４４】
図３に戻り、ＰＣＳ状態では、メモリインタフェース回路２００は、プリチャージ処理を命令するコマンドを、ＤＤＲ_ＳＤＲＡＭ１０５に発行する。具体的には、メモリインタフェース回路２００は、リード／ライト処理で書き込み／読み込みをしたＤＤＲ_ＳＤＲＡＭ１０５のデータを、一時的に他のページに記憶する。ここで、一時的にデータを記憶するためのページは、異なるバンクのページであってもよい。
また、参考のため、発行するコマンド（ＰＲＥ）の波形を図４に示す（Ｔ１７）。
【００４５】
図３に戻り、ＰＣＳ状態の後、メモリインタフェース回路２００のステートは、Ｐ１状態に遷移する。Ｐ１状態は、プリチャージ処理の待機ステートである。メモリインタフェース回路２００のステートは、１クロック後、ＩＤＬＥ状態へ遷移する。図４の例では、ステートは、ＰＣＳ状態（Ｔ１７）から、Ｐ１状態（Ｔ１８）、ＩＤＬＥ状態（Ｔ１９）へと遷移している。
【００４６】
以上までが、ページヒットの判定を行う際の、メモリ制御ＡＳＩＣ１０４の具体的な動作の説明である。
【００４７】
次に、本実施形態におけるページヒットの判定との比較のために、従来技術におけるページヒットの判定について、図５、図６を参照して説明する。図５は、各デバイスからの要求が時間的に連続している場合の、ページヒットの判定を説明するための図である。図６は、各デバイスからの要求が時間的に連続していない場合の、ページヒットの判定を説明するための図である。
【００４８】
従来技術のページヒットの判定期間は、上述したように、システムクロックの１クロック期間に固定されている。すなわち、従来技術のページヒットの判定は、ステートがＷＣＳ状態のときにのみ行われる。例えば、図５では、Ｔ５時、Ｔ７時、Ｔ９時に、ページヒットの判定が行われ、図６では、Ｔ５時、Ｔ７時、Ｔ１８時に、ページヒットの判定が行われている。
【００４９】
図５に示すように、Ｔ１からＴ８までの期間、従来技術におけるメモリインタフェース回路が、各デバイスからの要求を、時間的に連続して受け付けている場合は、ページヒットの確率は高い。
【００５０】
具体的には、Ｔ５時のページヒットの判定においては、メモリインタフェース回路２００がＴ５時に要求されたページ（ＡＤＲ０）が、Ｔ１からＴ２の期間に要求されたページ（ＡＤＲ０）と一致しているため、ページヒットと判定している。ページヒットと判定した場合は、Ｔ１時の要求に対応するプリチャージ処理のコマンド発行、及び、Ｔ５時の要求に対応する（バンク）アクティブ処理のコマンド発行を行わずに、Ｔ５時の要求に対応するリード／ライト処理のコマンド発行を行っている（Ｔ７）。
【００５１】
また、Ｔ７時のページヒットの判定においても、メモリインタフェース回路２００がＴ７時に要求されたページ（ＡＤＲ０）が、Ｔ３からＴ６の期間に要求されたページ（ＡＤＲ０）と一致しているため、これもページヒットと判定している。
【００５２】
しかしながら、図６に示すように、従来技術におけるメモリインタフェース回路が、各デバイスからの要求を、時間的に連続せずに受け付ける場合は、ページヒットの確率は低くなる。
【００５３】
具体的には、メモリインタフェース回路は、Ｔ１からＴ２までの期間、Ｔ４からＴ６までの期間、及び、Ｔ１０からＴ１１までの期間に、各デバイスからの要求を受け付けている。Ｔ５時のページヒットの判定においては、メモリインタフェース回路がＴ５時に要求されたページ（ＡＤＲ１）が、Ｔ１からＴ２の期間に要求されたページ（ＡＤＲ１）と一致しているため、ページヒットと判定している。ページヒットと判定した場合は、Ｔ１時の要求に対応するプリチャージ処理のコマンド発行、及び、Ｔ５時の要求に対応する（バンク）アクティブ処理のコマンド発行を行わずに、Ｔ５時の要求に対応するリード／ライト処理のコマンド発行を行っている（Ｔ７）。
【００５４】
しかし、Ｔ７時のページヒットの判定においては、メモリインタフェース回路は、各デバイスからの要求を受け付けていないため、ページミスとなる。先にも述べたが、従来技術のページヒットの判定は、Ｔ７時の１クロック期間にのみ行われる。そのため、その後のＴ１０からＴ１１の期間に、Ｔ５からＴ６の期間に要求されたページ（ＡＤＲ１）と一致するページ（ＡＤＲ１）を要求されているにもかかわらず、Ｔ１０からＴ１１の期間にページヒットの判定を行うことができない。
【００５５】
これに対して、本実施形態のメモリ制御ＡＳＩＣ１０４は、以上に説明したように、ページヒットの判定を、最大で、システムクロックの４クロック期間行うため、各デバイスからの要求が時間的に連続していない場合であっても、ページヒットの確率は高い。
【００５６】
なお、本発明は、上記実施形態に限定されず、種々の変形、応用が可能である。
【００５７】
例えば、上記実施形態では、ページヒットの判定を、システムクロックの４クロック期間行うようにしている。しかしながら、本発明は、これに限定されず、例えば、ページヒットの判定を、６クロック期間、８クロック期間行うようにしてもよい。
【００５８】
また、上記実施形態では、ＤＤＲ_ＳＤＲＡＭ１０５とデータ転送を行う各種デバイスを、ＣＰＵ１０６、印刷エンジン１０２、ＰＣ１０３に限定して説明している。しかしながら、本発明は、これに限定されず、例えば、各種デバイスは、デジタルカメラやＰＤＡ等であってもよいし、ネットワークを介したＰＣ等でもよい。
【００５９】
さらに、上記実施形態では、メモリ制御ＡＳＩＣ１０４が制御するメモリを、ＤＤＲ_ＳＤＲＡＭ１０５として説明している。しかしながら、本発明は、これに限定されず、データ読み出し後にプリチャージ処理を必要とするＤＲＡＭ等のメモリであればよい。具体的には、例えば、ＳＤＲＡＭ、ＤＤＲ２_ＳＤＲＡＭ、ＤＤＲ３_ＳＤＲＡＭ等でもよい。
【００６０】
また、上記実施形態では、ＤＤＲ_ＳＤＲＡＭ１０５にデータを書き込んだ後も、ＤＤＲ_ＳＤＲＡＭ１０５からデータを読み込んだ後も、プリチャージ処理を行うようにしている。しかしながら、本願発明は、これに限定されず、ＤＤＲ_ＳＤＲＡＭ１０５にデータを書き込んだ後は、プリチャージ処理を実行しないようにしてもよい。
【図面の簡単な説明】
【００６１】
【図１】データ転送制御装置のハードウェア構成を示すブロック図である。
【図２】メモリ制御ＡＳＩＣ内部のハードウェア構成を示すブロック図である。
【図３】ページヒットを判定するための状態遷移図である。
【図４】メモリ制御ＡＳＩＣが生成する制御信号の波形の一例を示す図である。
【図５】従来のメモリ制御ＡＳＩＣが生成する制御信号の波形の一例を示す図である。
【図６】従来のメモリ制御ＡＳＩＣが生成する制御信号の波形の一例を示す図である。
【符号の説明】
【００６２】
１００…印刷システム、１０１…プリンタコントローラ、１０２…印刷エンジン、１０３…ＰＣ、１０４…メモリ制御ＡＳＩＣ、１０５…ＤＲＲ_ＳＤＲＡＭ、１０６…ＣＰＵ、１０７…Ｉ／Ｏ制御ＡＳＩＣ、１０８…外部バス、２００…メモリインタフェース回路、２０１…ＣＰＵ  Ｉ／Ｆ回路、２０２…印刷エンジン  Ｉ／Ｆ回路、２０３…Ｉ／Ｏ  Ｉ／Ｆ回路、２０４…ステートマシン、２０５…メモリ回路。
【図１】
2008117242.tif 000003
【図２】
2008117242.tif 000004
【図３】
2008117242.tif 000005
【図４】
2008117242.tif 000006
【図５】
2008117242.tif 000007
【図６】
2008117242.tif 000008