(57)【特許請求の範囲】
【請求項１】
バッファ制御システム（１０）であって：
クロック速度に依存してオンオフ時間を決定するメモリー制御信号（５００）と、高速動作モードまたは低速動作モードを表す動作モード切替信号（８００）とを出力するプロセッサ（１００）；
前記プロセッサ（１００）に接続されデータの送受信をし、入力したメモリー制御信号（６００）に応じてオンオフ時間が決定されるバスバッファ（２１０）を有する、外部メモリー（２００）；
前記プロセッサ（１００）と前記外部メモリー（２００）との間に接続され、前記プロセッサ（１００）からのメモリー制御信号（５００）によりトリガーされるタイマー（４００）を内蔵し、入力した動作モード切替信号（８００）が低速動作モードを表すときに、該低速動作モードで前記バスバッファが必要最低限の時間だけ動作するように、前記タイマーで決定される所定時間だけ前記プロセッサから入力したメモリー制御信号の幅を短かくして外部メモリー（２００）へ出力するバッファ制御装置（９００）；
から成るバッファ制御システム（１０）。
【請求項２】
請求項１に記載されたバッファ制御システムであって：
前記バッファ制御装置が、受信したメモリー制御信号（５００）のうち、前方部分を無効とし後端部だけ有効にして前記外部メモリーへと出力する、ことを特徴とするバッファ制御システム。
【請求項３】
クロック速度に依存してオンオフ時間を決定するメモリー制御信号（５００）と、高速動作モードまたは低速動作モードを表す動作モード切替信号８００とを出力するプロセッサ（１００）と、
前記プロセッサに接続されデータの送受信が可能であり、入力したメモリー制御信号（６００）に応じてオンオフ時間が決定されるバスバッファ（２１０)を有する、外部メモリー（２００）と、
の間に接続できるバッファ制御装置（９００）であって：
前記プロセッサ（１００）からのメモリー制御信号（５００）によりトリガーされるタイマー（４００）を内蔵し、入力した動作モード切替信号（８００）が低速動作モードを表すときに、該低速動作モードで前記バスバッファが必要最低限の時間だけ動作するように、前記タイマーで決定される所定時間だけ前記プロセッサから入力したメモリー制御信号の幅を短かくして前記外部メモリー（２００）へ出力するバッファ制御装置（９００）。
【請求項４】
クロック速度に依存してオンオフ時間を決定するメモリー制御信号（５００）を出力するプロセッサ（１００）に接続可能であり、高速動作モード又は低速動作モードで前記プロセッサとの間でデータの送受信を行えるメモリー（８００）であって；
高速バスバッファ（８４０）と、低速バスバッファ（８３０）と、タイマー（８１０）とを有し；
前記高速バスバッファと前記低速バスバッファがメモリー制御信号（５００）によりオンされ、
前記タイマー（８１０）がメモリー制御信号（５００）によりトリガーされ、高速動作モードでの前記高速バスバッファ（８４０）の動作時間を最低限確保する所定時間（Ｔ２）を超える幅の低速動作モードのメモリー制御信号が前記メモリーに供給されたとき、前記所定時間に対応する幅のバッファ制御信号により前記高速バスバッファ（８４０）をオフする、
ことを特徴とするメモリー。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、バッファ制御システムおよびバッファ制御可能な高速メモリーに関し、特に低速動作時においてバッファの消費電流を低減できるバッファ制御システムおよびバッファ制御可能な高速メモリーに関するものである。
【０００２】
【従来の技術および発明が解決しようとする課題】
例えば携帯電話等の携帯機器内で用いるデジタルシグナルプロセッサ（DSP）は、高速のデータ処理能力が要求されるが、常に最大のデータ処理能力を必要とされるわけではなく、処理負荷は変動している。例えば、デジタルセルラー通信システムなどのデジタル無線機器ではスロットと呼ばれる単位で送受信動作を行っているため、送受信のスロット処理を行うとき処理は増え、その他の時間では処理は軽くなる。いつ処理負荷が増えるのかは、予め予測できることが多い。プロセッサの消費電力は動作クロック（周波数）の増加に伴って増大するため、処理負荷に応じて動作クロックを制御し、消費電力が極力少なくなるように制御することが一般的に行われている。
【０００３】
通常組み込み機器に用いられるプロセッサでは少量の内部メモリーがプロセッサチップ上に集積されている。ただしその容量は限られているためチップ外部にメモリーを必要とすることも多い。DSPなどの高速で動作するプロセッサに外部メモリーを接続する場合は、高速動作が可能なメモリーデバイスを用いることになる。メモリーのアクセスサイクルは数十MHzで行われる。したがって信号ライン上の浮遊容量を数十MHzで充放電するために高速動作の可能な外部メモリーには高いドライブ能力のバッファが内蔵されている。高いドライブ能力を持つバッファは同時に大きな電流（例えば100mA）を消費する。外部メモリーにはデータの転送および動作を制御するための制御信号用入力があり、ここへの制御信号を外部からアクティブにすることによって外部メモリー本体の動作および外部メモリー内のバッファを動作させる。通常、プロセッサからは外部メモリーを動作させるのに必要な信号がほぼすべて出力されており、それらを適切に接続することによって外部メモリーを動作させることができる。
【０００４】
このような従来用いられている構成の一例が、図１に示されている。ここでプロセッサ１００が低負荷時にその動作クロックを下げる（例えば100MHzから1MHzに下げる）と、メモリー制御信号幅が長く（例えば10nsから1usに長く）なり、外部メモリー２００内の消費電流が却って増えてしまうという不都合が生じる。何故ならば、プロセッサの出力するメモリー制御信号（例えばチップイネイブル信号）はある所定期間の間アクティブ(Low)になり、このアクティブの期間中、バスバッファ２１０が動作状態（オン）になり電流を消費する。プロセッサの動作クロックが下がるとそれに伴ってメモリー制御信号のアクティブになる期間の長さT0が増大する（図２）。このため外部メモリー２００内のバスバッファ２１０が動作状態となる時間も増大し、結局、消費電流が増大してしまうという問題点がある。携帯通信機器ではプロセッサの動作クロックを1/100以下に低下させることもあり、これによって本来必要とするより100倍もの電流が消費されてしまう。
【０００５】
そこで本発明の一目的は、クロック低下時における消費電流増大の問題を大幅に改善するようなバッファ制御システムおよびバッファ制御可能なメモリーを提供することである。
【０００６】
他の目的は、既存の外部メモリーやプロセッサをそのまま用いつつ、上記の改善を実現するバッファ制御システムを提供することである。
【０００７】
さらに他の目的は、プロセッサのクロック低下時にも外部メモリーに対して、低消費電流を実現しつつ高速にアクセスを可能とするようなバッファ制御システムおよびバッファ制御可能なメモリーを提供することである。
【０００８】
【実施例】
以下に本発明の実施例１について図面を参照して説明する。図３に実施例１であるバッファ制御システム１０を示す。バッファ制御システム１０は、デジタルシグナルプロセッサ１００と、外部メモリー２００と、バッファ制御装置９００とから構成される。プロセッサ１００は典型的には、動作周波数を発生するクロック発生器１２０，内部メモリー１１０，演算器１４０およびバスバッファ１３０を有する。外部メモリー２００へアドレス信号を出力し、そこからデータを送受信する。外部メモリー２００内のバスバッファの動作（オン／オフ）を制御するためにメモリー制御信号５００（例えば、チップイネイブル信号）を出力する。さらに、プロセッサが高速モードで動作しているか、あるいは低速モードで動作しているかを表す動作モード切替信号８００を出力する。
【０００９】
外部メモリー２００は従来の高速メモリーであり、メモリーセル２２０と高速バスバッファ２１０とを有する。
【００１０】
バッファ制御装置９００は、スイッチ回路３００とタイマー４００とから構成され、プロセッサ１００と外部メモリー２００との間に接続される。本実施例では、メモリー制御信号がプロセッサ１００から直接に外部メモリー２００に入力されずに、バッファ制御装置９００がプロセッサ１００からのメモリー制御信号５００のタイミングを制御する。制御されたメモリー制御信号６００が、外部メモリー２００に入力される。スイッチ３００の構成を図４に示す。動作モード切替信号８００はスイッチ３００を制御する信号である。
【００１１】
図４に示すように、プロセッサ１００が通常速度（例えば100MHzの高速モード）で動作している場合には、スイッチ３００は上側に接続され、メモリー制御信号５００と６００が直接接続されるので、図１の従来の構成と同じ動作となる。一方、動作モード切替信号８００がプロセッサ１００の低速クロック動作（例えば1MHz）を表している場合には、スイッチ３００を下側に接続させる。この場合メモリー制御信号５００と６００との間にＡＮＤゲートが挿入され、このＡＮＤゲートはタイマー４００からの出力信号７００により制御され、メモリー制御信号５００（例えば1000nsの幅）をタイマー４００で決まる時間T1（例えば950ns）だけ、停止させることができる。
【００１２】
そのタイミングチャートを図５に示す。タイマー４００は、メモリー制御信号５００がLowになった時点（図中タイマースタート点）で計時を開始する。所定時間が経過するまでは、タイマー出力信号７００がHighのままであり、変換されたメモリー制御信号６００はHighのままとなり、外部メモリー２００のバスバッファ２１０は駆動されない。次に、所定のタイマー時間T1が経過した時点で、タイマー出力信号７００がアクティブLowとなり、メモリー制御信号６００もアクティブLowとなって外部メモリー２００のバスバッファ２１０が駆動される。従って、時間間隔T1の間、バスバッファ２１０の駆動を抑制でき、その間の消費電力を節約（例えば９５％節約）できる。プロセッサ１００は、データバス上のデータをチップイネイブル信号オンの最後に読む。従って、低速モードにおいて外部メモリー２００から実際にデータを読む出すのは、メモリー制御信号５００がLowの期間のうち最後のタイミングである。時間間隔T1の間、バスバッファ２１０の動作を停止させても、データ読み出しには悪影響を与えない。
【００１３】
この実施例の場合には、動作モード切替信号８００により、プロセッサがどちらの動作速度モードなのかを知る必要があるが、既存のプロセッサと外部メモリーに何の変更も加えることなく、低消費電流化を実現できる。
【００１４】
図６に本発明の実施例２を示す。この実施例の構成は、図１に比較して外部メモリー８００の内部構成が異なっており、バス駆動用のバッファとしての２つのバッファ８３０，８４０とタイマー８１０とを有している。駆動能力の小さい低消費電力バッファ８３０（例えば5mA消費）と、駆動能力の大きい高消費電力バッファ８４０（例えば100mA消費）の２つのバッファをタイマー８１０による制御信号８５０及び８６０で制御する構成となっている。
【００１５】
これらの信号のタイミングチャートを図７に示す。メモリー制御信号５００がLowになった時点（図中タイマースタート点）で計時が開始されるが、その時点で直ちに両方のバッファへの制御信号８５０、８６０をHighとして、両方のバッファを駆動開始する。次に、タイマー時間T2（例えば50ns）経過後に駆動能力の大きい方のバッファ８４０への制御信号８６０をLowとして、バッファ８４０の駆動を停止させる。その後は、メモリー制御信号５００がHighとなりメモリーに対するアクセスが終了するまで、駆動能力の小さいバッファ８３０だけが駆動され、バスのデータを維持する。
【００１６】
プロセッサ１００が高速モードでデータ読み出しをする場合には、メモリー制御信号５００のLow区間が長くなく、T2時間経過前にデータ読み出しが終了し、高速バッファ８４０が通常通り活用される。プロセッサ１００が低速モードでデータ読み出しをする場合には、メモリー制御信号５００のLow区間が十分長くなり、タイマーがバッファ制御をしないとすると、高消費バッファ８４０がT2 + T3の時間の間、大電流を消費してしまう。本実施例によれば、時間T2経過後にバッファ８４０の動作を停止させるので時間T3の間（例えば950ns）電流消費を低く押さえることができる。時間T2経過後も、低消費バッファ８３０は動作し続けているので、データバス上のデータをそのまま維持する。メモリー制御信号５００がLowである区間のうち最後のタイミングで、プロセッサ１００がデータを読み取る。
【００１７】
この実施例では、常に駆動能力の小さいバッファが駆動されているので実施例１に比べ少しだけ消費電力が大きくなるが、実施例１のようにプロセッサの動作モードを知る必要が無いという利点があり、高速、低速のアクセスが混在するような場合にも自由に対応できる。
【００１８】
【実施例の効果】
以上説明した本発明の実施例１では、既存のメモリーを使用し、スイッチ３００とタイマー４００を設けることにより、メモリー制御信号５００のタイミングを制御して、プロセッサ１００が低速クロックで動作している場合でも、必要最低限の時間だけメモリーのバスを駆動することができるため、メモリーのバス駆動に関する消費電力を低減させる効果がある。
【００１９】
また、本発明の実施例２では、メモリー内のバスバッファを段階的に制御することによって、時間とともにバスバッファの駆動能力を最適化し、アクセス速度に拘わらずメモリーのバス駆動に関する消費電力を低減させる効果がある。
【図面の簡単な説明】
【図１】従来技術のプロセッサと外部メモリーを示すブロック図である。
【図２】図１のメモリー制御信号のタイミングを表す図である。
【図３】本発明の実施例１のブロック図である。
【図４】図３のスイッチの内部を表す図である。
【図５】図３のメモリー制御信号のタイミングを表す図である。
【図６】本発明の実施例２のブロック図である。
【図７】図６のメモリー制御信号のタイミングを表す図である。
【符号の説明】
１０      バッファ制御システム
１００    プロセッサ
２００    外部メモリー
２１０    バスバッファ
３００    スイッチ
４００    タイマー
５００、６００    メモリー制御信号
８００    動作モード切替信号
８３０    低速バッファ
８４０    高速バッファ
９００    バッファ制御装置
【図１】
0003958546.tif 000002
【図２】
0003958546.tif 000003
【図３】
0003958546.tif 000004
【図４】
0003958546.tif 000005
【図５】
0003958546.tif 000006
【図６】
0003958546.tif 000007
【図７】
0003958546.tif 000008