(57)【特許請求の範囲】
【請求項１】
２つの周辺装置とのデータ送受の速度差を吸収するために１ポートメモリを用いたバッファ制御において、
アクセスを優先する側のデータ読み出しに対して、出力するデータを一時的に保持する読み出しデータ保持手段と、
優先側の読み出し時に前記メモリのアドレスを次のアクセスで読み出すアドレスに更新するアドレス更新手段と、
アドレスが更新された直後を優先して前記メモリから更新アドレスのデータ読み出しを行うアクセス調停手段と、
優先読み出しされた更新アドレスのデータである先読みデータを一時的に保持する先読みデータ保持手段と、
前記読み出しデータ保持手段へのデータ保持タイミングが、優先側の一回前の読み出し時の先読みデータを、既に先読みデータ保持手段に保持し終わっているタイミングの場合には先読みデータ保持手段の出力データを選択し、前記読み出しデータ保持手段へのデータ保持タイミングが、優先側の一回前の読み出し時の先読みデータを、前記先読みデータ保持手段に保持させるタイミングと重なった場合には前記１ポートメモリの出力データを選択する選択手段とを備え、
前記読み出しデータ保持手段は前記選択手段の出力を保持して読み出し応答するメモリアクセス装置。
【請求項２】
アクセス調停手段は、２つのアクセス系のどちらもアクセス要求がない場合には優先する側のアドレスをメモリに供給し、先読みデータ保持手段は、優先側のアドレスがメモリに供給されて読み出されたデータを常に取り込んで保持する請求項１記載のメモリアクセス装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マイコンと周辺回路とのデータ転送速度の速度差を吸収するためのバッファに１ポートメモリを用いて構成した場合に適用して好適なメモリアクセス装置に関する。
【０００２】
【従来の技術】
フラッシュメモリカード等を用いる機器では、カードとマイコンとの間でデータ転送を行うインターフェース回路が必要になる。一般にバス幅も小さく転送速度の遅いメモリカードに対して、アプリケーションも実行するマイコンは高速な場合が多い。低速なメモリカードとのデータ転送によって機器全体の能力低下を招いてしまわないように、インターフェース回路では転送速度差を吸収するためのバッファが設けられているのが普通であり、そのバッファはホストマイコン側のアクセスに対して最速に応答できることが望ましい。
【０００３】
まず、従来のバッファ構成について説明する。図４はバッファメモリに２ポートメモリを用いたメモリアクセス装置を示すブロック図である。図４において、システムバス（system bus）１はアドレス、データ、リード・ライト信号等からなるホストマイコン（図示せず）の外部バスであり、デコーダ（アドレスＤＥＣ）２はシステムバス１のアドレス値をデコードする回路であり、タイミング回路（Timing）３はアドレス指定に従ってメモリアクセスするための制御パルスを生成する回路であり、入出力回路（Ｉ／Ｏ）４はシステムバス１のデータバスに対してデータを入出力する回路であり、アドレスカウンタ５はバッファメモリのアドレスを生成するアドレスカウンタであり、バッファメモリ６は速度差吸収用のバッファ本体である２ポートメモリである。
【０００４】
以上のような構成で、ホストマイコンがバッファをアクセスする場合のタイミングを図５に示す。この例のメモリはアドレスに対して１クロック後にデータ出力される同期型のメモリであり、ホストマイコンからはＦＩＦＯ（First In First Out）構成としてマッピングされているものとしている。
【０００５】
まずホストマイコンのバッファリードにより立ち下がるリードパルスＲＥに同期してタイミング回路３が入出力回路４を出力許可してメモリの読み出しデータをシステムバス１のデータバスに出力する。ホストマイコンはデータの取り込みと同時にリードパルスＲＥを立ち上げてリードサイクルを終了する。このリードパルスＲＥの立ち上がりによりタイミング回路３はアドレスカウンタ５に対してインクリメントパルスを出力してメモリアドレスを更新する。このようにして一回のアクセスを完了する。次のマイコンアクセス時にはアドレスが更新されているのでメモリの読み出し準備は完了していることになる。
【０００６】
以上のように２ポートメモリを用いたバッファ構成の場合には、基本的に２つの経路からのアクセスが同時かつ非同期なタイミングで行えるため、ホストマイコン側のアクセスが周辺回路側のアクセスに全く邪魔されることなく独立している。よって、図６のタイミング例では最短２クロックのアクセスサイクルであってもデータの読み書きを実行できる。
【０００７】
【発明が解決しようとする課題】
しかしながら２ポートメモリは高コストの要因となるという課題がある。本来、速度差吸収用のバッファであるから、どちらかのアクセス頻度が低く、頻度の高い（優先度の高い）アクセスの合間にアクセスすれば効果的であり、アクセスを調停することで１ポートのメモリを用いれば低コスト化できる。
【０００８】
しかし、ホストマイコンと周辺回路では全く非同期にアクセスされるため、たとえホストマイコン側のアクセス優先度を高くしたとしても１ポートメモリの場合には、例えば周辺回路側のアクセス中にホストマイコンからのアクセス要求があった場合などにアクセス調停時間に相当するウェイトステートをホストマイコンに対して挿入する必要がある。
【０００９】
本発明は前記課題に鑑み、低コストな１ポートのメモリを用いながら、優先度の高い側のアクセスに対してウェイト挿入する必要が全くなく、同時にメモリの応答限界まで高速アクセスができて不必要なアクセスサイクルの増加が全く必要ないメモリアクセス装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
この課題を解決するために本発明のメモリアクセス装置は、アクセスを優先する側のデータ読み出しに対して、メモリ（１ポートメモリ）から出力するデータを一時的に保持する読み出しデータ保持手段と、優先側の読み出し時にメモリのアドレスを次のアクセスで読み出すアドレスに更新するアドレス更新手段と、アドレスが更新された直後を優先してメモリから更新アドレスの読み出しを行うアクセス調停手段と、優先読み出しされた更新アドレスのデータである先読みデータを一時的に保持する先読みデータ保持手段とを備えて先読み動作を行うとともに、読み出しデータ保持手段へのデータ保持タイミングが、優先側の一回前の読み出し時の先読みデータを、既に先読みデータ保持手段に保持し終わっているタイミングの場合には先読みデータ保持手段の出力データを選択し、読み出しデータ保持手段へのデータ保持タイミングが、優先側の一回前の読み出し時の先読みデータを、先読みデータ保持手段に保持させるタイミングと重なった場合にはメモリの出力データを選択する選択手段とを備えたものである。
【００１１】
【発明の実施の形態】
本発明は、２つの周辺装置間のデータ送受の速度差を吸収するために１ポートメモリを用いたバッファ制御において、アクセスを優先する側のデータ読み出しに対して、出力するデータを一時的に保持する読み出しデータ保持手段と、優先側の読み出し時に前記メモリのアドレスを次のアクセスで読み出すアドレスに更新するアドレス更新手段と、アドレスが更新された直後を優先して前記メモリから更新アドレスのデータ読み出しを行うアクセス調停手段と、優先読み出しされた更新アドレスのデータである先読みデータを一時的に保持する先読みデータ保持手段と、前記読み出しデータ保持手段へのデータ保持タイミングが、優先側の一回前の読み出し時の先読みデータを、既に先読みデータ保持手段に保持し終わっているタイミングの場合には先読みデータ保持手段の出力データを選択し、前記読み出しデータ保持手段へのデータ保持タイミングが、優先側の一回前の読み出し時の先読みデータを、前記先読みデータ保持手段に保持させるタイミングと重なった場合には前記１ポートメモリの出力データを選択する選択手段とを備え、前記読み出しデータ保持手段は前記選択手段の出力を保持して読み出し応答するものである。
【００１２】
また、本発明は上記発明に加え、アクセス調停手段は、２つのアクセス系のどちらもアクセス要求がない場合には優先する側のアドレスをメモリに供給し、先読みデータ保持手段は、優先側のアドレスがメモリに供給されて読み出されたデータを常に取り込んで保持するものである。
【００１３】
以下、本発明の実施の形態について、図面を用いて説明する。
【００１４】
（実施の形態）
図１は本発明の実施の形態によるメモリアクセス装置の構成を示すブロック図である。なお、従来例（図４）と構成が同じものには同一符号を付け説明を省略する。
【００１５】
図１において、保持回路７はホストマイコン（図示せず）からの読み出しに対して、出力するデータを保持しておく読み出しデータの保持器、バッファメモリ（以下、単にメモりと称す）８はバッファ本体である１ポートメモリ、選択回路９はメモリ８へのアクセスをホストマイコンと別系の周辺回路（図示せず）とで切り換える切換器、保持回路１０はホストマイコン側が読み出したアドレスのデータを保持する先読みデータの保持器、選択回路１１は、保持回路７にホールドさせるデータを保持回路１０のデータとメモリ８の出力とで切り換える切換器、タイミング回路１２はホストマイコンからの読み出し動作に応じて、保持回路７へのデータ保持パルスを生成して読み出しデータを確定させながらカウンタ５を更新させて次のアドレスを生成し、アドレス更新に合わせて選択回路９をホストマイコン側に優先的に切り換えて先読みアクセスを行い、保持回路１０に先読みデータを保持させるタイミングパルスを生成するタイミング管理回路である。
【００１６】
以上のような構成でのホストマイコンからアクセスについて、図２のタイミング図を使って説明する。まずホストマイコンの読み出しパルスＲＥの立ち下がりに同期してタイミング回路１２がアドレスカウンタ５のカウントアップと保持回路７への保持パルス（ｉｎｃ）を生成する。これにより、ホストマイコンへの読み出しデータ出力は保持回路７に確定される。同時にアドレス値は次にアクセスされるアドレスに更新される。次にタイミング回路１２はアドレスが更新された直後のタイミングにアドレス切換パルスを生成して選択回路９を制御することにより、メモリ８への供給アドレスを更新されたばかりのアドレスカウンタ５の出力に切り換える。これにより、メモリ８からは１クロック後に更新アドレスのデータが出力されてくるので、そのタイミングに合わせてタイミング回路１２は保持回路１０への保持パルスを生成し、読み出したデータを保持回路１０にホールドさせる。
【００１７】
以上の動作によって、ホストマイコンの読み出しに対して先に読み出しておいたデータを出力しながら、その裏で次のデータの先読み動作を行っている。よって、次のホストマイコンの読み出し時には、読み出しパルスＲＥの立ち下がりに同期した保持パルス（ｉｎｃ）によって、前回先読みした保持回路１０のデータを保持部回路に取り込んで出力確定させることで、ホストマイコンに対して最も速く応答することができる。
【００１８】
以上のようにしてホストマイコンに対して先読みしたデータをいち早く返答することで応答速度を最大限に速めている。さらにホストマイコンのアクセスサイクルが短くなり、図２に示すように保持回路７への保持パルス（ｉｎｃ）と保持回路１０への保持パルスが同一タイミングになった場合には、選択回路１１を制御して保持回路７にも保持回路１０と同じようにメモリ８出力を直接ホールドさせる。これによりメモリ応答限界のアクセスサイクルであってもホストマイコンに正常に応答させるものである。
【００１９】
また、優先度を高く設定したホストマイコン側のメモリアクセスは図２に示すようにホストマイコンの一回のアクセスサイクル中に１クロックだけであり、図中に斜線部で示すＲＡＭアドレスやＲＡＭデータのタイミングは使用していない。この期間（つまりアドレス更新直後以外）に周辺回路がメモリ８にアクセスすることで１ポートメモリでも適切なバッファを構成できる。
【００２０】
なお、回路の初期状態でも保持回路１０に正しい先読みデータを保持して、ホストマイコンの初回アクセスにおいても正しい先読みデータを返答するためには、図３に示すように優先度の高いホスト側のアクセスリクエスト（ｒｅｑ−Ａ）も優先度の低い周辺回路側のアクセスリクエスト（ｒｅｑ−Ｂ）もない場合には優先度の高い側のアドレスをメモリ８に供給し、そのような場合のメモリ出力も保持回路１０で保持するようにしておくことにより、カウンタ５が初期状態の場合であってもそのアドレスのデータを先読みデータの保持回路１０に確実に取り込んでおくことができる。
【００２１】
このように、１ポートメモリでありながらホストマイコンへのウェイトステート挿入がなく、メモリの応答限界に相当する最速応答が可能な速度吸収用のバッファを構成できるものである。
【００２２】
【発明の効果】
以上のように本発明によれば、１ポートメモリでも適切なタイミングでメモリを優先先読みすることによってホストマイコンに対してウェイトステートを挿入することなく最速で応答でき、同時にアクセス調停用の固定ステートを追加することなくメモリの応答限界に相当するアクセスサイクルであっても正常に応答できるものである。このように非常に簡単な構成で２ポートメモリと同じパフォーマンスを得ることができ、その効果は大きい。
【図面の簡単な説明】
【図１】本発明の実施の形態によるメモリアクセス装置の構成を示すブロック図
【図２】同メモリアクセス装置のアクセスタイミング図
【図３】同メモリアクセス装置のアクセス調停タイミング図
【図４】従来のメモリアクセス装置の構成を示すブロック図
【図５】従来のメモリアクセス装置のアクセスタイミング図
【符号の説明】
１  システムバス
２  アドレスデコーダ
３  タイミング回路
４  入出力回路
５  アドレスカウンタ
６  メモリ（２ポート）
７  保持回路
８  メモリ（１ポート）
９  選択回路
１０  保持回路
１１  選択回路
１２  タイミング回路
【図１】
0003800934.tif 000002
【図２】
0003800934.tif 000003
【図３】
0003800934.tif 000004
【図４】
0003800934.tif 000005
【図５】
0003800934.tif 000006