米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 松下電器産業株式会社

発明の名称 メモリアクセス方法及びメモリアクセス装置
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2007−140858(P2007−140858A)
公開日 平成19年6月7日(2007.6.7)
出願番号 特願2005−333167(P2005−333167)
出願日 平成17年11月17日(2005.11.17)
代理人 【識別番号】100105050
【弁理士】
【氏名又は名称】鷲田 公一
発明者 大橋 和将 / 新出 弘紀
要約 課題
時間的に変化するビット変化の抑制を行うことで、メモリアクセス動作の消費電力の削減を図ること。

解決手段
マスターデバイス100は、転送データと次転送データとのハミング距離が最も小さくなるようにデータの書き込み順序を並び替えるメモリアクセス順序並替部102を備え、転送データと次転送データとのハミング距離が最も小さくなるように並び替えたデータによりメモリ200へのアクセスを行う。すなわち、まず、マスターデバイスが必要とするメモリアクセスが発生した際、逐次アクセスを行わず、メモリ200にアクセスする前に、一旦、アクセスするデータをメモリアクセス順序並替部102にバッファリングする。メモリアクセス順序並替部102では、蓄積された数回分のアクセスデータの中から、アクセスする前後での、データのハミング距離が小さくなるようにアクセスの順序を入れ替える。
特許請求の範囲
【請求項1】
転送データと次転送データとのハミング距離が最も小さくなるようにデータの書き込み順序を並び替えるステップと、
並び替えたデータによりメモリへのアクセスを行うステップと
を有することを特徴とするメモリアクセス方法。
【請求項2】
第1のアドレスと第2のアドレスとのハミング距離が最も小さくなるようにアドレス順序を並び替えるステップと、
並び替えたアドレスによりメモリへのアクセスを行うステップと
を有することを特徴とするメモリアクセス方法。
【請求項3】
ハミング距離が最も小さくなるように書き込み順序の並び替えを検討するデータの候補数と、並び替え候補データを確保するために要する転送時間のオーバヘッドとを選択するステップを有することを特徴とする請求項1又は請求項2に記載のメモリアクセス方法。
【請求項4】
転送データと次転送データとのビット配列の全部又は一部のビット変化を、予め予約データとして格納するステップと、
前記ビット変化が前記予約データと一致していることを判定するステップと、
前記ビット変化が前記予約データと一致しているとき、前記転送データから前記次転送データへの変化を禁止するステップと、
前記一致情報をメモリ側に伝えることでデータ転送を行うステップと
を有することを特徴とする請求項1乃至請求項3のいずれかに記載のメモリアクセス方法。
【請求項5】
前転送データと次転送候補の全データとを比較するステップと、
前記前転送データからのハミング距離が最も小さい次転送データを選択するステップと
を有することを特徴とする請求項1乃至請求項4のいずれかに記載のメモリアクセス方法。
【請求項6】
転送候補のデータ転送順序全ての組合せを通して、最もビット変化の小さい転送順序を判定するステップを有することを特徴とする請求項1乃至請求項5のいずれかに記載のメモリアクセス方法。
【請求項7】
次転送候補データバッファ部がエンプティの状態で一番最初に発生したメモリアクセスをメモリに対して出力するステップと、
次のメモリアクセス発生以降、次転送候補データを前記バッファ部に蓄積するステップとを有することを特徴とする請求項1乃至請求項6のいずれかに記載のメモリアクセス方法。
【請求項8】
次転送候補データバッファ部がエンプティの状態で一番最初に発生したメモリアクセスから前記バッファ部に蓄積していくステップを有することを特徴とする請求項1乃至請求項7のいずれかに記載のメモリアクセス方法。
【請求項9】
連続するメモリアクセスの終わりを検出するステップと、
前記連続するメモリアクセスの終わりを検出すると、請求項1乃至請求項8のいずれか一項に記載のメモリアクセス方法を繰り返して、次転送候補データバッファ部の残りのデータを全てメモリへ出力するステップとを有することを特徴とする請求項1乃至請求項8のいずれかに記載のメモリアクセス方法。
【請求項10】
メモリアクセス発生を検出するステップと、
前記メモリアクセスが発生するまでは、次転送候補データバッファ部にデータに蓄積しておくステップとを有することを特徴とする請求項1乃至請求項9のいずれかに記載のメモリアクセス方法。
【請求項11】
転送候補のデータの中で、まず、データ配列中のビットデータ“1”の数の少ないもの同士、又はビットデータ“1”の数の多いもの同士でハミング距離を比較して最小ハミング距離を判定するステップを有することを特徴とする請求項1乃至請求項10のいずれかに記載のメモリアクセス方法。
【請求項12】
メモリから出力する読み出しデータの時系列上のハミング距離が最も小さくなるように前記メモリ出力データの順序を並び替えるステップと、
前記メモリから返ってきた読み出しデータを、前記並び替え前の読み出し順序に並び替え戻すステップと
を有することを特徴とするメモリアクセス方法。
【請求項13】
メモリから出力する読み出しデータの時系列上のハミング距離が最も小さくなるように前記メモリ出力データの順序を並び替えるステップと、
前記メモリ側で並び替えた情報をメモリインタフェース機能に転送し、かつ、前記メモリ側で並び替えた情報を用いて、前記メモリから返ってきた読み出しデータを、前記並び替え前の読み出し順序に並び替え戻すステップと
を有することを特徴とするメモリアクセス方法。
【請求項14】
読み出し制御用のアドレスの時系列上のハミング距離が最も小さくなるように、読み出しアドレス順序を並び替えるステップと、
前記メモリから返された読み出しデータを、前記並び替え前の読み出し順序に並び替え戻すステップと
を有することを特徴とするメモリアクセス方法。
【請求項15】
メモリへの書き込みを制御するメモリアクセス装置であって、
転送データと次転送データとのハミング距離が最も小さくなるようにデータの書き込み順序を並び替える並替手段
を備えることを特徴とするメモリアクセス装置。
【請求項16】
前記並替手段は、並び替えを行う対象データを一次格納する次転送候補データ格納部と、
前記次転送候補データ格納部内の全データと前転送データとを比較し、前記次転送候補データ格納部から、前転送データからのハミング距離が最も小さい次転送データを選択する選択手段と
を備えることを特徴とする請求項15に記載のメモリアクセス装置。
【請求項17】
ハミング距離が最も小さくなるように書き込み順序の並び替えを検討するデータの候補数と、並び替え候補データを確保するために要する転送時間のオーバヘッドとを選択するモード選択手段を備えることを特徴とする請求項16記載のメモリアクセス装置。
【請求項18】
メモリ側出力の読み出しデータの時系列上のハミング距離が最も小さくなるように、前記メモリ側出力の読み出しデータの読み出し順序を並び替える並替手段と、
前記メモリから返された読み出しデータを、前記並替手段における並び替え前の読み出し順序に並び替え戻す読出データ順序復元手段と
を備えることを特徴とするメモリアクセス装置。
【請求項19】
メモリから出力する読み出しデータの時系列上のハミング距離が最も小さくなるように、前記メモリ出力データの順序を並び替える並替手段と、
前記メモリ側で並び替えた情報を、メモリ読み出しデータ受け取り側へ伝送する並替情報送信手段とをメモリ側に備え、
前記メモリ側で並び替えた情報を用いて、前記メモリから返された読み出しデータを、前記並び替え前の読み出し順序に並び替え戻す読出データ順序復元手段と
を備えることを特徴とするメモリアクセス装置。
【請求項20】
読み出し制御用のアドレスの時系列上のハミング距離が最も小さくなるように、読み出しアドレス順序を並び替える並替手段と、
メモリから返された読み出しデータを、前記並替手段における並び替え前の読み出し順序に並び替え戻す読出データ順序復元手段と
を備えることを特徴とするメモリアクセス装置。
【請求項21】
転送データと次転送データとのデータ配列の全て又は一部が一致することを判定する判定手段と、
前記一致情報をメモリ側に伝えることでデータ転送を行う伝送手段と
を備えることを特徴とするメモリアクセス装置。
【請求項22】
転送データと次転送データとのビット配列の全部又は一部のビット変化を、予め予約データとして格納する予約データ格納手段と、
前記ビット変化が前記予約データと一致していることを判定する判定手段と、
前記一致情報をメモリ側に伝えることでデータ転送を行う伝送手段と
を備えることを特徴とするメモリアクセス装置。

