(57)【要約】      （修正有）【課題】無駄なデータを読むことなく列単位又は複数列にわたる範囲のデータを選択的にアクセスする。【解決手段】メモリを２つ用いて１つのメモリに対するようにアドレスにアクセスしてメモリを使用するメモリマッピング方法において、片方のメモリにはアドレスの一部のビットを反転させることによりアドレス値を変化させて、ブロックアクセス１又はラインアクセス２のように同一アドレスに対して異なる範囲のデータを指定可能とする。【選択図】図１
2006099447.tif 000002
【特許請求の範囲】
【請求項１】
メモリを２つ用いて１つのメモリに対するようにアドレスにアクセスしてメモリを使用するメモリマッピング方法において、
上記アドレス値の一部のビットを反転させることにより上記アドレス値を変化させて、
同一アドレスに対して異なる範囲のデータを指定可能とする
ことを特徴とするメモリマッピング方法。
【請求項２】
メモリを２つ用いて１つのメモリに対するようにアドレスにアクセスしてメモリを使用するメモリインターフェイス回路において、
上記アドレス値の一部のビットを反転させることにより上記アドレス値を変化させて、同一アドレスに対して異なる範囲のデータを指定可能とするようにメモリマッピングされたメモリと、
上記メモリマッピングに対応して２つのメモリそれぞれに１ビットのみ違う物理アドレスを与えるように物理アドレスを生成する物理アドレス生成部と
を備えたことを特徴とするメモリインターフェイス回路。
【請求項３】
請求項２記載のメモリインターフェイス回路において、
上記物理アドレス生成部は、物理アドレスの少なくとも１ビット以上をそれぞれのメモリに与えて複数のアドレス生成を可能とすることを特徴とするメモリインターフェイス回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、メモリを２つ使って１つのメモリであるかのように用いるメモリマッピング方法及びメモリインターフェイス回路に関する。
【背景技術】
【０００２】
従来、大量のデータをなるべく少ない時間でメモリにアクセスするためには、メモリを複数個使ってデータ幅を増やして処理可能なバンド幅を大きくしたり、メモリの各バンクへのコマンドが重ならないように発行するコマンドを少なくするために、アクセス対象のバースト長を増やすようにしていた（特許文献１参照）。
【特許文献１】特開2002-175215号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
そのため、ある一方のアクセス方法に特化してマッピングを決めると、もう一方のアクセス方法は一度にアクセスできるデータ中の無効なデータの割合が大きくなってしまうという不都合があった。
【０００４】
例として、１６画素（１画素は８ｂｉｔ）×８ラインのブロックごとに画像を、１７１で示すように６４ｂｉｔデータ幅、バースト長４でメモリにアクセスするように特化した図１７のようなマッピングを考える。この場合、図１８の１８１に示すようにブロックアクセスはブロック内を容易に無駄なくアクセスすることができるが、図１９の１９１に示すようにラインアクセスは１回のバーストではどうしても２ラインに渡ってアクセスをしなければならず、半分が無駄なデータとして扱われてしまう。
このため、データ幅やバースト長を変えることなくしかも無駄なデータを少なくする工夫が必要となる。
【０００５】
そこで、本発明は、無駄なデータを読むことなく列単位又は複数列にわたる範囲のデータを選択的にアクセスすることが可能となるメモリマッピング方法及びメモリインターフェイス回路を提供することを目的とするものである。
【課題を解決するための手段】
【０００６】
上記課題を解決し、本発明の目的を達成するため、本発明のメモリマッピング方法は、アドレスの一部を反転させることにより変化させて、同一アドレスに対して異なる範囲のデータを指定可能とするものである。
【０００７】
これにより、画像の復号装置が使うブロック単位でのアクセスと画像の表示装置が使うライン方向のアクセス両方を効率的に行うための画像のメモリマッピング方法を得ることができる。
【０００８】
また、本発明のメモリインターフェイス回路は、アドレスの一部を反転させることにより変化させて、同一アドレスに対して異なる範囲のデータを指定可能とするようにメモリマッピングされたメモリと、メモリマッピングに対応して２つのメモリそれぞれに１ビットのみ違う物理アドレスを与えるように物理アドレスを生成する物理アドレス生成部とを備えたものである。
【０００９】
これにより、アドレスの１ビットのみを反転させて物理アドレスを与えるだけなので、簡単な構成で物理アドレスの生成を実現することができる。
【発明の効果】
【００１０】
本発明によれば、メモリマッピングと物理アドレスのうちの１ビットのみを変化させて２つのメモリのそれぞれに与えることによって、データ幅を変えずにバンド幅はそのままで、バースト長を短くする必要もないのでメモリのバンク間でのコマンドの重なりもなく、メモリにアクセスするデータのうち有効なデータの割合が、画像に対するブロックアクセスとラインアクセス両方とも１００％になり、効率的に大きいままのメモリのバンド幅を使うことができるようになるという効果を奏する。
【００１１】
さらに、アドレスのたった１ビットを反転させて、２つのメモリのうちの片方のメモリにメモリインターフェイス回路を接続するということだけで実現可能であり、メモリへのコマンドの発行の仕方も一定なので、新たなコマンド発行の回路やアドレス生成の回路が必要なくなるという効果を奏する。
【発明を実施するための最良の形態】
【００１２】
以下に、本発明の実施の形態について、適宜、図面を参照しながら説明する。
図１は、本発明のメモリマッピングを示す図である。
図１のようなメモリマッピングを考える。この図ではマス１つがメモリの１アドレス分のデータであり、マスの中に書いてある数字がアドレスである。マスの色の違いはそれが別メモリであるということを示している。この図では白いマスとグレーのマスの２色があるので、２つのメモリが存在していることになる。
【００１３】
この２つのメモリに対して同じアドレスを与え、４バーストアクセスすれば１で示すような縦２×横４のブロックアクセスを行う。また、グレーのマスのアドレスのメモリにアドレスの下位３ビット目を反転したアドレスを出力すると、２で示すような縦１×横８のラインアクセスを行う。これらをそれぞれ連続して行えばブロック型にアクセス、ライン型にアクセスが可能となる。
【００１４】
図２は、１ビット反転のメモリマッピングを示し、図２Ａはブロックアクセスとラインアクセスの切り替え、図２Ｂはバーストアクセスの量の変化、図２Ｃはブロックアクセスとラインアクセスでアドレス逆転を示している。
【００１５】
上記では一例を示したが、一般にはメモリマッピングを図２Ａのようにすればアドレスの下位（ｎ＋１）  ビット目を反転させることでブロックアクセス２１とラインアクセス２２を切り替えることが可能となる。また、図２Ｂのようにブロックアクセス２３とラインアクセス２４でバーストアクセスの量を変えることも可能であり、図２Ｃのようにブロックアクセス２５とラインアクセス２６のアドレスに対する立場を逆転させることも可能である。
【００１６】
図３は、２ビット反転のメモリマッピングを示す図である。
図２の例では１ビットのみを反転させる方式であったが、図３では２ビットを変化させることを考えてみる。
そのために図３のようなメモリマッピングを考える。このときメモリは４つ使っていて、それぞれ白マス、白マスに斜線、グレーマス、グレーマスに斜線で４種類のマスがメモリを示している。
【００１７】
４つのメモリに同じアドレスを与えて４バーストアクセスすると、３１で示すように４×４のブロックアクセスとなる。グレーのマスのメモリのアドレスの下位３ビット目を反転すると３２で示すように２ラインのアクセスとなる。さらに白マスに斜線のメモリはアドレスの下位３ビット目と４ビット目を反転、グレーマス黒字のメモリはアドレスの下位４ビット目を反転、グレーマスで斜線のメモリはアドレスの下位３ビット目を反転すると、３３で示すように１ラインのアクセスも可能となる。
【００１８】
図４は、縦２列及び横２行アクセスによるメモリマッピングを示す図である。
ここで、さらに図４のようなメモリマッピングを考える。これも図１と同様に２つのメモリを使っていることとする。
【００１９】
この場合、２つのメモリに対して同じアドレスを与えて４バーストアクセスすれば、４１で示すように縦の２列のデータにアクセスできる。そして、グレーのマスのアドレスのメモリにだけアドレスの下位２ビット目を反転したアドレスを出力すると、４２で示すように横の２行にアクセスできる。
【００２０】
図５は、図１に対するメモリインターフェイス回路の回路図を示すものである。
図５において、２つのメモリ５２，５３に対して同じアドレス０〜３を与え、メモリインターフェイス回路５１で下位３ビット目のアドレス２をラインアクセスで１又は０を選択することより、正転又は反転したアドレスを出力可能に構成する。
【００２１】
図６は、図１に対するアドレスデコード表を示す図である。
図６Ａにおいて、下位３ビット目のアドレス２のラインアクセス＝０のとき、メモリインターフェイス側６１の００００，０００１，００１０，００１１に対して、メモリ側６２も２つのメモリ５２，５３とも同じ００００，０００１，００１０，００１１となるようにデコードして出力される。これを並べ替えして、６３で示すようにメモリ５２に０，１，２，３，メモリ５３に０，１，２，３のアドレスにアクセスされるので、６４で示すような縦２×横４のブロックアクセスを行うことができる。
【００２２】
また、図６Ｂにおいて、下位３ビット目のアドレス２のラインアクセス＝１のとき、メモリインターフェイス側６５の００００，０００１，００１０，００１１に対して、メモリ側６２はメモリ５２は同じ００００，０００１，００１０，００１１となるが，メモリ５３は下位３ビット目を反転したアドレスを出力して０１００，０１０１，０１１０，０１１１となるようにデコードして出力される。これを並べ替えして、６７で示すようにメモリ５２に０，１，２，３，メモリ５３に４，５，６，７のアドレスにアクセスされるので、６８で示すような縦１×横８のラインアクセスを行うことができる。
【００２３】
図７は、図２Ａに対するメモリインターフェイス回路の回路図を示すものである。
図７において、２つのメモリ７２，７３に対して同じアドレス０〜ｎ、ｎ＋１を与え、メモリインターフェイス回路７１で下位（ｎ＋１）ビット目のアドレスｎをラインアクセスで１又は０を選択することより、正転又は反転したアドレスを出力可能に構成する。
【００２４】
図８は、図２Ａに対するアドレスデコード表を示す図である。
図８Ａにおいて、下位（ｎ＋１）ビット目のアドレスｎのラインアクセス＝０のとき、メモリインターフェイス側８１の００００，０００１，００１０，００１１に対して、メモリ側８２も２つのメモリ７２，７３とも同じ００００，０００１，００１０，００１１となるようにデコードして出力される。これを並べ替えして、８３で示すようにメモリ７２に０，１，２，３，メモリ７３に０，１，２，３のアドレスにアクセスされるので、８４で示すような縦２×横４のブロックアクセスを行うことができる。
【００２５】
また、図８Ｂにおいて、下位（ｎ＋１）ビット目のアドレスｎのラインアクセス＝１のとき、メモリインターフェイス側８５の００…０００，００…００１，００…０１０，００…０１１に対して、メモリ側８６はメモリ７２は同じ００…０００，００…００１，００…０１０，００…０１１となるが，メモリ７３は下位（ｎ＋１）ビット目を反転したアドレスを出力して０１…０００＝２のｎ乗，０１…００１＝２のｎ乗＋１，０１…０１０＝２のｎ乗＋２，０１…０１１＝２のｎ乗＋３となるようにデコードして出力される。これを並べ替えして、８７で示すようにメモリ７２に０，１，２，３，メモリ７３に２のｎ乗，２のｎ乗＋１，２のｎ乗＋２，２のｎ乗＋３のアドレスにアクセスされるので、８８で示すような縦１×横２のｎ乗＋３のラインアクセスを行うことができる。
【００２６】
図９は、図２Ｃに対するメモリインターフェイス回路の回路図を示すものである。
図９において、２つのメモリ９２，９３に対して同じアドレス０〜ｎ、ｎ＋１を与え、メモリインターフェイス回路９１で下位（ｎ＋１）ビット目のアドレスｎをラインアクセスで１又は０を選択することより、図２Ｃに示すブロックアクセス２５とラインアクセス２６のアドレスに対する立場を逆転させて、正転又は反転したアドレスを出力可能に構成する。
【００２７】
図１０は、図２Ｃに対するアドレスデコード表を示す図である。
図１０Ａにおいて、下位（ｎ＋１）ビット目のアドレスｎのラインアクセス＝０のとき、メモリインターフェイス側１０１の００…０００，００…００１，００…０１０，００…０１１に対して、メモリ側１０２はメモリ９２は同じ００…０００，００…００１，００…０１０，００…０１１となるが，メモリ９３は下位（ｎ＋１）ビット目を反転したアドレスを出力して０１…０００＝２のｎ乗，０１…００１＝２のｎ乗＋１，０１…０１０＝２のｎ乗＋２，０１…０１１＝２のｎ乗＋３となるようにデコードして出力される。これを並べ替えして、１０３で示すようにメモリ９２に０，１，２，３，メモリ９３に２のｎ乗，２のｎ乗＋１，２のｎ乗＋２，２のｎ乗＋３のアドレスにアクセスされるので、１０４で示すようなブロックアクセス２５とラインアクセス２６のアドレスに対する立場を逆転させて、縦２×横４、２のｎ乗＋３のブロックアクセスを行うことができる。
【００２８】
また、図１０Ｂにおいて、下位（ｎ＋１）ビット目のアドレスｎのラインアクセス＝１のとき、メモリインターフェイス側１０５の００００，０００１，００１０，００１１に対して、メモリ側１０６も２つのメモリ９２，９３とも同じ００００，０００１，００１０，００１１となるようにデコードして出力される。これを並べ替えして、１０７で示すようにメモリ９２に０，１，２，３，メモリ９３に０，１，２，３のアドレスにアクセスされるので、１０８で示すようなブロックアクセス２５とラインアクセス２６のアドレスに対する立場を逆転させて、縦１×横８のラインアクセスを行うことができる。
【００２９】
図１１は、図３に対するメモリインターフェイス回路の回路図を示すものである。
図１１において、４つのメモリ１１２，１１３，１１４，１１５に対して同じアドレス０〜３を与え、メモリインターフェイス回路１１１で下位３ビット目のアドレス２、及び下位４ビット目のアドレス３を１ラインアクセス又は２ラインアクセスで１又は０を選択することより、正転又は反転したアドレスを出力可能に構成する。
【００３０】
ここで、メモリインターフェイス回路１１１は、４バーストアクセスすると４×４のブロックアクセスとなり、下位３ビット目を反転すると２ラインのアクセスとなり、さらに下位４ビット目を反転すると１ラインのアクセスも可能となるように構成する。
【００３１】
図１２は、図３に対するアドレスデコード表その１を示す図である。
図１２において、下位３ビット目のアドレス２のラインアクセス＝０、及び下位４ビット目のアドレス３＝０のとき、メモリインターフェイス側１２１の００００，０００１，００１０，００１１に対して、メモリ側１２２も４つのメモリ１１２，１１３，１１４，１１５とも同じ００００，０００１，００１０，００１１となるようにデコードして出力される。これを並べ替えして、１２３で示すようにメモリ１１２に０，１，２，３，メモリ１１３に０，１，２，３、メモリ１１４に０，１，２，３，メモリ１１５に０，１，２，３のアドレスにアクセスされるので、１２４で示すような縦４×横４のブロックアクセスを行うことができる。
【００３２】
また、図１３は、図３に対するアドレスデコード表その２を示す図である。
図１３において、下位３ビット目のアドレス２のラインアクセス＝１、及び下位４ビット目のアドレス３＝０のとき、メモリインターフェイス側１３１の００００，０００１，００１０，００１１に対して、メモリ側１３２はメモリ１１２，１１３は同じ００００，０００１，００１０，００１１となるが，メモリ１１４，１１５は下位３ビット目を反転したアドレスを出力して０１００，０１０１，０１１０，０１１１となるようにデコードして出力される。これを並べ替えして、１３３で示すようにメモリ１１２に０，１，２，３，メモリ１１４に４，５，６，７、メモリ１１３に０，１，２，３，メモリ１１５に４，５，６，７のアドレスにアクセスされるので、１３４で示すような縦２×横８のラインアクセスを行うことができる。
【００３３】
また、図１４は、図３に対するアドレスデコード表その３を示す図である。
図１３において、下位３ビット目のアドレス２のラインアクセス＝０、及び下位４ビット目のアドレス３＝１のとき、メモリインターフェイス側１４１の００００，０００１，００１０，００１１に対して、メモリ側１４２はメモリ１１２は同じ００００，０００１，００１０，００１１となるが，メモリ１１３は下位４ビット目及び下位３ビット目を反転したアドレスを出力して１１００，１１０１，１１１０，１１１１、メモリ１１４は下位４ビット目を反転したアドレスを出力して１０００，１００１，１０１０，１０１１、メモリ１１５は下位３ビット目を反転したアドレスを出力して０１００，０１０１，０１１０，０１１１となるようにデコードして出力される。これを並べ替えして、１４３で示すようにメモリ１１２に０，１，２，３，メモリ１１５に４，５，６，７、メモリ１１４に８，９，１０，１１，メモリ１１３に１２，１３，１４，１５のアドレスにアクセスされるので、１４４で示すような縦１×横６のラインアクセスを行うことができる。
【００３４】
図１５は、図４に対するメモリインターフェイス回路の回路図を示すものである。
図１５において、２つのメモリ１５２，１５３に対して同じアドレス０〜３を与え、メモリインターフェイス回路１５１で下位３ビット目のアドレス２を、縦２列又は横２行などをまとめた水平範囲のアドレスを指定するホリゾンタルアクセスで１又は０を選択することより、正転又は反転したアドレスを出力可能に構成する。
【００３５】
この場合、メモリインターフェイス回路１５１は、２つのメモリ１５２，１５３に対して同じアドレスを与えて４バーストアクセスすれば、図４の４１に示す縦の２列のデータにアクセスでき、メモリ１５３にだけアドレスの下位２ビット目を反転したアドレスを出力すると、図４の４２に示す横の２行にアクセスできるように構成される。
【００３６】
図１６は、図４に対するアドレスデコード表を示す図である。
図１６Ａにおいて、下位３ビット目のアドレス２のホリゾンタルアクセス＝０のとき、メモリインターフェイス側１６１の００００，０００１，００１０，００１１に対して、メモリ側１６２も２つのメモリ１５２，１５３とも同じ００００，０００１，００１０，００１１となるようにデコードして出力される。これを並べ替えして、１６３で示すようにメモリ１５２に０，１，２，３，メモリ１５３に０，１，２，３のアドレスにアクセスされるので、１６４で示すような縦２列のホリゾンタルアクセスを行うことができる。
【００３７】
また、図１６Ｂにおいて、下位３ビット目のアドレス２のホリゾンタルアクセス＝１のとき、メモリインターフェイス側１６５の００００，０００１，００１０，００１１に対して、メモリ側１６２はメモリ１５２は同じ００００，０００１，００１０，００１１となるが，メモリ１５３は下位３ビット目を反転したアドレスを出力して０１００，０１０１，０１１０，０１１１となるようにデコードして出力される。これを並べ替えして、１６７で示すようにメモリ１５２に０，１，２，３，メモリ１５３に４，５，６，７のアドレスにアクセスされるので、１６８で示すような横２行のホリゾンタルアクセスを行うことができる。
【００３８】
上述した本実施の形態に限らず、本発明の特許請求の範囲内であれば、適宜、他の構成をとりうることは言うまでもない。
【図面の簡単な説明】
【００３９】
【図１】本発明のメモリマッピングを示す図である。
【図２】１ビット反転のメモリマッピングを示し、図２Ａはブロックアクセスとラインアクセスの切り替え、図２Ｂはバーストアクセスの量の変化、図２Ｃはブロックアクセスとラインアクセスでアドレス逆転である。
【図３】２ビット反転のメモリマッピングを示す図である。
【図４】縦２列及び横２行アクセスによるメモリマッピングを示す図である。
【図５】図１に対するメモリインターフェイス回路の回路図を示すものである。
【図６】図１に対するアドレスデコード表を示す図であり、図６Ａは下位３ビット目のアドレス２のラインアクセス＝０のとき、図６Ｂは下位３ビット目のアドレス２のラインアクセス＝１のときである。
【図７】図２Ａに対するメモリインターフェイス回路の回路図を示すものである。
【図８】図２Ａに対するアドレスデコード表を示す図であり、図８Ａは下位３ビット目のアドレス２のラインアクセス＝０のとき、図８Ｂは下位３ビット目のアドレス２のラインアクセス＝１のときである。
【図９】図２Ｃに対するメモリインターフェイス回路の回路図を示すものである。
【図１０】図２Ｃに対するアドレスデコード表を示す図であり、図１０Ａは下位３ビット目のアドレス２のラインアクセス＝０のとき、図１０Ｂは下位３ビット目のアドレス２のラインアクセス＝１のときである。
【図１１】図３に対するメモリインターフェイス回路の回路図を示すものである。
【図１２】図３に対するアドレスデコード表その１を示す図である。
【図１３】図３に対するアドレスデコード表その２を示す図である。
【図１４】図３に対するアドレスデコード表その３を示す図である。
【図１５】図４に対するメモリインターフェイス回路の回路図を示すものである。
【図１６】図４に対するアドレスデコード表を示す図であり、図１６Ａは下位３ビット目のアドレス２のホリゾンタルアクセス＝０のとき、図１６Ｂは下位３ビット目のアドレス２のホリゾンタルアクセス＝１のときである。
【図１７】従来のメモリマッピングを示す図である。
【図１８】従来のブロックアクセスを示す図である。
【図１９】従来のラインアクセスを示す図である。
【符号の説明】
【００４０】
１…ブロックアクセス、２…ラインアクセス、２１…ブロックアクセス、２２…ラインアクセス、２３…ブロックアクセス、２４…ラインアクセス、２５…ブロックアクセス、２６…ラインアクセス、３１…ブロックアクセス、３２…ラインアクセス、３３…１ラインアクセス、４１…縦２列アクセス、４２…横２行アクセス
【図１】
2006099447.tif 000003
【図２】
2006099447.tif 000004
【図３】
2006099447.tif 000005
【図４】
2006099447.tif 000006
【図５】
2006099447.tif 000007
【図６】
2006099447.tif 000008
【図７】
2006099447.tif 000009
【図８】
2006099447.tif 000010
【図９】
2006099447.tif 000011
【図１０】
2006099447.tif 000012
【図１１】
2006099447.tif 000013
【図１２】
2006099447.tif 000014
【図１３】
2006099447.tif 000015
【図１４】
2006099447.tif 000016
【図１５】
2006099447.tif 000017
【図１６】
2006099447.tif 000018
【図１７】
2006099447.tif 000019
【図１８】
2006099447.tif 000020
【図１９】
2006099447.tif 000021