(57)【要約】【課題】ＣＰＵ１２とメモリ１４間にあって、ライトバッファ１８を介してメモリ１４に対するデータの書き込みを可能とするメモリ制御回路１０において、メモリ１４の持つ機能を有効に利用して書き込み時間の短縮を図る。【解決手段】メモリ１４として、複数のバンクから構成されるとともに、連続的なアクセスを可能とするバースト機能を備えたＳＤＲＡＭを使用する。更に、ＣＰＵ１２から出力されたデータ２２をライトバッファ１８に書き込むのみ先立ってアドレス２４の連続性について調べ、その連続性に関する情報を書込み用データ２２と対にして格納する。一方、ライトバッファ１８から読み出した情報からアドレス２４の連続性が判定されると、バースト動作によるデータの連続的な書き込み或いはバンクを単位とした書き込みを選択して実行させる。【選択図】  図１
2004199608.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵ（１２）とメモリ（１４）間にあって、ライトバッファ（１８）を介してメモリ（１４）に対するデータの書き込みを制御可能とするメモリ制御回路において、
前記ライトバッファ（１８）中に、
１回のアクセスで書き込まれる書込み用データ（２２）と、該書込み用データ（２２）のアドレス（２４）と、前回に書き込まれたデータが格納されるアドレスとの変更関係を示す情報と、を互いに関連付けて格納する一方、
該ライトバッファ（１８）中に格納されたアドレス（２４）の変更関係を示す情報に基づき、メモリ（１４）に対するデータの書き込み手順を制御することを特徴とするメモリ制御回路。
【請求項２】
前記メモリ（１４）は、複数のバンクから構成され、アクセスするバンクを変更する毎にバンクを特定する上位側のアドレスの指定を必要とするともに、同一バンク内に対するデータ書き込み時には連続的なアクセスを可能とするバースト機能を備えたＤＲＡＭであって、
前記アドレスの変更関係を示す情報として、同一バンク内でアドレスが連続するか否かを示す第１の情報Ｓ１を備え、
該第１の情報Ｓ１に基づき、バーストアクセスを行うか否かを判定することを特徴とする請求項１記載のメモリ制御回路。
【請求項３】
前記アドレスの変更関係を示す情報として、前回に書き込まれたデータが格納されるバンクと同一か否かを示す第２の情報Ｓ２を備え、
該第２の情報Ｓ２に基づき、上位側のアドレスの指定を伴うアクチベーションを行うか否かを判定することを特徴とする請求項２記載のメモリ制御回路。
【請求項４】
ＣＰＵ（１２）から出力される書込み用データ（２２）と、該書込み用データ（２２）を格納すべきメモリ（１４）側のアドレス（２４）とを一時格納可能とするライトバッファ（１８）と、
該ライトバッファ（１８）に格納された書込み用データ（２２）をメモリ（１４）に対して書き込むための制御用の信号群を形成可能とするメモリコントローラ（２０）と、
ＣＰＵ（１２）から出力されるアドレス（２４）の変更状態を判定可能とするアドレス判定部（１６）と、を備えたメモリ制御回路であって、
前記メモリ（１４）は、複数のバンクから構成され、アクセスするバンクを変更する毎にバンクを特定する上位側のアドレスの指定を必要とするともに、同一バンク内に対するデータ書き込み時には連続的なアクセスを可能とするバースト機能を備えたＤＲＡＭであり、
前記アドレス判定部（１６）において、ＣＰＵ（１２）から書込み用データ（２２）が出力される毎に、アドレス（２４）の連続性に関する第１の情報Ｓ１を出力可能とし、
前記ライトバッファ（１８）には、該第１の情報Ｓ１を書込み用データ（２２）に対応させて格納可能とする一方、
前記メモリコントローラ（２０）では、前記ライトバッファ（１８）から前記第１の情報Ｓ１を取り出すととともに、該取り出した第１の情報Ｓ１によりアドレス（２４）が連続性を示すことが判定されると、メモリ（１４）に対してバーストアクセスを行わせる制御信号を出力することを特徴とするメモリ制御回路。
【請求項５】
前記アドレス判定部（１６）において、ＣＰＵ（１２）から書込み用データ（２２）が出力される毎に、アクセスするバンクの同一性に関する第２の情報Ｓ２を出力可能とし、
前記ライトバッファ（１８）には、該第２の情報Ｓ２を書込み用データ（２２）に対応させて格納可能とする一方、
前記メモリコントローラ（２０）では、前記ライトバッファ（１８）から前記第２の情報Ｓ２を取り出すととともに、該取り出した第２の情報Ｓ２によりバンクの同一性を示すことが判定されると、メモリ（１４）に対して下位側のアドレスのみを指定してアクセスすることを特徴とする請求項４記載のメモリ制御回路。
【請求項６】
前記アドレス判定部（１６）は、
入力されたアドレス（２４）に設定値を加える加算手段（２６）と、
該加算手段（２６）から出力されるアドレス（２４ａ）を、次回のアドレス入力まで保持する保持手段（２８）と、
該保持手段（２８）中のアドレス（２４ａ）と入力されたアドレス（２４）とを比較し、両者が一致すると所定の信号を出力する比較手段（３０）とを備え、
前記上位側のアドレスについては、前記アドレス加算手段（２６）においてアドレスの加算をすることなく、前後２回のアドレス入力を比較手段（３０）で比較し、両者が一致すると前記第２の情報Ｓ２を出力し、
前記下位側のアドレスについては、入力されたアドレスと前記加算手段（２６）で加算されたアドレスとが比較手段（３０）によって比較されて書き込みアドレスの連続関係が判定され、且つ、前記第２の情報Ｓ２が出力されると前記第１の情報Ｓ１を出力することを特徴とする請求項５記載のメモリ制御回路。
【請求項７】
前記メモリ（１４）はビデオメモリである請求項６記載のメモリ制御回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はメモリの制御回路であって、特にＣＰＵからメモリに対するデータの書き込み時において、バッファメモリを介して行うものに関する。
【０００２】
【従来の技術】
従来この種のメモリ制御回路に備えるバッファメモリは、アドレスの連続性を無視し、専らＣＰＵからメモリに対するデータの書き込み時におけるタイミングの調整を目的としたものが一般的であり、メモリが持つ機能が有効に利用されたものではなかった（例えば、特許文献１参照）。
【０００３】
【特許文献１】
特開昭５５−１０５８８１号公報
【０００４】
【発明が解決しようとする課題】
本発明者は、ＣＰＵとメモリ間に設けるライトバッファ中に、ＣＰＵからメモリに向けて出力されるデータ群に加えて、データの書き込みアドレスが同一バンク内にあるか、あるいは更に同一バンク内でアドレスが連続しているか否かに関するアドレスの変更状態を示す情報を予め格納しておき、その情報を用いることによってメモリの機能が有効に利用され、高速にデータの書き込み処理が行えることを知見した。
【０００５】
本発明はかかる知見に基づいてなされたものであって、ＣＰＵから出力されたデータをライトバッファに書き込むのみ先立ってアドレスの変更状態について調べ、その情報を書込み用データと対にして格納する一方、その情報から同一バンク内におけるアドレスの連続性あるいは非連続性が判定されると、バースト動作あるいは再アクチベーションを伴わないデータの書き込みを選択して実施させることにより、メモリの持つ機能が有効に利用されて書き込み時間の短縮が図れるメモリ制御回路を提供することを目的とする。
【０００６】
【課題を解決するための手段】
本発明にかかるメモリ制御回路１０は、図１にその全体的な構成を概略的に示す如く、ＣＰＵ１２とメモリ１４間にあって、ライトバッファ１８を介してメモリ１４に対するデータの書き込みを可能とするものである。
【０００７】
本発明にあっては、更にライトバッファ１８中に、１回のアクセスで書き込まれる書込み用データ２２と、その書込み用データ２２のアドレス２４と、前回に書き込まれたデータが格納されるアドレスとの変更関係を示す情報とを互いに関連付けて格納する。一方、ライトバッファ１８中に格納されたアドレス２４の変更関係を示す情報に基づき、メモリ１４に対するデータの書き込み手順を制御することを特徴とする。
【０００８】
上記したメモリ１４は、複数のバンクから構成され、アクセスするバンクを変更する毎にバンクを特定する上位側のアドレスの指定を行う再アクチベーション動作を必要とするが、同一バンク内にあっては下位側のアドレスの指定のみで書き込みが行われるものである。更に、同一バンク内における連続したアドレスに対するデータ書き込み時には、最初に下位側のアドレスを指定するだけでその後はアドレスを指定することなく連続的なアクセスを可能とするバースト機能を備えたＤＲＡＭに適用されることが好ましい。
【０００９】
そして、ライトバッファ１８中には更に、上記したアドレスの変更関係を示す情報として、同一バンク内でアドレスが連続するか否かを示す第１の情報Ｓ１を備え、その第１の情報Ｓ１に基づいてバーストアクセスを行うか否かを判定することを特徴とする。
【００１０】前記したアドレスの変更関係を示す情報として、前回に書き込まれたデータが格納されるバンクと同一か否かを示す第２の情報Ｓ２を更に備え、その第２の情報Ｓ２に基づき、上位側のアドレスの指定を伴うアクチベーションを行うか否かを判定することも行われる。
【００１１】
ここで、本発明にかかるメモリ制御回路１０は、図１に示す如く、ＣＰＵ１２から出力される書込み用データ２２と、その書込み用データ２２を格納すべきメモリ１４側のアドレス２４とを一時格納可能とするライトバッファ１８と、そのライトバッファ１８に格納された書込み用データ２２をメモリ１４に対して書き込むための制御用の信号群を形成可能とするメモリコントローラ２０と、ＣＰＵ１２から出力されるアドレス２４の変更状態を判定可能とするアドレス判定部１６とを備えている。
【００１２】
そしてアドレス判定部１６において、図２に例示する如く、ＣＰＵ１２から書込み用データ２２が出力される毎に、アドレス２４の連続性に関する第１の情報Ｓ１を出力可能とし、ライトバッファ１８には、その第１の情報Ｓ１を書込み用データ２２に対応させて格納可能とする。更にメモリコントローラ２０では、前記したライトバッファ１８から第１の情報Ｓ１を取り出すととともに、その取り出した第１の情報Ｓ１によりアドレス２４の連続性を示すことが判定されると、メモリ１４に対してバーストアクセスを行わせる制御信号を出力する。
【００１３】
またアドレス判定部１６において、ＣＰＵ１２から書込み用データ２２が出力される毎に、アクセスするバンクの同一性に関する第２の情報Ｓ２を出力可能とし、ライトバッファ１８には、その第２の情報Ｓ２を書込み用データ２２に対応させて格納可能とする一方、メモリコントローラ２０では、前記したライトバッファ１８から第２の情報Ｓ２を取り出すととともに、その取り出した第２の情報Ｓ２によりバンクの同一性を示すことが判定されると、メモリ１４に対して下位側のアドレスのみを指定してアクセスする。
【００１４】
ここでアドレス判定部１６は、入力されたアドレス２４に設定値を加える加算手段２６と、その加算手段２６から出力されるアドレス２４ａを、次回のアドレス入力まで保持する保持手段２８と、その保持手段２８中のアドレス２４ａと入力されたアドレス２４とを比較し、両者が一致すると所定の信号を出力する比較手段３０とを備える。
【００１５】
そして上位側のアドレスについては、前記したアドレス加算手段２６においてアドレスの加算をすることなく、前後２回分のアドレス入力を比較手段３０で比較し、両者が一致すると第２の情報Ｓ２を出力する。また下位側のアドレスについては、入力されるアドレスと加算手段２６により加算されたアドレスとが比較手段３０によって比較されて書き込みアドレスの連続関係が判定され、且つ、前記した第２の情報Ｓ２が出力されると、その判定状態に対応した第１の情報Ｓ１を出力する。
【００１６】
メモリ１４がビデオメモリである場合、データの読み出し処理が優先されるため、データの書き込み処理がより高速にデータ処理されることが好ましく、特に有効となる。
【００１７】
【発明の効果】
本発明は上記のごとく、ＣＰＵ１２から出力された書込み用データ２２をライトバッファ１８に書き込むのみ先立って、アドレス２４の変更状態に関する情報Ｓ１・Ｓ２について調べ、その情報Ｓ１・Ｓ２を書込み用データ２２と対にして格納する一方、その情報Ｓ１・Ｓ２からアドレス２４の連続性が判定されるとバーストアクセス動作をさせ、バンクの同一性が判定されるとアクチベーション動作を省略したデータの書き込みをさせることにより、メモリ１４がデータの書き込みのために保持する機能が有効に利用され、メモリ１４に対する書き込み時間の可級的な短縮が図れる。
【００１８】
【発明の実施の形態】
以下本発明にかかるメモリ制御回路１０を、ビデオメモリに対するデータの書き込み用として備えた一例に基づいて詳細に説明するが、これに限らず、バースト機能を有する各種用途のメモリに対しても略同様に実施できる。なお、以下で詳細に説明する構成以外の部分については従来のメモリコントローラと略同一なので、その説明は省略する。
【００１９】
本発明にかかるメモリ制御回路１０は、図１および図２に示す如く、ＣＰＵ１２とメモリ１４間にあって、アドレス２４の変更状態を判定するアドレス判定部１６と、各種データを一時的に格納するライトバッファ１８と、ライトバッファ１８からデータを読み出すとともに、メモリ１４に対するデータの書き込みに必要な各種データあるいは制御信号を出力可能とするメモリコントローラ２０とから構成される。
【００２０】
ＣＰＵ１２は、データバスのバス幅に対応したデータ長の書込み用データ２２と、そのデータ２２を書き込むべきメモリ１４側のアドレス２４とをセットにして出力可能とする、従来と略同様な構成の汎用的なものである。
【００２１】
メモリ１４は、図３に例示する如く、１つのパッケージ内に複数のバンクを備えるとともに、最初にアドレスを指定するとその後はアドレスを指定することなくデータ２２の連続的な書き込みを可能とする「バーストアクセスモード」をサポートするＳＤＲＡＭが使用される。
【００２２】
更に同一のアドレス端子に対して、上位側のアドレス（本実施例にあっては、Ａ２４〜Ａ１０）をＲＡＳアドレスとし、下位側のアドレス（本実施例にあっては、Ａ９〜Ａ１）をＣＡＳアドレスとして両者を時間的にずらせて印加することにより、上位側のアドレスでメモリ１４のバンクが特定されると、同一のバンク内であれば、上位側のアドレスを入力して再アクチベーションをすることなく下位側のアドレスを入力するだけで、そのバンク内における特定の番地位置に連続してアクセス可能とする従来と略同様の構成のものである。
【００２３】
アドレス判定部１６は、今回入力されたアドレス２４に所定数を加えることにより、メモリ１４上においてそのアドレス２４と連続する次のアドレス２４ａを計算する加算手段２６と、その計算されたアドレス２４ａを次回に入力されるべきアドレスが実際に入力されるまで保持する保持手段２８と、ＣＰＵ１２から入力されたアドレス２４と保持手段２８に格納した計算によるアドレス２４ａとを比較する比較手段３０とを備える。
【００２４】
加算手段２６は加算器３２で構成され、ＣＰＵ１２による１回分のデータ書き込み量に対応したアドレス変化量（本実施例では「１」）がアドレスＡ３〜Ａ１に対して加算され、更に残りのアドレスＡ９〜Ａ４とともに保持手段２８に格納される。
【００２５】
なお、本実施例では、バースト長を「８」に設定した場合を例示したので、アドレスＡ３〜Ａ１の３ビット分を比較するようにしたが、バースト長が「４」の場合はアドレスＡ２〜Ａ１の２ビットを比較するなど、使用するバースト長の違いに対応して比較するアドレスラインが変更される。要するに、メモリ１４が持つバースト機能が使用できる範囲内にアドレスの連続性が該当するか否かを判定可能であれば、その構成が限定されるものではない。
【００２６】
保持手段２８は、上位側のアドレスと下位側のアドレスとを個別に保持可能とする２つのレジスタ３４で構成され、ＣＰＵ１２からメモリ１４に対するアクセスがあるたびに出力される信号Ｓ０の入力と連動して、加算手段２６から出力されるアドレス２４ａを取り込む。
【００２７】
比較手段３０は、上位側のアドレスと下位側のアドレスとを個別に比較可能とする２つの比較器３６から構成され、保持手段２８に格納されたアドレス２４ａとＣＰＵ１２から出力されたアドレス２４とを上位側のアドレスと下位側のアドレス毎に個別に比較し、両者の値が不一致の場合は「０」の、一致する場合は「１」の情報を出力する。
【００２８】
ここで、上位側のアドレス（Ａ２４〜Ａ１０）については、加算手段２６でアドレスを加算することなくそのまま保持手段２８に保持し、比較手段３０で入力されるアドレスが前回入力されたアドレスと一致するか否かを判定し、一致する場合は同一バンクへのデータ書き込みであると判断し、第２の情報Ｓ２を出力する。
【００２９】
一方、下位側のアドレス（Ａ９〜Ａ１）については、加算手段２６によって前回入力されたアドレスと連続する次のアドレス２４ａを予め計算しておき、その値を今回入力されたアドレス２４と一致するするか否かを比較手段３０で判定する。比較器３６により下位側のアドレスが一致することが判定されると、第２の情報Ｓ２を用いてＡＮＤ回路３８で同一バンク内であるか否かを更に判定することにより、メモリ１４上におけるアドレスの全体として連続するか否かが判定されて第１の情報Ｓ１が出力される。
【００３０】
次に、ライトバッファ１８は先入れ先出し式のレジスタで構成され、図４に例示する如く、ＣＰＵ１２から出力される書込み用データ２２と、そのデータが書き込まれるべきメモリ１４上のアドレス２４に加えて、アドレス判定部１６から出力される第１の情報Ｓ１と第２の情報Ｓ２とを組にしてデータ保存可能とする。
【００３１】
例えば図３に例示する如く、メモリ１４が第１および第２の２つのバンク１４ａ・１４ｂで構成され、同図に示す順序でＤ１〜Ｄ７の７つのデータ２２をメモリ１４に書き込む場合について、ライトバッファ１８に格納されるデータ内容を説明する。
【００３２】
先ず、Ｄ１が書き込まれるアドレスＡａ１が、その直前に書き込まれたアドレスとバンクが異なる場合には、第１の情報Ｓ１および第２の情報Ｓ２はともに「０」であるから、「Ａａ１、Ｄ１、０、０」の４種類のデータをセットとして記憶される。
【００３３】
次のデータＤ２およびＤ３が書き込まれるメモリ１４上のアドレスＡａ２およびＡａ３は、Ａａ１とメモリ１４上において連続するアドレスであるから、第１の情報Ｓ１と第２の情報Ｓ２はともに「１」となる。
【００３４】
しかし、データＤ４が格納されるアドレスＡａ７は、その直前のアドレスＡａ３とは同一バンク内にあるが連続したアドレスではないので、第２の情報Ｓ２は同一バンク内を示す「１」となるが、第１の情報Ｓ１はアドレスの不連続を示す「０」となる。
【００３５】
更に、Ｄ５の書き込みアドレスＡｂ１は、その直前のアドレスＡａ７とはアドレスの連続性が無いばかりか、バンクも異なる。そこで第１の情報Ｓ１と第２の情報Ｓ２は共に非連続を示す「０」となり、その値がライトバッファ１８に保存されるのである。
【００３６】
メモリコントローラ２０は、クロック信号Ｓｃを送ってライトバッファ１８中に格納されたデータを順次に読み出すと共に、読み出した第１の情報Ｓ１と第２の情報Ｓ２の値に基づいて、メモリ１４に書き込む手順を変更可能とする。
【００３７】
例えば、データＤ１〜Ｄ３やＤ５〜Ｄ７の様に同一バンク内で書き込みアドレスが連続する場合にあっては、メモリ１４のバースト機能を利用し、最初に下位側のアドレスであるＣＡＳアドレスを指定した後はアドレス指定を必要とすることなく、連続的な高速の書き込みを行わせる。
【００３８】
また、データＤ４の様に、アドレスは連続しないが同一バンク内であることが第１の情報Ｓ１および第２の情報Ｓ２から判定される場合は、上位側のアドレスであるＲＡＳアドレスを指定するアクチベーションを行うことなく、下位側のアドレスであるＣＡＳアドレスを指定することのみでメモリ１４に対する書き込みを行わせ、データ書き込みに要する時間の短縮を図るのである。
【００３９】
なお、アドレス判定部１６で行わせる判定内容およびライトバッファ１８に格納するデータ内容は上記に限定されるものではなく、適宜変更して実施できることは勿論である。例えば、実施例では前後のアドレスにおける連続性のみを個別に判定することを可能とするが、アドレスの連続回数を情報として取得および保持し、そのデータに基づいてメモリコントローラ２０から出力される各種信号を変更することにより、バースト長さを制御させることも可能である。
【００４０】
また、ＣＰＵ１２からバースト中であることを示す信号が直接的に出力される場合にあっては、バースト中であることを示す情報を書込み用データ２２と対応させてライトバッファ１８に格納し、メモリコントローラ２０によるメモリ１４に対するアクセス時に利用することもできる。
【図面の簡単な説明】
【図１】本発明の全体的な構成を概略的に示すブロック図である。
【図２】図１中におけるアドレス判定部の構成を具体的に例示するブロック図である。
【図３】メモリに対するアクセス手順を示す説明図である。
【図４】ライトバッファに対する書き込み手順を示す説明図である。
【符号の説明】
１０  メモリ制御回路
１２  ＣＰＵ
１４  メモリ
１６  アドレス判定部
１８  ライトバッファ
２０  メモリコントローラ
２２  書込み用データ
２４  アドレス
２６  加算手段
２８  保持手段
３０  比較手段
３２  加算器
３４  レジスタ
３６  比較器
３８  ＡＮＤ回路
【図１】
2004199608.tif 000003
【図２】
2004199608.tif 000004
【図３】
2004199608.tif 000005
【図４】
2004199608.tif 000006