発明の詳細な説明
【技術分野】
【0001】
本発明は、メモリアクセス方法及びメモリアクセス装置に関し、特に消費電力を少なくすることができる外部メモリアクセス、内部メモリアクセス、CPUアクセスなどの改良に関する。
【背景技術】
【0002】
近年、携帯機器の伝送レートの高速化と端末の多機能化により、処理するデータ量は増大し、大容量の外部メモリとの間で大量のデータを高速にアクセスする需要が高まっている。
【0003】
一方、端末の高機能化を支えるLSIプロセスの微細化により、LSI内部の負荷容量は小さくなって、外部負荷容量との差が広がり、LSI全体の消費電力のうちIO電力の占める割合が大きくなってきている。
【0004】
特許文献1には、ALUからのアドレッシングがハミング距離(hamming's distance)で行われるように命令順序の配置替えを行うプログラム変換方法が記載されている。また、特許文献2には、前命令と排他的論理和によってハミング距離小の次コードを決めることで命令コードのトグルを抑え低消費電力を図るプログラム変換装置が記載され、特許文献3には、ハミング距離最小となる変換回路を設け消費電力を少なくする信号処理装置が記載されている。さらに、特許文献4には、隣接するアドレスのハミング距離を1とするコードの系列に従ってアクセスする半導体記憶装置が記載されている。
【特許文献1】特開平9−114676号公報
【特許文献2】特開2002−229802号公報
【特許文献3】特開平5−135187号公報
【特許文献4】特開平8−63969号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、このような従来のメモリへのアクセス動作では、時間的に変化するビット変化を抑制する概念がなく、マスターデバイス側でメモリへのアクセスの必要が発生したときに、逐次アクセスを行う方法で行われている。このため、以下に述べるように、メモリアクセス動作の消費電力の低減効果が十分ではないという問題がある。
【0006】
図17は、近年のLSIの内部負荷容量と外部負荷容量との差を説明する図である。
【0007】
図17において、10はLSI内部のマスターデバイス、20はマスターデバイス10に外部接続される外部メモリであり、マスターデバイス10と外部メモリ20はデータライン30により接続されている。マスターデバイス10は、内部バッファ11と、IOバッファ12とを有する。内部バッファ11は、LSI内部の負荷容量を表現するための内部回路の一例であり、IOバッファ12は、外部負荷容量を表現するための外部メモリIF(インターフェース)−IOの一例である。また、外部メモリ20は、マスターデバイス10からのデータを受けるIOバッファ21を有する。内部バッファ11で象徴的に示されるLSI内部の負荷容量CINは、数十[fF]であるのに対し、LSI外部(ここではデータライン30)の負荷容量COUTは、数十[pF]である。近年の微細プロセスでは、LSIの内部負荷容量は、LSIの外部負荷容量の約1000分の1程にもなっている。ここで、CMOS回路の消費電流はドライブする負荷容量に比例するので、1つのIOバッファ12の消費電流は、1つの内部バッファ11の消費電流より約1000倍大きい。
【0008】
また、近年のデータ処理量の増加により、外部メモリ20へのアクセスは高速性も必要とされ、データライン30は、動作周波数も200MHzを超え、ライン数も32bit以上の多ビットになってきている。上記CMOS回路の消費電流は周波数にも比例するので、高周波数になった分についてもIO消費電流は増大し、また、端子数が増えた分もIO消費電流は増大する。
【0009】
現在、携帯機器の携帯性を実現するための、携帯機器の低消費電流化は、半導体プロセスの微細化に負うところが大きい。
【0010】
以上のことをまとめると、近年では、IOの消費電流がLSI全体の消費電流の半分を占めるまでに至り、外部メモリとのIF−IOの消費電流をいかにして抑えるかが重要な解決課題となっている。
【0011】
図18は、従来のメモリアクセスにおける、書き込み動作を説明する概念図である。図18において、マスターデバイスやCPUなどのマスターブロック40は、ライトデータバス及びアドレスデータバス41によりメモリデバイスやメモリブロック42をアクセスする。
【0012】
従来のメモリへのアクセス動作では、マスターデバイス40側でメモリへのアクセスの必要が発生したときに、逐次アクセスを行う方法で行われている。
【0013】
図19は、データバス41内のライトデータの時間変化を示す図である。図19において、51はデータバッファ部内の転送順1番データ、52はデータバッファ部内の転送順2番データ、53はデータバッファ部内の転送順3番データ、54はデータバッファ部内の転送順4番データである。転送順1番データ51「01101101」は、転送順2番データ52「10000010」に変化し、さらに転送順3番データ53「01001100」に変化し、最後に転送順4番データ54「11001010」に変化する。図19に示す網掛けビットは、前状態から変化したビットである。図19の例では、ライトデータ51〜54の間に、全部で15ビットが変化している。メモリ間バスラインのビット変化は、バスラインの電力消費の増大につながる。このように、従来のメモリアクセス方式では、マスターデバイス40が必要とするメモリアクセスを逐次行うだけであって、時間的に変化するビット変化を抑制する概念はない。
【0014】
本発明は、かかる点に鑑みてなされたものであり、時間的に変化するビット変化の抑制を行うことで、メモリアクセス動作の消費電力の削減を図ることができるメモリアクセス方法及びメモリアクセス装置を提供することを目的とする。
【課題を解決するための手段】
【0015】
本発明のメモリアクセス方法は、転送データと次転送データとのハミング距離が最も小さくなるようにデータの書き込み順序を並び替えるステップと、並び替えたデータによりメモリへのアクセスを行うステップとを有する。
【0016】
本発明のメモリアクセス方法は、第1のアドレスと第2のアドレスとのハミング距離が最も小さくなるようにアドレス順序を並び替えるステップと、並び替えたアドレスによりメモリへのアクセスを行うステップとを有する。
【0017】
本発明のメモリアクセス方法は、メモリから出力する読み出しデータの時系列上のハミング距離が最も小さくなるように前記メモリ出力データの順序を並び替えるステップと、前記メモリから返ってきた読み出しデータを、前記並び替え前の読み出し順序に並び替え戻すステップとを有する。
【0018】
本発明のメモリアクセス方法は、メモリから出力する読み出しデータの時系列上のハミング距離が最も小さくなるように前記メモリ出力データの順序を並び替えるステップと、前記メモリ側で並び替えた情報をメモリインタフェース機能に転送し、かつ、前記メモリ側で並び替えた情報を用いて、前記メモリから返ってきた読み出しデータを、前記並び替え前の読み出し順序に並び替え戻すステップとを有する。
【0019】
本発明のメモリアクセス方法は、読み出し制御用のアドレスの時系列上のハミング距離が最も小さくなるように、読み出しアドレス順序を並び替えるステップと、前記メモリから返された読み出しデータを、前記並び替え前の読み出し順序に並び替え戻すステップとを有する。
【0020】
本発明のメモリアクセス装置は、メモリへの書き込みを制御するメモリアクセス装置であって、転送データと次転送データとのハミング距離が最も小さくなるようにデータの書き込み順序を並び替える並替手段を備える構成を採る。
【0021】
本発明のメモリアクセス装置は、メモリ側出力の読み出しデータの時系列上のハミング距離が最も小さくなるように、前記メモリ側出力の読み出しデータの読み出し順序を並び替える並替手段と、前記メモリから返された読み出しデータを、前記並替手段における並び替え前の読み出し順序に並び替え戻す読出データ順序復元手段とを備える構成を採る。
【0022】
本発明のメモリアクセス装置は、メモリから出力する読み出しデータの時系列上のハミング距離が最も小さくなるように、前記メモリ出力データの順序を並び替える並替手段と、前記メモリ側で並び替えた情報を、メモリ読み出しデータ受け取り側へ伝送する並替情報送信手段とをメモリ側に有し、前記メモリ側で並び替えた情報を用いて、前記メモリから返された読み出しデータを、前記並び替え前の読み出し順序に並び替え戻す読出データ順序復元手段とを備える構成を採る。
【0023】
本発明のメモリアクセス装置は、読み出し制御用のアドレスの時系列上のハミング距離が最も小さくなるように、読み出しアドレス順序を並び替える並替手段と、メモリから返された読み出しデータを、前記並替手段における並び替え前の読み出し順序に並び替え戻す読出データ順序復元手段とを備える構成を採る。
【0024】
本発明のメモリアクセス装置は、転送データと次転送データとのデータ配列の全て又は一部が一致することを判定する判定手段と、前記一致情報をメモリ側に伝えることでデータ転送を行う伝送手段とを備える構成を採る。
【0025】
本発明のメモリアクセス装置は、転送データと次転送データとのビット配列の全部又は一部のビット変化を、予め予約データとして格納する予約データ格納手段と、前記ビット変化が前記予約データと一致していることを判定する判定手段と、前記一致情報をメモリ側に伝えることでデータ転送を行う伝送手段とを備える構成を採る。
【発明の効果】
【0026】
本発明によれば、アクセスデータのビット変化数を削減することができ、メモリアクセス動作の消費電力を削減することができる。
【発明を実施するための最良の形態】
【0027】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【0028】
(実施の形態1)
図1は、本発明の実施の形態1に係るメモリアクセス方法を示すブロック図である。本実施の形態は、ライトデータのメモリアクセスを例に採り説明する。
【0029】
図1において、CPUなどのマスターデバイス100は、発生したメモリアクセスデータを格納するデータバッファ101と、発生したメモリアクセスデータの書き込み順序を並べ替えるメモリアクセス順序並替部102とを備える。マスターデバイス100は、ライトデータバス及びアドレスデータバス103によりメモリデバイス若しくはメモリブロック(以下、メモリという)200への書き込みを制御する。
【0030】
メモリアクセス順序並替部102は、転送データと次転送データとのハミング距離が最も小さくなるようにデータの書き込み順序を並び替える。
【0031】
以下、上述のように構成されたメモリアクセス方法のメモリアクセス動作について説明する。
【0032】
図2は、データバス103内のライトデータの時間変化を示す図である。図2は、従来例の図19のライトデータの時間変化図に対応している。
【0033】
図2において、301はデータバッファ部内の転送順1番データ、302はデータバッファ部内の転送順2番データ、303はデータバッファ部内の転送順3番データ、304はデータバッファ部内の転送順4番データであり、いずれもメモリアクセス順序並替部102によるデータの書き込み順序の並べ替え後のデータである。
【0034】
書き込み動作時のライトデータに着目する。上記転送順番データ301〜304は、書き込み動作時には、ライトデータ301〜304と呼ぶ。マスターデバイス100で発生したメモリ200へのアクセス必要時に、ライトデータ301を、一度、メモリアクセス順序並替部102に蓄積する。メモリアクセス順序並替部102において、転送データと次転送データとのハミング距離が最も小さくなるようにデータの書き込み順序を並び替え、並べ替えデータをメモリ200へ出力する。同様に、ライトデータ302〜304についても、一度、メモリアクセス順序並替部102に蓄積し、メモリアクセス順序並替部102において、転送データと次転送データとのハミング距離が最も小さくなるようにデータの書き込み順序を並び替え、並べ替えデータをメモリ200へ出力する。
【0035】
転送データと次転送データとのハミング距離が最も小さくなるデータの書き込み順序の並び替えとは、具体的には、転送データと次転送データとを比較した場合に、転送順番データの各ビット変化(「0」→「1」/「1」→「0」)が最も小さくなるようにメモリアクセス転送順序を並び替えることである。例えば、図2では、元々は転送順1番データ「01101101」の次に位置していた転送順番データ「10000010」を、転送順4番データの位置に並べ替える。また、並べ替え前の転送順3番データ「01001100」及び転送順4番データ「11001010」はそれぞれ前に繰り上げる。この並べ替えによって、転送順1番データ301「01101101」は、転送順2番データ302「01001100」に変化し、転送順3番データ303「11001010」に変化し、最後に転送順4番データ304「10000010」に変化する。
【0036】
これにより、図2の網掛けに示すように、前状態からの変化ビットは、ライトデータ21〜24の間に、合計7ビットとなる。図19に示す従来例の変化ビットの合計15ビットと比較して、アクセスデータのビット変化数を15から7に8ビット分削減することができる。アクセスデータのビット変化数を削減することで、メモリアクセス動作の消費電力を削減することができる。
【0037】
以上のように、実施の形態1によれば、マスターデバイス100は、転送データと次転送データとのハミング距離が最も小さくなるようにデータの書き込み順序を並び替えるメモリアクセス順序並替部102を備え、転送データと次転送データとのハミング距離が最も小さくなるように並び替えたデータによりメモリ200へのアクセスを行う。すなわち、まず、マスターデバイスが必要とするメモリアクセスが発生した際、逐次アクセスを行わず、メモリ200にアクセスする前に、一旦、アクセスするデータをメモリアクセス順序並替部102にバッファリングする。メモリアクセス順序並替部102では、蓄積された数回分のアクセスデータの中から、アクセスする前後での、データのハミング距離が小さくなるようにアクセスの順序を入れ替える。図2と図19を比較して明らかなように、本実施の形態では、ライトデータ301〜304の間で発生したビット変化の合計数は7ビット分であり、従来例の図19の場合に比べて、変化したビットの合計数が8ビット分削減できている。メモリ間バスラインのビット変化の削減は、バスラインの電力消費の低減につながる。
【0038】
図3は、本実施の形態の低消費電力効果を説明する図である。図3ハッチングに示すように、従来はIOの消費電流がLSI全体の消費電流の半分を占め、IO消費電流は増大傾向にあった。これに対し、本実施の形態では、IOとは比較にならない程(約1000分の程)の低消費電流しか要しないLSI内部においてあらかじめデータの書き込み順序の並び替えをしておき、消費電流の大きいIOでは極力ビット変化を避けることで、IO消費電流を大幅に低減する。これにより、LSI全体のメモリアクセス動作の消費電力の削減を図ることができる。
【0039】
(実施の形態2)
実施の形態2では、実施の形態1のライトデータのビット変化量に加え、アドレスのビット変化量にも着目する。ハード的構成は図1と同様であるため説明を省略する。但し、実施の形態2のメモリアクセス順序並替部102は、書き込みデータとアドレスを合わせて、ハミング距離が最も小さくなるように、書き込み順序を並び替える。
【0040】
図4は、データラインとアドレスラインを合わせたデータバスの時間変化を示す図であり、図18に示す従来例のメモリアクセス方法によるものである。
【0041】
図4に示すように、従来例では、図18のマスターデバイス40からメモリ42に対して発生したアクセス順に並べた、データラインとアドレスラインを合わせたデータバス41の時間変化となる。実施の形態1で説明したように、ライトデータについては、アドレス及びライトデータ61〜64の間に、全部で15ビットが変化している。同様の理由で、アドレスは全部で8ビットが変化しており、変化ビットの合計は23ビットである。
【0042】
図5は、本発明の実施の形態2に係るメモリアクセス方法のデータラインとアドレスラインを合わせたデータバスの時間変化を示す図であり、アクセスの順序を、ハミング距離が小さくなるように、入れ替えた場合のデータバスの時間変化の様子を示したものである。
【0043】
図5に示すように、実施の形態2では、アクセスする前後での、データラインとアドレスラインを合わせたデータのハミング距離が小さくなるように、アクセスの順序を入れ替える。図5の並べ替え後の転送順番のアドレス及びライトデータ401,402,403,404は、図4の並べ替え前の転送順番のライトデータ61,63,62,64の順に並べ替えたものである。
【0044】
図4の場合には、アドレス及びライトデータ61〜64の間で発生したビット変化の合計数は23ビット分であるが、順序入れ替え後の図5の場合には、変化したビットの合計数が13ビットであり、10ビット分のビット変化を削減できている。
【0045】
このように、実施の形態2によれば、メモリアクセス順序並替部102は、データだけでなく、アドレスも合わせたビット変化量をアクセス順序並び替えの判断対象にすることで、アドレスラインも含めて、メモリアクセス動作の消費電力を削減することができる。
【0046】
(実施の形態3)
実施の形態3では、データのバッファ量の選択による、低消費電力効果と転送ウエイト(Wait)時間との選択に着目する。実施の形態3は、処理時間との選択機能付きのメモリアクセス方法である。ハード的構成は図1と同様であるため説明を省略する。
【0047】
前記図5に示すアドレス及びライトデータは、データバッファ部に一時的に保存されるデータの状態を示しており、データバッファ部を構成する各データバッファは図5のアドレス及びライトデータ401〜404と同一符号を用いて記載することができる。
【0048】
図6は、本発明の実施の形態3に係るメモリアクセス方法のデータバッファ部を示す図である。図6において、データバッファ部は、データバッファ501〜504から構成される。データバッファ部内のデータバッファ504は使用しない。
【0049】
前記図5では、マスターデバイス内で発生したメモリアクセスを4回分蓄積した後、前転送データからのハミング距離が最小になるデータを、データバッファ部の内の4つのデータバッファ401〜404から選択していた。これにより、ビット変化が削減でき、バスラインの電力消費を低減することが可能になった。しかし、データバッファ上でデータの移動を行うため僅かながら処理時間(転送ウエイト時間)が増えることになる。低消費電力効果と転送ウエイト時間とは言わばトレードオフの関係にある。そこで、実施の形態3では、低消費電力効果と転送ウエイト時間とのどちらをより重視するかによってモード選択できる構成とする。具体的には、ハミング距離が最も小さくなるように書き込み順序の並び替えを検討するデータの候補数と、並び替え候補データを確保するために要する転送時間のオーバヘッドとを選択するモード選択機能を有する。このモード選択機能により、低消費電力効果を上げる場合には、本メモリアクセス方法で使用するデータバッファ数を増やし、処理速度を重視する場合には、前記使用するデータバッファ数を減らす。このモード選択はユーザ指定又はデータ量などにより適応的に変更可能である。
【0050】
図6の例では、データバッファ504を使用しない。データバッファ504を未使用にすることにより、蓄積できるメモリアクセスは3回分となり、前転送データからのハミング距離が最小になるデータをデータバッファ部内の3つのデータバッファ501〜503から選択する。
【0051】
したがって、図5の場合と比較して前転送データからのハミング距離が最小になるデータの選択候補が少なくなることから低消費電力の効果は減少するものの、蓄積されるデータが少ない分、メモリへの転送が早く完結できる効果を得ることができる。図7を参照してより詳しく説明する。
【0052】
図7は、データバッファ504を使用せずデータラインとアドレスラインを合わせたデータバスの時間変化を示す図である。
【0053】
データバンク領域(ここではデータバッファ)を広げれば広げるほどに、次転送データの選択肢は増え、転送データの変化ビットを抑えることができるが、これに比例して転送ウエイトが増える。そこで、実施の形態3では使用するデータバンク領域を指定できる機能を備える。例えば、図7に示すように3段バンク内で、前転送データに最も近いビット配列を選択する。これにより、1段バンク分、転送時間オーバヘッドが少ない分高速転送が可能になる。
【0054】
このように、実施の形態3によれば、メモリアクセスを蓄積できる回数を可変にすることにより、低消費電力の効果と、メモリへの転送のウエイト時間とを必要に応じて選択することができる。
【0055】
(実施の形態4)
実施の形態4では、メモリにアクセスするデータの一部、若しくは全部を、マスターデバイス側とメモリ側の両方に、予め持たせておくものである。
【0056】
図8は、本発明の実施の形態4に係るメモリアクセス方法を示すブロック図である。本実施の形態の説明に当たり、図1と同一構成要素には同一符号を付して重複箇所の説明を省略する。
【0057】
図8において、CPUなどのマスターデバイス600は、ビット変化を予め予約した予約データを格納する予約データ格納部601と、予約データとビット配列との一致を検出する一致検出部602とをさらに備える。
【0058】
上記予約データは、転送データと次転送データとのビット配列の全部、若しくは一部のビット変化を予め予約しておくものである。予約データ601は、出現頻度の高いデータ列の予約であることが好ましい。予約データの一例として、図9に示すようなライトデータの下位4ビット「1100」の予約データ601Aがある。
【0059】
一致検出部602は、転送データと次転送データとのビット配列の全部、若しくは一部のビット変化が予約データと一致するか検出し、ビット変化が予約データと一致しているとき、次転送データが予約データであることを一致検出信号603によりメモリ200側に伝える。したがって、ビット変化が予約データと一致しているとき、一致検出信号603がメモリ200に出力されることで、転送データから次転送データへのビット配列の変化はなくなる。
【0060】
以下、上述のように構成されたメモリアクセス方法のメモリアクセス動作について説明する。
【0061】
前記図5に示す実施の形態2の処理後の、アドレス及びライトデータ401〜404の場合を例に採る。アドレス及びライトデータ402の下位4ビット「1100」が、予約データ601A「1100」(図9)と一致する。このとき、アドレス及びライトデータ401の次のアクセスでは、アドレス及びライトデータ402の下位4ビット以外は、通常のアクセス動作を行う。アドレス及びライトデータ402の下位4ビット「1100」は、アドレス及びライトデータ401の状態のままである代わりに、一致検出部602からメモリ200に一致検出信号603が伝えられる。一致検出信号603は、転送データから次転送データへのビット配列が予約ビットと一致しているときに出力される信号である。
【0062】
メモリ200側では、データの下位4ビットが予め予約されている予約データ601Aの内容「1100」であることを識別する。
【0063】
ここで、複数の予約データに対応する場合には、例えば予約データ毎にID番号を設け、一致検出信号603としてID番号を伝達することで、複数の予約データに対応することができる。
【0064】
このように、実施の形態4によれば、メモリ間のビット変化率を抑制することができ、より一層のローパワー化を実現することができる。
【0065】
(実施の形態5)
実施の形態5は、次の実施の形態6と共に、実施の形態1で説明したデータの書き込み順序の並べ替え方法をより詳細に説明する例である。ハード的構成は図1と同様であるため説明を省略する。但し、実施の形態5のメモリアクセス順序並替部102は、前転送データと次転送候補の全データとを比較し、前転送データからのハミング距離が最も小さい次転送データを選択する。
【0066】
前記図4のデータラインとアドレスラインを合わせたデータバスの時間変化を例に採り説明する。
【0067】
実施の形態5のメモリアクセス順序並替部102では、前転送データに対し、次の転送が最小ハミング距離になるデータを、転送候補全データの中から選択する。図4の例では、既にアクセスした、前アクセスデータ61に対して、ハミング距離が最も小さいデータをデータ62〜64の中から選択する。
【0068】
このように、実施の形態5によれば、前転送データと次転送候補の全データとを比較し、前転送データからのハミング距離が最も小さい次転送データを選択する具体的な並べ替え機能が提供される。
【0069】
(実施の形態6)
実施の形態6もまた、実施の形態1で説明したデータの書き込み順序の並べ替え方法をより詳細に説明する例である。ハード的構成は図1と同様であるため説明を省略する。但し、実施の形態6のメモリアクセス順序並替部102は、転送候補のデータ転送順序全ての組合せを通して、最もビット変化の小さい転送順序を判定し、メモリ200へ出力する。
【0070】
前記図4のデータラインとアドレスラインを合わせたデータバスの時間変化を例に採り説明する。
【0071】
実施の形態6のメモリアクセス順序並替部102では、前転送データに対する次の転送データの選択も含め、データバッファ内に残っている全転送データを通してビット変化量が最小になる転送順序を判定する。図4の例では、転送候補のデータ転送順序全ての組合せを通して、最もビット変化の小さい転送順序を判定し、既にアクセスした、前アクセスデータ61を含め、データ61〜64の4回分のアクセスを通して、合計のビット変化が最も小さくなるアクセスの順序を判定し、次のアクセスデータをデータ62〜64の中から決定する。
【0072】
このように、実施の形態6によれば、転送候補のデータ転送順序全ての組合せを通して、最もビット変化の小さい転送順序を判定する具体的な並べ替え機能が提供される。
【0073】
(実施の形態7)
実施の形態7は、次の実施の形態8と共に、初期時の処理方法を具体的に説明する例である。
【0074】
実施の形態7では、データバッファがエンプティ時の初期状態の処理に着目し、データバッファがエンプティの状態でマスターデバイス内で一番最初に発生したメモリアクセスは、まず、すぐにメモリに対して出力し、次のメモリアクセス発生以降、データバッファに蓄積する。
【0075】
すなわち、
1.次転送候補データバッファ部がエンプティの状態から、マスターデバイス内で一番最初に発生したメモリアクセスを、メモリに対して出力する工程と、
2.次に、マスターデバイス内で発生するメモリアクセス以降から、次転送候補データバッファ部に蓄積する工程とを有するメモリアクセス方法である。
【0076】
そして、上記工程によりデータバッファがフルになると、実施の形態5、実施の形態6、又はその他の方法で、ビット変化が最も小さくなるメモリアクセスを行う。
【0077】
このように、実施の形態7によれば、初期時の処理方法が具体的に提供され、上述した実施の形態1乃至6と共に実施することで、データのビット変化数を削減することができ、メモリアクセス動作の消費電力を削減することができる。
【0078】
(実施の形態8)
実施の形態8もまた、初期時の処理方法を具体的に説明する例である。
【0079】
実施の形態8では、実施の形態7とは別のデータバッファがエンプティ時の初期状態の処理に着目し、データバッファがエンプティの状態でマスターデバイス内で一番最初に発生したメモリアクセスからデータバッファ部に蓄積する。すなわち、次転送候補データバッファ部がエンプティの状態で、マスターデバイス内で一番最初に発生したメモリアクセスから、次転送候補データバッファ部に蓄積するメモリアクセス方法である。
【0080】
そして、データバッファがフルになると、実施の形態5、実施の形態6、又はその他の方法で、ビット変化が最も小さくなるメモリアクセスを行う。
【0081】
好適には、実施の形態8は、実施の形態6と組み合わせることで、実施の形態6の効果を大きくすることができる。
【0082】
(実施の形態9)
実施の形態9は、次の実施の形態10と共に、一連のメモリアクセス終了時の処理方法を具体的に説明する例である。
【0083】
実施の形態9では、連続するメモリアクセス一括りの終わりの処理に着目し、一定の時間が空くなど、連続するメモリアクセス一括りの終わりを検出すると、データバッファ内の蓄積データが空になるまで、実施の形態5、実施の形態6、又はその他の方法で、メモリへの出力を行ってしまうものである。すなわち、メモリへのアクセスが停止してから、ある一定の空き時間を検出後、実施の形態1乃至8のメモリアクセス方法を繰り返して、次転送候補データバッファ内の残りのデータを、全てメモリへ出力する。例えば、実施の形態5又は実施の形態6の並べ替え方法を繰り返して、データバッファ内の残りのデータを全てメモリへ出力する。
【0084】
このように、実施の形態9によれば、一連のメモリアクセス終了時の処理方法が具体的に提供され、上述した実施の形態1乃至8と共に実施することで、データのビット変化数を削減することができ、メモリアクセス動作の消費電力を削減することができる。
【0085】
(実施の形態10)
実施の形態10もまた、一連のメモリアクセス終了時の処理方法を具体的に説明する例である。
【0086】
実施の形態10では、実施の形態9とは別の、連続するメモリアクセス一括りの終わりの処理に着目し、連続するメモリアクセス一括りの終わりには無関係に、次のメモリアクセスがマスターデバイス内で発生するまでは、その前までに蓄積されていたデータバッファ内のデータは蓄積されたままにする。
【0087】
そして、マスターデバイス、若しくは他のデバイスから、データの読み出しが発生し、所望の読み出しデータが、まだデータバッファ内に残っているデータであった場合、メモリへの読み出し制御情報を、データバッファ部でも受け取れるようにしておく。
【0088】
すなわち、
1.メモリへのアクセスが停止してからの時間に無関係に、次転送候補データバッファ内の残りデータは残したままにする工程と、
2.次に読み出しが発生し、所望の読み出しデータが、次転送候補データバッファ内に残っているデータであった場合でも、読み出し用制御信号を次転送候補データバッファ部に引き込んでおく工程とを有する。
【0089】
読み出し制御側は、所望のデータが次転送候補データバッファ部に残っていることを意識することなく、メモリに対する読み出しアクセス動作をすることで、所望のデータを読み出すことができる。
【0090】
これにより、必要なデータバッファ部のサイズ分だけ、データ格納領域としても利用でき、実際にはメモリにアクセスされなかった動作分は、メモリ間のデータバスのビット変化を発生させる必要が無く、低消費電力の効果を得ることができる。
【0091】
(実施の形態11)
実施の形態11は、最小ハミング距離の判定方法を具体的に説明する例である。
【0092】
本発明者は、2つのデータにおいて、2つのデータ共に、“1”の数が少ない場合は、ハミング距離が小さい可能性が高いことを見出した。まず、前転送データとデータバッファ内の次転送候補全データ内の“1”の数をカウントし、“1”の少ないもの同士、“1”の多いもの同士のハミング距離を判定する。具体的には、“1”の数がある一定数より少ないデータが2つある場合は、この2つのデータ間のハミング距離を先に判定する。ここで判定されたハミング距離以上にデータ内の“1”の数に差があるデータは、明らかに、上記判定されたハミング距離よりもハミング距離は大きくなるので、ハミング距離の判定する必要はなくなる。図10を参照してより詳細に説明する。
【0093】
図10は、実施の形態11のハミング距離の判定方法を説明するための、データバッファ部のデータを示す図である。
【0094】
図10はデータバッファの状態を示しており、既にアクセスした、前アクセスデータ701に対して、ハミング距離が最も小さいデータをアクセスデータ702〜704の中から選択する。
【0095】
アドレス幅とデータ幅合わせて12ビットであることを考慮して、“1”の数が少ないデータを定義する。ここでは、ある一定数を“4”とする例について述べる。
【0096】
図10では、アクセスデータ701の“1”の数は3個であり、“1”の数が少ないデータに該当する。このとき、アクセスデータ702〜704のデータの中で、“1”の数が少ないデータを確認すると、アクセスデータ702が該当しており、アクセスデータ701とアクセスデータ702のハミング距離を判定すると、3である。
【0097】
アクセスデータ703は“1”の数が9個あり、アクセスデータ701とアクセスデータ703の“1”の数の差は、上記により求めたハミング距離より大きいため、データ間のハミング距離の判断処理をするまでもなく、アクセスデータ701とアクセスデータ703間のハミング距離は、アクセスデータ701とアクセスデータ702とのハミング距離より大きい。実際、アクセスデータ701とアクセスデータ703間のハミング距離は8である。
【0098】
アクセスデータ704は“1”の数が6個であり、アクセスデータ701とアクセスデータ704の“1”の数の差は、上記により求めたハミング距離と等しいため、この場合では、アクセスデータ701とアクセスデータ704間のハミング距離がアクセスデータ701とアクセスデータ702とのハミング距離より大きいとは限らない。実際、アクセスデータ701とアクセスデータ704間のハミング距離では、ハミング距離は3になっている。
【0099】
このようにしてハミング距離を判定することにより、ハミング距離を判定する処理時間を短縮する効果を得ることができる。
【0100】
また、“1”の数がある一定数より多いデータの場合でも、データ“1”の数が少ない場合と同様に処理することができ、データ“1”の数が少ない場合の処理と、多い場合の処理は同時に実行することができる。
【0101】
(実施の形態12)
実施の形態1乃至11では、メモリへの書き込みを例に採り説明した。本発明は、メモリの読み出し制御にも適用することができる。
【0102】
実施の形態12は、次の実施の形態13とともに、メモリのリード方法を具体的に説明する例である。
【0103】
図11は、実施の形態12のメモリのリード方法を説明するブロック図である。
【0104】
図11において、CPUなどのマスターデバイス800は、メモリ900の読み出し動作を制御する読出制御部801と、メモリ900から返ってきた読み出しデータを、並び替え前の読み出し順序に並び替え戻す転送順復元部802とを備える。
【0105】
また、メモリ900は、メモリの読み出し動作において、メモリから出力する読み出しデータの時系列上のハミング距離が最も小さくなるように、メモリ出力データの順序を並び替える転送順並替部901を備える。
【0106】
以下、上述のように構成されたメモリアクセス方法のメモリアクセス動作について説明する。
【0107】
マスターデバイス800で発生したメモリ900へのリード要求803に対し、メモリ900では、所定のデータを、即時には出力せず、一旦、転送順並替部901に蓄積する。
【0108】
転送順並替部901では、実施の形態1乃至11で詳述した方法と同様な方法により転送データと次転送データとのハミング距離が最も小さくなるようにデータの書き込み順序を並び替え、リードデータバス804によりマスターデバイス800へ出力する。
【0109】
また、転送順並替部901により並び替えた情報を、リードデータ並べ替え情報伝達ライン805によりマスターデバイス800に伝える。これを受けてマスターデバイス800は、読出制御部801で読み出しリクエストした順に、転送順復元部802によって転送順序を元に戻す。
【0110】
このように、実施の形態12によれば、メモリ900から出力する読み出しデータの時系列上のハミング距離が最も小さくなるように、メモリ出力データの順序を並び替え、かつ、メモリ900から返ってきた読み出しデータを、並び替え前の読み出し順序に並び替え戻しているので、読み出し制御時において、読み出しデータラインのビット変化数を削減することができ、メモリアクセス動作の消費電力を削減することができる。
【0111】
(実施の形態13)
実施の形態13は、実施の形態12で説明した読出し制御方法に加え、読み出し制御用のアドレスデータのビット変化量にも着目した例である。
【0112】
図12は、実施の形態13のメモリのリード方法を説明するブロック図である。本実施の形態の説明に当たり、図11と同一構成要素には同一符号を付して重複箇所の説明を省略する。
【0113】
図12において、マスターデバイス1000の読出制御部1001は、読出アドレス並替部1002をさらに備える。読出アドレス並替部1002は、読み出し制御用のアドレスの時系列上のハミング距離が最も小さくなるように、読み出しアドレス順序を並び替える。
【0114】
以下、上述のように構成されたメモリアクセス方法のメモリアクセス動作について説明する。
【0115】
マスターデバイス1000で発生したメモリ900へのリード要求を、メモリ900に対して即時には出力せず、一旦、読出制御部1001内の読み出しアドレス並替部1002に蓄積する。
【0116】
読出アドレス並替部1002では、実施の形態1乃至11で詳述した方法により、転送アドレスデータと次転送アドレスデータとのハミング距離が最も小さくなるようにデータの書き込み順序を並び替え、メモリ読み出し制御用アドレス1003によりメモリ900へ出力する。
【0117】
次に、上述した実施の形態12等の方法により、メモリ900からマスターデバイス1000へデータを転送する。
【0118】
このようにすることで、実施の形態12による効果に加え、マスターデバイス1000からメモリ900への読み出し指定のアドレスラインのビット変化量も削減でき、メモリアクセス動作の消費電力をより一層削減することができる。
【0119】
ところで、以上述べた各実施の形態1乃至13を組み合わせて実施しても良いことは言うまでもない。例えば、実施の形態1乃至11の方法を用いてメモリに対して書き込みを行い、実施の形態12及び13の方法を用いてメモリから読み出しを行うようにしても良い。一例として、実施の形態13の方法によってアドレスを出力し、実施の形態12の方法によって、メモリ側からデータを出力し、メモリインタフェース機能で並び替え前の読み出し順序にデータを並び替え戻すメモリアクセス方法が採用できる。このように組み合わせれば、ライト動作とリード動作、さらには制御用アドレスを並べ替えるリード動作を、共存させることができ、各々の効果もそのまま得ることができる。
【0120】
また、マスターデバイスがCPU以外の装置であっても良く、メモリは外付け、内部メモリいずれであっても良い。
【0121】
(実施の形態14)
実施の形態14は、メモリへの書き込み動作に適用する場合の具体的な装置の構成例である。
【0122】
図13は、本発明の実施の形態14に係るメモリアクセス方法を示すブロック図である。本実施の形態の説明に当たり、図1と同一構成要素には同一符号を付して重複箇所の説明を省略する。
【0123】
図13において、CPUなどのマスターデバイス1100は、発生したメモリアクセスデータを格納するデータバッファ1101、次転送候補データを格納する次転送候補データバッファ部1102、セレクタ1103、既にアクセス済みの前アクセスデータを格納する転送データ格納部1104、及び比較器1105を備えて構成される。
【0124】
次転送候補データバッファ部1102は、並び替えを行う対象データを一次格納する。
【0125】
比較器1105は、次転送候補データバッファ部1102内の全データと前転送データとを比較する、転送データと次転送候補データとの間の最小ハミング距離検出器である。
【0126】
比較器1105は、具体的には、次転送候補データバッファ部1102内のデータ転送順全ての組合せを通して、最もビット変化の小さい転送順序を判定するビット演算器、及びビット変化判定器から構成され、より具体的には、データ配列中のビットデータ“1”の数を数えるビットカウンタ、前転送データのビットデータ“1”の数を記憶するビット1レジスタ、及び前記ビット1レジスタに格納されている値と次転送候補データバッファ部1102内の各データのビットデータ“1”の数とを比較するビット1比較器から構成される。
【0127】
セレクタ1103は、上記ビット変化判定器によって判定されたデータ順に、次転送候補データバッファ部1102からデータを取り出してメモリ200へ出力する。
【0128】
以下、上述のように構成されたメモリアクセス方法及びメモリアクセス装置のメモリアクセス動作について説明する。
【0129】
マスターデバイス1100により発生したメモリ200への書き込みデータを、データバッファ1101から読み出し、一旦、次転送候補データバッファ部1102に蓄積する。
【0130】
次に、比較器1105は、転送データ格納部1104に格納されている既にアクセス済みの前アクセスデータと次転送候補データバッファ部1102内の全データとを比較し、比較結果を選択信号としてセレクタ1103に出力する。セレクタ1103は、前アクセスデータとのハミング距離が最も小さい次転送データを、次転送候補データバッファ部1102内のデータから選択して転送データ格納部1104に出力する。
(実施の形態15)
実施の形態15は、シリアルインタフェースのメモリアクセスに適用する場合の具体的な装置の構成例である。
【0131】
パラレルインタフェースの場合では、前転送データと次転送データとのデータが一致していた場合では、ハミング距離が最も近く、同じデータを2回連続で転送しても、メモリ間バスラインのビット変化はないため、バスラインの電力は消費しない。
【0132】
しかし、シリアルインタフェースの場合では、前転送データと次転送データとのデータが一致していた場合でも、1ビットずつ転送されるため、メモリ間バスラインのビット変化を生じ、同じデータの2回連続転送であっても、1回転送分の電力を、そのまま2回消費してしまう。
【0133】
そこで、実施の形態15では、シリアルインタフェースのメモリアクセスに適用する場合、マスターデバイスで発生した次転送データの一部、若しくは全部を、前転送データ比較し、次転送データの一部、若しくは全部が、前転送データと一致した場合、シリアルインタフェースの一致した分のビットは変化させない。
【0134】
その代わりに、一致検出信号をメモリ側に出すことで、メモリ側でも、次転送データの一部、若しくは全部を、前転送データの一部、若しくは全部から引用することで、転送を正常に完了することができる。
【0135】
上述の具体的な例として、ライトデータの下位4ビットが一致の場合、上述の処理を行う場合を図14により説明する。
【0136】
図14は、本発明の実施の形態15に係るメモリアクセス方法を示すブロック図である。本実施の形態の説明に当たり、図13と同一構成要素には同一符号を付して重複箇所の説明を省略する。
【0137】
図14において、CPUなどのマスターデバイス1200は、発生したメモリアクセスデータを格納するデータバッファ1201、既にアクセス済みの前アクセスデータを格納する転送データ格納部1202、及び比較器1203を備えて構成される。転送データ格納部1202の出力は、ライトデータシリアルライン1204によりメモリ200に渡され、比較器1203による比較結果は、一致検出情報伝達ライン1205によりメモリ200に渡される。すなわち、マスターデバイス1200は、図13のマスターデバイス1100から次転送候補データバッファ部1102及びセレクタ1103を取り去った代わりに一致情報をメモリ200に出力する構成となっている。上述したように、シリアルインタフェースの場合の消費電力低減を目的とするため、ライトデータシリアルライン1204を用いる例について説明するが、パラレルインタフェースに適用できることは勿論である。
【0138】
以下、上述のように構成されたメモリアクセス方法のメモリアクセス動作について説明する。
【0139】
マスターデバイス1200とメモリ200は、シリアルデータライン1204で接続されている。ライトされるデータはデータ1301、データ1302の順である。
【0140】
まず、データ1301が、転送データ格納部1202からシリアルデータライン1204を介してメモリ200にライトされる。
【0141】
次に、転送データ格納部1202に格納されている既に転送済みのライトデータの下位4ビットと、データバッファ1201に格納されている次転送データの下位4ビットとを比較器1203により比較する。
【0142】
このとき、ライトデータ1301とライトデータ1302の下位4ビットは一致するので、ライトデータ1302の転送時、下位4ビットはシリアルデータライン1204のビットを変化させない。
【0143】
その代わり、比較器1203から、一致検出情報ライン1205を介して一致情報をメモリ200に伝え、これにより、メモリ200は、転送データの下位4ビットが前転送データの下位4ビットと同一であることを識別し、転送を正常に完了する。
【0144】
これにより、メモリ間のビット変化量を抑制することができ、ローパワー化を実現することができる。
【0145】
ここで、複数の予約データがある場合には、予約データ毎にID番号を設け、一致検出情報ライン1205でID番号を伝達することで、複数の予約データに対応することができる。
【0146】
(実施の形態16)
実施の形態16は、携帯電話端末のロジックLSIのメモリアクセス装置に適用した場合の例である。
【0147】
図15は、本発明の実施の形態16に係るメモリアクセス装置を示すブロック図であり、メモリへの書き込み動作に適用する場合の構成例である。図13の装置の具体例に対応するものである。
【0148】
図15において、携帯電話機などの携帯端末装置2000は、装置全体を制御するCPU2100、外部メモリを制御するロジックLSI2200、ロジックLSI2200により書き込み制御される複数の外部メモリ2301〜2303(外部メモリ<1>〜<3>)を備える。
【0149】
ロジックLSI2200は、CPU2100からのメモリ制御要求を基にメモリ制御部2211〜2213(メモリ制御部<1>〜<3>)を制御するCPUIF2210、及び外部メモリ2301〜2303を制御するメモリ制御部2211〜2213(メモリ制御部<1>〜<3>)を備えて構成される。メモリ制御部2211〜2213(メモリ制御部<1>〜<3>)は、同一構成を採るためメモリ制御部2211(メモリ制御部<1>)を代表して説明する。
【0150】
メモリ制御部2211(メモリ制御部<1>)は、発生したメモリアクセスデータを格納するデータバッファ2221、比較段数制御を行う比較段数制御部2222、次転送候補データを格納する次転送候補データバッファ部2223、セレクタ2224、既にアクセス済みの前アクセスデータを格納する転送データ格納部2225、及び比較器2226を備えて構成される。
【0151】
比較段数制御部2222は、CPUIF2210からの指示に従ってデータバッファの使用段数を設定し、低消費電力効果を重視する場合には使用するデータバッファ数を増やし、処理速度を重視する場合には使用するデータバッファ数を減らす制御を行う。上記設定は、CPU2100からの指示を受けたCPUIF2210により設定される。なお、CPU2100は、別途、省電力モード設定処理を実行し、その設定処理実行中に行われたユーザ指定又はデータ量などにより適応的にデータバッファ数を変更可能である。
【0152】
次転送候補データバッファ部2223は、並び替えを行う対象データを一次格納する。
【0153】
比較器2226は、次転送候補データバッファ部2223内の全データと前転送データとを比較する、転送データと次転送候補データとの間の最小ハミング距離検出器である。
【0154】
比較器2226は、具体的には、次転送候補データバッファ部2223内のデータ転送順全ての組合せを通して、最もビット変化の小さい転送順序を判定するビット演算器、及びビット変化判定器から構成され、より具体的には、データ配列中のビットデータ“1”の数を数えるビットカウンタ、前転送データのビットデータ“1”の数を記憶するビット1レジスタ、及び前記ビット1レジスタに格納されている値と次転送候補データバッファ部2223内の各データのビットデータ“1”の数とを比較するビット1比較器から構成される。
【0155】
セレクタ2224は、上記ビット変化判定器によって判定されたデータ順に、次転送候補データ格納部2223からデータを取り出してメモリ2301(外部メモリ<1>)へ出力する。
【0156】
以下、上述のように構成されたメモリアクセス方法及びメモリアクセス装置のメモリアクセス動作について説明する。
【0157】
比較段数制御部2222は、設定したデータバッファ数でデータの書き込み順序を並び替えが行われるように、次転送候補データバッファ部2223及び比較器2226の比較段数を制御する。
【0158】
メモリ制御部2211(メモリ制御部<1>)により発生したメモリ2301(メモリ<1>)への書き込みデータを、データバッファ2221から読み出し、一旦、次転送候補データバッファ部2223に蓄積する。
【0159】
次に、比較器2226は、転送データ格納部2225に格納されている既にアクセス済みの前アクセスデータと次転送候補データバッファ部2223内の全データとを比較し、比較結果を選択信号としてセレクタ2224に出力する。セレクタ2224は、前アクセスデータとのハミング距離が最も小さい次転送データを、次転送候補データバッファ部2223内のデータから選択して転送データ格納部2225に出力する。
【0160】
以上は、メモリ制御部2211(メモリ制御部<1>)のメモリ<1>書き込み動作例であるが、メモリ制御部2212,2213(メモリ制御部<2>,<3>)のメモリ<2>,<3>)への書き込み動作についても同様である。
【0161】
このように、実施の形態16によれば、メモリアクセス方法及び装置を携帯電話機などの携帯端末装置2000に適用することができ、携帯端末装置2000のメモリアクセス動作の際のIO消費電流を大幅に低減することで、ロジックLSI2200延いてはロジックLSI2200を搭載する携帯端末装置2000全体の消費電力の削減を図ることができる。
【0162】
また、メモリアクセスを蓄積できるデータバッファ数を制御することにより、低消費電力効果と動作速度とを適用的に選択することができる。
【0163】
(実施の形態17)
実施の形態17は、実施の携帯16と同様に携帯電話端末のロジックLSIのメモリアクセス装置に適用した場合の例である。
【0164】
図16は、本発明の実施の形態17に係るメモリアクセス装置を示すブロック図であり、メモリからの読み出し動作に適用する場合の構成例である。図11の装置の具体例に対応するものである。
【0165】
本実施の形態は、図15の携帯端末装置2000に適用した例であり、図15と同一構成部分には同一符号を付している。但し、本実施の形態に係るメモリアクセス方法及び装置は、図15以外の他の端末装置に適用できることは勿論である。
【0166】
図16において、携帯端末装置2000は、装置全体を制御するCPU2100、外部メモリを制御するロジックLSI2400、ロジックLSI2400により読み出し制御される複数の外部メモリ2501〜2503(外部メモリ<1>〜<3>)を備える。
【0167】
ロジックLSI2400は、CPU2100からのメモリ制御要求を基に転送順復元部2411〜2413(転送順復元部<1>〜<3>)を制御するCPUIF2410、及び外部メモリ2501〜2503から返ってきた読み出しデータを、並び替え前の読み出し順序に並び替え戻す制御を行う転送順復元部2411〜2413(転送順復元部<1>〜<3>)を備えて構成される。転送順復元部2411〜2413(転送順復元部<1>〜<3>)は、同一構成を採るため転送順復元部2411(転送順復元部<1>)を代表して説明する。
【0168】
転送順復元部2411(転送順復元部<1>)は、転送データを格納する転送データバッファ部2421、比較段数制御を行う比較段数制御部2422を備えて構成される。
【0169】
一方、メモリ2501〜2503(外部メモリ<1>〜<3>)は、読み出し動作において、出力する読み出しデータの時系列上のハミング距離が最も小さくなるように、メモリ出力データの順序を並び替えるリード出力部2511〜2513を備える。メモリ2501〜2503(外部メモリ<1>〜<3>)は、同一構成を採るためメモリ2501(外部メモリ<1>)を代表して説明する。
【0170】
メモリ2501(外部メモリ<1>)のリード出力部2511は、前記転送順復元部2411(転送順復元部<1>)の比較段数制御部2422の比較段数制御に対応する比較段数制御を行う比較段数制御部2522、読み出したデータ2521を格納する次転送候補データバッファ部2523、セレクタ2524、既にアクセス済みの前アクセスデータを格納する転送データ格納部2525、及び比較器2526を備えて構成される。
【0171】
比較段数制御部2522は、ロジックLSI2400からの指示に従ってデータバッファの使用段数を設定し、低消費電力効果を重視する場合には使用するデータバッファ数を増やし、処理速度を重視する場合には使用するデータバッファ数を減らす制御を行う。上記設定は、CPU2100からの指示を受けたCPUIF2410により設定される。
【0172】
次転送候補データバッファ部2523は、並び替えを行う対象データを一次格納する。
【0173】
比較器2526は、次転送候補データバッファ部2523内の全データと前転送データとを比較する、転送データと次転送候補データとの間の最小ハミング距離検出器である。
【0174】
比較器2526は、具体的には、次転送候補データバッファ部2523内のデータ転送順全ての組合せを通して、最もビット変化の小さい転送順序を判定するビット演算器、及びビット変化判定器から構成され、より具体的には、データ配列中のビットデータ“1”の数を数えるビットカウンタ、前転送データのビットデータ“1”の数を記憶するビット1レジスタ、及び前記ビット1レジスタに格納されている値と次転送候補データバッファ部2523内の各データのビットデータ“1”の数とを比較するビット1比較器から構成される。
【0175】
セレクタ2524は、上記ビット変化判定器によって判定されたデータ順に、次転送候補データ格納部2523からデータを取り出して転送データ格納部2525へ出力する。
【0176】
以下、上述のように構成されたメモリアクセス方法及びメモリアクセス装置のメモリアクセス動作について説明する。
【0177】
ロジックLSI2400の転送順復元部2411(転送順復元部<1>)の比較段数制御部2422と、メモリ2501(外部メモリ<1>)のリード出力部2511の比較段数制御部2522は共に、設定したデータバッファ数でデータの書き込み順序を並び替えが行われるように、転送データバッファ部2421又は次転送候補データバッファ部2523及び比較器2526の比較段数を制御する。
【0178】
まず、メモリ2501(外部メモリ<1>)側では、リード出力部2511がデータ2521を読み出し、一旦、次転送候補データバッファ部2523に蓄積する。
【0179】
次に、比較器2526は、転送データ格納部2525に格納されている既にアクセス済みの前アクセスデータと次転送候補データバッファ部2523内の全データとを比較し、比較結果を選択信号としてセレクタ2524に出力する。セレクタ2524は、前アクセスデータとのハミング距離が最も小さい次転送データを、次転送候補データバッファ部22523内のデータから選択して転送データ格納部2525に出力する。転送データ格納部2525に格納された並べ替え後のデータは、ロジックLSI2400の転送順復元部2411(転送順復元部<1>)に送られる。
【0180】
ロジックLSI2400側では、転送順復元部2411(転送順復元部<1>)の転送データバッファ部2421が、メモリ2501(外部メモリ<1>)のリード出力部2511の比較器2526の比較結果を基に、転送データ格納部2525からのデータを、並び替え前の読み出し順序に並び替え戻す。
【0181】
以上は、メモリ2501(外部メモリ<1>)のデータを読み出すロジックLSI2400の転送順復元部2411(転送順復元部<1>)の読み出し動作例であるが、転送順復元部2412,2413(転送順復元部<2>,<3>)及びメモリ2502,2503(外部メモリ<2>,<3>)のデータ読み出し動作についても同様である。
【0182】
このように、実施の形態17によれば、メモリアクセス方法及び装置を携帯電話機などの携帯端末装置2000に適用することができ、読み出し制御時において、読み出しデータラインのビット変化数を削減することでメモリアクセス動作の消費電力を削減することができる。
【0183】
以上の説明は本発明の好適な実施の形態の例証であり、本発明の範囲はこれに限定されることはない。
【0184】
また、上記各実施の形態では、メモリアクセス方法及びメモリアクセス装置という名称を用いたが、これは説明の便宜上であり、プロセッサ、半導体記憶装置等でもよいことは勿論である。
【0185】
また、例示したアドレス、アクセスデータ及びビット変化は、ビット幅、データ転送数など共に一例であって他の例でもよいことは言うまでもない。
【0186】
また、上記メモリアクセス方法及びメモリアクセス装置を構成する各回路部の種類、数及び接続方法などは前述した実施の形態に限られない。
【産業上の利用可能性】
【0187】
本発明に係るメモリアクセス方法及びメモリアクセス装置は、半導体記憶装置を有する電子回路システム、例えば、携帯電話機などの通信端末装置に実装されるメモリアクセス装置として有用である。本発明は、好適には外部メモリアクセス、内部メモリアクセス、CPUアクセスなどで利用可能であるが、これに限定はされない。
【図面の簡単な説明】
【0188】
【図1】本発明の実施の形態1に係るメモリアクセス方法を示すブロック図
【図2】上記実施の形態1に係るメモリアクセス方法のデータバス内のライトデータの時間変化を示す図
【図3】上記実施の形態1に係るメモリアクセス方法の低消費電力効果を説明する図
【図4】本発明の実施の形態2に係るメモリアクセス方法の並べ替え前のデータラインとアドレスラインを合わせたデータバスの時間変化を示す図
【図5】上記実施の形態2に係るメモリアクセス方法のデータラインとアドレスラインを合わせたデータバスの時間変化を示す図
【図6】本発明の実施の形態3に係るメモリアクセス方法のデータバッファ部を示す図
【図7】上記実施の形態3に係るメモリアクセス方法のデータバッファを使用せずデータラインとアドレスラインを合わせたデータバスの時間変化を示す図
【図8】本発明の実施の形態4に係るメモリアクセス方法を示すブロック図
【図9】上記実施の形態4に係るメモリアクセス方法の予約データの一例を示す図
【図10】本発明の実施の形態11に係るメモリアクセス方法のデータバッファ部のデータを示す図
【図11】本発明の実施の形態12に係るメモリアクセス方法のメモリのリード方法を説明するブロック図
【図12】本発明の実施の形態13に係るメモリアクセス方法のメモリのリード方法を説明するブロック図
【図13】本発明の実施の形態14に係るメモリアクセス方法を示すブロック図
【図14】本発明の実施の形態15に係るメモリアクセス方法を示すブロック図
【図15】本発明の実施の形態16に係るメモリアクセス装置を示すブロック図
【図16】本発明の実施の形態17に係るメモリアクセス装置を示すブロック図
【図17】従来のLSIの内部負荷容量と外部負荷容量との差を説明する図
【図18】従来のメモリアクセスにおける書き込み動作を説明する概念図
【図19】従来のメモリアクセス方法のデータバス内のライトデータの時間変化を示す図
【符号の説明】
【0189】
100,600,800,1000,1100,1200 マスターデバイス
101,1101,1201 データバッファ
102 メモリアクセス順序並替部
103 ライトデータバス及びアドレスデータバス
200,900,2301,2302,2303,2501,2502,2503 メモリ
601 予約データ格納部
602 一致検出部
801,1001 読出制御部
802,2411,2412,2413 転送順復元部
901 転送順並替部
1002 読出アドレス並替部
1102,2223,2523 次転送候補データバッファ部
1103,2224,2524 セレクタ
1104,1202,2225,2525 転送データ格納部
1105,1203,2226,2526 比較器
2000 携帯端末装置
2100 CPU
2200 ロジックLSI
2211,2212,2213 メモリ制御部
2421 転送データバッファ部
2511,2512,2513 リード出力部
2222,2422,2522 比較段数制御部





 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013