(57)【要約】本発明は、同時にアクセスできない少なくとも２つのゾーン（Ａ、Ｂ）を備える記憶装置（４）の制御回路に関し、この回路は、読取り命令および／または書込み命令のシリーズを前記のゾーンごとに別々に格納するための第１の手段（１４、１６）と、第１のゾーンにアドレス指定された第１の命令が、第１のゾーンが他の命令を受け取ることができない周期がその後に続かなければならない所定の命令であることを検出するための第２の手段（１８）と、前記の周期中にその記憶装置の別のゾーンに命令を供給するための第３の手段（２０）とを備える。
2004507817.tif 000002
【特許請求の範囲】
【請求項１】
メモリ（４）を制御するための回路であって、同時にアクセスできない少なくとも２つの区域（Ａ、Ｂ）を備え、
前記区域ごとに別々に読取り命令および／または書込み命令のシリーズを格納する第１の手段（１４、１６）と、
第１の区域向けの第１の命令が、第１の区域が他の命令を受け取ることができない周期がその後に続く所定の命令であることを検出するための第２の手段（１８）と、
前記の周期中に別の記憶域に命令を供給するための第３の手段（２０）とを備えることを特徴とする回路。
【請求項２】
メモリの前記記憶域のそれぞれが、特定のキャッシュ（ＢＵＦＡ、ＢＵＦＢ）を介してアクセスすることができる、請求項１に記載のメモリを制御するための回路。
【請求項３】
読取りおよび／または書込み要求を受け取り、そうした要求のそれぞれを命令シリーズの形で第１の手段に書き込むための第４の手段（１２）をさらに備え、この命令シリーズはそれぞれ所定数のデータを含む、請求項１または２に記載の回路。
【請求項４】
前記命令シリーズの所定数のデータが、前記第１の手段に格納された命令シリーズそれぞれの間に存在する優先順位の指示（ＯＲＤ）を特に含む、請求項３に記載の回路。
【請求項５】
前記命令シリーズの所定数のデータが、前記命令シリーズがメモリからの読取りを目的としているか、それともメモリへの書込みを目的としているかの指示（ＴＹＰ）を含む、請求項３に記載の回路。
【請求項６】
前記命令シリーズの所定数のデータが、前記命令シリーズが対象とするアドレス（ＡＤＲ）を含む、請求項３に記載の回路。
【請求項７】
前記命令シリーズの所定数のデータが、前記命令シリーズを形成する命令（ＣＯＭ）を含む、請求項３に記載の回路。
【請求項８】
前記命令シリーズの所定数のデータが、前記命令シリーズを実行するのに必要な持続時間（ＳＩＺ）を含む、請求項３に記載の回路。
【請求項９】
第１の手段が、前記メモリの区域ごとに所定数のレジスタを備える、請求項４から８のいずれかに記載の回路。
【請求項１０】
前記所定数のレジスタが、それぞれ第４および第２の手段による前記所定数のレジスタの他方のレジスタの書込みおよび読取りを管理するための指標レジスタ（ＷＲＩ、ＲＤＩ）を備える、請求項９に記載の回路。
【発明の詳細な説明】
【０００１】
本発明は、メモリ制御回路に関し、より詳細には複数の記憶域を含む、ＳＤＲＡＭ型、ＤＤＲ型、またはＲＡＭＢＵＳ型の外部メモリを制御するための回路に関する。
【０００２】
多くの電子システムは、大量のデータをメモリ内に格納する必要があり、こうしたデータに高速にアクセスしなければならない。ダイナミックＲＡＭ型またはＤＲＡＭ型のメモリは一般に、高速のデータ転送速度でキャッシュを介してアクセスすることができる複数の記憶域を備え、この種の使用に適している。通常こうしたメモリは、離散型集積回路（外部メモリ）であり、残りの電子システムに接続するために、メモリ制御回路に接続されなければならない。
【０００３】
図１に、制御バスＣＯＭおよびデータ・バスＤＡＴを介してＤＲＡＭ型メモリ４に接続されたメモリ制御回路２を概略的に示す。メモリ４は、２つの記憶域Ａ、Ｂを備え、各記憶域は、キャッシュＢＵＦＡ、ＢＵＦＢをそれぞれ介してデータ・バスＤＡＴに接続される。メモリ４は、クロック信号ＣＫによって速度が決められる。記憶域Ａ、Ｂはどちらも、複数のメモリ・ページ（図示せず）に編成され、各記憶域は所定数のワードを含む。キャッシュＢＵＦＡ、ＢＵＦＢは、制御バスＣＯＭによって回路２に接続される。回路２は、ブロック（図示せず）からの読取りおよび／または書込み要求を受け取るように接続された優先権管理ブロック８を備えており、さらにメモリ４とデータをやり取りするためにバスＤＡＴに接続される。ブロック８は、一方または他方の記憶域向けの書込みおよび／または読取り要求を受け取る。ブロック８は、２つのブロックから供給される２つの要求を同時に受け取ったとき、２つのブロックのうち他方より高い優先権を保持するブロックから受け取った要求を優先して処理する。こうしたブロックの優先順位は通常、回路の初期設定時にプログラムされている。さらに回路２は、ブロック８の出力端とバスＣＯＭの間に接続されたブロック１０を備えており、このブロック１０は、ブロック８から受け取った要求を、回路２特有の通信プロトコルからメモリ４特有の通信プロトコルに変換する。メモリが受け入れるプロトコルは、そのメモリのタイプおよび製造者によって決まる。
【０００４】
図２に、ブロック１０によってクロック信号ＣＫの速度で供給される２つの命令シリーズを概略的に示す。図示したこの例では、ブロック１０は、あるワードを記憶域ＡのページＡ１のアドレスＡ１’に書き込むための第１の要求を受け取り、次いであるワードを記憶域ＢのページＢ１内のアドレスＢ１’に書き込むための第２の要求を受け取る。図示したこの例では、こうした書込み要求は、それぞれ問題とするキャッシュのデータを以前に処理したページに再度書き込むこと（キャッシュの事前ロード、命令ＰＲＥ）から始まり、それに続いてその問題とするページを前記キャッシュに書き込み（キャッシュ活動化、命令ＡＣＴ）、次いでこの問題とするワードを前記キャッシュに書き込む（命令ＷＲ）。
【０００５】
第１の書込み要求の開始時に相当する時刻ｔ０に、ブロック１０は、キャッシュＢＵＦＡを事前ロードするための命令ＰＲＥ　Ａ０をバスＣＯＭに供給する。この事前ロード命令は、クロック信号ＣＫの周期Ｔ中にキャッシュＢＵＦＡに供給されるが、事前ロード動作は、１周期だけでは実行できないことに留意されたい。この事前ロード実行速度は、メモリ４の一特性である。図示した例では、メモリ４は、３周期で事前ロード動作を実行する。したがって事前ロード命令を受け取ってから２周期中は、キャッシュは、他の命令を受け取ることができず、ブロック１０は、事前ロード命令と次の活動化命令の間に非命令「ＮＯＰ」を２つ供給しなけれならない。時刻ｔ０から周期Ｔが３つ経過した後の時刻ｔ１に、ブロック１０は、記憶域Ａ内のアドレスのページＡ１を読み取るようキャッシュＢＵＦＡに要求するページ活動化制御信号ＡＣＴ　Ａ１をバスＣＯＭに供給する。この活動化命令は、１つの周期Ｔ中にキャッシュＢＵＦＡに供給されるが、活動化動作は、３周期で実行され、ブロック１０は、この活動化命令とその次の書込み命令の間にＮＯＰ命令を２つ供給する必要がある。時刻ｔ１から周期Ｔが３つ経過した後の時刻ｔ２に、ブロック１０は、アドレスがＡ１’であるワードをキャッシュＢＵＦＡに書き込むための命令ＷＲ　Ａ１’を供給する。命令ＷＲ　Ａ１’が供給されるとき、アドレスＡ１’に書き込まれるワードがデータ・バスＤＡＴに供給されることに留意されたい。書込み動作を実行するのに単一の周期が必要である。時刻ｔ２から周期Ｔが１つ経過した後の時刻ｔ３で、ページＡ１のアドレスＡ１’のワードを記憶域Ａに書き込む動作は終了する。
【０００６】
第２の書込み要求は、第１の書込み要求と同様に処理される。時刻ｔ３に、ブロック１０は、キャッシュＢＵＦＢを事前ロードするための命令ＰＲＥ　Ｂ０を供給する。時刻ｔ３から周期Ｔが３つ経過した後の時刻ｔ４に、ブロック１０は、記憶域Ｂ内のアドレスのページＢ１を活動化するための命令ＡＣＴ　Ｂ１を供給する。最後に、時刻ｔ４から周期Ｔが３つ経過した後の時刻ｔ５に、ブロック１０は、ページＢ１のアドレスのワードＢ１’を書き込むための命令ＷＲ　Ｂ１’を供給する。
【０００７】
第１および第２の書込み要求を、同じページで続けて実行しなければならないとき、使用したキャッシュはすでに、第１の書込み後に一致したページを格納しており、第２の書込み要求を実行して、ブロック１０が前記のページの事前ロード命令および活動化命令を再び供給する必要がないことに留意されたい。自動的にあるキャッシュのワードに書込み、それに続いて一続きの書込み動作をそのキャッシュの次のワードに書き込むためのいくつかのメモリが設けられていることにも留意されたい。こうした書込みシーケンスを、バースト・モードでの書込みと言う。バースト書込みでは、使用したキャッシュは、他のどの命令を受け取ることもできず、ブロック１０は、命令ＮＯＰを供給する。バースト書込みは従来技術では、事前ロード命令などの所定の命令の割り込みを受ける。
【０００８】
記憶域のページからあるワードを読み取るための要求の実行は、前述のワード書込み要求の実行と類似しており、ワード読取り命令（ＲＤ）は、ワード書込み命令（ＷＲ）に置き換わる。
【０００９】
最近の技術的進歩により、８００ＭＨｚまでに及ぶ非常に高い周波数で動作するＤＲＡＭが開発可能になってきている。現在までに、特に単純で高速のアーキテクチャを用いて、こうしたメモリの制御命令を供給できる制御回路を開発することが可能となってきている。しかし、このメモリとやりとりされるデータの速度を、さらに高速にすることが求められている。メモリにアクセスする速度を高速にすることは可能であるが、より高速のクロック信号で動作する制御回路を開発するには、多くの問題、特に開発コストがかかり電力消費が多いといった問題がある。非常に広い制御バスおよびデータ・バスを使用することにより、データ速度を高速にすることも可能であるが、そうした解決策では、それぞれがバスの一部に接続される複数のメモリを使用する必要があるが、複数のメモリを使用すると高価になる。
【００１０】
本発明の一目的は、高速のデータ転送速度で、少なくとも２つの区域を含むＤＲＡＭ型のメモリにアクセス可能な制御回路を実現することである。
【００１１】
本発明の他の目的は、標準の幅を有する制御バスおよびデータ・バスを用いたこうした制御回路を実現することである。
【００１２】
本発明の他の目的は、低い周波数のクロック信号で動作するこうした回路を実現することである。
【００１３】
本発明の他の目的は、最大動作周波数が低い安価なメモリと共に動作することができるこうした回路を実現することである。
【００１４】
上記および他の目的を実現するために、本発明は、同時にアクセスできない少なくとも２つの区域を備えるメモリを制御するための回路を提供する。この回路は、読取り命令および／または書込み命令のシリーズを前記の区域ごとに別々に格納するための第１の手段と、第１の区域向けの第１の命令が、第１の区域が他の命令を受け取ることができない周期がその後に続く、所定の命令であることを検出するための第２の手段と、前記の周期中に別の記憶域に命令を供給するための第３の手段とを備える。
【００１５】
本発明の一実施形態によれば、各記憶域は、特定のキャッシュを介してアクセスすることができる。
【００１６】
本発明の一実施形態によれば、さらにこの回路は、読取りおよび／または書込み要求を受け取り、こうした要求のそれぞれを命令シリーズの形で第１の手段に書き込むための第４の手段を備え、この命令シリーズはそれぞれ所定数のデータを含む。
【００１７】
本発明の一実施形態によれば、前記命令シリーズの所定数のデータは、第１の手段に格納された命令シリーズそれぞれの間に存在する優先順位の指示を含む。
【００１８】
本発明の一実施形態によれば、前記命令シリーズの所定数のデータは、この命令シリーズがメモリからの読取りを目的としているか、それともメモリへの書込みを目的としているかの指示を含む。
【００１９】
本発明の一実施形態によれば、前記命令シリーズの所定数のデータは、前記命令シリーズが対象とするアドレスを含む。
【００２０】
本発明の一実施形態によれば、前記命令シリーズの所定数のデータは、前記命令シリーズを形成する命令を含む。
【００２１】
本発明の一実施形態によれば、前記命令シリーズの所定数のデータは、前記命令シリーズを実行するのに必要な持続時間も含む。
【００２２】
本発明の一実施形態によれば、第１の手段は、メモリの区域ごとに所定数のレジスタを備える。
【００２３】
本発明の一実施形態によれば、前記所定数のレジスタは、それぞれ第４および第２の手段による前記所定数のレジスタの他方のレジスタの書込みおよび読取りを管理するための指標レジスタを備える。
【００２４】
本発明の上記その他の目的、特徴および利点は、添付図面に関連して、以下の特定の実施形態についての非限定的な説明で詳細に論じる。
【００２５】
図３に、本発明による、メモリ４に接続されたメモリ制御回路を概略的に示す。本発明によれば、この制御回路は、メモリ４とデータをやり取りするバスＤＡＴに接続されたこの回路のブロック（図示せず）から書込みおよび／または読取り要求を受け取るように接続された認識ブロック１２を備える。この制御回路はさらに、ブロック１２から供給されるデータを記憶するために設けられた、２個のレジスタ・セット１４（Ａ’）、１６（Ｂ’）を備える。判断ブロック１８は、レジスタ・セット１４、１６の出力端に接続される。ブロック１８の出力は、制御バスＣＯＭに接続された状態機械２０に供給される。状態機械２０は、メモリ４と同じクロック信号ＣＫによって速度が決められる。
【００２６】
ブロック１２が、記憶域Ａまたは記憶域Ｂ向けの要求を受け取るとき、その要求をこの後で分かるように、命令およびデータに翻訳する。こうした命令／データは、区域Ａ向けかまたは区域Ｂ向けかに従って、それぞれレジスタ・セット１４または１６に格納される。ブロック１２が、２つの回路ブロックから２つの要求を同時に受け取る場合、従来の優先権管理に従って、最初に最も高い優先権を保持するブロックからの要求を処理する。セット１４、１６に格納された命令は、ブロック１８によって分析され、対象とするキャッシュが他の命令を受け取ることができない周期がその後に続く命令かどうかが判定される。そうした命令が、レジスタ・セットのうちの一方に存在する場合、ブロック１８は、他方のレジスタ・セットに格納された命令／データを分析して、前記の周期中、他方のレジスタ・セットから他方のキャッシュに命令を供給することが可能かどうかを判定する。状態機械２０は、クロック信号を判断ブロック１８に供給して、クロック信号ＣＫの新しい周期ごとに、メモリ・キャッシュの一方または他方に供給される命令を受け取る。命令を供給してはいけない場合、状態機械２０は命令ＮＯＰを生成する。状態機械２０は、ブロック１８から供給された命令をメモリ４が受け入れる基本コード化命令に翻訳する。
【００２７】
図４に、状態機械２０によってクロック信号ＣＫの速度で供給される２つの命令シリーズを概略的に示す。前述のように、２つの命令シリーズは、それぞれ記憶域ＡのページＡ１内のアドレスＡ１’にあるワードを書き込むための第１の要求、および記憶域ＢのページＢ１内のアドレスＢ１’にあるワードを書き込むための第２の要求に相当する。前述のように各要求は、ページ事前ロード命令から始まり、次いでページ活動化命令、ワード書込み命令が続く。
【００２８】
記憶域Ａ向けの事前ロード命令ＰＲＥ　Ａ０、活動化命令ＡＣＴ　Ａ１、および書込み命令ＷＲ　Ａ１は、前述のように、３つの周期Ｔの間隔で、それぞれ時刻ｔ０、時刻ｔ１、および時刻ｔ２に供給される。しかし、本発明によれば、時刻ｔ０から周期Ｔが１つ経過した後の時刻ｔ０’に、記憶域Ｂ向けの事前ロード命令ＰＲＥ　Ｂ０がバスＣＯＭに供給される。時刻ｔ０’は、命令ＰＲＥ　Ａ０の後に続く周期の開始時であり、この周期中にはキャッシュＢＵＦＡは他の命令を受け取ることはできない。同様に、時刻ｔ１から周期Ｔが２つ経過した後の時刻ｔ１’に、記憶域Ｂ向けの活動化命令ＡＣＴ　Ｂ１が、バスＣＯＭに供給される。したがって、命令ＡＣＴ　Ａ１と命令ＡＣＴ　Ｂ１の間に命令ＮＯＰが１つ挿入されることに留意されたい。このような命令ＮＯＰの挿入は、構成により２つの命令ＡＣＴを続けて受け取ることができないほとんどのメモリにとって必要である。しかし、２つの命令ＡＣＴを続けて受け取ることができるメモリの場合、時刻ｔ１’は、時刻ｔ１から周期Ｔが１つ経過した後に発生するかもしれない。最後に、時刻ｔ２から周期Ｔが１つ経過した後の時刻ｔ２’に、記憶域Ｂ向けの書込み命令ＷＲ　Ｂ１’が供給される。ワードの書込みＢ１の前にワードの書込みＡ１が行われており、すなわち、レジスタ・セット１４、１６に供給されている書込み要求の優先順位が尊重されていることに留意されたい。
【００２９】
図示した例では、本発明により、クロック信号ＣＫの８周期内に、２つの書込み要求をメモリ４に供給できるようになる。この数を、従来技術によって同じメモリに同じ要求を供給するのに必要な１４周期のクロック信号と比較すべきである。この速度利得は、示されていないが、そのメモリに供給することができる他方の書込み／読取り要求にも一般化することができる。本発明により、従来技術によるクロック信号よりも高速の信号を使用せずに、データ転送速度を高速にすることができる。したがって、本発明によるメモリ制御回路を用いて、従来技術による周波数よりも低い周波数のクロック信号を使用しながら、従来技術による制御回路を用いたものよりもデータ転送速度を高速化することが可能である。さらに、本発明による制御回路では、低い周波数で動作するメモリを用いてデータ転送速度を高速にすることができるので、本発明により安価のメモリを使用できるようになる。
【００３０】
本発明はまた、バースト書込みおよび読取り動作を実施するメモリ制御回路に適合される。メモリが、第１のキャッシュ上で、書込みまたは読取り動作のバースト・シーケンスを実施するとき、前記キャッシュは、他の命令を受け取ることはできず、制御バスＣＯＭは、自由に第２のキャッシュに命令を供給することができる。しかし、データ・バスＤＡＴは、書込みまたは読取り動作によって使用されている。したがって、ブロック１８は、キャッシュ内でバースト書込み／読取り動作中には、他方のキャッシュに命令を供給することのみが行われ、データ・バスＤＡＴを使用するようにはならない（前述の事前ロードおよび活動化動作と同様）。
【００３１】
図５に、レジスタ・セット１４を概略的に示す。レジスタ・セット１６も同一の構造である。レジスタ・セット１４は、タイプ・レジスタ（ＴＹＰ）、順位レジスタ（ＯＲＤ）、アドレス・レジスタ（ＡＤＲ）、制御レジスタ（ＣＭＤ）、サイズ・レジスタ（ＳＩＺ）、バイト・イネーブル・レジスタ（ＢＥ）、書込み指標レジスタ（ＷＲＩ）、および読取り指標レジスタ（ＲＤＩ）を備える。書込み指標レジスタは、ブロック１２によって更新されたアドレスを含む。読取り指標レジスタは、ブロック１８によって更新されたアドレスを含む。タイプ・レジスタ、順位レジスタ、アドレス・レジスタ、制御レジスタ、サイズ・レジスタ、およびバイト・イネーブル・レジスタは、ＦＩＦＯタイプのものであり、各レジスタは、アドレスによってそれぞれ位置を見付けることができる、等しい数のデータを含む。ＦＩＦＯレジスタは、書込み指標レジスタに格納されたアドレスにブロック１２によって書き込み、読取り指標レジスタに格納されたアドレスからブロック１８によって読み取られるように接続される。書込み指標レジスタと読取り指標レジスタに格納されたアドレスを比較することにより、ＦＩＦＯレジスタの充填速度を知ることができるようになる。ＦＩＦＯレジスタのアドレスがすべて使用されている場合、これ以上要求に関するデータをレジスタ・セットに格納することはできず、エラー・メッセージが生成される。
【００３２】
ブロック１２が受け取る各要求により、データがＦＩＦＯレジスタに書き込まれ、書込み指標レジスタのアドレスが増分される。
【００３３】
タイプ・レジスタは、要求が読取り要求か、それとも書込み要求かを示すデータを受け取る。
【００３４】
順位レジスタは、要求が制御回路に供給された時刻を示す絶対時間を受け取る。この示された時間によって、回路１８はどの命令を先に送るか、選択できるようになる。
【００３５】
アドレス・レジスタは、要求が実行されなければならないページおよびワードのアドレスを受け取る。
【００３６】
制御レジスタは、要求を実行するのに必要な命令を含む。例えば、新しいページに書き込む要求の場合には、命令ＰＲＥ、命令ＡＣＴ、命令ＷＲであり、すでに活動化されたページに書き込む要求の場合には命令ＷＲである。要求を実行するのに必要な命令は特に、その要求が対象とするページのアドレスに従って、そのアドレスを先行する要求が対象としたページのアドレスと比較して決定される。これを達成するために、ブロック１２は、図示されていない接続によって制御レジスタからの読取りを行うことができる。
【００３７】
サイズ・レジスタは、要求を実行するのに必要な周期数を受け取る。
【００３８】
バイト・イネーブル・レジスタは、各要求に関与するデータ・バイト数を受け取る（例えば、あるワードのバイトをすべて書き込み、読み取る必要のない場合）。
【００３９】
ブロック１２の全体的な動作を確実に高速にするためには、前記ブロックは、要求に関するデータが特に処理するのが簡単で時間を要しないとき、次の要求を処理し始める。ＦＩＦＯレジスタ・セットに格納できるデータ数により、ブロック１８が事前に分析できる要求数が決定する。
【００４０】
本発明には当然、前述の説明を読めば、様々な変更形態、修正形態、および改良形態が当業者には容易に思い付くであろう。特に、書込み要求を特定の方式で実行する制御回路を説明してきたが、当業者なら、同じ要求を別の形で実行する制御回路に本発明を容易に適合させるであろう。例えば、書込み要求は、書込み命令および事前ロード命令がその後に続く活動化命令に対応するものでもよい。
【００４１】
さらに、本発明は、２つの記憶域を備えたメモリに関して説明してきたが、当業者なら、より多数の記憶域を備えたメモリに本発明を容易に適合させるであろう。次いで本発明による制御回路は、そのメモリが有するメモリ区域と同じ数のレジスタ・セットを備えることができる。
【図面の簡単な説明】
【図１】先に説明した、従来のＤＲＡＭ制御回路を示す概略図である。
【図２】先に説明した、図１の制御回路の動作を示す図である。
【図３】本発明による制御回路を示す概略図である。
【図４】図３の制御回路の動作を示す概略図である。
【図５】本発明による制御回路のレジスタ・セットの構成を示す概略図である。
【図１】
2004507817.tif 000003
【図２】
2004507817.tif 000004
【図３】
2004507817.tif 000005
【図４】
2004507817.tif 000006
【図５】
2004507817.tif 000007
【国際公開パンフレット】
2004507817.tif 000008
2004507817.tif 000009
2004507817.tif 000010
2004507817.tif 000011
2004507817.tif 000012
2004507817.tif 000013
2004507817.tif 000014
2004507817.tif 000015
2004507817.tif 000016
2004507817.tif 000017
2004507817.tif 000018
2004507817.tif 000019
2004507817.tif 000020
2004507817.tif 000021
2004507817.tif 000022
2004507817.tif 000023
2004507817.tif 000024
2004507817.tif 000025
【国際調査報告】
2004507817.tif 000026
2004507817.tif 000027
2004507817.tif 000028
2004507817.tif 000029