(57)【要約】【課題】アクセス効率の高いメモリアクセスシステムを提供することである。【解決手段】本発明にかかるメモリアクセスシステムは、第１乃至第４のメモリ１０、２０、３０、４０と、メモリコントローラ１とを備える。メモリコントローラ１は、第１のチップセレクト信号（ＣＳ０）を活性化する第１のタイミングにおいて、互いに異なる第１および第２の固有アドレス（ＡＤＡ、ＡＤＢ）を供給することで、第１および第２のメモリ１０、２０に格納された第１のブロック群のブロックにアクセスする。また、第２のチップセレクト信号（ＣＳ１）を活性化する第２のタイミングにおいて、互いに異なる第１および第２の固有アドレス（ＡＤＡ、ＡＤＢ）を供給することで、第３および第４のメモリ３０、４０に格納された第２のブロック群のブロックにアクセスする。【選択図】図１
2011175450.tif 000002
【特許請求の範囲】
【請求項１】
２次元配置のデータを最小アクセス単位であるブロック単位で格納する第１乃至第４のメモリと、当該メモリへのアクセスを制御するメモリコントローラとを備えるメモリアクセスシステムであって、
前記メモリコントローラは、前記第１および第２のメモリに第１のチップセレクト信号を供給し、前記第３および第４のメモリに第２のチップセレクト信号を供給し、前記第１および第３のメモリに第１の固有アドレスを供給し、前記第２および第４のメモリに第２の固有アドレスを供給し、前記第１乃至第４のメモリに共通アドレスを供給し、
前記２次元配置のデータは所定の格納単位でマッピングされる共に、Ｘ方向に並んでいるブロックの前記第１および第２の固有アドレスが同一となるように、Ｙ方向に配置され、前記第１および第２のメモリに格納された第１のブロック群のそれぞれのブロックの前記第１および第２の固有アドレスが異なるように、Ｙ方向に配置され、前記第３および第４のメモリに格納された第２のブロック群のそれぞれのブロックの前記第１および第２の固有アドレスが、前記第１のブロック群のそれぞれのブロックの前記第１および第２の固有アドレスと一致するように、かつ、前記第１および第２のブロック群のそれぞれのブロックの共通アドレスが同一となるようにマッピングされており、
前記メモリコントローラは、前記第１のチップセレクト信号を活性化する第１のタイミングにおいて、互いに異なる前記第１および第２の固有アドレスを供給することで、前記第１のブロック群のブロックにアクセスし、前記第２のチップセレクト信号を活性化する第２のタイミングにおいて、互いに異なる前記第１および第２の固有アドレスを供給することで、前記第２のブロック群のブロックにアクセスする、
メモリアクセスシステム。
【請求項２】
前記２次元配置のデータは、前記Ｙ方向に配置されているブロックのうち互いに隣り合っているブロックが、前記第１および第２のメモリに格納されるように、または前記第３および第４のメモリに格納されるようにマッピングされている、請求項１に記載のメモリアクセスシステム。
【請求項３】
前記メモリコントローラが前記第１のタイミングにおいて供給する前記第１および第２の固有アドレスは、前記メモリコントローラが前記第２のタイミングにおいて供給する前記第１および第２の固有アドレスと同一である、請求項１または２に記載のメモリアクセスシステム。
【請求項４】
前記メモリコントローラは、更に、
前記第１のチップセレクト信号を活性化する第３のタイミングにおいて、前記第１のタイミングで供給した前記第１および第２の固有アドレスと異なると共に、互いに異なる前記第１および第２の固有アドレスを供給することで、前記第１のブロック群のうち前記第１のタイミングでアクセスしたブロックとは異なるブロックにアクセスし、
前記第２のチップセレクト信号を活性化する第４のタイミングにおいて、前記第２のタイミングで供給した前記第１および第２の固有アドレスと異なると共に、互いに異なる前記第１および第２の固有アドレスを供給することで、前記第２のブロック群のうち前記第２のタイミングでアクセスしたブロックとは異なるブロックにアクセスする、請求項１乃至３のいずれか一項に記載のメモリアクセスシステム。
【請求項５】
前記２次元配置のデータは、Ｘ方向に並んでいるブロックが前記第１および第２のメモリに格納されるように、または前記第３および第４のメモリに格納されるようにマッピングされている、請求項１乃至４のいずれか一項に記載のメモリアクセスシステム。
【請求項６】
前記２次元配置のデータは、Ｘ方向に並んでいるブロックのうち同一のメモリに格納されているブロックの共通アドレスが昇順となるようにマッピングされている、請求項１乃至５のいずれか一項に記載のメモリアクセスシステム。
【請求項７】
前記メモリコントローラは、Ｙ方向に並んでいるブロックにアクセスする際のバースト長がＸ方向に並んでいるブロックにアクセスする際のバースト長の半分となるように前記第１乃至第４のメモリにアクセスする、請求項１乃至６のいずれか一項に記載のメモリアクセスシステム。
【請求項８】
前記メモリコントローラは、更に、
前記第１および第２のチップセレクト信号に応じて前記第１のメモリのデータ出力または前記第３のメモリのデータ出力を選択する第１のセレクタと、
前記第１および第２のチップセレクト信号に応じて前記第２のメモリのデータ出力または前記第４のメモリのデータ出力を選択する第２のセレクタと、を備える請求項１乃至７のいずれか一項に記載のメモリアクセスシステム。
【請求項９】
前記第１のチップセレクト信号を活性化する第１のタイミングにおいて、前記第１のセレクタは前記第１のメモリのデータ出力を選択し、前記第２のセレクタは前記第２のメモリのデータ出力を選択し、
前記第２のチップセレクト信号を活性化する第２のタイミングにおいて、前記第１のセレクタは前記第３のメモリのデータ出力を選択し、前記第２のセレクタは前記第４のメモリのデータ出力を選択する、請求項８に記載のメモリアクセスシステム。
【請求項１０】
前記所定の格納単位の前記２次元配置のデータは、
Ｙ方向において、１行目のブロックが前記第１のメモリに、２行目のブロックが前記第２のメモリに、３行目のブロックが前記第２のメモリに、４行目のブロックが前記第１のメモリに、前記第１および第２の固有アドレスが当該１行目乃至４行目の順に昇順となるようにマッピングされ、
更に、Ｙ方向において、５行目のブロックが前記第３のメモリに、６行目のブロックが前記第４のメモリに、７行目のブロックが前記第４のメモリに、８行目のブロックが前記第３のメモリに、前記第１および第２の固有アドレスが当該５行目乃至８行目の順に昇順となるようにマッピングされ、
前記１行目乃至４行目のブロックが前記第１のブロック群を構成し、前記５行目乃至８行目のブロックが前記第２のブロック群を構成する、請求項１乃至９のいずれか一項に記載のメモリアクセスシステム。
【請求項１１】
前記所定の格納単位の前記２次元配置のデータは、
Ｙ方向において、１行目のブロックが前記第２のメモリに、２行目のブロックが前記第１のメモリに、３行目のブロックが前記第１のメモリに、４行目のブロックが前記第２のメモリに、前記第１および第２の固有アドレスが当該１行目乃至４行目の順に昇順となるようにマッピングされ、
更に、Ｙ方向において、５行目のブロックが前記第４のメモリに、６行目のブロックが前記第３のメモリに、７行目のブロックが前記第３のメモリに、８行目のブロックが前記第４のメモリに、前記第１および第２の固有アドレスが当該５行目乃至８行目の順に昇順となるようにマッピングされ、
前記１行目乃至４行目のブロックが前記第１のブロック群を構成し、前記５行目乃至８行目のブロックが前記第２のブロック群を構成する、請求項１乃至１０のいずれか一項に記載のメモリアクセスシステム。
【請求項１２】
前記所定の格納単位の前記２次元配置のデータは、
Ｙ方向において、１行目のブロックが前記第１のメモリに、２行目のブロックが前記第２のメモリに、５行目のブロックが前記第２のメモリに、６行目のブロックが前記第１のメモリに、前記第１および第２の固有アドレスが当該１行目、２行目、５行目、６行目の順に昇順となるようにマッピングされ、
更に、Ｙ方向において、３行目のブロックが前記第３のメモリに、４行目のブロックが前記第４のメモリに、７行目のブロックが前記第４のメモリに、８行目のブロックが前記第３のメモリに、前記第１および第２の固有アドレスが当該３行目、４行目、７行目、８行目の順に昇順となるようにマッピングされ、
前記１行目、２行目、５行目、および６行目のブロックが前記第１のブロック群を構成し、前記３行目、４行目、７行目、および８行目のブロックが前記第２のブロック群を構成する、請求項１乃至９のいずれか一項に記載のメモリアクセスシステム。
【請求項１３】
前記所定の格納単位の前記２次元配置のデータは、
Ｙ方向において、１行目のブロックが前記第２のメモリに、２行目のブロックが前記第１のメモリに、５行目のブロックが前記第１のメモリに、６行目のブロックが前記第２のメモリに、前記第１および第２の固有アドレスが当該１行目、２行目、５行目、６行目の順に昇順となるようにマッピングされ、
更に、Ｙ方向において、３行目のブロックが前記第４のメモリに、４行目のブロックが前記第３のメモリに、７行目のブロックが前記第３のメモリに、８行目のブロックが前記第４のメモリに、前記第１および第２の固有アドレスが当該３行目、４行目、７行目、８行目の順に昇順となるようにマッピングされ、
前記１行目、２行目、５行目、および６行目のブロックが前記第１のブロック群を構成し、前記３行目、４行目、７行目、および８行目のブロックが前記第２のブロック群を構成する、請求項１乃至９、１２のいずれか一項に記載のメモリアクセスシステム。
【請求項１４】
２次元配置のデータが最小アクセス単位であるブロック単位で格納された第１乃至第４のメモリにアクセスするメモリアクセス制御方法であって、
前記第１および第２のメモリに第１のチップセレクト信号を供給し、前記第３および第４のメモリに第２のチップセレクト信号を供給し、前記第１および第３のメモリに第１の固有アドレスを供給し、前記第２および第４のメモリに第２の固有アドレスを供給し、前記第１乃至第４のメモリに共通アドレスを供給し、
前記２次元配置のデータを所定の格納単位でマッピングすると共に、Ｘ方向に並んでいるブロックの前記第１および第２の固有アドレスが同一となるように、Ｙ方向に配置され、前記第１および第２のメモリに格納された第１のブロック群のそれぞれのブロックの前記第１および第２の固有アドレスが異なるように、Ｙ方向に配置され、前記第３および第４のメモリに格納された第２のブロック群のそれぞれのブロックの前記第１および第２の固有アドレスが、前記第１のブロック群のそれぞれのブロックの前記第１および第２の固有アドレスと一致するように、かつ、前記第１および第２のブロック群のそれぞれのブロックの共通アドレスが同一となるようにマッピングし、
前記第１のチップセレクト信号を活性化する第１のタイミングにおいて、互いに異なる前記第１および第２の固有アドレスを供給することで、前記第１のブロック群のブロックにアクセスし、
前記第２のチップセレクト信号を活性化する第２のタイミングにおいて、互いに異なる前記第１および第２の固有アドレスを供給することで、前記第２のブロック群のブロックにアクセスする、
メモリアクセス制御方法。
【請求項１５】
前記２次元配置のデータを、前記Ｙ方向に配置されているブロックのうち互いに隣り合っているブロックが、前記第１および第２のメモリに格納されるように、または前記第３および第４のメモリに格納されるようにマッピングする、請求項１４に記載のメモリアクセ制御方法。
【請求項１６】
前記第１のタイミングにおいて供給される前記第１および第２の固有アドレスは、前記第２のタイミングにおいて供給される前記第１および第２の固有アドレスと同一である、請求項１４または１５に記載のメモリアクセス制御方法。
【請求項１７】
前記第１のチップセレクト信号を活性化する第３のタイミングにおいて、前記第１のタイミングで供給した前記第１および第２の固有アドレスと異なると共に、互いに異なる前記第１および第２の固有アドレスを供給することで、前記第１のブロック群のうち前記第１のタイミングでアクセスしたブロックとは異なるブロックにアクセスし、
前記第２のチップセレクト信号を活性化する第４のタイミングにおいて、前記第２のタイミングで供給した前記第１および第２の固有アドレスと異なると共に、互いに異なる前記第１および第２の固有アドレスを供給することで、前記第２のブロック群のうち前記第２のタイミングでアクセスしたブロックとは異なるブロックにアクセスする、請求項１４乃至１６のいずれか一項に記載のメモリアクセス制御方法。
【請求項１８】
前記２次元配置のデータを、Ｘ方向に並んでいるブロックが前記第１および第２のメモリに格納されるように、または前記第３および第４のメモリに格納されるようにマッピングする、請求項１４乃至１７のいずれか一項に記載のメモリアクセス制御方法。
【請求項１９】
前記２次元配置のデータを、Ｘ方向に並んでいるブロックのうち同一のメモリに格納されているブロックの共通アドレスが昇順となるようにマッピングする、請求項１４乃至１８のいずれか一項に記載のメモリアクセス制御方法。
【請求項２０】
Ｙ方向に並んでいるブロックにアクセスする際のバースト長がＸ方向に並んでいるブロックにアクセスする際のバースト長の半分となるように前記第１乃至第４のメモリにアクセスする、請求項１４乃至１９のいずれか一項に記載のメモリアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメモリアクセスシステムおよびメモリアクセス制御方法に関し、特に２次元に配置されたデータを複数のメモリに格納するメモリアクセスシステムおよびメモリアクセス制御方法に関する。
【背景技術】
【０００２】
画像データなどの２次元配置のデータを複数のメモリに格納する技術がある。図１０は背景技術にかかるメモリアクセスシステムを説明するためのブロック図である。図１０に示すメモリアクセスシステムは、メモリコントローラ１０１、メモリＡ（１１０）、メモリＢ（１２０）を有する。メモリコントローラ１０１はメモリＡ（１１０）およびメモリＢ（１２０）と接続されている。メモリコントローラ１０１は、メモリＡ（１１０）およびメモリＢ（１２０）に対して共通のアドレス（ＡＤ）を供給する。メモリＡ（１１０）は、アドレスデコーダＡ（１１１）、記憶領域Ａ（１１２）、インターフェースＡ（１１３）、バス１１４を備える。同様に、メモリＢ（１２０）は、アドレスデコーダＢ（１２１）、記憶領域Ｂ（１２２）、インターフェースＢ（１２３）、バス１２４を備える。また、プロセッサ１０２、デコーダ１０３は共通バス１０４を介してメモリコントローラ１０１に接続されている。
【０００３】
デコーダ１０３がメモリＡ（１１０）、メモリＢ（１２０）に記憶されているデータにアクセスする場合、デコーダ１０３はアクセスを行おうとするデータの２次元配置の座標（Ｘ、Ｙ）を、共通バス１０４を経由してメモリコントローラ１０１に出力する。メモリコントローラ１０１は、デコーダ１０３から２次元配置の座標（Ｘ、Ｙ）を受け取ると、この座標に対応したデータのアドレス（ＡＤ）をメモリＡ（１１０）およびメモリＢ（１２０）のアドレスデコーダＡ（１１１）およびアドレスデコーダＢ（１２１）に出力する。
【０００４】
アドレスデコーダＡ（１１１）は、メモリコントローラ１０１からアドレス（ＡＤ）を受け取り、このアドレス（ＡＤ）に対応したアドレスを記憶領域Ａ（１１２）に出力する。記憶領域Ａ（１１２）は、このアドレスデコーダＡ（１１１）からのアドレスに応じて、データをバス１１４およびインターフェースＡ（１１３）を経由して、メモリコントローラ１０１へ出力する。同様に、アドレスデコーダＢ（１２１）は、メモリコントローラ１０１からアドレス（ＡＤ）を受け取り、このアドレス（ＡＤ）に対応したアドレスを記憶領域Ｂ（１２２）に出力する。記憶領域Ｂ（１２２）は、このアドレスデコーダＢ（１２１）からのアドレスに応じて、データをバス１２４およびインターフェースＢ（１２３）を経由して、メモリコントローラ１０１へ出力する。
【０００５】
図１１は、図１０に示したメモリアクセスシステムの動作を説明するためのタイミングチャートである。ここで、図１０に示すメモリアクセスシステムでは、メモリＡ（１１０）およびメモリＢ（１２０）から出力されるデータのバス幅を、それぞれ１６ビット幅としている。また、メモリＡ（１１０）およびメモリＢ（１２０）から出力されるデータが合流した後のバスの幅を３２ビット幅としている。図１１のＴ１００〜Ｔ１０１に示すように、図１０に示すメモリアクセスシステムでは、メモリＡ（１１０）からの１６ビット幅のデータとメモリＢ（１２０）からの１６ビット幅のデータを合わせた３２ビット幅のデータを、８クロック分（８バースト）出力することで、２５６ビットのデータを出力している。図１０に示すメモリアクセスシステムでは、このＴ１００からＴ１０１までが最小アクセス単位（２５６ビット）となる。Ｔ１０１〜Ｔ１０２についても同様である。
【０００６】
このようにして得られたデータは、メモリコントローラ１０１から共通バス１０４を経由してデコーダ１０３に出力される。このとき、メモリＡ（Ａ）およびメモリ（Ｂ）の最小アクセス単位は２５６ビットである。よって、例えば共通バス１０４のバス幅が３２ビット幅であるとすると、メモリコントローラ１０１は、データ幅を共通バス１０４のバス幅に対応させるために２５６ビットのデータを８つに分割（それぞれ、３２ビットに分割）して、デコーダ１０３にデータを出力する。この場合、３２ビットのデータを８つに分けて出力するので、この間、メモリコントローラ１０１は共通バス１０４を占有することになる。このため、例えばプロセッサ１０２はこの間、共通バスを使用することができなくなる。
【０００７】
このように、メモリの最小アクセス単位（２５６ビット）を増やすとメモリへのアクセススピードを増加させることができる。しかし、最小アクセス単位を増やすと所望のデータ以外の必要のないデータにも同時にアクセスしてしまう。このため、必要のないデータに共通バス１０４を占有されてしまうのでシステム全体の効率が低下してしまう。
【０００８】
特許文献１にはこのような課題を解決するための技術が開示されている。図１２は特許文献１に開示されているメモリアクセスシステムを説明するためのブロック図である。図１２に示すメモリアクセスシステムは、メモリコントローラ２０１、メモリＡ（２１０）、メモリＢ（２２０）を有する。メモリコントローラ２０１はメモリＡ（２１０）およびメモリＢ（２２０）と接続されている。また、プロセッサ２０２、デコーダ２０３は共通バス２０４を介してメモリコントローラ２０１に接続されている。
【０００９】
メモリコントローラ２０１は、メモリＡ（２１０）およびメモリＢ（２２０）に対して共通のアドレス（ＡＤ）を供給する。また、メモリコントローラ２０１は、メモリＡ（２１０）に対して下位２ビットの固有アドレス（ＡＤＡ）を出力する。また、メモリコントローラ２０１は、メモリＢ（２２０）に対して下位２ビットの固有アドレス（ＡＤＢ）を供給する。メモリＡ（２１０）は、アドレスデコーダＡ（２１１）、記憶領域Ａ（２１２）、インターフェースＡ（２１３）、バス２１４を備える。同様に、メモリＢ（２２０）は、アドレスデコーダＢ（２２１）、記憶領域Ｂ（２２２）、インターフェースＢ（２２３）、バス２２４を備える。
【００１０】
図１３は特許文献１に開示されているメモリアクセスシステムの画像データマッピング情報を示す図である。図１２に示すメモリアクセスシステムでは、図１３に示すように画像データをマッピングすると共に、下位２ビットの固有アドレス（ＡＤＡ、ＡＤＢ）を用いてアドレスを指定することで、１度のアクセスで２行のデータにアクセスすることができる。すなわち、図１２に示すメモリアクセスシステムでは、ＡＤＡ＝０、ＡＤＢ＝１とすることで、１行目（０、０）と２行目（０、１）のデータにアクセスすることができる。また、ＡＤＡ＝１、ＡＤＢ＝０とすることで、１行目（１、０）と２行目（１、１）のデータにアクセスすることができる。また、ＡＤＡ＝２、ＡＤＢ＝３とすることで、３行目（１、２）と４行目（１、３）のデータにアクセスすることができる。また、ＡＤＡ＝３、ＡＤＢ＝２とすることで、３行目（０、２）と４行目（０、３）のデータにアクセスすることができる。
【００１１】
図１２に示したメモリアクセスシステムの動作は基本的には図１０、図１１に示したメモリアクセスシステムの動作と同様である。しかし、図１２に示すメモリアクセスシステムでは、図１３に示すように画像データをマッピングすると共に、下位２ビットの固有アドレス（ＡＤＡ、ＡＤＢ）を用いてアドレスを指定することで、１度のアクセスで２行のデータにアクセスすることができる。
【００１２】
図１４は、図１０に示すメモリアクセスシステムを用いて２次元配置の画像データ３０１にアクセスする場合と、図１２に示すメモリアクセスシステムを用いて２次元配置の画像データ３０１にアクセスする場合とを比較するための図である。図１４（ａ）は図１０に示すメモリアクセスシステムを用いて２次元配置の画像データ３０１にアクセスする場合、図１４（ｂ）は図１２に示すメモリアクセスシステムを用いて２次元配置の画像データ３０１にアクセスする場合を示す。図１４に示す例では、最小アクセス単位を２５６ビット（実線で示すブロック。図１４（ａ）では最小アクセス単位３０２、図１４（ｂ）では最小アクセス単位３０３。）としており、これは３２画素に相当する。また、２次元配置の画像データ３０１は９画素×３行であるとする。
【００１３】
図１４（ａ）に示すように、図１０に示したメモリアクセスシステムでは、３２画素×１行のデータを最小アクセス単位３０２としているため、９画素×３行の２次元配置の画像データ３０１にアクセスする際にメモリアクセスが６回必要となる。これに対して、図１２に示したメモリアクセスシステムでは、図１４（ｂ）に示すように１６画素×２行のデータを最小アクセス単位３０３としている。つまり、２次元配置の画像データ３０１の１行目のデータを最小アクセス単位３０３の１行目に、２次元配置の画像データ３０１の２行目のデータを最小アクセス単位３０３の２行目に、それぞれ格納している。このため、９画素×３行の２次元配置の画像データ３０２にアクセスする際のメモリアクセスが４回となる。よって、特許文献１にかかるメモリアクセスシステムを用いることで、メモリへのアクセス効率を向上することができる。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】国際公開第２００８／０１０５９９号
【発明の概要】
【発明が解決しようとする課題】
【００１５】
図１２で説明した特許文献１にかかるメモリアクセスシステムでは、図１３に示すように画像データをマッピングすると共に、下位２ビットの固有アドレス（ＡＤＡ、ＡＤＢ）を用いてアドレスを指定することで、１度のアクセスで２行のデータにアクセスすることができる。これにより、メモリへのアクセス効率を向上させている。
【００１６】
しかし、特許文献１にかかる技術を用いた場合であっても、メモリに対して８バーストでアクセスしているため、最小アクセス単位が１２８ビット×２行（１６画素×２行）となる。このため、アクセスしようとするデータのサイズが小さい場合は、必要のないデータにも同時にアクセスしてしまうためメモリへのアクセス効率が低下するという問題がある。
【課題を解決するための手段】
【００１７】
本発明にかかるメモリアクセスシステムは、２次元配置のデータを最小アクセス単位であるブロック単位で格納する第１乃至第４のメモリと、当該メモリへのアクセスを制御するメモリコントローラとを備えるメモリアクセスシステムであって、前記メモリコントローラは、前記第１および第２のメモリに第１のチップセレクト信号を供給し、前記第３および第４のメモリに第２のチップセレクト信号を供給し、前記第１および第３のメモリに第１の固有アドレスを供給し、前記第２および第４のメモリに第２の固有アドレスを供給し、前記第１乃至第４のメモリに共通アドレスを供給し、前記２次元配置のデータは所定の格納単位でマッピングされる共に、Ｘ方向に並んでいるブロックの前記第１および第２の固有アドレスが同一となるように、Ｙ方向に配置され、前記第１および第２のメモリに格納された第１のブロック群のそれぞれのブロックの前記第１および第２の固有アドレスが異なるように、Ｙ方向に配置され、前記第３および第４のメモリに格納された第２のブロック群のそれぞれのブロックの前記第１および第２の固有アドレスが、前記第１のブロック群のそれぞれのブロックの前記第１および第２の固有アドレスと一致するように、かつ、前記第１および第２のブロック群のそれぞれのブロックの共通アドレスが同一となるようにマッピングされており、前記メモリコントローラは、前記第１のチップセレクト信号を活性化する第１のタイミングにおいて、互いに異なる前記第１および第２の固有アドレスを供給することで、前記第１のブロック群のブロックにアクセスし、前記第２のチップセレクト信号を活性化する第２のタイミングにおいて、互いに異なる前記第１および第２の固有アドレスを供給することで、前記第２のブロック群のブロックにアクセスする。
【００１８】
本発明にかかるメモリアクセスシステムでは、第１および第２のチップセレクト信号を用いて、第１および第２のメモリへのアクセスと第３および第４のメモリへのアクセスとを交互に行なっている。また、２次元配置のデータを、第１および第２のチップセレクト信号がそれぞれ活性化された際に、同一の列のブロックにアクセスすることができるようにマッピングしている。これにより、メモリアクセスの実質的なバースト長を本来の半分に削減することができるので、メモリへのアクセス効率を向上することができる。
【００１９】
本発明にかかるメモリアクセス制御方法は、２次元配置のデータが最小アクセス単位であるブロック単位で格納された第１乃至第４のメモリにアクセスするメモリアクセス制御方法であって、前記第１および第２のメモリに第１のチップセレクト信号を供給し、前記第３および第４のメモリに第２のチップセレクト信号を供給し、前記第１および第３のメモリに第１の固有アドレスを供給し、前記第２および第４のメモリに第２の固有アドレスを供給し、前記第１乃至第４のメモリに共通アドレスを供給し、前記２次元配置のデータを所定の格納単位でマッピングすると共に、Ｘ方向に並んでいるブロックの前記第１および第２の固有アドレスが同一となるように、Ｙ方向に配置され、前記第１および第２のメモリに格納された第１のブロック群のそれぞれのブロックの前記第１および第２の固有アドレスが異なるように、Ｙ方向に配置され、前記第３および第４のメモリに格納された第２のブロック群のそれぞれのブロックの前記第１および第２の固有アドレスが、前記第１のブロック群のそれぞれのブロックの前記第１および第２の固有アドレスと一致するように、かつ、前記第１および第２のブロック群のそれぞれのブロックの共通アドレスが同一となるようにマッピングし、前記第１のチップセレクト信号を活性化する第１のタイミングにおいて、互いに異なる前記第１および第２の固有アドレスを供給することで、前記第１のブロック群のブロックにアクセスし、前記第２のチップセレクト信号を活性化する第２のタイミングにおいて、互いに異なる前記第１および第２の固有アドレスを供給することで、前記第２のブロック群のブロックにアクセスする。
【００２０】
本発明にかかるメモリアクセス制御方法では、第１および第２のチップセレクト信号を用いて、第１および第２のメモリへのアクセスと第３および第４のメモリへのアクセスとを交互に行なっている。また、２次元配置のデータを、第１および第２のチップセレクト信号がそれぞれ活性化された際に、同一の列のブロックにアクセスすることができるようにマッピングしている。これにより、メモリアクセスの実質的なバースト長を本来の半分に削減することができるので、メモリへのアクセス効率を向上することができる。
【発明の効果】
【００２１】
本発明によりアクセス効率の高いメモリアクセスシステムおよびメモリアクセス制御方法を提供することができる。
【図面の簡単な説明】
【００２２】
【図１】実施の形態１にかかるメモリアクセスシステムを示すブロック図である。
【図２】実施の形態１にかかるメモリアクセスシステムの他の態様を示すブロック図である。
【図３】実施の形態１にかかるメモリアクセスシステムの２次元配置のデータのマッピングの一例を示す図である。
【図４】実施の形態１にかかるメモリアクセスシステムの動作を説明するためのタイミングチャートである（Ｘ方向に連続する８つのブロックにアクセスする場合）。
【図５】実施の形態１にかかるメモリアクセスシステムの動作を説明するためのタイミングチャートである（Ｙ方向に連続した８行のブロックにアクセスする場合）。
【図６】実施の形態１にかかるメモリアクセスシステムの動作を説明するためのタイミングチャートである（Ｙ方向に１行置きに４行のブロックにアクセスする場合）。
【図７】実施の形態１にかかるメモリアクセスシステムの動作を説明するためのタイミングチャートである（Ｙ方向に１行置きに４行のブロックにアクセスする場合）。
【図８】実施の形態１にかかるメモリアクセスシステムを用いて２次元配置の画像データにアクセスする場合と、図１２に示すメモリアクセスシステムを用いて２次元配置の画像データにアクセスする場合を比較するための図である。（ａ）は図１２に示すメモリアクセスシステムを用いて２次元配置の画像データにアクセスする場合を示す。（ｂ）は本実施の形態にかかるメモリアクセスシステムを用いて２次元配置の画像データにアクセスする場合を示す。（ｃ）は本実施の形態にかかるメモリアクセスシステムの動作原理を説明する図である。
【図９】実施の形態２にかかるメモリアクセスシステムの２次元配置データのマッピングの一例を示す図である。
【図１０】背景技術にかかるメモリアクセスシステムを説明するためのブロック図である。
【図１１】背景技術にかかるメモリアクセスシステムの動作を説明するためのタイミングチャートである。
【図１２】特許文献１にかかるメモリアクセスシステムを説明するためのブロック図である。
【図１３】特許文献１にかかるメモリアクセスシステムの画像データのマッピングを示す図である。
【図１４】図１０に示すメモリアクセスシステムを用いて２次元配置の画像データにアクセスする場合と、図１２に示すメモリアクセスシステムを用いて２次元配置の画像データにアクセスする場合を比較するための図である。図１４（ａ）は図１０に示すメモリアクセスシステムを用いて２次元配置の画像データにアクセスする場合、図１４（ｂ）は図１２に示すメモリアクセスシステムを用いて２次元配置の画像データにアクセスする場合を示す。
【発明を実施するための形態】
【００２３】
実施の形態１
以下、図面を参照して本発明の実施の形態について説明する。
図１は本実施の形態にかかるメモリアクセスシステムを示すブロック図である。図１に示すメモリアクセスシステムは、メモリコントローラ１、メモリＡ０（１０：第１のメモリ）、メモリＢ０（２０：第２のメモリ）、メモリＡ１（３０：第３のメモリ）、メモリＢ１（４０：第４のメモリ）を有する。メモリコントローラ１はメモリＡ０（１０）、メモリＢ０（２０）、メモリＡ１（３０）、およびメモリＢ１（４０）と接続されており、これらのメモリを制御する。また、プロセッサ２、デコーダ３は共通バス４を介してメモリコントローラ１に接続されている。
【００２４】
メモリコントローラ１は、メモリＡ０（１０）、メモリＢ０（２０）、メモリＡ１（３０）、およびメモリＢ１（４０）に対して共通アドレス（ＡＤ）を出力する。また、メモリコントローラ１は、メモリＡ０（１０）およびメモリＡ１（３０）に対して第１の固有アドレス（ＡＤＡ）を出力する。また、メモリコントローラ１は、メモリＢ０（２０）およびメモリＢ１（４０）に対して第２の固有アドレス（ＡＤＢ）を出力する。ここで、第１の固有アドレス（ＡＤＡ）と第２の固有アドレス（ＡＤＢ）は独立して制御可能である。また、メモリコントローラ１は、メモリＡ０（１０）およびメモリＢ０（２０）に対して第１のチップセレクト信号（ＣＳ０）を出力する。また、メモリコントローラ１は、メモリＡ１（３０）およびメモリＢ１（４０）に対して第２のチップセレクト信号（ＣＳ１）を出力する。
【００２５】
メモリＡ０（１０）は、アドレスデコーダＡ０（１１）、記憶領域Ａ０（１２）、インターフェースＡ０（１３）、バス１４を備える。メモリＡ０（１０）は、ＣＳ０信号が活性化されると、メモリコントローラ１からの共通のアドレス（ＡＤ）および第１の固有アドレス（ＡＤＡ）をアドレスデコーダＡ０（１１）で受け取る。そして、この共通のアドレス（ＡＤ）および第１の固有アドレス（ＡＤＡ）に対応した、記憶領域Ａ０（１２）に格納されているデータをバス１４およびインターフェースＡ０（１３）を介して、メモリコントローラ１へ出力する。
【００２６】
メモリＢ０（２０）は、アドレスデコーダＢ０（２１）、記憶領域Ｂ０（２２）、インターフェースＢ０（２３）、バス２４を備える。メモリＢ０（２０）は、ＣＳ０信号が活性化されると、メモリコントローラ１からの共通のアドレス（ＡＤ）および第２の固有アドレス（ＡＤＢ）をアドレスデコーダＢ０（２１）で受け取る。そして、この共通のアドレス（ＡＤ）および第２の固有アドレス（ＡＤＢ）に対応した、記憶領域Ｂ０（２２）に格納されているデータをバス２４およびインターフェースＢ０（２３）を介して、メモリコントローラ１へ出力する。
【００２７】
メモリＡ１（３０）は、アドレスデコーダＡ１（３１）、記憶領域Ａ１（３２）、インターフェースＡ１（３３）、バス３４を備える。メモリＡ１（３０）は、ＣＳ１信号が活性化されると、メモリコントローラ１からの共通のアドレス（ＡＤ）および第１の固有アドレス（ＡＤＡ）をアドレスデコーダＡ１（３１）で受け取る。そして、この共通のアドレス（ＡＤ）および第１の固有アドレス（ＡＤＡ）に対応した、記憶領域Ａ１（３２）に格納されているデータをバス３４およびインターフェースＡ１（３３）を介して、メモリコントローラ１へ出力する。
【００２８】
メモリＢ１（４０）は、アドレスデコーダＢ１（４１）、記憶領域Ｂ１（４２）、インターフェースＢ１（４３）、バス４４を備える。メモリＢ１（４０）は、ＣＳ１信号が活性化されると、メモリコントローラ１からの共通のアドレス（ＡＤ）および第２の固有アドレス（ＡＤＢ）をアドレスデコーダＢ１（４１）で受け取る。そして、この共通のアドレス（ＡＤ）および第２の固有アドレス（ＡＤＢ）に対応した、記憶領域Ｂ１（４２）に格納されているデータをバス４４およびインターフェースＢ１（４３）を介して、メモリコントローラ１へ出力する。
【００２９】
本実施の形態では、第１の固有アドレス（ＡＤＡ）および第２の固有アドレス（ＡＤＢ）はそれぞれ２ビットの信号である。例えば、アドレスデコーダＡ０（１１）には、共通のアドレス（ＡＤ［ｎ：６、３：０］）と第１の固有アドレス（ＡＤＡ［５：４］）が供給される。また、例えばアドレスデコーダＢ０（２１）には、共通のアドレス（ＡＤ［ｎ：６、３：０］）と第２の固有アドレス（ＡＤＢ［５：４］）が供給される。つまり、第１の固有アドレス（ＡＤＡ）、第２の固有アドレス（ＡＤＢ）は例えば４ビット目、５ビット目に与えるアドレスを用いることができる。なお、第１の固有アドレス（ＡＤＡ）および第２の固有アドレス（ＡＤＢ）は２ビット以上の信号であればよく、ビットの位置はこれ以外に例えば下位２ビットとしてもよい。
【００３０】
また、本実施の形態では、例えばメモリＡ０（１０）、メモリＢ０（２０）、メモリＡ１（３０）、およびメモリＢ１（４０）から出力されるデータのビット幅を１６ビット幅とし、これらが合流するバス５のバス幅を３２ビット幅としている。なお、各メモリから出力されるデータのビット幅およびバス５のバス幅は使用するメモリの種類に応じて変更してもよい。
【００３１】
また、本実施の形態にかかるメモリアクセスシステムでは、メモリＡ０（１０）、メモリＢ０（２０）、メモリＡ１（３０）、およびメモリＢ１（４０）は、自身のチップセレクト信号が活性化させない期間は、自身へのデータ入力を無効化する機能、および自身のデータ出力をハイ・インピーダンスとする機能を備えている。このような機能を有することにより、メモリＡ０（１０）およびメモリＡ１（３０）のうち活性化されたほうのメモリのデータのみがバス５へ出力される。また、メモリＢ０（２０）およびメモリＢ１（４０）のうち活性化されたほうのメモリのデータのみがバス５へ出力される。
【００３２】
なお、本実施の形態にかかるメモリアクセスシステムは、例えば図２に示すように第１のセレクタ８および第２のセレクタ９を備える構成としてもよい。第１のセレクタ８は、データ書き込み時にはメモリＡ０（１０）およびメモリＡ１（３０）のうちチップセレクト信号が活性化されていないほうのメモリへのデータ入力を無効とすると共に、データ読み出し時にはメモリＡ０（１０）およびメモリＡ１（３０）のうちチップセレクト信号が活性化されているほうのメモリのデータ出力を選択する。同様に、第２のセレクタ９は、データ書き込み時にはメモリＢ０（２０）およびメモリＢ１（４０）のうちチップセレクト信号が活性化されていないほうのメモリへのデータ入力を無効とすると共に、データ読み出し時にはメモリＡＢ（２０）およびメモリＢ１（４０）のうちチップセレクト信号が活性化されているほうのメモリのデータ出力を選択する。
【００３３】
すなわち、第１のチップセレクト信号（ＣＳ０）が活性化されると、第１のセレクタ８はメモリＡ０（１０）のデータ出力を選択し、第２のセレクタ９はメモリＢ０（２０）のデータ出力を選択する。同様に、第２のチップセレクト信号（ＣＳ１）が活性化されると、第１のセレクタ８はメモリＡ１（３０）のデータ出力を選択し、第２のセレクタ９はメモリＢ１（４０）のデータ出力を選択する。以下では、図１にかかるメモリアクセスシステムを例に説明するが、図２に示すメモリアクセスシステムについても第１のセレクタ８および第２のセレクタ９を備えている点以外は同様である。
【００３４】
図３は、本実施の形態にかかるメモリアクセスシステムを用いてアクセスされる２次元配置データを４つのメモリ、つまりメモリＡ０（１０）、メモリＢ０（２０）、メモリＡ１（３０）、およびメモリＢ１（４０）の各アドレスにマッピングした場合の一例を示す図である。図３において、１つのブロックは１つのメモリの実質的な最小アクセス単位（１６ビット×４バースト＝６４ビット）であり、画像データのＸ方向に連続する８画素を格納する。
【００３５】
各ブロックには、格納されているメモリ（Ａ０／Ａ１／Ｂ０／Ｂ１）の情報、第１の固有アドレス（ＡＤＡ）または第２の固有アドレス（ＡＤＢ）に対応したアドレス情報（２ビット）、メモリの共通アドレス（１６進数）の下位６ビット（４バースト単位でのアクセスのため、下位２ビットは０固定）の情報が付与されている。つまり、例えばブロック（Ａ０、０、４）は、メモリ"Ａ０"に格納されており、第１の固有アドレス（ＡＤＡ）が"０"（メモリＡ０に格納されているので、ＡＤＡとなる）、共通アドレスが"４"であることを示している。
【００３６】
ここで、ブロック（Ａ０、０、４）には、共通アドレスが"４"、"５"、"６"、"７"のデータが格納されているが、図３では先頭の共通アドレスのみを表示している。また、例えばブロック（Ｂ１、３、８）は、メモリ"Ｂ１"に格納されており、第２の固有アドレス（ＡＤＢ）が"３"（メモリＢ１に格納されているので、ＡＤＢとなる）、共通アドレスが"８"（共通アドレスが"９"、"Ａ"、"Ｂ"のデータを含む）であることを示している。
【００３７】
本実施の形態にかかるメモリアクセスシステムでは、Ｘ方向に６４画素（５１２ｂｉｔ）、Ｙ方向に８行配置されているデータを２次元配置データを格納する格納単位としている。なお、これよりも大きい２次元配置データを格納する場合は、データサイズに応じてこの格納単位（６４画素×８行）をＸ方向、Ｙ方向に複数個ならべる。
【００３８】
次に、本実施の形態にかかるメモリアクセスシステムの動作について説明する。まず、図４を用いてＸ方向の８行のブロックにアクセスする場合の動作について説明する。図４では、図３に示すマッピングの１行目のブロックをＸ方向に８ブロックアクセスする場合を例に説明する。なお、図４では説明の簡単化のために、メモリへの制御信号およびアドレス信号入力とメモリのデータ入出力が同タイミングとなっているが、通常はメモリのデータ入出力タイミングは制御信号およびアドレス信号入力からは一定の遅延がある。
【００３９】
図３に示すマッピングにおいて、Ｘ方向に並んでいるブロックはＡ０／Ｂ０の組み合わせ、またはＡ１／Ｂ１の組み合わせのいずれかとなっている。つまり、Ｘ方向に並んでいるブロックはメモリＡ０（１０）およびメモリＢ０（２０）に格納されるように、またはメモリＡ１（３０）およびメモリＢ１（４０）に格納されるようにマッピングされている。
【００４０】
Ａ０／Ｂ０の組み合わせは、第１のチップセレクト信号（ＣＳ０）が活性化されたとき（ＣＳ０＝"１"）にアクセスされ、Ａ１／Ｂ１の組み合わせは、第２のチップセレクト信号（ＣＳ１）が活性化されたとき（ＣＳ１＝"１"）にアクセスされる。つまり、Ｘ方向に並んでいるブロックは同じチップセレクト信号で選択されるメモリに格納されている。図４に示す例では、図３に示すマッピングの１行目のデータ（Ａ０／Ｂ０の組み合わせ）にアクセスするために、メモリコントローラ１はＣＳ０＝"１"、ＣＳ１＝"０"をメモリＡ０（１０）、メモリＢ０（２０）に出力する。これにより、メモリＡ０（１０）とメモリＢ０（２０）が活性化される。
【００４１】
また、図３に示すマッピングにおいて、Ｘ方向に並んでいるブロックの第１の固有アドレス（ＡＤＡ）と第２の固有アドレス（ＡＤＢ）は全て同一となっている。よって、Ｘ方向に並んでいるブロックのデータにアクセスするときは、ＡＤＡ＝ＡＤＢとする。図４に示す例では、図３に示すマッピングの１行目のデータにアクセスするために、メモリコントローラ１は第１の固有アドレス（ＡＤＡ）＝"０"をメモリＡ０（１０）に、第２の固有アドレス（ＡＤＢ）＝"０"をメモリＢ０（２０）に出力する。
【００４２】
また、図３に示すマッピングにおいて、Ｘ方向に並んでいるブロックのうち同一のメモリに格納されているブロックの共通アドレスが昇順となっている。すなわち、図３に示すマッピングにおいて、Ｘ方向に並んでいるブロックの共通アドレスは０〜Ｆ（１６進法）で昇順となっている。よって、メモリコントローラ１は共通アドレス（ＡＤ）として、ＡＤ＝０〜ＦをメモリＡ０（１０）およびメモリＢ０（２０）に出力する。
【００４３】
Ｘ方向に並んでいるブロックにアクセスする場合は、各ブロックの共通アドレスが昇順となっているので、図４に示すようにメモリコントローラ１はメモリＡ０（１０）およびメモリＢ０（２０）に対して８バーストアクセスすることができる。図１に示すメモリアクセスシステムでは、メモリＡ０（１０）からの１６ビット幅のデータとメモリＢ０（２０）からの１６ビット幅のデータを合わせた３２ビット幅のデータを、８クロック分（８バースト長）出力している。よって、図４に示すように、メモリＡ０（１０）およびメモリＢ０（２０）はメモリコントローラ１に対して、Ｔ０〜Ｔ４において２５６ビットのデータを、Ｔ４〜Ｔ６において２５６ビットのデータをそれぞれ出力している。
【００４４】
詳細に説明すると、Ｔ０〜Ｔ１においてブロック（Ａ０、０、０）およびブロック（Ｂ０、０、０）のデータのうち、ＡＤ＝"０"に対応するデータが、メモリＡ０（１０）から１６ビット、メモリＢ０（２０）から１６ビット出力され、合計３２ビットのデータがメモリコントローラ１に出力される。
【００４５】
同様に、Ｔ１〜Ｔ２においてブロック（Ａ０、０、０）およびブロック（Ｂ０、０、０）のデータのうち、ＡＤ＝"１"に対応するデータが、メモリＡ０（１０）から１６ビット、メモリＢ０（２０）から１６ビット出力され、合計３２ビットのデータがメモリコントローラ１に出力される。Ｔ２以降も同様である。
【００４６】
図４に示すように、Ｔ０〜Ｔ３においてブロック（Ａ０、０、０）およびブロック（Ｂ０、０、０）のデータが、Ｔ３〜Ｔ４においてブロック（Ａ０、０、４）およびブロック（Ｂ０、０、４）のデータが、Ｔ４〜Ｔ５においてブロック（Ａ０、０、８）およびブロック（Ｂ０、０、８）のデータが、Ｔ５〜Ｔ６においてブロック（Ａ０、０、Ｃ）およびブロック（Ｂ０、０、Ｃ）のデータが、メモリＡ０（１０）およびメモリＢ０（２０）からメモリコントローラ１に出力される。
【００４７】
データがメモリＡ０（１０）およびメモリＢ０（２０）からメモリコントローラ１に出力される際は、メモリＡ０（１０）のデータ、メモリＢ０（２０）のデータの順に出力される。ここで、図３に示すマッピングにおいて、ＡＤＡ＝ＡＤＢ＝１、２の場合は、メモリＡ０／Ａ１とメモリＢ０／Ｂ１に格納されているデータの並びが、ＡＤＡ＝ＡＤＢ＝０、３の場合と逆転しているので（つまり、Ｂ０／Ａ０、Ｂ１／Ａ１の順になっている）、データの上位６４ビットと下位６４ビットをスワップする必要がある。このスワップ処理は、例えばメモリコントローラ１で実施される。
【００４８】
次に、Ｙ方向に連続する８行のブロックにアクセスする場合の動作について説明する。この場合、２次元配置のデータは、図３に示すようにマッピングされている。すなわち、  図３に示すマッピングでは、メモリＡ０（１０）とメモリＢ０（２０）に格納されたブロック群６１（第１のブロック群）のそれぞれのブロックの第１および第２の固有アドレス（ＡＤＡ、ＡＤＢ）が異なるようにマッピングされている。図３に示すマッピングでは、ブロック群６１のＹ方向において第１および第２の固有アドレス（ＡＤＡ、ＡＤＢ）が昇順（"０"、"１"、"２"、"３"の順）となるようにマッピングされている。
【００４９】
また、図３に示すマッピングでは、メモリＡ１（３０）とメモリＢ１（４０）に格納されたブロック群６２（第２のブロック群）のそれぞれのブロックの第１および第２の固有アドレス（ＡＤＡ、ＡＤＢ）が、第１のブロック群６１のそれぞれのブロックの第１および第２の固有アドレス（ＡＤＡ、ＡＤＢ）と一致するようにマッピングされている。図３に示すマッピングでは、ブロック群６２のＹ方向において第１および第２の固有アドレス（ＡＤＡ、ＡＤＢ）が昇順（"０"、"１"、"２"、"３"の順）となるようにマッピングされている。
また、Ｙ方向に並んでいるブロックの共通アドレス（ＡＤ）は全て"０"で同一となっている。
【００５０】
また、図３に示すマッピングでは、Ｙ方向に配置されているブロックのうち互いに隣り合っているブロックが、メモリＡ０（１０）とメモリＢ０（２０）に格納されるように、またはメモリＡ１（３０）とメモリＢ１（４０）に格納されるようにマッピングされている。
【００５１】
図３に示すマッピングの場合は、ＣＳ０＝"１"のときに、第１のブロック群６１（メモリＡ０（１０）とメモリＢ０（２０）に格納されているブロック）のデータにアクセスする。また、ＣＳ１＝"１"のときに、第２のブロック群６２（メモリＡ１（３０）とメモリＢ１（４０）に格納されているブロック）のデータにアクセスする。
【００５２】
次に、図５を用いてＹ方向に連続する８行のブロックにアクセスする場合の動作について説明する。図５では、図３に示すマッピングの１列目のブロックをＹ方向に８ブロックアクセスする場合を例に説明する。
【００５３】
図５に示すように、Ｔ１０〜Ｔ１１（第１のタイミング）において、メモリコントローラ１は各メモリに対してＣＳ０＝"１"、ＣＳ１＝"０"を出力する。これにより、メモリＡ０（１０）とメモリＢ０（２０）が活性、メモリＡ１（３０）とメモリＢ１（４０）が不活性となる。そして、Ｔ１０〜Ｔ１１において、メモリコントローラ１が、ＡＤＡ＝"０"、ＡＤ＝"０〜３"をメモリＡ０（１０）に出力するとメモリＡ０（１０）はブロック（Ａ０、０、０）のデータをメモリコントローラ１に出力する。同様に、Ｔ１０〜Ｔ１１において、メモリコントローラ１が、ＡＤＢ＝"１"（ＡＤＡとは異なるアドレスである）、ＡＤ＝"０〜３"をメモリＢ０（２０）に出力するとメモリＢ０（２０）はブロック（Ｂ０、１、０）のデータをメモリコントローラ１に出力する。ここで、ブロック（Ａ０、０、０）とブロック（Ｂ０、１、０）は第１のブロック群６１のブロックである。
【００５４】
次に、Ｔ１１〜Ｔ１２（第２のタイミング）において、メモリコントローラ１は各メモリに対してＣＳ０＝"０"、ＣＳ１＝"１"を出力する。これにより、メモリＡ０（１０）とメモリＢ０（２０）が不活性、メモリＡ１（３０）とメモリＢ１（４０）が活性となる。そして、Ｔ１１〜Ｔ１２において、メモリコントローラ１が、ＡＤＡ＝"０"、ＡＤ＝"０〜３"をメモリＡ１（３０）に出力するとメモリＡ１（３０）はブロック（Ａ１、０、０）のデータをメモリコントローラ１に出力する。同様に、Ｔ１１〜Ｔ１２において、メモリコントローラ１が、ＡＤＢ＝"１"（ＡＤＡとは異なるアドレスである）、ＡＤ＝"０〜３"をメモリＢ１（４０）に出力するとメモリＢ１（４０）はブロック（Ｂ１、１、０）のデータをメモリコントローラ１に出力する。ここで、ブロック（Ａ１、０、０）とブロック（Ｂ１、１、０）は第２のブロック群６２のブロックである。また、このときのＡＤＡ、ＡＤＢはＴ１０〜Ｔ１１におけるＡＤＡ、ＡＤＢと同一である。
【００５５】
次に、Ｔ１２〜Ｔ１３（第３のタイミング）において、メモリコントローラ１は各メモリに対してＣＳ０＝"１"、ＣＳ１＝"０"を出力する。これにより、メモリＡ０（１０）とメモリＢ０（２０）が活性、メモリＡ１（３０）とメモリＢ１（４０）が不活性となる。そして、Ｔ１２〜Ｔ１３において、メモリコントローラ１が、ＡＤＡ＝"３"、ＡＤ＝"０〜３"をメモリＡ０（１０）に出力するとメモリＡ０（１０）はブロック（Ａ０、３、０）のデータをメモリコントローラ１に出力する。同様に、Ｔ１２〜Ｔ１３において、メモリコントローラ１が、ＡＤＢ＝"２"（ＡＤＡとは異なるアドレスである）、ＡＤ＝"０〜３"をメモリＢ０（２０）に出力するとメモリＢ０（２０）はブロック（Ｂ０、２、０）のデータをメモリコントローラ１に出力する。ここで、ブロック（Ａ０、３、０）とブロック（Ｂ０、２、０）は第１のブロック群６１のブロックである。
【００５６】
なお、この場合は図３に示すようにメモリＡ０／Ｂ０に格納されているデータの並びが逆転しているので（図３では、Ｂ０／Ａ０の順）、ブロック（Ａ０、３、０）のデータ（上位６４ビット）とブロック（Ｂ０、２、０）のデータ（下位６４ビット）のスワップが必要となる。
【００５７】
次に、Ｔ１３〜Ｔ１４（第４のタイミング）において、メモリコントローラ１は各メモリに対してＣＳ０＝"０"、ＣＳ１＝"１"を出力する。これにより、メモリＡ０（１０）とメモリＢ０（２０）が不活性、メモリＡ１（３０）とメモリＢ１（４０）が活性となる。そして、Ｔ１３〜Ｔ１４において、メモリコントローラ１が、ＡＤＡ＝"３"、ＡＤ＝"０〜３"をメモリＡ１（３０）に出力するとメモリＡ１（３０）はブロック（Ａ１、３、０）のデータをメモリコントローラ１に出力する。同様に、Ｔ１３〜Ｔ１４において、メモリコントローラ１が、ＡＤＢ＝"２"（ＡＤＡとは異なるアドレスである）、ＡＤ＝"０〜３"をメモリＢ１（４０）に出力するとメモリＢ１（４０）はブロック（Ｂ１、２、０）のデータをメモリコントローラ１に出力する。ここで、ブロック（Ａ１、３、０）とブロック（Ｂ１、２、０）は第２のブロック群６２のブロックである。また、このときのＡＤＡ、ＡＤＢはＴ１２〜Ｔ１３におけるＡＤＡ、ＡＤＢと同一である。
【００５８】
なお、この場合は図３に示すようにメモリＡ１／Ｂ１に格納されているデータの並びが逆転しているので（図３では、Ｂ１／Ａ１の順）、ブロック（Ａ１、３、０）のデータ（上位６４ビット）とブロック（Ｂ１、２、０）のデータ（下位６４ビット）のスワップが必要となる。
【００５９】
このように、本実施の形態にかかるメモリアクセスシステムでは、チップセレクト信号（ＣＳ０、ＣＳ１）を用いて、メモリＡ０（１０）とメモリＢ０（２０）へのアクセスと、メモリＡ１（３０）とメモリＢ１（４０）へのアクセスとを交互に行うことにより、４バースト単位でのメモリアクセスが可能となる。
【００６０】
なお、上記で説明したＹ方向に並んだ８ブロックにアクセスする動作は、図３に示すマッピングの３列目（ブロック（Ａ０、０、４）の列）、５列目（ブロック（Ａ０、０、８）の列）、７列目（ブロック（Ａ０、０、Ｃ）の列）においても同様である。
【００６１】
また、図３に示すマッピングの２列目のブロックをＹ方向に８ブロックアクセスする場合は次のようにする（詳細な動作は、図５の場合と同様である）。
【００６２】
まず、ＣＳ０＝"１"としメモリＡ０（１０）とメモリＢ０（２０）を活性化する。そして、メモリコントローラ１がＡＤＡ＝"１"、ＡＤＢ＝"０"、ＡＤ＝"０〜３"をメモリＡ０（１０）とメモリＢ０（２０）に出力する。これにより、メモリＡ０（１０）に格納されているブロック（Ａ０、１、０）のデータと、メモリＢ０（２０）に格納されているブロック（Ｂ０、０、０）のデータが読み出される。このとき、図３に示すマッピングの２列目のブロックでは、ブロック（Ａ０、１、０）のデータ（上位６４ビット）とブロック（Ｂ０、０、０）のデータ（下位６４ビット）が逆転しているためスワップが必要となる。
【００６３】
次に、ＣＳ１＝"１"としメモリＡ１（３０）とメモリＢ１（４０）を活性化する。そして、メモリコントローラ１がＡＤＡ＝"１"、ＡＤＢ＝"０"、ＡＤ＝"０〜３"をメモリＡ１（３０）とメモリＢ１（４０）に出力する。これにより、メモリＡ１（３０）に格納されているブロック（Ａ１、１、０）のデータと、メモリＢ１（４０）に格納されているブロック（Ｂ１、０、０）のデータが読み出される。このとき、図３に示すマッピングの２列目のブロックでは、ブロック（Ａ１、１、０）のデータ（上位６４ビット）とブロック（Ｂ１、０、０）のデータ（下位６４ビット）が逆転しているためスワップが必要となる。
【００６４】
次に、ＣＳ０＝"１"としメモリＡ０（１０）とメモリＢ０（２０）を活性化する。そして、メモリコントローラ１がＡＤＡ＝"２"、ＡＤＢ＝"３"、ＡＤ＝"０〜３"をメモリＡ０（１０）とメモリＢ０（２０）に出力する。これにより、メモリＡ０（１０）に格納されているブロック（Ａ０、２、０）のデータと、メモリＢ０（２０）に格納されているブロック（Ｂ０、３、０）のデータが読み出される。
【００６５】
次に、ＣＳ１＝"１"としメモリＡ１（３０）とメモリＢ１（４０）を活性化する。そして、メモリコントローラ１がＡＤＡ＝"２"、ＡＤＢ＝"３"、ＡＤ＝"０〜３"をメモリＡ１（３０）とメモリＢ１（４０）に出力する。これにより、メモリＡ１（３０）に格納されているブロック（Ａ１、２、０）のデータと、メモリＢ１（４０）に格納されているブロック（Ｂ１、３、０）のデータが読み出される。
【００６６】
なお、上記で説明した２列目のブロックをＹ方向に８ブロックアクセスする動作は、図３に示すマッピングの４列目（ブロック（Ｂ０、０、４）の列）、６列目（ブロック（Ｂ０、０、８）の列）、８列目（ブロック（Ｂ０、０、Ｃ）の列）においても同様である。
【００６７】
次に、図６を用いてＹ方向に１行置きに４行のブロックのデータにアクセスする場合の動作について説明する。図６では、図３に示すマッピングの１列目のブロックをＹ方向に１行置きに４ブロックアクセスする場合を例に説明する。
【００６８】
まず、Ｔ２０〜Ｔ２１において、メモリコントローラ１がＣＳ０＝"１"を出力し、メモリＡ０（１０）とメモリＢ０（２０）を活性化する。そして、メモリコントローラ１が、ＡＤＡ＝"０"、ＡＤＢ＝"２"、ＡＤ＝"０〜３"をメモリＡ０（１０）とメモリＢ０（２０）に出力する。これにより、メモリＡ０（１０）に格納されているブロック（Ａ０、０、０）のデータと、メモリＢ０（２０）に格納されているブロック（Ｂ０、２、０）のデータが読み出される。
【００６９】
次に、Ｔ２１〜Ｔ２２において、メモリコントローラ１がＣＳ１＝"１"を出力し、メモリＡ１（３０）とメモリＢ１（４０）を活性化する。そして、メモリコントローラ１がＡＤＡ＝"０"、ＡＤＢ＝"２"、ＡＤ＝"０〜３"をメモリＡ１（３０）とメモリＢ１（４０）に出力する。これにより、メモリＡ１（３０）に格納されているブロック（Ａ１、０、０）のデータと、メモリＢ１（４０）に格納されているブロック（Ｂ１、２、０）のデータが読み出される。
【００７０】
このような動作により、Ｙ方向に１行置きに配置されているブロック（Ａ０、０、０）、ブロック（Ｂ０、２、０）、ブロック（Ａ１、０、０）、ブロック（Ｂ１、２、０）のデータにアクセスすることができる。
【００７１】
次に、図７を用いてＹ方向に１行置きに４行のブロックのデータにアクセスする場合（図６の場合と異なる行のブロックのデータにアクセスする場合）の動作について説明する。図７でも、図３に示すマッピングの１列目のブロックをＹ方向に１行置きに４ブロックアクセスする場合を例に説明する。
【００７２】
まず、Ｔ３０〜Ｔ３１において、メモリコントローラ１がＣＳ０＝"１"を出力し、メモリＡ０（１０）とメモリＢ０（２０）を活性化する。そして、メモリコントローラ１が、ＡＤＡ＝"３"、ＡＤＢ＝"１"、ＡＤ＝"０〜３"をメモリＡ０（１０）とメモリＢ０（２０）に出力する。これにより、メモリＡ０（１０）に格納されているブロック（Ａ０、３、０）のデータと、メモリＢ０（２０）に格納されているブロック（Ｂ０、１、０）のデータが読み出される。このとき、図３に示すマッピングの２列目のブロックでは、ブロック（Ａ０、３、０）のデータ（上位６４ビット）とブロック（Ｂ０、１、０）のデータ（下位６４ビット）が逆転しているためスワップが必要となる。
【００７３】
次に、Ｔ３１〜Ｔ３２において、メモリコントローラ１がＣＳ１＝"１"を出力し、メモリＡ１（３０）とメモリＢ１（４０）を活性化する。そして、メモリコントローラ１がＡＤＡ＝"３"、ＡＤＢ＝"１"、ＡＤ＝"０〜３"をメモリＡ１（３０）とメモリＢ１（４０）に出力する。これにより、メモリＡ１（３０）に格納されているブロック（Ａ１、３、０）のデータと、メモリＢ１（４０）に格納されているブロック（Ｂ１、１、０）のデータが読み出される。このとき、図３に示すマッピングの２列目のブロックでは、ブロック（Ａ１、３、０）のデータ（上位６４ビット）とブロック（Ｂ１、１、０）のデータ（下位６４ビット）が逆転しているためスワップが必要となる。
【００７４】
このような動作により、Ｙ方向に１行置きに配置されているブロック（Ｂ０、１、０）、ブロック（Ａ０、３、０）、ブロック（Ｂ１、１、０）、ブロック（Ａ１、３、０）のデータにアクセスすることができる。
【００７５】
なお、図６、図７を用いて説明したＹ方向に１行置きに４行のブロックのデータにアクセスする場合の動作は、図３に示すマッピングの３列目（ブロック（Ａ０、０、４）の列）、５列目（ブロック（Ａ０、０、８）の列）、７列目（ブロック（Ａ０、０、Ｃ）の列）においても同様である。
【００７６】
また、図３に示すマッピングの２列目のブロックをＹ方向に１行置きに４行のブロックのデータにアクセスする場合は次のようにする（詳細な動作は、図６、７の場合と同様である）。
【００７７】
まず、メモリコントローラ１がＣＳ０＝"１"を出力し、メモリＡ０（１０）とメモリＢ０（２０）を活性化する。そして、メモリコントローラ１が、ＡＤＡ＝"２"、ＡＤＢ＝"０"、ＡＤ＝"０〜３"をメモリＡ０（１０）とメモリＢ０（２０）に出力する。これにより、メモリＡ０（１０）に格納されているブロック（Ａ０、２、０）のデータと、メモリＢ０（２０）に格納されているブロック（Ｂ０、０、０）のデータが読み出される。このとき、図３に示すマッピングの２列目のブロックでは、ブロック（Ａ０、２、０）のデータ（上位６４ビット）とブロック（Ｂ０、０、０）のデータ（下位６４ビット）が逆転しているためスワップが必要となる。
【００７８】
次に、メモリコントローラ１がＣＳ１＝"１"を出力し、メモリＡ１（３０）とメモリＢ１（４０）を活性化する。そして、メモリコントローラ１がＡＤＡ＝"２"、ＡＤＢ＝"０"、ＡＤ＝"０〜３"をメモリＡ１（３０）とメモリＢ１（４０）に出力する。これにより、メモリＡ１（３０）に格納されているブロック（Ａ１、２、０）のデータと、メモリＢ１（４０）に格納されているブロック（Ｂ１、０、０）のデータが読み出される。このとき、図３に示すマッピングの２列目のブロックでは、ブロック（Ａ１、２、０）のデータ（上位６４ビット）とブロック（Ｂ１、０、０）のデータ（下位６４ビット）が逆転しているためスワップが必要となる。
【００７９】
このような動作により、Ｙ方向に１行置きに配置されているブロック（Ｂ０、０、０）、ブロック（Ａ０、２、０）、ブロック（Ｂ１、０、０）、ブロック（Ａ１、２、０）のデータにアクセスすることができる。
【００８０】
更に、図３に示すマッピングの２列目のブロックをＹ方向に１行置きに４行のブロックのデータにアクセスする場合の別の例について説明する（詳細な動作は、図６、７の場合と同様である）。
【００８１】
まず、メモリコントローラ１がＣＳ０＝"１"を出力し、メモリＡ０（１０）とメモリＢ０（２０）を活性化する。そして、メモリコントローラ１が、ＡＤＡ＝"１"、ＡＤＢ＝"３"、ＡＤ＝"０〜３"をメモリＡ０（１０）とメモリＢ０（２０）に出力する。これにより、メモリＡ０（１０）に格納されているブロック（Ａ０、１、０）のデータと、メモリＢ０（２０）に格納されているブロック（Ｂ０、３、０）のデータが読み出される。
【００８２】
次に、メモリコントローラ１がＣＳ１＝"１"を出力し、メモリＡ１（３０）とメモリＢ１（４０）を活性化する。そして、メモリコントローラ１がＡＤＡ＝"１"、ＡＤＢ＝"３"、ＡＤ＝"０〜３"をメモリＡ１（３０）とメモリＢ１（４０）に出力する。これにより、メモリＡ１（３０）に格納されているブロック（Ａ１、１、０）のデータと、メモリＢ１（４０）に格納されているブロック（Ｂ１、３、０）のデータが読み出される。
【００８３】
このような動作により、Ｙ方向に１行置きに配置されているブロック（Ａ０、１、０）、ブロック（Ｂ０、３、０）、ブロック（Ａ１、１、０）、ブロック（Ｂ１、３、０）のデータにアクセスすることができる。
【００８４】
なお、上記で説明した２行目のブロックにおいてＹ方向に１行置きに４行のブロックのデータにアクセスする場合の動作は、図３に示すマッピングの４列目（ブロック（Ｂ０、０、４）の列）、６列目（ブロック（Ｂ０、０、８）の列）、８列目（ブロック（Ｂ０、０、Ｃ）の列）においても同様である。
【００８５】
本実施の形態にかかるメモリアクセスシステムでは、メモリコントローラ１がチップセレクト信号（ＣＳ０、ＣＳ１）を用いて、メモリＡ０（１０）とメモリＢ０（２０）へのアクセスと、メモリＡ１（３０）とメモリＢ１（４０）へのアクセスとを交互に行うことにより、本来のメモリのバースト長の半分である４バースト単位でのメモリアクセスが可能となる。また、２次元配置のデータを図３に示したようにマッピングすることで、それぞれのチップセレクト信号（ＣＳ０、ＣＳ１）が活性化された際に、同一の列のブロックにアクセスすることができるので、２次元配置のデータに効率よくアクセスすることができる。つまり、ＣＳ０＝"１"の時に選択されるメモリＡ０（１０）とメモリＢ０（２０）に配置されるブロックと、ＣＳ１＝"１"の時に選択されるメモリＡ１（３０）とメモリＢ１（４０）に配置されるブロックを同一の列に配置することで、２次元配置のデータに効率よくアクセスすることができる。
【００８６】
図８（ａ）、（ｂ）は本実施の形態にかかるメモリアクセスシステムを用いて２次元配置の画像データにアクセスする場合と、図１２に示すメモリアクセスシステムを用いて２次元配置の画像データにアクセスする場合を比較するための図である。図８（ａ）は図１２に示すメモリアクセスシステムを用いて２次元配置の画像データにアクセスする場合を示す。図８（ｂ）は本実施の形態にかかるメモリアクセスシステムを用いて２次元配置の画像データにアクセスする場合を示す。また、図８（ｃ）は本実施の形態にかかるメモリアクセスシステムの動作原理を説明する図である。図８において各最小アクセス単位５２、５３は２５６ビットであり、これは３２画素に相当する。また、２次元配置の画像データ５１は９画素×３行とする。
【００８７】
図８（ａ）に示すように、図１２に示したメモリアクセスシステムでは、２５６ビット×２行（１６画素×２行）を最小アクセス単位５２としている。つまり、２次元配置の画像データ５１の１行目のデータを最小アクセス単位５２の１行目に、２次元配置の画像データ５１の２行目のデータを最小アクセス単位５２の２行目に、それぞれ格納している。このため、９画素×３行の２次元配置の画像データ５１にアクセスする際のメモリアクセスは合計で２５６ビット×４回＝１０２４ビットとなる。
【００８８】
これに対して、本実施の形態にかかるメモリアクセスシステムでは、図８（ｂ）に示すように６４ビット×４行（８画素×４行）を最小アクセス単位５３としている。つまり、２次元配置の画像データ５１の１行目をメモリＡ０（１０）に、２行目をメモリＢ０（２０）に、３行目をメモリＡ１（３０）に、４行目をメモリＢ１（４０）に、それぞれ格納している。このとき、メモリＡ０（１０）とメモリＢ０（２０）に格納されているデータは、ＣＳ０＝"１"のタイミングでアクセスされる（図５のＴ１０〜Ｔ１１参照）。また、メモリＡ１（３０）とメモリＢ１（４０）に格納されているデータは、ＣＳ１＝"１"のタイミングでアクセスされる（図５のＴ１１〜Ｔ１２参照）。よって、本実施の形態にかかるメモリアクセスシステムでは、９画素×３行の２次元配置の画像データ５１にアクセスする際のメモリアクセスは合計で１２８ビット×４回＝５１２ビットとなる。したがって、本実施の形態にかかるメモリアクセスシステムを用いることで、メモリアクセスの単位を小さくすることができメモリへのアクセス効率を向上することが可能となる。
【００８９】
図１２に示したメモリアクセスシステムでは、例えば、図８（ｃ）に示すように、ブロック（Ａ０、０、０）のデータおよびブロック（Ａ１、０、０）のデータを最小アクセス単位５２の１行目に、ブロック（Ｂ０、１、０）のデータおよびブロック（Ｂ１、１、０）のデータを最小アクセス単位５２の２行目に、それぞれ格納していた。そして、最小アクセス単位５２のデータに８バースト長でアクセスしていた。
【００９０】
これに対して、本実施の形態にかかるメモリアクセスシステムでは、チップセレクト信号（ＣＳ０、ＣＳ１）を用いて、ＣＳ０＝"１"のときはメモリＡ０（１０）に格納されているブロック（Ａ０、０、０）のデータに、メモリＢ０（２０）に格納されているブロック（Ｂ０、１、０）のデータにアクセスしている。また、ＣＳ１＝"１"のときはメモリＡ１（３０）に格納されているブロック（Ａ１、０、０）のデータに、メモリＢ１（４０）に格納されているブロック（Ｂ１、１、０）のデータにアクセスしている。したがって、本実施の形態にかかるメモリアクセスシステムでは、チップセレクト信号がＣＳ０＝"１"、ＣＳ１＝"１"のそれぞれにおいて４バーストアクセスが可能となるため、最小アクセス単位５３を６４ビット×４行（８画素×４行）とすることができる。
【００９１】
なお、本実施の形態にかかるメモリアクセスシステムでは、Ｘ方向に連続する８つのブロックにアクセスする場合は８バーストアクセスとし、Ｙ方向に連続した８行のブロックにアクセスする場合、およびＹ方向に１行置きに４行のブロックにアクセスする場合は４バーストアクセスとしている。すなわち、本実施の形態にかかるメモリアクセスシステムでは、Ｙ方向に並んでいるブロックにアクセスする際のバースト長がＸ方向に並んでいるブロックにアクセスする際のバースト長の半分となるようにしている。このように、本実施の形態にかかるメモリアクセスシステムでは、チップセレクト信号（ＣＳ０、ＣＳ１）を用いることで、８バーストアクセスと４バーストアクセスを適宜選択することができる。
【００９２】
以上で説明したように、本実施の形態にかかる発明によりアクセス効率の高いメモリアクセスシステムおよびメモリアクセス制御方法を提供することができる。また、本実施の形態にかかるメモリアクセスシステムを用いることで、所望のデータ以外の必要のないデータに同時にアクセスすることを抑制することができる。よって、例えばメモリコントローラ１が共通バス４を経由してデコーダ３にデータを出力する場合であっても、必要のないデータが共通バス４を占有することを抑制することができ、システム全体の効率を向上することができる。
【００９３】
実施の形態２
次に本発明の実施の形態２について説明する。図９は本実施の形態にかかるメモリアクセスシステムがアクセスする２次元配置データのマッピングを示す図である。なお、本実施の形態に用いられるメモリアクセスシステムは、実施の形態１で説明した図１に示したメモリアクセスシステムと同一であるので、重複した説明は省略する。
【００９４】
図９に示すマッピングは、図３に示したマッピングの３行目（ブロック（Ｂ０、２、０）の行）と４行目（ブロック（Ａ０、３、０）の行）を、６行目（ブロック（Ｂ１、１、０）の行）の後ろに移動している。
【００９５】
また、Ｘ方向の８行のブロックにアクセスする場合の動作については、実施の形態１で説明した場合（図４参照）と同一である。また、Ｙ方向に連続する８行のブロックにアクセスする場合の動作についても、実施の形態１で説明した場合（図５参照）と同一である。また、Ｙ方向に１行置きに４行のブロックにアクセスする場合の動作についても、実施の形態１で説明した場合（図６、７参照）と同一である。
【００９６】
実施の形態１にかかるメモリアクセスシステムの動作では、ＣＳ＝"０"の時に図３に示す１行目〜４行目のブロックに、またＣＳ＝"１"の時に図３に示す５行目〜８行目のブロックにアクセスしていた。しかし、本実施の形態にかかるメモリアクセスシステムの動作では、ＣＳ＝"０"の時に図９に示す１行目、２行目、５行目、および６行目のブロック（第１のブロック群）に、ＣＳ＝"１"の時に図９に示す３行目、４行目、７行目、および８行目のブロック（第２のブロック群）にアクセスしている。これ以外は、実施の形態１の場合と同様である。
【００９７】
本実施の形態にかかる発明においても、実施の形態１の場合と同様にアクセス効率の高いメモリアクセスシステムおよびメモリアクセス制御方法を提供することができる。
【００９８】
なお、上記本発明はメモリの内部がアドレスによって２つのグループに分割されており、同じグループ同士で連続してアクセスする場合以外には本来の半分のバースト長で効率を損なわずにアクセスすることが可能なメモリにも適用することができる。このようなメモリに本発明を適用する場合、メモリデバイスは下位１６ビットに接続されたメモリＡと上位１６ビットに接続されたメモリＢの２個となる（チップセレクト信号は１つのみとなる）。このとき、メモリＡ０／Ｂ０がメモリＡ／Ｂのグループ０に、メモリＡ１／Ｂ１がメモリＡ／Ｂのグループ１に該当し、ＣＳ０／ＣＳ１はグループを指定するアドレスビットとなる。また、２より大きい２のべき乗数のグループに分割されているメモリの場合もグループを指定するアドレスビットのうち、任意の１ビットをＣＳ０／ＣＳ１とみなすことで同様に適用可能である。
【００９９】
以上、本発明を上記実施形態に即して説明したが、上記実施形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得る各種変形、修正、組み合わせを含むことは勿論である。
【符号の説明】
【０１００】
１  メモリコントローラ
２  プロセッサ
３  デコーダ
４  共通バス
５  バス
８  第１のセレクタ
９  第２のセレクタ
１０、２０、３０、４０  メモリ
１１、２１、３１、４１  アドレスデコーダ
１２、２２、３２、４２  記憶領域
１３、２３、３３、４３  インターフェース
１４、２４、３４、４４  バス
６１  第１のブロック群
６２  第２のブロック群
【図１】
2011175450.tif 000003
【図２】
2011175450.tif 000004
【図３】
2011175450.tif 000005
【図４】
2011175450.tif 000006
【図５】
2011175450.tif 000007
【図６】
2011175450.tif 000008
【図７】
2011175450.tif 000009
【図８】
2011175450.tif 000010
【図９】
2011175450.tif 000011
【図１０】
2011175450.tif 000012
【図１１】
2011175450.tif 000013
【図１２】
2011175450.tif 000014
【図１３】
2011175450.tif 000015
【図１４】
2011175450.tif 000016