(57)【特許請求の範囲】
【請求項１】
データの書き込みおよび／または読み出しを行うバンクを指定するバンク指定情報とそのバンク内のデータの書き込みおよび／または読み出しが行われるアドレスを指定するバンク内アドレス情報とからなるアドレス情報のうちの少なくとも一部と前記データとで時分割で共用されるバスに接続され、バスクロックに同期して出力される前記アドレス情報に基づいて、複数のバンクに分割されてそれらバンク内のアドレスが全てのバンクで共通なメモリに対するデータの書き込みおよび／または読み出しを制御するメモリ制御回路であって、
前記バスに前記アドレス情報が出力されると、そのアドレス情報内のバンク内アドレス情報に基づいて、前記複数のバンク全てに共通のアドレスを供給するアドレス供給回路と、
前記バスに前記アドレス情報が出力された後、そのアドレス情報内のバンク指定情報に基づいて、指定されたバンクにバスクロックに同期して書込許可信号および／または読出許可信号を順次供給する許可信号供給回路とを備えたことを特徴とする、メモリ制御回路。
【請求項２】
前記アドレス情報は、データの書き込みおよび／または読み出しの開始タイミングにおける前記バスクロックの最初の半周期の間に前記バスに出力され、
前記許可信号供給回路は、前記バスクロックの２番目の半周期から半周期毎に、当該半周期が前記バンク指定情報によって指定されたバンクに対応する期間であれば、前記書込許可信号および／または読出許可信号を該当するバンクに出力し、前記バンク指定情報によって指定されていないバンクに対応する期間であれば、前記書込許可信号および／または読出許可信号を出力しない、請求項１に記載のメモリ制御回路。
【請求項３】
前記アドレス情報は、データの書き込みおよび／または読み出しの開始タイミングにおける前記バスクロックの最初の半周期の間に前記バスに出力され、
前記許可信号供給回路は、前記バンク指定情報に基づいて、前記バスクロックの２番目の半周期から半周期毎に前記書込許可信号および／または読出許可信号をデータの書き込みおよび／または読み出しが指定されたバンクにのみ出力する、請求項１に記載のメモリ制御回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本願発明は、複数のバンクに分割されてそれらバンク内のアドレスが全てのバンクで共通なメモリに対するデータの書き込みおよび／または読み出しを制御し、かつ、アドレス情報のうちの少なくとも一部とデータとで時分割で共用されるバスに接続されたメモリ制御回路に関し、特に、カラープリンタなどのように、同一画素のシアン、マゼンタ、イエロー、黒などのデータを、メモリの各バンクの同一バンク内アドレスに順次書き込み、また順次読み出すような用途に極めて好都合なメモリ制御回路に関する。
【０００２】
【従来の技術】
コンピュータシステムの高速化を実現するための方法として、ＣＰＵの動作速度の高速化や、半導体メモリのアクセスタイムの短縮化など、コンピュータシステムを構成するディバイス単体の高速化が多く試みられているが、コンピュータシステム全体の高速化を実現するためには、ディバイス単体だけではなく、それらを接続するバスの使用方法の最適化を図る必要がある。
【０００３】
ところが、アドレス情報とデータとで時分割で共用されるバスに接続された従来のメモリ制御回路では、１回のアドレス情報の入力毎に１回のデータの書き込みあるいは読み出しを行う構成であった。
【０００４】
たとえば、５個のバンクに分割されたメモリの各バンクにデータを書き込む場合、図５に示すように、バスクロックの５サイクル分を使用し、各サイクルの前半でアドレスを指定して、後半でデータを書き込んでいた。
【０００５】
また、データの読み出しの場合も同様に、図６に示すように、バスクロックの５サイクル分を使用し、各サイクルの前半でアドレスを指定して、後半でデータを読み出していた。
【０００６】
このような書き込みおよび読み出しの方法は、メモリがバンク分けされているか否かに係わらず、また、各バンクの同一バンク内アドレスへの連続した書き込みあるいは読み出しであるか否かに係わらず、同様に採用されていた。
【０００７】
しかし、上記従来のメモリ制御回路では、１回のアドレス情報の入力毎に１回のデータの書き込みあるいは読み出しを行うので、複数のバンクに分割されたメモリにおける各バンクの同一バンク内アドレスへの連続した書き込みあるいは読み出しであっても、１つのバンクへの１つのデータの書き込みあるいは読み出し毎にバスクロックの１サイクルの期間を要し、動作速度が遅いという課題があった。
【０００８】
このため、たとえばバスに複数のバスマスタが接続されたシステムにおいて、各バスマスタからのメモリアクセスの頻度が高くなった場合、バスの使用頻度が高くなり、優先順位の低いバスマスタはバスの使用権を獲得することが困難になって、システムの性能を低下させてしまう。
【０００９】
【発明の開示】
本願発明は、上記した事情のもとで考え出されたものであって、アドレス情報のうちの少なくとも一部とデータとで時分割でバスを共用する場合に、複数のバンクの同一バンク内アドレスへの連続した書き込みあるいは読み出しを高速に行うことができるメモリ制御回路を提供することを、その課題とする。
【００１０】
上記の課題を解決するため、本願発明では、次の技術的手段を講じている。
【００１１】
本願発明の第１の側面によれば、データの書き込みおよび／または読み出しを行うバンクを指定するバンク指定情報とそのバンク内のデータの書き込みおよび／または読み出しが行われるアドレスを指定するバンク内アドレス情報とからなるアドレス情報のうちの少なくとも一部とデータとで時分割で共用されるバスに接続され、バスクロックに同期して出力されるアドレス情報に基づいて、複数のバンクに分割されてそれらバンク内のアドレスが全てのバンクで共通なメモリに対するデータの書き込みおよび／または読み出しを制御するメモリ制御回路であって、バスにアドレス情報が出力されると、そのアドレス情報内のバンク内アドレス情報に基づいて、複数のバンク全てに共通のアドレスを供給するアドレス供給回路と、バスにアドレス情報が出力された後、そのアドレス情報内のバンク指定情報に基づいて、指定されたバンクにバスクロックに同期して書込許可信号および／または読出許可信号を順次供給する許可信号供給回路とを備えたことを特徴とする、メモリ制御回路が提供される。
【００１２】
このようにすれば、１回のアドレス指定により全てのバンクに対して連続的にデータの書き込みあるいは読み出しを行うことが可能になるので、アドレス情報のうちの少なくとも一部とデータとで時分割でバスを共用する場合に、複数のバンクの同一バンク内アドレスへの連続した書き込みあるいは読み出しを高速に行うことができる。したがって、バスに複数のバスマスタが接続されたシステムにおいて、各バスマスタからのメモリアクセスの頻度が高くなった場合であっても、バスの使用頻度を極力低減でき、優先順位の低いバスマスタもバスの使用権を獲得することが容易になることから、システムの性能低下を極力防止できる。
【００１３】
メモリをいくつのバンクに分割するかは任意であるが、分割数が少ないと連続書き込みあるいは連続読み出しによる高速化の効果が小さくなり、逆に、分割数が多いとバンク指定情報のビット数が大きくなるので、システムの設計条件に応じて適切に設定するのが好ましい。
【００１４】
メモリとしては、ＤＲＡＭ（dynamic random access memory）やＳＲＡＭ（static random access memory ）を用いることができるが、これらに限るものではない。
【００１５】
アドレス情報は、バンク指定情報とバンク内アドレス情報との双方をデータと共通のバスにより伝送してもよいし、バンク内アドレス情報のみをデータと共通のバスにより伝送し、バンク指定情報を別の制御信号線により伝送してもよい。
【００１６】
許可信号供給回路は、書き込み時には書込許可信号を出力し、読み出し時には読出許可信号を出力するように構成してもよいし、書込専用として書込許可信号のみを出力するように構成してもよく、あるいは読出専用として読出許可信号のみを出力するように構成してもよい。
【００１７】
好ましい実施の形態によれば、アドレス情報は、データの書き込みおよび／または読み出しの開始タイミングにおけるバスクロックの最初の半周期の間にバスに出力され、許可信号供給回路は、バスクロックの２番目の半周期から半周期毎に、当該半周期がバンク指定情報によって指定されたバンクに対応するる期間であれば、書込許可信号および／または読出許可信号を該当するバンクに出力し、バンク指定情報によって指定されていないバンクに対応するる期間であれば、書込許可信号および／または読出許可信号を出力しない。
【００１８】
このようにすれば、複数のバンクのうち実際にデータの書き込みあるいは読み出しを行うバンク数に係わらず、一連の書き込みあるいは読み出しのバスサイクル数を常に一定にできるので、制御を容易に行える。
【００１９】
他の好ましい実施の形態によれば、アドレス情報は、データの書き込みおよび／または読み出しの開始タイミングにおけるバスクロックの最初の半周期の間にバスに出力され、許可信号供給回路は、バンク指定情報に基づいて、バスクロックの２番目の半周期から半周期毎に書込許可信号および／または読出許可信号をデータの書き込みおよび／または読み出しが指定されたバンクにのみ出力する。
【００２０】
このようにすれば、実際にデータの書き込みあるいは読み出しを行わないバスクロックの半周期をなくすことができるので、処理速度を一層向上させることができる。
【００２１】
本願発明のその他の特徴および利点は、添付図面を参照して以下に行う詳細な説明によって、より明らかとなろう。
【００２２】
【発明の実施の形態】
以下、本願発明の好ましい実施の形態を、図面を参照して具体的に説明する。
【００２３】
図１は、本願発明に係るメモリ制御回路を備えたコンピュータシステムの要部の回路ブロック図であって、データとアドレスとで時分割で共用されるバス１には、バスマスタ２，３、メモリ制御部４、ラッチおよびマルチプレクサ５、ならびにレシーバおよびドライバ６が接続されている。バスマスタ２，３は、メモリ制御部４およびバスアービタ７に接続されており、ラッチおよびマルチプレクサ５は、メモリ制御部４および半導体メモリ部８に接続されている。レシーバおよびドライバ６は、半導体メモリ部８に接続されている。半導体メモリ部８は、５個のバンクＢ１〜Ｂ５に分割されている。
【００２４】
バス１は、３２ビット幅であり、データとアドレスとで時分割で共用される。
【００２５】
バスマスタ２，３は、バスアービタ７にバスリクエストを出力し、バスアービタ７からのバスセレクトが入力されれば、書き込み時にはアドレスおよびデータを時分割でバス１に出力し、読み出し時にはアドレスをバス１に出力する。
【００２６】
メモリ制御部４は、バス１を介して入力されるアドレスに含まれるバンク指定情報に基づいて、ロウアドレス・ストローブＲＡＳ、カラムアドレス・ストローブＣＡＳ、ライト・イネーブルＷＥ、アウトプット・イネーブルＯＥなどの制御信号を、半導体メモリ部８の各バンクＢ１〜Ｂ５に出力する。
【００２７】
ラッチおよびマルチプレクサ５は、バス１を介して入力されるアドレスに含まれるバンク内アドレスをラッチし、そのバンク内アドレスを、メモリ制御部４から出力されるロウアドレス・ストローブＲＡＳおよびカラムアドレス・ストローブＣＡＳに同期して、ロウアドレス、カラムアドレスの順に各バンクＢ１〜Ｂ５に出力する。
【００２８】
レシーバおよびドライバ６は、書き込み時にはバス１を介して入力されるデータを増幅して半導体メモリ部８の各バンクＢ１〜Ｂ５に出力し、読み出し時には半導体メモリ部８の各バンクＢ１〜Ｂ５からのデータを増幅してバス１に出力する。
【００２９】
半導体メモリ部８は、ＤＲＡＭにより構成されており、各バンクＢ１〜Ｂ５の容量はそれぞれ１６Ｍバイトである。各バンクＢ１〜Ｂ５のバンク内アドレスは、全て共通である。
【００３０】
図２は、アドレスのビット割り付けの説明図であって、アドレスは全体で３２ビットである。この３２ビットのうち、最上位から５ビット分がバンク指定情報であって、それ以外の２７ビット分がバンク内アドレス情報である。バンク指定情報は、最上位ビットから順にバンクＢ１〜Ｂ５に対応しており、「１」はデータの書き込みあるいは読み出しを行うことを意味しており、「０」はデータの書き込みあるいは読み出しを行わないことを意味している。図２の例では、バンクＢ１〜Ｂ５の全てに対してデータの書き込みあるいは読み出しを行うことになる。図２において「Ｘ」は内容が任意すなわち「１」でも「０」でもよいことを意味しており、実態はバンク内アドレスによって決定される。ただし、各バンクＢ１〜Ｂ５の容量は１６Ｍビットであるので、バンク内アドレスとしてバイトアドレスを採用した場合、２４ビット分がバンク内アドレスとして必要になることから、３ビット分は使用しないことになる。
【００３１】
次に動作を説明する。データの書き込み時には、図３に示すように、バス１の使用権を獲得したバスマスタ２あるいはバスマスタ３が、バス１にアドレスとデータＤ１〜Ｄ５とをバスサイクルＢＳ１〜ＢＳ３の半周期ずつ順次出力する。バス１上のアドレスは、メモリ制御部４ならびにラッチおよびマルチプレクサ５に入力され、３２ビットのアドレスのうちのバンク指定情報である上位５ビットがメモリ制御部４の内部でラッチされるとともに、アドレスのうちのバンク内アドレス情報である下位２４ビットがラッチおよびマルチプレクサ５によってラッチされる。そして、メモリ制御部４からロウアドレス・ストローブＲＡＳおよびカラムアドレス・ストローブＣＡＳが所定のタイミングで半導体メモリ部８の全てのバンクＢ１〜Ｂ５に出力され、これらに同期して、ラッチおよびマルチプレクサ５からバンク内アドレスのロウアドレスおよびカラムアドレスが各バンクＢ１〜Ｂ５に出力される。これにより、全てのバンクＢ１〜Ｂ５の内部でバンク内アドレスがラッチされる。このバンク内アドレスは、当然に各バンクＢ１〜Ｂ５で相互に同一である。そして、バスサイクルＢＳ１の後半からバスサイクルＢＳ３の後半にわたって、各バスサイクルＢＳ１〜ＢＳ３の半周期毎に、メモリ制御部４から各バンクＢ１〜Ｂ５にライト・イネーブルＷＥ１〜ＷＥ５が順次出力される。これにより、バス１上のデータＤ１〜Ｄ５がレシーバおよびドライバ６を介して各バンクＢ１〜Ｂ５の同一のバンク内アドレスに書き込まれる。すなわち、データＤ１がバンクＢ１に、データＤ２がバンクＢ２に、データＤ３がバンクＢ３に、データＤ４がバンクＢ４に、データＤ５がバンクＢ５にそれぞれ書き込まれる。
【００３２】
かくして、バスクロックの３周期でバンクＢ１〜Ｂ５にデータＤ１〜Ｄ５を書き込むことができる。
【００３３】
なお、一部のバンクにデータを書き込まない場合は、それに応じてバス１上にダミーデータを生成し、ライト・イネーブルＷＥを出力させないようにする。たとえば、バンクＢ３にデータを書き込まない場合には、データＤ３をダミーデータとし、メモリ制御部４は、バスサイクルＢＳ２の後半においてライト・イネーブルＷＥ３をアサートしない。これにより、ダミーデータがバンクＢ３に書き込まれることはない。
【００３４】
データの読み出し時には、図４に示すように、バス１の使用権を獲得したバスマスタ２あるいはバスマスタ３が、バス１にアドレスをバスサイクルＢＳ１の前半に出力する。バス１上のアドレスは、メモリ制御部４ならびにラッチおよびマルチプレクサ５に入力され、３２ビットのアドレスのうちのバンク指定情報である上位５ビットがメモリ制御部４の内部でラッチされるとともに、アドレスのうちのバンク内アドレス情報である下位２４ビットがラッチおよびマルチプレクサ５によってラッチされる。そして、メモリ制御部４からロウアドレス・ストローブＲＡＳおよびカラムアドレス・ストローブＣＡＳが所定のタイミングで半導体メモリ部８の全てのバンクＢ１〜Ｂ５に出力され、これらに同期して、ラッチおよびマルチプレクサ５からバンク内アドレスのロウアドレスおよびカラムアドレスが全てのバンクＢ１〜Ｂ５に出力される。これにより、全てのバンクＢ１〜Ｂ５の内部でバンク内アドレスがラッチされる。このバンク内アドレスは、当然に各バンクＢ１〜Ｂ５で相互に同一である。そして、バスサイクルＢＳ１の後半からバスサイクルＢＳ３の後半にわたって、各バスサイクルＢＳ１〜ＢＳ３の半周期毎に、メモリ制御部４から各バンクＢ１〜Ｂ５にアウトプット・イネーブルＯＥ１〜ＯＥ５が順次出力される。これにより、各バンクＢ１〜Ｂ５の指定されたバンク内アドレスのデータＤ１〜Ｄ５がレシーバおよびドライバ６を介してバス１上に順次出力される。すなわち、バンクＢ１からデータＤ１が、バンクＢ２からデータＤ２が、バンクＢ３からデータＤ３が、バンクＢ４からデータＤ４が、バンクＢ５からデータＤ５がそれぞれ読み出される。
【００３５】
かくして、バスクロックの３周期でバンクＢ１〜Ｂ５からデータＤ１〜Ｄ５を読み出すことができる。
【００３６】
なお、一部のバンクからデータを読み出さない場合は、アウトプット・イネーブルＯＥを出力させないようにする。たとえば、バンクＢ３からデータを読み出さない場合には、メモリ制御部４は、バスサイクルＢＳ２の後半においてアウトプット・イネーブルＯＥ３をアサートしない。これにより、バンクＢ３からデータが読み出されることはない。
【００３７】
すなわち、ラッチおよびマルチプレクサ５は、アドレス情報のうち、バンク内のアドレスを指定するバンク内アドレス情報に基づいて、複数のバンクに共通のアドレスを供給するアドレス供給回路を構成している。メモリ制御部４は、アドレス情報のうち、バンクを指定するバンク指定情報に基づいて、指定された任意数のバンクにバスクロックに同期して書込許可信号および／または読出許可信号を順次供給する許可信号供給回路を構成している。
【００３８】
なお上記実施形態においては、データの書き込みあるいは読み出しを行わないバンクが存在する場合、それら各バンクに対してもバスクロックの半周期の期間を費やしたが、それら各バンクに対してバスクロックの半周期の期間を費やさないように構成してもよい。たとえば、バンクＢ３からデータを読み出さない場合、単にバスサイクルＢＳ２の後半においてアウトプット・イネーブルＯＥ３をアサートしないのではなく、バスサイクルＢＳ２の後半においてアウトプット・イネーブルＯＥ４をアサートし、バスサイクルＢＳ３の前半においてアウトプット・イネーブルＯＥ５をアサートするように構成してもよい。
【００３９】
また上記実施形態においては、全てのバスマスタ２，３が同一周期のバスクロックを使用したが、バスマスタ２，３が互いに異なる周期のバススクロックを使用するように構成してもよい。この場合、最も周期の長いバススクロックを基準に考えれば、１回のバスサイクルで３つ以上のバンクに対してデータの書き込みあるいは読み出しを行うことが可能になる。
【００４０】
また上記実施形態においては、半導体メモリ部８を５個のバンクに分割したが、バンクの分割数は任意である。さらに、バス１のビット幅、１つのアドレスに対応するデータのビット数、あるいはバスマスタ２，３の設置数なども、当然に任意である。
【００４１】
【発明の効果】
以上説明したように本願発明によれば、１回のアドレス指定により全てのバンクに対して連続的にデータの書き込みあるいは読み出しを行うことが可能になるので、アドレス情報のうちの少なくとも一部とデータとで時分割でバスを共用する場合に、複数のバンクの同一バンク内アドレスへの連続した書き込みあるいは読み出しを高速に行うことができる。したがって、バスに複数のバスマスタが接続されたシステムにおいて、各バスマスタからのメモリアクセスの頻度が高くなった場合であっても、バスの使用頻度を極力低減でき、優先順位の低いバスマスタもバスの使用権を獲得することが容易になることから、システムの性能低下を極力防止できる。特に、カラープリンタなどのように、同一画素のシアン、マゼンタ、イエロー、黒などのデータを、メモリの各バンクの同一バンク内アドレスに順次書き込み、また順次読み出すような用途には、本願発明は極めて効果的である。
【図面の簡単な説明】
【図１】本願発明に係るメモリ制御回路を備えたコンピュータシステムの要部の回路ブロック図である。
【図２】本願発明に係るメモリ制御回路で使用されるアドレスのビット割り付けの説明図である。
【図３】本願発明に係るメモリ制御回路による書き込み動作のタイミングチャートである。
【図４】本願発明に係るメモリ制御回路による読み出し動作のタイミングチャートである。
【図５】従来のメモリ制御回路による書き込み動作のタイミングチャートである。
【図６】従来のメモリ制御回路による読み出し動作のタイミングチャートである。
【符号の説明】
１  バス
２  バスマスタ
３  バスマスタ
４  メモリ制御部
５  ラッチおよびマルチプレクサ
６  レシーバおよびドライバ
７  バスアービタ
８  半導体メモリ部
【図１】
0003816666.tif 000002
【図２】
0003816666.tif 000003
【図３】
0003816666.tif 000004
【図４】
0003816666.tif 000005
【図５】
0003816666.tif 000006
【図６】
0003816666.tif 000007