(57)【要約】【課題】  メモリに記憶されたデータを書き換える処理を低コストで、かつ、高速なものとし、情報処理装置の消費電力を低減すること。【解決手段】  情報処理装置１は、従来用いられていたリード・モディファイ・ライト手法の機能を、ライト命令を先行すると共に、ライト命令内のライトコマンドの発行完了に続き、直ちに、リード命令のリードコマンドを発行する。即ち、ライト命令のプリチャージコマンドと、リード命令のアクティブコマンドとを発行せずに、ライトコマンドの後、直ちに、リードコマンドが発行される。そのため、同一のロウアドレスに対するアクセスにおいては不要な処理となる命令間のプリチャージコマンドおよびアクティブコマンドが実行されることを回避できると共に、ＣＡＳレイテンシの影響も回避できる。したがって、メモリに記憶されたデータを書き換える処理を、低コストで、かつ、高速なものとすることができる。【選択図】  図３
2005215762.tif 000002
【特許請求の範囲】
【請求項１】
アクティブコマンドによって設定されたロウアドレスと、リードコマンドあるいはライトコマンドによって設定されたカラムアドレスとによって指定されたメモリのアドレスにアクセス可能な情報処理装置であって、
同一のロウアドレスのデータについてリードコマンドおよびライトコマンドの少なくともいずれかが続けて発行される場合に、先行するリードコマンドあるいはライトコマンドに続いてプリチャージコマンドおよびアクティブコマンドを発行することなく、後続のリードコマンドあるいはライトコマンドを発行することを特徴とする情報処理装置。
【請求項２】
同一のロウアドレスのデータについてデータの書き込みおよび読み出しを行う場合に、ライトコマンドの発行完了直後のサイクルでリードコマンドを発行することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記メモリにおいて書き換え対象となるデータを含む管理単位分のデータを読み出し、該管理単位分のデータを書き換えた後に、前記メモリに書き戻す処理を同一のロウアドレスについて繰り返す場合に、先頭のリードコマンドによるデータの読み出しを行い、該データを書き換えた後、先行するリードコマンドによって読み出されたデータを書き換えた結果を書き戻すライトコマンドの発行完了直後のサイクルで、引き続き書き換えられるデータを含む管理単位分のデータを読み出すリードコマンドを発行することを特徴とする請求項１または２記載の情報処理装置。
【請求項４】
入力された書き換え対象となるメモリアドレスを所定サイクル分遅延して出力するアドレス遅延手段と、
前記アドレス遅延手段によって遅延されたメモリアドレスと、入力された現在のメモリアドレスとのいずれかを選択して出力するアドレス選択手段と、
前記メモリの書き換え対象となるデータを読み出して保持する書き換え対象データ保持手段と、
前記書き換え対象データ保持手段に保持された前記書き換え対象となるデータを書き換えるデータ演算手段と、
前記アドレス遅延手段によって遅延されたメモリアドレスを前記アドレス選択手段に選択させるタイミングに合わせて、前記データ演算手段によって書き換えられたデータを該データ演算手段から前記メモリに出力させ、前記入力された現在のメモリアドレスを前記アドレス選択手段に選択させるタイミングに合わせて、前記書き換え対象データ保持手段に前記メモリからデータを読み出させる制御手段と、
を含むことを特徴とする請求項２または３記載の情報処理装置。
【請求項５】
アクティブコマンドによって設定されたロウアドレスと、リードコマンドあるいはライトコマンドによって設定されたカラムアドレスとによって指定されたメモリのアドレスにアクセスするメモリアクセス方法であって、
同一のロウアドレスのデータについてリードコマンドおよびライトコマンドの少なくともいずれかが続けて発行される場合に、先行するリードコマンドあるいはライトコマンドに続いてプリチャージコマンドおよびアクティブコマンドを発行することなく、後続のリードコマンドあるいはライトコマンドを発行することを特徴とするメモリアクセス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリに記憶された情報の読み出しおよび書き換えを行う情報処理装置およびそのメモリアクセス方法に関する。
【背景技術】
【０００２】
従来、画像処理等の情報処理においては、コスト低減の観点からＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）といった汎用メモリが用いられている。
【０００３】
このようなメモリは、一定のビット幅を管理単位としており、例えば、３２ビットのデータ・バスで接続されたメモリにおいては、所定の３２ビット分をまとめて読み出したり、書き込んだりするのが一般的である。
【０００４】
そのため、このようなメモリにおいて、上述の管理単位未満のサイズのデータ（例えば４ビットのデータ）の書き込みを行おうとすると、管理単位における他の部分のデータ（例えば残りの２８ビットのデータ）が不正な値となってしまう事態が生じ得る。
【０００５】
そこで、このような事態を防ぐため、リード・モディファイ・ライトと呼ばれる手法が用いられている。リード・モディファイ・ライト手法では、指定された書き込みデータを含む管理単位のデータ全体を読み出し、書き込みデータ部分のみを書き換えた上で、書き換え後の管理単位のデータを再びメモリに書き込むという方法がとられている。
【０００６】
なお、ＳＤＲＡＭのようなページの概念を持つメモリにおいては、同一ページ内の複数のアドレスに対応するデータをまとめて転送する、バースト転送と呼ばれる方法でメモリアクセス速度を向上させることが多い。この場合、上述の管理単位は一回のバースト転送で転送するデータ量になる。例えば、３２ビットのデータ・バスで接続されたメモリにおいて、一回のバースト転送で４ワードのデータを転送する場合は、１２８ビット（３２ビット×４ワード）が管理単位となる。
【０００７】
図６は、従来の情報処理装置において、リード・モディファイ・ライト手法が実行される場合のタイミングチャートを示す図である。また、図７は、図６に示すタイミングチャートをフローチャートとして示した図である。
【０００８】
図７において、リード・モディファイ・ライトが指示されると、情報処理装置は、アクティブコマンドを発行し（ステップＳ１０１）、１サイクルのウェイト（ＮＯＰの実行）を行う（ステップ１０２）。
【０００９】
なお、ここでは１サイクルのウェイトとしているが、用いるＳＤＲＡＭの仕様に合わせて、２以上のサイクルとしたり、ゼロサイクル（ウェイト無し）とすることもある。このことは、全てのウェイトステップにもあてはまる。
【００１０】
続いて、情報処理装置は、リードコマンド（メモリからデータを直接読み出すコマンド）を発行し（ステップＳ１０３）、読み込みデータのメモリからのバースト転送が終了したか否かの判定を行い（ステップＳ１０４）、バースト転送が終了していないと判定した場合、ステップＳ１０３の処理に移行する。一方、バースト転送が終了していると判定した場合、ステップＳ１０５によって必要なサイクル数のウェイトを行ってから、ステップＳ１０６のプリチャージコマンド発行を行うことになるが、図６のタイミングチャートでは、ステップＳ１０５のウェイトが不要なタイプのＳＤＲＡＭが使用されているものとしているため、図６ではステップＳ１０５のウェイトは記載されていない。
【００１１】
そして、情報処理装置は、１サイクルのウェイトを行い（ステップＳ１０７）、メモリから読み出したデータの書き換えを行う（ステップＳ１０８）。
【００１２】
なお、ステップＳ１０８の処理は、並列的に処理されるため、図６のタイミングチャートには現われていない。
【００１３】
続いて、情報処理装置は、後続するライトのためのアクティブコマンドを発行し（ステップＳ１０９）、１サイクルのウェイトを行う（ステップＳ１１０）。
【００１４】
次いで、情報処理装置は、ライトコマンド（実際にメモリにデータを入力して書き込むコマンド）を発行し（ステップＳ１１１）、書き込みデータのメモリへのバースト転送が終了したか否かの判定を行う（ステップＳ１１２）。
【００１５】
ステップＳ１１２において、書き込みデータのメモリへのバースト転送が終了していないと判定した場合、情報処理装置は、ステップＳ１１１の処理に移行し、バースト転送が終了したと判定した場合、１サイクルのウェイトを行う（ステップＳ１１３）。
【００１６】
そして、情報処理装置は、プリチャージコマンドを発行し（ステップＳ１１４）、１サイクルのウェイトを行った後（ステップＳ１１５）、リード・モディファイ・ライトの実行を終了する。
【００１７】
ところが、図６に示すような、リード・モディファイ・ライトを実行した場合、書き換えないデータを保護するため、管理単位のデータをメモリから読み出し、データを変更してから、それを書き戻すという処理を要することから、処理時間が増加することとなる。
【００１８】
そのため、リード・モディファイ・ライト手法に関する改善方法が種々提案されている。
【００１９】
例えば、特開平５−２６６１７７号公報に記載された技術は、書き換えの必要がない場合にライト命令を省略するものである。また、特開２００３−２５６２７１号公報に記載された技術は、書き換えを行いたくない部分をマスクするものである。
【００２０】
その他にも、特開平８−１２３４０２号公報あるいは特開平８−１２３７１６号公報等に記載された技術が知られている。
【特許文献１】特開平５−２６６１７７号公報
【特許文献２】特開２００３−２５６２７１号公報
【特許文献３】特開平８−１２３４０２号公報
【特許文献４】特開平８−１２３７１６号公報
【発明の開示】
【発明が解決しようとする課題】
【００２１】
しかしながら、上述の公報に記載された技術を含め、従来の技術は、特殊な条件の下でメモリの書き換え処理を高速化するものであり、汎用的に適用することができなかった。
【００２２】
また、特殊なメモリ構造を有するメモリを用いなければならず、高コストとなるという問題があった。
【００２３】
即ち、メモリに記憶されたデータを書き換える処理を低コストで、かつ、高速なものとすることが困難であり、結果として、データの書き換えに長い時間を必要とし、情報処理装置の消費電力が増加する原因の一つにもなっていた。
【００２４】
本発明の課題は、メモリに記憶されたデータを書き換える処理を低コストで、かつ、高速なものとし、情報処理装置の消費電力を低減することである。
【課題を解決するための手段】
【００２５】
以上の課題を解決するため、本発明は、
アクティブコマンドによって設定されたロウアドレスと、リードコマンドあるいはライトコマンドによって設定されたカラムアドレスとによって指定されたメモリのアドレスにアクセス可能な情報処理装置であって、同一のロウアドレスのデータについてリードコマンドおよびライトコマンドの少なくともいずれかが続けて発行される場合（例えば、リードコマンドが連続する場合、ライトコマンドが連続する場合あるいはリードコマンドに続いてライトコマンドを発行する場合等）に、先行するリードコマンドあるいはライトコマンドに続いてプリチャージコマンドおよびアクティブコマンドを発行することなく、後続のリードコマンドあるいはライトコマンドを発行することを特徴としている。
【００２６】
このような構成により、同一のロウアドレスに対するコマンドが連続する際に、先行するコマンドに対応するプリチャージコマンドと、後続のコマンドに対応するアクティブコマンドが無駄に実行されることを防止でき、低コストに処理の高速化を図ることができる。
【００２７】
また、同一のロウアドレスのデータについてデータの書き込みおよび読み出しを行う場合に、ライトコマンドの発行完了直後のサイクルでリードコマンドを発行することを特徴としている。
【００２８】
このような構成により、先行するリードコマンドに起因して発生するＣＡＳレイテンシの影響を回避することができ、低コストに処理の高速化を図ることが可能となる。
【００２９】
また、前記メモリにおいて書き換え対象となるデータを含む管理単位分のデータ（例えば、３２ビットメモリであれば、管理単位である３２ビット分のデータ）を読み出し、該管理単位分のデータを書き換えた後に、前記メモリに書き戻す処理を同一のロウアドレスについて繰り返す場合に、先頭のリードコマンドによるデータの読み出しを行い、該データを書き換えた後、先行するリードコマンドによって読み出されたデータを書き換えた結果を書き戻すライトコマンドの発行完了直後のサイクルで、引き続き書き換えられるデータを含む管理単位分のデータを読み出すリードコマンドを発行することを特徴としている。
【００３０】
また、入力された書き換え対象となるメモリアドレスを所定サイクル分遅延して出力するアドレス遅延手段（例えば、図３のアドレスバッファ３０）と、前記アドレス遅延手段によって遅延されたメモリアドレスと、入力された現在のメモリアドレスとのいずれかを選択して出力するアドレス選択手段（例えば、図３のアドレスセレクタ４０）と、前記メモリの書き換え対象となるデータを読み出して保持する書き換え対象データ保持手段（例えば、図３のデータバッファ７０）と、前記書き換え対象データ保持手段に保持された前記書き換え対象となるデータを書き換えるデータ演算手段（例えば、図３のデータ演算部６０）と、前記アドレス遅延手段によって遅延されたメモリアドレスを前記アドレス選択手段に選択させるタイミングに合わせて、前記データ演算手段によって書き換えられたデータを該データ演算手段から前記メモリに出力させ、前記入力された現在のメモリアドレスを前記アドレス選択手段に選択させるタイミングに合わせて、前記書き換え対象データ保持手段に前記メモリからデータを読み出させる制御手段（例えば、図３の制御部１０）とを含むことを特徴としている。
【００３１】
このような構成により、高価な専用メモリを用いることなく、従来行われていたリード・モディファイ・ライト手法を低コストに高速化することが可能となる。
【００３２】
また、本発明は、
アクティブコマンドによって設定されたロウアドレスと、リードコマンドあるいはライトコマンドによって設定されたカラムアドレスとによって指定されたメモリのアドレスにアクセスするメモリアクセス方法であって、同一のロウアドレスのデータについてリードコマンドおよびライトコマンドの少なくともいずれかが続けて発行される場合に、先行するリードコマンドあるいはライトコマンドに続いてプリチャージコマンドおよびアクティブコマンドを発行することなく、後続のリードコマンドあるいはライトコマンドを発行することを特徴としている。
【００３３】
このように、本発明によれば、メモリに記憶されたデータを書き換える処理を低コストで、かつ、高速なものとすることができる。
【発明を実施するための最良の形態】
【００３４】
以下、図を参照して本発明の実施の形態を説明する。
【００３５】
本発明においては、従来用いられていたリード・モディファイ・ライトのように同一のロウアドレスにおいてリード命令に続き、ライト命令が連続して行われる場合に対する改善を施し、処理の高速化を図るものである。
【００３６】
そこで、まず、本発明におけるメモリアクセス方法の基本的な考え方について、リード・モディファイ・ライトの場合を例に挙げて説明する。
【００３７】
リード・モディファイ・ライトの場合、同一のロウアドレスに対して、リード命令、ライト命令の順にアクセスが行われる。そのため、データの読み出し後に行われるプリチャージコマンドおよびアクティブコマンドは不要である。
【００３８】
そこで、図６に示すタイミングチャートにおけるデータの読み出し後のプリチャージコマンドおよびアクティブコマンドを省略し、リード命令に連続してライト命令を実行することが可能である。
【００３９】
図１に、リード命令に続いてライト命令を実行するときのタイミングチャートを示す。
【００４０】
このとき、リードコマンドによってメモリから読み出されたデータ（ＲＤ）と、ライトコマンドによってメモリへ書き込むデータ（ＷＤ）が、わずかなタイミングのずれから、データ・バス上で衝突することが起こり得る。
【００４１】
そこで、衝突を回避するため、図１に示すように、リードデータ（ＲＤ）とライトデータ（ＷＤ）の間に１サイクル程度の間隔を空ける対策を取ることも多い。
【００４２】
また、メモリの仕様上、リードコマンドを実行してからリードデータ（ＲＤ）がデータ・バス上に現われるまでにＣＡＳレイテンシと呼ばれるタイムラグが存在する。
【００４３】
上記の理由から、図１に示すように、リードコマンドとライトコマンドの間に適切な数のＮＯＰコマンド（何も実行しないコマンド）を挿入することが行われるが、本発明の主旨を逸脱するものではない。
【００４４】
また、このときのフローチャートは、図７に示すフローチャートにおいて、ステップＳ１０６、Ｓ１０７、Ｓ１０９、Ｓ１１０が省略されたものである。
【００４５】
このように、データ読み出し後のプリチャージコマンドおよびアクティブコマンドを省略することにより、単純にリード命令が終了してからライト命令を行う従来のリード・モディファイ・ライト手法に比べ、所要サイクル数が、１７サイクルから１６サイクルに減少し、処理の高速化を図ることができる。
【００４６】
また、図１に示すように、リード命令からライト命令の順にメモリにアクセスする場合、リード命令において、データの読み出しに要する２サイクル分のレイテンシが発生するため、タイミングを調整するためのＮＯＰ命令が挿入されることとなる。そのため、リード命令に続いて、直ちにライト命令を実行することができないこととなる。
【００４７】
そこで、図６に示すタイミングチャートにおけるリード命令とライト命令とを入れ替えて実行することにより、先に実行されるライト命令に続いて、直ちにリード命令を実行することが可能となる。なお、この場合においても、同一のロウアドレスに対する命令が連続することから、図１に示す場合と同様に、プリチャージコマンドおよびアクティブコマンドを省略することが可能である。
【００４８】
本発明では、この、先に実行されるライト命令に続いてリード命令を実行する手法を、ライト・モディファイ・リード手法と呼ぶ。
【００４９】
このとき、タイミングチャートは図２に示すものとなる。
【００５０】
また、このときのフローチャートについては後述する（図４参照）。
【００５１】
このように、ライト命令からリード命令の順にメモリにアクセスすることにより、ライト命令からリード命令の順にメモリにアクセスする場合に比べ、所要サイクル数が、１７サイクルから１２サイクルに減少し、さらなる処理の高速化を図ることができる。
【００５２】
次に、上述の方法を適用した情報処理装置１について説明する。
【００５３】
図３は、本発明を適用した情報処理装置１の機能構成を示すブロック図である。
【００５４】
図３において、情報処理装置１は、制御部１０と、データ生成部２０と、アドレスバッファ３０と、アドレスセレクタ４０と、書き換えデータバッファ５０と、データ演算部６０と、データバッファ７０と、ＳＤＲＡＭ８０とを含んで構成される。
【００５５】
制御部１０は、情報処理装置１全体を制御するものであり、データ生成部２０、アドレスバッファ３０、アドレスセレクタ４０、書き換えデータバッファ５０、データ演算部６０、データバッファ７０およびＳＤＲＡＭ８０におけるデータ入出力のタイミングや、各部の動作を管理する。
【００５６】
データ生成部２０は、制御部１０の指示に応じて、ＳＤＲＡＭ８０内の書き込みアドレスをアドレスバッファ３０およびアドレスセレクタ４０に出力すると共に、書き換えるための新たなデータ（書き換えデータ）を生成し、生成した書き換えデータを書き換えデータバッファ５０に出力する。
【００５７】
アドレスバッファ３０は、データ生成部２０によって出力されたアドレスを一時的に保持し、制御部１０の指示に応じて、保持しているアドレスをアドレスセレクタ４０に出力する。
【００５８】
アドレスセレクタ４０は、制御部１０の指示に応じて、データ生成部２０から入力されるアドレス（ライト命令実行時の場合）とアドレスバッファ３０から入力されるアドレス（リード命令実行時の場合）とのいずれかを選択し、ＳＤＲＡＭ８０に出力する。
【００５９】
書き換えデータバッファ５０は、データ生成部２０から入力された書き換えデータを一時的に保持し、制御部１０の指示に応じて、保持している書き換えデータを所定のタイミングでデータ演算部６０に出力する。
【００６０】
データ演算部６０は、データバッファ７０から入力されるデータに対し、書き換えデータバッファ５０から入力された書き換えデータによって変更を加える。具体的には、データバッファ７０から入力されるデータの一部に対し、書き換えデータを置き換えたり、論理積、論理和あるいは排他的論理和といった論理演算を行う等の処理を行う。そして、データ演算部６０は、制御部１０の指示に応じて、変更後のデータをＳＤＲＡＭ８０に出力する。
【００６１】
データバッファ７０は、制御部１０の指示に応じて読み出された、ＳＤＲＡＭ８０内の書き換え対象となるデータを含む所定データ（例えば、ＳＤＲＡＭ８０における管理単位である３２ビット分のデータ）を一時的に保持し、保持しているデータを所定のタイミングでデータ演算部６０に出力する。
【００６２】
ＳＤＲＡＭ８０は、３２ビットのデータ・バスを備えており、情報処理装置１のワークメモリとして機能する。そのため、ＳＤＲＡＭ８０は、データの書き換えを行う場合に、書き換え対象となるデータを含む３２ビット分の管理単位であるデータをまとめて更新する。
【００６３】
なお、ここでは、汎用的なメモリとしてＳＤＲＡＭを例に挙げたが、メモリとして使用可能なものであればこれに限らず、他の方式のメモリを使用することも可能である。その場合、メモリの種類によってコマンド信号や命令信号の呼称が異なるため、前述した、アクティブコマンド、リードコマンド、ライトコマンド、プリチャージコマンド等の名称を、同等の動作を示す名称に読み替えるものとする。
【００６４】
次に、情報処理装置１において、ライト・モディファイ・リード手法を実行する場合の動作について説明する。
【００６５】
図４は、ライト・モディファイ・リード手法による処理を示すフローチャートである。なお、図４に示すフローチャートは、図２に示すタイミングチャートを実現する処理の一例である。
【００６６】
図４において、ライト・モディファイ・リードが指示されると、情報処理装置１は、データバッファ７０にデータが保持されているか否かの判定を行い（ステップＳ１）、データバッファ７０にデータが保持されていないと判定した場合、ステップＳ１５の処理に移行する。一方、データバッファ７０にデータが保持されていると判定した場合、情報処理装置１は、アクティブコマンドを発行し（ステップＳ２）、１サイクルのウェイト（ＮＯＰの実行）を行う（ステップＳ３）。
【００６７】
なお、ここでは１サイクルのウェイトとしているが、用いるＳＤＲＡＭの仕様に合わせて、２以上のサイクルとしたり、ゼロサイクル（ウェイト無し）とすることもある。このことは、全てのウェイトステップにもあてはまる。
【００６８】
そして、情報処理装置１は、データバッファ７０からデータ演算部６０にデータを出力し（ステップＳ４）、そのデータを、データ生成部２０によって生成された書き換えデータによって書き換え（ステップＳ５）、さらに、ライトコマンド（実際にＳＤＲＡＭ８０にデータを入力して書き込むコマンド）を発行する（ステップＳ６）。
【００６９】
なお、ステップＳ４〜Ｓ６の処理は、並列的に行われる。
【００７０】
続いて、情報処理装置１は、書き込みデータのＳＤＲＡＭ８０へのバースト転送が終了したか否かの判定を行い（ステップＳ７）、バースト転送が終了していないと判定した場合、ステップＳ４の処理に移行する。一方、バースト転送が終了していると判定した場合、1サイクルのウェイトを行う（ステップＳ８）。
【００７１】
そして、情報処理装置１は、データ生成部２０によって生成された書き換えデータに未処理のものがあるか否かの判定を行い（ステップＳ９）、未処理のものがないと判定した場合、情報処理装置１は、プリチャージコマンドを発行し（ステップＳ１０）、１サイクルのウェイトを行った後（ステップ１１）、ライト・モディファイ・リード処理を終了する。
【００７２】
また、ステップＳ９において、未処理のものがあると判定した場合、情報処理装置１は、ロウアドレスの再設定が必要であるか否かの判定を行い（ステップＳ１２）、ロウアドレスの再設定が必要であると判定した場合、情報処理装置１は、プリチャージコマンドを発行し（ステップＳ１３）、１サイクルのウェイトを実行する（ステップＳ１４）。
【００７３】
ステップＳ１４実行後、および、ステップＳ１においてデータバッファ７０にデータが記憶されていないと判定された場合、情報処理装置１は、アクティブコマンドを発行し（ステップＳ１５）、１サイクルのウェイトを行う（ステップＳ１６）。
【００７４】
次に、情報処理装置１は、リードコマンド（ＳＤＲＡＭ８０からデータを直接読み出すコマンド）を発行し（ステップＳ１７）、読み出したデータをデータバッファ７０に保持させる（ステップＳ１８）。
【００７５】
なお、ステップＳ１７，Ｓ１８の処理は、並列的に行われる。
【００７６】
次に、情報処理装置１は、ＳＤＲＡＭ８０からデータバッファ７０へのデータのバースト転送が終了したか否かの判定を行い（ステップＳ１９）、バースト転送が終了していないと判定した場合、ステップＳ１７の処理に移行する。一方、バースト転送が終了していると判定した場合、情報処理装置１は、ステップＳ２０によって必要なサイクル数のウェイトを行ってから、ステップＳ１０の処理に移行する。このとき、ステップＳ２０のウェイトが不要なタイプのＳＤＲＡＭを使用する場合は、実際にはウェイトは行われない。
【００７７】
以上のように、本発明に係る情報処理装置１は、従来用いられていたリード・モディファイ・ライトの機能を、ライト命令を先行すると共に、ライト命令内のライトコマンドの発行完了に続き、直ちに、リード命令のリードコマンドを発行する。即ち、ライト命令のプリチャージコマンドと、リード命令のアクティブコマンドとを発行せずに、ライトコマンドの後、直ちに、リードコマンドが発行される。
【００７８】
そのため、同一のロウアドレスに対するアクセスにおいては不要な処理となる命令間のプリチャージコマンドおよびアクティブコマンドが実行されることを回避できると共に、ＣＡＳレイテンシの影響も回避できる。
【００７９】
したがって、メモリ（ここではＳＤＲＡＭ８０）に記憶されたデータを書き換える処理を、低コストで、かつ、高速なものとすることができる。
【００８０】
また、本発明は、画像の描画に伴うメモリアクセス時に特に有効であり、例えば、情報処理装置１を、図５に示すように、画像処理を行う装置に組み込むことが有効である。なお、図５においては、グラフィックアクセラレータおよび記憶装置からなる部分が本実施の形態における情報処理装置１の機能を実現している。
【図面の簡単な説明】
【００８１】
【図１】プリチャージコマンドおよびアクティブコマンドを省略した場合のタイミングチャートを示す図である。
【図２】ライト命令をリード命令に先行して行う場合のタイミングチャートを示す図である。
【図３】本発明を適用した情報処理装置１の機能構成を示すブロック図である。
【図４】ライト・モディファイ・リード手法による処理を示すフローチャートである。
【図５】本発明を適用した画像処理装置の機能構成例を示す図である。
【図６】従来の情報処理装置において、リード・モディファイ・ライト手法が実行される場合のタイミングチャートを示す図である。
【図７】図６に示すタイミングチャートをフローチャートとして示した図である。
【符号の説明】
【００８２】
１  情報処理装置、１０  制御部、２０  データ生成部、３０  アドレスバッファ、４０  アドレスセレクタ、５０  書き換えデータバッファ、６０  データ演算部、７０  データバッファ、８０  ＳＤＲＡＭ
【図１】
2005215762.tif 000003
【図２】
2005215762.tif 000004
【図３】
2005215762.tif 000005
【図４】
2005215762.tif 000006
【図５】
2005215762.tif 000007
【図６】
2005215762.tif 000008
【図７】
2005215762.tif 000009