(57)【特許請求の範囲】
【請求項１】
メモリに対してアクセスを行うメモリコントローラに対して前記メモリへのアクセス要求を行う処理装置であって、
アクセスを要求する前記メモリ上のアドレスである第１のアドレスを取得し、かつ当該第１のアドレスに対するアクセスに続けてアクセスを要求する前記メモリ上のアドレスである第２のアドレスを取得する取得手段と、
前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間に、前記メモリのプリチャージ動作が必要であるか否かを判定する判定手段と、
前記第１のアドレスを前記メモリコントローラへと送信する第１の送信手段と、
前記判定手段が前記プリチャージ動作は必要ないと判定した場合には前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われないようにするための命令を、前記判定手段が前記プリチャージ動作が必要であると判定した場合には前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われるようにするための命令を、前記メモリコントローラに対して要求するバーストアクセスの種類を示す信号を用いて前記メモリコントローラへと送信する第２の送信手段と、を備え、
前記メモリコントローラは、
前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われないようにするための命令を取得した場合には前記メモリの前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われず、前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われるようにするための命令を取得した場合には前記メモリの前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われるように制御する
ことを特徴とする、処理装置。
【請求項２】
前記第１のアドレスは、ラップ式バーストにおいてラップが行われる、前記メモリ中のアドレス境界によって区切られたそれぞれのアドレス空間の先頭アドレスであり、
前記第２の送信手段は、前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われるようにするための命令として、前記メモリコントローラに対してインクリメント式バーストとラップ式バーストとのうち一方を要求する信号を送信し、前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われないようにするための命令として、前記メモリコントローラに対してインクリメント式バーストとラップ式バーストとのうち他方を要求する信号を送信することを特徴とする、請求項１に記載の処理装置。
【請求項３】
前記メモリコントローラは、前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が必要か否かを予測する予測手段を備え、
前記第１のアドレスが、ラップ式バーストにおいてラップが行われる、前記メモリ中のアドレス境界によって区切られたそれぞれのアドレス空間の先頭アドレスである場合、前記第２の送信手段は、前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われるようにするための命令として、前記メモリコントローラに対してインクリメント式バーストとラップ式バーストとのうち一方を要求する信号を送信し、前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われないようにするための命令として、前記メモリコントローラに対してインクリメント式バーストとラップ式バーストとのうち他方を要求する信号を送信し、
前記第１のアドレスが、ラップ式バーストにおいてラップが行われる、前記メモリ中のアドレス境界によって区切られたそれぞれのアドレス空間の先頭アドレスではない場合、前記第２の送信手段は、前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われるようにするか否かの命令を送信せず、
前記メモリコントローラは、前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われるようにするか否かの命令を取得しない場合、前記予測手段による予測に従って、前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作を行うか否かを判定する
ことを特徴とする、請求項１に記載の処理装置。
【請求項４】
前記第２の送信手段は、
前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われないようにするための命令として、オートプリチャージを実行しないことを指定する命令を、前記バーストアクセスの種類を示す信号を用いて前記メモリコントローラへと送信し、
前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われるようにするための命令として、オートプリチャージの実行を指定する命令を、前記バーストアクセスの種類を示す信号を用いて前記メモリコントローラへと送信することを特徴とする、請求項１に記載の処理装置。
【請求項５】
メモリに対してアクセスを行うメモリコントローラに対して前記メモリへのアクセス要求を行う処理装置であって、
前記処理装置は、前記メモリコントローラに対して前記メモリへのアクセス要求を行う複数の処理装置の１つであり、
アクセスを要求する前記メモリ上のアドレスである第１のアドレスを取得し、かつ当該第１のアドレスへのアクセスに続けてアクセスを要求する前記メモリ上のアドレスである第２のアドレスを取得する取得手段と、
前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間に、前記メモリのプリチャージ動作が必要であるか否かを判定する判定手段と、
前記第１のアドレスを前記メモリコントローラへと送信する第１の送信手段と、
前記判定手段が前記プリチャージ動作は必要ないと判定した場合には前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われないようにするための命令を、前記判定手段が前記プリチャージ動作が必要であると判定した場合には前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われるようにするための命令を、前記処理装置を含む複数の処理装置と前記メモリコントローラとを接続するバスに対する排他アクセスを前記処理装置が要求しているか否かを示す信号を用いて前記メモリコントローラへと送信する第２の送信手段と、を備え、
前記メモリコントローラは、
前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われないようにするための命令を取得した場合には前記メモリの前記第１のアドレスと前記第２のアドレスへのアクセスが連続的に行われ、且つ、前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われず、前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われるようにするための命令を取得した場合には他の処理装置による前記メモリへのアクセス要求のタイミングによっては前記メモリの前記第１のアドレスへのアクセスから前記第２のアドレスへのアクセスまでの間に前記他の処理装置によるアクセス要求に応じた前記メモリへのアクセスが行われ、且つ、前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われるように制御する
ことを特徴とする、処理装置。
【請求項６】
前記第２の送信手段は、
前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われないようにするための命令として、オートプリチャージを実行しないことを指定する命令を、前記排他アクセスを要求しているか否かを示す信号を用いて前記メモリコントローラへと送信し、
前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われるようにするための命令として、オートプリチャージの実行を指定する命令を、前記排他アクセスを要求しているか否かを示す信号を用いて前記メモリコントローラへと送信することを特徴とする、請求項５に記載の処理装置。
【請求項７】
前記判定手段は、前記メモリの前記第２のアドレスが前記第１のアドレスと同一ページに位置する場合に、前記プリチャージ動作が必要ではないと判定し、前記メモリにおいて前記第２のアドレスが前記第１のアドレスと異なるページに位置する場合に、前記プリチャージ動作が必要であると判定することを特徴とする、請求項１乃至６の何れか１項に記載の処理装置。
【請求項８】
メモリに対してアクセスを行うメモリコントローラに対して前記メモリへのアクセス要求を行う処理装置が行う情報処理方法であって、
前記処理装置の取得手段が、アクセスを要求する前記メモリ上のアドレスである第１のアドレスを取得し、かつ当該第１のアドレスに対するアクセスに続けてアクセスを要求する前記メモリ上のアドレスである第２のアドレスを取得する取得工程と、
前記処理装置の判定手段が、前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間に、前記メモリのプリチャージ動作が必要であるか否かを判定する判定工程と、
前記処理装置の第１の送信手段が、前記第１のアドレスを前記メモリコントローラへと送信し、前記処理装置の第２の送信手段が、前記判定工程で前記プリチャージ動作は必要ないと判定した場合には前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われないようにするための命令を、前記判定工程で前記プリチャージ動作が必要であると判定した場合には前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われるようにするための命令を、前記メモリコントローラに対して要求するバーストアクセスの種類を示す信号を用いて前記メモリコントローラへと送信する送信工程と、を含み、
前記メモリコントローラは、前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われないようにするための命令を取得した場合には前記メモリの前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われず、前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われるようにするための命令を取得した場合には前記メモリの前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われるように制御することを特徴とする、情報処理方法。
【請求項９】
メモリに対してアクセスを行うメモリコントローラに対して前記メモリへのアクセス要求を行う処理装置が行う情報処理方法であって、
前記処理装置は、前記メモリコントローラに対して前記メモリへのアクセス要求を行う複数の処理装置の１つであり、
前記処理装置の取得手段が、アクセスを要求する前記メモリ上のアドレスである第１のアドレスを取得し、かつ当該第１のアドレスに対するアクセスに続けてアクセスを要求する前記メモリ上のアドレスである第２のアドレスを取得する取得工程と、
前記処理装置の判定手段が、前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間に、前記メモリにおいてプリチャージ動作が必要であるか否かを判定する判定工程と、
前記処理装置の第１の送信手段が、前記第１のアドレスを前記メモリコントローラへと送信し、前記処理装置の第２の送信手段が、前記判定工程で前記プリチャージ動作は必要ないと判定した場合には前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われないようにするための命令を、前記判定工程で前記プリチャージ動作が必要であると判定した場合には前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われるようにするための命令を、前記処理装置を含む複数の処理装置と前記メモリコントローラとを接続するバスに対する排他アクセスを前記処理装置が要求しているか否かを示す信号を用いて前記メモリコントローラへと送信する送信工程と、を含み、
前記メモリコントローラは、前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われないようにするための命令を取得した場合には前記第１のアドレスと前記第２のアドレスへのアクセスが連続的に行われ、且つ、前記メモリの前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われず、前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われるようにするための命令を受信した場合には他の処理装置による前記メモリへのアクセス要求のタイミングによっては前記メモリの前記第１のアドレスへのアクセスから前記第２のアドレスへのアクセスまでの間に前記他の処理装置によるアクセス要求に応じた前記メモリへのアクセスが行われ、且つ、前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われるように制御することを特徴とする、情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置及び情報処理方法に関し、特に情報処理装置におけるメモリアクセス手法に関する。
【背景技術】
【０００２】
現在、様々な機器の主メモリとしてＤＲＡＭが使用されている。ＤＲＡＭのデバイスは複数のバンクで構成され、それぞれのバンクは複数のページで構成されている。ＤＲＡＭにはページモードと呼ばれる高速アクセスモードが備えられており、ＤＲＡＭのバンク内の同一ページに対してアクセス（ページヒット）している間はプリチャージ（ページクローズ）を必要とせず短い時間でアクセスすることが可能となる。しかし、同一バンク内の別のページに対してアクセスする場合（ページミス）には、それまで書き込みあるいは読み出しを行っていたページをプリチャージでクローズし、新しいＲＯＷアドレスを指定してページをオープンしてからアクセスする必要がある。
【０００３】
これに対して、各処理装置のメモリアクセスパターンに応じてプリチャージ（ページクローズ）動作を制御することにより、メモリアクセスを高速化する技術が開示されている。例えば特許文献１の方法によれば、バスマスタは、現在アクセスを要求するアドレスに加えて、次にアクセスするアドレスをメモリコントローラに通知する。この通知に従ってメモリコントローラは、要求されたアドレスへのアクセス後にプリチャージを行うか否か（オートプリチャージを行うか否か）を切り替える。特許文献２の方法によれば、バスマスタが現在のアドレスとプリフェッチアドレスとの比較を行う。そしてバスマスタはページヒット／ページミスを示す専用の信号線を用いて、メモリコントローラに対しオートプリチャージが必要が否かを通知する（特許文献２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２９５３２２号公報
【特許文献２】特開平５−２１０５６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら特許文献１の方法によれば、メモリコントローラが後にアクセスされるアドレスをバッファリングすることが必要であり、メモリコントローラの回路量が大きくなってしまう。このため、コストが増大してしまう可能性があった。また特許文献２の方法によれば、ページヒット／ページミスを示す専用の信号線を用いてバスマスタがメモリコントローラに対してオートプリチャージの有無を通知するために、配線数が増加する。また、このような信号線を追加するためには、バスインターフェースを変更する必要がある。これらのことも、コストの増大につながるものと考えられる。
【０００６】
本発明は、バスマスタがＤＲＡＭによるプリチャージ動作を制御するためのより低コストな方法を提供し、これによってＤＲＡＭへのアクセス速度を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の目的を達成するために、例えば、本発明の処理装置は以下の構成を備える。すなわち、
メモリに対してアクセスを行うメモリコントローラに対して前記メモリへのアクセス要求を行う処理装置であって、
アクセスを要求する前記メモリ上のアドレスである第１のアドレスを取得し、かつ当該第１のアドレスに対するアクセスに続けてアクセスを要求する前記メモリ上のアドレスである第２のアドレスを取得する取得手段と、
前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間に、前記メモリのプリチャージ動作が必要であるか否かを判定する判定手段と、
前記第１のアドレスを前記メモリコントローラへと送信する第１の送信手段と、
前記判定手段が前記プリチャージ動作は必要ないと判定した場合には前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われないようにするための命令を、前記判定手段が前記プリチャージ動作が必要であると判定した場合には前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われるようにするための命令を、前記メモリコントローラに対して要求するバーストアクセスの種類を示す信号を用いて前記メモリコントローラへと送信する第２の送信手段と、を備え、
前記メモリコントローラは、
前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われないようにするための命令を取得した場合には前記メモリの前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われず、前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われるようにするための命令を取得した場合には前記メモリの前記第１のアドレスに対するアクセスから前記第２のアドレスに対するアクセスまでの間にプリチャージ動作が行われるように制御する
ことを特徴とする。
【発明の効果】
【０００８】
バスマスタがＤＲＡＭによるプリチャージ動作を制御するためのより低コストな方法を提供し、これによってＤＲＡＭへのアクセス速度を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】実施例１に係る情報処理装置の一例を示すブロック図
【図２】バスマスタ１００が行う処理の一例を示すフローチャート
【図３】実施例１に係る処理の一例を示す図
【図４】ＡＭＢＡ  ＡＨＢ規格におけるバースト信号を説明する図
【図５】実施例２に係る処理の一例を示す図
【図６】ＤＲＡＭ制御部１２５の構成の一例を示す図
【図７】ＤＲＡＭ制御部１２５が行う処理の一例を示すフローチャート
【図８】ＤＲＡＭ制御部１２５が行う処理の一例を示すフローチャート
【発明を実施するための形態】
【００１０】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１１】
［実施例１］
図１は、実施例１に係る情報処理装置の主要部の構成を示すブロック図である。実施例１に係る情報処理装置は、複数の処理装置１５０，１６０、バス１１０、メモリコントローラ１２０、及びＤＲＡＭ１３０を備える。複数の処理装置１５０，１６０のそれぞれはバスマスタ１００，１４０を有する。各バスマスタ１００，１４０は、処理装置に応じて異なるメモリアクセスパターンを有しうる。バス１１０は、各処理装置１５０，１６０（各バスマスタ１００，１４０）と、メモリコントローラ１２０とを互いに接続する。以下では処理装置１５０及びバスマスタ１００について説明するが、処理装置１６０及びバスマスタ１４０も同様に動作しうる。
【００１２】
バスマスタ１００は処理装置１５０に配置され、データをメモリに書き込む。具体的にはバスマスタ１００は、メモリにデータを書き込むために、バス１１０に対して制御信号、アドレス、及びデータを出力する。制御信号は例えば、メモリ使用権を要求するリクエスト信号、アクセスの種別を示すリードライト信号、転送データサイズを示すワード長信号、連続アクセスを示すバースト信号などを含みうる。また、本実施例においては詳しく説明しないが、バス１１０が送信する、メモリ使用権を取得したことを示すアクノリッジ信号や読み出しデータ信号なども、制御信号に含まれうる。もっとも、使用される制御信号の種類は、バス１１０の仕様によって異なる。本実施例においてバスマスタ１００はＤＲＡＭ１３０への書き込みを行う。しかしながらバスマスタ１００の機能はこれに限定されず、ＤＲＡＭへの任意のアクセスを行うことができる。具体的にはバスマスタ１００は、書き込みと読み出しとを行ってもよいし、読み出しのみを行ってもよい。
【００１３】
アドレス算出部１０１は、データバッファ１０７内のデータをＤＲＡＭ１３０に書き込む際に、データが書き込まれるアドレス、すなわちアクセスを要求するアドレスを算出する（取得手段）。アドレス算出部１０１は、処理装置に応じたメモリアクセスパターンに従って、アドレスを順次算出する。すなわちアドレス算出部１０１は、データが書き込まれる第１のアドレスを算出し、さらに、その後にデータが書き込まれる第２のアドレスを算出する。
【００１４】
アドレス保持部１０２は、アドレス算出部１０１が算出したアドレスを保持する。アドレス保持部１０２がアドレスを一時保持することにより、バス１１０へのアクセスタイミングを調整することができる。
【００１５】
バンク／ページ算出部１０３は、データが書き込まれるバンクアドレスとページアドレスとを算出する。例えばバンク／ページ算出部１０３は、アドレス算出部１０１が算出した第１のアドレスについて、対応するバンクアドレス及びページアドレスを算出する。またバンク／ページ算出部１０３は、アドレス算出部１０１が算出した第２のアドレスについて、対応するバンクアドレス及びページアドレスを算出する。
【００１６】
バンク／ページ保持部１０４は、バンク／ページ算出部１０３が算出したバンクアドレスとページアドレスを保持する。例えば、バンク／ページ算出部１０３が第２のアドレスに対応するバンクアドレスとページアドレスを算出している間に、バンク／ページ保持部１０４は第１のアドレスのバンクアドレス及びページアドレスを保持しうる。
【００１７】
判定部１０５は、第１のアドレスへのアクセス後、第２のアドレスへのアクセス前に、ＤＲＡＭ１３０においてプリチャージ動作が必要であるか否かを判定する（判定手段）。具体的には判定部１０５は、バンク／ページ保持部１０４に保持されている第１のアドレスと、バンク／ページ算出部１０３で算出された第２のアドレスとの間で、ページアドレスが一致するか否かを判定する。例えば判定部１０５は、第１のアドレスと第２のアドレスとがＤＲＡＭ１３０の同一バンクかつ同一ページに位置する（ページヒット）か否かを判定する。第１のアドレスと第２のアドレスとがＤＲＡＭ１３０の同一バンクかつ同一ページに対応する場合、判定部１０５は、第１のアドレスに対してアクセスした後に、プリチャージは不要であるものと判定することができる。一方、第１のアドレスと第２のアドレスとがＤＲＡＭ１３０の同一バンクかつ同一ページに位置しない（ページミス）場合、判定部１０５は第１のアドレスに対してアクセスした後にプリチャージが必要であると判定する。
【００１８】
信号生成部１０６は、判定部１０５の判定に従って、制御信号を生成する（第２の送信手段）。信号生成部１０６は、バス１１０の仕様に従った制御信号を生成しうる。例えば信号生成部１０６は、判定部１０５の判定に応じて、バス１１０に対しオートプリチャージを要求する信号を出力することができる。
【００１９】
一例として、図３に示すように、バス１１０がバスへの排他アクセスを要求する１ビットのＬＯＣＫ（ロック）信号を有する場合、信号生成部１０６はこのＬＯＣＫ信号を制御しうる。例えば信号生成部１０６は、アクセス単位の境界において、ページヒットとなるかページミスとなるか応じてＬＯＣＫ信号を制御する。具体的には信号生成部１０６は、次のアクセス単位がページヒットとなる場合はＬＯＣＫ＝ＨｉｇｈとなるようにＬＯＣＫ信号を制御し、こうして連続アクセスが要求されることを示す。この場合、オートプリチャージは行われない。また信号生成部１０６は、次のアクセス単位がページミスとなる場合はＬＯＣＫ＝ＬｏｗとなるようにＬＯＣＫ信号を制御し、こうして連続アクセスではないことを示す。この場合、オートプリチャージが行われる。
【００２０】
より詳細には、それぞれのメモリアクセス要求について、次のメモリアクセスがページヒットとなるかページミスとなるかに応じて、信号生成部１０６はＬＯＣＫ信号を制御すればよい。具体的には、メモリアクセス後にオートプリチャージが必要なければ、信号生成部１０６はＬＯＣＫ＝ＨｉｇｈとなるようにＬＯＣＫ信号を制御すればよい。一方で、メモリアクセス後にオートプリチャージが必要であれば、信号生成部１０６はＬＯＣＫ＝ＬｏｗとなるようにＬＯＣＫ信号を制御すればよい。図３を参照すると、アドレスＡ３へのアクセスの後にアドレスＡ４へのアクセスが行われるが、Ａ３とＡ４とは同一ページに属する。このため、アドレスＡ３へのアクセスを要求する際、信号生成部１０６はＬＯＣＫ＝ＨｉｇｈとなるようにＬＯＣＫ信号を制御する。一方でアドレスＡ７へのアクセスの後にアドレスＡ８へのアクセスが行われるが、Ａ７とＡ８とは異なるページに属する。このため、アドレスＡ７へのアクセスを要求する際、信号生成部１０６はＬＯＣＫ＝ＬｏｗとなるようにＬＯＣＫ信号を制御する。
【００２１】
データバッファ１０７は、ＤＲＡＭ１３０に書き込まれるデータを一時的に格納する。データバッファ１０７に格納されるデータは、通常は処理装置による処理結果である。バス１１０は調停を行う。例えば、複数の処理装置１５０，１６０からＤＲＡＭ１３０への書き込み要求を受けた際に、バス１１０は、どの処理装置からの書き込み要求を受け付けるのかを決定する。そしてバス１１０は、受け付けられたメモリアクセスについての制御信号、アドレス、及びデータを、メモリコントローラ１２０へと出力する。
【００２２】
メモリコントローラ１２０は、バスマスタ１００からのアクセス要求を受けてＤＲＡＭ１３０へのアクセスを行う。メモリコントローラ１２０は、入出力部１２１、アドレスデコード部１２２、マスタ判定部１２３、要求抽出部１２４、及びＤＲＡＭ制御部１２５を備える。入出力部１２１は、バス１１０からの要求に応じて、バス１１０から入力されたデータをＤＲＡＭに対して書き込む。また、入出力部１２１は、バス１１０からの要求に応じてＤＲＡＭから読み出したデータを、バス１１０に対して出力する。
【００２３】
アドレスデコード部１２２は、バス１１０からアクセスするアドレスを取得し、取得したアドレスから行アドレスと列アドレスとを抽出する。そしてアドレスデコード部１２２は、抽出した行アドレスと列アドレスとをＤＲＡＭ制御部１２５に出力する。またアドレスデコード部１２２は、アクセスするアドレスを示す情報をマスタ判定部１２３に出力する。
【００２４】
マスタ判定部１２３は、アドレスデコード部１２２から取得したアドレス情報、及びバス１１０から取得した制御信号から、メモリアクセスを要求しているバスマスタを判定する。本実施例においてマスタ判定部１２３は、アクセスされるアドレス領域に従って、メモリアクセスを要求しているバスマスタを判定する。一般的に画像などのまとまったデータを扱うシステムにおいては、各処理装置が使用するメモリ領域はシステム内で固定的あるいは動的に割り当てられる。したがって、アクセスされるアドレス領域を調べることにより、メモリアクセスを要求するバスマスタを判定することができる。
【００２５】
本実施例においては、それぞれのバスマスタには予めメモリ領域が割り当てられているものとする。したがって、例えばバスマスタ１００に割り当てられたメモリ領域内へのアクセスが要求されている場合、マスタ判定部はバスマスタ１００がメモリアクセスを要求しているものと判定することができる。具体的には、アクセスされるアドレスが、バスマスタ１００に割り当てられたメモリ領域のトップアドレスとボトムアドレスとの間にある場合、マスタ判定部はバスマスタ１００がメモリアクセスを要求しているものと判定することができる。
【００２６】
また本実施例においてマスタ判定部１２３は、アドレス領域判定の他に、リードライト判定を行いうる。リードライト判定によりマスタ判定部１２３は、データの転送方向を判定する。マスタ判定部１２３は例えば、バス１１０からの制御信号のうち、リードライト信号を参照することにより、リードライト判定を行いうる。バス１１０がＡＨＢである場合、転送方向を示すＨＷＲＩＴＥ信号がＨｉｇｈであるかＬｏｗであるかにより、マスタ判定部１２３はリードライト判定を行うことができる。
【００２７】
バス１１０からの制御信号において、バスマスタを一意に指定するマスタＩＤが示される場合、このマスタＩＤを使用してメモリアクセスを要求しているバスマスタを判定してもよい。バス１１０がＡＨＢである場合、アクセスをしているマスタを示すＨＭＡＳＴＥＲ信号が制御信号に含まれている。したがってマスタ判定部１２３は、このＨＭＡＳＴＥＲ信号により、メモリアクセスを要求しているバスマスタを判定することができる。
【００２８】
要求抽出部１２４は、バスマスタ１００からのオートプリチャージを要求する信号を抽出する。本実施例においては、ＬＯＣＫ信号によってオートプリチャージ要求の有無が示される。したがって要求抽出部は、バス１１０からの制御信号のうち、ＬＯＣＫ信号を抽出する。具体的には、あるアドレスへのメモリアクセスが要求されている際にＬＯＣＫ＝Ｈｉｇｈであれば、要求抽出部１２４はオートプリチャージ要求はないものと判定する。また、あるアドレスへのメモリアクセスが要求されている際ＬＯＣＫ＝Ｌｏｗであれば、要求抽出部１２４はオートプリチャージ要求があるものと判定する。そして要求抽出部１２４は、オートプリチャージ要求があるか否かを、ＤＲＡＭ制御部１２５に通知する。
【００２９】
ＤＲＡＭ制御部１２５は、バスマスタからのメモリアクセス要求に従い、ＤＲＡＭ１３０に対してアクセスコマンドを発行する。ＤＲＡＭ制御部１２５が発行するアクセスコマンドは、ページオープン（ページの活性化）、ページクローズ（プリチャージ）、リフレッシュ、リード、ライト、モードセット、などが含まれる。
【００３０】
図６にＤＲＡＭ制御部１２５（アクセス手段）の構成を示す。ＤＲＡＭ制御部１２５は、制御部３００、ページ情報格納部３０１、ＲＯＷアクセスシーケンサ３０２、ＣＯＬアクセスシーケンサ３０３、及びタイミングカウンタ３０４を備える。制御部３００は、アクセスを行うアドレスから、アクセスを行うバンクとページとを算出する。そして制御部３００は、ページ情報格納部３０１に格納されているページ情報を参照して、ＲＯＷアクセスシーケンサ３０２及びＣＯＬアクセスシーケンサ３０３に対してコマンドを発行する。ページ情報格納部３０１には、バンク毎にページのオープン／クローズ状態が格納されている。ページ情報格納部３０１にはさらに、ページがオープンされている場合にはオープンされているページ番号が記録されている。
【００３１】
ＲＯＷアクセスシーケンサ３０２は、制御部３００からページオープン／クローズのコマンドを受けると、タイミングカウンタ３０４を参照してコマンド発行可能なタイミングを待つ。そしてＲＯＷアクセスシーケンサ３０２は、ページオープン／クローズコマンドをＤＲＡＭ１３０に対して発行する。
【００３２】
ＣＯＬアクセスシーケンサ３０３は、制御部３００からメモリアクセスコマンドを受けると、タイミングカウンタ３０４を参照してコマンド発行可能なタイミングを待つ。そしてＣＯＬアクセスシーケンサ３０３は、リードコマンド又はライトコマンドをＤＲＡＭ１３０に対して発行する。ここでＣＯＬアクセスシーケンサ３０３は、オートプリチャージ付きのリードコマンド又はライトコマンドを発行することができる。オートプリチャージ付きのリードコマンド又はライトコマンドを受けると、ＤＲＡＭ１３０は、リード又はライトが終了した後でページクローズを自動的に行う。リードコマンド又はライトコマンドに従う読み出しあるいは書き込み動作が終了した時に、ページクローズが必要であることが予め分かっている場合には、ＣＯＬアクセスシーケンサ３０３はオートプリチャージ付きのコマンドを発行すればよい。この場合、ページクローズのコマンドが発行される必要はない。このため、メモリアクセスに必要な時間を削減することができる。
【００３３】
図２は、バスマスタ１００が行うメモリアクセス要求処理の一例を詳しく説明するフローチャートである。図２のフローチャートにおいては、ステップＳ９１０〜Ｓ９５０の処理が繰り返される。以下の説明では、ステップＳ９１０の開始前に、第１のアドレスと、第１のアドレスに対応するバンクアドレス及びページアドレスが算出されているものとする。
【００３４】
ステップＳ９１０においてアドレス算出部１０１は、アクセスするメモリ上（ＤＲＡＭ上）のアドレスを算出する。上述のようにアドレス算出部１０１は、第１のアドレスに対するアクセスの後にアクセスされる第２のアドレスを算出する。算出されたアドレスは、アドレス保持部１０２に格納される。
【００３５】
ステップＳ９２０においてバンク／ページ算出部１０３は、アドレス算出部１０１が算出した第２のアドレスについて、対応するバンクアドレスとページアドレスとを算出する。算出されたバンクアドレス及びページアドレスは、バンク／ページ保持部１０４に格納される。
【００３６】
ステップＳ９３０において判定部１０５は、プリチャージが必要か否かを判定する。上述のように判定部１０５は、第１のアドレスと第２のアドレスとがＤＲＡＭ１３０上の同一のページに存在する場合に、プリチャージが必要ではないものと判定する。ステップＳ９４０において信号生成部１０６は、ステップＳ９３０における判定結果に従って制御信号を生成する。具体的には、プリチャージが必要である場合にはＬＯＣＫ信号をＬｏｗにし、プリチャージが必要ではない場合にはＬＯＣＫ信号をＨｉｇｈにすればよい。こうして、オートプリチャージを行うか行わないかを指定する命令がメモリコントローラ１２０へと送信される。またステップＳ９４０においてアドレス保持部１０２は、第１のアドレスをメモリコントローラ１２０に対して送信する（第１の送信手段）。こうして、第１のアドレスに対するアクセス要求がメモリコントローラ１２０へと出力される。
【００３７】
ステップＳ９５０においてアドレス算出部１０１は、次のアドレスに対するアクセスが要求されているか否かを判定する。アクセスが要求されている場合、処理はステップＳ９１０に戻り、第２のアドレスに対するアクセスの後にアクセスされる第３のアドレスが算出され、第２のアドレスに対するアクセス要求がメモリコントローラ１２０へと出力される。アクセスが要求されていない場合、処理は終了する。
【００３８】
図７は、ＤＲＡＭ制御部１２５内の制御部３００が行うコマンド発行処理を説明するフローチャートである。ステップＳ５００において制御部３００は、メモリアクセスを行うアドレスを取得し、このアドレスからバンクアドレスとページアドレスとを算出する。ステップＳ５０１において制御部３００は、ページ情報格納部３０１に格納されているページ情報を参照して、ステップＳ５００で算出したバンクアドレスが示すバンクの状態と、ページアドレスが示すページの状態とを確認する。
【００３９】
ステップＳ５０２において制御部３００は、ステップＳ５００で算出したバンクアドレスが示すバンクがオープンされているか否かを判定する。バンクがオープンされている場合、処理はステップＳ５０３へ移行する。一方、バンクがオープンされていない場合、処理はステップＳ５０５に進む。
【００４０】
ステップＳ５０３において制御部３００は、ステップＳ５００で算出したページアドレスが示すページがオープンされているか否かを判定する。ステップＳ５００で算出したページアドレスが示すページがオープンされていることはページヒットを意味する。また、ステップＳ５００で算出したページアドレスが示すページがオープンされていないことはページミスを意味する。ページがオープンされている場合、処理はステップＳ５０６に進む。ページがオープンされていない場合、処理はステップＳ５０４に進む。
【００４１】
ステップＳ５０４において制御部３００は、ＲＯＷアクセスシーケンサ３０２に対して現在オープンされているページをクローズするコマンドを発行する。ステップＳ５０５において制御部３００は、ＲＯＷアクセスシーケンサ３０２に対して、ステップＳ５００で算出したページアドレスが示すページをオープンするコマンドを発行する。ステップＳ５０６において制御部３００は、ＣＯＬアクセスシーケンサ３０３に対して、ステップＳ５００で取得したアドレスに対するメモリアクセスコマンドを発行する。
【００４２】
図８は、ステップＳ５０６におけるメモリアクセスコマンドの発行処理を詳しく示すフローチャートである。ステップＳ６００において制御部３００は、マスタ判定部１２３から、メモリアクセスを要求しているバスマスタを示す情報を取得する。ステップＳ６０１において制御部３００は、メモリアクセスを要求しているバスマスタが、プリチャージ要求を発行しうるバスマスタであるか否かを判定する。制御部３００はこの判定を、不図示のメモリを参照して行うことができる。この不図示のメモリは、それぞれのバスマスタについて、オートプリチャージ要求を発行しうるか否かを示す情報を格納している。バスマスタがプリチャージ要求を発行しうる場合、処理はステップＳ６０２に進む。そうでない場合、処理はステップＳ６０５に進む。
【００４３】
ステップＳ６０２において制御部３００は、オートプリチャージ要求があるか否かを示す通知を要求抽出部１２４から受け取る。ステップＳ６０３において制御部３００は、要求抽出部１２４からの通知を参照して、オートプリチャージ要求があるか否かを判定する。オートプリチャージ要求がある場合、処理はステップＳ６０４に進む。オートプリチャージ要求がない場合、処理はステップＳ６０５に進む。
【００４４】
ステップＳ６０４において制御部３００は、ＣＯＬアクセスシーケンサ３０３に対し、バス１１０によって指定されたアドレスに対する、オートプリチャージ付きのメモリアクセスコマンドを発行する。一方でステップＳ６０５において制御部３００は、ＣＯＬアクセスシーケンサ３０３に対し、バス１１０によって指定されたアドレスに対する、オートプリチャージなしのメモリアクセスコマンドを発行する。
【００４５】
以上述べてきたように本実施例では、メモリコントローラは、バスマスタからのオートプリチャージ要求に応じてページクローズを行う。こうして、ＤＲＡＭのプリチャージに必要なサイクル数を削減することができる。ここで、バスマスタからのオートプリチャージ要求の通知には、バスマスタによる連続アクセスを示す信号（ＬＯＣＫ信号）を用いる。このため、バスインターフェースを変更することや配線数を増やすことは必要ない。以上のような方法により、特にメモリに対してランダムアクセスを行う際に、メモリへのアクセス速度が向上しうる。例えば画像投影装置においてはキーストーン補正のような画像変形処理が行われることがあるが、このような画像変形処理においてはメモリに対するランダムアクセスが行われる。従って本実施例のような方法を画像変形処理を行う画像処理装置、例えば画像投影装置に対して適用することは有利となる。
【００４６】
［実施例２］
実施例２では、標準的に用いられるオンチップバスであるＡＭＢＡ  ＡＨＢ規格に従うバスを、バス１１０として用いる。図４に示すように、ＡＨＢプロトコルには、メモリに対する連続アクセスを実行するためのバースト動作が規定されている。具体的にはＡＨＢプロトコルには、インクリメント式バーストとラップ式バーストの両者がサポートされている。
【００４７】
インクリメント式バーストにおいては、シーケンシャルロケーションがアクセスされる。具体的には、連続するメモリアドレスが順次アクセスされる。次に説明するラップ式バーストとは異なり、アドレス境界におけるラップは行われない。一方でラップ式バーストにおいても、連続するメモリアドレスが順次アクセスされるが、アドレス境界においてラップが行われる。
【００４８】
ここで、アドレス境界について説明する。バースト動作時に、ＤＲＡＭ１３０上のメモリアドレスはアドレス境界によって区切られ、それぞれのアドレス空間は１回のバーストでアクセスされるデータ量に対応する。例えば４バイト単位でのメモリアクセスがなされる場合において、４ビートのバーストアクセスが行われる場合、１回のバーストでは１６バイトのデータがアクセスされる。この場合、メモリアドレスは１６バイトごとに区切られる。
【００４９】
したがって、４バイトアクセスにおける４ビートラップ式バーストは、ＤＲＡＭ中の１６バイトごとのアドレス境界でラップする。具体的には、アドレス０ｘ３４からアクセスが始まる場合、アドレス０ｘ３４からの４バイト、０ｘ３８からの４バイト、０ｘ３Ｃからの４バイト、及び０ｘ３０からの４バイトに、順にアクセスが行われる。
【００５０】
ここで、バーストアクセスがそれぞれのアドレス空間の先頭アドレスから開始する場合、ラップは行われない。例えば４バイトアクセスにおける４ビートラップ式バーストにおいて、アドレス０ｘ３０からアクセスが始まる場合、次のようにアクセスが行われる。すなわち、０ｘ３０からの４バイト、アドレス０ｘ３４からの４バイト、０ｘ３８からの４バイト、及び０ｘ３Ｃからの４バイトに、順にアクセスが行われる。
【００５１】
ＡＨＢプロトコルにおいては、ＨＢＵＲＳＴ信号（以下、バースト信号と呼ぶ）を用いて、インクリメント式バースト又はラップ式バーストが指定される。本実施例においてバス１１０は、このバーストアクセスの種類を示すバースト信号を用いて、さらにオートプリチャージ要求を行う。具体的には信号生成部１０６は、アクセスするメモリアドレスとしてアドレス空間の先頭アドレスを指定し、さらにラップ式バーストを示すバースト信号を送ることにより、バス１１０がオートプリチャージを要求していることを通知する。一方でバス１１０がオートプリチャージを要求していない場合に、アクセスするメモリアドレスとしてアドレス空間の先頭アドレスを指定する場合には、信号生成部１０６はインクリメント式バーストを示すバースト信号を送る。
【００５２】
具体的な一例として、上述の４バイトアクセスにおける４ビートバーストにおいて、アクセスの開始アドレスとして例えば０ｘ３０を指定する場合について説明する。オートプリチャージを要求する場合、信号生成部１０６はバースト信号を用いて、ラップ式バーストを指定すればよい。また、オートプリチャージを要求しない場合、信号生成部１０６はバースト信号を用いて、インクリメント式バーストを指定すればよい。
【００５３】
本実施例に係る処理は、実施例１におけるステップＳ９１０〜Ｓ９５０、及びＳ６０２の動作を変更することにより実現できる。まず、図５を参照して、本実施例におけるステップＳ９１０〜Ｓ９５０の処理について説明する。図５のように、アドレスＡ０−１〜Ａ０−４に対する１回のバーストアクセスの後に、アドレスＡ１−１〜Ａ１−４に対する次のバーストアクセスが行われるものとする。アドレスＡ１−１〜Ａ１−４に対する１回のバーストアクセスの後には、アドレスＡ２−１〜Ａ２−４に対する次のバーストアクセスが行われる。また、これらのバーストアクセスは、インクリメント式バースト又はラップ式バーストであるものとする。
【００５４】
実施例１と同様に、ステップＳ９１０〜Ｓ９５０の処理は繰り返される。以下の処理が始まる前に、アドレス群Ａ０−１〜Ａ０−４と、アドレス群Ａ０−１〜Ａ０−４についてのバンクアドレス及びページアドレスは既に算出されているものとする。ステップＳ９１０でアドレス算出部１０１は、１回のバーストアクセスによってアクセスされるアドレス群を算出する。図５の例によればアドレス算出部１０１は、アドレス群Ａ１−１〜Ａ１−４を算出する。本実施例の方法によれば、それぞれのアドレス群の最初のアドレスが、１回のラップ式バーストでアクセスされるアドレス空間の先頭アドレスである場合に、オートプリチャージの有無を指定することができる。したがって、例えばアドレス空間の先頭アドレス以外のアドレスから始まるバースト転送を行いたい場合にも、アドレス空間の先頭アドレスから始まるバースト転送を指定する方がいいことがある。このように、指定するアドレス群の順序を変更する場合、バスマスタはデータ整列部（不図示）を備えてもよい。データ整列部は、メモリへと書き込まれるデータ群の順序、又はメモリから読み出されたデータ群の順序が、変更前のアドレス群の順序に対応するように、データを整列することができる。
【００５５】
ステップＳ９２０でバンク／ページ算出部１０３は、アドレス群Ａ１−１〜Ａ１−４についてバンクアドレス及びページアドレスを算出する。通常１回のバーストアクセスは同じページに対して行われるから、バンク／ページ算出部１０３はそれぞれのアドレス群のうち最初のアドレスについてのみバンクアドレス及びページアドレスを算出してもよい。
【００５６】
ステップＳ９３０において判定部１０５はまず、アドレス群Ａ０−１〜Ａ０−４の最初のアドレス（Ａ０−１）が、１回のラップ式バーストでアクセスされるアドレス空間の先頭アドレスであるか否かを判定する。アドレス空間の先頭アドレスではない場合、判定部１０５はオートプリチャージが必要か否かの判定を行わない。この場合、アドレス群Ａ０−１〜Ａ０−４に従って、信号生成部１０６はインクリメント式バースト又はラップ式バーストを示す制御信号を出力すればよい。
【００５７】
それぞれのアドレス群の最初のアドレスが、１回のラップ式バーストでアクセスされるアドレス空間の先頭アドレスである場合、判定部１０５は次の処理を行う。すなわち判定部１０５は、１回のバーストアクセスが行われるメモリアドレス（Ａ０−１〜Ａ０−４）に対応するページアドレスと、その後のバーストアクセスが行われるメモリアドレス（Ａ１−１〜Ａ１−４）に対応するページアドレスとを比較する。判定部１０５は最初にアクセスされるメモリアドレス同士（Ａ０−１及びＡ１−１）を比較してもよい。ページアドレス及びバンクアドレスが一致する場合（同じページに対するアクセスが行われる場合）、判定部１０５はオートプリチャージは必要ないものと判定する。ページアドレス又はバンクアドレスが一致しない場合は、判定部１０５はオートプリチャージが必要であるものと判定する。
【００５８】
次に、ステップＳ９４０の処理について説明する。信号生成部１０６は、オートプリチャージが必要ないと判定された場合、バースト信号としてインクリメント式バーストを示す信号（図５におけるＩＮＣＲ４）を出力すればよい。また信号生成部１０６は、オートプリチャージが必要であると判定された場合、バースト信号としてラップ式バーストを示す信号を出力すればよい。
【００５９】
ステップＳ９４０においてアドレス保持部１０２はさらに、アドレス群Ａ０−１〜Ａ０−４を順次出力する。こうしてバスマスタ１００は、アドレス群Ａ０−１〜Ａ０−４に対するメモリアクセス要求をメモリコントローラ１２０へと出力する。
【００６０】
ステップＳ９５０においてアドレス算出部１０１は、次のアドレス群に対するアクセスが要求されているか否かを判定する。アクセスが要求されている場合、処理はステップＳ９１０に戻り、次のアドレス群（Ａ１−１〜Ａ１−４）に対するアクセスの後にアクセスされるアドレス群（Ａ２−１〜Ａ２−４）が算出される。そして、アドレス群Ａ１−１〜Ａ１−４に対するアクセス要求がメモリコントローラ１２０へと出力される。図５の場合、アドレス群Ａ１−１〜Ａ１−４とアドレス群Ａ２−１〜Ａ２−４との間でページアドレスは一致しない。従って、アドレス群Ａ１−１〜Ａ１−４に対するアクセス要求を出力する際には、信号生成部１０６はバースト信号としてラップ式バーストを示す信号（ＷＲＡＰ４）を出力すればよい。一方でステップＳ９５０において次のアドレス群に対するアクセスが要求されていないと判定された場合、処理は終了する。
【００６１】
また、ステップＳ６０２において、要求抽出部１２４は次のように動作すればよい。すなわち要求抽出部１２４は、アドレスデコード部１２２が出力するアドレス情報を参照する。１回のバーストアクセスによってアクセスされるアドレス群の最初のアドレスが、１回のラップ式バーストでアクセスされるアドレス空間の先頭アドレスである場合、要求抽出部はバス１１０からのバースト信号を参照する。バースト信号によってインクリメント式バーストが指定されている場合、要求抽出部１２４はオートプリチャージが要求されていないものと判定する。また、バースト信号によってラップ式バーストが指定されている場合、要求抽出部１２４はオートプリチャージが要求されているものと判定する。
【００６２】
一方で１回のバーストアクセスによってアクセスされるアドレス群の最初のアドレスが、１回のラップ式バーストでアクセスされるアドレス空間の先頭アドレスではない場合、要求抽出部はオートプリチャージの有無は指定されていないものと判定する。このような場合、要求抽出部１２４はオートプリチャージを行うようにＤＲＡＭ制御部１２５に指示してもよい。また、要求抽出部１２４はオートプリチャージを行わないようにＤＲＡＭ制御部１２５に指示してもよい。また、要求抽出部１２４は既知の方法に従って、オートプリチャージを行うか否かを決定してもよい。例えば、アクセスされたアドレスの履歴に従って、オートプリチャージの有無について簡単な予測を行う方法が従来から知られている。要求抽出部１２４は、このような方法を実現する不図示の予測部（予測手段）に従ってオートプリチャージを行うか否かを決定してもよい。
【００６３】
要求抽出部１２４は、こうして判定したオートプリチャージ要求の有無を、ＤＲＡＭ制御部１２５に通知すればよい。バースト動作として単独転送が指定されている場合（例えば、ＨＴＲＡＮＳ信号によってＮＯＮＳＥＱが指定されている場合）には、要求抽出部１２４はオートプリチャージが要求されていないものと判定してもよい。また本実施例においては、オートプリチャージを要求しない場合にはインクリメント式バーストが、オートプリチャージを要求する場合にはラップ式バーストが、それぞれ指定された。しかしながら、インクリメント式バーストとラップ式バーストとのどちらをオートプリチャージを要求する場合に割り当てるのかは任意に設定できる。すなわち、オートプリチャージを要求しない場合にはインクリメント式バーストとラップ式バーストとの一方が選択されればよい。また、オートプリチャージを要求する場合にはインクリメント式バーストとラップ式バーストとの他方が選択されればよい。
【００６４】
以上の実施例２においても、バスマスタ１００は、既存の規格を変更することなく、オートプリチャージをメモリコントローラに対して要求することができる。このため、追加の配線の設置のようなインタフェースの変更を行うことなく、メモリアクセス速度を向上させることができる。
【図１】
0005759276.tif 000002
【図２】
0005759276.tif 000003
【図３】
0005759276.tif 000004
【図４】
0005759276.tif 000005
【図５】
0005759276.tif 000006
【図６】
0005759276.tif 000007
【図７】
0005759276.tif 000008
【図８】
0005759276.tif 000009