(57)【要約】【課題】時間的に変化するビット変化の抑制を行うことで、メモリアクセス動作の消費電力の削減を図ること。【解決手段】マスターデバイス１００は、転送データと次転送データとのハミング距離が最も小さくなるようにデータの書き込み順序を並び替えるメモリアクセス順序並替部１０２を備え、転送データと次転送データとのハミング距離が最も小さくなるように並び替えたデータによりメモリ２００へのアクセスを行う。すなわち、まず、マスターデバイスが必要とするメモリアクセスが発生した際、逐次アクセスを行わず、メモリ２００にアクセスする前に、一旦、アクセスするデータをメモリアクセス順序並替部１０２にバッファリングする。メモリアクセス順序並替部１０２では、蓄積された数回分のアクセスデータの中から、アクセスする前後での、データのハミング距離が小さくなるようにアクセスの順序を入れ替える。【選択図】図１
2007140858.tif 000002
【特許請求の範囲】
【請求項１】
転送データと次転送データとのハミング距離が最も小さくなるようにデータの書き込み順序を並び替えるステップと、
並び替えたデータによりメモリへのアクセスを行うステップと
を有することを特徴とするメモリアクセス方法。
【請求項２】
第１のアドレスと第２のアドレスとのハミング距離が最も小さくなるようにアドレス順序を並び替えるステップと、
並び替えたアドレスによりメモリへのアクセスを行うステップと
を有することを特徴とするメモリアクセス方法。
【請求項３】
ハミング距離が最も小さくなるように書き込み順序の並び替えを検討するデータの候補数と、並び替え候補データを確保するために要する転送時間のオーバヘッドとを選択するステップを有することを特徴とする請求項１又は請求項２に記載のメモリアクセス方法。
【請求項４】
転送データと次転送データとのビット配列の全部又は一部のビット変化を、予め予約データとして格納するステップと、
前記ビット変化が前記予約データと一致していることを判定するステップと、
前記ビット変化が前記予約データと一致しているとき、前記転送データから前記次転送データへの変化を禁止するステップと、
前記一致情報をメモリ側に伝えることでデータ転送を行うステップと
を有することを特徴とする請求項１乃至請求項３のいずれかに記載のメモリアクセス方法。
【請求項５】
前転送データと次転送候補の全データとを比較するステップと、
前記前転送データからのハミング距離が最も小さい次転送データを選択するステップと
を有することを特徴とする請求項１乃至請求項４のいずれかに記載のメモリアクセス方法。
【請求項６】
転送候補のデータ転送順序全ての組合せを通して、最もビット変化の小さい転送順序を判定するステップを有することを特徴とする請求項１乃至請求項５のいずれかに記載のメモリアクセス方法。
【請求項７】
次転送候補データバッファ部がエンプティの状態で一番最初に発生したメモリアクセスをメモリに対して出力するステップと、
次のメモリアクセス発生以降、次転送候補データを前記バッファ部に蓄積するステップとを有することを特徴とする請求項１乃至請求項６のいずれかに記載のメモリアクセス方法。
【請求項８】
次転送候補データバッファ部がエンプティの状態で一番最初に発生したメモリアクセスから前記バッファ部に蓄積していくステップを有することを特徴とする請求項１乃至請求項７のいずれかに記載のメモリアクセス方法。
【請求項９】
連続するメモリアクセスの終わりを検出するステップと、
前記連続するメモリアクセスの終わりを検出すると、請求項１乃至請求項８のいずれか一項に記載のメモリアクセス方法を繰り返して、次転送候補データバッファ部の残りのデータを全てメモリへ出力するステップとを有することを特徴とする請求項１乃至請求項８のいずれかに記載のメモリアクセス方法。
【請求項１０】
メモリアクセス発生を検出するステップと、
前記メモリアクセスが発生するまでは、次転送候補データバッファ部にデータに蓄積しておくステップとを有することを特徴とする請求項１乃至請求項９のいずれかに記載のメモリアクセス方法。
【請求項１１】
転送候補のデータの中で、まず、データ配列中のビットデータ“１”の数の少ないもの同士、又はビットデータ“１”の数の多いもの同士でハミング距離を比較して最小ハミング距離を判定するステップを有することを特徴とする請求項１乃至請求項１０のいずれかに記載のメモリアクセス方法。
【請求項１２】
メモリから出力する読み出しデータの時系列上のハミング距離が最も小さくなるように前記メモリ出力データの順序を並び替えるステップと、
前記メモリから返ってきた読み出しデータを、前記並び替え前の読み出し順序に並び替え戻すステップと
を有することを特徴とするメモリアクセス方法。
【請求項１３】
メモリから出力する読み出しデータの時系列上のハミング距離が最も小さくなるように前記メモリ出力データの順序を並び替えるステップと、
前記メモリ側で並び替えた情報をメモリインタフェース機能に転送し、かつ、前記メモリ側で並び替えた情報を用いて、前記メモリから返ってきた読み出しデータを、前記並び替え前の読み出し順序に並び替え戻すステップと
を有することを特徴とするメモリアクセス方法。
【請求項１４】
読み出し制御用のアドレスの時系列上のハミング距離が最も小さくなるように、読み出しアドレス順序を並び替えるステップと、
前記メモリから返された読み出しデータを、前記並び替え前の読み出し順序に並び替え戻すステップと
を有することを特徴とするメモリアクセス方法。
【請求項１５】
メモリへの書き込みを制御するメモリアクセス装置であって、
転送データと次転送データとのハミング距離が最も小さくなるようにデータの書き込み順序を並び替える並替手段
を備えることを特徴とするメモリアクセス装置。
【請求項１６】
前記並替手段は、並び替えを行う対象データを一次格納する次転送候補データ格納部と、
前記次転送候補データ格納部内の全データと前転送データとを比較し、前記次転送候補データ格納部から、前転送データからのハミング距離が最も小さい次転送データを選択する選択手段と
を備えることを特徴とする請求項１５に記載のメモリアクセス装置。
【請求項１７】
ハミング距離が最も小さくなるように書き込み順序の並び替えを検討するデータの候補数と、並び替え候補データを確保するために要する転送時間のオーバヘッドとを選択するモード選択手段を備えることを特徴とする請求項１６記載のメモリアクセス装置。
【請求項１８】
メモリ側出力の読み出しデータの時系列上のハミング距離が最も小さくなるように、前記メモリ側出力の読み出しデータの読み出し順序を並び替える並替手段と、
前記メモリから返された読み出しデータを、前記並替手段における並び替え前の読み出し順序に並び替え戻す読出データ順序復元手段と
を備えることを特徴とするメモリアクセス装置。
【請求項１９】
メモリから出力する読み出しデータの時系列上のハミング距離が最も小さくなるように、前記メモリ出力データの順序を並び替える並替手段と、
前記メモリ側で並び替えた情報を、メモリ読み出しデータ受け取り側へ伝送する並替情報送信手段とをメモリ側に備え、
前記メモリ側で並び替えた情報を用いて、前記メモリから返された読み出しデータを、前記並び替え前の読み出し順序に並び替え戻す読出データ順序復元手段と
を備えることを特徴とするメモリアクセス装置。
【請求項２０】
読み出し制御用のアドレスの時系列上のハミング距離が最も小さくなるように、読み出しアドレス順序を並び替える並替手段と、
メモリから返された読み出しデータを、前記並替手段における並び替え前の読み出し順序に並び替え戻す読出データ順序復元手段と
を備えることを特徴とするメモリアクセス装置。
【請求項２１】
転送データと次転送データとのデータ配列の全て又は一部が一致することを判定する判定手段と、
前記一致情報をメモリ側に伝えることでデータ転送を行う伝送手段と
を備えることを特徴とするメモリアクセス装置。
【請求項２２】
転送データと次転送データとのビット配列の全部又は一部のビット変化を、予め予約データとして格納する予約データ格納手段と、
前記ビット変化が前記予約データと一致していることを判定する判定手段と、
前記一致情報をメモリ側に伝えることでデータ転送を行う伝送手段と
を備えることを特徴とするメモリアクセス装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリアクセス方法及びメモリアクセス装置に関し、特に消費電力を少なくすることができる外部メモリアクセス、内部メモリアクセス、ＣＰＵアクセスなどの改良に関する。
【背景技術】
【０００２】
近年、携帯機器の伝送レートの高速化と端末の多機能化により、処理するデータ量は増大し、大容量の外部メモリとの間で大量のデータを高速にアクセスする需要が高まっている。
【０００３】
一方、端末の高機能化を支えるＬＳＩプロセスの微細化により、ＬＳＩ内部の負荷容量は小さくなって、外部負荷容量との差が広がり、ＬＳＩ全体の消費電力のうちＩＯ電力の占める割合が大きくなってきている。
【０００４】
特許文献１には、ＡＬＵからのアドレッシングがハミング距離（hamming's distance）で行われるように命令順序の配置替えを行うプログラム変換方法が記載されている。また、特許文献２には、前命令と排他的論理和によってハミング距離小の次コードを決めることで命令コードのトグルを抑え低消費電力を図るプログラム変換装置が記載され、特許文献３には、ハミング距離最小となる変換回路を設け消費電力を少なくする信号処理装置が記載されている。さらに、特許文献４には、隣接するアドレスのハミング距離を１とするコードの系列に従ってアクセスする半導体記憶装置が記載されている。
【特許文献１】特開平９−１１４６７６号公報
【特許文献２】特開２００２−２２９８０２号公報
【特許文献３】特開平５−１３５１８７号公報
【特許文献４】特開平８−６３９６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような従来のメモリへのアクセス動作では、時間的に変化するビット変化を抑制する概念がなく、マスターデバイス側でメモリへのアクセスの必要が発生したときに、逐次アクセスを行う方法で行われている。このため、以下に述べるように、メモリアクセス動作の消費電力の低減効果が十分ではないという問題がある。
【０００６】
図１７は、近年のＬＳＩの内部負荷容量と外部負荷容量との差を説明する図である。
【０００７】
図１７において、１０はＬＳＩ内部のマスターデバイス、２０はマスターデバイス１０に外部接続される外部メモリであり、マスターデバイス１０と外部メモリ２０はデータライン３０により接続されている。マスターデバイス１０は、内部バッファ１１と、ＩＯバッファ１２とを有する。内部バッファ１１は、ＬＳＩ内部の負荷容量を表現するための内部回路の一例であり、ＩＯバッファ１２は、外部負荷容量を表現するための外部メモリＩＦ（インターフェース）−ＩＯの一例である。また、外部メモリ２０は、マスターデバイス１０からのデータを受けるＩＯバッファ２１を有する。内部バッファ１１で象徴的に示されるＬＳＩ内部の負荷容量ＣＩＮは、数十[ｆＦ]であるのに対し、ＬＳＩ外部（ここではデータライン３０）の負荷容量ＣＯＵＴは、数十[ｐＦ]である。近年の微細プロセスでは、ＬＳＩの内部負荷容量は、ＬＳＩの外部負荷容量の約１０００分の１程にもなっている。ここで、ＣＭＯＳ回路の消費電流はドライブする負荷容量に比例するので、１つのＩＯバッファ１２の消費電流は、１つの内部バッファ１１の消費電流より約１０００倍大きい。
【０００８】
また、近年のデータ処理量の増加により、外部メモリ２０へのアクセスは高速性も必要とされ、データライン３０は、動作周波数も２００ＭＨｚを超え、ライン数も３２ｂｉｔ以上の多ビットになってきている。上記ＣＭＯＳ回路の消費電流は周波数にも比例するので、高周波数になった分についてもＩＯ消費電流は増大し、また、端子数が増えた分もＩＯ消費電流は増大する。
【０００９】
現在、携帯機器の携帯性を実現するための、携帯機器の低消費電流化は、半導体プロセスの微細化に負うところが大きい。
【００１０】
以上のことをまとめると、近年では、ＩＯの消費電流がＬＳＩ全体の消費電流の半分を占めるまでに至り、外部メモリとのＩＦ−ＩＯの消費電流をいかにして抑えるかが重要な解決課題となっている。
【００１１】
図１８は、従来のメモリアクセスにおける、書き込み動作を説明する概念図である。図１８において、マスターデバイスやＣＰＵなどのマスターブロック４０は、ライトデータバス及びアドレスデータバス４１によりメモリデバイスやメモリブロック４２をアクセスする。
【００１２】
従来のメモリへのアクセス動作では、マスターデバイス４０側でメモリへのアクセスの必要が発生したときに、逐次アクセスを行う方法で行われている。
【００１３】
図１９は、データバス４１内のライトデータの時間変化を示す図である。図１９において、５１はデータバッファ部内の転送順１番データ、５２はデータバッファ部内の転送順２番データ、５３はデータバッファ部内の転送順３番データ、５４はデータバッファ部内の転送順４番データである。転送順１番データ５１「０１１０１１０１」は、転送順２番データ５２「１０００００１０」に変化し、さらに転送順３番データ５３「０１００１１００」に変化し、最後に転送順４番データ５４「１１００１０１０」に変化する。図１９に示す網掛けビットは、前状態から変化したビットである。図１９の例では、ライトデータ５１〜５４の間に、全部で１５ビットが変化している。メモリ間バスラインのビット変化は、バスラインの電力消費の増大につながる。このように、従来のメモリアクセス方式では、マスターデバイス４０が必要とするメモリアクセスを逐次行うだけであって、時間的に変化するビット変化を抑制する概念はない。
【００１４】
本発明は、かかる点に鑑みてなされたものであり、時間的に変化するビット変化の抑制を行うことで、メモリアクセス動作の消費電力の削減を図ることができるメモリアクセス方法及びメモリアクセス装置を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明のメモリアクセス方法は、転送データと次転送データとのハミング距離が最も小さくなるようにデータの書き込み順序を並び替えるステップと、並び替えたデータによりメモリへのアクセスを行うステップとを有する。
【００１６】
本発明のメモリアクセス方法は、第１のアドレスと第２のアドレスとのハミング距離が最も小さくなるようにアドレス順序を並び替えるステップと、並び替えたアドレスによりメモリへのアクセスを行うステップとを有する。
【００１７】
本発明のメモリアクセス方法は、メモリから出力する読み出しデータの時系列上のハミング距離が最も小さくなるように前記メモリ出力データの順序を並び替えるステップと、前記メモリから返ってきた読み出しデータを、前記並び替え前の読み出し順序に並び替え戻すステップとを有する。
【００１８】
本発明のメモリアクセス方法は、メモリから出力する読み出しデータの時系列上のハミング距離が最も小さくなるように前記メモリ出力データの順序を並び替えるステップと、前記メモリ側で並び替えた情報をメモリインタフェース機能に転送し、かつ、前記メモリ側で並び替えた情報を用いて、前記メモリから返ってきた読み出しデータを、前記並び替え前の読み出し順序に並び替え戻すステップとを有する。
【００１９】
本発明のメモリアクセス方法は、読み出し制御用のアドレスの時系列上のハミング距離が最も小さくなるように、読み出しアドレス順序を並び替えるステップと、前記メモリから返された読み出しデータを、前記並び替え前の読み出し順序に並び替え戻すステップとを有する。
【００２０】
本発明のメモリアクセス装置は、メモリへの書き込みを制御するメモリアクセス装置であって、転送データと次転送データとのハミング距離が最も小さくなるようにデータの書き込み順序を並び替える並替手段を備える構成を採る。
【００２１】
本発明のメモリアクセス装置は、メモリ側出力の読み出しデータの時系列上のハミング距離が最も小さくなるように、前記メモリ側出力の読み出しデータの読み出し順序を並び替える並替手段と、前記メモリから返された読み出しデータを、前記並替手段における並び替え前の読み出し順序に並び替え戻す読出データ順序復元手段とを備える構成を採る。
【００２２】
本発明のメモリアクセス装置は、メモリから出力する読み出しデータの時系列上のハミング距離が最も小さくなるように、前記メモリ出力データの順序を並び替える並替手段と、前記メモリ側で並び替えた情報を、メモリ読み出しデータ受け取り側へ伝送する並替情報送信手段とをメモリ側に有し、前記メモリ側で並び替えた情報を用いて、前記メモリから返された読み出しデータを、前記並び替え前の読み出し順序に並び替え戻す読出データ順序復元手段とを備える構成を採る。
【００２３】
本発明のメモリアクセス装置は、読み出し制御用のアドレスの時系列上のハミング距離が最も小さくなるように、読み出しアドレス順序を並び替える並替手段と、メモリから返された読み出しデータを、前記並替手段における並び替え前の読み出し順序に並び替え戻す読出データ順序復元手段とを備える構成を採る。
【００２４】
本発明のメモリアクセス装置は、転送データと次転送データとのデータ配列の全て又は一部が一致することを判定する判定手段と、前記一致情報をメモリ側に伝えることでデータ転送を行う伝送手段とを備える構成を採る。
【００２５】
本発明のメモリアクセス装置は、転送データと次転送データとのビット配列の全部又は一部のビット変化を、予め予約データとして格納する予約データ格納手段と、前記ビット変化が前記予約データと一致していることを判定する判定手段と、前記一致情報をメモリ側に伝えることでデータ転送を行う伝送手段とを備える構成を採る。
【発明の効果】
【００２６】
本発明によれば、アクセスデータのビット変化数を削減することができ、メモリアクセス動作の消費電力を削減することができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００２８】
（実施の形態１）
図１は、本発明の実施の形態１に係るメモリアクセス方法を示すブロック図である。本実施の形態は、ライトデータのメモリアクセスを例に採り説明する。
【００２９】
図１において、ＣＰＵなどのマスターデバイス１００は、発生したメモリアクセスデータを格納するデータバッファ１０１と、発生したメモリアクセスデータの書き込み順序を並べ替えるメモリアクセス順序並替部１０２とを備える。マスターデバイス１００は、ライトデータバス及びアドレスデータバス１０３によりメモリデバイス若しくはメモリブロック（以下、メモリという）２００への書き込みを制御する。
【００３０】
メモリアクセス順序並替部１０２は、転送データと次転送データとのハミング距離が最も小さくなるようにデータの書き込み順序を並び替える。
【００３１】
以下、上述のように構成されたメモリアクセス方法のメモリアクセス動作について説明する。
【００３２】
図２は、データバス１０３内のライトデータの時間変化を示す図である。図２は、従来例の図１９のライトデータの時間変化図に対応している。
【００３３】
図２において、３０１はデータバッファ部内の転送順１番データ、３０２はデータバッファ部内の転送順２番データ、３０３はデータバッファ部内の転送順３番データ、３０４はデータバッファ部内の転送順４番データであり、いずれもメモリアクセス順序並替部１０２によるデータの書き込み順序の並べ替え後のデータである。
【００３４】
書き込み動作時のライトデータに着目する。上記転送順番データ３０１〜３０４は、書き込み動作時には、ライトデータ３０１〜３０４と呼ぶ。マスターデバイス１００で発生したメモリ２００へのアクセス必要時に、ライトデータ３０１を、一度、メモリアクセス順序並替部１０２に蓄積する。メモリアクセス順序並替部１０２において、転送データと次転送データとのハミング距離が最も小さくなるようにデータの書き込み順序を並び替え、並べ替えデータをメモリ２００へ出力する。同様に、ライトデータ３０２〜３０４についても、一度、メモリアクセス順序並替部１０２に蓄積し、メモリアクセス順序並替部１０２において、転送データと次転送データとのハミング距離が最も小さくなるようにデータの書き込み順序を並び替え、並べ替えデータをメモリ２００へ出力する。
【００３５】
転送データと次転送データとのハミング距離が最も小さくなるデータの書き込み順序の並び替えとは、具体的には、転送データと次転送データとを比較した場合に、転送順番データの各ビット変化（「０」→「１」／「１」→「０」）が最も小さくなるようにメモリアクセス転送順序を並び替えることである。例えば、図２では、元々は転送順１番データ「０１１０１１０１」の次に位置していた転送順番データ「１０００００１０」を、転送順４番データの位置に並べ替える。また、並べ替え前の転送順３番データ「０１００１１００」及び転送順４番データ「１１００１０１０」はそれぞれ前に繰り上げる。この並べ替えによって、転送順１番データ３０１「０１１０１１０１」は、転送順２番データ３０２「０１００１１００」に変化し、転送順３番データ３０３「１１００１０１０」に変化し、最後に転送順４番データ３０４「１０００００１０」に変化する。
【００３６】
これにより、図２の網掛けに示すように、前状態からの変化ビットは、ライトデータ２１〜２４の間に、合計７ビットとなる。図１９に示す従来例の変化ビットの合計１５ビットと比較して、アクセスデータのビット変化数を１５から７に８ビット分削減することができる。アクセスデータのビット変化数を削減することで、メモリアクセス動作の消費電力を削減することができる。
【００３７】
以上のように、実施の形態１によれば、マスターデバイス１００は、転送データと次転送データとのハミング距離が最も小さくなるようにデータの書き込み順序を並び替えるメモリアクセス順序並替部１０２を備え、転送データと次転送データとのハミング距離が最も小さくなるように並び替えたデータによりメモリ２００へのアクセスを行う。すなわち、まず、マスターデバイスが必要とするメモリアクセスが発生した際、逐次アクセスを行わず、メモリ２００にアクセスする前に、一旦、アクセスするデータをメモリアクセス順序並替部１０２にバッファリングする。メモリアクセス順序並替部１０２では、蓄積された数回分のアクセスデータの中から、アクセスする前後での、データのハミング距離が小さくなるようにアクセスの順序を入れ替える。図２と図１９を比較して明らかなように、本実施の形態では、ライトデータ３０１〜３０４の間で発生したビット変化の合計数は７ビット分であり、従来例の図１９の場合に比べて、変化したビットの合計数が８ビット分削減できている。メモリ間バスラインのビット変化の削減は、バスラインの電力消費の低減につながる。
【００３８】
図３は、本実施の形態の低消費電力効果を説明する図である。図３ハッチングに示すように、従来はＩＯの消費電流がＬＳＩ全体の消費電流の半分を占め、ＩＯ消費電流は増大傾向にあった。これに対し、本実施の形態では、ＩＯとは比較にならない程（約１０００分の程）の低消費電流しか要しないＬＳＩ内部においてあらかじめデータの書き込み順序の並び替えをしておき、消費電流の大きいＩＯでは極力ビット変化を避けることで、ＩＯ消費電流を大幅に低減する。これにより、ＬＳＩ全体のメモリアクセス動作の消費電力の削減を図ることができる。
【００３９】
（実施の形態２）
実施の形態２では、実施の形態１のライトデータのビット変化量に加え、アドレスのビット変化量にも着目する。ハード的構成は図１と同様であるため説明を省略する。但し、実施の形態２のメモリアクセス順序並替部１０２は、書き込みデータとアドレスを合わせて、ハミング距離が最も小さくなるように、書き込み順序を並び替える。
【００４０】
図４は、データラインとアドレスラインを合わせたデータバスの時間変化を示す図であり、図１８に示す従来例のメモリアクセス方法によるものである。
【００４１】
図４に示すように、従来例では、図１８のマスターデバイス４０からメモリ４２に対して発生したアクセス順に並べた、データラインとアドレスラインを合わせたデータバス４１の時間変化となる。実施の形態１で説明したように、ライトデータについては、アドレス及びライトデータ６１〜６４の間に、全部で１５ビットが変化している。同様の理由で、アドレスは全部で８ビットが変化しており、変化ビットの合計は２３ビットである。
【００４２】
図５は、本発明の実施の形態２に係るメモリアクセス方法のデータラインとアドレスラインを合わせたデータバスの時間変化を示す図であり、アクセスの順序を、ハミング距離が小さくなるように、入れ替えた場合のデータバスの時間変化の様子を示したものである。
【００４３】
図５に示すように、実施の形態２では、アクセスする前後での、データラインとアドレスラインを合わせたデータのハミング距離が小さくなるように、アクセスの順序を入れ替える。図５の並べ替え後の転送順番のアドレス及びライトデータ４０１，４０２，４０３，４０４は、図４の並べ替え前の転送順番のライトデータ６１，６３，６２，６４の順に並べ替えたものである。
【００４４】
図４の場合には、アドレス及びライトデータ６１〜６４の間で発生したビット変化の合計数は２３ビット分であるが、順序入れ替え後の図５の場合には、変化したビットの合計数が１３ビットであり、１０ビット分のビット変化を削減できている。
【００４５】
このように、実施の形態２によれば、メモリアクセス順序並替部１０２は、データだけでなく、アドレスも合わせたビット変化量をアクセス順序並び替えの判断対象にすることで、アドレスラインも含めて、メモリアクセス動作の消費電力を削減することができる。
【００４６】
（実施の形態３）
実施の形態３では、データのバッファ量の選択による、低消費電力効果と転送ウエイト（Wait）時間との選択に着目する。実施の形態３は、処理時間との選択機能付きのメモリアクセス方法である。ハード的構成は図１と同様であるため説明を省略する。
【００４７】
前記図５に示すアドレス及びライトデータは、データバッファ部に一時的に保存されるデータの状態を示しており、データバッファ部を構成する各データバッファは図５のアドレス及びライトデータ４０１〜４０４と同一符号を用いて記載することができる。
【００４８】
図６は、本発明の実施の形態３に係るメモリアクセス方法のデータバッファ部を示す図である。図６において、データバッファ部は、データバッファ５０１〜５０４から構成される。データバッファ部内のデータバッファ５０４は使用しない。
【００４９】
前記図５では、マスターデバイス内で発生したメモリアクセスを４回分蓄積した後、前転送データからのハミング距離が最小になるデータを、データバッファ部の内の４つのデータバッファ４０１〜４０４から選択していた。これにより、ビット変化が削減でき、バスラインの電力消費を低減することが可能になった。しかし、データバッファ上でデータの移動を行うため僅かながら処理時間（転送ウエイト時間）が増えることになる。低消費電力効果と転送ウエイト時間とは言わばトレードオフの関係にある。そこで、実施の形態３では、低消費電力効果と転送ウエイト時間とのどちらをより重視するかによってモード選択できる構成とする。具体的には、ハミング距離が最も小さくなるように書き込み順序の並び替えを検討するデータの候補数と、並び替え候補データを確保するために要する転送時間のオーバヘッドとを選択するモード選択機能を有する。このモード選択機能により、低消費電力効果を上げる場合には、本メモリアクセス方法で使用するデータバッファ数を増やし、処理速度を重視する場合には、前記使用するデータバッファ数を減らす。このモード選択はユーザ指定又はデータ量などにより適応的に変更可能である。
【００５０】
図６の例では、データバッファ５０４を使用しない。データバッファ５０４を未使用にすることにより、蓄積できるメモリアクセスは３回分となり、前転送データからのハミング距離が最小になるデータをデータバッファ部内の３つのデータバッファ５０１〜５０３から選択する。
【００５１】
したがって、図５の場合と比較して前転送データからのハミング距離が最小になるデータの選択候補が少なくなることから低消費電力の効果は減少するものの、蓄積されるデータが少ない分、メモリへの転送が早く完結できる効果を得ることができる。図７を参照してより詳しく説明する。
【００５２】
図７は、データバッファ５０４を使用せずデータラインとアドレスラインを合わせたデータバスの時間変化を示す図である。
【００５３】
データバンク領域（ここではデータバッファ）を広げれば広げるほどに、次転送データの選択肢は増え、転送データの変化ビットを抑えることができるが、これに比例して転送ウエイトが増える。そこで、実施の形態３では使用するデータバンク領域を指定できる機能を備える。例えば、図７に示すように３段バンク内で、前転送データに最も近いビット配列を選択する。これにより、１段バンク分、転送時間オーバヘッドが少ない分高速転送が可能になる。
【００５４】
このように、実施の形態３によれば、メモリアクセスを蓄積できる回数を可変にすることにより、低消費電力の効果と、メモリへの転送のウエイト時間とを必要に応じて選択することができる。
【００５５】
（実施の形態４）
実施の形態４では、メモリにアクセスするデータの一部、若しくは全部を、マスターデバイス側とメモリ側の両方に、予め持たせておくものである。
【００５６】
図８は、本発明の実施の形態４に係るメモリアクセス方法を示すブロック図である。本実施の形態の説明に当たり、図１と同一構成要素には同一符号を付して重複箇所の説明を省略する。
【００５７】
図８において、ＣＰＵなどのマスターデバイス６００は、ビット変化を予め予約した予約データを格納する予約データ格納部６０１と、予約データとビット配列との一致を検出する一致検出部６０２とをさらに備える。
【００５８】
上記予約データは、転送データと次転送データとのビット配列の全部、若しくは一部のビット変化を予め予約しておくものである。予約データ６０１は、出現頻度の高いデータ列の予約であることが好ましい。予約データの一例として、図９に示すようなライトデータの下位４ビット「１１００」の予約データ６０１Ａがある。
【００５９】
一致検出部６０２は、転送データと次転送データとのビット配列の全部、若しくは一部のビット変化が予約データと一致するか検出し、ビット変化が予約データと一致しているとき、次転送データが予約データであることを一致検出信号６０３によりメモリ２００側に伝える。したがって、ビット変化が予約データと一致しているとき、一致検出信号６０３がメモリ２００に出力されることで、転送データから次転送データへのビット配列の変化はなくなる。
【００６０】
以下、上述のように構成されたメモリアクセス方法のメモリアクセス動作について説明する。
【００６１】
前記図５に示す実施の形態２の処理後の、アドレス及びライトデータ４０１〜４０４の場合を例に採る。アドレス及びライトデータ４０２の下位４ビット「１１００」が、予約データ６０１Ａ「１１００」（図９）と一致する。このとき、アドレス及びライトデータ４０１の次のアクセスでは、アドレス及びライトデータ４０２の下位４ビット以外は、通常のアクセス動作を行う。アドレス及びライトデータ４０２の下位４ビット「１１００」は、アドレス及びライトデータ４０１の状態のままである代わりに、一致検出部６０２からメモリ２００に一致検出信号６０３が伝えられる。一致検出信号６０３は、転送データから次転送データへのビット配列が予約ビットと一致しているときに出力される信号である。
【００６２】
メモリ２００側では、データの下位４ビットが予め予約されている予約データ６０１Ａの内容「１１００」であることを識別する。
【００６３】
ここで、複数の予約データに対応する場合には、例えば予約データ毎にＩＤ番号を設け、一致検出信号６０３としてＩＤ番号を伝達することで、複数の予約データに対応することができる。
【００６４】
このように、実施の形態４によれば、メモリ間のビット変化率を抑制することができ、より一層のローパワー化を実現することができる。
【００６５】
（実施の形態５）
実施の形態５は、次の実施の形態６と共に、実施の形態１で説明したデータの書き込み順序の並べ替え方法をより詳細に説明する例である。ハード的構成は図１と同様であるため説明を省略する。但し、実施の形態５のメモリアクセス順序並替部１０２は、前転送データと次転送候補の全データとを比較し、前転送データからのハミング距離が最も小さい次転送データを選択する。
【００６６】
前記図４のデータラインとアドレスラインを合わせたデータバスの時間変化を例に採り説明する。
【００６７】
実施の形態５のメモリアクセス順序並替部１０２では、前転送データに対し、次の転送が最小ハミング距離になるデータを、転送候補全データの中から選択する。図４の例では、既にアクセスした、前アクセスデータ６１に対して、ハミング距離が最も小さいデータをデータ６２〜６４の中から選択する。
【００６８】
このように、実施の形態５によれば、前転送データと次転送候補の全データとを比較し、前転送データからのハミング距離が最も小さい次転送データを選択する具体的な並べ替え機能が提供される。
【００６９】
（実施の形態６）
実施の形態６もまた、実施の形態１で説明したデータの書き込み順序の並べ替え方法をより詳細に説明する例である。ハード的構成は図１と同様であるため説明を省略する。但し、実施の形態６のメモリアクセス順序並替部１０２は、転送候補のデータ転送順序全ての組合せを通して、最もビット変化の小さい転送順序を判定し、メモリ２００へ出力する。
【００７０】
前記図４のデータラインとアドレスラインを合わせたデータバスの時間変化を例に採り説明する。
【００７１】
実施の形態６のメモリアクセス順序並替部１０２では、前転送データに対する次の転送データの選択も含め、データバッファ内に残っている全転送データを通してビット変化量が最小になる転送順序を判定する。図４の例では、転送候補のデータ転送順序全ての組合せを通して、最もビット変化の小さい転送順序を判定し、既にアクセスした、前アクセスデータ６１を含め、データ６１〜６４の４回分のアクセスを通して、合計のビット変化が最も小さくなるアクセスの順序を判定し、次のアクセスデータをデータ６２〜６４の中から決定する。
【００７２】
このように、実施の形態６によれば、転送候補のデータ転送順序全ての組合せを通して、最もビット変化の小さい転送順序を判定する具体的な並べ替え機能が提供される。
【００７３】
（実施の形態７）
実施の形態７は、次の実施の形態８と共に、初期時の処理方法を具体的に説明する例である。
【００７４】
実施の形態７では、データバッファがエンプティ時の初期状態の処理に着目し、データバッファがエンプティの状態でマスターデバイス内で一番最初に発生したメモリアクセスは、まず、すぐにメモリに対して出力し、次のメモリアクセス発生以降、データバッファに蓄積する。
【００７５】
すなわち、
１．次転送候補データバッファ部がエンプティの状態から、マスターデバイス内で一番最初に発生したメモリアクセスを、メモリに対して出力する工程と、
２．次に、マスターデバイス内で発生するメモリアクセス以降から、次転送候補データバッファ部に蓄積する工程とを有するメモリアクセス方法である。
【００７６】
そして、上記工程によりデータバッファがフルになると、実施の形態５、実施の形態６、又はその他の方法で、ビット変化が最も小さくなるメモリアクセスを行う。
【００７７】
このように、実施の形態７によれば、初期時の処理方法が具体的に提供され、上述した実施の形態１乃至６と共に実施することで、データのビット変化数を削減することができ、メモリアクセス動作の消費電力を削減することができる。
【００７８】
（実施の形態８）
実施の形態８もまた、初期時の処理方法を具体的に説明する例である。
【００７９】
実施の形態８では、実施の形態７とは別のデータバッファがエンプティ時の初期状態の処理に着目し、データバッファがエンプティの状態でマスターデバイス内で一番最初に発生したメモリアクセスからデータバッファ部に蓄積する。すなわち、次転送候補データバッファ部がエンプティの状態で、マスターデバイス内で一番最初に発生したメモリアクセスから、次転送候補データバッファ部に蓄積するメモリアクセス方法である。
【００８０】
そして、データバッファがフルになると、実施の形態５、実施の形態６、又はその他の方法で、ビット変化が最も小さくなるメモリアクセスを行う。
【００８１】
好適には、実施の形態８は、実施の形態６と組み合わせることで、実施の形態６の効果を大きくすることができる。
【００８２】
（実施の形態９）
実施の形態９は、次の実施の形態１０と共に、一連のメモリアクセス終了時の処理方法を具体的に説明する例である。
【００８３】
実施の形態９では、連続するメモリアクセス一括りの終わりの処理に着目し、一定の時間が空くなど、連続するメモリアクセス一括りの終わりを検出すると、データバッファ内の蓄積データが空になるまで、実施の形態５、実施の形態６、又はその他の方法で、メモリへの出力を行ってしまうものである。すなわち、メモリへのアクセスが停止してから、ある一定の空き時間を検出後、実施の形態１乃至８のメモリアクセス方法を繰り返して、次転送候補データバッファ内の残りのデータを、全てメモリへ出力する。例えば、実施の形態５又は実施の形態６の並べ替え方法を繰り返して、データバッファ内の残りのデータを全てメモリへ出力する。
【００８４】
このように、実施の形態９によれば、一連のメモリアクセス終了時の処理方法が具体的に提供され、上述した実施の形態１乃至８と共に実施することで、データのビット変化数を削減することができ、メモリアクセス動作の消費電力を削減することができる。
【００８５】
（実施の形態１０）
実施の形態１０もまた、一連のメモリアクセス終了時の処理方法を具体的に説明する例である。
【００８６】
実施の形態１０では、実施の形態９とは別の、連続するメモリアクセス一括りの終わりの処理に着目し、連続するメモリアクセス一括りの終わりには無関係に、次のメモリアクセスがマスターデバイス内で発生するまでは、その前までに蓄積されていたデータバッファ内のデータは蓄積されたままにする。
【００８７】
そして、マスターデバイス、若しくは他のデバイスから、データの読み出しが発生し、所望の読み出しデータが、まだデータバッファ内に残っているデータであった場合、メモリへの読み出し制御情報を、データバッファ部でも受け取れるようにしておく。
【００８８】
すなわち、
１．メモリへのアクセスが停止してからの時間に無関係に、次転送候補データバッファ内の残りデータは残したままにする工程と、
２．次に読み出しが発生し、所望の読み出しデータが、次転送候補データバッファ内に残っているデータであった場合でも、読み出し用制御信号を次転送候補データバッファ部に引き込んでおく工程とを有する。
【００８９】
読み出し制御側は、所望のデータが次転送候補データバッファ部に残っていることを意識することなく、メモリに対する読み出しアクセス動作をすることで、所望のデータを読み出すことができる。
【００９０】
これにより、必要なデータバッファ部のサイズ分だけ、データ格納領域としても利用でき、実際にはメモリにアクセスされなかった動作分は、メモリ間のデータバスのビット変化を発生させる必要が無く、低消費電力の効果を得ることができる。
【００９１】
（実施の形態１１）
実施の形態１１は、最小ハミング距離の判定方法を具体的に説明する例である。
【００９２】
本発明者は、２つのデータにおいて、２つのデータ共に、“１”の数が少ない場合は、ハミング距離が小さい可能性が高いことを見出した。まず、前転送データとデータバッファ内の次転送候補全データ内の“１”の数をカウントし、“１”の少ないもの同士、“１”の多いもの同士のハミング距離を判定する。具体的には、“１”の数がある一定数より少ないデータが２つある場合は、この２つのデータ間のハミング距離を先に判定する。ここで判定されたハミング距離以上にデータ内の“１”の数に差があるデータは、明らかに、上記判定されたハミング距離よりもハミング距離は大きくなるので、ハミング距離の判定する必要はなくなる。図１０を参照してより詳細に説明する。
【００９３】
図１０は、実施の形態１１のハミング距離の判定方法を説明するための、データバッファ部のデータを示す図である。
【００９４】
図１０はデータバッファの状態を示しており、既にアクセスした、前アクセスデータ７０１に対して、ハミング距離が最も小さいデータをアクセスデータ７０２〜７０４の中から選択する。
【００９５】
アドレス幅とデータ幅合わせて１２ビットであることを考慮して、“１”の数が少ないデータを定義する。ここでは、ある一定数を“４”とする例について述べる。
【００９６】
図１０では、アクセスデータ７０１の“１”の数は３個であり、“１”の数が少ないデータに該当する。このとき、アクセスデータ７０２〜７０４のデータの中で、“１”の数が少ないデータを確認すると、アクセスデータ７０２が該当しており、アクセスデータ７０１とアクセスデータ７０２のハミング距離を判定すると、３である。
【００９７】
アクセスデータ７０３は“１”の数が９個あり、アクセスデータ７０１とアクセスデータ７０３の“１”の数の差は、上記により求めたハミング距離より大きいため、データ間のハミング距離の判断処理をするまでもなく、アクセスデータ７０１とアクセスデータ７０３間のハミング距離は、アクセスデータ７０１とアクセスデータ７０２とのハミング距離より大きい。実際、アクセスデータ７０１とアクセスデータ７０３間のハミング距離は８である。
【００９８】
アクセスデータ７０４は“１”の数が６個であり、アクセスデータ７０１とアクセスデータ７０４の“１”の数の差は、上記により求めたハミング距離と等しいため、この場合では、アクセスデータ７０１とアクセスデータ７０４間のハミング距離がアクセスデータ７０１とアクセスデータ７０２とのハミング距離より大きいとは限らない。実際、アクセスデータ７０１とアクセスデータ７０４間のハミング距離では、ハミング距離は３になっている。
【００９９】
このようにしてハミング距離を判定することにより、ハミング距離を判定する処理時間を短縮する効果を得ることができる。
【０１００】
また、“１”の数がある一定数より多いデータの場合でも、データ“１”の数が少ない場合と同様に処理することができ、データ“１”の数が少ない場合の処理と、多い場合の処理は同時に実行することができる。
【０１０１】
（実施の形態１２）
実施の形態１乃至１１では、メモリへの書き込みを例に採り説明した。本発明は、メモリの読み出し制御にも適用することができる。
【０１０２】
実施の形態１２は、次の実施の形態１３とともに、メモリのリード方法を具体的に説明する例である。
【０１０３】
図１１は、実施の形態１２のメモリのリード方法を説明するブロック図である。
【０１０４】
図１１において、ＣＰＵなどのマスターデバイス８００は、メモリ９００の読み出し動作を制御する読出制御部８０１と、メモリ９００から返ってきた読み出しデータを、並び替え前の読み出し順序に並び替え戻す転送順復元部８０２とを備える。
【０１０５】
また、メモリ９００は、メモリの読み出し動作において、メモリから出力する読み出しデータの時系列上のハミング距離が最も小さくなるように、メモリ出力データの順序を並び替える転送順並替部９０１を備える。
【０１０６】
以下、上述のように構成されたメモリアクセス方法のメモリアクセス動作について説明する。
【０１０７】
マスターデバイス８００で発生したメモリ９００へのリード要求８０３に対し、メモリ９００では、所定のデータを、即時には出力せず、一旦、転送順並替部９０１に蓄積する。
【０１０８】
転送順並替部９０１では、実施の形態１乃至１１で詳述した方法と同様な方法により転送データと次転送データとのハミング距離が最も小さくなるようにデータの書き込み順序を並び替え、リードデータバス８０４によりマスターデバイス８００へ出力する。
【０１０９】
また、転送順並替部９０１により並び替えた情報を、リードデータ並べ替え情報伝達ライン８０５によりマスターデバイス８００に伝える。これを受けてマスターデバイス８００は、読出制御部８０１で読み出しリクエストした順に、転送順復元部８０２によって転送順序を元に戻す。
【０１１０】
このように、実施の形態１２によれば、メモリ９００から出力する読み出しデータの時系列上のハミング距離が最も小さくなるように、メモリ出力データの順序を並び替え、かつ、メモリ９００から返ってきた読み出しデータを、並び替え前の読み出し順序に並び替え戻しているので、読み出し制御時において、読み出しデータラインのビット変化数を削減することができ、メモリアクセス動作の消費電力を削減することができる。
【０１１１】
（実施の形態１３）
実施の形態１３は、実施の形態１２で説明した読出し制御方法に加え、読み出し制御用のアドレスデータのビット変化量にも着目した例である。
【０１１２】
図１２は、実施の形態１３のメモリのリード方法を説明するブロック図である。本実施の形態の説明に当たり、図１１と同一構成要素には同一符号を付して重複箇所の説明を省略する。
【０１１３】
図１２において、マスターデバイス１０００の読出制御部１００１は、読出アドレス並替部１００２をさらに備える。読出アドレス並替部１００２は、読み出し制御用のアドレスの時系列上のハミング距離が最も小さくなるように、読み出しアドレス順序を並び替える。
【０１１４】
以下、上述のように構成されたメモリアクセス方法のメモリアクセス動作について説明する。
【０１１５】
マスターデバイス１０００で発生したメモリ９００へのリード要求を、メモリ９００に対して即時には出力せず、一旦、読出制御部１００１内の読み出しアドレス並替部１００２に蓄積する。
【０１１６】
読出アドレス並替部１００２では、実施の形態１乃至１１で詳述した方法により、転送アドレスデータと次転送アドレスデータとのハミング距離が最も小さくなるようにデータの書き込み順序を並び替え、メモリ読み出し制御用アドレス１００３によりメモリ９００へ出力する。
【０１１７】
次に、上述した実施の形態１２等の方法により、メモリ９００からマスターデバイス１０００へデータを転送する。
【０１１８】
このようにすることで、実施の形態１２による効果に加え、マスターデバイス１０００からメモリ９００への読み出し指定のアドレスラインのビット変化量も削減でき、メモリアクセス動作の消費電力をより一層削減することができる。
【０１１９】
ところで、以上述べた各実施の形態１乃至１３を組み合わせて実施しても良いことは言うまでもない。例えば、実施の形態１乃至１１の方法を用いてメモリに対して書き込みを行い、実施の形態１２及び１３の方法を用いてメモリから読み出しを行うようにしても良い。一例として、実施の形態１３の方法によってアドレスを出力し、実施の形態１２の方法によって、メモリ側からデータを出力し、メモリインタフェース機能で並び替え前の読み出し順序にデータを並び替え戻すメモリアクセス方法が採用できる。このように組み合わせれば、ライト動作とリード動作、さらには制御用アドレスを並べ替えるリード動作を、共存させることができ、各々の効果もそのまま得ることができる。
【０１２０】
また、マスターデバイスがＣＰＵ以外の装置であっても良く、メモリは外付け、内部メモリいずれであっても良い。
【０１２１】
（実施の形態１４）
実施の形態１４は、メモリへの書き込み動作に適用する場合の具体的な装置の構成例である。
【０１２２】
図１３は、本発明の実施の形態１４に係るメモリアクセス方法を示すブロック図である。本実施の形態の説明に当たり、図１と同一構成要素には同一符号を付して重複箇所の説明を省略する。
【０１２３】
図１３において、ＣＰＵなどのマスターデバイス１１００は、発生したメモリアクセスデータを格納するデータバッファ１１０１、次転送候補データを格納する次転送候補データバッファ部１１０２、セレクタ１１０３、既にアクセス済みの前アクセスデータを格納する転送データ格納部１１０４、及び比較器１１０５を備えて構成される。
【０１２４】
次転送候補データバッファ部１１０２は、並び替えを行う対象データを一次格納する。
【０１２５】
比較器１１０５は、次転送候補データバッファ部１１０２内の全データと前転送データとを比較する、転送データと次転送候補データとの間の最小ハミング距離検出器である。
【０１２６】
比較器１１０５は、具体的には、次転送候補データバッファ部１１０２内のデータ転送順全ての組合せを通して、最もビット変化の小さい転送順序を判定するビット演算器、及びビット変化判定器から構成され、より具体的には、データ配列中のビットデータ“１”の数を数えるビットカウンタ、前転送データのビットデータ“１”の数を記憶するビット１レジスタ、及び前記ビット１レジスタに格納されている値と次転送候補データバッファ部１１０２内の各データのビットデータ“１”の数とを比較するビット１比較器から構成される。
【０１２７】
セレクタ１１０３は、上記ビット変化判定器によって判定されたデータ順に、次転送候補データバッファ部１１０２からデータを取り出してメモリ２００へ出力する。
【０１２８】
以下、上述のように構成されたメモリアクセス方法及びメモリアクセス装置のメモリアクセス動作について説明する。
【０１２９】
マスターデバイス１１００により発生したメモリ２００への書き込みデータを、データバッファ１１０１から読み出し、一旦、次転送候補データバッファ部１１０２に蓄積する。
【０１３０】
次に、比較器１１０５は、転送データ格納部１１０４に格納されている既にアクセス済みの前アクセスデータと次転送候補データバッファ部１１０２内の全データとを比較し、比較結果を選択信号としてセレクタ１１０３に出力する。セレクタ１１０３は、前アクセスデータとのハミング距離が最も小さい次転送データを、次転送候補データバッファ部１１０２内のデータから選択して転送データ格納部１１０４に出力する。
（実施の形態１５）
実施の形態１５は、シリアルインタフェースのメモリアクセスに適用する場合の具体的な装置の構成例である。
【０１３１】
パラレルインタフェースの場合では、前転送データと次転送データとのデータが一致していた場合では、ハミング距離が最も近く、同じデータを２回連続で転送しても、メモリ間バスラインのビット変化はないため、バスラインの電力は消費しない。
【０１３２】
しかし、シリアルインタフェースの場合では、前転送データと次転送データとのデータが一致していた場合でも、１ビットずつ転送されるため、メモリ間バスラインのビット変化を生じ、同じデータの２回連続転送であっても、１回転送分の電力を、そのまま２回消費してしまう。
【０１３３】
そこで、実施の形態１５では、シリアルインタフェースのメモリアクセスに適用する場合、マスターデバイスで発生した次転送データの一部、若しくは全部を、前転送データ比較し、次転送データの一部、若しくは全部が、前転送データと一致した場合、シリアルインタフェースの一致した分のビットは変化させない。
【０１３４】
その代わりに、一致検出信号をメモリ側に出すことで、メモリ側でも、次転送データの一部、若しくは全部を、前転送データの一部、若しくは全部から引用することで、転送を正常に完了することができる。
【０１３５】
上述の具体的な例として、ライトデータの下位４ビットが一致の場合、上述の処理を行う場合を図１４により説明する。
【０１３６】
図１４は、本発明の実施の形態１５に係るメモリアクセス方法を示すブロック図である。本実施の形態の説明に当たり、図１３と同一構成要素には同一符号を付して重複箇所の説明を省略する。
【０１３７】
図１４において、ＣＰＵなどのマスターデバイス１２００は、発生したメモリアクセスデータを格納するデータバッファ１２０１、既にアクセス済みの前アクセスデータを格納する転送データ格納部１２０２、及び比較器１２０３を備えて構成される。転送データ格納部１２０２の出力は、ライトデータシリアルライン１２０４によりメモリ２００に渡され、比較器１２０３による比較結果は、一致検出情報伝達ライン１２０５によりメモリ２００に渡される。すなわち、マスターデバイス１２００は、図１３のマスターデバイス１１００から次転送候補データバッファ部１１０２及びセレクタ１１０３を取り去った代わりに一致情報をメモリ２００に出力する構成となっている。上述したように、シリアルインタフェースの場合の消費電力低減を目的とするため、ライトデータシリアルライン１２０４を用いる例について説明するが、パラレルインタフェースに適用できることは勿論である。
【０１３８】
以下、上述のように構成されたメモリアクセス方法のメモリアクセス動作について説明する。
【０１３９】
マスターデバイス１２００とメモリ２００は、シリアルデータライン１２０４で接続されている。ライトされるデータはデータ１３０１、データ１３０２の順である。
【０１４０】
まず、データ１３０１が、転送データ格納部１２０２からシリアルデータライン１２０４を介してメモリ２００にライトされる。
【０１４１】
次に、転送データ格納部１２０２に格納されている既に転送済みのライトデータの下位４ビットと、データバッファ１２０１に格納されている次転送データの下位４ビットとを比較器１２０３により比較する。
【０１４２】
このとき、ライトデータ１３０１とライトデータ１３０２の下位４ビットは一致するので、ライトデータ１３０２の転送時、下位４ビットはシリアルデータライン１２０４のビットを変化させない。
【０１４３】
その代わり、比較器１２０３から、一致検出情報ライン１２０５を介して一致情報をメモリ２００に伝え、これにより、メモリ２００は、転送データの下位４ビットが前転送データの下位４ビットと同一であることを識別し、転送を正常に完了する。
【０１４４】
これにより、メモリ間のビット変化量を抑制することができ、ローパワー化を実現することができる。
【０１４５】
ここで、複数の予約データがある場合には、予約データ毎にＩＤ番号を設け、一致検出情報ライン１２０５でＩＤ番号を伝達することで、複数の予約データに対応することができる。
【０１４６】
（実施の形態１６）
実施の形態１６は、携帯電話端末のロジックＬＳＩのメモリアクセス装置に適用した場合の例である。
【０１４７】
図１５は、本発明の実施の形態１６に係るメモリアクセス装置を示すブロック図であり、メモリへの書き込み動作に適用する場合の構成例である。図１３の装置の具体例に対応するものである。
【０１４８】
図１５において、携帯電話機などの携帯端末装置２０００は、装置全体を制御するＣＰＵ２１００、外部メモリを制御するロジックＬＳＩ２２００、ロジックＬＳＩ２２００により書き込み制御される複数の外部メモリ２３０１〜２３０３（外部メモリ<１>〜<３>）を備える。
【０１４９】
ロジックＬＳＩ２２００は、ＣＰＵ２１００からのメモリ制御要求を基にメモリ制御部２２１１〜２２１３（メモリ制御部<１>〜<３>）を制御するＣＰＵＩＦ２２１０、及び外部メモリ２３０１〜２３０３を制御するメモリ制御部２２１１〜２２１３（メモリ制御部<１>〜<３>）を備えて構成される。メモリ制御部２２１１〜２２１３（メモリ制御部<１>〜<３>）は、同一構成を採るためメモリ制御部２２１１（メモリ制御部<１>）を代表して説明する。
【０１５０】
メモリ制御部２２１１（メモリ制御部<１>）は、発生したメモリアクセスデータを格納するデータバッファ２２２１、比較段数制御を行う比較段数制御部２２２２、次転送候補データを格納する次転送候補データバッファ部２２２３、セレクタ２２２４、既にアクセス済みの前アクセスデータを格納する転送データ格納部２２２５、及び比較器２２２６を備えて構成される。
【０１５１】
比較段数制御部２２２２は、ＣＰＵＩＦ２２１０からの指示に従ってデータバッファの使用段数を設定し、低消費電力効果を重視する場合には使用するデータバッファ数を増やし、処理速度を重視する場合には使用するデータバッファ数を減らす制御を行う。上記設定は、ＣＰＵ２１００からの指示を受けたＣＰＵＩＦ２２１０により設定される。なお、ＣＰＵ２１００は、別途、省電力モード設定処理を実行し、その設定処理実行中に行われたユーザ指定又はデータ量などにより適応的にデータバッファ数を変更可能である。
【０１５２】
次転送候補データバッファ部２２２３は、並び替えを行う対象データを一次格納する。
【０１５３】
比較器２２２６は、次転送候補データバッファ部２２２３内の全データと前転送データとを比較する、転送データと次転送候補データとの間の最小ハミング距離検出器である。
【０１５４】
比較器２２２６は、具体的には、次転送候補データバッファ部２２２３内のデータ転送順全ての組合せを通して、最もビット変化の小さい転送順序を判定するビット演算器、及びビット変化判定器から構成され、より具体的には、データ配列中のビットデータ“１”の数を数えるビットカウンタ、前転送データのビットデータ“１”の数を記憶するビット１レジスタ、及び前記ビット１レジスタに格納されている値と次転送候補データバッファ部２２２３内の各データのビットデータ“１”の数とを比較するビット１比較器から構成される。
【０１５５】
セレクタ２２２４は、上記ビット変化判定器によって判定されたデータ順に、次転送候補データ格納部２２２３からデータを取り出してメモリ２３０１（外部メモリ<１>）へ出力する。
【０１５６】
以下、上述のように構成されたメモリアクセス方法及びメモリアクセス装置のメモリアクセス動作について説明する。
【０１５７】
比較段数制御部２２２２は、設定したデータバッファ数でデータの書き込み順序を並び替えが行われるように、次転送候補データバッファ部２２２３及び比較器２２２６の比較段数を制御する。
【０１５８】
メモリ制御部２２１１（メモリ制御部<１>）により発生したメモリ２３０１（メモリ<１>）への書き込みデータを、データバッファ２２２１から読み出し、一旦、次転送候補データバッファ部２２２３に蓄積する。
【０１５９】
次に、比較器２２２６は、転送データ格納部２２２５に格納されている既にアクセス済みの前アクセスデータと次転送候補データバッファ部２２２３内の全データとを比較し、比較結果を選択信号としてセレクタ２２２４に出力する。セレクタ２２２４は、前アクセスデータとのハミング距離が最も小さい次転送データを、次転送候補データバッファ部２２２３内のデータから選択して転送データ格納部２２２５に出力する。
【０１６０】
以上は、メモリ制御部２２１１（メモリ制御部<１>）のメモリ<１>書き込み動作例であるが、メモリ制御部２２１２，２２１３（メモリ制御部<２>，<３>）のメモリ<２>，<３>）への書き込み動作についても同様である。
【０１６１】
このように、実施の形態１６によれば、メモリアクセス方法及び装置を携帯電話機などの携帯端末装置２０００に適用することができ、携帯端末装置２０００のメモリアクセス動作の際のＩＯ消費電流を大幅に低減することで、ロジックＬＳＩ２２００延いてはロジックＬＳＩ２２００を搭載する携帯端末装置２０００全体の消費電力の削減を図ることができる。
【０１６２】
また、メモリアクセスを蓄積できるデータバッファ数を制御することにより、低消費電力効果と動作速度とを適用的に選択することができる。
【０１６３】
（実施の形態１７）
実施の形態１７は、実施の携帯１６と同様に携帯電話端末のロジックＬＳＩのメモリアクセス装置に適用した場合の例である。
【０１６４】
図１６は、本発明の実施の形態１７に係るメモリアクセス装置を示すブロック図であり、メモリからの読み出し動作に適用する場合の構成例である。図１１の装置の具体例に対応するものである。
【０１６５】
本実施の形態は、図１５の携帯端末装置２０００に適用した例であり、図１５と同一構成部分には同一符号を付している。但し、本実施の形態に係るメモリアクセス方法及び装置は、図１５以外の他の端末装置に適用できることは勿論である。
【０１６６】
図１６において、携帯端末装置２０００は、装置全体を制御するＣＰＵ２１００、外部メモリを制御するロジックＬＳＩ２４００、ロジックＬＳＩ２４００により読み出し制御される複数の外部メモリ２５０１〜２５０３（外部メモリ<１>〜<３>）を備える。
【０１６７】
ロジックＬＳＩ２４００は、ＣＰＵ２１００からのメモリ制御要求を基に転送順復元部２４１１〜２４１３（転送順復元部<１>〜<３>）を制御するＣＰＵＩＦ２４１０、及び外部メモリ２５０１〜２５０３から返ってきた読み出しデータを、並び替え前の読み出し順序に並び替え戻す制御を行う転送順復元部２４１１〜２４１３（転送順復元部<１>〜<３>）を備えて構成される。転送順復元部２４１１〜２４１３（転送順復元部<１>〜<３>）は、同一構成を採るため転送順復元部２４１１（転送順復元部<１>）を代表して説明する。
【０１６８】
転送順復元部２４１１（転送順復元部<１>）は、転送データを格納する転送データバッファ部２４２１、比較段数制御を行う比較段数制御部２４２２を備えて構成される。
【０１６９】
一方、メモリ２５０１〜２５０３（外部メモリ<１>〜<３>）は、読み出し動作において、出力する読み出しデータの時系列上のハミング距離が最も小さくなるように、メモリ出力データの順序を並び替えるリード出力部２５１１〜２５１３を備える。メモリ２５０１〜２５０３（外部メモリ<１>〜<３>）は、同一構成を採るためメモリ２５０１（外部メモリ<１>）を代表して説明する。
【０１７０】
メモリ２５０１（外部メモリ<１>）のリード出力部２５１１は、前記転送順復元部２４１１（転送順復元部<１>）の比較段数制御部２４２２の比較段数制御に対応する比較段数制御を行う比較段数制御部２５２２、読み出したデータ２５２１を格納する次転送候補データバッファ部２５２３、セレクタ２５２４、既にアクセス済みの前アクセスデータを格納する転送データ格納部２５２５、及び比較器２５２６を備えて構成される。
【０１７１】
比較段数制御部２５２２は、ロジックＬＳＩ２４００からの指示に従ってデータバッファの使用段数を設定し、低消費電力効果を重視する場合には使用するデータバッファ数を増やし、処理速度を重視する場合には使用するデータバッファ数を減らす制御を行う。上記設定は、ＣＰＵ２１００からの指示を受けたＣＰＵＩＦ２４１０により設定される。
【０１７２】
次転送候補データバッファ部２５２３は、並び替えを行う対象データを一次格納する。
【０１７３】
比較器２５２６は、次転送候補データバッファ部２５２３内の全データと前転送データとを比較する、転送データと次転送候補データとの間の最小ハミング距離検出器である。
【０１７４】
比較器２５２６は、具体的には、次転送候補データバッファ部２５２３内のデータ転送順全ての組合せを通して、最もビット変化の小さい転送順序を判定するビット演算器、及びビット変化判定器から構成され、より具体的には、データ配列中のビットデータ“１”の数を数えるビットカウンタ、前転送データのビットデータ“１”の数を記憶するビット１レジスタ、及び前記ビット１レジスタに格納されている値と次転送候補データバッファ部２５２３内の各データのビットデータ“１”の数とを比較するビット１比較器から構成される。
【０１７５】
セレクタ２５２４は、上記ビット変化判定器によって判定されたデータ順に、次転送候補データ格納部２５２３からデータを取り出して転送データ格納部２５２５へ出力する。
【０１７６】
以下、上述のように構成されたメモリアクセス方法及びメモリアクセス装置のメモリアクセス動作について説明する。
【０１７７】
ロジックＬＳＩ２４００の転送順復元部２４１１（転送順復元部<１>）の比較段数制御部２４２２と、メモリ２５０１（外部メモリ<１>）のリード出力部２５１１の比較段数制御部２５２２は共に、設定したデータバッファ数でデータの書き込み順序を並び替えが行われるように、転送データバッファ部２４２１又は次転送候補データバッファ部２５２３及び比較器２５２６の比較段数を制御する。
【０１７８】
まず、メモリ２５０１（外部メモリ<１>）側では、リード出力部２５１１がデータ２５２１を読み出し、一旦、次転送候補データバッファ部２５２３に蓄積する。
【０１７９】
次に、比較器２５２６は、転送データ格納部２５２５に格納されている既にアクセス済みの前アクセスデータと次転送候補データバッファ部２５２３内の全データとを比較し、比較結果を選択信号としてセレクタ２５２４に出力する。セレクタ２５２４は、前アクセスデータとのハミング距離が最も小さい次転送データを、次転送候補データバッファ部２２５２３内のデータから選択して転送データ格納部２５２５に出力する。転送データ格納部２５２５に格納された並べ替え後のデータは、ロジックＬＳＩ２４００の転送順復元部２４１１（転送順復元部<１>）に送られる。
【０１８０】
ロジックＬＳＩ２４００側では、転送順復元部２４１１（転送順復元部<１>）の転送データバッファ部２４２１が、メモリ２５０１（外部メモリ<１>）のリード出力部２５１１の比較器２５２６の比較結果を基に、転送データ格納部２５２５からのデータを、並び替え前の読み出し順序に並び替え戻す。
【０１８１】
以上は、メモリ２５０１（外部メモリ<１>）のデータを読み出すロジックＬＳＩ２４００の転送順復元部２４１１（転送順復元部<１>）の読み出し動作例であるが、転送順復元部２４１２，２４１３（転送順復元部<２>，<３>）及びメモリ２５０２，２５０３（外部メモリ<２>，<３>）のデータ読み出し動作についても同様である。
【０１８２】
このように、実施の形態１７によれば、メモリアクセス方法及び装置を携帯電話機などの携帯端末装置２０００に適用することができ、読み出し制御時において、読み出しデータラインのビット変化数を削減することでメモリアクセス動作の消費電力を削減することができる。
【０１８３】
以上の説明は本発明の好適な実施の形態の例証であり、本発明の範囲はこれに限定されることはない。
【０１８４】
また、上記各実施の形態では、メモリアクセス方法及びメモリアクセス装置という名称を用いたが、これは説明の便宜上であり、プロセッサ、半導体記憶装置等でもよいことは勿論である。
【０１８５】
また、例示したアドレス、アクセスデータ及びビット変化は、ビット幅、データ転送数など共に一例であって他の例でもよいことは言うまでもない。
【０１８６】
また、上記メモリアクセス方法及びメモリアクセス装置を構成する各回路部の種類、数及び接続方法などは前述した実施の形態に限られない。
【産業上の利用可能性】
【０１８７】
本発明に係るメモリアクセス方法及びメモリアクセス装置は、半導体記憶装置を有する電子回路システム、例えば、携帯電話機などの通信端末装置に実装されるメモリアクセス装置として有用である。本発明は、好適には外部メモリアクセス、内部メモリアクセス、ＣＰＵアクセスなどで利用可能であるが、これに限定はされない。
【図面の簡単な説明】
【０１８８】
【図１】本発明の実施の形態１に係るメモリアクセス方法を示すブロック図
【図２】上記実施の形態１に係るメモリアクセス方法のデータバス内のライトデータの時間変化を示す図
【図３】上記実施の形態１に係るメモリアクセス方法の低消費電力効果を説明する図
【図４】本発明の実施の形態２に係るメモリアクセス方法の並べ替え前のデータラインとアドレスラインを合わせたデータバスの時間変化を示す図
【図５】上記実施の形態２に係るメモリアクセス方法のデータラインとアドレスラインを合わせたデータバスの時間変化を示す図
【図６】本発明の実施の形態３に係るメモリアクセス方法のデータバッファ部を示す図
【図７】上記実施の形態３に係るメモリアクセス方法のデータバッファを使用せずデータラインとアドレスラインを合わせたデータバスの時間変化を示す図
【図８】本発明の実施の形態４に係るメモリアクセス方法を示すブロック図
【図９】上記実施の形態４に係るメモリアクセス方法の予約データの一例を示す図
【図１０】本発明の実施の形態１１に係るメモリアクセス方法のデータバッファ部のデータを示す図
【図１１】本発明の実施の形態１２に係るメモリアクセス方法のメモリのリード方法を説明するブロック図
【図１２】本発明の実施の形態１３に係るメモリアクセス方法のメモリのリード方法を説明するブロック図
【図１３】本発明の実施の形態１４に係るメモリアクセス方法を示すブロック図
【図１４】本発明の実施の形態１５に係るメモリアクセス方法を示すブロック図
【図１５】本発明の実施の形態１６に係るメモリアクセス装置を示すブロック図
【図１６】本発明の実施の形態１７に係るメモリアクセス装置を示すブロック図
【図１７】従来のＬＳＩの内部負荷容量と外部負荷容量との差を説明する図
【図１８】従来のメモリアクセスにおける書き込み動作を説明する概念図
【図１９】従来のメモリアクセス方法のデータバス内のライトデータの時間変化を示す図
【符号の説明】
【０１８９】
１００，６００，８００，１０００，１１００，１２００  マスターデバイス
１０１，１１０１，１２０１  データバッファ
１０２  メモリアクセス順序並替部
１０３  ライトデータバス及びアドレスデータバス
２００，９００，２３０１，２３０２，２３０３，２５０１，２５０２，２５０３  メモリ
６０１  予約データ格納部
６０２  一致検出部
８０１，１００１  読出制御部
８０２，２４１１，２４１２，２４１３  転送順復元部
９０１  転送順並替部
１００２  読出アドレス並替部
１１０２，２２２３，２５２３  次転送候補データバッファ部
１１０３，２２２４，２５２４  セレクタ
１１０４，１２０２，２２２５，２５２５  転送データ格納部
１１０５，１２０３，２２２６，２５２６  比較器
２０００  携帯端末装置
２１００  ＣＰＵ
２２００  ロジックＬＳＩ
２２１１，２２１２，２２１３  メモリ制御部
２４２１  転送データバッファ部
２５１１，２５１２，２５１３  リード出力部
２２２２，２４２２，２５２２  比較段数制御部
【図１】
2007140858.tif 000003
【図２】
2007140858.tif 000004
【図３】
2007140858.tif 000005
【図４】
2007140858.tif 000006
【図５】
2007140858.tif 000007
【図６】
2007140858.tif 000008
【図７】
2007140858.tif 000009
【図８】
2007140858.tif 000010
【図９】
2007140858.tif 000011
【図１０】
2007140858.tif 000012
【図１１】
2007140858.tif 000013
【図１２】
2007140858.tif 000014
【図１３】
2007140858.tif 000015
【図１４】
2007140858.tif 000016
【図１５】
2007140858.tif 000017
【図１６】
2007140858.tif 000018
【図１７】
2007140858.tif 000019
【図１８】
2007140858.tif 000020
【図１９】
2007140858.tif 000021