(57)【要約】【課題】画像データの矩形領域へのアクセスを効率的に行うことができる画像メモリ，画像メモリシステム，メモリコントローラを提供する。【解決手段】メモリ装置は，ロウアドレスにより選択される複数のページ領域を含むメモリセルアレイをそれぞれ有し，バンクアドレスにより選択される複数のバンクと，第１の動作コードに応答して，前記バンク内のページ領域の活性化を制御するロウ制御部と，データ入出力端子群とを有する。そして，コラムアドレスに基づいて前記活性化されたページ領域内のメモリ単位領域がアクセスされ，ロウ制御部は，第１のコマンドと共に供給されるマルチバンク情報データと供給バンクアドレスとに応じて複数バンクのバンク活性化信号を生成し，供給バンクアドレスと供給ロウアドレスに応じて複数のバンクのロウアドレスを生成し，複数のバンクは，バンク活性化信号とロウアドレス演算部が生成するロウアドレスとに応じてページ領域を活性化する。【選択図】図６７
2008176765.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータを記憶し，バンクアドレスとロウアドレスとコラムアドレスに応答して前記記憶されたデータにアクセスするメモリ装置であって，
前記ロウアドレスにより選択される複数のページ領域を含むメモリセルアレイをそれぞれ有し，バンクアドレスにより選択される複数のバンクと，
第１の動作コードに応答して，前記バンク内のページ領域の活性化を制御するロウ制御部と，
データ入出力端子群とを有し，
前記コラムアドレスに基づいて前記活性化されたページ領域内のメモリ単位領域がアクセスされ，
前記ロウ制御部は，
前記第１の動作コードと共に供給されるマルチバンク情報データと供給バンクアドレスとに応じて，複数バンクのバンク活性化信号を生成するマルチバンク活性化制御部と，
前記供給バンクアドレスと供給ロウアドレスに応じて，前記複数のバンクのロウアドレスを生成するロウアドレス演算部とを有し，
前記複数のバンクは，前記バンク活性化信号と前記ロウアドレス演算部が生成するロウアドレスとに応じて，ページ領域を活性化するメモリ装置。
【請求項２】
請求項１において，
前記記憶されるデータが，行列状に配置される複数の矩形ブロックに分割された二次元配列データであり，
隣接する前記矩形ブロックを異なるバンクアドレスのページ領域に対応付けるマッピングルールであって，当該ページ領域に対応するロウアドレスが所定のステップ数で行を折り返されるマッピングルールに基づいて，前記複数の矩形ブロックがメモリの論理アドレス空間に割り当てられ，
前記マッピングルールにおける前記ロウアドレスのステップ数データが第２の動作コードと共に供給され，
前記ロウアドレス演算部は，前記供給バンクアドレス及び供給ロウアドレスに加えて，前記ステップ数データに応じて，前記複数のバンクのロウアドレスを生成するメモリ装置。
【請求項３】
請求項２において，
更に，前記ステップ数データを記憶するモードレジスタを有し，
前記第２の動作コードに応答して，前記ステップ数データが前記モードレジスタに記憶されるメモリ装置。
【請求項４】
請求項２において，
前記マルチバンク活性化制御部は，前記複数のバンクに対するバンク活性化信号を，前記供給バンクアドレスに応じて，当該供給バンクアドレスに対応するバンクを先頭にする順番で順次異なるタイミングで生成し，
前記複数のバンクは，前記バンク活性化信号に応答して，前記ページ領域を活性化するメモリ装置。
【請求項５】
請求項２において，
前記ロウアドレス演算部は，前記供給ロウアドレス（ＲＡ）に，０，１，前記ロウアドレスのステップ数データ（ＲＳ），当該ロウアドレスのステップ数データ（ＲＳ）に１を加えた数をそれぞれ加算する複数のアドレス加算器を有し，当該複数のアドレス加算器が出力するロウアドレスが，前記供給バンクアドレスに応じて前記複数のバンクに供給されるメモリ装置。
【請求項６】
請求項２において，
前記隣接する矩形ブロックに対応付けられるページ領域が，下位のバンクアドレスに対応付けられた第１の行と上位のバンクアドレスに対応付けられた第２の行とに割り当てられた第１のマッピングルールと，
前記隣接する矩形ブロックに対応付けられるページ領域が，偶数のバンクアドレスに対応付けられた第１の行と奇数のバンクアドレスに対応付けられた第２の行とに割り当てられた第２のマッピングルールとのいずれかを選択可能であり，
前記第１または第２のマッピングルールに応じて，入力バンクアドレスを切り替えて内部バンクアドレスを出力するバンクアドレス切換回路を有するメモリ装置。
【請求項７】
複数のデータを記憶し，バンクアドレスとロウアドレスとコラムアドレスに応答して前記記憶されたデータにアクセスするメモリ装置であって，
前記ロウアドレスにより選択される複数のページ領域を含むメモリセルアレイをそれぞれ有し，バンクアドレスにより選択される複数のバンクと，
第１の動作コードに応答して，前記バンク内のページ領域の活性化を制御するロウ制御部と，
データ入出力端子群と，
前記メモリセルアレイと複数の入出力端子との間に設けられる入出力ユニットとを有し，
前記コラムアドレスに基づいて前記活性化されたページ領域内のメモリ単位領域がアクセスされ，
前記ロウ制御部は，
前記第１の動作コードと共に供給されるマルチバンク情報データと供給バンクアドレスとに応じて，複数バンクのバンク活性化信号を生成するマルチバンク活性化制御部と，前記供給バンクアドレスと供給ロウアドレスに応じて，前記複数のバンクのロウアドレスを生成するロウアドレス演算部とを有し，
前記複数のバンクは，前記バンク活性化信号と前記ロウアドレス演算部が生成するロウアドレスとに応じてページ領域を活性化し，
前記メモリ単位領域内には，前記複数の入出力端子に対応する複数のバイト又はビットのデータが記憶され，
前記メモリセルアレイと入出力ユニットは，第３の動作コードに応答して，前記バイト又はビットの組み合わせ情報に基づいて，前記供給バンクアドレスの第１のバンク内の前記コラムアドレスに対応する第１のメモリ単位領域と，前記第１のバンクに隣接する第２のバンク内にあり前記第１のメモリ単位領域に隣接する第２のメモリ単位領域とにアクセスし，前記アクセスした第１及び第２のメモリ単位領域の複数のバイト又はビットから，前記組み合わせ情報に基づく組み合わせの複数のバイト又はビットを，前記複数の入出力端子に対応付けるメモリ装置。
【請求項８】
請求項１または２に記載のメモリ装置と，
前記メモリ装置に，前記マルチバンク情報データとを供給し，前記バンクアドレスと前記ロウアドレスと共に前記第１の動作コードを１回供給し，その後，前記活性化された複数のバンクに対応して，第３の動作コードと共に前記バンクアドレスと前記コラムアドレスとを複数回供給するコマンド・アドレス生成部を有し，前記メモリ装置に対してデータを読み出しまたはデータを書き込むメモリコントローラと，
を有するメモリシステム。
【請求項９】
請求項１または２に記載のメモリ装置を制御するメモリコントローラであって，
前記メモリ装置に，前記マルチバンク情報データとを供給し，前記バンクアドレスと前記ロウアドレスと共に前記第１の動作コードを１回供給し，その後，前記活性化された複数のバンクに対応して，第３の動作コードと共に前記バンクアドレスと前記コラムアドレスとを複数回供給するコマンド・アドレス生成部を有し，
前記メモリ装置に対してデータを読み出しまたはデータを書き込むメモリコントローラ。
【請求項１０】
請求項９において，
前記二次元配列データ内の任意の矩形領域の位置とサイズデータを入力し，当該矩形領域の位置とサイズデータに基づいて，前記矩形領域が異なるバンクアドレスの複数のページ領域にまたがるか否かを判定し，当該判定結果に応じて前記マルチバンク情報データを生成するメモリコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，デジタル画像データをはじめとする二次元配列データを記録するメモリ装置，そのメモリ装置のメモリコントローラ，及びメモリシステムに関し，特に，単位時間に処理できるデータ数を意味する帯域幅を実効的に大きくするメモリ装置，メモリコントローラ及びメモリシステムに関する。
【背景技術】
【０００２】
デジタル画像データなどの二次元に配列されたデータを記録するメモリ装置は，デジタル放送やインターネットによる動画配信などの普及に伴ってますます大きな市場規模になりつつある。デジタル画像データは，画素の階調情報を複数ビット（例えば８ビット，２５６階調）で構成したデータ群であり，例えば，ハイビジョン放送用の画像データは，１フレームが１９２０×１０４０画素の画像データで構成される。そして，このフレーム単位の画像データが，所定のマッピング方法にしたがって，画像メモリ内のアドレス空間内に配置される。
【０００３】
このメモリマッピングは，現在普及している同期型ＤＲＡＭ（ＳＤＲＡＭ）のメモリ構成と動作に基づいて，最も効率的なアクセスが可能になるように定められている。例えば，ＳＤＲＡＭは，複数のバンクを有し，各バンクが複数のワード線及びビット線とそれらの交差位置の複数のメモリセルとビット線に対応するセンスアンプとを有し，複数のバンクが独立してアクティブ動作を実行可能である。ＳＤＲＡＭにおけるアクティブ動作とは，ロウアドレスに基づいてワード線を選択しセンスアンプを活性化する一連の動作である。また，ＳＤＲＡＭのリード動作とは，コラムアドレスに基づいてセンスアンプで増幅されたビット線電位をリードデータとして入出力端子に出力する一連の動作であり，ライト動作とは，入出力端子から入力された選択されたライトデータをコラムアドレスに基づいて選択されたビット線に入力する一連の動作である。
【０００４】
ＳＤＲＡＭにおけるメモリ内のアドレス空間は，バンクアドレスとロウアドレスとで選択可能な複数のページ領域で構成され，各ページ領域はコラムアドレスで選択可能なビット群またはバイト群を有する。このコラムアドレスにより選択されたバイト群（またはビット群）が，複数の入出力端子を介して入出力される。
【０００５】
そして，一般的なマッピング方法によれば，デジタル画像データの画素が，ページ領域内のコラムアドレスで選択可能なバイト群（またはビット群）の各バイト（またはビット）に対応付けられる。さらに，このマッピング方法によれば，ＳＤＲＡＭの各バンクが独立してアクティブ動作とリードまたはライト動作とを実行することができるので，デジタル画像データの画素の配置に対応付けられる複数のページ領域が，画像上の上下左右に隣接するページ領域が異なるバンクアドレスに対応するように配置される。例えば，ＳＤＲＡＭが４バンク構成の場合は，奇数行にはバンクアドレスＢＡ＝０，１のページ領域を交互に配置し，偶数行にはバンクアドレスＢＡ＝２，３のページ領域を交互に配置する。このように配置することで，１フレームの画像データのリードまたはライトを行う場合，異なるバンクを交互に且つ時間的にオーバーラップしてアクティブ動作及びリードまたはライト動作を実行することができ，単位時間当たりに処理可能な画素数である帯域幅を飛躍的に高めることができる。
【０００６】
特許文献１，２には，画像データを記憶する半導体メモリにおいて，複数の行に同時にアクセス可能にして，アクセス効率を高めることが記載されている。
【０００７】
また，特許文献３には，ＤＲＡＭを画像伸長処理に用いる場合，ページをまたいでデータを読み出さなければならず，読み出し時間が長くなり且つ消費電力が多くなることを解決するために，入力ロウアドレスに割り付けられたサブアレイと１つ上位のロウアドレスに割り付けられたサブアレイとを同時に活性化されるように制御するサブアレイ選択回路を設けたメモリ装置が記載されている。しかし，特許文献３では，画像の行方向に連続する水平アクセスの効率を高めることを目的としており，矩形アクセスについては記載されていない。
【０００８】
さらに，特許文献４には，バス制御部がバーストモードでアクセス中の記憶領域とは異なる記憶領域への，データ処理部からのアクセス指示によりアドレスアクティブコマンドを発行し，あらかじめアクセスアドレスの設定を可能にするデータ処理システムが記載されている。つまり，メモリコントローラが１つのバンクをアクティブにしてアクセス中に，他のバンクにアクティブコマンドを発行してあらかじめアクティブ動作をさせておくことでリードライト動作の高速化を実現することが記載されている。
【０００９】
そして，特許文献５には，画像メモリと，任意のバンクにアクセスしている間にカラムアドレスを連続的に発生して同一ページ内の任意のアドレスに連続アクセス可能とすると共に，この後にアクセスするバンクを前もってロウアクティブしておくことにより，アクセスするバンクが切り替わってもこれを直ちにアクセスできるように制御するコントローラ手段とを備える画像処理装置が開示されている。つまり，メモリコントローラがアドレス順序予測回路を有し，次にアクセスされるバンクを予測し，メモリにアクティブコマンドを発行することが記載されている。
【特許文献１】特開２００１−３１２８８５号公報
【特許文献２】特開平０８−１８０６７５号公報
【特許文献３】特開平０９−２３１７４５号公報
【特許文献４】特開２００２−１３２５７７号公報
【特許文献５】特開平１０−１０５３６７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
デジタル画像データを格納する画像メモリでは，画像データの書き込みと読み出しを，マトリクス状の画素の配置順に行う水平アクセスと，マトリクス状の画素の部分的な矩形領域に対して行う矩形アクセスとが必要になる。水平アクセスは，例えば，１フレームの画像データを水平スキャンを繰り返して書き込んだり読み出したりするラスタスキャン動作に対応する。また，矩形アクセスは，例えば，ＭＰＥＧなどのエンコード動作において，小さい矩形形状のブロックの画像データを読み出して動きベクトルを求めたりする動作や，デコード動作での画像再生において，ブロックの画像データを読み出したり書き込んだりする動作に対応する。
【００１１】
しかしながら，前述のメモリマッピングによりメモリのアドレス空間内に画素の画像データが記憶されるので，矩形アクセスにおける実効的な帯域幅の低下が問題になる。第１に，バンクアドレスとロウアドレスで選択されるページ領域内において，コラムアドレスによりバイト群，つまり複数バイト（または複数ビット）が同時にアクセスされる。しかし，矩形アクセスにおいてアクセスしたい矩形画像領域と，コラムアドレスにより選択される複数バイト（または複数ビット）とが一致しない場合は，１つのコラムアドレスによるアクセスにおいて無駄な入出力データが発生する。第２に，矩形アクセスにおいてアクセスしたい矩形画像領域とアドレス空間内のページ領域とが一致しない場合は，ページ領域の境界を越えて複数のページ領域に対してアクセスすることが要求され，複雑なメモリ制御が必要になる。
【００１２】
上記第１，第２の問題点は，アクセス対象の矩形画像領域が，ページ領域とも一致せず且つコラムアドレスで選択される複数バイト（または複数ビット）とも一致しない場合は，さらに，メモリ制御が複雑になり，実効的な帯域幅の低下を招く。
【００１３】
そこで，本発明の目的は，メモリ装置の矩形アクセスにおける上記の問題点を解決したメモリ装置，メモリ装置のメモリコントローラ，及びメモリシステムを提供することにある。
【課題を解決するための手段】
【００１４】
上記の目的を達成するために，本発明の第１の側面によれば，ロウアドレスにより選択される複数のページ領域を含むメモリセルアレイをそれぞれ有しバンクアドレスにより選択される複数のバンクと，第１の動作コードに応答して，前記バンク内のページ領域の活性化を制御するロウ制御部と，データ入出力端子群とを有するメモリ装置である。そして，コラムアドレスに基づいて前記活性化されたページ領域内のメモリ単位領域がアクセスされ，ロウ制御部は，第１の動作コードと共に供給されるマルチバンク情報データと供給バンクアドレスとに応じて複数バンクのバンク活性化信号を生成し，供給バンクアドレスと供給ロウアドレスに応じて複数のバンクのロウアドレスを生成し，複数のバンクは，バンク活性化信号とロウアドレス演算部が生成するロウアドレスとに応じてページ領域を活性化する。
【００１５】
上記の第１の側面によれば，１つの第１の動作コードに応答して，マルチバンク情報データに示された複数のバンクを活性化することができるので，その後のコラムアクセスでは，複数のバンクから所望のデータにアクセスすることができる。よって，二次元配列データの複数のバンクに跨る領域のデータに対するアクセス効率を高めることができる。
【００１６】
上記の目的を達成するために，本発明の第２の側面によれば，複数のデータを記憶し，バンクアドレスとロウアドレスとコラムアドレスに応答して前記記憶されたデータにアクセスするメモリ装置であって，
前記ロウアドレスにより選択される複数のページ領域を含むメモリセルアレイをそれぞれ有し，バンクアドレスにより選択される複数のバンクと，
第１の動作コードに応答して，前記バンク内のページ領域の活性化を制御するロウ制御部と，
データ入出力端子群と，
前記メモリセルアレイと複数の入出力端子との間に設けられる入出力ユニットとを有し，
前記コラムアドレスに基づいて前記活性化されたページ領域内のメモリ単位領域がアクセスされ，
前記ロウ制御部は，
前記第１の動作コードと共に供給されるマルチバンク情報データと供給バンクアドレスとに応じて，複数バンクのバンク活性化信号を生成するマルチバンク活性化制御部と，前記供給バンクアドレスと供給ロウアドレスに応じて，前記複数のバンクのロウアドレスを生成するロウアドレス演算部とを有し，
前記複数のバンクは，前記バンク活性化信号と前記ロウアドレス演算部が生成するロウアドレスとに応じてページ領域を活性化し，
前記メモリ単位領域内には，前記複数の入出力端子に対応する複数のバイト又はビットのデータが記憶され，
前記メモリセルアレイと入出力ユニットは，第３の動作コードに応答して，前記バイト又はビットの組み合わせ情報に基づいて，前記供給バンクアドレスの第１のバンク内の前記コラムアドレスに対応する第１のメモリ単位領域と，前記第１のバンクに隣接する第２のバンク内にあり前記第１のメモリ単位領域に隣接する第２のメモリ単位領域とにアクセスし，前記アクセスした第１及び第２のメモリ単位領域の複数のバイト又はビットから，前記組み合わせ情報に基づく組み合わせの複数のバイト又はビットを，前記複数の入出力端子に対応付けることを特徴とする。
【００１７】
上記の第２の側面によれば，二次元配列データのうち複数のバンクに跨る領域をアクセスする場合であって，且つ，複数のメモリ単位領域内における任意の組み合わせの複数バイト又はビットデータをアクセスする場合に，第１の動作コードの発行回数を減らし，入出力される無効データをなくし，よってアクセス効率を高めることができる。
【００１８】
上記の目的を達成するために，本発明の第３の側面によれば，メモリシステムは，第１の側面のメモリ装置と，前記メモリ装置に，前記マルチバンク情報データとを供給し，前記バンクアドレスと前記ロウアドレスと共に前記第１の動作コードを１回供給し，その後，前記活性化された複数のバンクに対応して，第３の動作コードと共に前記バンクアドレスと前記コラムアドレスとを複数回供給するコマンド・アドレス生成部を有し，前記メモリ装置に対してデータを読み出しまたはデータを書き込むメモリコントローラとを有する。
【００１９】
上記の目的を達成するために，本発明の第４の側面によれば，上記のメモリ装置を制御するメモリコントローラであって，前記メモリ装置に，前記マルチバンク情報データとを供給し，前記バンクアドレスと前記ロウアドレスと共に前記第１の動作コードを１回供給し，その後，前記活性化された複数のバンクに対応して，第２の動作コードと共に前記バンクアドレスと前記コラムアドレスとを複数回供給するコマンド・アドレス生成部を有し，前記メモリ装置に対してデータを読み出しまたはデータを書き込む。
【発明の効果】
【００２０】
本発明によれば，１つの第１の動作コードに応答して，アクセス対象のデータが記憶されている複数のバンクを活性化することができるので，アクセス効率を高めることができる。
【発明を実施するための最良の形態】
【００２１】
以下，図面にしたがって本発明の実施の形態について説明する。但し，本発明の技術的範囲はこれらの実施の形態に限定されず，特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００２２】
［画像メモリのメモリマッピングと問題点］
図１は，本実施の形態における画像メモリのメモリマッピングを示す図である。図１において，表示デバイス１０を含む画像処理システムにおける表示画像データは，画像メモリ１５内に記憶される。表示画像データは，各画素の輝度信号Ｙと色差信号Ｃｂ，Ｃｒや，各画素のＲＧＢ階調信号などのデータで構成され，各信号は例えば８ビット（１バイト）のデータで構成される。
【００２３】
一方，画像メモリ１５は，一般的にＳＤＲＡＭなどの半導体基板上に集積回路が形成された大容量且つ高速の半導体メモリ装置からなる。このような画像メモリは，複数のバンクＢａｎｋ０〜３（図１では４つのバンク）で構成され，各バンクＢａｎｋ０は複数のブロックＢＬＫ−０を有し，各ブロックは複数のワード線ＷＬとビット線ＢＬとその交差位置のメモリセルＭＣとを有する。メモリセルは，図示しないがワード線にゲートが接続されたＭＯＳトランジスタとトランジスタに接続されたキャパシタとで構成される。そして，図１の例では，４つのバンクはバンクアドレスＢＡ０−ＢＡ３に対応付けられ，ワード線はロウアドレスＲＡ０−ＲＡ７に対応付けられ，ビット線はコラムアドレスＣＡ０−ＣＡ１２７に対応付けられる。バンクアドレスＢＡとロウアドレスＲＡの組み合わせであるバンク内のワード線が選択され，コラムアドレスＣＡによりビット線が選択される。バンクアドレスＢＡ，ロウアドレスＲＡ，コラムアドレスＣＡにより，４バイトＢＹ０−３のデータがアクセスされる。１バイトは８ビットで構成されるので，一回のアクセスで４バイト，つまり４×８＝３２ビットのデータがメモリの入出力端子に関連付けられて，読み出しまたは書き込みが行われる。一般に，上記の１バイトのデータ（８ビットデータ）が画素の信号に対応する。一度のアクセスで４バイトデータを入出力することで，画像メモリに対する単位時間に処理できる画素数を意味する帯域幅を大きくすることができる。
【００２４】
表示画像データに対するメモリマッピング１２によれば，バンクアドレスＢＡとロウアドレスＲＡにより特定されるページ領域１４が行列に配置される。そして，１つのページ領域１４は，拡大領域１４Ｅに示されるとおり，コラムアドレスＣＡ０−１２７で特定される１２８のメモリ単位領域を有し，各メモリ単位領域は４バイトＢＹ０−３のデータを記憶する。この４バイトＢＹ０−３のデータが，メモリの入出力端子ＤＱ０−７，ＤＱ８−１５，ＤＱ１６−２３，ＤＱ２４−３１の，合計３２の入出力端子を経由して入出力される。この各バイトの８ビットデータが画素の信号データに対応する。
【００２５】
上記のメモリマッピング１２は，複数バンク構成のＳＤＲＡＭなどの画像メモリ１５を高速動作させるのに適している。ＳＤＲＡＭは，バンクアドレスＢＡとロウアドレスＲＡと共に与えられるアクティブコマンドに応答して，選択されたバンク内の選択されたワード線を駆動し，メモリセルのデータをビット線に読み出し，ビット線に対応付けられたセンスアンプを活性化してビット線電位を増幅するアクティブ動作を行い，その後，コラムアドレスＣＡと共に与えられるリードコマンドに応答して，選択されたビット線からデータを読み出すリード動作を行う。あるいは，ＳＤＲＡＭは，アクティブ動作後に，コラムアドレスＣＡと書き込みデータと共に与えられるライトコマンドに応答して，選択されたビット線に書き込みデータを書き込むライト動作を行う。リード動作またはライト動作の後にプリチャージコマンドによるプリチャージ動作が行われ，再度，アクティブ動作，リードまたはライト動作になる。このように，ＳＤＲＡＭでは，各バンクが独立してアクティブ動作，リード動作，ライト動作を行うことができる。
【００２６】
図１のメモリマッピング１２によれば，上下左右に隣接するページ領域１４には異なるバンクアドレスＢＡ０−３が対応付けられる。すなわち，メモリマッピング１２の奇数行にはバンクアドレスＢＡ０，１が交互に配置され，偶数行にはバンクアドレスＢＡ２，３が交互に配置される。さらに，メモリマッピング１２のラスタ方向（行方向）に，ロウアドレスＲＡ０−７が２つずつ繰り返しながらインクリメントされ，メモリマッピング１２の各行は，４つのロウアドレスＲＡ０−３，ＲＡ４−７で折り返されている。
【００２７】
このように画像上のページ領域を，メモリ上において，同一バンクのページ領域がロウ方向とコラム方向のいずれにも隣接しないように割り当てるメモリマッピングを採用すれば，画像メモリへの代表的なアクセスである水平アクセス，つまりページ領域１４を行方向に移動して選択するアクセスでは，２つのバンクで同時にアクティブ動作とリード・ライト動作とを実行させながらアクセスすることができ，アクセス効率を高めることができる。また，垂直方向にアクセスする場合も同様である。
【００２８】
図２は，画像メモリにおける２つのアクセスを示す図である。図２（Ａ）の水平アクセスは，映像のフレーム画像の入出力時に多く発生するアクセスであり，画像を左上から右下に向けて水平方向２０にアクセスするラスタスキャンに相当する。一方，図２（Ｂ）の矩形アクセスは，ＭＰＥＧなどの画像の圧縮と伸長処理で多く発生するアクセスで，任意の縦横比の矩形２２内を左上から右下に向けて矢印２４のようにアクセスする動作に相当する。矩形領域２２は，ＭＰＥＧの動きベクトル抽出対象のブロックなどに対応する。
【００２９】
一般に，画像メモリを使用する画像システムでは，フレームメモリである画像メモリの転送レートが画面表示動作よりも速く設定され，画像メモリの水平アクセスで読み出された画像データを画面表示している間に，矩形アクセスにより新しいフレームデータを作成し，とぎれることなくフレームデータの作成とフレームデータの出力とが行えるようになっている。このため，実際の画像システムでは水平アクセスと矩形アクセスとが混在することになる。
【００３０】
水平アクセスでは，水平方向２０にスキャンされるので，隣接するバンクを同時にアクティブさせながら効率的にメモリアクセスを行うことができる。一方，矩形アクセスでは，アクセスされる矩形領域２２の位置を，単一のバンクを越えないようにし，更にバンク内のページ領域を超えないようにすることで，バンクアドレスＢＡとロウアドレスＲＡとを指定する１回のアクティブ動作で矩形領域２２内のデータをアクセスできるので，水平アクセスと同様に効率的なメモリアクセスを行うことができる。
【００３１】
図３は，水平アクセスの課題を示す図である。前述のメモリマップ１２において水平方向２０にアクセスする水平アクセスのタイミングチャート３０が示されている。このタイミングチャートでは，メモリマップ１２の４行目のページ領域（ＢＡ０／ＲＡ４，ＢＡ１／ＲＡ４，ＢＡ０／ＲＡ５，ＢＡ１／ＲＡ５）を水平アクセス（図中２０）している時に，自動リフレッシュコマンドＡＲＥＦが発生している。タイミングチャート３０には，コマンドＣＭＤ，クロックＣＬＫ，バンクアドレスＢＡ，ロウアドレスＲＡ，コラムアドレスＣＡ，入出力端子ＤＱが示されている。
【００３２】
前提としてバーストレングスＢＬは４に設定されている。アクティブコマンドＡＣＴ３２でＢＡ０／ＲＡ４のページ領域がアクティブ動作し，リードコマンドＲＤ３３でＢＡ０／ＣＡ０の読み出しが指示されると，所定のレイテンシ（図中では４クロック）後に４組の３２ビットデータが入出力端子ＤＱから４クロックサイクルで連続して出力される。つまり，ページ領域ＢＡ０／ＲＡ４内のコラムアドレスＣＡ０〜ＣＡ３における４組の３２ビットデータが４回に分けて連続出力される。このバースト動作は，ＳＤＲＡＭが規格上要求されている動作である。図１の拡大されたページ領域１４ＥのコラムアドレスＣＡ０〜ＣＡ３の各４バイト（３２ビット）データが４回に分けて連続出力されることを意味する。
【００３３】
次に，アクティブコマンドＡＣＴ３４とリードコマンドＲＤ３５で，ページ領域ＢＡ１／ＲＡ４の４バイトデータが出力される。同様に，アクティブコマンドＡＣＴ３６とリードコマンドＲＤ３７で，ページ領域ＢＡ０／ＲＡ５の４バイトデータが，アクティブコマンドＡＣＴ３８とリードコマンドＲＤ３９で，ページ領域ＢＡ１／ＲＡ５の４バイトデータがそれぞれ出力される。
【００３４】
この時点で，ロウアドレスＲＡ６を指定する自動リフレッシュコマンドＡＲＥＦ４０が発生すると，画像メモリを構成するＳＤＲＡＭメモリは，内蔵する全てのバンク，４バンクＢＡ０−３でリフレッシュ動作を並列に実行する。つまり，４バンク内のロウアドレスＲＡ６のワード線が同時に駆動され，センスアンプが活性化され，再書き込みが行われ，プリチャージ動作が行われる。このリフレッシュ動作は，図３中のメモリマップ１２中の４つのページ領域３１に対して行われることを意味する。そのため，リフレッシュ動作期間ｔＲＥＦの間，水平アクセス（矢印２０）は一時的に停止する。そして，リフレッシュ動作期間ｔＲＥＦ後に，再度アクティブコマンドＡＣＴ４１とリードコマンドＲＤ（図示せず）により次のページ領域ＢＡ０／ＲＡ６をアクセスすることで，水平アクセスを再開する。
【００３５】
自動リフレッシュコマンドＡＲＥＦによるリフレッシュ動作が４バンク同時に行われるので，水平アクセス中にリフレッシュコマンドが発生すると水平アクセスが一時的に中断することになり，実効的な帯域幅が狭くなる。これが，水平アクセスにおける課題である。
【００３６】
図４は，矩形アクセスの第１の課題を示す図である。図４（Ａ）に水平アクセスの例が，図４（Ｂ）に矩形アクセスの例が示される。いずれもコラムアドレスＣＡで選択されるメモリ単位領域（４バイト領域）４５の境界を越えるアクセスである。前述したとおり，一般的なメモリマップによれば，バンクアドレスＢＡとロウアドレスＲＡで特定されるページ領域１４内は，コラムアドレスＣＡ０−１２７で選択される複数のメモリ単位領域４５に区分され，１つのコラムアドレスＣＡにより４バイトＢＹ０−３のデータが同時にアクセスされる。各バイトの８ビットデータが画素の信号に対応する。
【００３７】
そのため，水平アクセスでは比較的無駄なくアクセスが行われるが，矩形アクセスでは無駄なデータの入出力が発生し，実効的な帯域幅が低下する。
【００３８】
図４（Ａ）の水平アクセスでは，領域２２Ａをアクセスする場合，ページ領域ＢＡ０／ＲＡ０を指定するアクティブコマンドＡＣＴに続いて，４つのリードコマンドＲＤがコラムアドレスＣＡ０−３について発行され，コラムアドレスＣＡ０−３それぞれの４バイトデータＢＹ０−３が連続して入出力される。この場合，領域２２Ａは，コラムアドレスＣＡ０のバイトＢＹ２，３からコラムアドレスＣＡ３のバイトＢＹ０，１までを含むので，コラムアドレスＣＡ０に対応する４バイトの入出力ＤＱのうち，バイトＢＹ０，１のデータは必要なく，コラムアドレスＣＡ３に対応する４バイトの入出力ＤＱのうち，バイトＢＹ２，３のデータも必要ない。よって，有効出力データは，１２バイト／１６バイトである。
【００３９】
これに対して，図４（Ｂ）の矩形アクセスでは，矩形領域２２Ｂをアクセスする場合，ページ領域ＢＡ０／ＲＡ０を指定するアクティブコマンドＡＣＴに続いて，６つのリードコマンドＲＤがコラムアドレスＣＡ０，１，４，５，８，９について発行され，それらのコラムアドレスＣＡ０，１，４，５，８，９それぞれの４バイトデータＢＹ０−３が連続して入出力される。しかし，矩形領域２２Ｂがコラムアドレスで選択されるメモリ単位領域（４バイト領域）４５の境界と一致せず且つ４バイト領域の境界を越えているので，各４バイトデータＢＹ０−３のうちそれぞれ半分は必要のないデータになる。つまり，有効出力データは，１２バイト／２４バイトである。図４（Ｂ）はワーストケースを示している。
【００４０】
このように，同じバイト数のデータであっても，上記の矩形アクセスは，６回のリードコマンドＲＤにより２４バイトのデータを入出力する必要があるが，水平アクセスでは，４回のリードコマンドＲＤにより１６バイトのデータを入出力すれば良い。よって，１つのコラムアドレスで選択される４バイト領域（メモリ単位領域）４５の境界を越える矩形領域のアクセスは，実効的な帯域幅が低下する。これが，矩形アクセスの第１の課題である。
【００４１】
図５は，矩形アクセスの第２の課題を示す図である。矩形アクセスは，任意の矩形領域に対するアクセスであり，矩形領域が隣接するページ領域１４の境界１４ＢＯＵを越える場合がある。図５には，矩形領域２２（Ａ）が同じページ領域ＢＡ１／ＲＡ６内の１６バイト領域の場合と，矩形領域２２（Ｂ）が４つの隣接するページ領域ＢＡ３／ＲＡ２，ＢＡ２／ＲＡ３，ＢＡ１／ＲＡ６，ＢＡ０／ＲＡ７にまたがる１６バイト領域の場合とが示されている。
【００４２】
矩形領域２２（Ａ）の場合は，タイミングチャートに示されるとおり，ページ領域ＢＡ１／ＲＡ６についての１回のアクティブコマンドＡＣＴ（図中５０）と，コラムアドレスＣＡ６，７，１０，１１についての４回のリードコマンドＲＤ（図中５２）を発行すれば，１６バイトのデータを入出力できる。
【００４３】
一方，矩形領域２２（Ｂ）の場合は，タイミングチャートに示されるとおり，ページ領域ＢＡ３／ＲＡ２，ＢＡ２／ＲＡ３，ＢＡ１／ＲＡ６，ＢＡ０／ＲＡ７についての４回のアクティブコマンドＡＣＴ（図中５４）と，コラムアドレスＣＡ１２７（ＢＡ３），ＣＡ１２４（ＢＡ２），ＣＡ３（ＢＡ１），ＣＡ０（ＢＡ０）についての４回のリードコマンドＲＤ（図中５６）を発行しなければ，１６バイトのデータを入出力できない。つまり，矩形領域２２が隣接するページ領域を含む場合は，異なるバンクをアクティブ動作させるために，複数回のアクティブコマンドＡＣＴを発行し，それぞれのバンク内のコラムアドレスでリードＲＤまたはライトコマンドＷＲを発行しなければならない。よって，単位時間当たりにアクセスできるデータ量が減り，実効的な帯域幅が狭くなる。
【００４４】
図５の矩形領域２２（Ｂ）が，コラムアドレスで選択されるメモリ単位領域（４バイト領域）の途中で区画される場合は，図４で示した第１の課題も同時に有することになり，複数回のアクティブコマンドを必要とすることに加えて（第２の課題），リードコマンドに対する入出力データＤＱ内に不必要なデータが含まれる（第１の課題）ことになり，より一層，実効的な帯域幅の低下を招く。
【００４５】
以上のとおり，画像メモリにおいてＳＤＲＡＭの構造上の特性を利用したメモリマッピングを採用した場合，第１に水平アクセス中のリフレッシュコマンドの発生でアクセスが中断するという課題，第２に矩形アクセス領域がコラムアドレスで選択されるメモリ単位領域（４バイト領域）の境界を越える場合に入出力データに無駄が生じるという課題，第３に矩形アクセス領域がバンクアドレスで特定されるページ領域の境界を越える場合に複数のバンクアクティブコマンドを発行する必要が生じるという課題などを有する。
【００４６】
［本実施の形態の概略説明］
以下は，それらの課題を解決する構成と動作について概略的に説明する。
【００４７】
本実施の形態では，リフレッシュ動作に起因するアクセスの中断，矩形アクセスによるアクセス効率の低下などを解決するものであり，第１に，水平アクセス時にはアクセス動作と平行してバックグランドでリフレッシュ動作を可能にし，第２に矩形アクセス時にコラムアドレスで選択されるメモリ単位領域（４バイト領域）とずれた領域またはメモリ単位領域を超える領域へのアクセスを効率的に行う機能を可能にし，さらに第３に矩形アクセス時にページ領域の境界を越えて複数のページ領域を含む矩形領域へのアクセスを効率的に行う機能を可能にする。
【００４８】
図６は，本実施の形態における全体の動作を示す図である。前述したとおり，画像メモリを利用する画像システムでは，画像メモリへの水平アクセスと矩形アクセスとが混在して発生する。図６の例は，メモリマップ１２の１行目のバンクアドレスＢＡ０，ＢＡ１のページ領域に対する水平アクセス２０−１と，２行目のページ領域ＢＡ２／ＲＡ２に対する矩形アクセス２２と，２行目のバンクアドレスＢＡ２，ＢＡ３のページ領域に対する水平アクセス２０−２とが順番に発生する例である。矩形アクセス２２では，１つのページ領域ＢＡ２／ＲＡ２内のメモリ単位領域（４バイト領域）４５の境界を越えた矩形領域に対してアクセスが行われている。
【００４９】
この場合，矩形アクセスでは，メモリの任意のバンクにアクセスが発生するが，水平アクセスでは，ある一定期間は決められたバンクにしかアクセスが発生しない。例えば，メモリマップ１２内の１行目の水平アクセス中は，バンクＢＡ０，１にしかアクセスが発生せず，２行目のバンクＢＡ２，３にはアクセスは発生しない。逆に，２行目の水平アクセス中は，バンクＢＡ２，３にしかアクセスが発生せず，１行目のバンクＢＡ０，１にはアクセスは発生しない。
【００５０】
そこで，水平アクセス２０−１において，メモリアクセスに入る前に，今後しばらくアクセスが発生しないバンクを指定するバックグランド・リフレッシュコマンドＢＲＥＮを発行して，アクセスが発生しないバンク情報ＳＡ＝２／３をメモリに通知する。つまり，バックグランド・リフレッシュコマンドＢＲＥＮで指定されたバンクＳＡには，その後の自動リフレッシュ動作を許可する。よって，リフレッシュ動作を指定されたバンクＳＡ＝２，３への通常アクセスは禁止される。
【００５１】
図６の水平アクセス２０−１では，バックグランド・リフレッシュコマンドＢＲＥＮ（図中６０）と共にその後のリフレッシュ動作を許可するリフレッシュバンク情報ＳＡ（図中６１）が発行され，その後，アクティブコマンドＡＣＴでページ領域ＢＡ０／ＲＡ０がアクティブ動作され，リードコマンドＲＤ（ＢＡ０，ＣＡ０）でコラムアドレスＣＡ０の４バイトデータＢＹ０−３が入出力端子ＤＱに出力される。同様に，アクティブコマンドＡＣＴでページ領域ＢＡ１／ＲＡ０がアクティブ動作され，リードコマンドＲＤ（ＢＡ１，ＣＡ０）でコラムアドレスＣＡ０の４バイトデータＢＹ０−３が入出力端子ＤＱに出力される。但し，図６では，ＢＬ＝４に対応する４組の４バイトデータの出力は省略されている。
【００５２】
この水平アクセス２０−１の期間内において，画像メモリ内でバックグランドリフレッシュコマンドＢＲＥＮにより起動される自動リフレッシュリクエスト（図示せず）が発行されると，バンクＢＡ２，３に対するリフレッシュ動作が開始される。しかし，水平アクセスは，バンクＢＡ０，１に対するアクセスしか発生せず，且つＳＤＲＡＭでは異なるバンクは独立してアクティブ動作可能であるので，バンクＢＡ２，３でのリフレッシュ動作により水平アクセスがディスターブされて中断することはない。
【００５３】
次に，図６の矩形アクセスでは，矩形領域２２が同じページ領域ＢＡ２／ＲＡ２内であって，コラムアドレスＣＡ０内の後半の２バイトＢＹ２，３と，コラムアドレスＣＡ１の前半の２バイトＢＹ０，１とを含んでいる。この場合，ＳＤＲＡＭの一般的なリードコマンドによれば，コラムアドレスＣＡ０，１に対して２回のリードコマンドＲＤを発行する必要がある。
【００５４】
しかし，本実施の形態では，コラムアドレスＣＡ０（図中６３）に対するリードコマンドＲＤ（図中６２）を発行し，そのアクセスでのバイト組み合わせ情報ＳＢ（図中６４）を供給することで，バイト組み合わせ情報ＳＢに対応する４バイトを自動的に入出力端子ＤＱに対応付けることができる。上記の例では，バイト組み合わせ情報ＳＢとして，２バイトシフトするバイトシフト情報ＳＢ＝２を指定することで，コラムアドレスＣＡ０の４バイトデータのうち２バイトシフトしたバイトＢＹ２，３のデータと，その隣のコラムアドレスＣＡ１の４バイトデータのうち最初の２バイトのバイトＢＹ０，１のデータとを自動的に出力する。
【００５５】
図６の矩形アクセスでは，ページ領域ＢＡ２／ＲＡ２に対するアクティブコマンドＡＣＴに続いて，ＢＡ２／ＣＡ０（図中６３）を指定するリードコマンドＲＤ６２がバイト組み合わせ情報ＳＢ＝２（図中６４）と共に発行される。このバイト組み合わせ情報ＳＢ＝２は，４バイト領域内の２バイトシフトしたバイトＢＹ２から４バイトのデータの組み合わせを意味している。あるいは，このバイト組み合わせ情報ＳＢ＝２は，４バイト領域内の最初のバイト位置（スタートバイト）がＢＹ２であることを意味している。これに応答して，画像メモリは，コラムアドレスＣＡ０の４バイトデータのうち，２バイトシフトした（またはスタートバイトＢＹ２からの）バイトＢＹ２，３のデータと，コラムアドレスＣＡ１のバイトデータＢＹ０，１のデータとを４バイトの入出力端子ＤＱに対応させて出力する。メモリコントローラは，コラムアドレスＣＡ０，１に対するリードコマンドＲＤを２回発行する必要はない。しかも，４バイトの入出力端子ＤＱには全て必要なデータのみが出力され，不必要なデータは出力されずアクセス効率が高くなる。
【００５６】
更に，画像メモリは，ＢＡ２／ＣＡ４を指定するリードコマンドＲＤが組み合わせ情報ＳＢ＝２と共に発行されると，コラムアドレスＣＡ４，５内それぞれ２バイトからなる４バイトデータを出力し，ＢＡ２／ＣＡ８を指定するリードコマンドＲＤが組み合わせ情報ＳＢ＝２と共に発行されると，コラムアドレスＣＡ８，９内それぞれ２バイトからなる４バイトデータを出力し，ＢＡ２／ＣＡ１２を指定するリードコマンドＲＤが組み合わせ情報ＳＢ＝２と共に発行されると，コラムアドレスＣＡ１２，１３内それぞれ２バイトからなる４バイトデータを出力する。
【００５７】
その結果，矩形アクセス領域２２が８つのコラムアドレスＣＡ０，１，４，５，８，９，１２，１３のメモリ単位領域（４バイト領域）を含んでいても，リードコマンドＲＤは，コラムアドレスＣＡ０，４，８，１２に対して４回発行するだけでよく，且つ，入出力端子には不必要なデータの出力はなく，アクセス効率を２倍に高めることができる。
【００５８】
矩形アクセス後の水平アクセス２０−２では，メモリマップ１２の２行目のページ領域へのアクセスであるので，当分の間はバンクＢＡ０，１への通常アクセスは発生しない。そこで，前述と同様に，バックグランド・リフレッシュコマンドＢＲＥＮ（図中６５）と共にリフレッシュ動作を許可するバンク情報ＳＡ（図中６６）としてＳＡ＝０／１が指定され，その後のバンクＢＡ２，３への通常アクセスに平行して，バンクＢＡ０，１への自動リフレッシュ動作が許可される。
【００５９】
以上のとおり，水平アクセス２０−１，２０−２では，通常アクセス中にバックグランドでの自動リフレッシュを許可し，矩形アクセスではバックグランドでの自動リフレッシュを許可しない。その結果，水平アクセス２０−１では，バンクＢＡ０，１で通常アクセス動作，バンクＢＡ２，３でリフレッシュ動作が平行して可能になり，水平アクセス２０−２では，バンクＢＡ２，３で通常アクセス動作，バンクＢＡ０，１でリフレッシュ動作が平行して可能になる。これにより，リフレッシュ動作による水平アクセスのディスターブを回避することができ，実効的な帯域幅の低下を抑えることができる。
【００６０】
また，矩形アクセスでは，バックグランドリフレッシュ動作を禁止する。これにより，任意の領域への矩形アクセスが，リフレッシュ動作によって中断されることを防止することができる。よって，トータルの実効的な帯域幅の低下を抑制できる。
【００６１】
そして，矩形アクセスでは，バイトの組み合わせ情報ＳＢをリードコマンドと共に指定することで，リードコマンドのコラムアドレスＣＡを先頭として任意のバイトの組み合わせで，組み合わされたバイトデータを４バイトの入出力端子ＤＱに出力することができる。バイトの組み合わせ情報ＳＢは，アクティブコマンドに先立ってモードレジスタを設定するコマンドと共に指定することも可能である。
【００６２】
図７は，本実施の形態における全体の動作の別の例を示す図である。この例は，メモリマップの１行目のページ領域への水平アクセス２０−１と，矩形アクセス２２と，メモリマップの２行目のページ領域への水平アクセス２０−２とが順に行われる例である。そして，矩形アクセス２２では，矩形領域２２がページ領域の境界１４ＢＯＵを越えて４つのページ領域ＢＡ３／ＲＡ２，ＢＡ２／ＲＡ３，ＢＡ１／ＲＡ６。ＢＡ０／ＲＡ７を含んでいる。
【００６３】
水平アクセス２０−１，２０−２では，図６と同様に，バックグランド・リフレッシュコマンドＢＲＥＮと共にリフレッシュバンク情報ＳＡを発行することで，そのバンクへのその後の自動リフレッシュ動作を許可して，水平アクセスがリフレッシュ動作でディスターブされることを防止する。そして，複数ページ領域，すなわち複数バンクを含む矩形領域２２への矩形アクセスでは，同時にアクティブ動作させるバンク情報としてマルチバンク情報ＳＡ’をアクティブコマンドＡＣＴと共に発行する。これに応答して，画像メモリは，アクティブコマンドＡＣＴと共に発行されるアドレス情報ＢＡ，ＲＡを左上として，マルチバンク情報ＳＡ’で指定された複数バンクのページ領域を同時にアクティブ動作する。その結果，１回のアクティブコマンドＡＣＴに応答して，複数バンクを同時にアクティブ動作することができ，その後は，各バンクに対するリードコマンドＲＤをバンクアドレスＢＡとコラムアドレスＣＡと共に発行することで，各バンク内のコラムアドレスＣＡで選択されたメモリ単位領域（４バンク領域）の４バンクデータを入出力端子ＤＱに出力することができる。
【００６４】
図７の矩形アクセスの例では，アクティブコマンドＡＣＴ（図中７０）と共に左上のページ領域を特定するアドレス情報ＢＡ３，ＲＡ２（図中７１）が発行され，それと同時に，マルチバンク情報ＳＡ’＝０−３（図中７２）も発行されている。これに応答して，画像メモリは，左上のページ領域のバンクＢＡ３を先頭にして，マルチバンク情報ＳＡ’で指定された４バンクＢＡ３，ＢＡ２，ＢＡ１，ＢＡ０を同時にアクティブ動作し，それに続く４つのリードコマンドＲＤで指定されたバンクＢＡ／コラムアドレスＣＡの４バイトデータを順に出力する。ライトコマンドの場合も同様である。図中では，４つのリードコマンドＲＤに対して，ＢＡ３／ＣＡ１２７，ＢＡ２／ＣＡ１２４，ＢＡ１／ＣＡ３，ＢＡ０／ＣＡ０が供給され，それぞれの４バイトデータが出力されている。
【００６５】
マルチバンク情報ＳＡ’が「横方向の２バンク」であれば，アクティブコマンドＡＣＴで供給されるバンクアドレスＢＡに対応する左上バンクの右隣のバンクも同時にアクティブ動作され，「縦方向の２バンク」であれば左上バンクの下隣のバンクも同時にアクティブ動作される。同様に，マルチバンク情報ＳＡ’が「縦横４バンク」であれば，左上バンクの右隣，下隣，右下隣の４つのバンクも同時にアクティブ動作される。したがって，マルチバンクを自動的にアクティブ動作させるためには，メモリマップの各行のロウアドレスＲＡがどのように配置されているか，具体的にはロウアドレスＲＡがどの単位で各行を折り返されているかの情報（ロウアドレスステップ情報）をあらかじめレジスタなどに設定しておくことが好ましい。
【００６６】
図７の矩形アクセスにおいて，アクティブコマンドＡＣＴ時のマルチバンク情報ＳＡ’に加えて，図６で説明したバイト組み合わせ情報ＳＢがリードコマンドＲＤと共に指定されると，ページ領域１４の境界１４ＢＯＵを越えて，且つコラムアドレスＣＡで選択されるメモリ単位領域（４バンク領域）の一部のバイトの組み合わせについて，自動的に入出力端子ＤＱに対応付けることができる。
【００６７】
図８は，本実施の形態における画像処理システムの構成図である。画像処理システムは，メモリコントローラに対応する画像処理チップ８０と，画像処理対象の画像データを記憶する画像メモリチップ８６とで構成される。画像処理チップ８０とメモリチップ８６は半導体チップであり，それぞれ単一の半導体基板に集積回路が形成されている。
【００６８】
画像処理チップ８０は，例えばＭＰＥＧの画像圧縮と伸長に対応するエンコーダ，デコーダなどの画像処理を行う画像処理制御部８１と，画像処理制御部８１からの画像領域の指定を含むメモリアクセス要求に応答して，画像メモリチップ８６へのアクセス制御を行うメモリ制御部８２とを有する。メモリ制御部８２は，水平アクセスでのバックグランドリフレッシュ動作を制御するバックグランドリフレッシュ制御部８４と，矩形アクセスでメモリ単位領域（４バイト領域）内の任意のバイトの組み合わせのアクセスを制御するバイトバウンダリ制御部８５と，矩形アクセスで複数のページ領域を含むアクセスを制御するマルチバンク活性化制御部８３とを有する。これらの制御により，それぞれの動作に必要なコマンドとバンクアドレス，ロウアドレス，コラムアドレス，バイト組み合わせ情報ＳＢ，リフレッシュバンク情報ＳＡ，マルチバンク情報ＳＡ’などを，画像メモリ８６に発行する。
【００６９】
画像メモリ８６は，メモリコア９２内に複数のバンクＢａｎｋ０−３を有し，これらのメモリコア９２に対して，主にアクティブ動作の制御を行うロウ制御部８７と，リードやライト動作の制御を行うコラム制御部９０と，バックグランドリフレッシュ制御部８９とを有する。ロウ制御部８７はマルチバンク活性化制御部８８を有し，コラム制御部９０はバイトバウンダリ制御部９１を有する。また，各バンクＢａｎｋ０−３内には，ロウデコーダＲｏｗＤｅｃと，コラムデコーダＣｏｌＤｅｃと，メモリアレイＭＡと，センスアンプ群ＳＡと，メモリアレイＭＡと入出力端子ＤＱとを対応付ける入出力ユニット９３などが含まれる。
【００７０】
図９は，本実施の形態における画像メモリの構成図である。画像メモリチップ８６は，外部端子群９３には，クロックＣＬＫに加えて，ＲＡＳ，ＣＡＳ，ＷＥ，ＣＳからなるコマンド端子，バンクアドレス端子ＢＡ０，ＢＡ１，リフレッシュバンク情報端子ＳＡ０，ＳＡ１，複数個のアドレス端子Ａｄｄ，所定ビット数のバイト組み合わせ情報端子ＳＢ，所定ビット数のデータ入出力端子ＤＱ，そして，図示しないマルチバンク情報端子ＳＡ’などが含まれる。
【００７１】
なお，前述のバイトバウンダリ機能，マルチバンクアセス機能，バックグランドリフレッシュ機能に必要な端子ＳＢ，ＳＡ’，ＳＡは，共通の特殊ピンによっても実現可能である。それらの情報は，異なるコマンドと共に供給されるので，供給コマンドに応じて特殊ピン入力データを対応するレジスタに設定すればよい。
【００７２】
また，これらの端子ＳＢ，ＳＡ’，ＳＡは，使用されていない端子で実現可能である。例えば，リード動作において，ロウアドレスがアドレス端子Ａｄｄ０〜１２で入力され，コラムアドレスがアドレス端子Ａｄｄ０〜９で入力されるとすると，コラムアドレスが入力されるときアドレス端子Ａｄｄ１０〜１２は使用されていない。よって，コラムアドレス入力時に使用されていないアドレス端子Ａｄｄ１０〜１２から制御データＳＢ，ＳＡ’，ＳＡを入力することができる。
【００７３】
これらの外部端子群９３には，それぞれバッファ９４を介して内部回路に接続される。上記のコマンド群はコマンド制御部９５に入力され，コマンドに対応した制御信号が内部回路に供給される。また，モードレジスタセットコマンドに応答して，コマンド制御部９５は，アドレスピンＡｄｄに供給される設定データに基づいて，モードレジスタ９６に所定の設定値を設定する。モードレジスタ９６に設定された設定情報は内部回路に供給される。ロウ制御部８７は，マルチバンク活性化制御部８８を有し，さらにマルチバンク活性化に必要なロウアドレス演算部９７と有する。マルチバンク活性化制御部８８からは，活性化すべきバンクにアクティブパルスが供給される。また，ロウアドレス演算部９７からは，活性化すべきロウアドレスが各バンクに供給される。そして，バンクＢａｎｋ内にはバンク内のリフレッシュ対象のロウアドレスを指示するリフレッシュロウアドレス指示部９８が設けられる。リフレッシュロウアドレス指示部９８は，例えばリフレッシュカウンタを有し，自動リフレッシュコマンド発生時に必要なロウアドレスを生成する。バンク内の構成は前述の通りである。
【００７４】
以下，図６，７で説明したバイトバウンダリ機能と，マルチバンクアクティブ機能と，バックグランド・リフレッシュ機能とについて，順番に，画像メモリとメモリコントローラの詳細を説明する。
【００７５】
《バイトバウンダリ》
図１０は，バイトバウンダリ機能を説明する図である。この図は，あるバンク内のロウアドレスＲＡとコラムアドレスＣＡとにより選択されるバイト群（またはビット群）を示している。前述したとおり，この例も，ロウアドレスＲＡとコラムアドレスＣＡとにより４バイトのデータ領域（メモリ単位領域）が選択され，３２ビットの入出力端子ＤＱ０−３１と関連付けられる。よって，ロウアドレスＲＡとコラムアドレスＣＡの交差位置の「０１２３」は，それぞれバイトＢＹ０，ＢＹ１，ＢＹ２，ＢＹ３を意味している。または，４バイトの代わりに４ビットであっても良い。その場合は，ロウアドレスＲＡとコラムアドレスＣＡとにより４ビットのデータ領域（メモリ単位領域）が選択され，４ビットの入出力端子ＤＱ０−３と関連付けられる。以下は，簡単のために４バイトの例で説明する。
【００７６】
図１０（Ａ）は従来例に対応し，ロウアドレスＲＡとコラムアドレスＣＡとにより４バイトのデータ領域が一意に決定し，常に４バイト領域（メモリ単位領域）１００，１０１の３２ビットが入出力端子ＤＱ０−３１と関連付けられる。
【００７７】
それに対して，図１０（Ｂ）は本実施の形態に対応し，ロウアドレスＲＡとコラムアドレスＣＡとで特定される４バイト領域を先頭にして，任意のバイトの組み合わせで入出力端子ＤＱ０−３１と関連付けることができる。図中，ＲＡ＝０，ＣＡ＝０で選択される４バイト領域１００は全てそのまま入出力端子ＤＱ０−３１と関連付けている。一方，ＲＡ＝２，ＣＡ＝１で選択される４バイト領域内の２バイトシフトした３バイト目から連続する４バイトの領域１０２を入出力端子ＤＱ０−３１と関連付けている。この場合は，ＲＡ＝２，ＣＡ＝１で選択される４バイト領域内のどのバイトを先頭にするかの第１の情報（スタートバイト）と，その先頭バイトからアップ方向に４バイト連続かダウン方向に４バイト連続かアップ方向に１つ置きかダウン方向に１つ置きかなどの第２の情報（ビッグエンディアンまたはリトルエンディアン）とが，リードコマンドやライトコマンドと共に与えられる。
【００７８】
そして，上記の第１，第２の情報からなるバイト組み合わせ情報に基づいて，画像メモリの入出力ユニットは，ページ内の異なるコラムアドレスＣＡに対応するバイトデータのうち合計で４バイトを抽出し，入出力端子ＤＱ０−３１に関連付ける。そして，必要な４バイトのデータを３２ビットの入出力端子ＤＱから１回で入出力する。
【００７９】
図１１は，バイトバウンダリ機能におけるタイミングチャートを示す図である。この例は，メモリマップ１２内の４バイト１０２をアクセスする例である。まず，アクティブコマンドＡＣＴ（図中１１０）と共にバンクアドレスＢＡ＝０とロウアドレスＲＡ＝２とが与えられ，対応するページ領域がアクティブ動作され，リードコマンドＲＤ（図中１１１）と共にバンクアドレスＢＡ＝０とコラムアドレスＣＡ＝１（図中１１２）とが与えられ，更に，バイトの組み合わせ情報１１３として，バイトシフト量またはスタートバイトを示す第１の情報ＳＢ＝２（図中１１４）と組み合わせパターンを示す第２の情報ＢＭＲ＝ＵＰ（図中１１５）とが与えられる。
【００８０】
画像メモリは，このバイト組み合わせ情報ＳＢ＝２，ＢＭＲ＝ＵＰに基づいて，コラムアドレスＣＡ＝１で選択される４バイト領域の後半の２バイトデータ（ＢＹ２，３）と，コラムアドレスＣＡ＝２で選択される４バイト領域の前半の２バイトデータ（ＢＹ０，１）とを，それぞれ入出力端子ＤＱ１６−２３，ＤＱ２４−３１，ＤＱ０−７，ＤＱ８−１５に図示されるとおり対応付ける。この対応付けは，たとえば図９のバイトバウンダリ制御部９１により入出力ユニット９３で行われる。よって，異なるコラムアドレスのデータであるにもかかわらず，リードコマンドＲＤを１回与えるだけで，任意の組み合わせの４バイトデータを入出力端子ＤＱに対応付けることができる。ライトコマンドの場合も同様である。
【００８１】
図１１において，ロウアドレスＲＡとコラムアドレスＣＡとにより選択される４バイト領域は，４ビット領域であっても同様のバイトバウンダリ機能を適用できる。その場合は，入出力端子ＤＱ０−３に４ビット領域の４ビットデータが対応付けられる。
【００８２】
図１２は，異なるマッピングに対するバイトバウンダリ機能を説明する図である。図１２では，簡単のためにロウアドレスＲＡとコラムアドレスＣＡとにより選択されるメモリ単位領域が４ビットで構成されている。図１２の左側には画像の画素とメモリ空間との対応を示すメモリマッピング１２−１，１２−２が，中央にはメモリの論理空間１５−１，１５−２が，そして，右側にはそれらに対応するタイミングチャートが示されている。
【００８３】
中央のメモリ論理空間１５−１，１５−２内には，ロウアドレスＲＡとコラムアドレスＣＡとで選択される４ビット領域内の４ビットを示す「０−３」が示され，入出力端子ＤＱ０−３に対応する。また，左のメモリマッピング１２−１，１２−２内にも，画像の画素に対応するメモリ論理空間内の４ビットを示す「０−３」が示されている。つまり，画像の各画素がメモリの入出力端子ＤＱ０−３にどのように対応付けられるかが，メモリマッピングに示されている。
【００８４】
画像システムでは，画像の画素を，あるアドレスＢＡ，ＲＡ，ＣＡで同時にアクセスされる４ビットの入出力端子ＤＱ０−３のどれに対応付けるかは，システム設計者の自由である。マッピング１２−１は，図中左から右の４つの画素をアドレスの進行方向（左から右）と同じ方向の入出力端子ＤＱ０−３にマッピングする例であり，ビッグエンディアンと称されている。一方，マッピング１２−２は，４つの画素をアドレスの進行方向と逆方向の入出力端子ＤＱ３−０にマッピングする例であり，リトルエンディアンと称されている。
【００８５】
そして，マッピング１２−１，１２−２においていずれも，画像の左上隅から６画素から９画素までの４画素１２３，１２７に矩形アクセスが発生している。しかし，これらのマッピングは，メモリ内の４ビットと逆方向にマッピングされているので，それぞれ異なるアクセスが必要になる。つまり，マッピング１２−１の場合は，矢印１２０のように，画像の左から右の画素に対して，ＣＡ＝１内のＤＱ１，ＣＡ＝１内のＤＱ２，ＣＡ＝１内のＤＱ３，ＣＡ＝２内のＤＱ０の順でデータを入出力する必要がある。一方，マッピング１２−２の場合は，矢印１２４のように，画像の左から右の画素に対して，ＣＡ＝１内のＤＱ２，ＣＡ＝１内のＤＱ１，ＣＡ＝１内のＤＱ０，ＣＡ＝２内のＤＱ３の順でデータを入出力する必要がある。
【００８６】
このような異なるマッピングに対応するためにビット組み合わせ情報ＳＢ，ＢＭＲが利用される。つまり，マッピング１２−１の場合は，図中１２１のように，リードコマンドＲＤと共にＢＡ＝０，ＣＡ＝１からなる先頭アドレスと，ＳＢ＝１，ＢＭＲ＝ＵＰからなるビット組み合わせ情報とが発行され，それに応答して，図中１２２のように，ＣＡ＝１の３ビットＤＱ１，２，３とＣＡ＝２のＤＱ０とが同時に出力される。
【００８７】
一方，マッピング１２−２の場合は，図中１２５のように，リードコマンドＲＤと共にＢＡ＝０，ＣＡ＝１からなる先頭アドレスと，ＳＢ＝１，ＢＭＲ＝ＤＯＷＮからなるビット組み合わせ情報とが発行され，それに応答して，図中１２６のように，ＣＡ＝１の３ビットＤＱ０，１，２とＣＡ＝２のＤＱ３とが同時に出力される。
【００８８】
このように，ビッグエンディアンとリトルエンディアンという異なるメモリマッピングに対応してビット組み合わせ情報ＳＢ，ＢＭＲを指定することで，画像メモリは，システム側のメモリマッピングに対応して４ビット同時に入出力することができる。このビット組み合わせ情報の種類を増やすことにより，様々なマッピングに対して柔軟な４ビットアクセスを実現することができる。
【００８９】
図１３は，図１２のビッグエンディアンとリトルエンディアンとを説明する図である。図１３は，左右どちらも入出力ビット幅が４ビットのメモリを使っている画像処理システムであり，左がメモリの入出力端子DQのDQ0からDQ3への方向を順方向として扱うビッグエンディアンのシステム，右がメモリのDQのDQ3からDQ0への方向を順方向として扱うリトルエンディアンのシステムである。
【００９０】
画面上の画素位置(X0-X11)は，どちらも同じ画面上の物理位置を示している。そして，各画素位置が持っている「各画素の情報」は，両システムとも同じ"A"〜"L"であり，このことは，どちらのシステムも同じ画像を表示していることを意味している。
【００９１】
ビッグエンディアンのシステムでは，画素位置X0〜X3をメモリのアドレスCA0のDQ0〜DQ3に，画素位置X4〜X7をメモリのアドレスCA1のDQ0〜DQ3に，画素位置X8〜X11をメモリのアドレスCA2のDQ0〜DQ3に対応させている。
【００９２】
一方，リトルエンディアンのシステムでは，画素位置X0〜X3をメモリのアドレスCA0のDQ3〜DQ0に，画素位置X4〜X7をメモリのアドレスCA1のDQ3〜DQ0に，画素位置X8〜X11をメモリのアドレスCA2のDQ3〜DQ0に対応させている。
【００９３】
つまり，両方のシステムを比較すると，画像処理システム内の画素Ｘ０〜Ｘ３と入出力端子Ｔ０〜Ｔ３の対応関係が，ビッグエンディアンとリトルエンディアンとで逆の関係になっている。よって，画素位置X0の画素情報"A"は，ビッグエンディアンのシステムとリトルエンディアンのシステムでは各々異なるメモリセルの物理位置(CA0のDQ0とCA0のDQ3)に格納されることになる。
【００９４】
ここで，画像処理システムが画素位置X5-X8の画素情報"F-G-H-I"に対する矩形アクセス（図中１３０）を発生した場合，ビッグエンディアンのシステムとリトルエンディアンのシステムで，メモリは各々異なるメモリセルの物理位置１３２，１３４にアクセスしなくてはならない。そのため，メモリに供給される必要がある最低限の情報は，システムがビッグエンディアン(Up)かリトルエンディアン(Down)かという情報BMRと，起点となるビットが含まれるアドレスCAと，起点となるビットのアドレス内での位置情報SBの３つである。
【００９５】
上記のビッグエンディアンとリトルエンディアンは，アドレスRA,CAでアクセスされるメモリ単位領域が４バイト領域（バイト群）の場合も同じである。  図１４は，特殊なメモリマッピングにおけるバイトバウンダリ機能を説明する図である。図１４も図１２と同様に，左側にメモリマッピング１２を，中央にメモリ論理空間１５を，そして，右側に対応するタイミングチャートを示す。
【００９６】
図中，左側のメモリマッピング１２には，フレーム画像内の各画素にメモリのどのビットを割り当てているかの状態を示している。この例では，１画素が２ビットの情報から構成されており，例えば偶数ビットは輝度，奇数ビットは色差を表すデータを保持している。
【００９７】
そこで，Grouping-1は左上隅の２画素目から５画素目における輝度情報（偶数ビット）のみを集める矩形アクセスであり，Grouping-2は左上隅の２画素目から５画素目における色差情報（奇数ビット）のみを集める矩形アクセスを意味している。この場合，Grouping-1/2ともに，画像の左上隅の２画素目から５画素目にかけての矩形アクセスだが，矢印１４０のような輝度(偶数ビット)と矢印１４４のような色差(奇数ビット)の違いがあるため，タイミングチャートに示されるように，画像処理システムからメモリへのアクセスと入出力端子DQは以下の通りとなる。
Grouping-1：CA=0/SB=2で，BMR＝AL（１ビット置きに４ビットを集める指定）（図中１４１）のアクセスに対して，入出力端子DQ0-3には，CA=1のDQ0，CA=2のDQ0，CA=0のDQ2，CA=1のDQ2が対応付けられる（図中１４２）。
Grouping-2：CA=0/SB=3で，BMR＝AL（１ビット置きに４ビットを集める指定）（図中１４５）のアクセスに対して，入出力端子DQ0-3には，CA=2のDQ1，CA=1のDQ1,3，CA=0のDQ3が対応付けられる（図中１４６）。
【００９８】
このように，異なるコラムアドレスの４ビット領域内で同じDQ(例えばGrouping-1ではDQ0やDQ2)を同時にアクセスするので，そのデータを入出力端子DQに転送する入出力ユニットで，一部のデータについては端子を入れ替える処理，つまり別のDQのデータバスを使う処理が必要となる。
【００９９】
図１５は，図１４の特殊なメモリマッピングを説明する図である。図１５は，入出力ビット幅が４ビットのメモリを使っている画像処理システムであり，特に，メモリの偶数DQを各画素の輝度情報に，奇数DQを各画素の色差情報に用いる画像処理システムである。そして，図１５（Ａ）は輝度情報のみアクセスする場合を示し，図１５（Ｂ）は色差情報のみアクセスする場合を示す。
【０１００】
画面上の画素位置(X0-X5)は，左右どちらも同じ画面上の物理位置を示している。また，各画素位置は「輝度情報」として"A,C,E,G,I,K"を，「色差情報」として"B,D,F,H,J,L"を保持している。
【０１０１】
ここで，画像処理システムが画素位置X1-X4の輝度情報"C-E-G-I"に対する矩形アクセス１５１を発生した場合は，図１５（Ａ）のように，メモリは偶数DQのみにアクセスし（図中１５３），色差情報"D-F-H-J"に対する矩形アクセス１５２を発生した場合は，図１５（Ｂ）のように，メモリは奇数DQのみにアクセス（図中１５４）しなくてはならない。
【０１０２】
このためにメモリが最低限受け取る必要がある情報は，システムが輝度情報を偶数DQに，色差情報を奇数DQに保持する方式を採用しているか(1DQ置きのアクセスが必要かどうか)を示す情報(BMR=AL)と，起点となるビットが含まれるアドレス(CA)と，そのアドレスの４ビット領域内において起点となるビットの位置情報(SB)の３つである。これらのコラムアドレスCAとビット組み合わせ情報SB,BMRについては，図１４ですでに説明済みである。
【０１０３】
また，この場合，異なるアドレスで同じDQ(例えばGrouping-1ではDQ0やDQ2)を同時にアクセスするので，そのデータを入出力端子に転送する入出力ユニットで，一部のデータについては，別のDQのデータバスを使うように端子を入れ替える処理が必要となる。そのために，メモリ内に白丸と黒丸で示した複数のスイッチが設けられ，上記の情報ＳＢ，ＭＢＲに基づいてこれらのスイッチが制御される。
【０１０４】
図１６は，矩形アクセスにおけるバイトバウンダリ機能を示すタイミングチャート図である。この矩形アクセスは，図６の矩形領域２２をアクセスする例である。前述のとおり，矩形アクセスにおいて，コラムアドレスＣＡで選択されるメモリ単位領域（４バイト領域または４ビット領域）内の任意のバイト位置（またはビット位置）から，任意の組み合わせのバイトデータ（ビットデータ）を読み出すためには，先頭のコラムアドレスＣＡと，バイトの組み合わせ情報１６６として第１の情報ＳＢと第２の情報ＢＭＲとが必要である。
【０１０５】
図１６（Ａ）では，これらのバイト組み合わせ情報ＳＢ，ＢＭＲが，リードコマンドＲＤと共に供給される例である。アクティブコマンドＡＣＴ（図中１６１）でバンクアドレスＢＡ＝２とロウアドレスＲＡ＝２とが供給され，続くリードコマンドＲＤ（図中１６２）でバンクアドレスＢＡ＝２，コラムアドレスＣＡ＝０と共に，先頭バイト（先頭ビット）位置を示す第１の情報ＳＢ＝２（（図中１６３）と，バイト（ビット）の組み合わせを示す第２の情報ＢＭＲ＝Ｖ（図中１６５）とが供給される。これにより，図６の矩形領域２２の最初の４バイト（４ビット）が入出力端子ＤＱに出力される。矩形領域２２の残りの３組の４バイト（４ビット）も同様のバンクアドレスＢＡ，コラムアドレスＣＡとバイト組み合わせ情報ＳＢ，ＢＭＲとにより特定される。
【０１０６】
図１６（Ｂ）では，バイト組み合わせ情報ＳＢ，ＢＭＲのうち，第２の情報ＢＭＲ（図中１６５）は，アクティブコマンドＡＣＴが発行される以前に，レジスタアクセスモードでモードレジスタセットコマンドＥＭＲＳ（図中１６７）と同時に供給され，この第２の情報ＢＭＲはメモリ内のモードレジスタ内に記録される。そして，その後の矩形アクセスでは，この第２の情報ＢＭＲに基づいて，コラムアクセスが行われる。矩形アクセスでのアクティブコマンドＡＣＴ（図中１６１）とリードコマンドＲＤ（図中１６２）とは，第２の情報ＢＭＲを除いて図１６（Ａ）と同じである。
【０１０７】
上記の第２の情報ＢＭＲ＝Ｖは，ビッグエンディアン（Ｖ＝ＵＰ），リトルエンディアン（Ｖ＝ＤＯＷＮ），輝度情報を偶数ＤＱに色差情報を奇数ＤＱに格納する場合（Ｖ＝ＡＬ）などの様々な情報を持つことができる。
【０１０８】
画像システムは，図１６（Ａ），（Ｂ）のいずれの方式でも，矩形アクセスにおけるバイトバウンダリ機能を実現することができる。
【０１０９】
図１７は，バイトバウンダリ機能を実現するための画像処理システムの構成図である。図８と同様に，画像メモリ８６に対してそれを制御するメモリ制御部８２が設けられ，メモリ制御部８２からは，アドレス情報ＢＡ，ＲＡ，ＣＡと，それにより選択される４バイト領域（または４ビット領域）内の先頭バイト（先頭ビット）を示す第１の情報ＳＢと，バイトの組み合わせを示す第２の情報ＢＭＲとからなるバイト組み合わせ情報（ビット組み合わせ情報）１６６と，動作コマンドＡＣＴ，ＲＤ，ＥＭＲＳが，画像メモリ８６に供給される。
【０１１０】
前述のとおり，タイミングチャート（Ａ）では，リードコマンドＲＤ，または図示しないライトコマンドＷＴと同時にバイト組み合わせ情報ＳＢ，ＢＭＲ（図中１６６）が供給される。また，タイミングチャート（Ｂ）では，モードレジスタセットコマンドＥＭＲＳ（図中１６７）と同時に第２の情報ＢＭＲが，リードコマンドＲＤ，または図示しないライトコマンドＷＴと同時に第１の情報ＳＢが供給される。
【０１１１】
図１８は，バイトバウンダリ機能を示す図である。この図は，図６の矩形アクセスと同じである。図１０以降では，コラムアドレスＣＡで選択されるメモリ単位領域が４ビット領域の場合を例にして説明してきた。しかし，前述のとおりメモリ単位領域が４バイト領域の場合も同様にバイトバウンダリ機能により矩形アクセスが可能である。図１８はそれを改めて示している。
【０１１２】
図１８の例では，ページ領域１４（ＢＡ＝０，ＲＡ＝０）内の矩形領域２２を効率的にアクセスするために，リードコマンドＲＤ（図中１６７）と共に，バンクアドレスＢＡ，コラムアドレスＣＡと，第１の情報ＳＢと第２の情報ＢＭＲとからなるバイト組み合わせ情報１６６とが発行される。それに応答して，矩形領域２２内の４バイトのデータＢＹ０−３が入出力端子ＤＱに同時に出力される。ライトコマンドＷＴの場合も同様の動作が行われる。つまり，入出力端子ＤＱの４組の４バイト端子ＢＹ０−３には，最初のリードコマンドＲＤに対応してＣＡ１，ＣＡ１，ＣＡ０，ＣＡ０内の各バイトデータが対応付けられ，次のリードコマンドＲＤに対応してＣＡ５，ＣＡ５，ＣＡ４，ＣＡ４内の各バイトデータが対応付けられる。残りのリードコマンドＲＤに対応するコラムアドレスと入出力端子との対応は図示されるとおりである。
【０１１３】
このように，入出力端子ＤＱが４ビット幅の場合も３２ビット（４バイト）幅の場合も，同じようにビットバウンダリ，バイトバウンダリの機能を実現することができる。
【０１１４】
図１９は，簡素化されたバイトバウンダリ機能を実現する画像処理システムの構成図である。前述したとおり，システム設計において，ビッグエンディアンとリトルエンディアンの２種類のメモリマッピングのいずれかが選択可能である。それに対応して，前述の実施の形態では，バイト組み合わせ情報の第２の情報ＢＭＲに，ビッグエンディアン用のＢＭＲ＝ＵＰと，リトルエンディアン用のＢＭＲ＝ＤＯＷＮとを指定して，バイトシフトした矩形アクセスであっても，画像上の画素とメモリ空間内でのバイト位置とが対応つけられるようにした。
【０１１５】
図１９の例は，メモリマッピング１２ではリトルエンディアンに対応した構成に設計される場合，メモリ空間１５内ではビッグエンディアンに対応するバイトバウンダリ機能しか対応できなくても，画像メモリ８６とメモリ制御部８２との間に，入出力端子群の入れ替え手段１９０を設けることで，システム全体がリトルエンディアンに対応したバイトバウンダリ機能を実現することができる。
【０１１６】
すなわち，システム側のメモリマッピングがリトルエンディアンの場合は，入れ替え手段１９０を設けて両者の入出力端子群の０から３を，３から０に入れ替えるようにする。この結果，画像メモリからみるとシステム側がビッグエンディアン対応に見なせるので，第２の情報ＢＭＲ＝ＵＰのみに対応するメモリの構成であっても，リトルエンディアンのバイトバウンダリ機能を実現できる。
【０１１７】
図２０は，図１９の簡素化されたバイトバウンダリ機能を実現する画像処理システムを説明する図である。図２０（１）は，画像処理システム８０と画像メモリ８６とが互いの入出力端子Ｔ０−Ｔ３を入れ替えしないで接続する接続ユニット２００で接続された例であり，図２０（２）は，入れ替え接続する接続ユニット１９０で接続された例である。いずれの場合も，画像メモリ８６は，ビッグエンディアン対応のビットバウンダリ機能のみを有し，画像処理システム８０は，入出力ビット幅の４ビットのデータを，画素位置X0-X3を入出力端子T3-T1に対応付けるリトルエンディアンタイプである。
【０１１８】
図２０（１）において，アドレス単位のアクセスをしている場合（Ａ）では，画面上の画素位置(X0-X7)とメモリ側のアドレス(CA)が１対１(X0-X3とCA=0， X4-X7とCA=1)で対応しているので問題ない。しかし，信号SBを指定してビット単位のアクセスをしようとする場合（Ｂ）は，ビッグエンディアン対応のビットバウンダリ機能（ＢＭＲ＝ＵＰのみ）しか存在しないメモリでは，画素位置のシフト(X1-X4(BCDE)，図中２００)とメモリセルの物理位置のシフト（CBAH，図中２０１）の関係が一致せず，誤ったデータCBAHが転送されてしまう。この場合は，リトルエンディアン対応のビットバウンダリ機能（ＢＭＲ＝ＤＯＷＮ）があれば，メモリセル上のBCDEを出力することができる。しかし，ビッグエンディアンとリトルエンディアンの両方に対応可能なビットバウンダリ機能をメモリに持たせることはコストアップを招く。
【０１１９】
そこで，図２０（２）のように，システム側とメモリ側で入出力端子をタスキがけ接続する接続ユニット１９０を設けて，画像上の画素X0-X3がメモリセル上でもDQ0-DQ3に対応するようにすれば，リトルエンディアンの画像処理システム８０が，みかけ上，メモリ８６からはビッグエンディアンのシステムにみえるようになるため，画素位置のシフト２００とメモリセルの物理位置のシフト２０２の関係が一致し，ビッグエンディアン対応のビットシフトしたアクセスを行っても正常なデータBCDEを転送することができる。
【０１２０】
以上の通り，入れ替え接続するたすきがけ変換可能な接続ユニット１９０を利用することで，ビッグエンディアン対応のビットバウンダリ（またはバイトバウンダリ）機能しかないメモリであっても，リトルエンディアン対応の画像処理システムに対してビットバウンダリ（またはバイトバウンダリ）機能を実現することができる。また，ビッグエンディアンとリトルエンディアンの両方に対応したビットバウンダリ（またはバイトバウンダリ）機能を有するメモリの場合は，入れ替え接続しない接続ユニット２００でメモリとシステムとを接続すればよい。
【０１２１】
図２１は，バイトバウンダリ機能を有するメモリ構成の概念を示す図である。このメモリは，１以上の任意数(Nb)のビットでビット群を構成し，前記任意数(Nb)のビットの２以上の倍数(N)の入出力端子(Nb x N)を持ち，前記所定の倍数(N)より多い複数のビット群(Ng)で全記憶領域(Nb x Ng)を構成し，第1の動作コードに同期して複数のビット群(Ng)の内の任意の１つを選択可能なアドレス情報を受け取り，前記アドレス情報で選択された任意の１つのビット群を起点に所定の規則に従い倍数(N)と同数のビット群を選択し，前記選択されたビット群に属する複数のビット(Nb x N)は，入出力端子(Nb x N)を通して，同時に記憶情報の受け渡しを行う。
【０１２２】
上記の任意数のビット(Nb)とは，ビット単位とバイト単位の両方を含む概念であり，前述の実施の形態例に従えば，Nb=8(１バイト)である。また，倍数(N)とは，１つのアドレスから，任意数のビット(Nb)の何倍のデータをアクセスするかを表現したもので，Nb×Nが入出力端子数に対応する。前述の実施の形態例に従えばN=4で，４バイト分の入出力端子数を有する。つまり，より正確には，入出力端子数はNb×Nとなり，入出力端子数=32(=8x4)となる。
【０１２３】
また，複数(Ng)のビット群のNgとは，メモリが有する全てのビットまたはバイトのかたまり（Nbビットのビット群）の数のことであり，全記憶領域の容量をNbで割った数字と等価である。通常，一度に入出力されるビット群の数である倍数(N)より遥かに大きい数字になる。例えば64Mビットのメモリにおいて，Nb=1であればNg=64M， Nb=8であればNg=8Mである。これまでの例に従い，64Mビットのメモリで考えれば，Nb=8でNg=8Mになる。  任意の１つのビット群を選択可能なアドレス情報とは，これまでの例に従えば，アドレス(BA,RA,CA)と起点となるビットを示す情報(SB)であり，アドレス(BA,RA,CA)により４バイトに絞り込んだデータを，さらに起点となるバイトを示す情報(SB)により，起点となるバイトに限定していた。
【０１２４】
規則に従い倍数(N)と同数のビット群を選択とは，これまでの例に従えば，起点となるバイトと同時にアクセスされるバイトの組み合わせに関する情報(BMR)に従い複数バイトを選ぶことであり，N=4なので，BMR=Upとすれば，ある任意のバイトから，Up方向に連続した４バイトを同時にアクセスすることになる。
【０１２５】
この任意の１つのビット群(これまでの例に従えば１バイト)を選択可能な情報（BA,RA,CA）と，起点となるバイトの情報（SB）と同時にアクセスされるバイトの組み合わせに関する情報(BMR)により選ばれた４バイトは，32ビット(=NbxN)の入出力端子を介して，画像処理システムにアクセスされる。
【０１２６】
図２１に示されたメモリ装置は，メモリ容量が６４ビットである。よって，Nb=8ビットからなるビット群がNg=8群存在する。そして，アドレス（BA,RA,CA）とスタートバイトSBとが合計３ビットで構成され，よってNg=8のビット群から１つのビット群が選択される。さらに，同時にアクセスされるN=4群のビット群は，組み合わせ情報（BMR）により決定される。よって，図２１の例では，アドレス（BA,RA,CA）とスタートバイトSBとで第２群が選択され，組み合わせ情報BMR=UPにより，第２群から連続する４群（２〜５群）が同時に入出力端子からアクセスされる。
【０１２７】
もし，同じ６４ビットのメモリ容量であって，アドレスが１ビット増えると，Nb=4ビット単位のビット群がNg=１６群存在し，入出力端子がNb×N=３２のままだとすると，所定の倍数N=8となり，組み合わせ情報BMRにより他の７つのビット群が選択されることになる。
【０１２８】
［バイトバウンダリ機能を有するメモリ］
次に，バイトバウンダリ機能を有する画像メモリの構成を詳細に説明する。バイトバウンダリ機能は，コラムアドレスで選択可能なメモリ単位領域（４バイト領域）の境界を越えて４バイトのデータへのアクセスを可能にする。そのために，メモリ内では，必要な４バイトのデータを入出力する機能が付加される。以下の説明では，簡単のために，バイト組み合わせ情報として第１の情報ＳＢ（スタートバイトまたはスタートビットと称する）のみが与えられる場合を例にして説明する。第２の情報ＢＭＲはＵＰ固定の例である。
【０１２９】
［内部コラム制御例］
まず，メモリ内部のコラム制御の具体例を幾つか説明する。
【０１３０】
図２２は，バイトバウンダリ機能を有する画像メモリの第１の例を示す図である。また，図２３は，図２２の動作を説明する図である。
【０１３１】
図２２において，図９の画像メモリと同じ構成要素には同じ引用文献番号が与えられている。アドレス信号Ａはマルチプル方式で入力され，ロウアドレスＲＡはロウアドレスバッファ９４Ｒに，コラムアドレスＣＡはコラムアドレスバッファ９４Ｃにそれぞれラッチされる。ロウ制御部８７は，選択されたメモリバンク９２のロウデコーダ２２３にロウアドレスＲＡを供給する。また，コラムバッファ９４Ｃ内のコラムアドレスＣＡも，選択されたメモリバンク内のコラムデコーダ２２２に供給される。
【０１３２】
メモリバンク９２は，４つのメモリブロックであるバイト領域Ｂｙｔｅ０−３に分割され，各バイト領域は，メモリセルアレイ２２４と，第２アンプ２２５と，１対のデータラッチ２２６，２２７と，データバススイッチ２２８とを有し，１回のアクセスで１バイト（８ビット）のデータを入出力する。４つのバイト領域から合計で３２ビット（４バイト）のデータが入出力バスＩ／Ｏｂｕｓに入出力される。入出力バスＩ／Ｏｂｕｓは３２ビットの入出力端子ＤＱ０−３１にバッファを介して接続される。なお，図２２には，１つのメモリバンク９２のみ示され，残りの３つのメモリバンクは省略されている。
【０１３３】
コラム制御部９０は，コラムデコーダ２２２の動作タイミングを制御するコラムタイミングコントローラ２２０と，データラッチ回路２２６，２２７とデータバススイッチ２２８を制御するデータラッチセレクタ２２１とを有する。データラッチセレクタ２２１は，コラムアドレスＣＡとスタートバイト信号ＳＢとに応じて，各バイト領域Ｂｙｔｅ０−３内のデータラッチ回路２２６，２２７とデータバススイッチ２２８とを制御する。
【０１３４】
図２３に示されるとおり，ロウアドレスＲＡ０のページ領域内において，コラムアドレスＣＡ０の２バイト目からコラムアドレスＣＡ１の１バイト目までの４バイトデータをアクセスするものと仮定する。よって，スタートバイト信号ＳＢ＝１である。
【０１３５】
図２３のメモリチップ８６には，メモリ空間と入出力端子ＤＱとの関係が示されている。図２３では，コラムアドレスＣＡにより一度に選択されるメモリ単位領域の４バイトデータをＱ００〜Ｑ１５で示している。つまり，コラムアドレスＣＡ０により４バイトデータＱ００−０３が選択され，コラムアドレスＣＡ１により４バイトデータＱ０４−０７が選択される。
【０１３６】
図２３の右側にはタイミングチャートが示されている。まず，アクティブコマンドＡＣＴと共に，図示しないバンクアドレスと共にロウアドレスＲＡ０が与えられ，対応するバンク内のワード線が駆動されセンスアンプが活性化される。その後，リードコマンドＲＤと共にコラムアドレスＣＡ０とバンク組み合わせ情報としてスタートバイト信号ＳＢ＝１が与えられる。これに応答して，選択されたメモリバンク９２内のコラムデコーダ２２２は，コラムアドレスＣＡ０に対応する内部デコード信号２２２Ｄと，ＣＡ０を＋１インクリメントしたＣＡ１に対応する内部でコード信号２２２Ｄとを時分割で４つのバイト領域Ｂｙｔｅ０−３に出力し，各バイト領域では，ＣＡ０とＣＡ１に対応する２組の１バイトデータをデータラッチ回路２２６，２２７にキャッシュする。そして，データバススイッチ２２８は，各バイト領域でのＣＡ０とＳＢ１の組み合わせに応じて選択される１バイトデータをいずれかのデータラッチ回路２２６，２２７から入出力バスＩ／Ｏｂｕｓに出力する。つまり，ＣＡ０のデータＱ０１，Ｑ０２，Ｑ０３と，ＣＡ１のデータＱ０４とが入出力バスＩ／Ｏｂｕｓに出力される。ライト動作のときは，入出力バスからいずれかのデータラッチ回路に１バイトのデータが入力される。
【０１３７】
すなわち，コラムデコーダは1回のアクセスで各バイト領域で１バイト分のコラム線（ビット線）を選択する。リード動作では，各バイト領域のメモリセルアレイ２２４から１バイト分のデータが選択され第２アンプ２２５で増幅されデータラッチ回路２２６，２２７にキャッシュされる。このとき、各バイト領域では，同じコラムアドレスＣＡにマッピングされたメモリセルにアクセスする。コラムアドレスで選択できるメモリ単位領域（４バイト領域）の境界をまたぐバイトバウンダリアクセスを実現する為、コラムデコーダ２２２は1回目のアクセス終了後に再度コラム線の選択を行う。このコラム線のアドレスは前回のアドレスＣＡ０より1番地進行したＣＡ１である。メモリセルアレイ２２４から読み出された１バイトのデータは第２アンプで増幅され、1回目のアクセスとは異なるデータラッチ回路２２７にキャッシュされる。
【０１３８】
したがって，データラッチ回路２２６，２２７には1回のアクセスで入出力端子DQが必要とする４バイトの２倍の８バイト分のデータが存在する為,データバススイッチ２２８は，各バイト領域のデータラッチ回路にキャッシュされた２バイト分のデータから半分の１バイト分のデータを選択し，入出力バスＩ／Ｏｂｕｓに転送する。データラッチセレクタ２２１は，コラムアドレスＣＡ０とスタートバイト信号ＳＢ＝１に応じて，各バイト領域内のデータラッチ回路２２６，２２７へのキャッシュ動作と，データバススイッチ２２８でのスイッチ動作とを制御する。これにより，各バイト領域から異なるコラムアドレスＣＡ０，ＣＡ１に対応するバイトデータを入出力バスＩ／Ｏｂｕｓに転送することができる。
【０１３９】
その結果，図２３に示されるとおり，入出力バスＩ／Ｏｂｕｓを経由して，入出力端子ＤＱには，４バイトのデータＱ０４，Ｑ０１，Ｑ０２，Ｑ０３がそれぞれ転送される。このように，第２アンプ２２５，データラッチ回路２２６，２２７，データバススイッチ２２８で，入出力ユニット９３が構成される。
【０１４０】
図２４は，バイトバウンダリ機能を有する画像メモリの第２の例を示す図である。また，図２５は，図２４の動作を説明する図である。
【０１４１】
図２４において，図２２と異なる構成は，メモリバンク９２内の各バイト領域Ｂｙｔｅ０−３において，メモリセルアレイが２つのアレイ２２４−０，２２４−１に分割され，それぞれに第２アンプ２２５，データラッチ回路２２６，２２７が設けられている。１対のメモリセルアレイ２２４−０，２２４−１は，コラムアドレスＣＡが偶数（ＣＡ［０］＝０）と，奇数（ＣＡ［０］＝１）とに対応している。そして，コラムデコーダ２２２は，与えられたコラムアドレスＣＡ０から，ＣＡ０とＣＡ１のデコード信号を時分割で出力するのではなく，それら２つのデコード信号２２２Ｄ０，２２２Ｄ１を同時に分割された１対のメモリセルアレイ２２４−０，２２４−１に出力する。それに応答して，１対のメモリセルアレイは，それぞれ１バイトデータをデータラッチ回路２２６，２２７に出力する。これにより，各バイト領域は供給されたコラムアドレスＣＡと＋１インクリメントしたコラムアドレスの２バイトのデータを同時にキャッシュすることになる。そして，データラッチセレクタ２２１が，コラムアドレスＣＡとスタートバイト信号ＳＢとに応じて，データバススイッチ２２８の切り替えを制御し，必要な１バイトデータを入出力バスに転送する。４つのバイト領域がそれぞれ１バイトずつのデータを出力し，合計で４バイトのデータが入出力端子ＤＱから出力される。
【０１４２】
ライトコマンドの場合は，入出力端子ＤＱに供給された４バイトのデータが，コラムアドレスＣＡとスタートバイト信号ＳＢとに応じて切替制御されたデータバススイッチ２２８を介して，２つのデータラッチ回路２２６，２２７に格納され，２つのメモリセルアレイ２２４−０，２２４−１に書き込まれる。
【０１４３】
図２５には，スタートバイト信号ＳＢ＝１，バースト長ＢＬ＝４の場合の動作が示されている。リードコマンドＲＤと同時にコラムアドレスＣＡ０とスタートバイト信号ＳＢ＝１が供給され，バースト長ＢＬ＝４がモードレジスタにセットされているとすると，コラムデコーダ２２２が，コラムアドレスＣＡ０とそれを＋１インクリメントしたＣＡ１に対応するデコード信号２２２Ｄ０，１を同時に，各バイト領域Ｂｙｔｅ０−３に供給する。それに応答して，各バイト領域の１対のメモリセルアレイ２２４−０，２２４−１が，第２アンプ２２５を介して，それぞれ１バイトのデータをデータラッチ回路２２６，２２７に出力する。これにより，各バイト領域から２バイトのデータがキャッシュされる。そして，データラッチセレクタ２２１が，コラムデータＣＡとスタートバイト信号ＳＢに基づいて，各バイト領域においていずれのデータラッチ回路のデータを選択するかの制御信号Ｓ２２１（４つのバイト領域に１ビットずつ合計４ビット）をデータバススイッチ２２８に供給し，データバススイッチ内のスイッチ動作を制御する。その結果，最初のサイクルでは，４バイトのデータＱ０４，Ｑ０１−０３が入出力バスＩ／Ｏｂｕｓに転送される。
【０１４４】
図２５では，バースト長ＢＬ＝４であるため，コラムタイミングコントローラ２２０の制御にしたがって，コラムデコーダ２２２は，コラムアドレスＣＡ２，ＣＡ３に対応するデコード信号２２２Ｄ０，２２２Ｄ１を発行し，更に８バイトのデータをデータラッチ回路２２，２２７にキャッシュする。データラッチ回路２２６，２２７は，ＣＡ０，ＣＡ１の８バイトデータも保持する必要があるので，各データラッチ回路はそれぞれ２バイトのデータを保持できる構成になっている。その結果，新たに８バイトデータＱ０８−Ｑ１５がデータラッチ回路にラッチされる。そして，前クロックサイクルで保持していた８バイトデータＱ００−Ｑ１５と現クロックサイクルで保持した８バイトデータＱ０８−Ａ１５から，４バイトデータＱ０５−Ｑ０８がデータバススイッチ２２８により入出力バスに転送される。よって，この場合のデータラッチセレクタ２２１のセレクト信号Ｓ２２１は，８ビット（各バイト領域に２ビット）で構成される。
【０１４５】
そして，次のクロックサイクルで，コラムデコーダ２２２は，コラムアドレスＣＡ４，ＣＡ５に対応するデコード信号２２２Ｄ０，２２２Ｄ１を発行し，更に８バイトのデータＱ１６−Ｑ２３をデータラッチ回路にキャッシュする。そして，データバススイッチ２２８は，４バイトのデータＱ０９−Ｑ１２を転送する。そして，更に次のクロックサイクルでは，データバススイッチ２２８が４バイトデータＱ１３−Ｑ１６を入出力バスに転送する。この時は，メモリセルアレイから新たに８バイトデータをキャッシュする必要はない。
【０１４６】
ライト動作も，前述と同様であり，バースト長ＢＬ＝４の場合は，４サイクルで４バイトデータが入出力端子ＤＱに供給され，データバススイッチ２２８を介してデータラッチ回路２２６，２２７に格納される。そして，コラムデコーダ２２２からのコラムアドレスＣＡ０，１，ＣＡ２，３，ＣＡ４，５のデコード信号に応答して，合計で１６バイトデータが３サイクルでメモリセルアレイ内に書き込まれる。
【０１４７】
図２６は，バイトバウンダリ機能を有する画像メモリの第２の例の変形例（１）の動作を示す図である。図２５の例では，各バイト領域Ｂｙｔｅ０−３が２バイトのデータを１対のデータラッチ回路２２６，２２７に同時にキャッシュしていた。それに対して，図２６の変型例では，リードコマンドＲＤ後の最初のコラム制御では，コラムデコーダ２２２がコラムアドレスＣＡ０，ＣＡ１の内部デコード信号２２２Ｄ０，２２２Ｄ１を同時に発行して，各バイト領域で２バイトのデータを１対のデータラッチ回路に同時にキャッシュする。そして，その後のキャッシュ動作では，コラムデコーダ２２２が，偶数側（ＣＡ２，ＣＡ４）の内部デコード信号２２２Ｄ０と奇数側（ＣＡ３）の内部デコード信号２２２Ｄ１とを，交互に発行し，各バイト領域は１バイトデータを１対のデータラッチ回路２２６，２２７に交互にキャッシュする。
【０１４８】
つまり，最初は８バイトデータＱ００−Ｑ０７をキャッシュし，次からは４バイトデータＱ０８−Ｑ１１，Ｑ１２−Ｑ１５，Ｑ１６−Ｑ１９をデータラッチ回路にキャッシュする。そして，データバススイッチ２２８が，転送すべき４バイトデータＤＱ１−ＤＱ４，Ｑ０５−Ｑ０８，Ｑ０９−Ｑ１２，Ｑ１３−Ｑ１６を入出力バスに順番に転送する。この場合も，データラッチセレクタ２２１のセレクト信号Ｓ２２１は，８ビット（各バイト領域に２ビット）で構成される。以上のように，リード動作において，コラムアドレスのデコード信号によるメモリセルアレイからのデータのデータラッチ回路へのキャッシュ動作は４サイクルで行われ，データラッチ回路から入出力バスへのデータ転送動作も４サイクルで行われる。
【０１４９】
書き込み動作の場合も，４サイクルで４バイトデータが入出力端子ＤＱに供給され，４サイクルでデータバススイッチ２２８を介してデータラッチ回路２２６，２２７に格納される。そして，コラムデコーダ２２２からのコラムアドレスＣＡ０／１，ＣＡ２，ＣＡ３，ＣＡ４のデコード信号に応答して，合計で１６バイトデータが４サイクルでメモリセルアレイ内に書き込まれる。
【０１５０】
図２７は，バイトバウンダリ機能を有する画像メモリの第２の例の変形例（２）の動作を示す図である。この例は，ＤＤＲ（Double Data Rate）に適用される例である。ＤＤＲのＳＤＲＡＭは，クロックＣＬＫの立ち上がりエッジと立ち下がりエッジの両方でＤＱ端子からデータの入出力を行う。つまり，立ち上がりエッジで４バイトデータＱ０５−Ｑ０８，立ち下がりエッジで４バイトデータＱ０９−Ｑ１２がそれぞれ入出力される。
【０１５１】
このように入出力レートが２倍になるので，メモリ内部のキャッシュするデータ量も２倍にする必要がある。図２７の例では，リードコマンドＲＤの後の最初のキャッシュサイクルで１６バイトのデータＱ００−Ｑ０３，Ｑ０４−Ｑ０７，Ｑ０８−Ｑ１１，Ｑ１２−Ｑ１５が同時にデータラッチ回路にキャッシュされ，１６バイトデータから４バイトデータＱ０５−Ｑ０８がクロックの立ち上がりエッジでＩ／Ｏバスに転送され，次の４バイトデータＱ０９−Ｑ１２がクロックの立ち下がりエッジでＩ／Ｏバスに転送される。
【０１５２】
図２７のような１６バイトデータの一括キャッシュを可能にするために，メモリは，図２４におけるバイト領域Ｂｙｔｅ０−３内で，４つのメモリセルアレイに分割され，それぞれに第２アンプ，データラッチ回路が設けられる。そして，各バイト領域で，コラムデコーダ２２２は，先頭コラムアドレスＣＡ１に対応してコラムアドレスＣＡ０−３の内部デコード信号を，４つのメモリセルアレイに供給し，４バイトデータが４つのデータラッチ回路にキャッシュされる。そして，４つのデータラッチ回路からデータラッチセレクト信号Ｓ２２１によりデータバススイッチ２２８により選択されたデータラッチ回路の１バイトデータが入出力バスに転送される。図中，コアバスＣｏｒｅｂｕｓは，メモリセルアレイの入出力バスに対応し，それらのデータはデータラッチ回路にキャッシュされる。
【０１５３】
なお，図２７の例では，入力コラムアドレスＣＡのＬＳＢ（ＣＡ［０］）を無視する構成になっていて，入力コラムアドレスＣＡ０，ＣＡ１のいずれの場合も，常にコラムアドレスＣＡ０−３に対応するデータがアクセスされる。つまり，入力コラムアドレスが奇数，偶数に関わりなく，ペアリングされるコラムアドレスは固定的になっている。
【０１５４】
さらに，次のクロックサイクルでは，コラムデコーダ２２２がコラムアドレスＣＡ４−７の内部デコード信号を４つのメモリセルアレイに発行し，さらに４バイトデータを４つのデータラッチ回路にキャッシュする。これにより，１６バイトデータＱ１６−Ｑ３１がデータラッチ回路にラッチされ，そのなかから選択された，４バイトデータＱ１３−Ｑ１６と，４バイトデータＱ１７−Ｑ２０とが，クロックの立ち上がりエッジと立ち下がりエッジでそれぞれ出力される。
【０１５５】
ライト動作では，上記と逆方向に書き込みデータが入出力端子ＤＱからデータラッチ回路を介してメモリセルアレイ内に書き込まれる。
【０１５６】
図２７の場合も，データラッチセレクト信号Ｓ２２１は，各バイト領域に２ビット，合計で８ビットの制御信号である。そのようなデータラッチセレクト信号は，コラム制御部９０内のデータラッチセレクタ２２０がコラムアドレスＣＡとスタートバイト信号ＳＢに応じて生成する。
【０１５７】
図２８は，バイトバウンダリ機能を有する画像メモリの第２の例の変形例（３）の動作を示す図である。これも図２７と同様にＤＤＲに対応する動作例であり，図２７と異なる点は，入力コラムアドレスＣＡが奇数か偶数かに応じて，同時にコラムアクセスされるアドレスの組み合わせが異なる。つまり，入力コラムアドレスＣＡとそれに＋１，＋２，＋３したＣＡに対応するデータが同時にアクセスされる。つまり，入力コラムアドレスＣＡ１の場合は，ＣＡ１，ＣＡ２，ＣＡ３，ＣＡ４のデータがアクセスされる。つまり，コラムデコーダは，入力コラムアドレスＣＡのＬＳＢ（ＣＡ［０］）を監視して，同時アクセスすべきコラムアドレスを決定する。
【０１５８】
図２８に示されるとおり，入力コラムアドレスＣＡ１に対して，コラムデコーダは，ＣＡ１−ＣＡ４の内部デコード信号２２２Ｄ０−３を生成し，各バイト領域で４バイトデータ，合計で１６バイトデータがデータラッチ回路にキャッシュされる。そして，次のクロックサイクルではＣＡ５−ＣＡ８の内部デコード信号２２２Ｄ０−３を生成し，更に１６バイトデータがキャッシュされる。よって，キャッシュされる１６バイトデータが，図２７と４バイトだけずれている。
【０１５９】
よって，図２８のリード動作及びライト動作も図２７と同様のメモリ構成で実現できる。
【０１６０】
図２９は，バイトバウンダリ機能を有する画像メモリの第３の例を示す図である。また，図３０は，図２９の動作を説明する図である。第３の例では，バイトバウンダリ機能により入出力される４バイトデータＱ０１−Ｑ０４を，各バイト領域Ｂｙｔｅ０−３への１回のコラムアクセスによりアクセスし，入出力バスに転送する。つまり，前述の第１，第２の例のように隣接するコラムアドレスのメモリ単位領域に対する４バイトデータのアクセスのために，それより多い８バイトデータまたは１６バイトデータを隣接コラムアドレスの複数メモリ単位領域からキャッシュをすることはしない。
【０１６１】
図２９に示されるとおり，コラム制御部９０は，コラムアドレスコントローラ２９０を有し，メモリバンク９２内の各バイト領域Ｂｙｔｅ０−３内のコラムシフタ回路２９１に，コラムアドレスＣＡを＋１シフトすべきか否かのシフト制御信号Ｓ２９０を供給する。各バイト領域は，コラムシフタ２９１と，その出力をデコードするコラムデコーダ２２２と，内部デコード信号２２２Ｄにより１バイトデータを入出力するメモリセルアレイ２２４と，第２アンプと，データラッチ回路２２６と，データバススイッチ回路２２８とを有する。各バイト領域内のコラムシフタ２９１は，シフト制御信号Ｓ２９０に応答して，コラムアドレスＣＡを＋１シフトする又はシフトしないでコラムアドレスをコラムデコーダ２２２に出力する。データラッチ回路２２６は，１バイトデータのみ保持できればよい。したがって，データバススイッチ回路２２８は，データラッチ回路２２６内の１バイトデータを常に選択して，入出力バスＩ／Ｏｂｕｓに転送するだけである。
【０１６２】
図３０の動作を示す図によれば，コラムアドレスコントローラ２９０が，入力コラムアドレスＣＡ０とスタートバイト信号ＳＢとに応じて，バイト領域Ｂｙｔｅ０のコラムシフタ２９１にコラムアドレスＣＡ０を＋１シフトしてＣＡ１を生成させるよう制御し，他のバイト領域Ｂｙｔｅ１−３のコラムシフタには＋１シフトさせないよう制御する。その結果，バイト領域Ｂｙｔｅ０では，コラムアドレスＣＡ１に対応する内部デコード信号２２２Ｄに基づいて１バイトデータＱ０４がアクセスされ，データラッチ回路２２６にラッチされる。また，他のバイト領域Ｂｙｔｅ１−３では，コラムアドレスＣＡ０に対応する内部デコード信号２２２Ｄにもとづいて各１バイトデータＱ０１，Ｑ０２，Ｑ０３がアクセスされ，データラッチ回路２２６にラッチされる。
【０１６３】
上記のとおり，図２９，図３０の第３の例では，メモリ内部でコラムアドレスをアクセス対象の４バイトデータに対応させて発生しているので，その分コラムデコーダ側が複雑な構成になるが，４バイトより多いバイトデータのキャッシュ動作をなくすことができるので，入出力ユニット９３での構成がシンプル化され，且つメモリバンク内の消費電力を削減することができる。
【０１６４】
リード動作では，各バイト領域でコラムデコーダ２２２からのコラムアドレスに対応する１バイトデータをデータラッチ回路２２６に出力し，データバススイッチ２２８を介して入出力端子ＤＱに転送する。ライト動作では，入出力端子ＤＱに入力された４バイトデータが，各バイト領域でデータバススイッチ２２８を介してデータラッチ回路２２６にラッチされる。そして，各バイト領域でコラムデコーダ２２２からのコラムアドレスに対応するメモリにラッチされたデータが書き込まれる。
【０１６５】
上記の図２２〜図３１に示したバンク内の４つのバイト領域は，コラムアドレスで選択されるメモリ単位領域が４ビットで構成される場合は，４つのビット領域になり，各ビット領域からは１ビット単位のデータが複数組または単数組でアクセスされる。
【０１６６】
［入出力端子との対応制御］
次に，画像メモリ内における入出力端子DQとメモリセルアレイ内のバスまたはデータラッチ回路との対応制御例について説明する。
【０１６７】
図３１は，バイトバウンダリ機能を有する画像メモリの入出力端子との対応手段を示す図である。図３２は，図３１の動作を示す図である。この入出力端子との対応手段では，図３２に示されるとおり，メモリ空間内のコラムアドレスＣＡに対応する４バイトデータは，常に同じ入出力端子群ＤＱ［７：０］〜ＤＱ［３１：２４］に対応付けられ，動的に対応関係を入れ替えることは行わない。つまり，入出力端子ＤＱとメモリ内のバス（メモリセルアレイ２２４の入出力バス）との対応関係（割付関係）は，スタートバイト信号ＳＢの影響を受けず常に固定的である。よって，ライト時とリード時でスタートバイト信号ＳＢが異なっていても，ライト時に入力される入出力端子ＤＱとリード時に出力される入出力端子ＤＱとは同じ端子である。
【０１６８】
図３１には，コラムアドレスＣＡで選択される４バイト領域の境界をまたぐ４バイトアクセスする場合のDQ端子との接続方法が示されている。この図ではコラムアドレスCA0内の４バイト領域のByte1（Ｑ０１）からのリード動作（ＳＢ＝１）を想定している。
【０１６９】
入出力端子DQの入れ替えを行わない場合、Byte1のデータとして記憶したデータはスタートバイト信号ＳＢに依存せずに必ずByte1に対応するDQ端子に出力される。そのため、メモリセルアレイ２２４と入出力バッファ９４I/Oの接続は常に固定的に割り付けられる。従って、スタートバイト信号ＳＢの指定は，単にメモリセルアレイ２２４のどのコラムアドレスCAのバスを入出力バッファ９４I/Oに接続すべきかの判別に利用される。
【０１７０】
図３１の例は，図２２の第１の例，図２４の第２の例に対応する構成例であり，各バイト領域Ｂｙｔｅ０−３が１対の領域（奇数コラムアドレス，ＣＡ［０］＝０と，偶数コラムアドレス，ＣＡ［０］＝１）に分割されている。つまり，図２４と同様に，コラムアドレスCAが奇数と偶数の２つのメモリセル領域が存在し、その中がさらに４つのByte領域に分割されている。バイト領域Byte0 Area〜Byte3 Areaは，コラムデコーダからデータラッチ回路までを含むものとする。リード動作の場合、1回のアクセスに必要なデータの２倍のデータがByte Areaから出力され，データバススイッチ２２８のスイッチ群（図中８個の四角）でその半分の４バイトデータが入出力バッファ９４I/Oに接続される。
【０１７１】
このように入出力端子DQの入れ替えを行わない場合，メモリセルのByte1 Areaから出力されたデータQ01は入出力バッファ９４I/OのByte1に相当する入出力端子DQ[15:8]に必ず接続される。従って，バイトスタート信号SBを用いたデータバススイッチ２２８の制御は，２つのコラムアドレスCAに対応する領域のいずれのデータラッチ回路を入出力バッファ９４I/Oと接続するかの制御である。
【０１７２】
図２４における４つのバイト領域Ｂｙｔｅ０−３内のデータバススイッチ２２８が，図３１のデータバススイッチ２２８にまとめて示されている。よって，各バイト領域のデータバススイッチ２２８は，図３１内の同じ入出力端子ＤＱに対応する１対のスイッチで構成される。
【０１７３】
図３３は，バイトバウンダリ機能を有する画像メモリの入出力端子との対応手段を示す図である。図３４は，図３３の動作を示す図である。この入出力端子との対応手段では，図３４に示されるとおり，メモリ空間内のコラムアドレスＣＡに対応する４バイトデータは，スタートバイト信号ＳＢに応じて先頭バイトから順番に入出力端子群ＤＱ［７：０］〜ＤＱ［３１：２４］に対応付けられ，メモリセルアレイ２２４と入出力端子群ＤＱとの間で動的に対応関係が入れ替えられる。つまり，入出力端子群ＤＱとメモリ内のバスと対応関係（割付関係）はスタートバイト信号ＳＢの影響を受けて動的に変化する。よって，ライト時とリード時でスタートバイト信号ＳＢが異なっていると，ライト時に入力される入出力端子群ＤＱとリード時に出力される入出力端子群ＤＱとは異なる端子になる。
【０１７４】
図３４から明らかなとおり，スタートバイト信号ＳＢ＝１の場合は，メモリ内のデータＱ０１−Ｑ０４が入出力端子群ＤＱ［７：０］〜ＤＱ［３１：２４］に対応付けられる。つまり，スタートバイト信号ＳＢに応じてメモリセルアレイ内のバス又はデータラッチ回路と入出力端子群との対応を，先頭のバイトデータは入出力端子ＤＱ［７：０］に，残りの３バイトデータは残りの入出力端子ＤＱに順次対応するようにする。そのために，図３３のデータバススイッチ２２８には，入出力バス群Ｉ／Ｏｂｕｓとメモリセルアレイ２２４のバスまたはデータラッチ回路との全ての交差位置にスイッチが設けられる。そして，これらのスイッチ群をデータラッチセレクタ２２１からのデータラッチセレクト信号Ｓ２２１によりオン・オフ制御することで，上記のような動的な対応付けを実現することができる。
【０１７５】
このように，スタートバイト信号ＳＢに応じて，メモリセルアレイ内のバスまたはデータラッチ回路に対して入出力端子DQの入れ替えを行う。具体的には，メモリセルアレイ内のバイト領域Byte1から出力されたバイトデータQ01は，SB="1"の場合には入出力バッファ９４I/OのByte0に相当するDQ[7:0]に接続され，SB="0"の場合はDQ[15:8]に接続される。バイト領域Byte1のバイトデータQ05は，SB="3"の場合はDQ[23:16]に接続され，SB="2"の場合はDQ[31:24]に接続される。つまり，図３３中の閉じた状態の４つのスイッチの位置が，スタートバイト信号SBに応じて右方向にずれることになる。
【０１７６】
次に，入出力端子との対応制御において，ビッグエンディアンとリトルエンディアンへの対応制御について説明する。
【０１７７】
図３５は，バイトバウンダリ機能を有する画像メモリであってエンディアンに対応可能な画像メモリの構成図（１）である。この例は，図１９，図２０で説明した画像メモリと同様に，メモリコア３５０内の構成はビッグエンディアン（アップモード）にのみ対応している。つまり，バイトバウンダリ動作において，スタートバイト信号ＳＢに対応するバイト位置から４バイトデータをアップモードでアクセスする機能のみである。その場合であっても，データバススイッチ２２８のスイッチ群を制御することで，ビッグエンディアン対応の画像システムとも，リトルエンディアン対応の画像システムとも正しいデータの入出力を実現することができる。
【０１７８】
図中，モードレジスタ９６には，アップモードかダウンモードかを示すバイト組み合わせ情報の第２の情報ＢＭＲが与えられ，いずれかのモードに設定される。ただし，図２９などのコラムデコーダ，メモリセルアレイ，第２アンプを含むメモリコア３５０は，アップモード制御にしか対応していない。つまり，コラム制御回路にはアップモードコントローラ３５１のみを有し，ダウンモードコントローラは有していない。
【０１７９】
図３５（Ａ）は，アップモードの場合のデータバススイッチ２２８を示している。つまり，ビッグエンディアンであるアップモードの場合は，メモリコア３５０はアップモードコントローラ３５１によりアップモードに制御される。よって，データバススイッチ２２８は，データラッチ回路２２６の４バイトのデータＢｙｔｅ０−３をそのまま入出力バッファ９４Ｉ／Ｏに接続する。つまり，メモリコア３５０のコアデータバスcdb00z〜cdb31zが，I/Oデータバスpdb00z〜pdb31zにストレートに接続される。
【０１８０】
一方，図３５（Ｂ）は，ダウンモードに設定された場合のデータバススイッチ２２８を示している。つまり，リトルエンディアンであるダウンモードの場合，メモリコア３５０はアップモードコントローラ３５１によりアップモードに制御されるが，データバススイッチ２２８は，データラッチ回路２２６の４バイトデータＢｙｔｅ０，１，２，３を，たすきがけして入出力バッファ９４Ｉ／Ｏの４バイトＢｙｔｅ３，２，１，０に対応付ける。この場合は，バイト単位でコアバスcdbxxzとI/Oバスpdbxxzとが切り替えられる。
【０１８１】
図３５（Ｂ）のデータバススイッチ２２８は，図１９，２０に示した入出力端子群の入れ替え手段１９０と同じものを，画像メモリ８６内に設けた例である。このように，メモリコアの構成はビッグエンディアンとリトルエンディアンのいずれかに対応可能な構成にし，上記のようなデータバススイッチ２２８を設けて，そのスイッチをダウンモードまたはアップモードに応じて切り替えることで，両方のエンディアンに対応することが可能になる。
【０１８２】
図３６は，バイトバウンダリ機能を有する画像メモリであってエンディアンに対応可能な画像メモリの構成図（２）である。この画像メモリは，図３５と同様に，アップモード制御にのみ対応可能なメモリコア構成を有し，データバススイッチ２２８をモードレジスタ９６に設定された第２の情報ＢＭＲ＝ＵＰ／ＤＯＷＮに応じて切り替えることで，いずれのモードにも対応可能にしている。そして，図３５と異なるところは，データバススイッチ２２８によるデータの入れ替えは，ＭＳＢ（ＤＱ３１）とＬＳＢ（ＤＱ００）とが入れ替えられるよう行われる。つまり，４バイトの入れ替えに加えて，各バイトの８ビットのデータも入れ替えられる。
【０１８３】
図３７は，バイトバウンダリ機能を有する画像メモリであってエンディアンに対応可能な画像メモリの構成図（３）である。この画像メモリは，図２９の画像メモリに対応し，メモリコア３５０内の４つのバイト領域にのコラムアドレスの組み合わせを，動作モードに対応して変更制御し，スタートバイト信号ＳＢに対応したバイトからアップ方向またはダウン方向の４バイトデータを４つのメモリアレイから入出力する。
【０１８４】
例えば，図３０に示したようにコラムアドレスＣＡ０，スタートバイト信号ＳＢ＝１の場合は，４つのバイト領域Ｂｙｔｅ０−３の内部コラムアドレスは，アップモードであればＣＡ１，ＣＡ０，ＣＡ０，ＣＡ０となり，データＱ０４，Ｑ０１，Ｑ０２，Ｑ０３が４バイトの入出力端子ＤＱから入出力される。一方，ダウンモードであればＣＡ０，ＣＡ０，ＣＡ１，ＣＡ１となり，データＱ００，Ｑ０１，Ｑ０６，Ｑ０７が４バイトの入出力端子ＤＱから入出力される。
【０１８５】
このように，コラムシフタ２９１により，アップモードとダウンモードとで，メモリコア内の４つのバイト領域Ｂｙｔｅ０−３に与えるコラムデータを切り替える。そして，スタートバイト信号ＳＢとモード信号ＢＭＲとにより一意に決まるコラムアドレスの組み合わせが，コラムシフタ２９１を介して，メモリコア３５０内の各バイト領域に供給される。このコラムシフタ２９１は，コラムアドレス制御部９０Ａからの４つのコラムアドレスcaby0z-caby3zのうち切り替えが必要な２つのうちいずれかを，アップモード・ダウンモードUp/Downに応じて選択する。つまり，バイト領域Byte0では，caby0z,caby3zのいずれかが選択され，バイト領域Byte1では，caby1z,caby2zのいずれかが選択され，バイト領域Byte2では，caby1z,caby2zのいずれかが選択され，そして，バイト領域Byte3では，caby0z,caby3zのいずれかが選択される。
【０１８６】
シングルデータレート（ＳＤＲ）の場合は，１回のアクセスで４バイトデータを入出力できれば良いので，図２９で説明したとおり，各バイト領域に対応するデータラッチ回路に保持された１バイトデータをそのまま入出力バスに転送すればよい。
【０１８７】
一方，ダブルデータレート（ＤＤＲ）の場合は，１回のアクセスで８バイトデータを４バイトずつ入出力する必要がある。よって，図２９の構成において，各バイト領域Ｂｙｔｅ０−３内に偶数コラムアドレス（ＣＡ［０］＝０）のブロックと奇数コラムアドレス（ＣＡ［０］＝１）のブロックとを有し，それら１対のブロックにスタートバイト信号ＳＢとモード信号ＢＭＲとにより一意に決まる組み合わせのコラムデータをコラムシフタ２９１から供給し，データバススイッチ２２８により必要な４バイトデータを選択して入出力バスI/Obusに転送する。その場合は，データバススイッチ２２８内の各スイッチは，データラッチセレクタ２２１からの制御信号dabyaz-dabydzに応じて，偶数ブロックか奇数ブロックのデータを選択して入出力バスI/Obusに転送する。そのため，データラッチセレクタ２２１には，コラムアドレス制御部９０Ｂからデータバス用のコラムアドレスdaby0z-daby3zが供給され，データラッチセレクタ２２１が，アップモード・ダウンモードUp/Downに応じて，４つのバイト領域の中から切り替えが必要な２つのうちのいずれかを選択する。この切り替え候補の組み合わせは，前述のコラムシフタ２９１と同じである。
【０１８８】
図３７のように，コラムアドレスの組み合わせを制御することで，データバススイッチ２２８のスイッチ群のスイッチ数を減らすことができる。すなわち，図３５，３６に示したデータバススイッチでは，入出力端子DQ数がNバイトの場合，2N*8個のスイッチが必要となる。しかし，図３７のようにコラムアドレスの組み合わせを制御することで，コラムシフタ２９１とデータバススイッチ２２８にそれぞれ２N個のスイッチが必要となり，合計で４N個のスイッチが必要になる。よって，図３５，３６よりもスイッチ数を１／４に減らすことができる。
【０１８９】
図３８，図３７のＤＤＲメモリにおけるアップモードの動作タイミングチャート図である。この例は，コラムアドレスＣＡ１とスタートバイト信号ＳＢ＝１の例であり，ビッグエンディアンでメモリ８６に記憶したデータＤＱ０５―ＤＱ０８を読み出す例である。つまり，メモリ８６内のコラムアドレスに対するデータQ00-Q19と入出力端子DQとの関係は図示される通りである。
【０１９０】
前述したとおり，ＤＤＲメモリの場合は，メモリセルアレイ内の各バイト領域が偶数コラムアドレスのブロック（ＣＡ［０］＝０）と奇数コラムアドレスのブロック（ＣＡ［０］＝１）とを有し，それらのブロックに制御された組み合わせのコラムアドレスcabyが供給され，データバススイッチ２２８に制御された組み合わせのデータバス切り替え用のコラムアドレスdabyが供給される。
【０１９１】
すなわち，基点となるコラムアドレスCAとしてCA1を入力する。それに伴って，各バイト領域Ｂｙｔｅ０−３内の偶数ブロック（CA[0]="0"）と奇数ブロック（CA[0]="1"）とに供給されるコラムアドレスCAが制御され，偶数ブロック（CA[0]="0"）の領域はコラムアドレスCA2のコラム線が活性化され，奇数ブロック（CA[0]="1"）の領域は，バイト領域Byte 0ではコラムアドレスCA3のコラム線が活性化され，バイト領域Byte1,2,3ではコラムアドレスCA1のコラム線が活性化される。
【０１９２】
この結果、メモリコアのコアバスにはデータQ05〜Q12が出力される。つまり，偶数ブロックのコアバスにはデータQ08-Q11が出力され，奇数ブロックのコアバスにはデータQ5-Q7,Q12が出力される。
【０１９３】
DDRメモリでは，この8バイトのデータから入出力バスI/Obusに4バイトデータを転送する必要がある。そこで，データバススイッチが，スタートバイト信号SBとコラムアドレスCAに基づいて，バイト領域Byte0のみ偶数ブロック（CA[0]="0"）のデータを選択し，その結果，データQ05〜Q08を入出力端子DQに出力することができる。
【０１９４】
ここで、偶数，奇数（CA[0]="0"/"1"）の各領域で，内部コラムアドレスcabyazはcaby0zを選択し、内部コラムアドレスcabybzはcaby1zを,cabyczはcaby2zを,cabydzはcaby3zをそれぞれ選択している。同様に，偶数，奇数（CA[0]="0"/"1"）の各領域でデータバス用のコラムアドレスdabyazはdaby0zを選択し，同様に，dabybzはdaby1zを,dabyczはdaby2zを,dabydzはdaby3zをそれぞれ選択している。
【０１９５】
図３９は，図３７のＤＤＲメモリにおけるダウンモードの動作タイミングチャート図である。この例は，コラムアドレスＣＡ１とスタートバイト信号ＳＢ＝２の例であり，リトルエンディアンでメモリ８６に記憶したデータＤＱ０５―ＤＱ０８を読み出す例である。つまり，メモリ８６内のコラムアドレスに対するデータQ00-Q19と入出力端子DQとの関係は図示される通りである。図３８とは，４バイトのデータと入出力端子DQとの関係が逆方向になっている。
【０１９６】
この場合は，基点となるコラムアドレスCAとしてCA1を入力する。それに伴って，各バイト領域Ｂｙｔｅ０−３内の偶数ブロック（CA[0]="0"）と奇数ブロック（CA[0]="1"）とに供給されるコラムアドレスCAが制御され、偶数ブロック（CA[0]="0"）にはコラムアドレスCA2のコラム線が活性化され，奇数ブロック（CA[0]="1"）では，バイト領域Byte 3はコラムアドレスCA3のコラム線が活性化され，バイト領域Byte2,1,0の各領域はコラムアドレスCA1のコラム線が活性化される。
【０１９７】
この結果、メモリコアのコアバスにはデータQ05〜Q12が出力される。つまり，偶数ブロックのコアバスにはデータQ08-Q11が出力され，奇数ブロックのコアバスにはデータQ5-Q7,Q12が出力される。
【０１９８】
DDRメモリでは，この8バイトのデータから入出力バスI/Obusに4バイトデータを転送する必要がある。そこで，データバススイッチが，スタートバイト信号SBとコラムアドレスCAとに基づいて，バイト領域Byte3のみ偶数ブロック（CA[0]="0"）のデータＱ０８を選択し，残りは奇数ブロックからデータＱ０５−０７を選択し，４バイトデータQ05〜Q08を入出力端子DQに出力することができる。
【０１９９】
ここで、偶数，奇数（CA[0]="0"/"1"）の各領域で，内部コラムアドレスcabyazはcaby3zを選択し、内部コラムアドレスcabybzはcaby2zを,cabyczはcaby1zを,cabydzはcaby0zをそれぞれ選択している。同様に，偶数，奇数（CA[0]="0"/"1"）の各領域でデータバス用のコラムアドレスdabyazはdaby3zを選択し，同様に，dabybzはdaby2zを,dabyczはdaby1zを,dabydzはdaby0zをそれぞれ選択している。
【０２００】
以上のとおり、図３８のアップモードと比較すると，cabyz,dabyz をバイト領域Byte0とByte3で入れ替え、さらにバイト領域Byte1とByte2で入れ替えることで，ビッグエンディアンとリトルエンディアンの2種類のバイトデータの並びに対応することができる。  図４０は，バイトバウンダリ機能におけるバウンダリの指定方法について説明する図である。図中，コラムアドレスＣＡ［７：０］が＃ｎと＃ｎ＋１の隣接する４バイト領域の境界を越えてアクセスが行われるバイトバウンダリ機能では，バウンダリの指定方法がスタートバイトＳＢによる場合と，シフトバリューＳＶによる場合とが考えられる。スタートバイトＳＢは，バイトＮから４バイトアクセスすることを意味し，シフトバリューＳＶが，コラムアドレスの４バイト領域の境界からＮバイトシフトした位置から４バイトアクセスすることを意味する。
【０２０１】
その場合，エンディアンの２つのモードに対応して，アップモードとダウンモードとでは，スタートバイトＳＢとシフトバリューＳＶとの対応関係が異なってくる。つまり，アップモードなら，バイトデータの並びがＢｙｔｅ０−３となっているので，ＳＢとＳＶは等価である。しかし，ダウンモードでは，バイトデータの並びがＢｙｔｅ３−０となっているので，ＳＢとＳＶとは等価にならず，逆の関係になる。
【０２０２】
したがって，画像メモリがスタートバイト信号ＳＢの端子のみを有し，内部構造がシフトバリューＳＶに応じて制御される場合は，アップモードかダウンモードかに応じて，スタートバイト信号ＳＢを非反転または反転して，シフトバリューＳＶに変換する必要がある。画像メモリがシフトバリューＳＶ端子のみを有し，内部構造がスタートバイトＳＢに応じて制御される場合も同様である。
【０２０３】
図４１は，スタートバイトＳＢとシフトバリューＳＶとの変換回路を示す図である。変換回路４１０は，２ビット構成４１０［０］，４１０［１］であり，ＣＭＯＳトランスファゲート４１２，４１３とインバータ４１４，４１５で構成され，入力スタートバイトＳＢが，アップモードかダウンモードかを示すカウントタイプ信号に応じて，非反転または反転してシフトバリューＳＶに変換される。変換回路４１０の真理値表４１１に示されるとおり，アップモードではＳＢは非反転されてＳＶになるが，ダウンモードではＳＢは反転されてＳＶになる。
【０２０４】
［矩形アクセスでのコラムアドレス制御］
図１に示したように，画像メモリのメモリ空間を画像の画素に対応付けるメモリマッピング１２，１４Ｅでは，バンクアドレスＢＡとロウアドレスＲＡで選択されるページ領域１４内において，画像のマトリクス状の画素の配置に対応して，コラムアドレスＣＡで選択されるメモリ単位領域（４バイト領域）を所定の折り返し幅（CA Wrap）で折り返すようにマッピングされる。図１の例では，ページ領域１４内はコラムアドレスＣＡが４単位で折り返されている。つまりコラムアドレスの折り返し幅CA Wrapは４である。このコラムアドレスの折り返し幅は，コラムアドレスのステップとも称される。
【０２０５】
このようなコラムアドレスで選択されるメモリ単位領域を所定の折り返し幅で折り返してマッピングすることで，画像メモリで頻繁に行われる矩形アクセスのアクセス効率を高めることができる。つまり，アクティブコマンドによりページ領域をアクティブ動作させた状態で，アクセス対象の矩形領域に対応してリードコマンドとコラムアドレスを繰り返し発行することで，同じページ領域内の矩形領域へのアクセスを行うことができる。１回のアクティブ動作で同じページ領域内の矩形領域にアクセスできるので，効率的なアクセスが可能になる。
【０２０６】
図１６で示されるとおり，このような矩形アクセスでは，リードコマンドＲＤとバンクアドレスＢＡとコラムアドレスＣＡとスタートバイト信号ＳＢとを繰り返し発行することが必要である。しかしながら，メモリのマッピング情報，特にページ領域のコラムアドレスＣＡの折り返し幅（CA Wrap）があらかじめわかっていれば，矩形領域の先頭コラムアドレスＣＡと，矩形幅と，矩形サイズとを与えれば，画像メモリは内部で自動的にアクセスすべきコラムアドレスを発行して矩形領域の画像データにアクセスすることができる。その場合は，リードコマンドとコラムアドレスを１回発行すればよく，図１６のように複数回発行する必要はない。
【０２０７】
図４２は，バイトバウンダリ機能を利用した自動矩形アクセスを説明する図である。この例では，メモリマッピング４２１にアクセスされるデータ領域を矢印で示している。このメモリマッピングでは，ページ領域内でコラムアドレスＣＡが８で折り返されている。つまり，コラムアドレス折り返し幅CAWrapが８である。よって，ページ領域１４の右端のコラムアドレスCAは#07,#0F,#17,#1F（１６進数）と折り返し幅CAWrap=8になっている。そして，アクセスすべき矩形領域の先頭アドレスがCA=#0Bで，スタートバイト信号SB=2で，矩形領域の幅Rwidth＝２クロック（４バイト×２クロック＝８バイト），矩形領域のサイズがバースト長BL=8(4×8=32バイト)である。したがって，矩形領域の高さは，BL/Rwidth＝４である。
【０２０８】
図４３は，自動矩形アクセスでのタイミングチャート図である。図４４は，自動矩形アクセスに必要な内部コラムアドレス演算器の構成図である。図４２のような矩形アクセスをするためには，供給コラムアドレスCA=#0BとSB=2に応じて，メモリ内部でコラムアドレスCA=#0B/#0C, #0C/#0D, #13/#14, #14/#15, #1B/#1C, #1C/#1D, #23/#24, #24/#25が発行されればよい。つまり，最初のアクセスではByte2,3はCA=#0B，Byte0,1はCA=#0Cにアクセスする。２度目のアクセスではコラムアドレスCAは1だけ進行してByte2、3=#0C，Byte0,1はCA=#0Dにアクセスする。そして，この例では矩形幅RWidth=2 のため，次の３度目のアクセスはコラムアドレスCAを1だけ進行した位置とはならず，折り返されたコラムアドレスCA=#13，#14になる。したがって，コラムアドレス折り返し幅CAWrapと矩形幅Rwidthから３番目のコラムアドレスを演算により求める必要がある。この３度目のアドレスをByte2,3で考えると，現在のコラムアドレスCA=#0C（=12（10進数）），CA Wrap＝8，RWidth＝2にもとづき，図４３中の式（CA＋CAWrap−Rwidth＋１）により，3度目のアクセスのCAは，CA=12＋8−2+1=19（10進数）=#13（16進数）と求められる。  図４４にはコラム制御部９０内のコラムアドレス演算器が示されている。この演算器は，外部から供給されるコラムアドレスCA，折り返したときのコラムアドレスCA(Wrap)をクロックのタイミングに同期した内部クロックpclenzに同期して＋１インクリメントするコラムアドレスカウンタ４４０と，コラムアドレスカウンタのカウント値にCA Rwapを加算し，Rwidthを減算する演算器４４１と，矩形領域の折り返し時に演算器４４１の出力を選択するスイッチ４４２と，同期クロックpclenzをカウントし，アクセス中の水平方向のカウント値をカウントする矩形幅カウンタ４４４と，矩形幅カウンタ４４４の水平方向のカウント値widthzが矩形幅Rwidthと一致することを検出して，スイッチ４４２に切り替え信号wrapzを生成する比較器４４５とを有する。
【０２０９】
図４３のタイミングチャートに従って説明する。まず，矩形領域サイズがバースト長BL=8としてモードレジスタに設定され，また，ページ領域内のコラムアドレスの折り返し幅CAWrap＝８もモードレジスタに設定されているものとする。そして，アクティブコマンドに続くリードコマンドと共に，先頭コラムアドレスCA＝＃０Bと，スタートバイト信号SB=2と，アクセス対象の矩形幅Rwidth=2とが供給される。これに応答して，タイミングクロックpclenzがクロックに同期して発生し，矩形幅カウンタ４４４がアクセス中の水平方向のカウント値widthzをカウントアップし，コラムアドレスカウンタ４４０が先頭コラムアドレスCA=#0Bからカウントアップする。
【０２１０】
最初のアクセス用に発行される内部コラムアドレスcaz[7:0]は，図４３に示されるとおり，CA=#0B/#0Cである。２番目のアクセスでは，コラムアドレスカウンタ４４０が＋１インクリメントしたコラムアドレスcaz[7:0]=#0Cに対応して, #0C/#0Dが出力される。３番目のアクセスでは，矩形幅の折り返しが必要になり，演算器４４１の演算値がスイッチ４４２により選択され，コラムアドレスcaz[7:0]＝#03が出力され，それに対応して折り返し後のコラムアドレスCA= #13/#14が生成される。４番目は #14/#15が生成され，５番目で矩形領域の折り返しが行われ, #1B/#1Cが生成される。その後は, #1C/#1D, #23/#24, #24/#25が同様にして生成される。
【０２１１】
この自動矩形アクセスに対応する画像メモリの構成は，例えば，図２９に示したとおりであり，４つのバイト領域Byte0-3にバイトバウンダリ機能に対応した４つのコラムアドレスの組み合わせが供給される。つまり，図４３の内部コラムアドレスcazのコラムアドレスの組み合わせが，各バイト領域内のコラムデコーダに供給される。その結果，これらのコラムアドレスのデータが４つのバイト領域からそれぞれ出力される。
【０２１２】
上記の例では，矩形アクセスの矩形幅Rwidthをリードコマンドと共に供給したが，あらかじめモードレジスタセットコマンドでモードレジスタに設定してもよい。あるいは，矩形サイズBLと矩形幅Rwidthをリードコマンドと共に供給してもよい。コラムアドレスの折り返し幅CAWrapは，画像システムがあらかじめ設定しているので，モードレジスタセットコマンドで設定するのが望ましい。
【０２１３】
このように，矩形アクセスにおいて，起点となるコラムアドレスCAと，矩形幅Rwidthと，矩形サイズ（BL）とが与えられれば，あらかじめ設定されているコラムアドレスの折り返し幅CAWrapに基づいて，アクセスすべき内部コラムアドレスを自動的に生成することができる。よって，１回のリードコマンドの発行で，矩形アクセスを行うことができる。
【０２１４】
［ページ領域境界のバイトバウンダリ機能］
バイトバウンダリ機能は，コラムアドレスで選択されるメモリ単位領域（４バイト領域）の境界を越えて所定バイト（４バイト）のデータを効率的にアクセスすることができる。ところが，ページ領域境界を越えて矩形アクセスをする場合は，再度別のアクティブコマンドで隣接するページ領域をアクティブ動作させることが必要になる。
【０２１５】
図４５は，バイトバウンダリ機能によるアクセスがページ領域の末尾に及んだ場合のメモリ動作の例を示す図である。この図では，ページ領域がコラムアドレスCA[7:0]＝#00〜＃FFで構成され，右端がCA=#FFの例である。この場合，図中矢印で示した４バイトのデータをバイトバウンダリ機能を利用してアクセスすると，アップモードにおいて，SB=0では，４バイトデータを出力することができるが，SB=1,2,3では，ページ領域の右端で折り返して左端のバイトデータをアクセスする。つまり，新たなアクティブ動作を行わずに同じページ領域内で折り返しアクセスが行われる例である。ダウンモードの場合は逆に，SB=0,1,2では左端から右端に折り返す（Wrap）する必要があるが，SB=3のみ折り返しは不要である。
【０２１６】
上記のようなアクセスが行われると，無駄なデータが出力されるだけである。ページ領域の末尾から隣のページ領域へのアクセスを行うためには，新たなアクティブコマンドを発行して隣接ページ領域をアクティブ動作させる必要がある。
【０２１７】
図４６は，バイトバウンダリ機能によるアクセスがページ領域の末尾に及んだ場合のメモリ動作の別の例を示す図である。この例は，バースト長BLが８に設定されている例である。BL=8が設定されると，各バンク内のバーストカウンタはBL=8のカウント幅で内部コラムアドレスのカウントを繰り返す。つまり，図４６の例では，バーストカウンタにより生成される内部コラムアドレスは，CA=#k8〜#kF（１６ビット表記）の幅８である。このようなカウンタによりアクセス領域がバースト長ＢＬを基準にする矩形領域に区分されるメモリの場合にも，図４５と同様にバースト長領域CA=#k8〜#kFの右端でバイトバウンダリ機能を利用しようとすると，図４５と同様の課題が生じる。図４６の例では，アップモードでSB=1,2,3で折り返しが発生し，ダウンモードでSB=0,1,2で折り返しが発生している。これでは，無駄なデータが出力されてしまう。
【０２１８】
図４７は，バイトバウンダリ機能によるアクセスがページ領域の末尾に及んだ場合のメモリ動作の別の例を示す図である。この例では，図７で説明した矩形アクセスにおけるマルチバンクアクセス機能を利用してバイトバウンダリ動作を実現する例である。つまり，アクティブコマンドＡＣＴでロウアドレスＲＡ＝＃ｎが指定され，リードコマンドＲＤで起点のコラムアドレスＣＡがページ領域の右端のＣＡ＝＃ＦＦの場合は，矢印のようにページ領域の境界ＰＢを超えてアクセスが行われる。
【０２１９】
つまり，アップモードでは，ＳＢ＝１，２，３の場合，ＲＡ＝＃ｎのページ領域内のＣＡ＝＃ＦＦのバイトデータと，ＲＡ＝＃ｎ＋１のページ領域内のＣＡ＝＃００のバイトデータとがアクセスされる。ダウンモードでは，ＳＢ＝０，１，２の場合，ＲＡ＝＃ｎのページ領域内のＣＡ＝＃ＦＦのバイトデータと，ＲＡ＃ｎ＋１のページ領域内のＣＡ＝＃００のバイトデータとがアクセスされる。この場合，隣接するページ領域へのアクセスが必要であるので，アクティブコマンドＡＣＴと共に与えられるロウアドレスＲＡ＝＃ｎのページ領域がアクティブ化され，リードコマンドＲＤと共に供給されるコラムアドレスＣＡ＝＃ＦＦとスタートバイト信号ＳＢ＝２に応答して，隣接するロウアドレスＲＡ＝＃ｎ＋１のページ領域がアクティブ化される。つまり，１つのアクティブコマンドＡＣＴに応答して，複数のバンク内のワード線がアクティブ化されることを意味する。
【０２２０】
このように複数バンクが並行してアクティブ化されるように制御されれば，ページ領域の末尾でバイトバウンダリ機能が要求されても，必要な領域のデータを無駄なく入出力することができる。
【０２２１】
［バイトバウンダリ機能のその他の用途］
バイトバウンダリ機能は，メモリに画像データを記憶し任意の画素に対応したデータにアクセスする場合に，効率的なデータの入出力を可能にする。バイトバウンダリ機能は，このような画像メモリ以外の用途においても，同様のメリットを有する。
【０２２２】
図４８〜図５０は，バイトバウンダリ機能のその他の用途を説明する図である。図４８，４９は従来例に，図５０は本実施の形態に対応する。メモリの構成として同一のコラムアドレスCAに複数のバイト領域を割り付け、一度のアクセスで同一のコラムアドレスCAに割り付けられた複数バイトのデータをアクセスすることが行われている。このような構造では，メモリへのアクセスは，同一のコラムアドレスCAに割り付けられている固定のバイトサイズ（ワード構成）のデータに対する処理については，効率良く行うことができる。
【０２２３】
しかし、システムで処理すべきデータのサイズはメモリのワード構成未満となる場合もある。このような場合の対処方法として，ワード構成サイズ以下のデータが複数のコラムアドレスCAの領域にまたがらないようにパディングをするという方法がある。図４８の例では、メモリのワード構成を4バイト（図中４８３参照），処理するデータサイズの単位を1バイト（図中２８０のフォーマットＡ），2バイト（同フォーマットＢ），4バイト（同フォーマットＣ）としている。そのため，4バイトサイズのデータはByte0を基点に記憶することでコラムアドレスＣＡをまたがないようにすることができる。2バイトサイズのデータではByte0,Byte2を基点とする位置に記憶する。1バイトサイズのデータはByte0,Byte1,Byte2,Byte3のいずれの位置を基点とすることも可能とする。
【０２２４】
いま仮に，図中４８２のライトデータのように，2Byte,4Byte,1Byte,2Byte,2Byte,1Byteのサイズのデータ０〜５を連続してメモリに記憶する場合を考える。この場合，図中４８１のようにライト動作を行えば，図中４８３に示されるようにメモリ内の幾つかのバイト領域でパディングが行われ，合計で4バイトの領域は有効なデータの記憶に利用されない。これでは，メモリの容量が有効に利用されていないことになる。ただし，コラムアドレスＣＡにより４バイト単位で出力すれば，各データを１回のコラムアドレスアクセスで読み出せるので，読み出し速度は速くなる。
【０２２５】
しかし、上記の記憶容量の無駄をなくすためには，パディングを行わずにメモリの各バイト領域に連続してデータを記憶すればよい。例えば，図４９の図中４９１のように３サイクルのライトコマンドＷＲで書き込みを行って，図中４９３に示される通りにメモリ内のバイト領域にデータを記憶することができる。
【０２２６】
図４９のようにデータ書き込みを行えば，メモリの記憶容量を有効に活用することができる。しかし，データ３の２バイトのデータＢ０３，Ｂ１３のように，あるいは，データ１の４バイトのデータＣ０１−Ｃ３１のように，異なるコラムアドレスの領域にまたがってデータが記憶された場合は，従来のメモリでは１回のコラムアクセスで読み書きを実行することはできず，２回のアクセスが必要となる。図中４９１に示されるとおり，データ４の読み出しに２回リードコマンドＲＤを発行しなければならず，アクセス効率が低下する。
【０２２７】
そこで，図５０の図中５００に示されるように，バイトバウンダリ機能を利用して，１回のリードコマンドＲＤの発行とスタートバイト信号ＳＢ＝３の指定を行うことで，異なるコラムアドレスの領域にまたがるデータ３（０３，Ｂ１３）をアクセスすることができる。したがって、バイトバウンダリ機能を有するメモリは，アクセス性能の低下を発生させずにメモリ利用率の向上を実現することが可能である。
【０２２８】
［バイトバウンダリ機能に対応したメモリコントローラ］
次に，バイトバウンダリ機能に対応したメモリコントローラについて説明する。図８で画像処理システムを説明したが，この画像処理システム内の画像処理チップ８０内に，画像処理制御部８１とメモリ制御部（メモリコントローラ）８２とが含まれる。
【０２２９】
図５１は，画像処理システムの構成図である。図８と同様に，画像処理制御部８１と，メモリ制御部８２と，画像メモリ８６とで構成される。画像処理制御部８１は，一例としてＭＰＥＧ復号処理を行う構成である。画像処理部８１は，符号化，圧縮されたストリームデータＳＴＭが入力されるエントロピー復号化処理部５１０と，ＤＣＴ係数ＤＣＴ−Ｆに基づいてデータ処理を行う逆量子化及びＩＤＣＴ処理部５１１と，イントラ予測部５１２と，動きベクトルＭＶとマイクロブロック分割情報ＭＢｄｉｖに基づいてメモリ制御部８２に参照画像読み出しを行うインター予測部５１３と，処理選択部５１５とを有する。メモリ制御部８２は，画像処理制御部８１と画像メモリ８６との間でコマンドやアドレスの発行などを含むメモリ制御を行う。処理選択部５１５から出力される復号画像データＤ−ＩＭＧがメモリ制御部８２により画像メモリ８６に格納される。また，インター予測部５１３の参照画像読み出し制御部５１４は，メモリ制御部８２を介して画像メモリ８６から参照画像Ｒ−ＩＭＧのデータを取得し，処理選択部５１５に与える。
【０２３０】
ＭＰＥＧデコーダでは，動きベクトルに基づいてメモリから読み出される過去の画像または未来の画像内の参照画像Ｒ−ＩＭＧと，その参照画像との差分データとに基づいて，現在の画像データを復号化する。したがって，一旦画像メモリ８６に格納した画像から動きベクトルの位置にある矩形の参照画像を読み出す動作が頻繁に行われる。この矩形アクセス制御において，バイトバウンダリ機能を有する画像メモリ８６及びそれに対応したメモリ制御部８２を利用することで，アクセス効率を高めることができる。
【０２３１】
図５２は，メモリ制御部（メモリコントローラ）の入力及び出力信号を示す図である。図５３は，フレーム画像内の読み出し対象の参照画像領域を説明する図である。フレーム画像ＦＭ−ＩＭＧにおいて，左上が画素座標の原点（０，０）であり，矩形の参照画像ＲＩＭＧの領域を特定するためには，矩形の左上の座標（ＰＯＳＸ，ＰＯＳＹ）と，縦横のサイズＳＩＺＥＹ，ＳＩＺＥＸとが必要である。したがって，画像処理部内の参照画像読み出し制御部５１４は，参照画像ＲＩＭＧの領域を特定する上記の情報（ＰＯＳＸ，ＰＯＳＹ），ＳＩＺＥＹ，ＳＩＺＥＸを，メモリコントローラ８２に供給する。また，参照画像読み出し制御部５１４とメモリコントローラ８２との間では，ダイレクトメモリアクセス制御信号ＤＭＡ−ＣＯＮが入出力される。
【０２３２】
一方，メモリコントローラ８２は，上記の参照画像領域を特定する情報（ＰＯＳＸ，ＰＯＳＹ），ＳＩＺＥＹ，ＳＩＺＥＸに基づいて，メモリ空間内のアドレスＡｄｄ（バンクアドレス，ロウアドレス，コラムアドレス）を算出し，コマンドＣＭＤ，アドレスＡｄｄ，マルチバンクアクセス情報ＳＡ’，スタートバイト信号ＳＢ，書き込みデータＤａｔａなどをメモリ８６に供給する。また，メモリ８６から読み出された読み出しデータＤａｔａを受信する。
【０２３３】
図５４は，メモリ制御部の詳細な構成図である。メモリ制御部８２は，前述した画像処理制御部のようにメモリへのアクセスを要求するアクセス要求元ブロック８１−１〜８１−Ｎから，アクセス対象の画像領域の情報ＰＯＳＸ，ＰＯＳＹ，ＳＩＺＥＸ，ＳＩＺＥＹ，書き込みデータＤａｔａを受信するインターフェース制御部５４１−１〜Ｎと，これらのインターフェース部を経由して上記の画像領域情報を受け取り，アドレスとコマンドを生成するアドレスコマンド生成部５４２−１〜Ｎを有する。これらのインターフェース制御部とアドレスコマンド生成部とは，調停回路５４０によりいずれが活性化されるべきか調停される。調停回路５４０により選択され活性化されているアドレスコマンド生成部５４２が，セレクタＳＥＬを経由して，コマンドＣＭＤ，アドレスＡｄｄ（バンクアドレス，ロウアドレス，コラムアドレス），マルチバンクアクセス情報ＳＡ’，スタートバイト信号ＳＢなどをメモリ８６に発行する。それにより，メモリ制御部８２は，調停により選択されたアクセス要求元ブロックのために，メモリ８６へのアクセス制御を行い，データ書き込みまたはデータ読み出しを行う。また，メモリ制御部８２は，必要な頻度でメモリに対してリフレッシュ要求なども行う。
【０２３４】
メモリ制御部８２が発行するコマンドＣＭＤには，例えば，モードレジスタセットコマンド，アクティブコマンド，リードコマンド，ライトコマンド，プリチャージコマンド，リフレッシュコマンドなど，通常のＳＤＲＡＭに必要なコマンドが含まれる。また，メモリ制御部８２内の設定レジスタ５４３には，フレーム画像ＦＭ−ＩＭＧの左上画素のアドレスや，メモリマッピング情報や，メモリ８６が有する機能についての情報が設定される。メモリが有する機能とは，例えば，後述するとおり，マルチバンクアクセス機能や，エンディアンに対応するデータ配列の切り替え機能などであり，コントロール対象のメモリが有する機能の有無がこの設定レジスタ５４３に設定される。
【０２３５】
図５５は，参照画像読み出し制御部５１４でのインター予測部５１３の演算を説明する図である。ＭＰＥＧの場合，マクロブロックＭＢを処理単位にしている。マクロブロックＭＢは１６×１６画素の輝度データと，８×８画素の色差（Ｃｂ，Ｃｒ）データ(Y:U:V=4:2:0の場合)で構成される。そして，このマクロブロックＭＢを４等分した８×８画素の輝度データを含む１／４マクロブロックＱＭＢが，動きベクトルＭＶ，参照画像ＲＩＭＧの処理単位である。仮に，現在処理中のマクロブロックＭＢの左上座標が(MBaddrx,MBaddry)，そのマクロブロック分割情報がMbdivx,Mbdivy,動きベクトルMV＝（MVx,MVy）とすると，演算処理部５１５では，図示される演算式の演算により，参照画像ＲＩＭＧの左上座標（ＰＯＳＸ，ＰＯＳＹ）と横幅ＳＩＺＥＸと高さＳＩＺＥＹとが算出される。この横幅ＳＩＺＥＸは，メモリの１回のアクセスで入出力されるバイト数の倍数に設定され，高さＳＩＺＥＹは垂直方向の画素数に設定される。
【０２３６】
上記のようにして算出された参照画像特定情報（ＰＯＳＸ，ＰＯＳＹ），ＳＩＺＥＹ，ＳＩＺＥＸが，参照画像読み出し制御部５１４からメモリコントローラ８２に出力され，メモリコントローラ８２内のコマンドアドレス生成部５４２が，上記参照画像特定情報と，設定レジスタ５４３内のメモリマッピング情報とフレーム領域の左上のアドレスなどに基づいて，矩形アクセスに必要なメモリ空間のアドレスを生成する。
【０２３７】
図５６は，参照画像読み出し制御部５１４でのインター予測部５１３の演算例を示す図である。図５５の具体例である。まず，マクロブロックＭＢの左上座標が(MBaddrx,MBaddry)＝（０，０），マクロブロック分割情報がMbdivx,Mbdivy＝８，動きベクトルMV＝（MVx,Mvy）＝（１３，４）であるので，参照画像ＲＩＭＧの左上座標（ＰＯＳＸ，ＰＯＳＹ），横幅ＳＩＺＥＸと高さＳＩＺＥＹは，次の通り演算で求められる。
ＰＯＳＸ＝０＋８＋１３＝２１
ＰＯＳＹ＝０＋８＋４＝１２
ＳＩＺＥＸ＝８，ＳＩＺＥＹ＝８
上記の参照画像ＲＩＭＧの矩形領域は，コラムアドレスで選択される４バイト領域の単位と整合しない。４バイト領域の単位と整合させるためには，図５６中の拡大領域Ｅ−ＲＩＭＧのように，左上座標（２０，１２），横幅１２，高さ８の領域にアクセスすることが必要になる。しかし，バイトバウンダリ機能を利用することで，４バイト単位の境界を越えてバイト単位でアクセスが可能になる。このように，ＭＰＥＧなどの参照画像データのアクセスにおいて，バイトバウンダリ機能はアクセス効率の向上に寄与する。
【０２３８】
図５７は，メモリマッピング例を示す図である。図１に示したメモリマッピング１２と同様に，画像の画素とメモリ空間内のページ領域１４とがメモリマッピング１２のように対応付けられていて，隣接するページ領域は異なるバンクアドレスＢＡになるよう配置されている。ページ領域１４は，バンクアドレスＢＡとロウアドレスＲＡで選択される領域であり，各ページ領域１４は，コラムアドレスで選択される複数のメモリ単位領域（４バイト領域）で構成される。図５７の例では，ページ領域１４は，６４画素×１６画素の画像データを格納する単位である。
【０２３９】
図５８は，メモリマッピング１２におけるページ領域１４の構成を示す図である。バンクＢＡＮＫ０内のロウアドレスＲＡ０で特定されるページ領域１４は，コラムアドレスＣＡ０〜ＣＡ２５５のメモリ単位領域を有し，各コラムアドレスにより４バイトが選択され，コラムアドレスＣＡの折り返し幅（ステップ幅）が１６である。よって，ページ領域１４は，横幅が６４（＝４×１６）バイト，高さが１６（＝２５６／１６）バイトの構成になっている。
【０２４０】
図５９は，図５６の参照画像領域のメモリマップ上での配置を示す図である。図５９に示されるとおり，参照画像領域ＲＩＭＧは，左上座標（２１，１２），横幅８，高さ８であるので，コラムアドレスＣＡ５を先頭番地とし，バイトＢＹ１から横幅８バイト，高さ８バイトのメモリ領域に対応する。つまり，矩形アクセス領域の左端５９１は，コラムアドレスＣＡによる境界５９０から１バイト（図中５９２）だけシフトしている。よって，前述のバイトバウンダリ機能を有するメモリに対しては，アクティブコマンドＡＣＴと共にバンクアドレスＢＡ０，ロウアドレスＲＡ０を発行し，リードコマンドＲＤ（又はライトコマンドＷＲ）と共に先頭コラムアドレスＣＡ５，ＣＡ６〜ＣＡ１１７，ＣＡ１１８とスタートバイト信号ＳＢ＝１を連続して発行すれば良い。または，図４２〜４４で示した自動内部コラムアドレス生成機能を有するメモリに対しては，コラムアドレス折り返し幅CAWrap＝１６を設定しておき，リードコマンドＲＤ（又はライトコマンドＷＲ）と共に先頭コラムアドレスＣＡ５と，スタートバイト信号ＳＢ＝１と，矩形幅Rwidth＝２と，バースト長ＢＬ＝１６とを発行すれば良い。
【０２４１】
図６０は，参照画像領域のメモリマップ上での別の配置例を示す図である。この図では，参照画像領域ＲＩＭＧが，隣接するページ領域１４−０，１４−１にまたがっている。つまり，ページ領域の境界６００を超えている。この場合は，図７で説明したマルチバンクアクセス機能を有するメモリであれば，マルチバンクアクセス情報ＳＡ'を発行することで，１回のアクティブコマンドによりアクセスすることができる。メモリがマルチバンクアクセス機能を有していない場合は，バンクＢＡＮＫ０，１に対する複数回のアクティブコマンドを発行してアクセスしなければならない。よって，メモリコントローラは，コントロール対象の画像メモリがマルチバンクアクセス機能を有するか否かをレジスタに設定しておき，その設定情報に応じて，画像メモリへのアクセス制御を変更する必要がある。
【０２４２】
図６１は，バイトバウンダリ機能を有しないメモリに対するメモリコントローラでのタイミングチャート図である。図５９の参照画像ＲＩＭＧのアクセス例である。従来のＳＤＲＡＭにはバイトバウンダリ機能は設けられていない。その場合は，メモリコントローラは，図６１に示すような制御を行わなければならない。
【０２４３】
図６１中，参照画像読み出し制御部とメモリコントローラとの間の信号６１０と，メモリコントローラと画像メモリとの間の信号６１１とが示されている。前述したとおり，参照画像読み出し制御部５１４は，メモリコントローラにアクセス要求ＲＥＱと共に参照画像領域の左上座標ＰＯＳＸ，ＰＯＳＹと横幅ＳＩＺＥＸ，高さＳＩＺＥＹの情報を送信し，メモリコントローラはそれに応答してアクノリッジ信号ＡＣＫを返信する。メモリマッピング情報とフレーム画像の左上原点のアドレスとはあらかじめ設定レジスタに設定されているものとする。
【０２４４】
このアクセス要求ＲＥＱに応答して，メモリコントローラは，画像メモリに対して，アクティブコマンドＡＣＴとバンクアドレスＢＡ＝０，ロウアドレスＲＡ＝０を発行して，メモリにアクティブ動作を行わせる。その後，メモリコントローラは，クロックＣＬＫに同期して，リードコマンドＲＤとバンクアドレスＢＡ＝０，コラムアドレスＣＡ＝５，６，７〜１１７，１１８，１１９（２４回）を発行して，４バイトデータを２４回受信する。その後，メモリコントローラは，ストローブ信号ＳＴＢをＨレベルにしてその受信したデータを読み出し制御部に送信する。
【０２４５】
図６２は，バイトバウンダリ機能を有するメモリに対するメモリコントローラでのタイミングチャート図である。この図は，図５９の参照画像ＲＩＭＧのアクセス例であり，メモリがバイトバウンダリ機能を有する場合の制御である。図中，参照画像読み出し制御部とメモリコントローラとの間の信号６２０と，メモリコントローラと画像メモリとの間の信号６２１とが示されている。
【０２４６】
この場合は，参照画像読み出し制御部からメモリコントローラに図６１と同じ信号が送信される。メモリコントローラは，画像メモリに対して，アクティブコマンドＡＣＴとバンクアドレスＢＡ＝０，ロウアドレスＲＡ＝０を発行して，メモリにアクティブ動作を行わせ，その後，メモリコントローラは，リードコマンドＲＤと，バンクアドレスＢＡ＝０と，コラムアドレスＣＡ＝５，６〜１１７，１１８（１６回）と，スタートバイト信号ＳＢ＝０１とを発行して，４バイトデータを１６回受信する。さらに，メモリコントローラは，ストローブ信号ＳＴＢをＨレベルにしてその受信した６４バイトのデータを読み出し制御部に送信する。メモリがバイトバウンダリ機能を有するので，リードコマンドの発行は１６回でよく，アクセス効率が高くなる。
【０２４７】
また，図示していないが，図４２〜４４で示した自動内部コラムアドレス生成機能を有するメモリに対しては，コラムアドレス折り返し幅CAWrap＝１６を設定しておき，リードコマンドＲＤと共に先頭コラムアドレスＣＡ５と，スタートバイト信号ＳＢ＝０１と，矩形幅Rwidth＝２と，バースト長ＢＬ＝１６とを発行すれば良い。それに応答して，画像メモリは内部でコラムアドレスを自動生成し矩形領域の４バイトデータを１６サイクルで出力し，メモリコントローラは，４バイトデータを１６回連続して受信する。
【０２４８】
図６３は，バイトバウンダリ機能とマルチバンクアクセス機能を有しないメモリに対するメモリコントローラでのタイミングチャート図である。この例は，図６０の参照画像ＲＩＭＧをアクセスする例であり，マルチバンクアクセス機能を有しない画像メモリに対する制御例である。図中，参照画像読み出し制御部とメモリコントローラとの間の信号６３０と，メモリコントローラと画像メモリとの間の信号６３１とが示されている。
【０２４９】
マルチバンクアクセス機能を有しないメモリは，図４５に示したとおり，バンク境界をまたぐ領域へのアクセスは不可能である。したがって，この場合は，メモリコントローラは，アクティブコマンドＡＣＴとＢＡ＝０，ＲＡ＝０を発行してページ領域１４−０をアクティブ動作させ，リードコマンドＲＤと共にバンクアドレスＢＡ＝０，コラムアドレスＣＡ＝１５〜１２７を発行して，８バイトのデータを受信する。さらに，メモリコントローラは，アクティブコマンドＡＣＴとＢＡ＝１，ＲＡ＝０を発行してページ領域１４−１をアクティブ動作させ，リードコマンドＲＤと共にバンクアドレスＢＡ＝１，コラムアドレスＣＡ＝０，１〜１１２，１１３を発行して，１６バイトのデータを受信する。そして，メモリコントローラは，受信した２４バイトのデータを参照画像読み出し制御部に送信する。
【０２５０】
図６４は，マルチバンクアクセス機能とバイトバウンダリ機能を有するメモリに対するメモリコントローラにおけるタイミングチャート図である。これも図６０の参照画像ＲＩＭＧをアクセスする例である。図中，参照画像読み出し制御部とメモリコントローラとの間の信号６４０と，メモリコントローラと画像メモリとの間の信号６４１とが示されている。
【０２５１】
メモリコントローラは，アクティブコマンドＡＣＴと共にバンクアドレスＢＡ＝０，ロウアドレスＲＡ＝０，そしてマルチバンクアクセス情報ＳＡ’＝１０（横方向に隣接する２バンクのアクセスを示す）を発行する。これに応答して，画像メモリは，バンクＢＡ＝０のバンクをアクティブ動作させる。そして，メモリコントローラは，リードコマンドＲＤと共に，スタートバイト信号ＳＢ＝０１とバンクアドレスＢＡ，コラムアドレスＣＡを順次発行する。このコラムアドレスＣＡ＝１５に応答して，画像メモリは，ＢＡ＝１のバンクもアクティブ動作させる。メモリコントローラは，１６回のリードコマンドＲＤに対応して，１６バイトのデータを受信する。さらに，メモリコントローラは，受信した１６バイトのデータを参照画像読み出し制御部に送信する。
【０２５２】
このように，メモリコントローラは，マルチバンクアクセス機能を有するメモリに対しては，異なるバンク領域にまたがるデータであっても，１回のアクティブコマンドを発行すればよい。
【０２５３】
図６５は，メモリコントローラの制御動作のフローチャート図である。まず，上位のＣＰＵによりメモリコントローラ内の設定レジスタにマルチバンクアクティブ機能のＯＮ／ＯＦＦが設定される（Ｓ１）。参照画像読み出し制御部が，動きベクトル情報，マクロブロック分割情報，対象マクロブロック情報により，参照画像ブロックの座標（ＰＯＳＸ，ＰＯＳＹ）とサイズ（ＳＩＺＥＸ，ＳＩＺＥＹ）を算出し（Ｓ２），矩形アクセスのリクエストをそれらの矩形パラメータと共にメモリコントローラに発行する（Ｓ３）。
【０２５４】
メモリコントローラは，この矩形パラメータ（ＰＯＳＸ，ＰＯＳＹ）（ＳＩＺＥＸ，ＳＩＺＥＹ）と，設定レジスタに設定されているメモリマップ情報及びフレーム画像のアドレス情報とから，矩形アクセスで発行すべきＢＡ，ＲＡ，ＣＡ，ＳＢ，ＳＡ’を算出する（Ｓ４）。マルチバンクアクティブ機能がＯＮの場合は（Ｓ５のＹＥＳ），メモリコントローラは，アクティブコマンドＡＣＴと共にＢＡ，ＲＡ，ＳＡ’を発行し，更に，リードコマンドＲＤと共にＢＡ，ＣＡ，ＳＢを順次発行しながら，リードデータを受信する（Ｓ６，Ｓ７，Ｓ８）。ライト動作の場合は，リードコマンドの代わりにライトコマンドＷＲと共にＢＡ，ＣＡ，ＳＢを順次発行しながら，ライトデータを出力する。
【０２５５】
また，マルチバンクアクティブ機能がＯＦＦの場合は（Ｓ５のＮＯ），メモリコントローラは，リクエストのあった矩形がページ領域，つまりバンクをまたぐか否かをチェックし（Ｓ９），またがない場合（Ｓ９のＮＯ）は，アクティブコマンドＡＣＴと共にＢＡ，ＲＡを発行し，更に，リードコマンドＲＤと共にＢＡ，ＣＡ，ＳＢを順次発行しながら，リードデータを受信する（１０，１１，１２）。ライト動作の場合は，リードコマンドの代わりにライトコマンドＷＲと共にＢＡ，ＣＡ，ＳＢを順次発行しながら，ライトデータを出力する。
【０２５６】
さらに，バンクをまたぐ場合（Ｓ９のＹＥＳ），バイトバウンダリ機能を利用できないので，メモリコントローラは，図５６に示した拡大矩形領域Ｅ−ＲＩＭＧの座標ＰＯＳＸと幅ＳＩＺＥＸを算出し，それに対応する左上座標のアドレスＢＡ，ＲＡ，ＣＡを算出する（Ｓ１３）。そして，拡大矩形領域に対して，アクティブコマンドＡＣＴと共にＢＡ，ＲＡを発行を発行し，リードコマンドＲＤと共にＢＡ，ＣＡを順次発行しながらリードデータを受信する（Ｓ１５，１６，１７）。そして，左上座標のバンク内のリードが完了すると（Ｓ１７のＹＥＳ，Ｓ１４のＹＥＳ），一旦プリチャージコマンドを発生したのち，次のバンクに対してアクティブコマンドを発生し，更にリードコマンドＲＤと共にＢＡ，ＣＡを順次発行しながらリードデータを受信する（Ｓ１９，Ｓ１６，１７）。そのバンク内のデータを全て受信し（Ｓ１７のＹＥＳ），全てのデータ読み出しが完了したら（Ｓ１８），メモリ制御を終了する。
【０２５７】
なお，メモリコントローラの設定レジスタに，バイトバウンダリ機能をＯＦＦにする設定がある場合は，図６５の構成Ｓ１３〜Ｓ１８により図６１のようにメモリコントローラがアクティブコマンドとリードコマンドと必要なアドレスとを発行する。
【０２５８】
このように，メモリコントローラは，内蔵の設定レジスタにバイトバウンダリ機能のＯＮ，ＯＦＦやマルチバンクアクティブ機能のＯＮ，ＯＦＦとを設定可能であり，制御対象の画像メモリの機能に応じて，必要なコマンドとアドレス，マルチバンク情報，スタートバイト情報，アップモード，ダウンモード，オルターナティブなどのバイト組み合わせ情報などを適宜発行する。
【０２５９】
図６６は，メモリコントローラの制御動作のフローチャート図である。この例は，図３５，３６に示したエンディアンに対応して入出力データの入れ替え機能を制御対象の画像メモリが有するか否かをメモリコントローラに設定できるようになっている。まず，上位のＣＰＵがメモリコントローラの設定レジスタに，画像メモリにおける出力データの並び替え機能の有無を設定する（Ｓ２０）。そして，参照画像読み出し制御部が，動きベクトル情報，マクロブロック分割情報，対象マクロブロック情報により，参照画像ブロックの座標（ＰＯＳＸ，ＰＯＳＹ）とサイズ（ＳＩＺＥＸ，ＳＩＺＥＹ）を算出し（Ｓ２１），矩形アクセスのリクエストをそれらの矩形パラメータと共にメモリコントローラに発行する（Ｓ２２）。
【０２６０】
次に，メモリコントローラは，この矩形パラメータ（ＰＯＳＸ，ＰＯＳＹ）（ＳＩＺＥＸ，ＳＩＺＥＹ）と，設定レジスタに設定されているメモリマップ情報及びフレーム画像のアドレス情報とから，矩形アクセスで発行すべきＢＡ，ＲＡ，ＣＡ，ＳＢ，ＳＡ’を算出する（Ｓ２３）。そして，出力データの並び替え機能がＯＮに設定されている場合は（Ｓ２４のＹＥＳ），メモリコントローラは，アクティブコマンドと共にバンクアドレスＢＡ，ロウアドレスＲＡ，マルチバンク情報ＳＡ’を発行し，さらにリードコマンドと共にバンクアドレスＢＡ，コラムアドレスＣＡ，スタートバイト情報ＳＢを発行する（Ｓ２５）。その後は，全てのデータの読み出しが完了するまで，リードコマンド，ＢＡ，ＣＡ，ＳＢを繰り返し発行する（Ｓ２６，Ｓ２７）。
【０２６１】
一方，出力データの並び替え機能がＯＦＦに設定されている場合は（Ｓ２４のＮＯ），メモリコントローラは，アクティブコマンドと共にバンクアドレスＢＡ，ロウアドレスＲＡ，マルチバンク情報ＳＡ’を発行し，さらにリードコマンドと共にバンクアドレスＢＡ，コラムアドレスＣＡ，スタートバイト情報ＳＢを発行する（Ｓ２５）。その後は，全てのデータの読み出しが完了するまで，リードコマンド，ＢＡ，ＣＡ，ＳＢを繰り返し発行すると共に，受信したデータの並びが元の画像データの順番になるように並び替えを行う（Ｓ２８，Ｓ２９，Ｓ３０）。
【０２６２】
上記の図６５と図６６とは，設定レジスタの設定項目によって適宜組み合わせることができる。
【０２６３】
なお，上記の実施の形態では，複数画素の画像データを二次元配置したデジタル画像データを記憶する画像メモリを例にして説明した。しかしながら，本発明は，画像データを記憶する画像メモリに限定されず，画像データ以外でも二次元配列されたデータを所定のマッピングルールに基づいて記憶するメモリ装置に適用可能である。記憶データが二次元配列されたデータであれば，その二次元配列データ内の任意の矩形領域をアクセスするときに複数のメモリ単位領域に跨ってデータにアクセスすることが求められることがある。その場合にも本発明は適用可能である。
【０２６４】
《マルチバンクアクセス》
次に，矩形アクセスの課題の一つとして，複数のページ領域を含む矩形領域をアクセスする場合のアクセス効率の低下を防止するための，マルチバンクアクセスについて説明する。既に，図７において，矩形アクセス時のマルチバンクアクセス機能について説明した。
【０２６５】
図６７は，本実施の形態におけるマルチバンクアクセスについての概略説明図である。画像メモリに対する矩形領域へのアクセスは任意の場所に発生する。したがって，図６７に示されるとおり，メモリマップ１２において矩形アクセス領域２２がページ領域の境界を越えることがある。図６７の例では，矩形アクセス領域２２が４つのページ領域（ＢＡ３，ＲＡ０のページ領域，ＢＡ２，ＲＡ１のページ領域，ＢＡ１，ＲＡ４のページ領域，ＢＡ０，ＲＡ５のページ領域）を含んでいる。
【０２６６】
メモリマッピング１２によれば，縦横に隣接するページ領域は異なるバンクに割り付けられている。したがって，図６７の矩形領域２２をアクセスするためには，メモリ装置８６内の４つのバンクＢａｎｋ０−３を，Ｂａｎｋ３，２，１，０の順番でアクセスしなければならない。ＳＤＲＡＭでは，バンクアドレスＢＡとロウアドレスＲＡを指定してアクティブコマンドが供給されると，そのバンク内のワード線（ページ領域）が活性化される。その後，バンクアドレスＢＡとコラムアドレスＣＡを指定するリードコマンドまたはライトコマンドに応答して，活性化されたページ領域内のメモリ単位領域がアクセスされる。そのため，矩形アクセス領域２２をアクセスするためには，メモリコントローラが，メモリ装置に４つのバンクに対するアクティブコマンドを４回発行しなければならない。そのようなメモリ制御は，アクセス効率の低下を招く。
【０２６７】
そこで，本実施の形態では，図６７中のタイミングチャートに示されるとおり，メモリ装置は，拡張モードレジスタセットコマンドＥＭＲＳ（図中６７０）に応答して，コマンドと共に供給されるロウアドレスのステップ情報ＲＳ＝４（図中６７１）を内蔵するモードレジスタに設定する。このロウアドレスのステップ情報ＲＳは，メモリマッピング１２において，ロウアドレスＲＡが行方向において折り返される数であり，図６７の例では，ＲＡ０−ＲＡ３，ＲＡ４−ＲＡ７で折り返されているので，ＲＳ＝４である。通常の画像システムではメモリマッピング１２は頻繁に変更されないので，ロウアドレスステップ情報ＲＳは，画像システムが起動されたときなどにメモリ装置内のモードレジスタに設定するのが望ましい。
【０２６８】
そして，矩形アクセスが発生すると，メモリ装置は，アクティブコマンドＡＣＴ（図中６７２）と共にバンクアドレスＢＡ＝３，ロウアドレスＲＡ＝０，及びマルチバンク情報ＳＡ’＝４（図中６７３）を供給される。すなわち，メモリコントローラは，画像処理ユニットからの矩形アクセス要求に対して，アクセス対象の矩形領域がメモリマップ上で４つのページ領域にまたがること，つまり４つのバンクへのアクセスが必要であることを検出したら，アクセス対象バンク数「４」をマルチバンク情報ＳＡ’として画像メモリ装置に供給する。
【０２６９】
このアクティブコマンドＡＣＴとマルチバンク情報ＳＡ’とに応答して，メモリ装置は，ＢＡ３のバンクを先頭にして行方向に隣接するＢＡ２のバンクと，列方向に隣接するＢＡ１のバンクと，右下に隣接するＢＡ０のバンクとを活性化する。その場合，画像メモリ内のロウ制御部は，アクティブコマンドＡＣＴと共に供給されるバンクアドレスＢＡ＝３とロウアドレスＲＡ＝０とマルチバンク情報ＳＡ’＝４と，モードレジスタに記憶されているロウアドレスのステップ情報ＲＳ＝４とに基づいて，複数のバンクへのバンク活性化信号を生成し，各バンク内のアクティブ動作対象のロウアドレスを生成する。図中のメモリマッピング１２によれば，アクティブ動作対象の４つのロウアドレスは，供給ロウアドレスＲＡに対して，ＲＡ，ＲＡ＋１，ＲＡ＋ＲＳ，ＲＡ＋ＲＳ＋１である。この４つのロウアドレスが，供給バンクアドレスＢＡに応じて，対応する４つのバンクに供給される。そして，内部で生成されたバンク活性化信号とロウアドレスにより，メモリ装置内の複数のバンクがアクティブ動作を行う。
【０２７０】
よって，図６７の例では，一回のアクティブコマンドＡＣＴに応答して，ＢＡ３，ＲＡ０のページ領域，ＢＡ２，ＲＡ１のページ領域，ＢＡ１，ＲＡ４のページ領域，ＢＡ０，ＲＡ５のページ領域の合計４つのページ領域が活性化される。具体的な活性化動作では，ワード線ＷＬが立ち上げられ，センスアンプが活性化され，メモリセル内のデータに対応するビット線の電位が増幅される。
【０２７１】
そして，メモリ装置は，リードコマンドＲＤ（図中６７４）をバンクアドレスＢＡとコラムアドレスＣＡと共に繰り返し供給され，それぞれのリードコマンドに応答して，バンクアドレスＢＡとコラムアドレスＣＡで指定されたメモリ単位領域のデータを読み出す。ライトコマンドの場合は，ライトコマンドと共に供給されるバンクアドレスＢＡとコラムアドレスＣＡとに対応するメモリ単位領域にデータを書き込む。図６７の例では，４つのリードコマンドＲＤと共に，バンクアドレスＢＡ＝３，２，１，０が供給され，４つのバンクに対するコラムアクセスが連続して行われる。
【０２７２】
このように，本実施の形態のマルチバンクアクセス機能によれば，メモリ装置は，１回のアクティブコマンド（第１の動作コマンド）に応答し，供給されるバンクアドレスＢＡとロウアドレスＲＡとマルチバンク情報ＳＡ’と，あらかじめ設定されているロウアドレスのステップ情報ＲＳとに基づいて，アクセス対象の複数のバンクのページ領域をあらかじめアクティブ動作する。よって，その後のコラムアクセスで，リードコマンドまたはライトコマンドと共に，バンクアドレスＢＡ及びコラムアドレスＣＡが適宜供給されて，矩形アクセスが行われる。
【０２７３】
なお，図６７の例では，メモリマッピング１２においてロウアドレスステップ情報ＲＳ＝４を根拠に，メモリ装置側が複数バンクのロウアドレスを演算で求めている。したがって，メモリマッピング１２が異なれば，それに対応してロウアドレスの演算式も異なる。よって，拡張モードレジスタセットコマンドＥＭＲＳによりメモリマッピング情報も合わせて設定可能にすることもできる。または，メモリマッピング情報に応じてバンクアドレスビットの入れ替えを行い，メモリ装置内では所定のメモリマッピングに応じたロウアドレス演算を行うようにしても良い。
【０２７４】
また，図６７の例では，マルチバンク情報ＳＡ’＝４であるが，横方向の２つのバンクを意味するＳＡ’＝２，縦方向の２バンクを意味するＳＡ’＝３，単位のバンクを意味するＳＡ’＝１が供給された場合は，それに対応するバンクが活性化される。上記の４つの種類を示すマルチバンク情報ＳＡ’は２ビットで構成される。
【０２７５】
図６８は，本実施の形態におけるマルチバンクアクセスを説明する図である。図６８では，矩形領域２２がアクセス対象領域であり，この矩形アクセス領域２２は，４つのページ領域，つまり４つのバンク１４−０，１，２，３を含み，ＢＡ３，ＲＡ２，ＣＡ１２７のメモリ単位領域を先頭にして，横方向は２クロック幅（８バイト）縦方向は８行の高さの矩形領域である。よって，矩形アクセス領域２２を特定するためのマルチバンク情報ＳＡ’としては，図中のａ）矩形領域のサイズ情報（＝幅Ｗ，高さＨ），またはｂ）バンク数情報（＝４）のいずれでも良い。
【０２７６】
以下，図６９，図７０を参照して上記２種類のマルチバンク情報ＳＡ’に対応するメモリ装置の動作を説明する。
【０２７７】
図６９は，マルチバンク情報ＳＡ’がバンク数情報（＝４）の場合のタイミングチャート図である。図６７のタイミングチャートに加えて，図６９には入出力端子ＤＱの４バイトＢＹ０−３に対する出力データのコラムアドレスＣＡ（図中６９１），バンクＢａｎｋ０−３のアクセス状態（活性化状態）（図中６９０）が示されている。
【０２７８】
まず，メモリ装置は，拡張モードレジスタセットコマンドＥＭＲＳにより，メモリマッピングのロウアドレスのステップ数データＲＳ＝４をモードレジスタにセットする。次に，アクティブコマンドＡＣＴと共に供給される先頭のページ領域を指定するバンクアドレスＢＡ３及びロウアドレスＲＡ２と，マルチバンク情報ＳＡ’＝４（図中６７３）とに応答して，メモリ装置は，４つのバンクＢａｎｋ０−３内のロウアドレスＲＡ７，６，３を生成し，供給ロウアドレスＲＡ２と合わせて４つのロウアドレスに対応するページ領域をアクティブ動作する（図中６９０）。その結果，メモリ装置内では，４つのバンクがアクティブ状態になりメモリアクセス可能になっている。
【０２７９】
その後，１６回のリードコマンドＲＤ（図中６７４）と共に，アドレスＢＡ３／ＣＡ１２７，ＢＡ２／ＣＡ１２４，ＢＡ１／ＣＡ３，ＢＡ０／ＣＡ０．．．が供給され，メモリ装置は，それに応答して，所定のレイテンシ後に，対応するバンク内からそれぞれ４バイトデータを入出力端子ＤＱに出力する。
【０２８０】
マルチバンク情報ＳＡ’としてＳＡ’＝４が供給されれば，２×２のページ領域へのアクセスであることが判明するので，メモリ装置は，アクティブコマンドＡＣＴに応答して，４つのバンクのアクティブ動作を実行することができる。また，先頭バンクのロウアドレスＲＡが供給されれば，ロウアドレスステップ情報ＲＳに基づいて残りのバンクのロウアドレスを演算により求めることができる。
【０２８１】
図７０は，マルチバンク情報ＳＡ’が矩形領域のサイズ情報（Ｗ＝８バイト，Ｈ＝８行）の場合のタイミングチャート図である。このタイミングチャートにも入出力端子ＤＱと４つのバンクＢａｎｋ０−３のアクセス状態が示されている。
【０２８２】
拡張モードレジスタセットコマンドＥＭＲＳによりロウアドレスのステップ数データＲＳ＝４（図中６７１）とページ領域内のコラムアドレスのステップ数データＣＳＴ＝１２８（図中６７７）がモードレジスタに設定される。また，アクティブコマンドＡＣＴと共に，バンクアドレスＢＡ３，ロウアドレスＲＡ２が供給され（図中６７２），さらに，マルチバンク情報ＳＡ’（図中６７５）として，矩形アクセス領域のサイズ情報８×８（図中６７６）が供給される。メモリ装置は，このアクティブコマンドに応答して，供給アドレスＢＡ３，ＲＡ２のページ領域をアクティブ動作する（図中７００）。そして，メモリ装置は，モードレジスタに設定されているステップ数データＣＳＴ＝１２８と，最初のリードコマンドＲＤと共に供給されるコラムアドレスＣＡ１２７と，矩形サイズ情報８×８とに基づいて，アクセスすべき残りのバンクＢａｎｋ０，１，２とそのロウアドレスＲＡ７，６，３を求め，それらのバンクのページ領域をアクティブ動作する（図中７０１）。
【０２８３】
その後，１６回のリードコマンド（図中６７４）に応答して，メモリ装置は，対応するバンクからそれぞれ４バイトデータを入出力端子ＤＱに出力する（図中７０２）。
【０２８４】
このように，マルチバンク情報ＳＡ’として矩形サイズが供給される場合は，メモリ装置が，供給コラムアドレスとメモリマッピング（コラムアドレスステップ数ＣＳＴ）に基づき複数バンクにまたがるアクセスか否かを判定して，アクティブ動作対象のバンクの活性化信号と，各バンクのロウアドレスとを生成し，順次アクティブ動作する。よって，バンクＢａｎｋ０，１，２の活性化動作は，先頭のコラムアドレスＣＡ＝１２７が供給された後に行われる。
【０２８５】
図７１は，マルチバンクアクセス機能を有するメモリ装置の構成図である。図９のメモリ装置の構成図と同等である。メモリ装置８６は，マルチバンクアクセス機能を実現するために，ロウ制御部８７が，活性化すべきバンクに与えるパルス状のバンク活性化信号ａｃｔｐｚ０−３を生成するマルチバンク活性化制御部８８と，各バンクの活性化すべきロウアドレスＲＡを生成するロウアドレス演算部９７とを有する。また，メモリ装置は，マルチバンク情報ＳＡ’を供給するためのスペシャル端子ＳＰ０，ＳＰ１を有する。
【０２８６】
コマンド制御部９５は，コマンドを特定する信号ＲＡＳ，ＣＡＳ，ＷＥ，ＣＳの組み合わせから供給されたコマンドをデコードする。拡張モードレジスタセットコマンドＥＭＲＳと共に，アドレス端子Ａｄｄからメモリマッピングのロウアドレスのステップ数データＲＳが入力され，モードレジスタ９６にセットされる。この場合，バンクアドレスＢＡによりセットされるデータの種別が指定され，そのバンクアドレスＢＡに対応するレジスタ領域にステップ数データＲＳがセットされる。
【０２８７】
コマンド制御部９５は，アクティブコマンドＡＣＴに応答して，ロウ側の動作開始を指令するアクティブパルスａｃｔｐｚを生成する。マルチバンク活性化制御部８８は，このアクティブパルスａｃｔｐｚを，供給バンクアドレスＢＡとマルチバンク数データＳＡ’とから求められる活性化対象のバンクに分配する。この分配されるパルス信号がバンク活性化信号ａｃｔｐｚ０−３である。このマルチバンク情報ＳＡ’は，アクティブコマンドＡＣＴ発行時に，スペシャル端子ＳＰ０，ＳＰ１から入力される。また，ロウアドレスＲＡはアドレス端子Ａｄｄから入力される。
【０２８８】
さらに，ロウアドレス演算部９７は，供給されるバンクアドレスＢＡとロウアドレスＲＡと，モードレジスタ９６に設定されているステップ数データＲＳと，さらにメモリマッピングに基づいて，４つのロウアドレスＲＡ，ＲＡ＋１，ＲＡ＋ＲＳ，ＲＡ＋ＲＳ＋１を生成する。そして，これらの４つのロウアドレスが，供給バンクアドレスＢＡのバンクを左上にする２×２のバンク群に供給される。
【０２８９】
各バンクは，メモリアレイＭＡやデコーダＤｅｃを含むメモリコアと，そのメモリコアを制御するコア制御部（図示せず）とを有し，コア制御部は，上記バンク活性化信号ａｃｔｐｚ０−３に応答してバンク内のメモリコアを活性化制御する。その場合，上記バンクアドレスＢＡが各ロウデコーダに供給され，それに対応するワード線が駆動され，その後センスアンプ群が活性化される。これが，バンクでの活性化動作（アクティブ動作）である。
【０２９０】
以下，マルチバンクアクセスに求められる機能として，メモリ装置内の活性化すべきバンク選択動作と，バンク活性化のタイミング制御と，ロウアドレス生成動作と，メモリマッピングのバンク割付設定動作とについて具体的に説明する。
【０２９１】
［バンク選択］
図７２，図７３は，マルチバンク活性化制御部８８の第１の例を示す図である。図７２には，マルチバンク活性化制御部８８の構成と，タイミングチャートとが示されている。第１の例では，マルチバンク情報ＳＡ’として２ビットのバンク数データが供給される。
【０２９２】
タイミングチャートは前述の例と同じであり，拡張モードレジスタセットコマンドＥＭＲＳと共に，バンクアドレス端子ＢＡにレジスタ設定データＶが，アドレス端子ＡＤＤにステップ数データＲＳがそれぞれ入力されモードレジスタにセットされ，アクティブコマンドＡＣＴと共に，バンクアドレスＢＡ，ロウアドレスＲＡ，マルチバンク情報ＳＡ’がそれぞれ入力される。
【０２９３】
メモリ装置は，クロックＣＬＫに同期して，各入力バッファ９４に入力されたマルチバンク情報ＳＡ’０，１とバンクアドレスＢＡ０，１とを，ラッチ回路７２０にラッチする。マルチバンク活性化制御部８８は，バンクアドレスＢＡ０，１をデコードして４つのバンク選択信号bnkz<3:0>を生成するバンクデコーダ８８Ａと，このバンク選択信号に応じてアクティブパルスａｃｔｐｚを分配したバンク活性化信号actpz<3:0>を生成するバンクアクティブパルス出力回路８８Ｂとを有する。
【０２９４】
図７３には，アクセスされる矩形領域に対応するバンクデコーダ８８Ａの論理状態が示されている。図７３（Ａ）は４種類の矩形領域を示し，４種類の矩形領域と対応するマルチバンク情報ＳＡ’（００，０１，１０，１１）を示す。図７３（Ｂ）は，バンクデコーダの論理処理を示す図表である。これらに示されるとおり，ＳＡ’＝００の場合は，活性化バンク数は１でバンクデコーダ８８ＡはバンクアドレスＢＡ０，１をデコードする。これにより，バンクデコーダ８８Ａは，供給バンクアドレスＢＡ０，１で選択される１つのバンクのバンク選択信号bnkz<3:0>のみをＨレベルにする。それに伴って，選択バンクにのみバンク活性化信号actpz<3:0>が生成される。
【０２９５】
ＳＡ’＝０１の場合は，活性化バンク数は水平方向に２個であるので，バンクデコーダ８８ＡはバンクアドレスＢＡ０を縮退（無視）し，バンクアドレスＢＡ１のみで選択される２つのバンクのバンク選択信号bnkz<3:0>をＨレベルにする。それに伴って，供給バンクアドレスで選択されるバンクと行方向に隣接するバンクとのバンク活性化信号actpz<3:0>が生成される。
【０２９６】
ＳＡ’＝１０の場合は，活性化バンク数は垂直方向に２個であるので，バンクデコーダ８８ＡはバンクアドレスＢＡ１を縮退（無視）し，バンクアドレスＢＡ０のみで選択される２つのバンクのバンク選択信号bnkz<3:0>をＨレベルにする。それに伴って，供給バンクアドレスで選択されるバンクと列方向に隣接するバンクとのバンク活性化信号actpz<3:0>が生成される。
【０２９７】
ＳＡ’＝１１の場合は，活性化バンク数は水平，垂直方向に４個であるので，バンクデコーダ８８ＡはバンクアドレスＢＡ０，ＢＡ１を縮退（無視）し，４つのバンクのバンク選択信号bnkz<3:0>を全てＨレベルにする。それに伴って，供給バンクアドレスで選択されるバンクと行列方向に隣接する４つのバンクのバンク活性化信号actpz<3:0>が生成される。
【０２９８】
上記のバンクデコーダでのバンクアドレスの縮退は，対応するバンクアドレスＢＡとその反転信号／ＢＡとを共にＨレベルにする制御である。これにより，バンクデコーダ８８Ａは，そのバンクアドレスを無視して，残りのバンクアドレスによりバンク選択を行う。
【０２９９】
図７４，図７５は，マルチバンク活性化制御部８８の第２の例を示す図である。図７４には，マルチバンク活性化制御部８８の構成と，タイミングチャートとが示されている。第２の例では，マルチバンク情報ＳＡ’として３ビットの同時活性化バンクデータＳＡ’０−２が供給される。
【０３００】
また，図７５（Ａ）には，メモリマッピング１２とバンクアドレスＢＡ０，ＢＡ１との関係が示されている。つまり，供給バンクアドレスＢＡ０，１に対して，右のバンクはバンクアドレスＢＡ０を反転してデコードすることで選択でき，下のバンクはバンクアドレスＢＡ１を反転してデコードすることで選択でき，右下のバンクは両バンクアドレスＢＡ０，１を反転してデコードすることで選択できる。
【０３０１】
図７５（Ｂ）には，同時活性化バンクデータＳＡ’０−２と，選択するバンクと，バンクデコーダでの論理処理とが示されている。つまり，ＳＡ’０＝Ｈの場合は，供給バンクアドレスで選択されるバンクに加えて右側のバンクを選択するために，バンクデコーダはＢＡ０を反転して入力する。ＳＡ’１＝Ｈの場合は，供給バンクアドレスで選択されるバンクに加えて下側のバンクを選択するために，バンクデコーダはＢＡ１を反転して入力する。そして，ＳＡ’２＝Ｈの場合は，供給バンクアドレスで選択されるバンクに加えて右下のバンクを選択するために，バンクデコーダはＢＡ０，ＢＡ１を反転して入力する。
【０３０２】
図７４に戻り，マルチバンク活性化制御部８８は，４つのバンクデコーダ８８Ａ０−３と，それらの４つのデコード信号を論理和処理するＯＲ回路８８Ｃと，バンクアクティブパルス出力回路８８Ｂとを有する。アクティブパルス出力回路８８Ｂは，図７２と同じである。また，４つのバンクデコーダ８８Ａ０−３は，下から順に，供給バンクアドレスＢＡ０，１をデコードして左上バンクを選択するデコーダと，ＢＡ０を反転して右のバンクを選択するデコーダと，ＢＡ１を反転して下のバンクを選択するデコーダと，ＢＡ０，ＢＡ１を共に反転して右下のバンクを選択するデコーダとからなる。よって，上から３つのバンクデコーダは，同時活性化バンクデータＳＡ’０−２に応じて活性化され，対応するバンク選択信号bnkz<3:0>を出力する。
【０３０３】
上記の第２の例によれば，供給されるバンクアドレスにより左上の先頭バンクが選択され，３ビットの同時活性化バンクデータＳＡ’０−２により，右，下，右下のバンクが適宜選択される。したがって，斜め方向に２つのバンクを同時に活性化したり，３つのバンクを同時に活性化したりすることができ，同時活性化対象のバンクの組み合わせをフレキシブルに変更することができる。よって，特殊な領域に対するアクセスにも対応可能である。
【０３０４】
図７６，図７７は，マルチバンク活性化制御部８８の第３の例を示す図である。図７６には，マルチバンク活性化制御部８８の構成と，タイミングチャートとが示されている。第３の例では，スペシャル入力端子ＳＰからマルチバンク情報として矩形サイズ情報Ｗ，Ｈが入力される。そのため，マルチバンク活性化制御部８８には，活性化バンク判定回路８８Ｄが設けられ，活性化バンク判定回路８８Ｄは，ページ領域内のコラムアドレスのステップ数データＣＳＴと，矩形サイズ情報Ｗ，Ｈと，コラムアドレスＣＡとから，同時に活性化すべきバンクを判定する。
【０３０５】
図７６のタイミングチャートに示されるとおり，メモリ装置は，拡張モードレジスタセットコマンドＥＭＲＳと共にメモリマッピングにおけるロウアドレスのステップ数ＲＳと，ページ領域内のコラムアドレスのステップ数データＣＳＴとを入力し，モードレジスタにセットする。次に，メモリ装置は，アクティブコマンドＡＣＴと共に，バンクアドレスＢＡ，ロウアドレスＲＡ，矩形領域サイズデータＷ，Ｈを入力する。この時，メモリ装置のアドレスがノンマルチプルで入力される場合は，アクティブコマンドＡＣＴと共にコラムアドレスＣＡも入力する。一般的なＳＤＲＡＭは，アドレスをマルチプルで入力するので，図７０で示したとおり，リードコマンドやライトコマンドと共にコラムアドレスＣＡを入力する。
【０３０６】
マルチバンク活性化制御部８８内の活性化バンク判定回路８８Ｄは，ステップ数データＣＳＴと，矩形サイズ情報Ｗ，Ｈと，コラムアドレスＣＡとから，同時に活性化すべきバンクを判定する。その判定アルゴリズムが，図７７に示されている。
【０３０７】
図７７（Ａ）は，メモリマッピングのページ領域内の情報を示している。すなわち，一般化されたメモリマッピングによれば，コラムアドレスがＭビット，ＣＡ［Ｍ−１：０］，ステップ数ＣＳＴ＝２Sとすると，ページ領域１４内において，水平方向は下位のコラムアドレスＣＡ［Ｓ−１：０］でマッピングされ，垂直方向は上位のコラムアドレスＣＡ［Ｍ−１：Ｓ］でマッピングされている。つまり，入力されるコラムアドレスＣＡから，ページ領域１４の水平方向の位置はそのコラムアドレスＣＡの下位のＳビットで判定でき，垂直方向の位置は上位のＭ−Ｓビットで判定できる。よって，ページ領域内の水平方向の位置とコラムアドレスのステップ数２Sとの差が矩形領域の幅Ｗより小さければ，矩形領域が水平方向のバンクをまたぐことになり，垂直方向の位置とページ領域の高さ２M-Sとの差が矩形領域の高さＨより小さければ，矩形領域が垂直方向のバンクをまたぐことになる。
【０３０８】
図７７（Ｂ）の活性化バンク判定アルゴリズムに示されるとおり，入力コラムアドレスＣＡに対して，（１）水平方向にバンク（ページ領域）をまたぐ条件は，
2S - CA[S-1:0] < W であり，（２）垂直方向にバンク（ページ領域）をまたぐ条件は，
2M-S - CA[M-1:S] < H である。
【０３０９】
図７７（Ｃ）の例について説明すると，ページ領域１４Ｘは，７ビットのコラムアドレスＣＡ［６：０］で選択される１２８個のメモリ単位領域を有し，行方向のステップ数ＣＳＴ＝１６である。このようなページ領域１４Ｘに対して，入力コラムアドレスＣＡ＝７７（１０進数），矩形サイズＷ＝８（８クロック，３２バイト），Ｈ＝８の場合は，下位アドレスＣＡ［３：０］＝１３，上位アドレスＣＡ［６：４］＝４であるので，上記の条件式に基づけば，水平方向も垂直方向も共にまたぐことが判定される。
【０３１０】
上記のような判定アルゴリズムにより，活性化バンク判定回路８８Ｄは，同時に活性化すべきバンクの判定を行う。その結果活性化バンク判定回路８８Ｄは，バンクデコーダ８８Ａにバンクアドレス縮退信号８８Ｅを出力する。つまり，水平方向のバンクをまたぐ場合はバンクアドレスＢＡ０を縮退させ，垂直方向のバンクをまたぐ場合はバンクアドレスＢＡ１を縮退させる。この縮退信号８８Ｅは，図７２のマルチバンク情報ＳＡ’０，１と等価である。
【０３１１】
つまり，第３の例は，第１，第２の例でメモリコントローラが行う活性化バンク判定機能を，メモリ装置内に設けた例である。上記の活性化バンク判定アルゴリズムが，メモリコントローラ内に設けられれば，図７２のマルチバンク情報ＳＡ’０，１がメモリコントローラからメモリ装置に供給されることになる。
【０３１２】
以上の通り，マルチバンク活性化機能を実現するために，ロウ制御部内のマルチバンク活性化制御部８８は，入力データに基づいて，活性化すべきバンク選択信号bnkz<3:0>を生成し，それに基づいてバンク活性化信号actpz<3:0>を生成し，活性化すべきバンクの活性化動作を制御する。
【０３１３】
［バンク活性化タイミング］
マルチバンク活性化制御部８８は，活性化すべきバンクにバンク活性化信号actpz<3:0>を供給し，各バンクはこのバンク活性化信号に応答して，ページ領域の活性化動作を開始する。その場合，複数のバンクを活性化するタイミングを制御することが望ましい。たとえば，複数のバンクを同じタイミングで活性化動作させる制御と，または複数のバンクを順次タイミングをずらして活性化動作させる制御とが考えられる。前者の場合はその後のリードコマンドやライトコマンドのタイミングに制約がない。一方，後者の場合は，同時に複数のバンクで活性化動作が行われないので，消費電流が瞬間的に高くなることを回避できる。
【０３１４】
図７８は，バンク活性化タイミングの例１を示す図である。この例では，複数のバンクを同時に活性化動作する。マルチバンク活性化制御部８８は，前述のとおり，活性化バンクを選択するバンクデコーダ８８Ａと，その活性化バンク選択信号bnk<3:0>に基づいてコマンド制御部９５からのアクティブパルスactpzを選択されたバンクに分配するバンクアクティブパルス出力回路８８Ｂとを有する。図中のタイミングチャートに示されるとおり，バンクアクティブパルス出力回路８８Ｂは４つのＡＮＤゲートで構成され，バンク活性化信号actpz<3:0>を同じタイミングで出力する。
【０３１５】
各バンクｂａｎｋ０−３は，メモリセルアレイを含むメモリコア７８１と，メモリコアを制御するコア制御回路７８０とを有し，バンク活性化信号actpz<3:0>に応答して，各コア制御回路７８０は，メモリコア７８０内のロウデコーダを活性化させ，ロウアドレスに対応するワード線を駆動し，センスアンプ列を活性化する。
【０３１６】
図７８の例１では，アクティブコマンドＡＣＴに応答して活性化すべき複数のバンクが同時にアクティブ動作されるので，その後のリードコマンドまたはライトコマンドを順次入力して複数のバンクにアクセスすることができる。
【０３１７】
図７９は，バンク活性化タイミングの例２を示す図である。この例では，複数のバンクを順次タイミングをずらして活性化動作させる。コマンド制御部９５は，コマンドデコーダ９５Ａとパルス生成回路９５Ｂに加えて，３つの遅延回路７９１，７９２，７９３を有する。この３つの遅延回路は，活性化バンク数信号７９０に応答して活性化され，パルス生成回路９５Ｂが生成するアクティブパルスactpz0を所定時間ずつ遅延させて，３つの遅延アクティブパルスactpz1-3を生成する。アクティブパルスactpz0及び遅延アクティブパルスactpz1-3は，バンクアクティブパルス出力回路８８Ｂの４つのセレクタＳＥＬにそれぞれ供給される。
【０３１８】
マルチバンク活性化制御部８８は，活性化バンク制御回路８８Ｃとバンクアクティブパルス出力回路８８Ｂで構成され，活性化バンク制御部８８Ｃは，前述のバンクデコーダの機能を内蔵し，供給バンクアドレスＢＡ［１：０］とマルチバンクデータＳＡ’［１：０］とに基づいて，活性化されるべきバンクに対して活性化順番を判定し，セレクタＳＥＬに選択信号７９５を供給する。この選択信号７９５は８ビットで構成され，２ビットの選択信号が各セレクタに供給され，各セレクタは選択信号７９５に応答して活性化すべきバンクにバンク活性化信号actpz<3:0>を出力する。
【０３１９】
なお，遅延回路７９１〜７９３は，活性化バンク数データ７９０に応じて必要な遅延アクティブパルスactpz1-3を生成することで，省電力化を可能にしている。
【０３２０】
図８０は，活性化バンク制御回路８８Ｃのバンク活性化タイミング制御の論理を説明する図である。図８０には，マルチバンクデータＳＡ’［１：０］＝１１，０１，１０の場合の，４つのバンクを活性化する順番データ（２ビットの２進数表示）の表８００，８０１，８０２が示されている。
【０３２１】
マルチバンクデータＳＡ’［１：０］＝１１の場合は，４つのバンクを全て活性化することになり，活性化順番データ表８００に示されるとおり，供給バンクアドレスＢＡ［１：０］に応じて活性化順番データ（００，０１，１０，１１）が異なる。たとえば，供給バンクアドレスＢＡ［１：０］＝００の場合は，バンクＢａｎｋ０，１，２，３の順番で活性化制御される。表８００内に示されている活性化順番データ（００，０１，１０，１１の８ビット）が，図７９に示した活性化バンク制御回路８８Ｃが生成する８ビットの選択信号７９５に対応する。つまり，４つのセレクタＳＥＬが，アクティブパルスactpz0及び３つの遅延アクティブパルスactpz1,actpz2,actpz3をそれぞれ選択する。その結果，バンク活性化信号actpz<0>〜<3>は，順番に生成される。
【０３２２】
また，供給バンクアドレスＢＡ［１：０］＝０１の場合は，バンクＢａｎｋ１，０，３，２の順番で活性化制御される。この場合のバンク活性化信号actpz<0>〜<3>が，図７９のタイミングチャートに示されている。表８００内に示されている活性化順番データ（０１，００，１１，１０の８ビット）が選択信号７９５としてセレクタに供給され，４つのセレクタＳＥＬが，上から順に遅延アクティブパルスactpz1，アクティブパルスactpz0，遅延アクティブパルスactpz3,actpz2をそれぞれ選択する。その結果，タイミングチャートに示すとおり，バンク活性化信号actpz<1>，<0>，<3>，<2>がこの順番で生成される。
【０３２３】
同様に，マルチバンクデータＳＡ’［１：０］＝０１の場合は，水平方向の２つのバンクを活性化することになり，活性化順番データ表８０１に示されるとおり，供給バンクアドレスＢＡ［１：０］に応じて２つの活性化順番データ（００，０１）が生成される。
【０３２４】
同様に，マルチバンクデータＳＡ’［１：０］＝１０の場合は，垂直方向の２つのバンクを活性化することになり，活性化順番データ表８０２に示されるとおり，供給バンクアドレスＢＡ［１：０］に応じて２つの活性化順番データ（００，１０）が生成される。この表８０２によれば，表８００と共通化したため，２つのバンクを活性化するために，アクティブパルスactpz0と遅延アクティブパルスactpz2とを利用して，バンク活性化信号が生成される。つまり，表８０２の下のタイミングチャート８０３に示されるとおり，供給されたアクティブコマンドＡＣＴに応答して，内部のアクティブコマンドＡＣＴがアクティブパルスactpz0と遅延アクティブパルスactpz2のタイミングで生成されている。
【０３２５】
そこで，マルチバンクデータＳＡ’［１：０］＝１０の場合は，表８０２の代わりに表８０４のような活性化順番データ（００，０１）を生成するようにしても良い。この場合は，表８０４の下のタイミングチャート８０５に示されるとおり，供給されたアクティブコマンドＡＣＴに応答して，内部のアクティブコマンドＡＣＴがアクティブパルスactpz0と遅延アクティブパルスactpz1のタイミングで生成される。つまり，同時にアクティブ化される２つのバンクがタイミングをずらしながら連続して活性化される。
【０３２６】
図８１は，バンク活性化タイミングの例３を示す図である。この例では，複数のバンクを順次タイミングをずらして活性化動作させる。図８１では，図７９の遅延回路７９１〜７９３の代わりに，クロックＣＬＫに同期して動作するフリップフロップ回路８１０〜８１２を設けている。それ以外の構成は，図７９と同じである。活性化バンク制御回路８８Ｃも，図７９，図８０で説明したとおりである。
【０３２７】
この例３によれば，遅延回路がクロックＣＬＫに同期したフリップフロップ回路８１０〜８１２であるので，アクティブパルスactpz0からクロックＣＬＫに同期した遅延タイミングで３つの遅延アクティブパルスactpz1-3が生成される。つまり，図８１のタイミングチャートに示されるとおり，バンク活性化信号actpz<0>〜<3>が，クロックＣＬＫに同期して順番に出力される。それにより，クロックＣＬＫが高速化されるとバンク活性化信号actpz<0>〜<3>もそれに追従して高速に順次生成され，低速化されると同様に低速に順次生成される。よって，クロック同期の動作が可能である。
【０３２８】
［ロウアドレス生成］
本実施の形態におけるマルチバンクアクセス機能では，１回のアクティブコマンドＡＣＴとバンクアドレス及びロウアドレスに応答して，アクセスが必要なバンクのページ領域を全て活性化制御する。したがって，供給されたバンクアドレスとロウアドレスから，活性化が必要なバンクの判定に加えて，活性化が必要なページ領域を特定するロウアドレスを生成する必要がある。
【０３２９】
図８２は，本実施の形態におけるマルチバンクアクセスでのロウアドレス生成を説明する図である。図中，メモリマッピング１２と，矩形アクセス領域ＲＣ０−３に対応する供給バンクアドレスＢＡ０，１と，各バンクの活性化対象のロウアドレスＲＡとを示す論理値表８２０とが示されている。メモリマッピング１２は，前述と同様であり，行列方向に配列されたページ領域は，上下に隣接するページ領域のバンクがそれぞれ異なっていて，上下に隣接する４つのバンクBank0-3毎にロウアドレスが＋１ずつインクリメントしている。
【０３３０】
そして，このメモリマッピング１２によれば，アクセスされる矩形領域ＲＣ０の場合は，供給バンクアドレスＢＡ＝ＢＡ０（＝００）と供給ロウアドレスＲＡ＝ＲＡ０とから，同時に活性化すべきページ領域のアドレスは，ＢＡ０／ＲＡ０，ＢＡ１／ＲＡ０，ＢＡ２／ＲＡ０，ＢＡ３／ＲＡ０であることが理解できる。矩形領域ＲＣ１の場合は，供給されるバンクアドレスＢＡ＝ＢＡ１（＝０１）とロウアドレスＲＡ＝ＲＡ０とから，同時に活性化すべきページ領域のアドレスは，ＢＡ１／ＲＡ０，ＢＡ０／ＲＡ１，ＢＡ３／ＲＡ０，ＢＡ２／ＲＡ１であり，矩形領域ＲＣ２の場合は，供給されるバンクアドレスＢＡ＝ＢＡ２（＝１０）とロウアドレスＲＡ＝ＲＡ０とから，同時に活性化すべきページ領域のアドレスは，ＢＡ２／ＲＡ０，ＢＡ３／ＲＡ０，ＢＡ０／ＲＡ（０＋ＲＳ），ＢＡ２／ＲＡ（０＋ＲＳ）であり，矩形領域ＲＣ３の場合は，供給されるバンクアドレスＢＡ＝ＢＡ３（＝１１）とロウアドレスＲＡ＝ＲＡ０とから，同時に活性化すべきページ領域のアドレスは，ＢＡ３／ＲＡ０，ＢＡ２／ＲＡ（０＋１），ＢＡ１／ＲＡ（０＋ＲＳ），ＢＡ２／ＲＡ（０＋ＲＳ＋１）である。
【０３３１】
上記を一般化すると，供給ロウアドレスがＲＡ，メモリマッピング１２のロウアドレスのステップ数がＲＳの場合，各バンクBank0-3に発生すべきロウアドレスは，供給バンクアドレスＢＡ０，ＢＡ１に応じて論理値表８２０に示されるとおりである。すなわち，以下の通りである。
ＢＡ＝００：ＲＡ，ＲＡ，ＲＡ，ＲＡ
ＢＡ＝０１：ＲＡ＋１，ＲＡ，ＲＡ＋１，ＲＡ
ＢＡ＝１０：ＲＡ＋ＲＳ，ＲＡ＋ＲＳ，ＲＡ，ＲＡ
ＢＡ＝１１：ＲＡ＋ＲＳ＋１，ＲＡ＋ＲＳ，ＲＡ＋１，ＲＡ
したがって，図７１のロウアドレス演算部９７は，供給されるバンクアドレスＢＡとロウアドレスＲＡとに応じて，上記論理値表８２０に示したロウアドレスを各バンクBank0-3に生成する。
【０３３２】
図８３は，本実施の形態におけるロウアドレス演算部の例１を示す図である。ロウアドレス演算部９７は，供給されるロウアドレスＲＡに，０，１，ＲＳ，ＲＳ＋１をそれぞれ加算するアドレス加算器８３１〜８３４と，それらアドレス加算器の出力のいずれかを選択して各バンク内のアドレスデコーダ８３６に供給するセレクタＳＥＬと，セレクタＳＥＬに選択信号８３５を供給するロウアドレス制御回路８３０とを有する。ロウアドレス制御回路８３０は，供給されるバンクアドレスＢＡに応じて，図８２の論理値表８２１に示された選択信号（各２ビット，合計で８ビット）を生成する。また，ロウアドレスのステップ数データＲＳと，ＲＳ＋１とが，モードレジスタ９６からアドレス加算器８３３，８３４にそれぞれ供給され，固定値「０」「１」がアドレス加算器８３１，８３２にそれぞれ供給される。よって，加算器８３１は，供給ロウアドレスＲＡをそのまま出力する。
【０３３３】
たとえば，供給バンクアドレスＢＡ＝０１の場合は，ロウアドレス制御回路８３２は，選択信号８３５として「０１，００，０１，００」を生成し，それに応じて，各セレクタＳＥＬは，上から順に，ＲＡ＋１，ＲＡ，ＲＡ＋１，ＲＡを選択して，各バンクのアドレスデコーダ８３６に供給する。各バンクは，前述のバンク活性化信号actpz<3:0>に応答して，選択されたバンクのアドレスデコーダ８３６が活性化され，活性化されたアドレスデコーダが上記のロウアドレスＲＡ＋１，ＲＡ，ＲＡ＋１，ＲＡをデコードし，対応するワード線を活性化する。
【０３３４】
図８４は，本実施の形態におけるロウアドレス演算部の例２を示す図である。この例では，ロウアドレス演算部９７は，供給されるロウアドレスＲＡに，セレクタＳＥＬで選択された定数０，１，ＲＳ，ＲＳ＋１を加算する４つのアドレス加算器８４１〜８４４と，セレクタＳＥＬに選択信号８３５を供給するロウアドレス制御回路８３０とを有する。ロウアドレス制御回路８３０は，図８３と同じである。そして，このロウアドレス制御回路８３０の選択信号に応じて，各セレクタＳＥＬは，４つの定数０，１，ＲＳ，ＲＳ＋１のいずれかを選択し，アドレス加算器に出力する。つまり，ロウアドレス演算器９７は，供給ロウアドレスＲＡに加算する定数０，１，ＲＳ，ＲＳ＋１をセレクタで選択し，選択された定数をアドレス加算器に与える。図８３のロウアドレス演算器９７は，４つのアドレス加算器の出力をセレクタで選択したが，図８４のロウアドレス演算器９７は，４つの定数をセレクタで選択している。この点で異なるだけである。
【０３３５】
以上のように，ロウアドレス演算器９７は，供給されるロウアドレスＲＡから，必要な４つのロウアドレスを生成する。よって，メモリ装置は，１回のアクティブコマンドでロウアドレスを入力すれば，内部で必要な４つのロウアドレスを生成することができ，複数のバンクを活性化することができる。
【０３３６】
［メモリマッピング設定］
マルチバンク活性化機能を実現するためには，メモリ装置にメモリマッピング情報を設定しておくことが必要である。例えば，図８２で説明したとおり，メモリマッピング１２に基づいて４種類の矩形アクセス領域ＲＣ０−３において活性化すべきバンクが選択され，生成すべきロウアドレスが演算される。よって，より上位のシステムにおけるメモリマッピングが異なると，メモリ装置はそれに応じて活性化すべきページ領域の判定処理を変更することが求められる。
【０３３７】
図８５は，２つのメモリマッピング例を示す図である。メモリマッピング１２Ａは，前述してきたメモリマッピングと同じであり，奇数行にはバンクＢａｎｋ０，１が，偶数行にはバンクＢａｎｋ２，３が配置され，ロウアドレスＲＡが図示されるように配置される。また，メモリマッピング１２Ｂは，奇数行には偶数のバンクＢａｎｋ０，２が，偶数行には奇数のバンクＢａｎｋ１，３が配置され，ロウアドレスＲＡは１２Ａと同じである。
【０３３８】
図８６は，上記の２種類のメモリマッピングに対するバンクアドレス切換回路８６１を示す図である。図８６（Ｂ）の構成図には，クロック端子ＣＬＫ，特殊入力端子ＳＰ０，バンクアドレス端子ＢＡ０，ＢＡ１に対して，それぞれ入力バッファ９４が設けられ，クロックＣＬＫに同期してそれぞれの信号をラッチするラッチ回路８６０が設けられている。
【０３３９】
図８６（Ａ）のタイミングチャート図に示されるとおり，拡張モードレジスタセットコマンドＥＭＲＳと共にバンクアドレス端子ＢＡから設定データＶが，特殊端子ＳＰ０からメモリマッピング情報ＡＲが，アドレス端子ＡＤＤからロウアドレスのステップ数データＲＳがそれぞれ入力される。そして，設定データＶ，メモリマッピング情報ＡＲ，ステップ数データＲＳは，モードレジスタ９６にセットされる。
【０３４０】
このモードレジスタ９６にセットされたメモリマッピング情報ＡＲに応じて，バンクアドレス切換回路８６１内のセレクタＳＥＬが，２ビットのバンクアドレスＢＡ０，ＢＡ１のいずれかを選択し，内部バンクアドレスｂａ０ｚ，ｂａ１ｚを生成する。図中に示されるとおり，メモリマッピング情報ＡＲ＝Ｌの場合は，内部バンクアドレスは，ｂａ０ｚ＝ＢＡ０，ｂａ１ｚ＝ＢＡ１にされ，メモリマッピング情報ＡＲ＝Ｈの場合は，内部バンクアドレスは，ｂａ０ｚ＝ＢＡ１，ｂａ１ｚ＝ＢＡ０にされる。
【０３４１】
このように，入力部でバンクアドレスＢＡ０，ＢＡ１をメモリマッピング情報ＡＲに基づいて切り替えることにより，メモリ装置内部のバンク選択機能やロウアドレス生成機能は，共通のメモリマッピング１２Ａに基づく構成にすることができる。
【０３４２】
なお，上記の実施の形態では，また，マルチバンク情報（ＳＡ’）、同時活性化バンクデータ（ＳＡ’０−２）、矩形領域サイズデータ（Ｗ，Ｈ）等をスペシャル入力端子ＳＰから入力したが、使用されていない端子で実現可能である。例えば，リード動作において，ロウアドレスがアドレス端子Ａｄｄ０〜１２で入力され，コラムアドレスがアドレス端子Ａｄｄ０〜９で入力されるとすると，コラムアドレスが入力されるときアドレス端子Ａｄｄ１０〜１２は使用されていない。よって，コラムアドレス入力時に使用されていないアドレス端子Ａｄｄ１０〜１２からこれら制御データＳＡ’，Ｗ，Ｈ等を入力することができる。その場合にも本発明は適用可能である。
【０３４３】
また、拡張モードレジスタセットコマンドＥＭＲＳによりモードレジスタに設定される各種情報は上記実施の形態に限定されることなく、アドレス端子から入力されることも本発明の適用範囲である。
【０３４４】
《マルチバンクアクセスとバイトバウンダリ》
バンクアドレスとコラムアドレスで選択されるメモリ単位領域を超える矩形アクセスの場合に対応して，メモリ装置がバイトバウンダリ機能を有することを説明した。また，バンクアドレスとロウアドレスで選択されるページ領域を超える矩形アクセスの場合に対応して，メモリ装置がマルチバンクアクセス機能を有することも説明した。そこで，矩形アクセス領域が，ページ領域を超えるとともにメモリ単位領域を超える場合に，両方の機能により，１回のアクティブコマンドでアクセス可能にし且つ無駄なデータ出力をなくすことができる。以下，具体的に説明する。
【０３４５】
図８７は，マルチバンクアクセスとバイトバウンダリが発生した場合のタイミングチャートを示す図である。図示されるとおり，矩形アクセス領域２２がページ領域を超えて複数のバンクＢＡ３，ＢＡ２，ＢＡ１，ＢＡ０にまたがり，且つメモリ単位領域を超えてコラムアクセスが必要な例である。この例では，マルチバンク情報ＳＡ’＝４（＝１１），スタートバイト信号ＳＢ＝２である。
【０３４６】
図８８は，マルチバンクアクセス機能とバイトバウンダリ機能とを有するメモリ装置の構成図である。このメモリ装置８６には，簡単のために，２つのバンクＢａｎｋ２，３のみが示されているが，これに加えて図示しない２つのバンクＢａｎｋ０，１が設けられている。モードレジスタ９６には，メモリマッピングにおけるロウアドレスのステップ数データＲＳと，コラムアドレスのステップ数データＣＳＴとがあらかじめ設定される。
【０３４７】
ロウ制御部としては，バンクアドレスＢＡとマルチバンク情報ＳＡ’とから活性化すべきバンクへのバンク活性化信号actpz<3:0>を生成するマルチバンク活性化制御部８８と，バンクアドレスＢＡとロウアドレスＲＡとロウアドレスのステップ数データＲＳとから各バンクのロウアドレスを演算するロウアドレス演算部９７−２，９７−３とが設けられている。このロウアドレス演算部９７−２，９７−３は，図８３，図８４で説明した構成の一部分である。また，図７８で説明したとおり，バンク活性化信号actpzは各バンク内のコア制御部に供給される。但し，図８８にはコア制御部は省略されている。
【０３４８】
コラム制御部９０には，供給されるコラムアドレスＣＡとバンクアドレスＢＡと，スタートバイト信号ＳＢとコラムアドレスのステップ数データＣＳＴとから，各バンクに内部コラムアドレスＩ−ＣＡ−２，３を生成するコラムアドレスコントローラ２９０−２，２９０−３を有する。このコラムアドレスコントローラ２９０は，図４４に示したコラムアドレス生成器と同等であり，これにバンクアドレスＢＡを追加することで，バンクの境界をまたいでバイトバウンダリに必要なコラムアドレスの生成を可能にする。なお，ステップ数データＣＳＴは，図４４のコラムアドレス折り返しデータCAWrapと同じである。
【０３４９】
さらに，コラム制御部９０は，供給されるバンクアドレスＢＡとコラムアドレスＣＡとスタートバイト信号ＳＢとに基づいて，各バンク内のバイト領域Ｂｙｔｅ０−３のデータを選択する制御信号Ｓ２２１を生成する。この制御信号Ｓ２２１により，各バンクの４つのバイト領域Ｂｙｔｅ０−３内のデータラッチ回路が選択され，入出力バスＩ／Ｏｂｕｓに接続される。各バンク内のバイト領域Ｂｙｔｅ０−３の構成と動作は，図２２，２４，２９で説明したのと同じである。各バンクに４つのバイト領域があるので，上記の制御信号Ｓ２２１は，４×４＝１６ビットの選択信号である。
【０３５０】
次に，図８７の矩形領域２２がアクセスされる時の動作について説明する。図８７のタイミングチャートに示されるとおり，拡張モードレジスタセットコマンドＥＭＲＳと共にコラムアドレスのステップ数データＣＳＴ＝４（図中８７１）と，ロウアドレスのステップ数データＲＳ＝４（図中８７２）とが入力され，モードレジスタ９６に設定される。
【０３５１】
次に，アクティブコマンドＡＣＴ（図中８７６）と共に，矩形アクセス領域の左上の画素を含むページ領域のバンクアドレスＢＡとロウアドレスＲＡ，及びマルチバンク情報ＳＡ’＝４（図中８７３）が入力される。ＳＡ’＝４では，２×２＝４つのバンクを同時にアクティブ化することを要請されている。これに応答して，マルチバンク活性化制御部８８は，４つのバンクにバンク活性化信号actpz<3:0>を出力する。また，ロウアドレス演算部９７−２，３が，各バンクのロウアドレスを演算する。そして，４つのバンク内のロウデコーダが演算されたロウアドレスをデコードして対応するワード線を駆動し，バンクを活性化する。
【０３５２】
そして，リードコマンドＲＤ（図中８７７）と同時に，バンクアドレスＢＡ＝３とコラムアドレスＣＡ＝１２６，スタートバイト信号ＳＢ＝２（図中８７４）とバイト組み合わせ情報の第２の情報ＢＭＲ＝ＵＰ（図中８７５）とを入力する。このバンクアドレスＢＡに対応するバンクＢａｎｋ３のコラムアドレスコントローラ２９０−３は，供給されたコラムアドレスＣＡ＝１２６と，スタートバイト信号ＳＢ＝２に基づきコラムアドレスＣＡ＝１２７を生成し，内部コラムアドレスＩ−ＣＡ−３として出力する。これにより，バンクＢａｎｋ３は，各バイト領域Ｂｙｔｅ０−３にコラムアドレス１２６，１２７のデータを出力させる。そして，データラッチセレクタ２２１からの制御信号Ｓ２２１に応じて，バイト領域Ｂｙｔｅ２，３はコラムアドレスＣＡ＝１２６のデータを，バイト領域Ｂｙｔｅ０，１はコラムアドレスＣＡ＝１２７のデータを入出力バスＩ／Ｏｂｕｓに出力する。
【０３５３】
次に，リードコマンドＲＤと共に，バンクアドレスＢＡ＝３とコラムアドレスＣＡ＝１２７と，ＳＢ＝２，ＢＭＲ＝ＵＰが入力される。これに応答して，コラムアドレスコントローラ２９０−３は内部コラムアドレスＩ−ＣＡ−３＝１２７を生成し，バンクＢａｎｋ３はコラムアドレス１２７の４バイトデータを出力する。一方，コラムアドレスコントローラ２９０−２は，バンクアドレスＢＡ＝３とコラムアドレスＣＡ＝１２７とスタートバイト信号ＳＢ＝２から，バンクＢａｎｋ２からデータを読み出す必要性を検出し，コラムアドレスのステップ数データＣＳＴを参照して，バンクＢａｎｋ２のコラムアドレスＣＡ＝１２４を内部コラムアドレスＩ−ＣＡ−２として出力する。これにより，バンクＢａｎｋ２は，コラムアドレスＣＡ＝１２４の４バイトデータを読み出す。そして，データラッチセレクタ２２１が，バンクアドレスＢＡ＝３，コラムアドレスＣＡ＝１２７，スタートバイト信号ＳＢ＝２に基づいて，制御信号Ｓ２２１を生成し，バンクＢａｎｋ３からはバイト領域Ｂｙｔｅ２，３のデータを，バンクＢａｎｋ２からはバイト領域Ｂｙｔｅ０，１のデータを，それぞれ入出力バスＩ／Ｏｂｕｓに出力する。
【０３５４】
以下，リードコマンドＲＤと共に，バンクアドレスＢＡ＝１と対応するコラムアドレスＣＡ＝２，３，６，７．．．が入力され，同様にコラムアドレスコントローラ２９０が必要なコラムアドレスを生成し，データラッチセレクタ２２１が必要な制御信号Ｓ２２１を生成し，スタートバイト信号ＳＢ＝２に対応した位置から４バイトのデータが，同じバンク内からまたは隣接するバンク内から出力される。
【０３５５】
上記はリードコマンドの動作について説明したが，ライトコマンドの場合も同様のコラムアクセス制御が行われる。
【０３５６】
この実施の形態のよれば，ページ領域を超えて複数のバンクにまたがる矩形アクセスに対しても，スタートバイト信号ＳＢとバイト組み合わせ情報ＢＭＲとに基づき，メモリ単位領域内の任意のバイト（またはビット）から４バイトデータ（または４ビットデータ）をアクセスすることができる。
【０３５７】
［マルチバンクアクセスに対応するメモリコントローラ］
次に，マルチバンクアクセス機能を有するメモリ装置を制御するメモリコントローラについて説明する。図６９，図７０で説明したとおり，メモリコントローラは，メモリ装置内のモードレジスタにロウアドレスのステップ数データＲＳやメモリマッピング情報ＡＲなどをあらかじめ設定しておき，メモリアクセス元からの矩形アクセス要求に応答して，アクティブコマンドＡＣＴと共にバンクアドレスＢＡ，ロウアドレスＲＡ，マルチバンク情報ＳＡ’をメモリ装置に発行し，さらに，リードコマンドＲＤまたはライトコマンドＷＲと共にバンクアドレスＢＡ，コラムアドレスＣＡを発行する。よって，メモリコントローラは，メモリアクセス要求に対して，マルチバンクアクセス機能に必要な上記のアドレスやデータなどを生成する必要がある。このメモリコントローラの構成と動作について説明する。
【０３５８】
図８９は，メモリマッピングの一例を示す図である。メモリマッピング１２は，フレーム画像に対応している。このメモリマッピング１２は，前述と同様に，マトリクス状に配置されたページ領域１４の奇数行にバンクアドレスＢＡ０，１が，偶数行にバンクアドレスＢＡ２，３が割り当てられ，各行でロウアドレスＲＡが順にインクリメントされ，ロウアドレスのステップ数ＲＳはＲＳ＝４である。そして，ページ領域１４は，１６画素×３２行で構成され，１つのコラムアドレスで４画素のデータ（４バイトデータ）からなるメモリ単位領域が特定される。よって，１つのページ領域１４は，５１２／４＝１２８のコラムアドレス領域（メモリ単位領域）を有する。
【０３５９】
このメモリマッピング１２では，水平方向に８ページ領域，垂直方向に４ページ領域が配置されている。よって，メモリマッピング１２において，水平方向の画素数は１２８（＝１６画素×８ページ領域），垂直方向の画素数も１２８（＝３２行×４ページ領域）である。以下，このメモリマッピングを前提にして各種の演算を説明する。
【０３６０】
図９０は，本実施の形態におけるメモリコントローラの構成図である。図５４と同様に，メモリコントローラ８２は，複数のアクセス元ブロック８１−１〜ｎからメモリアクセス要求を受けて，調停回路５４０による調停で許可されたメモリアクセス要求に対して，メモリ装置８６に対するアクセス制御を行う。つまり，メモリコントローラ８２は，アクセス元ブロック８１−１〜ｎに対応してインターフェースＩＦ＿１〜ｎを有し，更に，アクセス要求に応答してアドレスやコマンドを生成するシーケンサＳＥＱ＿１〜ｎを有する。
【０３６１】
よって，インターフェースＩＦ＿１〜nは，アクセス要求元ブロック８１とデータのやり取りを行う。アクセス元ブロックからのアクセス種別は，水平アクセスと矩形アクセスの２種類である。調停回路５４０は，インターフェースからのアクセス要求の調停を行い，アクセス権を取得したシーケンサＳＥＱ＿ｎにアクセス指示を出力する。セレクタＳＥＬは，調停回路５４０からの選択信号Ｓ５４０に応答して，いずれかのシーケンサＳＥＱ＿１〜ｎからのコマンドとアドレスを選択し，メモリ装置８６に出力する。また，セレクタＳＥＬは，選択信号Ｓ５４０に応答して，いずれかのインターフェースＩＦ＿１〜ｎのデータ線Ｄａｔａを選択する。
【０３６２】
レジスタ５４３には，上位のＣＰＵから各種パラメータが設定される。パラメータとしては，メモリ装置８６がバイトバウンダリ機能，マルチバンクアクセス機能を有するか否かなどの機能データが含まれる。それ以外に，設定パラメータとして，フレーム画像の左上の画素のロウアドレスＲＯＷ＿ＢＡＳＥ＿ＡＤＲ，フレーム画像の水平方向の画素数ＰＩＣＴＵＲＥ＿ＭＡＸ＿ＸＳＩＺＥなどが含まれる。
【０３６３】
メモリ装置８６は，前述したバイトバウンダリ機能やマルチバンクアクセス機能を有する画像メモリである。図９０のメモリコントローラ８２とメモリ装置８６とにより，画像処理システムが構成される。
【０３６４】
図９１は，アクセス元ブロックとインターフェース間の信号を示す図である。図９１（Ａ）は矩形アクセス時の信号を，図９１（Ｂ）は水平アクセス時の信号をそれぞれ示している。アクセス元ブロック８１−ｎは，アクセス要求信号ＲＥＱと共にアクセス対象領域のデータを出力する。両アクセス時の信号の送受信については後で詳述する。
【０３６５】
図９２は，アクセス対象領域のデータを説明する図である。メモリ装置の論理アドレス空間Ｓ８６内にフレーム画像ＦＭ−ＩＭＧのデータが格納されている。前述のとおり，このフレーム画像ＦＭ−ＩＭＧの左上画素のロウアドレスＲＯＷ＿ＢＡＳＥ＿ＡＤＲとフレーム画像の水平方向の画素数ＰＩＣＴＵＲＥ＿ＭＡＸ＿ＸＳＩＺＥとがレジスタ５４３に設定されている。そして，このフレーム画像内の矩形領域ＲＩＭＧがアクセス対象領域の場合は，左上のフレーム内画素座標（Ｘ＿ＰＯＳ，Ｙ＿ＰＯＳ）と，矩形領域の水平方向サイズＸ＿ＳＩＺＥと垂直方向サイズＹ＿ＳＩＺＥとが，アクセス元ブロック８１−ｎからメモリコントローラ内のインターフェースＩＦ＿ｎに供給される。
【０３６６】
なお，フレーム画像ＦＭ−ＩＭＧは，図８９のメモリマッピング１２と一致している。つまり，フレーム画像ＦＭ−ＩＭＧの左上画素は，バンクアドレスＢＡ＝０，ローカルなロウアドレスＲＡ＝０のページ領域内の左上画素に対応する。よって，フレーム画像ＦＭ−ＩＭＧの左上画素のロウアドレスＲＯＷ＿ＢＡＳＥ＿ＡＤＲとフレーム内のローカルロウアドレスＲＡとから，メモリの論理アドレス空間内のロウアドレスを求めることができる。
【０３６７】
図９３は，アクセス元ブロックとインターフェース間の信号のタイミングチャート図である。図９３（Ａ）の矩形アクセス（リード時）では，アクセス元ブロック８１―ｎがリードライト指示信号ＲＸＷをＨレベル（リード）にすると共に，アクセス要求ＲＥＱをアサートしながら，アクセス対象領域データＸ／Ｙ＿ＰＯＳ，Ｘ／Ｙ＿ＳＩＺＥを出力する。これに応答して，メモリコントローラはアクノリッジＡＣＫを返信し，所定の調停処理を経てメモリ装置にアクセス制御しリードデータを取得する。そして，メモリコントローラのインターフェースＩＦ＿ｎは，イネーブル信号ＥＮをアサートしながらリードデータＲＤＡＴＡ（Ｄａｔａ（Ａ０―Ａ７））を出力する。このイネーブル信号ＥＮは１クロックサイクル前からアサートされ，１クロックサイクル前にネゲートされる。
【０３６８】
一方，図９３（Ｂ）の矩形アクセス（ライト時）では，アクセス元ブロック８１―ｎがリードライト指示信号ＲＸＷをＬレベル（ライト）にすると共に，アクセス要求ＲＥＱをアサートしながら，アクセス対象領域データＸ／Ｙ＿ＰＯＳ，Ｘ／Ｙ＿ＳＩＺＥを出力する。これに応答して，メモリコントローラはアクノリッジＡＣＫを返信し，所定の調停処理を経てメモリ装置にアクセス制御し，イネーブル信号ＥＮをアサートしながら，ライトデータＷＤＡＴＡ（Ｄａｔａ（Ａ０−Ａ７））を受信する。このイネーブル信号ＥＮも１クロックサイクル前からアサートされ，１クロックサイクル前にネゲートされる。
【０３６９】
水平アクセスの場合も同様であり，アクセス元ブロックは，水平アクセスの先頭アドレスＡＤＲと，水平アクセスサイズＳＩＺＥを供給し，リードであればリードデータＲＤＡＴＡを受信し，ライトであればライトデータＲＤＡＴＡを出力する。すなわち，図９１に示されるとおり，アクセス元ブロックが，アクセス要求ＲＥＱをアサートしながら水平アクセス先頭アドレスＡＤＲと水平アクセスサイズＳＩＺＥとリード・ライト指示信号ＲＸＷとを供給する。それに応答してインターフェースがアクノリッジ信号ＡＣＫを返信する。そして，メモリコントローラがメモリアクセスを実行し，イネーブル信号をアサートしながら読み出しデータＲＤＡＴＡを出力する。また，書き込み時は，メモリアクセス前にメモリコントローラがイネーブル信号ＥＮをアサートしながら書き込みデータＷＤＡＴＡを受信する。
【０３７０】
図９４は，メモリコントローラの動作概略を示す図である。各動作ステップが番号１〜４の順に実行される。まず，アクセス要求元ブロック８１−ｎがアクセス要求ＲＥＱを発行すると，インターフェースＩＦ＿ｎは，そのアクセス要求ＲＥＱに応答して調停回路５４０にアクセス要求を転送する。次に，調停回路５４０は，メモリ装置８６がアクセス可能であり且つアクセス要求元の優先順位が最上位であれば，インターフェースＩＦ＿ｎにアクノリッジ信号ＡＣＫを返信するとともに，シーケンサＳＥＱ＿ｎにコマンド発行開始指示ＳＴＡＲＴを出力する。このコマンド発行開始指示ＳＴＡＲＴに応答して，シーケンサＳＥＱ＿ｎはコマンド発行に必要な各種パラメータＸ／Ｙ＿ＰＯＳ，Ｘ／Ｙ＿ＳＩＺＥをインターフェースＩＦ＿ｎから受信する。
【０３７１】
シーケンサＳＥＱ＿ｎは，上記のパラメータとレジスタに設定されているパラメータに基づいてコマンド発行を行い，メモリ装置８６へのアクセスを開始する。シーケンサＳＥＱ＿ｎは，コマンドの発行状況に応じてデータ量に対応したイネーブル信号ＥＮを発行し，そのイネーブル信号ＥＮはインターフェースＩＦ＿ｎを経由してアクセス要求元８１＿ｎに送信される。読み出しの場合は，インターフェースＩＦ＿ｎを経由してメモリ装置８６からのリードデータが，上記のイネーブル信号ＥＮに応答して，アクセス要求元８１＿ｎに送信される。書き込みの場合は，インターフェースＩＦ＿ｎを経由してアクセス要求元８１＿ｎからのライトデータが，上記のイネーブル信号ＥＮに応答して，メモリ装置８６に転送される。
【０３７２】
このようにメモリ装置８６にコマンドを発行してアクセス制御中に，シーケンサＳＥＱ＿ｎは，調停回路５４０に，データアクセス中であることを示すアクティブ信号ＡＣＴＩＶＥをアサートする。メモリへのアクセスが終了すると，このアクティブ信号ＡＣＴＩＶＥはネゲートされる。
【０３７３】
図９５は，シーケンサＳＥＱの構成図である。シーケンサＳＥＱは，シーケンサ内部の全体制御を行う制御部９４０と，インターフェースＩＦ＿ｎから転送されるアクセス対象領域データＸ／Ｙ＿ＰＯＳ，Ｘ／Ｙ＿ＳＩＺＥと，レジスタ５４３に設定されているフレーム画像ＦＭ−ＩＭＧの左上画素のロウアドレスＲＯＷ＿ＢＡＳＥ＿ＡＤＲとフレーム画像の水平方向の画素数ＰＩＣＴＵＲＥ＿ＭＡＸ＿ＸＳＩＺＥとから，中間パラメータを生成する中間パラメータ生成部９４１と，中間パラメータに基づいてコマンドとアドレスを生成しメモリ装置８６に出力するコマンド・アドレス生成部９４２とを有する。
【０３７４】
図９６は，中間パラメータを生成する演算式を説明するための図である。この例では，図９６（Ａ）に示されるとおり，フレーム画像ＦＭ−ＩＭＧ内の矩形領域ＲＩＭＧがアクセスされ，各データは，以下の通りである。
PICTURE_MAX_XSIZE=128
ROW_BASE_ADR=0
(X_POS,Y_POS) = (28,94)
(X_SIZE,Y_SIZE)=(8,4)
また，図９６（Ｂ）には，矩形領域ＲＩＭＧ近傍の４つのページ領域ＢＡ１／ＲＡ４，ＢＡ０／ＲＡ５，ＢＡ３／ＲＡ４，ＢＡ２／ＲＡ５における水平方向の画素番号と垂直方向の画素番号（行番号）とが示されている。これらの情報が中間パラメータとして以下の通り生成される。
【０３７５】
中間パラメータ生成部９４１は，以下の演算により中間パラメータを生成する。
【０３７６】
（１）矩形データＲＩＭＧが４つのページ領域にまたがる場合の左上バンクアドレスＢＡは，次の通り求められる。まず，以下の通り，フレーム画像ＦＭ−ＩＭＧ内の矩形データＲＩＭＧの左上のフレーム内画素座標（Ｘ＿ＰＯＳ，Ｙ＿ＰＯＳ）をそれぞれ，ページ領域の水平方向画素数１６，垂直方向画素数３２で除算して，バンクＸアドレスBA_X_ADR，バンクＹアドレスBA_Y_ADRを求める。上記除算は余りを切り捨てる。
BA_X_ADR=X_POS/16
BA_Y_ADR=Y_POS/32
このバンクＸアドレスBA_X_ADRとバンクＹアドレスBA_Y_ADRは，矩形領域の左上画素がメモリマッピング１２内の水平方向の何番目のページ領域か，垂直方向の何番目のページ領域かに対応する。ただし，メモリマッピング１２の左上は水平方向の０番目，垂直方向の０番目のページ領域とする。
【０３７７】
そして，求めたバンクＸアドレスBA_X_ADRとバンクＹアドレスBA_Y_ADRが奇数か偶数かに応じて，以下の通りバンクアドレスＢＡ［１：０］が求まる。
BA_X_ADRが偶数、BA_Y_ADRが偶数の場合、左上BA=0
BA_X_ADRが奇数、BA_Y_ADRが偶数の場合、左上BA=1
BA_X_ADRが偶数、BA_Y_ADRが奇数の場合、左上BA=2
BA_X_ADRが奇数、BA_Y_ADRが奇数の場合、左上BA=3
（２）右側のバンクアドレスＢＡ，下側のバンクアドレスＢＡ，右下のバンクアドレスＢＡは，以下の通り求められる。すなわち，メモリマッピング１２によれば，上記（１）で求めた左上BA[1:0]から，右BA、下BA、右下BAが次の通りになる。なお「~」は反転を意味する。
右BA=[左上BA[1], ~左上BA[0]]
下BA=[~左上BA[1], 左上BA[0]]
右下BA=[~左上BA[1], ~左上BA[0]]
図９６の例によれば，（Ｘ＿ＰＯＳ，Ｙ＿ＰＯＳ）＝（２８，９４）であるので，
左上バンクアドレスBAについては，
BA_X_ADR=X_POS/16=28/16=1
BA_Y_ADR=Y_POS/32=94/32=2
であるから，BA_X_ADR=1が奇数、BA_Y_ADR=2が偶数なので、左上バンクアドレスBA[1:0]=01である。つまり，ＢＡ１が求められる。
さらに，右BA、下BA、右下BAは，左上BA=2'b01から
右BA=[左上BA[1], ~左上BA[0]]=[00]=0
下BA=[~左上BA[1], 左上BA[0]]=[11]=3
右下BA=[~左上BA[1], ~左上BA[0]]=[10]=2
と，ＢＡ０，ＢＡ３，ＢＡ２がそれぞれ求められる。
【０３７８】
（３）メモリの論理アドレス空間Ｓ８６内におけるアクセス開始ロウアドレスＲＯＷ＿ＡＤＲは，次の通りである。
ROW_ADR=ROW_BASE_ADR + [PICTURE_MAX_XSIZE /(16*2)]*[Y_POS/(32*2)] + X_POS/(16*2)
つまり，ROW_BASE_ADRはフレーム画像の左上画素のロウアドレスで，PICTURE_MAX_XSIZE/(16*2)はフレーム内の水平方向のロウアドレスステップ数で，Y_POS/(32*2)は矩形領域ＲＩＭＧの左上画素がフレーム内の垂直方向の何対目かを示し（図９６中の参照番号９６１），X_POS/(16*2)が矩形領域ＲＩＭＧの左上画素がフレーム内の水平方向の何対目かを示す（図９６中の参照番号９６２）。
【０３７９】
図９６の例によれば，PICTURE_MAX_XSIZE=128，ROW_BASE_ADR=0，(X_POS,Y_POS)=(28,94)であるので，
ROW_ADR=ROW_BASE_ADR + [PICTURE_MAX_XSIZE /(16*2)]*[Y_POS/(32*2)] + X_POS/(16*2)
=0+(128/32)*(94/(32*2))+28/(16*2)
=4
である。
【０３８０】
（４）メモリの論理アドレス空間Ｓ８６内におけるアクセス開始コラムアドレスＣＯＬ＿ＡＤＲは，ページ内のコラムアドレスであり，以下の通りである。
COL_ADR= 4＊Y_POS%32+(X_POS/4)%4
ここで「%」は余りを意味する。つまり，図８９に示したとおり，ページ領域内のコラムアドレスのステップ数は４であり，ページ領域の水平方向のコラム数は４，垂直方向の行数は３２であるので，Y_POS%32はページ領域ＢＡ１，ＲＡ４内の行数を意味し，(X_POS/4)%4はページ領域内の列数を意味する。
【０３８１】
図９６の例によれば，
COL_ADR= 4＊Y_POS%32+(X_POS/4)%4
=4*94%32+(28/4)%4=120+3
=123
と求められる。
【０３８２】
（５）次に，バンク内Ｘ座標（ＢＡ＿Ｘ＿ＰＯＳ）とＹ座標（ＢＡ＿Ｙ＿ＰＯＳ）は，ページ領域の水平方向の画素数が１６，垂直方向の行数が３２であるので，
BA_X_POS= X_POS%16
BA_Y_POS= Y_POS%32
と求められる。図９６（Ｃ）に示した，右上バンク（ＢＡ１／ＲＡ４）内における矩形領域ＲＩＭＧの左上画素の座標（BA_X_POS，BA_Y_POS）に対応する。
【０３８３】
（６）矩形領域ＲＩＭＧがバンク（ページ領域）を跨ぐか否かを示すX方向BANK跨ぎフラグ、Y方向BANK跨ぎフラグは，（５）で求めたバンク内Ｘ，Ｙ座標ＢＡ＿Ｘ＿ＰＯＳ，ＢＡ＿Ｙ＿ＰＯＳと，矩形領域ＲＩＭＧの水平方向，垂直方向のサイズＸ／Ｙ＿ＳＩＺＥから，以下のとおり計算できる。
BA_X_POS +X_SIZE>15ならば、X方向BANK跨ぎフラグ=1
BA_Y_POS +Y_SIZE>31ならば、Y方向BANK跨ぎフラグ=1
つまり，図９６（Ｃ）に示されるとおり，矩形領域ＲＩＭＧの左上画素の座標（BA_X_POS，BA_Y_POS）に矩形領域のサイズＸ／Ｙ＿ＳＩＺＥを加算した値が，ページ領域の水平方向サイズ１５，垂直方向サイズ３１を超えていれば，バンクを跨ぐことになることを意味する。
【０３８４】
上記（５）（６）について図９６の例で説明すると，
バンク内X座標，Y座標は，
BA_X_POS= X_POS%16=28%16=12
BA_Y_POS= Y_POS%32=94%32=30
X方向BANK跨ぎフラグ，Y方向BANK跨ぎフラグは，
BA_X_POS +X_SIZE=12+8=20で15より上なので，X方向BANK跨ぎフラグ=1
BA_Y_POS +Y_SIZE=30+4=34で31より上なので，Y方向BANK跨ぎフラグ=1
となり，X,Y方向共にバンクを跨ぐことになる。
【０３８５】
（７）次に，４つのバンクにおける矩形領域のX,Y方向のサイズ，1ST_X_SIZE, 2ND_X_SIZE, 1ST_Y_SIZE, 2ND_Y_SIZEの計算は，次の通りである。
図９６（Ｃ）に示したとおり，X方向にBANKを跨ぐ場合，左側のBANKにおけるX_SIZEを1ST_X_SIZE，右側を2ND_X_SIZEとし，Y方向にBANKを跨ぐ場合，上側のBANKにおけるY_SIZEを1ST_Y_SIZE，下側を2ND_Y_SIZEとする。そして，BANKを跨がない場合は、1STX_SIZE，1ST_Y_SIZEのみが有効となる。
よって，
X方向BANK跨ぎフラグ=1の場合は，
1ST_X_SIZE= 16 − BA_X_POS
2ND_X_SIZE=X_SIZE − 1ST_X_SIZE
X方向BANK跨ぎフラグ=0の場合は，
1ST_X_SIZE= X_SIZE
Y方向BANK跨ぎフラグ=1の場合は，
1ST_Y_SIZE= 32 − BA_Y_POS
2ND_Y_SIZE=Y_SIZE − 1ST_Y_SIZE
Y方向BANK跨ぎフラグ=0の場合は，
1ST_Y_SIZE= Y_SIZE
となる。
【０３８６】
図９６の例を適用すると，
X方向BANK跨ぎフラグ=1なので
1ST_X_SIZE= 16 − BA_X_POS =16 − 12 =4
2ND_X_SIZE=X_SIZE − 1ST_X_SIZE=8 − 4 =4
Y方向BANK跨ぎフラグ=1なので
1ST_Y_SIZE= 32 − BA_Y_POS= 32 − 30 = 2
2ND_Y_SIZE=Y_SIZE − 1ST_Y_SIZE = 4 − 2 = 2
と求められる。
【０３８７】
（８）最後に，ロウアドレスのステップ情報ＲＳは，フレーム画像１２（ＦＭ−ＩＭＧ）中のX方向の左端から右端までスキャンする際に、いくつロウアドレスが増加するかを示した数であり，以下の計算で求められる。
RS=PICTURE_MAX_XSIZE /(16*2)
図９６の例であれば，RS= PICTURE_MAX_XSIZE /(16*2)=128/32=4と求められる。
【０３８８】
以上の通り，中間パラメータ生成部９４は，上記の演算式によって（１）〜（８）の中間パラメータを求めて，コマンド／アドレス生成部９４２に出力する。そして，コマンド／アドレス生成部９４２が，中間パラメータに基づいて，メモリ８６に供給するコマンドとバンクアドレスＢＡ，ロウアドレスＲＡ，コラムアドレスＣＡ，ロウアドレスステップ情報ＲＳ，マルチバンク情報ＳＡ’を生成する。
【０３８９】
図９７は，コマンド／アドレス生成部における動作フローチャート図である。図中，生成されるコマンドが楕円形で示されている。まず，メモリコントローラは，通常のモードレジスタセットコマンドＭＲＳを発行し，メモリ装置内のモードレジスタに各種の初期設定を行う（Ｓ４０）。この初期設定は，通常のＳＤＲＡＭで行われる設定である。そして，待機状態になる（Ｓ４１）。やがて，アクセス元ブロック８１からアクセス要求を受信すると，中間パラメータ生成部９４１が，アクセス元ブロックから受信したアクセス対象領域データＸ／Ｙ＿ＰＯＳ，Ｘ／Ｙ＿ＳＩＺＥと，レジスタ５４３内に設定されているフレーム画像の左上画素のロウアドレスＲＯＷ＿ＢＡＳＥ＿ＡＤＲと水平方向画素数ＰＩＣＴＵＲＥ＿ＭＡＸ＿ＸＳＩＺＥとから，前述の中間パラメータを生成する（Ｓ４２）。
【０３９０】
コントロール対象のメモリ装置にマルチバンクアクセス機能があるか否かがレジスタ５４３に設定されているので，それをチェックする（Ｓ４３）。マルチバンクアクセス機能が設定されていない場合は，通常のコントロール動作によって，アクティブコマンドＡＣＴとリードコマンドＲＤ（またはライトコマンド）とを，バンク数分繰り返して発行する（Ｓ４４）。
【０３９１】
マルチバンクアクセス機能が設定されている場合は，コマンド／アドレス生成部９４２が，バンク跨ぎフラグＦｌａｇ［Ｘ：Ｙ］に基づいてバンク数を判定する（Ｓ４６）。その結果，コマンド・アドレス生成部９４２が，バンク跨ぎフラグＦｌａｇ［Ｘ：Ｙ］からマルチバンク情報ＳＡ’［１：０］を生成する。両者の関係は次の通りである。
Ｆｌａｇ［Ｘ：Ｙ］＝００    ＳＡ’［１：０］＝００（１つのバンクをアクティブ）
Ｆｌａｇ［Ｘ：Ｙ］＝１０    ＳＡ’［１：０］＝０１（Ｘ方向に２つのバンクをアクティブ）
Ｆｌａｇ［Ｘ：Ｙ］＝０１    ＳＡ’［１：０］＝１０（Ｙ方向に２つのバンクをアクティブ）
Ｆｌａｇ［Ｘ：Ｙ］＝１１    ＳＡ’［１：０］＝１１（４つのバンクをアクティブ）
よって，コマンド／アドレス生成部９４２は，アクティブコマンドＡＣＴと，先頭バンクアドレスＢＡ，先頭ロウアドレスＲＡと共に，マルチバンク情報ＳＡ’とを発行する（Ｓ８０，Ｓ７０，Ｓ６０，Ｓ５０）。
【０３９２】
４つのバンクを同時に活性化する場合は，メモリコントローラ内のコマンド／アドレス発生部９４２は，アクティブコマンドＡＣＴ及びロウアドレスＲＡと共にマルチバンク情報ＳＡ’＝１１を発行する（Ｓ５０）。そして，コマンド／アドレス発生部９４２は，左上バンク内のコラムアドレスＣＡと共にリードコマンドまたはライトコマンドを発行する（Ｓ５１）。このリード又はライトコマンドは，左上バンク内のＸ方向のアクセスサイズである1ST_X_SIZE＝Ｎ回にわたり，コラムアドレスをインクリメントしながら繰り返して発行する。さらに，右バンク内のコラムアドレスＣＡと共にリードコマンドまたはライトコマンドを発行する（Ｓ５２）。このリード又はライトコマンドは，右バンク内のＸ方向のアクセスサイズである2ND_X_SIZE＝Ｎ回にわたり，コラムアドレスをインクリメントしながら繰り返して発行する。そして，ライン数lineを＋１インクリメントし（Ｓ５３），ライン数lineが左上バンク内のＹ方向のアクセスサイズである1ST_Y_SIZEを超えるまで工程Ｓ５１，Ｓ５２，Ｓ５３を繰り返す（Ｓ５４）。
【０３９３】
次に，コマンド／アドレス発生部９４２は，下バンク内のコラムアドレスＣＡと共にリードコマンドまたはライトコマンドを発行する（Ｓ５５）。このリード又はライトコマンドは，下バンク内のＸ方向のアクセスサイズである1ST_X_SIZE＝Ｎ回にわたり，コラムアドレスをインクリメントしながら繰り返して発行する。さらに，右下バンク内のコラムアドレスＣＡと共にリードコマンドまたはライトコマンドを発行する（Ｓ５６）。このリード又はライトコマンドは，右バンク内のＸ方向のアクセスサイズである2ND_X_SIZE＝Ｎ回にわたり，コラムアドレスをインクリメントしながら繰り返して発行する。そして，ライン数lineを＋１インクリメントし（Ｓ５７），ライン数lineが下バンク内のＹ方向のアクセスサイズである2ND_Y_SIZEを超えるまで工程Ｓ５５，Ｓ５６，Ｓ５８を繰り返す（Ｓ５８）。
【０３９４】
コマンド／アドレス生成部９４２は，上記のリード又はライトコマンドと共に発行するコラムアドレスを，メモリマップに基づいて，中間パラメータである先頭コラムアドレスCOL_ADR=123とコラムアドレスステップ数データCST=4とから求める。
【０３９５】
Ｘ方向に２つのバンクを同時に活性化する場合は，メモリコントローラ内のコマンド／アドレス発生部９４２は，アクティブコマンドＡＣＴ及びロウアドレスＲＡと共にマルチバンク情報ＳＡ’＝０１を発行する（Ｓ６０）。そして，左上バンクへのリード又はライトコマンドとコラムアドレスをN回発行し（Ｓ６１），更に右バンクへのリード又はライトコマンドとコラムアドレスをＮ回発行する（Ｓ６２）。これらの工程Ｓ６１，Ｓ６２，Ｓ６３を，ライン数lineが1ST_Y_SIZEを超えるまで繰り返す（Ｓ６４）。
【０３９６】
Ｙ方向に２つのバンクを同時に活性化する場合は，メモリコントローラ内のコマンド／アドレス発生部９４２は，アクティブコマンドＡＣＴ及びロウアドレスＲＡと共にマルチバンク情報ＳＡ’＝１０を発行する（Ｓ７０）。そして，左上バンクへのリード又はライトコマンドとコラムアドレスをN回発行し（Ｓ７１），これらの工程Ｓ７１，Ｓ７２を，ライン数lineが1ST_Y_SIZEを超えるまで繰り返す（Ｓ７３）。同様に，下バンクへのリード又はライトコマンドとコラムアドレスの発行も同様に行う（Ｓ７４，Ｓ７５，Ｓ７６）。
【０３９７】
最後に，１つのバンクのみ活性化する場合は，メモリコントローラ内のコマンド／アドレス発生部９４２は，アクティブコマンドＡＣＴ及びロウアドレスＲＡと共にマルチバンク情報ＳＡ’＝００を発行する（Ｓ８０）。そして，左上バンクへのリード又はライトコマンドとコラムアドレスをN回発行し（Ｓ８１），これらの工程Ｓ８１，Ｓ８２を，ライン数lineが1ST_Y_SIZEを超えるまで繰り返す（Ｓ８３）。
【０３９８】
以上の通り，メモリコントローラ８２は，アクセス元ブロックからアクセス要求ＲＥＱと共にアクセス対象領域データＸ／Ｙ＿ＰＯＳ，Ｘ／Ｙ＿ＳＩＺＥとを受信すると，レジスタ５４３内のフレーム領域のロウアドレスＲＯＷ＿ＢＡＳＥ＿ＡＤＲと水平方向画素数ＰＩＣＴＵＲＥ＿ＭＡＸ＿ＸＳＩＺＥとから，中間パラメータを生成し，同時に活性化すべきバンク数を判定し，判定結果に対応するマルチバンク情報ＳＡ’を発行して，メモリ装置内のバンクを同時に活性化させる。これにより，１回のアクティブコマンドの発行で，複数のバンクを活性化させることができ，メモリアクセスを効率的に行うことができる。
【０３９９】
図９８は，メモリコントローラとメモリ装置との間のタイミングチャート図である。これは，図９６の４つのバンクに跨る矩形領域ＲＩＭＧをアクセスする場合のタイミングチャート図である。まず，メモリコントローラは，拡張モードレジスタセットコマンドＥＭＲＳと共にロウアドレスステップ情報ＲＳ４を発行して，メモリ装置内のレジスタ内にロウアドレスステップ情報ＲＳを設定する。次に，メモリコントローラは，アクティブコマンドＡＣＴと共に左上バンクアドレスＢＡ１と先頭ロウアドレスＲＡ４とマルチバンク情報ＳＡ’（１，１）を発行する。これに応答して，メモリ装置では，４つのバンクが同時に活性化される。
【０４００】
図９８の例では，マルチバンク情報ＳＡ’をコラムアドレス端子ＣＡから入力している。しかし，メモリ装置がロウアドレスＲＡとコラムアドレスＣＡとを共通のアドレス端子から入力するアドレスマルチプレクス構成を採用している場合は，図７２に示したように，マルチバンク情報ＳＡ’は特殊端子ＳＰから入力する必要がある。
【０４０１】
さらに，メモリコントローラは，リードコマンドＲＤと共にバンクアドレスＢＡとコラムアドレスＣＡとを繰り返し発行する。図９６（Ｂ）に示されるとおり，バンクアドレスＢＡとコラムアドレスＣＡは，（ＢＡ，ＣＡ）＝（１，１２３），（０，１２０），（１，１２７），（０，１２４），（３，３），（２，０），（３，７），（２，４）となる。それら対応して，メモリの４バイト入出力端子ＢＹ０−３からは，図９８中に示す画素座標（Ｘ＿ＰＯＳ，Ｙ＿ＰＯＳ）の４バイトデータがそれぞれ出力され，メモリコントローラはそれらを受信する。このように，アクティブコマンドＡＣＴは１回発行されるだけである。
【０４０２】
メモリコントローラは，マルチバンクアクセス機能を利用して１回のアクティブコマンドで複数のバンクを活性化させる場合において，バイトバウンダリ機能を利用して，４バイト領域の途中からの画像データをアクセスする場合は，図８７に示したとおり，リード又はライトコマンドと共にバンクアドレスＢＡ，コラムアドレスＣＡに加えてスタートバイト情報ＳＢとメモリマップ情報ＢＭＲとを発行する。これにより，メモリコントローラは，リード又はライトコマンドの発行回数を減らすことができ，１回のアクセスでデータバス全てに有効なデータを受信または出力することができる。
【０４０３】
なお，上記の実施の形態では，複数画素の画像データを二次元配置したデジタル画像データを記憶する画像メモリを例にして説明した。しかしながら，本発明は，画像データを記憶する画像メモリに限定されず，画像データ以外でも二次元配列されたデータを所定のマッピングルールに基づいて記憶するメモリ装置に適用可能である。記憶データが二次元配列されたデータであれば，その二次元配列データ内の任意の矩形領域をアクセスするときに複数のページ領域のデータにアクセスすることが求められることがある。その場合にも本発明は適用可能である。
【０４０４】
以上の実施の形態をまとめると，次の付記のとおりである。
【０４０５】
（付記１）  複数のデータを記憶し，バンクアドレスとロウアドレスとコラムアドレスに応答して前記記憶されたデータにアクセスするメモリ装置であって，
前記ロウアドレスにより選択される複数のページ領域を含むメモリセルアレイをそれぞれ有し，バンクアドレスにより選択される複数のバンクと，
第１の動作コードに応答して，前記バンク内のページ領域の活性化を制御するロウ制御部と，
データ入出力端子群とを有し，
前記コラムアドレスに基づいて前記活性化されたページ領域内のメモリ単位領域がアクセスされ，
前記ロウ制御部は，
前記第１の動作コードと共に供給されるマルチバンク情報データと供給バンクアドレスとに応じて，複数バンクのバンク活性化信号を生成するマルチバンク活性化制御部と，
前記供給バンクアドレスと供給ロウアドレスに応じて，前記複数のバンクのロウアドレスを生成するロウアドレス演算部とを有し，
前記複数のバンクは，前記バンク活性化信号と前記ロウアドレス演算部が生成するロウアドレスとに応じて，ページ領域を活性化するメモリ装置。
【０４０６】
（付記２）付記１において，
前記記憶されるデータが，行列状に配置される複数の矩形ブロックに分割された二次元配列データであり，
隣接する前記矩形ブロックを異なるバンクアドレスのページ領域に対応付けるマッピングルールであって，当該ページ領域に対応するロウアドレスが所定のステップ数で行を折り返されるマッピングルールに基づいて，前記複数の矩形ブロックがメモリの論理アドレス空間に割り当てられ，
前記マッピングルールにおける前記ロウアドレスのステップ数データが第２の動作コードと共に供給され，
前記ロウアドレス演算部は，前記供給バンクアドレス及び供給ロウアドレスに加えて，前記ステップ数データに応じて，前記複数のバンクのロウアドレスを生成するメモリ装置。
【０４０７】
（付記３）付記２において，
更に，前記ステップ数データを記憶するモードレジスタを有し，
前記第２の動作コードに応答して，前記ステップ数データが前記モードレジスタに記憶されるメモリ装置。
【０４０８】
（付記４）付記２において，
前記マルチバンク情報データが，複数バンクの数データ，複数バンクの行列方向の組み合わせデータ，複数バンクの配置データのいずれかであるメモリ装置。
【０４０９】
（付記５）付記２において，
前記マルチバンク活性化制御部は，複数ビットのバンクアドレスをデコードしてバンク選択信号を生成するバンクデコーダを有し，
前記バンクデコーダは，前記マルチバンク情報データに応じて所定のバンクアドレスを縮退してデコードし，
前記マルチバンク活性化制御部は，前記バンク選択信号に応じて前記複数のバンクに対する前記バンク活性化信号を生成するメモリ装置。
【０４１０】
（付記６）付記２において，
前記マルチバンク活性化制御部は，供給バンクアドレスまたはその反転バンクアドレスを所定の組み合わせで入力してデコードする複数のバンクデコーダを有し，
前記マルチバンク情報データに応じて，前記複数のバンクデコーダのうち一部または全てのバンクデコーダが活性化し，前記バンク選択信号を生成するメモリ装置。
【０４１１】
（付記７）付記２において，
前記マルチバンク情報データがアクセス対象のデータ矩形領域のサイズ情報を有し，
前記マルチバンク活性化制御部は，前記マッピングルールに基づいて，前記サイズ情報から活性化すべき複数のバンクの組み合わせ情報を生成する活性化バンク判定回路と，複数ビットのバンクアドレスをデコードしてバンク選択信号を生成するバンクデコーダとを有し，
前記バンクデコーダは，前記バンク組み合わせ情報に応じて所定のバンクアドレスを縮退してデコードし，
前記マルチバンク活性化制御部は，前記バンク選択信号に応じて前記複数のバンクに対する前記バンク活性化信号を生成するメモリ装置。
【０４１２】
（付記８）付記２において，
前記マルチバンク活性化制御部は，前記複数のバンクに対するバンク活性化信号を，前記第１の動作コードに応答して同時に生成し，
前記複数のバンクは，前記バンク活性化信号に応答して，前記ページ領域を活性化するメモリ装置。
【０４１３】
（付記９）付記２において，
前記マルチバンク活性化制御部は，前記複数のバンクに対するバンク活性化信号を，前記供給バンクアドレスに応じて，当該供給バンクアドレスに対応するバンクを先頭にする順番で順次異なるタイミングで生成し，
前記複数のバンクは，前記バンク活性化信号に応答して，前記ページ領域を活性化するメモリ装置。
【０４１４】
（付記１０）付記９において，
前記マルチバンク活性化制御部は，前記複数のバンクに対するバンク活性化信号を，所定の遅延時間毎に順次生成するメモリ装置。
【０４１５】
（付記１１）付記９において，
前記マルチバンク活性化制御部は，前記複数のバンクに対するバンク活性化信号を，同期クロックに同期する遅延タイミングで順次生成するメモリ装置。
【０４１６】
（付記１２）付記２において，
前記ロウアドレス演算部は，前記供給ロウアドレス（ＲＡ）に，０，１，前記ロウアドレスのステップ数データ（ＲＳ），当該ロウアドレスのステップ数データ（ＲＳ）に１を加えた数をそれぞれ加算する複数のアドレス加算器を有し，当該複数のアドレス加算器が出力するロウアドレスが，前記供給バンクアドレスに応じて前記複数のバンクに供給されるメモリ装置。
【０４１７】
（付記１３）付記２において，
前記隣接する矩形ブロックに対応付けられるページ領域が，下位のバンクアドレスに対応付けられた第１の行と上位のバンクアドレスに対応付けられた第２の行とに割り当てられた第１のマッピングルールと，
前記隣接する矩形ブロックに対応付けられるページ領域が，偶数のバンクアドレスに対応付けられた第１の行と奇数のバンクアドレスに対応付けられた第２の行とに割り当てられた第２のマッピングルールとのいずれかを選択可能であり，
前記第１または第２のマッピングルールに応じて，入力バンクアドレスを切り替えて内部バンクアドレスを出力するバンクアドレス切換回路を有するメモリ装置。
【０４１８】
（付記１４）付記２において，
前記メモリセルアレイは，前記コラムアドレスにより選択される複数のメモリ単位領域を有し，
さらに，複数の入出力端子と，
前記メモリセルアレイと複数の入出力端子との間に設けられる入出力ユニットとを有し，
前記メモリ単位領域内には，前記複数の入出力端子に対応する複数のバイト又はビットのデータが記憶され，
前記メモリセルアレイと入出力ユニットは，第３の動作コードに応答して，コラムアドレスと前記バイト又はビットの組み合わせ情報とに基づいて，前記供給バンクアドレスの第１のバンク内の前記コラムアドレスに対応する第１のメモリ単位領域と，前記第１のバンクに隣接する第２のバンク内にあり前記第１のメモリ単位領域に隣接する第２のメモリ単位領域とにアクセスし，前記アクセスした第１及び第２のメモリ単位領域の複数のバイト又はビットから，前記組み合わせ情報に基づく組み合わせの複数のバイト又はビットを，前記複数の入出力端子に対応付けるメモリ装置。
【０４１９】
（付記１５）
複数のデータを記憶し，バンクアドレスとロウアドレスとコラムアドレスに応答して前記記憶されたデータにアクセスするメモリ装置であって，
前記ロウアドレスにより選択される複数のページ領域を含むメモリセルアレイをそれぞれ有し，バンクアドレスにより選択される複数のバンクと，
第１の動作コードに応答して，前記バンク内のページ領域の活性化を制御するロウ制御部と，
データ入出力端子群と，
前記メモリセルアレイと複数の入出力端子との間に設けられる入出力ユニットとを有し，
前記コラムアドレスに基づいて前記活性化されたページ領域内のメモリ単位領域がアクセスされ，
前記ロウ制御部は，
前記第１の動作コードと共に供給されるマルチバンク情報データと供給バンクアドレスとに応じて，複数バンクのバンク活性化信号を生成するマルチバンク活性化制御部と，前記供給バンクアドレスと供給ロウアドレスに応じて，前記複数のバンクのロウアドレスを生成するロウアドレス演算部とを有し，
前記複数のバンクは，前記バンク活性化信号と前記ロウアドレス演算部が生成するロウアドレスとに応じてページ領域を活性化し，
前記メモリ単位領域内には，前記複数の入出力端子に対応する複数のバイト又はビットのデータが記憶され，
前記メモリセルアレイと入出力ユニットは，第３の動作コードに応答して，前記バイト又はビットの組み合わせ情報に基づいて，前記供給バンクアドレスの第１のバンク内の前記コラムアドレスに対応する第１のメモリ単位領域と，前記第１のバンクに隣接する第２のバンク内にあり前記第１のメモリ単位領域に隣接する第２のメモリ単位領域とにアクセスし，前記アクセスした第１及び第２のメモリ単位領域の複数のバイト又はビットから，前記組み合わせ情報に基づく組み合わせの複数のバイト又はビットを，前記複数の入出力端子に対応付けるメモリ装置。
【０４２０】
（付記１６）
付記１または２に記載のメモリ装置と，
前記メモリ装置に，前記マルチバンク情報データとを供給し，前記バンクアドレスと前記ロウアドレスと共に前記第１の動作コードを１回供給し，その後，前記活性化された複数のバンクに対応して，第３の動作コードと共に前記バンクアドレスと前記コラムアドレスとを複数回供給するコマンド・アドレス生成部を有し，前記メモリ装置に対してデータを読み出しまたはデータを書き込むメモリコントローラと，
を有するメモリシステム。
【０４２１】
（付記１７）
付記１６において，
前記メモリコントローラは，前記二次元配列データ内の任意の矩形領域の位置とサイズデータを入力し，当該矩形領域の位置とサイズデータに基づいて，前記矩形領域が異なるバンクアドレスの複数のページ領域にまたがるか否かを判定し，当該判定結果に応じて前記マルチバンク情報データを生成するメモリシステム。
【０４２２】
（付記１８）
付記１７において，
前記メモリコントローラは，さらに，前記矩形領域の位置とサイズデータに基づいて，前記矩形領域がまたがる複数のページ領域それぞれのアクセスサイズを生成し，前記第２の動作コードと共に前記バンクアドレスと前記コラムアドレスとを前記アクセスサイズに応じた回数繰り返して前記メモリ装置に出力するメモリシステム。
【０４２３】
（付記１９）
付記１６において，前記第１の動作コードはアクティブコマンド，前記第３の動作コードはリードコマンドまたはライトコマンドであるメモリシステム。
【０４２４】
（付記２０）
付記１または２に記載のメモリ装置を制御するメモリコントローラであって，
前記メモリ装置に，前記マルチバンク情報データとを供給し，前記バンクアドレスと前記ロウアドレスと共に前記第１の動作コードを１回供給し，その後，前記活性化された複数のバンクに対応して，第３の動作コードと共に前記バンクアドレスと前記コラムアドレスとを複数回供給するコマンド・アドレス生成部を有し，
前記メモリ装置に対してデータを読み出しまたはデータを書き込むメモリコントローラ。
【０４２５】
（付記２１）
付記２０において，
前記二次元配列データ内の任意の矩形領域の位置とサイズデータを入力し，当該矩形領域の位置とサイズデータに基づいて，前記矩形領域が異なるバンクアドレスの複数のページ領域にまたがるか否かを判定し，当該判定結果に応じて前記マルチバンク情報データを生成するメモリコントローラ。
【０４２６】
（付記２２）
付記２１において，
さらに，前記矩形領域の位置とサイズデータに基づいて，前記矩形領域がまたがる複数のページ領域それぞれのアクセスサイズを生成し，前記第３の動作コードと共に前記バンクアドレスと前記コラムアドレスとを前記アクセスサイズに応じた回数繰り返して前記メモリ装置に出力するメモリコントローラ。
【０４２７】
（付記２３）
付記１または２に記載のメモリ装置を制御するメモリコントローラであって，
前記メモリ装置がマルチバンク機能を有するか否かのデータを設定するレジスタと，
前記レジスタにマルチバンク機能を有するデータが設定されている場合は，前記メモリ装置に，前記マルチバンク情報データとを供給し，前記バンクアドレスと前記ロウアドレスと共に前記第１の動作コードを１回供給し，その後，前記活性化された複数のバンクに対応して，第３の動作コードと共に前記バンクアドレスと前記コラムアドレスとを複数回供給するコマンド・アドレス生成部を有し，
前記レジスタにマルチバンク機能を有しないデータが設定されている場合は，前記コマンド・アドレス生成部は，前記第１の動作コードをアクセス対象のバンクアドレスとロウアドレスとを，アクセス対象バンクに対応して順次前記メモリ装置に供給し，その後，前記活性化された複数のバンクに対応して，第２の動作コードと共に前記バンクアドレスと前記コラムアドレスとを供給し，
前記メモリ装置に対してデータを読み出しまたはデータを書き込むメモリコントローラ。
【図面の簡単な説明】
【０４２８】
【図１】本実施の形態における画像メモリのメモリマッピングを示す図である。
【図２】画像メモリにおける２つのアクセスを示す図である。
【図３】水平アクセスの課題を示す図である。
【図４】矩形アクセスの第１の課題を示す図である。
【図５】矩形アクセスの第２の課題を示す図である。
【図６】本実施の形態の全体の動作を示す図である。
【図７】本実施の形態の全体の動作の別の例を示す図である。
【図８】本実施の形態における画像処理システムの構成図である。
【図９】本実施の形態における画像メモリの構成図である。
【図１０】バイトバウンダリ機能を説明する図である。
【図１１】バイトバウンダリ機能におけるタイミングチャートを示す図である。
【図１２】異なるマッピングに対するバイトバウンダリ機能を説明する図である。
【図１３】図１２のビッグエンディアンとリトルエンディアンとを説明する図である。
【図１４】特殊なメモリマッピングにおけるバイトバウンダリ機能を説明する図である。
【図１５】図１４の特殊なメモリマッピングを説明する図である。
【図１６】矩形アクセスにおけるバイトバウンダリ機能を示すタイミングチャート図である。
【図１７】バイトバウンダリ機能を実現するための画像処理システムの構成図である。
【図１８】バイトバウンダリ機能を示す図である。
【図１９】簡素化されたバイトバウンダリ機能を実現する画像処理システムの構成図である。
【図２０】図１９の簡素化されたバイトバウンダリ機能を実現する画像処理システムを説明する図である。
【図２１】バイトバウンダリ機能を有するメモリ構成の概念を示す図である。
【図２２】バイトバウンダリ機能を有する画像メモリの第１の例を示す図である。
【図２３】図２２の動作を説明する図である。
【図２４】図２４は，バイトバウンダリ機能を有する画像メモリの第２の例を示す図である。
【図２５】図２４の動作を説明する図である。
【図２６】バイトバウンダリ機能を有する画像メモリの第２の例の変形例（１）の動作を示す図である。
【図２７】バイトバウンダリ機能を有する画像メモリの第２の例の変形例（２）の動作を示す図である。
【図２８】バイトバウンダリ機能を有する画像メモリの第２の例の変形例（３）の動作を示す図である。
【図２９】バイトバウンダリ機能を有する画像メモリの第３の例を示す図である。
【図３０】図２９の動作を説明する図である。
【図３１】バイトバウンダリ機能を有する画像メモリの入出力端子との対応手段を示す図である。
【図３２】図３１の動作を示す図である。
【図３３】バイトバウンダリ機能を有する画像メモリの入出力端子との対応手段を示す図である。
【図３４】図３３の動作を示す図である。
【図３５】バイトバウンダリ機能を有する画像メモリであってエンディアンに対応可能な画像メモリの構成図（１）である。
【図３６】バイトバウンダリ機能を有する画像メモリであってエンディアンに対応可能な画像メモリの構成図（２）である。
【図３７】バイトバウンダリ機能を有する画像メモリであってエンディアンに対応可能な画像メモリの構成図（３）である。
【図３８】図３７のＤＤＲメモリにおけるアップモードの動作タイミングチャート図である。
【図３９】図３７のＤＤＲメモリにおけるダウンモードの動作タイミングチャート図である  。
【図４０】バイトバウンダリ機能におけるバウンダリの指定方法について説明する図であ  る。
【図４１】スタートバイトＳＢとシフトバリューＳＶとの変換回路を示す図である。
【図４２】バイトバウンダリ機能を利用した自動矩形アクセスを説明する図である。
【図４３】自動矩形アクセスでのタイミングチャート図である。
【図４４】自動矩形アクセスに必要な内部コラムアドレス演算器の構成図である。
【図４５】バイトバウンダリ機能によるアクセスがページ領域の末尾に及んだ場合のメモリ動作の例を示す図である。
【図４６】バイトバウンダリ機能によるアクセスがページ領域の末尾に及んだ場合のメモリ動作の別の例を示す図である。
【図４７】バイトバウンダリ機能によるアクセスがページ領域の末尾に及んだ場合のメモリ動作の別の例を示す図である。
【図４８】バイトバウンダリ機能のその他の用途を説明する図である。
【図４９】バイトバウンダリ機能のその他の用途を説明する図である。
【図５０】バイトバウンダリ機能のその他の用途を説明する図である。
【図５１】画像処理システムの構成図である。
【図５２】メモリ制御部（メモリコントローラ）の入力及び出力信号を示す図である。
【図５３】フレーム画像内で読み出し対象の参照画像領域を説明する図である。
【図５４】メモリ制御部の詳細な構成図である。
【図５５】参照画像読み出し制御部５１４での演算処理部５１５の演算を説明する図である。
【図５６】参照画像読み出し制御部５１４での演算処理部５１５の演算例を示す図である。
【図５７】メモリマッピング例を示す図である。
【図５８】メモリマッピング１２におけるページ領域１４の構成を示す図である。
【図５９】図５６の参照画像領域のメモリマップ上での配置を示す図である。
【図６０】参照画像領域のメモリマップ上での別の配置例を示す図である。
【図６１】バイトバウンダリ機能を有しないメモリに対するメモリコントローラでのタイミングチャート図である。
【図６２】バイトバウンダリ機能を有するメモリに対するメモリコントローラでのタイミングチャート図である。
【図６３】バイトバウンダリ機能とマルチバンクアクセス機能を有しないメモリに対するメモリコントローラでのタイミングチャート図である。
【図６４】マルチバンクアクセス機能とバイトバウンダリ機能を有するメモリに対するメモリコントローラにおけるタイミングチャート図である。
【図６５】メモリコントローラの制御動作のフローチャート図である。
【図６６】メモリコントローラの制御動作のフローチャート図である。
【図６７】本実施の形態におけるマルチバンクアクセスについて概略説明図である。
【図６８】本実施の形態におけるマルチバンクアクセスを説明する図である。
【図６９】マルチバンク情報ＳＡ’がバンク数情報（＝４）の場合のタイミングチャート図である。
【図７０】マルチバンク情報ＳＡ’が矩形領域のサイズ情報（Ｗ＝８バイト，Ｈ＝８行）の場合のタイミングチャート図である。
【図７１】マルチバンクアクセス機能を有するメモリ装置の構成図である。
【図７２】マルチバンク活性化制御部８８の第１の例を示す図である。
【図７３】マルチバンク活性化制御部８８の第１の例を示す図である。
【図７４】マルチバンク活性化制御部８８の第２の例を示す図である。
【図７５】マルチバンク活性化制御部８８の第２の例を示す図である。
【図７６】マルチバンク活性化制御部８８の第３の例を示す図である。
【図７７】マルチバンク活性化制御部８８の第３の例を示す図である。
【図７８】バンク活性化タイミングの例１を示す図である。
【図７９】バンク活性化タイミングの例２を示す図である。
【図８０】活性化バンク制御回路８８Ｃのバンク活性化タイミング制御の論理を説明する図である。
【図８１】バンク活性化タイミングの例３を示す図である。
【図８２】本実施の形態におけるマルチバンクアクセスでのロウアドレス生成を説明する図である。
【図８３】本実施の形態におけるロウアドレス演算部の例１を示す図である。
【図８４】本実施の形態におけるロウアドレス演算部の例２を示す図である。
【図８５】２つのメモリマッピング例を示す図である。
【図８６】２種類のメモリマッピングに対するバンクアドレス切換回路８６１を示す図である。
【図８７】マルチバンクアクセスとバイトバウンダリが発生した場合のタイミングチャートを示す図である。
【図８８】マルチバンクアクセスとバイトバウンダリ機能とを有するメモリ装置の構成図である。
【図８９】メモリマッピングの一例を示す図である。
【図９０】本実施の形態におけるメモリコントローラの構成図である。
【図９１】アクセス元ブロックとインターフェース間の信号を示す図である。
【図９２】アクセス対象領域のデータを説明する図である。
【図９３】アクセス元ブロックとインターフェース間の信号のタイミングチャート図である。
【図９４】メモリコントローラの動作概略を示す図である。
【図９５】シーケンサＳＥＱの構成図である。
【図９６】中間パラメータを生成する演算式を説明するための図である。
【図９７】コマンド／アドレス生成部における動作フローチャート図である。
【図９８】メモリコントローラとメモリ装置との間のタイミングチャート図である。
【符号の説明】
【０４２９】
１０：表示デバイス      １２：メモリマッピング      １４，１４Ｅ：メモリ単位領域
１５：画像メモリ      ２２：矩形領域
ＳＡ：リフレッシュバンク情報
ＳＢ，ＢＭＲ：バイト組み合わせ情報
ＳＢ：第１の情報（スタートバイト情報）      ＢＭＲ：第２の情報（ＵＰ，ＤＯＷＮ，ＡＬ）
ＳＡ’：マルチバンク情報      ＲＳ：ロウアドレスステップ数データ
ＣＳＴ，ＣＡＷｒａｐ：コラムアドレスステップ数データ
ＲＳ：ロウアドレスステップ数データ
８１：アクセス元ブロック
８２：メモリコントローラ
８６：メモリ装置
【図４】
2008176765.tif 000003
【図８】
2008176765.tif 000004
【図９】
2008176765.tif 000005
【図１０】
2008176765.tif 000006
【図１１】
2008176765.tif 000007
【図１２】
2008176765.tif 000008
【図１３】
2008176765.tif 000009
【図１４】
2008176765.tif 000010
【図１５】
2008176765.tif 000011
【図１６】
2008176765.tif 000012
【図１７】
2008176765.tif 000013
【図１９】
2008176765.tif 000014
【図２０】
2008176765.tif 000015
【図２１】
2008176765.tif 000016
【図２２】
2008176765.tif 000017
【図２４】
2008176765.tif 000018
【図２９】
2008176765.tif 000019
【図３５】
2008176765.tif 000020
【図３６】
2008176765.tif 000021
【図３７】
2008176765.tif 000022
【図４０】
2008176765.tif 000023
【図４１】
2008176765.tif 000024
【図４２】
2008176765.tif 000025
【図４３】
2008176765.tif 000026
【図４４】
2008176765.tif 000027
【図４５】
2008176765.tif 000028
【図４６】
2008176765.tif 000029
【図４７】
2008176765.tif 000030
【図５１】
2008176765.tif 000031
【図５２】
2008176765.tif 000032
【図５３】
2008176765.tif 000033
【図５４】
2008176765.tif 000034
【図５５】
2008176765.tif 000035
【図５６】
2008176765.tif 000036
【図５７】
2008176765.tif 000037
【図５８】
2008176765.tif 000038
【図５９】
2008176765.tif 000039
【図６０】
2008176765.tif 000040
【図６１】
2008176765.tif 000041
【図６２】
2008176765.tif 000042
【図６３】
2008176765.tif 000043
【図６４】
2008176765.tif 000044
【図６５】
2008176765.tif 000045
【図６６】
2008176765.tif 000046
【図６９】
2008176765.tif 000047
【図７０】
2008176765.tif 000048
【図７１】
2008176765.tif 000049
【図７２】
2008176765.tif 000050
【図７３】
2008176765.tif 000051
【図７４】
2008176765.tif 000052
【図７５】
2008176765.tif 000053
【図７６】
2008176765.tif 000054
【図７７】
2008176765.tif 000055
【図７８】
2008176765.tif 000056
【図７９】
2008176765.tif 000057
【図８０】
2008176765.tif 000058
【図８１】
2008176765.tif 000059
【図８２】
2008176765.tif 000060
【図８３】
2008176765.tif 000061
【図８４】
2008176765.tif 000062
【図８５】
2008176765.tif 000063
【図８６】
2008176765.tif 000064
【図８７】
2008176765.tif 000065
【図８８】
2008176765.tif 000066
【図８９】
2008176765.tif 000067
【図９０】
2008176765.tif 000068
【図９１】
2008176765.tif 000069
【図９２】
2008176765.tif 000070
【図９３】
2008176765.tif 000071
【図９４】
2008176765.tif 000072
【図９５】
2008176765.tif 000073
【図９６】
2008176765.tif 000074
【図９７】
2008176765.tif 000075
【図９８】
2008176765.tif 000076
【図１】
2008176765.tif 000077
【図２】
2008176765.tif 000078
【図３】
2008176765.tif 000079
【図５】
2008176765.tif 000080
【図６】
2008176765.tif 000081
【図７】
2008176765.tif 000082
【図１８】
2008176765.tif 000083
【図２３】
2008176765.tif 000084
【図２５】
2008176765.tif 000085
【図２６】
2008176765.tif 000086
【図２７】
2008176765.tif 000087
【図２８】
2008176765.tif 000088
【図３０】
2008176765.tif 000089
【図３１】
2008176765.tif 000090
【図３２】
2008176765.tif 000091
【図３３】
2008176765.tif 000092
【図３４】
2008176765.tif 000093
【図３８】
2008176765.tif 000094
【図３９】
2008176765.tif 000095
【図４８】
2008176765.tif 000096
【図４９】
2008176765.tif 000097
【図５０】
2008176765.tif 000098
【図６７】
2008176765.tif 000099
【図６８】
2008176765.tif 000100
【手続補正書】
【提出日】平成19年10月10日(2007.10.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
異なるロウアドレスをそれぞれ割り当てられた複数のワード線を含むメモリセルアレイをそれぞれ含み，異なるバンクアドレスをそれぞれ割り当てられたＮ個（＞1）のバンクと，
第１の動作コードに応答して，前記バンク内のワード線の活性化を制御するロウ制御部とを有し，
前記ロウ制御部は，
前記第１の動作コードと共に供給されるマルチバンク情報データと供給バンクアドレスとに応じて，Ｍ個（Ｎ≧Ｍ＞1）のバンクのバンク活性化信号を生成するマルチバンク活性化制御部と，
前記供給バンクアドレスと供給ロウアドレスに応じて，前記Ｍ個の活性化されたバンクのロウアドレスを生成するロウアドレス演算部とを有し，
前記Ｍ個の活性化されたバンクは，前記バンク活性化信号と前記ロウアドレス演算部が生成するロウアドレスとに応じて，少なくとも１つのワード線を活性化するメモリ装置。
【請求項２】
単一半導体基板上に回路を集積した半導体集積回路において、
互いに異なるバンクアドレスを割り当てられた複数のバンクであって、
前記複数のバンクの各々は、複数のメモリセルに接続された複数のワードラインを有し、該複数のワードラインに互いに異なるロウアドレスが割り当てられ、
第一の動作コードと入力されたバンクアドレスとに応答して、前記入力されたバンクアドレスと一致するバンクアドレスを割り当てられたバンクが活性化し、且つ、マルチバンク情報に基づいて、前記入力されたバンクアドレスと異なるバンクアドレスを割り当てられたバンクを少なくとも１つ以上活性化するマルチバンク活性化制御部と、
入力されたロウアドレスに応答して、前記活性化されたバンクの各々に対してロウアドレスを発生するロウアドレス演算部を有する半導体集積回路。
【請求項３】
請求項２において、
前記ロウアドレス演算部は、活性化されたバンクに対して、お互いに異なるロウアドレスを発生することを特徴とする半導体集積回路。
【請求項４】
請求項２又は３において、
前記複数のバンクは、第一のバンクアドレスに割り当てられた第一のバンクと、第二のバンクアドレスに割り当てられた第二のバンクと、第三のバンクアドレス割り当てられた第三のバンクと、第四のバンクアドレス割り当てられた第四のバンクとで構成され、
前記マルチバンク活性化制御部は、
前記入力されたバンクアドレスが第一のバンクアドレスのとき、
前記マルチバンク情報が第一の値の場合、前記第一のバンクと前記第二のバンクを活性化し、
前記マルチバンク情報が第二の値の場合、前記第一のバンクのみを活性化することを特徴とする半導体集積回路。
【請求項５】
請求項４において、
前記マルチバンク活性化制御部は、
前記入力されたバンクアドレスが第一のバンクアドレスの場合に、
前記マルチバンク情報が第三の値の場合、前記第一、第二、第三及び第四のバンクを全て活性化することを特徴とする半導体集積回路。
【請求項６】
請求項４において、
前記第一、第二、第三及び第四のバンクの各々は、第一のロウアドレスに割り当てられた第一のワードラインと、第二のロウアドレスに割り当てられた第二のワードラインと、第三のロウアドレスに割り当てられた第三のワードラインと、第四のロウアドレスに割り当てられた第四のワードラインを有し、
前記ロウアドレス演算部は、
前記入力されたロウアドレスが前記第一のロウアドレスの場合に、
前記マルチバンク情報が第一の値のとき、前記第一のバンク内の前記第一のワードラインを活性化するロウアドレスを、且つ、前記第二のバンク内の前記第二のワードラインを活性化するロウアドレスを生成することを特徴とする半導体集積回路。
【請求項７】
請求項２又は３において、
前記ロウアドレス演算部は、ステップ情報に基づいて、前記入力されたバンクアドレスと異なるバンクアドレスを割り当てられたバンク内のロウアドレスを生成することを特徴とする半導体集積回路。
【請求項８】
請求項４において、
前記ロウアドレス演算部は、ステップ情報に基づいて、前記マルチバンク情報が前記第一の値の場合に、
前記第一のバンク内においては、前記入力されたロウアドレスに対応するワードラインを活性化しするロウアドレスを生成し、前記第二のバンク内においては、前記入力されたロウアドレスと異なるロウアドレスに対応するワードラインを活性化するロウアドレスを生成することを特徴とする半導体集積回路。
【請求項９】
請求項６において、
前記ロウアドレス演算部は、ステップ情報に基づいて、前記マルチバンク情報が前記第一の値の場合に、
前記第一のバンク内においては、前記第一のワードラインを活性化するロウアドレスを生成し、前記第二のバンク内においては、前記第二のワードラインを活性化するロウアドレスを生成することを特徴とする半導体集積回路。
【請求項１０】
請求項７において、
前記ステップ情報は、モードレジスタセットコマンドにより、前記半導体集積回路に搭載されたモードレジスタに記憶されることを特徴とする半導体集積回路。
【請求項１１】
請求項７において、
前記ステップ情報の値をＲＳとし、前記入力されたロウアドレスをＲＡとした場合、前記ロウアドレス演算部は、ＲＡ、ＲＡ＋１、ＲＡ＋ＲＳ、ＲＡ＋ＲＳ＋１をロウアドレスとして発生し、前記発生されたロウアドレスのうちお互いに異なるロウアドレスを前記活性化バンクの各々に供給することを可能とする半導体集積回路。
【請求項１２】
単一半導体基板上に回路を集積した半導体集積回路において、
複数のデータ出力端子と、
異なるバンクアドレスを割り当てられた複数のバンクと、
前記複数のバンクの各々は、異なるロウアドレスに割り当てられた複数のワードラインを有し、各ワードラインに接続された複数のメモリセルは、複数のメモリ単位領域を有し、前記複数のメモリ単位領域はお互いに異なるコラムアドレスを割り当てられ、
第一の動作コードと入力されたバンクアドレスとに応答して、前記入力されたバンクアドレスと一致するバンクアドレスを割り当てられたバンクを活性化し、且つ、マルチバンク情報に基づいて、前記入力されたバンクアドレスと一致しないバンクアドレスを割り当てられたバンクを少なくとも１つ以上活性化するマルチバンク活性化制御部と、
入力されたロウアドレスに応答して、前記活性化されたバンクの各々に対してロウアドレスを発生するロウアドレス演算部と、
前記ロウアドレス演算部から発生されたロウアドレスに基づいてワードラインを活性化するロウデコーダと、
入力されたコラムアドレスと組み合わせ情報に基づいて、前記活性化されたワードラインに接続された複数のメモリ単位領域からのデータを前記複数のデータ出力端子に並列に出力する制御部を有する半導体集積回路。