(57)【要約】【課題】  複数のメモリを制御する場合に、データ転送効率の低下を抑制するメモリ制御回路を提供する。【解決手段】  メモリ５１、５２、・・・・・、５ｎの動作を制御するコマンド信号ＣＤを、メモリ５１、５２、・・・・・、５ｎに共通に出力するコマンド発行部１１と、メモリ５１、５２、・・・・・、５ｎのアドレスを指定するアドレス信号ＡＤを、メモリ５１、５２、・・・・・、５ｎに共通に出力するアドレス部１２と、コマンド信号ＣＤによるメモリ５１、５２、・・・・・、５ｎの制御をそれぞれ有効にする複数のメモリ選択信号Ｓ１、Ｓ２、・・・・・、Ｓｎを、メモリ５１、５２、・・・・・、５ｎに出力するメモリ選択部１３と、メモリ５１、５２、・・・・・、５ｎとの間でそれぞれデータＤ１、Ｄ２、・・・・・、Ｄｎの転送をするデータ転送部１４とを備える。【選択図】      図１
2006139488.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリの動作を制御するコマンド信号を、前記複数のメモリに共通に出力するコマンド発行部と、
前記複数のメモリのアドレスを指定するアドレス信号を、前記複数のメモリに共通に出力するアドレス部と、  
前記コマンド信号による前記複数のメモリの制御をそれぞれ有効にする複数のメモリ選択信号を、前記複数のメモリに出力するメモリ選択部と、
前記複数のメモリとの間でそれぞれデータの転送をするデータ転送部
とを備えることを特徴とするメモリ制御回路。
【請求項２】
前記メモリ選択部は、前記データのデータ量に基づいて、前記コマンド信号による制御を有効にするメモリを前記複数のメモリから選択することを特徴とする請求項１に記載のメモリ制御回路。
【請求項３】
前記複数のメモリの動作を監視し、前記データの転送をするタイミングを制御する制御部を更に備えることを特徴とする請求項１又は２に記載のメモリ制御回路。      
【請求項４】
前記制御部は、前記コマンド発行部が前記コマンド信号を出力するタイミング及び前記コマンド信号による前記複数のメモリの制御をそれぞれ有効にするタイミングを制御することを特徴とする請求項３に記載のメモリ制御回路。
【請求項５】
前記データを格納するデータ記憶部を更に備えることを特徴とする請求項１乃至４のいずれか１項に記載のメモリ制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリを制御するメモリ制御回路に係り、特に複数のメモリを制御するメモリ制御回路に関する。
【背景技術】
【０００２】
メモリ制御回路は、アドレス信号、コマンド信号、及びメモリ選択信号等の制御信号を出力してメモリを制御する。そして、メモリ制御回路は、データバスを介して、データをメモリから読み出し、或いはメモリに書き込む。「アドレス信号」は、データを読み出す又はデータを書き込むメモリのアドレスを指定する信号である。「コマンド信号」は、メモリ動作を制御する信号である。コマンド信号により、メモリの読み出し動作又は書き込み動作が指定される。「メモリ選択信号」は、複数のメモリからデータの書き込み又は読み出しを行うメモリを選択する信号である。具体的には、メモリ選択信号が入力されたメモリにおいて、データの書き込み又は読み出しが行われる。「データバス」は、メモリから読み出されたデータ或いは、メモリに書き込まれるデータが伝搬するバスである。
【０００３】
１つのメモリ制御回路により複数のメモリを制御するために以下の方法がある。例えば、メモリ制御回路から制御信号をメモリ毎に出力して、それぞれのメモリを独立して制御することができる。しかし、この方法では、複数の制御信号がそれぞれ伝搬する信号線を、制御するメモリの数だけ用意する必要があり、メモリ制御回路の端子数が増大する。
【０００４】
一方、メモリ制御回路から出力する信号及びデータバスを複数のメモリで共有する方法は、共有する信号の種類により、様々な問題が生じる。例えば、アドレス信号、コマンド信号、データバスを共有し、メモリ選択信号のみ共有しない場合は、同時に複数のメモリにアクセスできない。そのため、データバスの一部のみを使用してデータが転送される。つまり、データバスを共有し、且つすべてのメモリにアクセスできる場合と比較すると、有効バンド幅が減少し、データ転送効率は低下する。
【０００５】
又、制御信号を共有し、データバスを共有しない場合は、メモリ毎にデータバスがあるため、全体としてのバンド幅が広い。しかし、アクセスするデータが少ない場合、バンド幅の無駄が発生し、データ転送効率が低下する（例えば、特許文献１参照。）。更に、例えば１つのバンクのページサイズが２ｋバイトのメモリを４つ使用する場合は、全体としてページサイズが８ｋバイトになる。連続するアドレスが少ないアクセスが多い場合は、２ｋバイトのページを４つ使用するよりも、８ｋバイト１ページを使用する方がバンクコンフリクトは発生しやすい。バンクコンフリクトが発生すると、メモリへのアクセスの待ち時間が発生し、データ転送効率が低下する。
【特許文献１】特開２０００−２５９４９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、複数のメモリを制御する場合に、データ転送効率の低下を抑制するメモリ制御回路を提供する。
【課題を解決するための手段】
【０００７】
本発明の特徴は、複数のメモリの動作を制御するコマンド信号を、複数のメモリに共通に出力するコマンド発行部と、複数のメモリのアドレスを指定するアドレス信号を、複数のメモリに共通に出力するアドレス部と、コマンド信号による複数のメモリの制御をそれぞれ有効にする複数のメモリ選択信号を、複数のメモリに出力するメモリ選択部と、複数のメモリとの間でそれぞれデータの転送をするデータ転送部とを備えるメモリ制御回路であることを要旨とする。
【発明の効果】
【０００８】
本発明によれば、複数のメモリを制御する場合に、データ転送効率の低下を抑制するメモリ制御回路を提供できる。
【発明を実施するための最良の形態】
【０００９】
次に、図面を参照して、本発明の第１又は第２の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。又、以下に示す第１又は第２の実施の形態は、この発明の技術的思想を具体化するための装置や方法を例示するものであって、この発明の技術的思想は、構成部品の材質、形状、構造、配置等を下記のものに特定するものでない。この発明の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。
【００１０】
（第１の実施の形態）
本発明の第１の実施の形態に係るメモリ制御回路は、図１に示すように、メモリ５１、５２、・・・・・、５ｎの動作を制御するコマンド信号ＣＤを、メモリ５１、５２、・・・・・、５ｎに共通に出力するコマンド発行部１１と、メモリ５１、５２、・・・・・、５ｎのアドレスを指定するアドレス信号ＡＤを、メモリ５１、５２、・・・・・、５ｎに共通に出力するアドレス部１２と、コマンド信号ＣＤによるメモリ５１、５２、・・・・・、５ｎの制御をそれぞれ有効にする複数のメモリ選択信号Ｓ１、Ｓ２、・・・・・、Ｓｎを、メモリ５１、５２、・・・・・、５ｎに出力するメモリ選択部１３と、メモリ５１、５２、・・・・・、５ｎとの間でそれぞれデータＤ１、Ｄ２、・・・・・、Ｄｎの転送をするデータ転送部１４とを備える（ｎ：２以上の整数。）。
【００１１】
コマンド発行部１１に、メモリ５１、５２、・・・・・、５ｎが共通の配線で接続される。又、アドレス部１２に、メモリ５１、５２、・・・・・、５ｎが共通の配線で接続される。一方、メモリ選択部１３に、メモリ５１、５２、・・・・・、５ｎがそれぞれ独立した配線で接続される。更に、データ転送部１４に、メモリ５１、５２、・・・・・、５ｎがそれぞれ独立した配線で接続される。
【００１２】
又、図１に示すように、メモリ制御回路１はシステムバス６０に接続される。システムバス６０に接続された図示を省略するＣＰＵ等から、メモリ５１、５２、・・・・・、５ｎに格納されたデータの読み出し信号、或いはメモリ５１、５２、・・・・・、５ｎへのデータの書き込み信号が、システムバス６０を介してメモリ制御回路１に入力される。
【００１３】
読み出し信号がメモリ制御回路１に入力された場合は、メモリ制御回路１は要求されたデータをメモリ５１、５２、・・・・・、５ｎから読み出す。即ち、メモリ選択部１３が要求されたデータが格納されたメモリを選択する。更に、アドレス部１２が要求されたデータが格納されたアドレスを指定する。そして、コマンド発行部１１が読み出し動作する信号を出力し、要求されたデータが読み出される。読み出されたデータは、データ転送部１４を介してシステムバス６０に出力される。
【００１４】
一方、書き込み信号がメモリ制御回路１に入力された場合は、メモリ制御回路１は、システムバス６０から入力されたデータをメモリ５１、５２、・・・・・、５ｎに書き込む。即ち、メモリ選択部１３が入力されたデータを格納するメモリを選択する。更に、アドレス部１２が入力されたデータを格納するアドレスを指定する。そして、コマンド発行部１１が書き込み動作する信号を出力する。入力されたデータは、データ転送部１４を介してメモリ５１、５２、・・・・・、５ｎに書き込まれる。
【００１５】
図２に示すように、データ転送部１４は、転送回路１４１、１４２、・・・・・、１４ｎを備える。転送回路１４１、１４２、・・・・・、１４ｎに、メモリ５１、５２、・・・・・、５ｎがそれぞれ接続される。メモリ５１が読み出し動作する場合は、メモリ５１からデータＤ１が転送回路１４１に転送される。一方、メモリ５１が書き込み動作する場合は、転送回路１４１からデータＤ１がメモリ５１に転送される。そして、システムバス６０と転送回路１４１、１４２、・・・・・、１４ｎとの間で、データＤ１、Ｄ２、・・・・・、Ｄｎが転送される。
【００１６】
図１に示したメモリ制御回路１によれば、メモリ５１、５２、・・・・・、５ｎに共通のコマンド信号ＣＤ及びアドレス信号ＡＤを出力するため、メモリ制御回路１の端子数の増加を抑制することができる。
【００１７】
又、メモリ選択信号がすべてのメモリに共通の場合には、メモリのサイズを同一にする必要がある。メモリによっては存在しないバンクやアドレスの指定をしないようにするためである。そのため、メモリの容量を個々に変更することができない。その結果、メモリの容量を増減する場合はすべてのメモリを変更することになり、コストが上昇する。図１に示すメモリ制御回路１によれば、メモリ選択信号Ｓ１、Ｓ２、・・・・・、Ｓｎがメモリ５１、５２、・・・・・、５ｎにそれぞれ入力される。そのため、メモリ５１、５２、・・・・・、５ｎのメモリ容量を同一にする必要がなく、個々のメモリの容量を増減できる。そのため、メモリの容量を変更する場合のコストの上昇を抑制できる。
【００１８】
更に、連続するアドレスが少ないアクセス（以下において、「ランダムアクセス」という。）の場合は、一般的に複数のバンクにアクセスする可能性が高い。そして、メモリ選択信号が共通の場合には、１つのメモリの複数のバンクを切り替えてアクセスする可能性が高い。例えば、メモリ５１のバンクＡ、Ｂを切り替えてアクセスする場合、図３（ａ）に示すように、時刻ｔ１から時刻ｔ２までメモリ５１のバンクＡを使用してデータ転送が行われた後、バンクの切り替えが行われる。いわゆるバンクコンフリクトのため、時刻ｔ２から時刻ｔ３の間はデータ転送ができない。そして、時刻ｔ３からメモリ５１のバンクＢを使用してデータ転送が行われる。
【００１９】
一方、図１に示すメモリ制御回路１によれば、メモリ５１、５２、・・・・・、５ｎを選択してアクセスできる。そのため、複数のメモリの同じバンクに連続してアクセスできる。例えば、図３（ｂ）に示すように、メモリ５１のバンクＡ及びメモリ５２のバンクＡにアクセスすることにより、時刻ｔ１から時刻ｔ２にメモリ５１のバンクＡを使用してデータ転送がされた後、時刻ｔ２からメモリ５２のバンクＡを使用してデータ転送が行われる。そのため、バンクコンフリクトが発生しない。つまり、メモリ制御回路１によれば、１つのメモリの異なるバンクを連続して使用する確率が減るため、バンクコンフリクトが発生する可能性が低くなる。その結果、データ転送効率の低下を抑制できる。「データ転送効率」とは、メモリ５１、５２、・・・・・、５ｎとシステムバス６０間でのデータが転送される効率である。つまり、データが転送されていないサイクルが発生する場合や、転送されるデータがバンド幅に占める割合（以下において、「バンド幅使用率」という。）が低い場合に、データ転送効率が低下する。
【００２０】
図１に示すメモリ制御回路１によれば、メモリの容量が同じでデータバス幅が異なるメモリが混在する場合に、転送されるデータ量が多く、必要なバンド幅が広い時は、メモリ選択部１３はバンド幅の広いメモリを選択する。一方、転送されるデータ量が少なく、必要なバンド幅が狭い時は、メモリ選択部１３がバンド幅の狭いメモリを選択することにより、バンド幅使用率の低下を抑制できる。
【００２１】
又、メモリ制御回路１によれば、１回のアクセスで転送されるデータ量に応じて、コマンド信号ＣＤを有効にするメモリの数を設定することができる。例えば、データ量が多く、アドレスが連続するデータが多い場合は、必要なバンド幅が広い。そのため、複数のメモリで同時にコマンド信号ＣＤを有効にするように、メモリ選択部１３はメモリ選択信号Ｓ１、Ｓ２、・・・・・、Ｓｎを設定する。データ量が少なくランダムアクセスの場合は、コマンド信号ＣＤを有効にするメモリの数を減らす。即ち、メモリ選択部１３は、転送するデータ量に応じて、コマンド信号ＣＤを有効にするメモリをメモリ５１、５２、・・・・・、５ｎから選択する。その結果、バンド幅使用率を上げてデータ転送効率の低下を抑制できる。
【００２２】
次に、メモリ５１、５２、・・・・・、５ｎがダブル・データ・レート・２・シンクロナス・ダイナミック・ランダム・アクセス・メモリ（ＤＤＲ２  ＳＤＲＡＭ、以下において「ＤＤＲ２メモリ」という。）の場合に、メモリ制御回路１によってメモリ５１、５２、・・・・・、５ｎを制御する方法の例を説明する。ＤＤＲ２メモリは、クロック信号の立ち上がりと立下りの両方でデータの読み出し又は書き込みができるＳＤＲＡＭである。
【００２３】
図４に示すタイミングチャートは、メモリ制御回路１によってメモリ５１、５２を制御した例である。図４において、コマンド発行部１１からコマンド信号ＣＤとして出力されるコマンドの種類は、以下のとおりである。「ＡＣＴ」はアクティブにするバンクを指定するコマンドである。「Ｒｄ」は、データを読み出させるコマンドである。「Ｒｄ＿Ａ」は、読み出し及びプリチャージを行わせるコマンドである。「Ｗｒ」は、データを書き込ませるコマンドである。「Ｗｒ＿Ａ」は、書き込み及びプリチャージを行わせるコマンドである。「ＰＲＥ」は、プリチャージを行わせるコマンドである。なお、各コマンドで指定されているＡ、Ｂ、Ｃ、Ｄは、メモリ５１、５２のバンク名である。例えば、コマンド「ＡＣＴ（Ａ）」は、バンクＡをアクティブにする。又、メモリ選択信号Ｓ１、Ｓ２がハイレベルの時に、メモリ５１、５２でコマンド信号ＣＤが有効になる。
【００２４】
図４は、キャスレイテンシＣＬ＝４、アディティブレイテンシＡＬ＝３の例を示している。キャスレイテンシＣＬ及びアディティブレイテンシＡＬは、読み出しコマンドが入力されてから、データがメモリから読み出されるまでのサイクル数である。したがって、図４では、読み出しコマンドが入力されてからデータが読み出されるまで７サイクルである。アディティブレイテンシＡＬは、ＤＤＲ２メモリで追加された仕様である。なお、ＤＤＲ２メモリでは、読み出しコマンドが入力されてからデータが読み出されるまでのサイクル数より、書き込みコマンドが入力されてからメモリにデータが書き込まれるまでのサイクル数の方が少ない。図４に示した例では、書き込みコマンドが入力されてからメモリにデータが書き込まれるまでのサイクル数は６サイクルである。
【００２５】
図４のタイミングチャートのサイクルｃ１において、バンクＡをアクティブにするコマンド「ＡＣＴ（Ａ）」がコマンド発行部１１から出力される。このとき、メモリ選択信号Ｓ１がハイレベルであるため、メモリ選択信号Ｓ１が入力されるメモリ５１でコマンド信号ＣＤは有効である。つまり、メモリ５１のバンクＡがアクティブになる。一方、メモリ選択信号Ｓ２はローレベルであるため、メモリ選択信号Ｓ２が入力されるメモリ５２ではコマンド信号ＣＤは無効である。同様に、サイクルｃ２からサイクルｃ６までメモリ選択信号Ｓ１はハイレベルであり、メモリ選択信号Ｓ２はローレベルであるため、コマンド信号ＣＤはメモリ５１でのみ有効である。したがって、サイクルｃ２においてコマンド「Ｒｄ（Ａ）」がコマンド発行部１１から出力された場合に、メモリ５１のアクティブになったバンクＡから読み出されたデータＤ１がシステムバス６０に転送される。
【００２６】
ところで、ＤＤＲ２メモリでは、バースト長が４バースト又は８バーストに制限され、最短バースト長は４バーストである。「バースト長」とは、１回のアドレス指定でアクセスされる、アドレスが連続するデータの数である。図４では、バースト長が８バーストの例を示した。つまり、図４で図示を省略するアドレス信号ＡＤによって指定されたアドレスから連続する８アドレスのデータが読み出される。したがって、コマンド「Ｒｄ（Ａ）」が入力された場合、メモリ５１のバンクＡから８個のデータがサイクルｃ９から４サイクルの間に読み出される。既に述べたように、ＤＤＲ２メモリはクロック信号の立ち上がりと立下りの両方でデータの読み出し又は書き込みをするため、８個のデータは４サイクルで読み出される。図４は、サイクルｃ９からサイクルｃ１２まで、アクティブになったバンクＡからデータＤ１が転送されることを示している。
【００２７】
又、ＤＤＲ２メモリの仕様により、コマンド信号ＣＤを連続してＤＤＲ２メモリで有効にできない。ＤＤＲ２メモリにコマンド信号ＣＤを有効にできる最小の間隔であるコマンド・トゥ・コマンド・ディレイ時間（ｔＣＣＤ）は２サイクルである。図４に示すように、サイクルｃ３、ｃ４ではコマンド信号ＣＤがメモリ５１に出力されない。そして、サイクルｃ５において、バンクＢをアクティブにするコマンド「ＡＣＴ（Ｂ）」が、コマンド発行部１１から出力される。次いで、サイクルｃ６において、コマンド「Ｒｄ（Ｂ）」がコマンド発行部１１から出力され、メモリ５１のアクティブになったバンクＢからデータＤ１が読み出される。データＤ１は、サイクルｃ１３からサイクルｃ１６の間にメモリ５１から読み出され、システムバス６０に転送される。
【００２８】
サイクルｃ７において、バンクＡをアクティブにするコマンド「ＡＣＴ（Ａ）」が、コマンド発行部１１から出力される。次いで、サイクルｃ８において、コマンド「Ｗｒ（Ａ）」がコマンド発行部１１から出力される。サイクルｃ７、ｃ８では、メモリ選択信号Ｓ２がハイレベルである。そのため、メモリ選択信号Ｓ２が入力されるメモリ５２でコマンド信号ＣＤは有効である。したがって、メモリ５２のアクティブになったバンクＡにデータＤ２が書き込まれる。一方、メモリ選択信号Ｓ１はローレベルであるため、メモリ５１でコマンド信号ＣＤは無効である。  
サイクルｃ５、ｃ６においてメモリ５１でコマンド「Ｒｄ（Ａ）」が有効になっているため、サイクルｃ７、ｃ８においては、メモリ５１にコマンド信号ＣＤを有効にすることはできない。そのため、メモリ選択信号Ｓ１、Ｓ２が共通であるために、メモリ５１、５２で同時にコマンド信号ＣＤが有効になる場合は、サイクルｃ７、ｃ８において、メモリ選択部１３はコマンド信号ＣＤを有効にすることができない。しかし、サイクルｃ７、ｃ８においてメモリ選択信号Ｓ１をローレベル、メモリ選択信号Ｓ２をハイレベルにすることにより、メモリ５２でのみコマンド信号ＣＤを有効にすることができる。そのため、サイクルｃ１４からサイクルｃ１７の間で、データＤ２がメモリ５２に書き込まれる。その結果、サイクルｃ１４からは、メモリ５１からのデータＤ１の読み出しとメモリ５２へのデータＤ２への書き込みが同時に行われる。
【００２９】
サイクルｃ９、ｃ１０では、メモリ５２でコマンド信号ＣＤを有効にできないため、メモリ選択信号Ｓ２はローレベルに設定される。一方、メモリ５１にはコマンド信号ＣＤを有効にできるため、メモリ選択信号Ｓ１はハイレベルに設定される。サイクルｃ９において、バンクＣをアクティブにするコマンド「ＡＣＴ（Ｃ）」が、コマンド発行部１１から出力される。次いで、サイクルｃ１０において、コマンド「Ｒｄ（Ｃ）」がコマンド発行部１１から出力される。そして、サイクルｃ１７から、メモリ５１のバンクＣからデータＤ１が読み出される。
【００３０】
更に、サイクルｃ１１、ｃ１２ではメモリ選択信号Ｓ２がハイレベルになり、メモリ５２のバンクＢにデータＤ２を書き込むコマンド信号ＣＤが有効になる。サイクルｃ１３、ｃ１４では、メモリ選択信号Ｓ１がハイレベルになり、メモリ５１のバンクＤからデータＤ１を読み出すコマンド信号ＣＤが有効になる。以降のサイクルでも同様にして、メモリ選択信号Ｓ１、Ｓ２がそれぞれ交互にハイレベルになり、メモリ５１、５２で交互にコマンド信号ＣＤが有効になる。その結果、図４に示すように、メモリ５１及びメモリ５２とメモリ制御回路１の間でデータＤ１及びデータＤ２を同時に転送することができる。したがって、ＤＤＲ２メモリにおいても、データ転送効率の低下を抑制することができる。
【００３１】
既に述べたように、コマンド信号ＣＤを連続して１つのＤＤＲ２メモリで有効にすることはできない。そのため、上記の説明では、メモリ制御回路１により、２つのメモリ５１、５２で交互にコマンド信号ＣＤを有効にする例を示したが、更にコマンド信号ＣＤを有効にするメモリの数を増やしても良い。例えば、メモリ選択信号Ｓ１、Ｓ２、・・・・・、Ｓｎを順次ハイレベルにすることにより、メモリ５１、５２、・・・・・、５ｎでコマンド信号ＣＤを順次有効にできる。つまり、簡単な制御によりデータ転送効率を向上させることができる。
【００３２】
ところで、ＤＤＲ２メモリはバースト長が固定されているため、ランダムアクセスの場合には、１つのメモリから読み出される不必要なデータの割合が増加する。更に、ＤＤＲ２メモリでは、データマスク付きの書き込みをする場合がある。「データマスク付きの書き込み」とは、不必要なデータがメモリに書き込まれないように、書き込む必要のないデータをマスクする書き込みである。そのため、書き込み時に転送されるデータが多くなり、特にランダムアクセスの場合には、マスクするデータの割合が増加する。しかし、図１に示したメモリ制御回路１は、メモリ５１、５２、・・・・・、５ｎとデータ転送部１４との間で同時にデータ転送できる。そのため、不必要なデータのみを転送しているサイクルを減少させることができ、データ転送効率を上げることができる。
【００３３】
以上に説明したように、本発明の第１の実施の形態に係るメモリ制御回路によれば、メモリ５１、５２、・・・・・、５ｎとデータ転送部１４との間でデータＤ１、Ｄ２、・・・・・、Ｄｎを同時に転送することができる。その結果、複数のメモリを制御する場合に、データ転送効率の低下を抑制するメモリ制御回路１を実現できる。
【００３４】
（第１の実施の変形例）
ＤＤＲ２メモリのバースト長が８バーストの場合は、インタラプトタイミングは４バーストと規定されている。つまり、バースト長が８の設定で、４バースト毎に割り込むことができる。そのため、４バーストの読み出し要求があった場合は、８バーストの前半の読み出したい４データが読み出された後に割り込みすることにより、８バーストの後半の読み出す必要のないデータは読み出されない。又、４バーストの書き込み要求があった場合は、８バーストの前半の書き込みたいデータが書き込まれた後に割り込みすることにより、８バーストの後半の書き込む必要のないデータは書き込まれない。つまり、データマスク付きの書き込みが必要ない。
【００３５】
例えば、図５に示すように、４バースト毎に割り込みをしながら、メモリ５１でコマンド「Ｒｄ（Ａ）」及びコマンド「Ｒｄ（Ｂ）」を交互に有効にすると、メモリ５１のバンクＡ及びバンクＢから、それぞれ前半の４バーストのデータのみが読み出される。図５では、サイクルｃ５においてコマンド発行部１１から出力されるコマンド「Ｒｄ（Ａ）」により、サイクルｃ１２からメモリ５１のバンクＡに格納されたデータが読み出される。しかし、サイクルｃ７においてコマンド発行部１１から出力されるコマンド「Ｒｄ（Ｂ）」によって、メモリ５１のバンクＡから４データを読み出した後に割り込みされ、残りの４データは読み出されない。そして、サイクルｃ７のコマンド「Ｒｄ（Ｂ）」により、サイクルｃ１４からメモリ５１のバンクＢに格納されたデータが読み出される。そして、メモリ５１のバンクＢから４データを読み出した後に、サイクルｃ９のコマンド「Ｒｄ（Ａ）」に割り込みされ、残りの４データは読み出されない。
【００３６】
図５では、奇数サイクルｃ１、ｃ３、・・・・・、においてメモリ５１でコマンド信号ＣＤを有効にする例を示した。偶数サイクルｃ２、ｃ４、・・・・・、において、例えばメモリ５２でコマンド信号ＣＤを有効にすることにより、コマンド信号ＣＤが常に出力される。そのため、データＤ１及びデータＤ２が常に転送される。
【００３７】
したがって、第１の実施の変形例によれば、バースト長８の場合に、４バースト連続の読み出し又は書き込みを行うことにより、データ転送効率の低下を抑制できる。
【００３８】
（第２の実施の形態）
本発明の第２の実施の形態に係るメモリ制御回路は、図６に示すように、制御部１５を更に備える点が図１と異なる。その他の構成については、図１に示す第１の実施の形態と同様である。制御部１５は、コマンド発行部１１、メモリ選択部１３及びメモリ５１、５２、・・・・・、５ｎに接続される（ｎ：２以上の整数。）。制御部１５は、メモリ５１、５２、・・・・・、５ｎの動作を監視し、メモリ５１、５２、・・・・・、５ｎとデータ転送部１４間のデータ転送するタイミングを制御する。具体的には、制御部１５は、コマンド発行部１１がコマンド信号ＣＤを出力するタイミング及びメモリ選択部１３が出力するメモリ選択信号Ｓ１、Ｓ２、・・・・・、Ｓｎによるメモリ５１、５２、・・・・・、５ｎの制御を有効にするタイミングを制御する。
【００３９】
複数のメモリに同時にアクセスした時に、すべてのメモリにアクセス可能ではない場合がある。例えば、他の処理を行っているメモリにはすぐにアクセスできない。以下に、図６に示すメモリ制御回路１ａにより、一部のメモリにすぐにアクセスできない場合に、メモリ５１、５２、・・・・・、５ｎを制御する例を説明する。以下においては、メモリ５１、５２にアクセス要求があった時に、メモリ５２にすぐにアクセスできない場合を例示的に説明する。
【００４０】
メモリ５２にアクセスできない場合に、メモリ５１へのアクセスも停止してしまうと、データＤ１、Ｄ２が転送されないサイクルが発生する。その後、メモリ５２がアクセス可能になるサイクルまでデータＤ１、Ｄ２は転送されない。そのため、データ転送効率が低下する。しかし、制御部１５がメモリ５１、５２の動作を監視し、メモリ５２にアクセスできない時は、メモリ５１のメモリ選択信号Ｓ１のみをハイレベルにするようにメモリ選択部１３を制御する。そして、コマンド発行部１１からコマンド信号ＣＤを出力させて、メモリ５１と転送回路１４１間でデータＤ１を転送する。その後、メモリ５２がアクセス可能になった時点で、制御部１５がメモリ５２のメモリ選択信号Ｓ２をハイレベルにするようにメモリ選択部１３を制御する。そして、コマンド発行部１１からコマンド信号ＣＤを出力させて、メモリ５２と転送回路１４２間でデータＤ２を転送する。そのため、データ転送効率の低下を抑制することができる。
【００４１】
以上に説明したように、図６に示したメモリ制御回路１ａによれば、データ転送部１４とメモリ５１、５２、・・・・・、５ｎ間でデータが転送されないサイクルの発生を減少させ、データ転送効率の低下を抑制できる。
【００４２】
（第２の実施の変形例）
第２の実施の形態の変形例に係るメモリ制御回路を図７に示す。図７に示したメモリ制御回路１ｂは、データ記憶部１６及びデータ検出部１７を更に備える点が図１と異なる。その他の構成については、図１に示す第１の実施の形態と同様である。データ記憶部１６は、データ転送部１４に接続され、データ転送部１４から転送されたデータを格納する。データ記憶部１６は、例えば先入れ先出し（ＦＩＦＯ）方式メモリ等が採用可能である。データ検出部１７は、データ記憶部１６に接続され、データ記憶部１６に格納されたデータを検出する。
【００４３】
前述したように、例えばメモリ５２にすぐにアクセスできない場合、メモリ５１からデータＤ１がデータ転送部１４に転送されるサイクルと、メモリ５２からデータＤ２がデータ転送部１４に転送されるサイクルが異なる。そのため、例えばデータＤ１とデータＤ２について同時に読み出し要求があったにもかかわらず、データＤ１及びデータＤ２は、異なるサイクルでデータ転送部１４からシステムバス６０にそれぞれ転送される。したがって、転送する回数が２回に増え、更にシステムバス６０のバンド幅使用率が低下する。
【００４４】
しかし、図７に示したメモリ制御回路１ｂによれば、データＤ１及びデータＤ２をデータ記憶部１６にそれぞれ格納する。そして、データ検出部１７が、同時に読み出し要求があったデータＤ１、Ｄ２が共にデータ記憶部１６に格納されたことを検出すると、データ検出部１７は、格納したデータＤ１、Ｄ２をシステムバス６０に転送させる。そのため、システムバス６０への転送は１回であり、システムバス６０のバンド幅使用率の低下を抑制することができる。
【００４５】
以上に説明したように、メモリ制御回路１ｂによれば、同時に読み出されたデータをデータ記憶部１６にすべて格納した後、システムバス６０に転送する。そのため、システムバス６０のデータ転送効率の低下を抑制することができる。一方、システムバス６０から転送されたデータを、データ記憶部１６に格納し、書き込むメモリがアクセス可能になるまで、転送されたデータを保持することができる。
【００４６】
（その他の実施の形態）
上記のように、本発明は第１又は第２の実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
【００４７】
既に述べた第２実施の形態の説明においては、制御部１５がメモリ５１、５２、・・・・・、５ｎに接続されて、メモリ５１、５２、・・・・・、５ｎの動作を監視する例を説明した。しかし、制御部１５は、コマンド発行部１１から出力されるコマンド信号ＣＤを解析して、メモリ５１、５２、・・・・・、５ｎの動作を監視してもよい。
【００４８】
このように、本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。したがって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【図面の簡単な説明】
【００４９】
【図１】本発明の第１の実施の形態に係るメモリ制御回路の構成を示す模式図である。
【図２】本発明の第１の実施の形態に係るメモリ制御回路のデータ転送部の構成を示す模式図である。
【図３】本発明の第１の実施の形態に係るメモリ制御回路の効果を説明するためのタイミングチャートであり、図３（ａ）は１つのメモリの複数のバンクを使用する例、図３（ｂ）は複数のメモリを使用する例である。
【図４】本発明の第１の実施の形態に係るメモリ制御回路の動作を説明するためのタイミングチャートである。
【図５】本発明の第１の実施の形態の変形例に係るメモリ制御回路の動作を説明するためのタイミングチャートである。
【図６】本発明の第２の実施の形態に係るメモリ制御回路の構成を示す模式図である。
【図７】本発明の第２の実施の形態の変形例に係るメモリ制御回路の構成を示す模式図である。
【符号の説明】
【００５０】
１、１ａ、１ｂ…メモリ制御回路
１１…コマンド発行部
１２…アドレス部
１３…メモリ選択部
１４…データ転送部
１５…制御部
１６…データ記憶部
１７…データ検出部
５１、５２、・・・・・、５ｎ…メモリ
６０…システムバス
【図１】
2006139488.tif 000003
【図２】
2006139488.tif 000004
【図３】
2006139488.tif 000005
【図４】
2006139488.tif 000006
【図５】
2006139488.tif 000007
【図６】
2006139488.tif 000008
【図７】
2006139488.tif 000009