(57)【要約】【課題】メモリへのアクセスを確実かつ高速に行う。【解決手段】書き込み処理が指示された場合に、書き込み処理対象となるメモリ要素のアドレス値及びデータをバッファリングするアドレスバッファ回路２２及びデータバッファ回路２４を有し、次に書き込み処理が指示された際に、前回の書き込み処理においてアドレスバッファ回路２２に保持されたアドレス値で特定されるメモリ要素にデータバッファ回路２４に保持されたデータを格納させ、その後新たな書き込み処理の対象となるアドレス値及びデータをアドレスバッファ回路２２及びデータバッファ回路２４にそれぞれ保持させる。これによって、アクセスを確実かつ高速にすることができる。【選択図】図１
2006072444.tif 000002
【特許請求の範囲】
【請求項１】
周期的なクロックに同期して入力される書込／読出フラグに基づいてメモリに対してデータの書き込み処理及び読み出し処理を行うメモリ制御回路であって、
書き込み処理対象となるメモリ要素のアドレス値を受けて、当該アドレス値を一時的に保持及び出力するアドレスバッファ回路と、
書き込み対象となるデータを受けて、当該データを一時的に保持及び出力するデータバッファ回路と、を備え、
書き込み処理が指示された際に、前回の書き込み処理において前記アドレスバッファ回路に保持されたアドレス値で特定されるメモリ要素に前記データバッファ回路に保持されたデータを格納させ、その後新たな書き込み処理の対象となるアドレス値及びデータを前記アドレスバッファ回路及びデータバッファ回路にそれぞれ保持させることを特徴とするメモリ制御回路。
【請求項２】
請求項１に記載のメモリ制御回路において、
前記クロックに同期して書込／読出フラグを保持し、前記クロックの１周期分だけ遅延させて出力するフラグラッチ回路と、
前記フラグラッチ回路から出力される書込／読出フラグが書き込み処理を示している場合に、前記アドレスバッファ回路及び前記データバッファ回路に対して前記クロックの変化より所定時間だけ遅れてアドレス値及びデータのバッファリングを指示する書込信号を出力するコントローラと、を備え、
前記アドレスバッファ回路及び前記データバッファ回路は、前記書込信号が出力されたタイミングに同期してアドレス値及びデータを保持することを特徴とするメモリ制御回路。
【請求項３】
請求項２に記載のメモリ制御回路において、
前記クロックに同期して処理対象となるメモリ要素のアドレス値を保持し、前記クロックの１周期分だけ遅延させて出力するアドレスラッチ回路と、
前記フラグラッチ回路から出力される書込／読出フラグが書き込み処理を示している場合には前記アドレスバッファ回路の出力をメモリのアドレスバスに接続し、前記フラグラッチ回路から出力される書込／読出フラグが読み出し処理を示している場合には前記アドレスラッチ回路の出力をメモリのアドレスバスに接続する第１のスイッチと、
前記フラグラッチ回路から出力される書込／読出フラグが書き込み処理を示している場合には前記データバッファ回路の出力をメモリのデータバスに接続し、前記フラグラッチ回路から出力される書込／読出フラグが読み出し処理を示している場合にはメモリのデータバスを直接外部出力に接続する第２のスイッチと、を備え、
前記アドレスバッファ回路は、前記アドレスラッチ回路から出力されるアドレス値を受けて、当該アドレス値を一時的に保持及び出力することを特徴とするメモリ制御回路。
【請求項４】
書き込み処理対象となるメモリ要素のアドレス値を受けて、当該アドレス値を一時的に保持及び出力するアドレスバッファ回路と、
書き込み対象となるデータを受けて、当該データを一時的に保持及び出力するデータバッファ回路と、
を用いて、周期的なクロックに同期して入力される書込／読出フラグに基づいてメモリに対してデータの書き込み処理及び読み出し処理を行うメモリ制御方法であって、
書き込み処理が指示された際に、前回の書き込み処理において前記アドレスバッファ回路に保持されたアドレス値で特定されるメモリ要素に前記データバッファ回路に保持されたデータを格納させる第１の工程と、
前記第１の工程の後、新たな書き込み処理の対象となるアドレス値及びデータを前記アドレスバッファ回路及びデータバッファ回路にそれぞれ保持させる第２の工程と、
を備えることを特徴とするメモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリへのアクセスを確実かつ高速化できるメモリ制御回路及びメモリ制御方法に関する。
【背景技術】
【０００２】
図３に、メモリに対して電子データを書き込み及び読み出しを行う際に用いられるメモリ制御回路の構成を示す。図３では、２つのメモリ１０ａ，１０ｂに対してアクセスを行う回路を例示している。
【０００３】
メモリ１０ａ，１０ｂは、アドレスバスＡＤＲＳ、データバスＤＡ及び制御信号ラインＣＳ，ＷＥ／ＲＥによって中央処理装置（ＣＰＵ）１２及びアドレスデコーダ１４と接続される。アドレスバスＡＤＲＳは、メモリ１０ａ，１０ｂのアクセス対象となるアドレスをＣＰＵ１２から指定するバスである。データバスＤＡは、メモリ１０ａ，１０ｂから読み出されたデータをＣＰＵ１２に出力する、又は、メモリ１０ａ，１０ｂに書き込まれるデータをＣＰＵ１２から入力するために用いられるバスである。
【０００４】
また、アドレスバスＡＤＲＳは、アドレスデコーダ１４の入力に接続される。アドレスデコーダ１４は、アドレスバスＡＤＲＳに設定されたアドレス値を受けて、メモリ１０ａ，１０ｂのいずれの素子がアクセス対象となるかを決定し、アクセス対象となるチップに接続されたチップセレクトＣＳをアクティブとしてチップを選択する。チップセレクトＣＳがアクティブとなったチップのみが他の信号によって動作を行える状態となる。
【０００５】
このように、ＣＰＵ１２からアドレス値を指定することによって、アクセス対象となるチップが選択され、書込／読出フラグ（ＷＥ／ＲＥフラグ）をローレベル又はハイレベルとすることにより、選択されたチップにおける指定されたアドレスへデータバスＤＡのデータの書き込み、又は、選択されたチップにおける指定されたアドレスからデータバスＤＡへデータの読み出しを行うことができる。
【０００６】
図４に、メモリ１０ａ又は１０ｂにアクセスする際のタイミングチャートを示す。メモリ１０ａ，１０ｂへのアクセスはシステムクロックに同期して行われる。メモリ１０ａ又は１０ｂからデータを読み出す際には、周期Ｔ0においてＣＰＵ１２からアドレスバスＡＤＲＳに読み出し対象となるメモリ要素のアドレス値Ａ０が設定される。それと共に、ＷＥ／ＲＥフラグが読出許可を示すハイレベルとされる。アドレス値Ａ０が設定されると、アドレスデコーダ１４でメモリ１０ａ，１０ｂのいずれかがチップセレクトＣＳにより選択される。そして、選択されたチップにおけるアドレス値Ａ０で特定されるメモリ要素からデータがデータバスＤＡへ読み出される。読み出し処理は比較的高速に行うことができるので、システムクロックの１周期（周期Ｔ0）内に完了することができる。
【０００７】
周期Ｔ1では、メモリ１０ａ又は１０ｂへのデータの書き込みが行われる。システムクロックが立ち上がると、ＣＰＵ１２からアドレスバスＡＤＲＳに書き込み対象となるメモリ要素のアドレス値Ａ１が設定される。それと共に、ＷＥ／ＲＥフラグが書込許可を示すローレベルとされる。アドレス値Ａ１が設定されると、アドレスデコーダ１４でアクセス対象となるチップが選択される。続いて、データバスＤＡに書き込むデータＷ１が設定される。そして、チップの選択がなされた後に、指定されたアドレス値Ａ１のメモリ要素にデータバスＤＡに設定されたデータＷ１が書き込まれる。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところが、上記書き込み処理では、アドレスバスＡＤＲＳへのアドレス値の設定に続いてデータバスＤＡへのデータの設定を行う必要があり、処理をシステムクロックの１周期内（周期Ｔ1）で完了することができない。従って、図４に示すように、周期Ｔ1の書き込み処理に続いて周期Ｔ2において読み出し処理を行おうとすると、周期Ｔ1から開始されたデータの書き込み処理が完了する前にデータの読み出し処理が開始しなくてはならなくなり、書き込み処理と読み出し処理とが重複し、処理エラーが発生してしまう。
【０００９】
これに対して、システムクロックの周期を書き込み処理を行うに十分な時間に延長する対策を採ることができる。しかしながら、システムクロックの周期を長くすると、読み出し処理に不要に時間を掛けることとなり、システム全体として高速のアクセスを実現することができなくなる。また、データバスを２系統以上設けることにより、データの設定を速く行うようにしたデュアルバスメモリも実現されている。しかしながら、メモリの構成が複雑となり素子サイズが増大し、製造コストも増加する等の問題がある。
【００１０】
本発明は、上記従来技術の問題を鑑み、アクセスを確実かつ高速化させたメモリ制御回路及びメモリ制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、周期的なクロックに同期して入力される書込／読出フラグに基づいてメモリに対してデータの書き込み処理及び読み出し処理を行うメモリ制御回路であって、書き込み処理が指示された場合に、書き込み処理対象となるメモリ要素のアドレス値を受けて、当該アドレス値を一時的に保持及び出力するアドレスバッファ回路と、書き込み処理が指示された場合に、書き込み対象となるデータを受けて、当該データを一時的に保持及び出力するデータバッファ回路と、を備え、書き込み処理が指示された際に、前回の書き込み処理において前記アドレスバッファ回路に保持されたアドレス値で特定されるメモリ要素に前記データバッファ回路に保持されたデータを格納させ、その後新たな書き込み処理の対象となるアドレス値及びデータを前記アドレスバッファ回路及びデータバッファ回路にそれぞれ保持させることを特徴とする。
【００１２】
すなわち、書き込み処理が指示された際に、前回の書き込み処理において前記アドレスバッファ回路に保持されたアドレス値で特定されるメモリ要素に前記データバッファ回路に保持されたデータを格納させる第１の工程と、前記第１の工程の後、新たな書き込み処理の対象となるアドレス値及びデータを前記アドレスバッファ回路及びデータバッファ回路にそれぞれ保持させる第２の工程と、を行うことによって、書き込み処理をずらして実行し、メモリへのアクセスを確実かつ高速にすることができる。
【００１３】
より具体的には、前記クロックに同期して書込／読出フラグを保持し、前記クロックの１周期分だけ遅延させて出力するフラグラッチ回路と、前記フラグラッチ回路から出力される書込／読出フラグが書き込み処理を示している場合に、前記アドレスバッファ回路及び前記データバッファ回路に対して前記クロックの変化より所定時間だけ遅れてアドレス値及びデータのバッファリングを指示する書込信号を出力するコントローラと、を備え、前記アドレスバッファ回路及び前記データバッファ回路は、前記書込信号が出力されたタイミングに同期してアドレス値及びデータを保持する。
【００１４】
さらに、前記クロックに同期して処理対象となるメモリ要素のアドレス値を保持し、前記クロックの１周期分だけ遅延させて出力するアドレスラッチ回路と、前記フラグラッチ回路から出力される書込／読出フラグが書き込み処理を示している場合には前記アドレスバッファ回路の出力をメモリのアドレスバスに接続し、前記フラグラッチ回路から出力される書込／読出フラグが読み出し処理を示している場合には前記アドレスラッチ回路の出力をメモリのアドレスバスに接続する第１のスイッチと、前記フラグラッチ回路から出力される書込／読出フラグが書き込み処理を示している場合には前記データバッファ回路の出力をメモリのデータバスに接続し、前記フラグラッチ回路から出力される書込／読出フラグが読み出し処理を示している場合にはメモリのデータバスを直接外部出力に接続する第２のスイッチと、を備え、前記アドレスバッファ回路は、前記アドレスラッチ回路から出力されるアドレス値を受けて、当該アドレス値を一時的に保持及び出力する。
【発明の効果】
【００１５】
本発明によれば、書き込み処理をずらして行うことによって、メモリへのアクセスを確実かつ高速に行うことができる。このとき、メモリ素子や制御素子（ＣＰＵ）は従来と同等の素子を用いることができる。
【発明を実施するための最良の形態】
【００１６】
本発明の実施の形態におけるメモリ制御回路は、図１に示すように、メモリ１０ａ，１０ｂ、ＣＰＵ１２、アドレスデコーダ１４、アドレスラッチ回路２０、アドレスバッファ回路２２、データバッファ回路２４、スイッチ２６，２８、フラグラッチ回路３０及びコントローラ３２を含んで構成される。本実施の形態では、メモリ１０ａ，１０ｂの２つのメモリチップに対してアクセス可能な回路を例として説明を行うが、さらに多くのメモリチップを備える回路においても本発明の思想を適用することができる。なお、図１において、従来のメモリ制御回路と同様の構成要素には同一の符号を付している。
【００１７】
メモリ１０ａ，１０ｂは、アドレスバスＡＤＲＳ、データバスＤＡ及び制御信号ラインＣＳ，ＷＥ／ＲＥによって制御される。メモリ１０ａ，１０ｂは、システムクロックと同一周期を有し、位相が遅れ時間Ｄ１だけ遅れたメモリクロックに同期して書き込み処理及び読み出し処理を行う。メモリ１０ａ，１０ｂは、チップセレクトＣＳがアクティブとなっているときに、書込／読出フラグ（ＷＥ／ＲＥフラグ）がローレベルで入力されるとアドレスバスＡＤＲＳに設定されているアドレス値で特定されるメモリ要素にデータバスＤＡに設定されている書込データを書き込む。また、メモリ１０ａ，１０ｂは、チップセレクトＣＳがアクティブとなっているときに、ＷＥ／ＲＥフラグがハイレベルで入力されるとアドレスバスＡＤＲＳに設定されているアドレス値で特定されるメモリ要素からデータを読み出し、データバスＤＡにそのデータを出力する。
【００１８】
ＣＰＵ１２は、外部から入力されるシステムクロックに応じて、メモリ１０ａ，１０ｂに対する読み出し処理及び書き込み処理を指示する。メモリ１０ａ又は１０ｂからデータを読み出すときには、アドレスバスＡＤＲＳに読み出し対象となるメモリ要素を特定するアドレス値を出力すると共に、ＷＥ／ＲＥフラグをハイレベルにする。メモリ１０ａ又はメモリ１０ｂにデータを書き込むときには、アドレスバスＡＤＲＳに書き込み対象となるメモリ要素を特定するアドレス値を出力し、さらに書き込み対象となるデータをデータバスＤＡに出力すると共に、ＷＥ／ＲＥフラグをローレベルにする。
【００１９】
アドレスデコーダ１４は、アドレス値を受けると、そのアドレス値に基づいてメモリ１０ａ，１０ｂのいずれの素子がアクセス対象となるかを決定し、アクセス対象となるチップに接続されたチップセレクトＣＳをアクティブとしてチップを選択する。チップセレクトＣＳがアクティブとなったチップのみが他の信号によって動作を行える状態となる。
【００２０】
アドレスラッチ回路２０は、ＣＰＵ１２からアドレスバスＡＤＲＳに出力されたアドレス値を受けて、システムクロックの１周期分だけ遅らせてそのアドレス値を出力する。アドレスラッチ回路２０の出力は、スイッチ２６の端子ａ及びアドレスバッファ回路２２に入力される。
【００２１】
アドレスバッファ回路２２は、コントローラ３２からアドレス書込信号を受けると、アドレスラッチ回路２０から入力されたアドレス値をバッファメモリに格納及び保持する。そして、バッファリングされたアドレス値をスイッチ２６の端子ｂへ出力する。
【００２２】
データバッファ回路２４は、コントローラ３２からデータ書込信号を受けると、ＣＰＵ１２からデータバスＤＡに設定された書き込みデータをバッファメモリに格納及び保持する。そして、バッファリングされたデータをスイッチ２８の端子ｃへ出力する。また、ＣＰＵ１２のデータバスＤＡはスイッチ２８の端子ｄへ直接接続される。
【００２３】
スイッチ２６，２８は、コントローラ３２から切替信号を受けて、出力端子と端子ａ，ｄ又はｂ，ｃとを接続する。スイッチ２６の切り替えにより、アドレスラッチ回路２０又はアドレスバッファ回路２２の出力のいずれか一方がメモリ１０ａ，１０ｂのアドレスバスＡＤＲＳ及びアドレスデコーダ１４の入力に接続される。また、データバッファ回路２４の出力又はＣＰＵ１２のデータバスＤＡのいずれか一方がメモリ１０ａ，１０ｂのデータバスＤＡに接続される。
【００２４】
フラグラッチ回路３０は、ＣＰＵ１２から出力されるＷＥ／ＲＥフラグを受けて、システムクロックの１周期分だけ遅らせてその値を出力する。フラグラッチ回路３０の出力は、コントローラ３２及びメモリ１０ａ，１０ｂに入力される。
【００２５】
コントローラ３２は、フラグラッチ回路３０から出力されている１周期前のＷＥ／ＲＥフラグを受けて、アドレスバッファ回路２２、データバッファ回路２４及びスイッチ２６，２８に対してそれぞれアドレス書込信号、データ書込信号及び切替信号を出力する。これらの制御信号の出力タイミングについては後述する。
【００２６】
次に、図２のタイミングチャートを参照して、本実施の形態におけるメモリ制御方法について説明する。図２には、システムクロック、ＷＥ／ＲＥフラグ、ＣＰＵ１２から出力されるバスアドレス値、ＣＰＵ１２のデータバス上のバスデータ値、アドレスラッチ回路２０でラッチ出力されるラッチアドレス、フラグラッチ回路３０でラッチ出力されるラッチＷＥ／ＲＥフラグ、アドレスバッファ回路２２にバッファリングされるバッファアドレス値、データバッファ回路２４にバッファリングされるバッファデータ値、メモリクロック、メモリ１０ａ，１０ｂのデータバス上に出力される読出データ値、及び、メモリ１０ａ，１０ｂのデータバス上に設定される書込データ値が表されている。
【００２７】
ＣＰＵ１２は、システムクロックの各周期Ｔ0，Ｔ1・・・において、メモリ１０ａ，１０ｂに対する書き込み処理又は読み出し処理のアクセスを行う。なお、初期状態では、コントローラ３２からアドレス書込信号及びデータ書込信号は出力されておらず、スイッチ２６は端子ａに接続されており、スイッチ２８は端子ｃに接続されているものとする。
【００２８】
周期Ｔ0では、ＣＰＵ１２は、読み出し処理を行うためにアドレスバスＡＤＲＳに読み出し対象となるメモリ要素を特定するためのアドレス値Ａ０を出力すると共に、ＷＥ／ＲＥフラグを読み出し処理を示すハイレベルに設定する。アドレス値Ａ０及びＷＥ／ＲＥフラグは、アドレスラッチ回路２０及びフラグラッチ回路３０にそれぞれラッチされる。
【００２９】
周期Ｔ1では、アドレスデコーダ１４は、アドレスラッチ回路２０から１周期分だけ遅延されたアドレス値Ａ０を受けて、アドレス値Ａ０に対応するメモリ要素を含むメモリチップに対するチップセレクトＣＳをアクティブにする。そして、フラグラッチ回路３０から１周期分だけ遅延されたラッチＷＥ／ＲＥフラグに従ってスイッチ２８は端子ｄに接続されると共にメモリ１０ａ，１０ｂで読み出し処理が行われる。チップセレクトＣＳによって選択されたメモリ１０ａ又は１０ｂは、アドレスラッチ回路２０から出力されたアドレス値Ａ０を受けて、システムクロックとは遅れ時間Ｄ１だけ位相がずれたメモリクロックに従ってアドレス値Ａ０で特定されるメモリ要素に格納されているデータＲ０を読み出し、データバスＤＡに出力する。
【００３０】
また、ＣＰＵ１２は、書き込み処理を行うためにアドレスバスＡＤＲＳに書き込み対象となるメモリ要素を特定するアドレス値Ａ１を出力すると共に、ＷＥ／ＲＥフラグを書き込み処理を示すローレベルに設定する。アドレス値Ａ１及びＷＥ／ＲＥフラグはアドレスラッチ回路２０及びフラグラッチ回路３０にそれぞれラッチされる。続いて、ＣＰＵ１２はデータバスＤＡに書き込み対象となるデータＷ１を出力する。
【００３１】
データバスＤＡへのデータの設定は、クロックパルスの１周期（周期Ｔ1）内に完了することができず、次の周期（周期Ｔ2）にずれ込んで行われる。従って、周期Ｔ1では、データバスＤＡに読み出されたデータＲ０が出力され、所定の遅れ時間後に書き込み対象となるデータＷ１が設定されることとなる。
【００３２】
周期Ｔ2では、コントローラ３２は、フラグラッチ回路３０から出力されるＷＥ／ＲＥフラグがローレベルになると、切替信号をスイッチ２６，２８へ出力する。スイッチ２６，２８は、切替信号を受けて、端子ｂ及び端子ｃをそれぞれ出力端子に接続する。これによって、アドレスバッファ回路２２の出力がメモリ１０ａ，１０ｂのアドレスバスＡＤＲＳ及びアドレスデコーダ１４に接続され、データバッファ回路２４の出力がメモリ１０ａ，１０ｂのデータバスＤＡに接続される。しかし、現時点でアドレスバッファ回路２２及びデータバッファ回路２４にはアドレス値及びデータはバッファリングされていないので書き込み処理は行われない。
【００３３】
続いて、コントローラ３２は、フラグラッチ回路３０から出力されるＷＥ／ＲＥフラグがローレベルになった時刻から遅れ時間Ｄ２後にアドレス書込信号及びデータ書込信号をアドレスバッファ回路２２及びデータバッファ回路２４へ出力する。これによって、アドレスラッチ回路２０から出力されているアドレス値Ａ１がアドレスバッファ回路２２に格納及び保持され、データバスＤＡに設定されている書き込み対象のデータＷ１がデータバッファ回路２４に格納及び保持される。
【００３４】
このとき、遅れＤ２は、遅れＤ１よりも大きく、データバスＤＡへ書き込みデータＷ１が設定され続けている次の周期（周期Ｔ2）へのずれ込み時間Ｄ３よりも小さくすることが好適である。
【００３５】
一方、ＣＰＵ１２は、システムクロックに同期して、読み出し処理を行うためにアドレスバスＡＤＲＳに読み出し対象となるメモリ要素を特定するアドレス値Ａ２を出力すると共に、ＷＥ／ＲＥフラグを書き込み処理を示すハイレベルに設定する。アドレス値Ａ２及びＷＥ／ＲＥフラグはアドレスラッチ回路２０及びフラグラッチ回路３０にそれぞれラッチされる。
【００３６】
周期Ｔ3では、コントローラ３２は、フラグラッチ回路３０から出力されるＷＥ／ＲＥフラグがハイレベルになると切替信号を停止させる。スイッチ２６，２８は、端子ａ及び端子ｄをそれぞれ出力端子に接続する。これによって、アドレスラッチ回路２０の出力がメモリ１０ａ，１０ｂのアドレスバスＡＤＲＳ及びアドレスデコーダ１４に接続され、ＣＰＵ１２のデータバスＤＡがメモリ１０ａ，１０ｂのデータバスＤＡに直接接続される。
【００３７】
アドレスデコーダ１４は、アドレスラッチ回路２０から１周期分だけ遅延されたアドレス値Ａ２を受けて、アドレス値Ａ２に対応するメモリ要素を含むメモリチップに対するチップセレクトＣＳをアクティブにする。そして、フラグラッチ回路３０から１周期分だけ遅延されたラッチＷＥ／ＲＥフラグに従ってメモリ１０ａ，１０ｂで読み出し処理が行われる。チップセレクトＣＳによって選択されたメモリ１０ａ又は１０ｂは、アドレスラッチ回路２０から出力されたアドレス値Ａ２を受けて、メモリクロックに従ってアドレス値Ａ２で特定されるメモリ要素に格納されているデータＲ２を読み出し、データバスＤＡに出力する。
【００３８】
また、ＣＰＵ１２は、書き込み処理を行うためにアドレスバスＡＤＲＳに書き込み対象となるメモリ要素を特定するアドレス値Ａ３を出力すると共に、ＷＥ／ＲＥフラグを書き込み処理を示すローレベルに設定する。アドレス値Ａ３及びＷＥ／ＲＥフラグはアドレスラッチ回路２０及びフラグラッチ回路３０にそれぞれラッチされる。続いて、データバスＤＡに書き込み対象となるデータＷ３が出力される。このときも、周期Ｔ1と同様に、データバスＤＡへのデータの設定は次の周期（周期Ｔ4）にずれ込んで行われる。
【００３９】
周期Ｔ4では、コントローラ３２は、フラグラッチ回路３０から出力されるＷＥ／ＲＥフラグがローレベルになると切替信号をスイッチ２６，２８へ出力する。スイッチ２６，２８は、切替信号を受けて、端子ｂ及び端子ｃをそれぞれ出力端子に接続する。これによって、アドレスバッファ回路２２の出力がメモリ１０ａ，１０ｂのアドレスバスＡＤＲＳ及びアドレスデコーダ１４に接続され、データバッファ回路２４の出力がメモリ１０ａ，１０ｂのデータバスＤＡに接続される。
【００４０】
アドレスバッファ回路２２及びデータバッファ回路２４にはアドレス値Ａ１及びデータＷ１がバッファリングされている。アドレスデコーダ１４は、アドレスバッファ回路２２からアドレス値Ａ１を受けて、アドレス値Ａ１に対応するメモリ要素を含むメモリチップに対するチップセレクトＣＳをアクティブにする。そして、フラグラッチ回路３０から１周期分だけ遅延されたラッチＷＥ／ＲＥフラグに従ってメモリ１０ａ，１０ｂで書き込み処理が行われる。チップセレクトＣＳによって選択されたメモリ１０ａ又は１０ｂは、アドレスバッファ回路２２から出力されたアドレス値Ａ１を受けて、メモリクロックに従ってアドレス値Ａ１で特定されるメモリ要素にデータバッファ回路２４から出力されたデータＷ１を格納する。
【００４１】
続いて、コントローラ３２は、フラグラッチ回路３０から出力されるＷＥ／ＲＥフラグがローレベルになった時刻から遅れ時間Ｄ２後にアドレス書込信号及びデータ書込信号をアドレスバッファ回路２２及びデータバッファ回路２４へ出力する。これによって、アドレスラッチ回路２０から出力されているアドレス値Ａ３がアドレスバッファ回路２２に格納及び保持され、データバスＤＡに設定されている書き込み対象のデータＷ３がデータバッファ回路２４に格納及び保持される。
【００４２】
一方、ＣＰＵ１２は、システムクロックに同期して、次の書き込み処理を行うためにアドレスバスＡＤＲＳに書き込み対象となるメモリ要素を特定するアドレス値Ａ４を出力すると共に、ＷＥ／ＲＥフラグを書き込み処理を示すローレベルに維持する。アドレス値Ａ４及びＷＥ／ＲＥフラグはアドレスラッチ回路２０及びフラグラッチ回路３０にそれぞれラッチされる。
【００４３】
周期Ｔ5では、コントローラ３２は、フラグラッチ回路３０から出力されるＷＥ／ＲＥフラグがローレベルであるので切替信号をスイッチ２６，２８へ出力する。スイッチ２６，２８は、切替信号を受けて、端子ｂ及び端子ｃをそれぞれ出力端子に接続し続ける。
【００４４】
アドレスバッファ回路２２及びデータバッファ回路２４にはアドレス値Ａ３及びデータＷ３がバッファリングされている。従って、周期Ｔ4と同様の処理によって、アドレス値Ａ３で特定されるメモリ要素にデータＷ３が書き込まれる。
【００４５】
続いて、コントローラ３２は、遅れ時間Ｄ２後にアドレス書込信号及びデータ書込信号をアドレスバッファ回路２２及びデータバッファ回路２４へ出力する。これによって、アドレスラッチ回路２０から出力されているアドレス値Ａ４がアドレスバッファ回路２２に格納及び保持され、データバスＤＡに設定されている書き込み対象のデータＷ４がデータバッファ回路２４に格納及び保持される。
【００４６】
また、ＣＰＵ１２は、システムクロックに同期して、次の読み出し処理を行うためにアドレスバスＡＤＲＳに読み出し対象となるメモリ要素を特定するアドレス値Ａ５を出力すると共に、ＷＥ／ＲＥフラグを読み出し処理を示すハイレベルに設定する。アドレス値Ａ５及びＷＥ／ＲＥフラグはアドレスラッチ回路２０及びフラグラッチ回路３０にそれぞれラッチされる。
【００４７】
周期Ｔ6では、コントローラ３２は、フラグラッチ回路３０から出力されるＷＥ／ＲＥフラグがハイレベルになると切替信号を停止させる。スイッチ２６，２８は、端子ａ及び端子ｄをそれぞれ出力端子に接続する。これによって、アドレスラッチ回路２０の出力がメモリ１０ａ，１０ｂのアドレスバスＡＤＲＳ及びアドレスデコーダ１４に接続され、ＣＰＵ１２のデータバスＤＡがメモリ１０ａ，１０ｂのデータバスＤＡに直接接続される。
【００４８】
アドレスデコーダ１４は、アドレスラッチ回路２０から１周期分だけ遅延されたアドレス値Ａ５を受けて、アドレス値Ａ５に対応するメモリ要素を含むメモリチップに対するチップセレクトＣＳをアクティブにする。そして、フラグラッチ回路３０から１周期分だけ遅延されたラッチＷＥ／ＲＥフラグに従ってメモリ１０ａ，１０ｂで読み出し処理が行われる。チップセレクトＣＳによって選択されたメモリ１０ａ又は１０ｂは、アドレスラッチ回路２０から出力されたアドレス値Ａ５を受けて、メモリクロックに従ってアドレス値Ａ５で特定されるメモリ要素に格納されているデータＲ５を読み出し、データバスＤＡに出力する。
【００４９】
以下、周期Ｔ7以降も上記周期Ｔ1〜Ｔ6の処理と同様にＷＥ／ＲＥフラグの変化に応じて書き込み処理又は読み出し処理を続行することができる。
【００５０】
以上のように、本実施の形態によれば、書き込み処理対象となるアドレス値及びデータ値をバッファリングしておくことにより、書き込み処理に続いて読み出し処理が指示された場合でも読み出し処理の次の書き込み処理においてバッファリングされているアドレス値及びデータ値を用いて書き込み処理を行うことができる。これによって、確実かつ高速にメモリへのアクセスを行うことができる。
【図面の簡単な説明】
【００５１】
【図１】本発明の実施の形態におけるメモリ制御回路の構成を示す図である。
【図２】本発明の実施の形態におけるメモリ制御のタイミングチャートを示す図である。
【図３】従来のメモリ制御回路の構成を示す図である。
【図４】従来のメモリ制御のタイミングチャートを示す図である。
【符号の説明】
【００５２】
１０ａ，１０ｂ  メモリ、１４  アドレスデコーダ、２０  アドレスラッチ回路、２２  アドレスバッファ回路、２４  データバッファ回路、２６，２８  スイッチ、３０  フラグラッチ回路、３２  コントローラ。
【図１】
2006072444.tif 000003
【図２】
2006072444.tif 000004
【図３】
2006072444.tif 000005
【図４】
2006072444.tif 000006