(57)【特許請求の範囲】
【請求項１】
データメモリを備えたデータ処理用装置であって、
（ｉ）各記憶場所が仮想アドレスを有し多数ビットデータ語を記憶する役目をしている複数の記憶場所と、
（ｉｉ）アクセスすべきデータ語を記憶する記憶場所を示す入力アドレス信号に応答して、前記複数の記憶場所の中から前記記憶場所を選択し、かつ前記データ語の１つまたはそれ以上のアクセス制御ビットの前記記憶場所からの出力をイネーブルする第１のアクセスイネーブル信号を発生させる記憶場所選択手段と、
（ｉｉｉ）前記１つまたはそれ以上のアクセス制御ビットに応答して、前記データ語の別の１つまたはそれ以上の残りビットの前記記憶場所からの出力をイネーブルする第２のアクセスイネーブル信号を発生させるアクセス制御手段と、
を含むことを特徴とする装置。
【請求項２】
請求項１記載の装置であって、各記憶場所は複数のビット記憶セルを含み、
前記１つまたはそれ以上のアクセス制御ビットに対する各ビット記憶セルは、前記第１のアクセスイネーブル信号によってスイッチされるゲートによりアクセスビット出力バスに結合され、かつ、前記１つまたはそれ以上の残りビットに対する各ビット記憶セルは、前記第２のアクセスイネーブル信号によってスイッチされるゲートにより、残りビット出力バスに結合されていることを特徴とする装置。
【請求項３】
請求項１記載の装置であって、前記アクセス制御手段は、前記１つまたはそれ以上のアクセス制御ビットに応答して有効アクセス信号を発生させることを特徴とする装置。
【請求項４】
請求項３記載の装置であって、前記制御論理は、前記データメモリに入力された１つまたはそれ以上のアクセス制御フラグに応答することを特徴とする装置。
【請求項５】
請求項４記載の装置であって、
複数の処理モードで動作可能な中央処理装置、
を含み、
前記１つまたはそれ以上のアクセス制御フラグは、前記中央処理装置の最新処理モードを示す１つまたはそれ以上のフラグを含む、
ことを特徴とする装置。
【請求項６】
請求項４記載の装置であって、
中央処理装置、
を含み、
前記１つまたはそれ以上のアクセス制御フラグは、前記中央処理装置のプログラムによって制御された動作によってセットされる１つまたはそれ以上のフラグを含む、
ことを特徴とする装置。
【請求項７】
請求項３記載の装置であって、前記アクセス制御手段は、
各記憶場所に対するＡＮＤゲートであって、各ＡＮＤゲートが、第１の入力として前記第１のアクセスイネーブル信号と、第２の入力として前記有効なアクセス信号と、出力として前記第２のアクセスイネーブル信号とを有するＡＮＤゲートを、
含むことを特徴とする装置。
【請求項８】
請求項１記載の装置であって、
キャッシュデータメモリと、
キャッシュメモリの中にあるデータを捜したことを示すキャッシュヒット信号を発生させるキャッシュヒット信号発生手段と、
を含み、
前記アクセス制御手段は、前記キャッシュヒット信号に応答して、前記残りビットの出力を禁止する、
ことを特徴とする装置。
【請求項９】
請求項１記載の装置であって、前記データメモリはアドレス変換キャッシュであり、前記入力アドレス信号は物理アドレスに変換すべき仮想アドレスであり、前記１つまたはそれ以上の残りビットは前記物理アドレスであることを特徴とする装置。
【請求項１０】
請求項９記載の装置であって、前記アドレス変換キャッシュからの物理アドレスをバッファに書く書込みバッファ（a write buffer for bufffer write）を含むことを特徴とする装置。
【請求項１１】
請求項１記載の装置であって、集積回路を含むことを特徴とする装置。
【請求項１２】
データメモリを使用するデータ処理の方法であって、
（ｉ）各記憶場所が連想アドレスを有する前記データメモリの複数の記憶場所に多数ビットデータ語を記憶し、
（ｉｉ）アクセスすべきデータ語を記憶する記憶場所を示す入力アドレス信号に応答して、前記複数の記憶場所の中から前記記憶場所を選択し、かつ前記データ語の１つまたはそれ以上のアクセス制御ビットの前記記憶場所からの出力を禁止する第１のアクセスイネーブル信号を発生させ、
（ｉｉｉ）前記１つまたはそれ以上のアクセス制御ビットに応答して、前記データ語の１つまたはそれ以上の残りビットの前記記憶場所からの出力をイネーブルする第２のアクセスイネーブル信号を発生させる、
ステップを含むことを特徴とする方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明はデータメモリを使用するデータ処理に関する。より詳細には本発明は、以下のようなシステム、即ち、アクセスされる記憶場所にあるマルチビットデータ語（multi-bit data word ）にアクセス制御ビットが含まれており、当該アクセス動作が有効なアクセス動作かどうか決定するときに、このアクセス制御ビットが使用されるというシステムに関係している。
【０００２】
【従来の技術および発明が解決しようとする課題】
入力仮想アドレスを出力物理アドレスに写像（to map）するため、添付図面の図１に示すようなアドレス変換キャッシュなどの、データメモリを使用することはよく知られている。入力仮想アドレス２はキャッシュタグユニット４、この場合はＣＡＭユニット、に供給されるが、このキャッシュタグユニット４には、入力仮想アドレス２と比較されるＮ個の仮想アドレスが含まれており、このＮ個の仮想アドレスに対応する物理アドレスはアドレス変換キャッシュの中に保持されている。
【０００３】
たとえば仮想アドレス＃３で仮想アドレスがマッチすると、そのキャッシュライン６に対する読取りイネーブル信号が発生する。つぎにアクセス制御ビット８および物理アドレス１０は共に、それぞれアクセス制御ビットバスおよび物理アドレスバスにスイッチされる。アクセス制御ビットはその他のシステムフラグおよび信号と一緒に制御論理ユニット１２に入力される。制御論理ユニット１２は、真か偽のいずれかの有効アクセス信号（valid access signal ）を発生させる。物理アドレスは書込みバッファ１４に記憶され、有効アクセス信号がその物理アドレスに対するアクセスが可能であることを示したとき、物理アドレスは、必要に応じてバッファ１４から読取られる。
【０００４】
かかるシステムの設計で目標とすべきことは、電力消費を少なくすることである。電力消費が少なくなれば、回路の内部で発生する熱による問題が減少し、電池駆動の携帯型装置など、電力が決定的に重要な状況で（in power critical situations）使用できる時間が増加する。
【０００５】
【課題を解決する手段】
本発明の目的は、低電力のデータメモリを提供することである。
【０００６】
１つの側面から見ると、本発明が提供するデータメモリを備えたデータ処理用装置は、
（ｉ）各記憶場所が仮想アドレスを有し、かつ多数ビットデータ語を記憶する役目をしている複数の記憶場所と、
（ｉｉ）アクセスすべきデータ語を記憶する記憶場所を示す入力アドレス信号に応答して、前記複数の記憶場所の中から前記記憶場所を選択し、かつ前記データ語の１つまたはそれ以上のアクセス制御ビットの前記記憶場所からの出力をイネーブルする第１のアクセスイネーブル信号を発生させる記憶場所選択手段（location selecting means）と、
（ｉｉｉ）前記１つまたはそれ以上のアクセス制御ビットに応答して、前記データ語の１つまたはそれ以上の残りビット（further bits）の前記記憶場所からの出力をイネーブルする第２のアクセスイネーブル信号を発生させるアクセス制御手段と、
を含んでいる。
【０００７】
本発明は、アクセス制御ビットがデータ語の残りビットに対するアクセスが有効でないことを示すと、データメモリからこれらのビットを出力するときに消費される電力が無駄になってしまうことを認識している。より詳細には、残りビットに対する出力データバスラインは容量が比較的大きいので、残りビットを出力するためには、出力データバスラインの電圧をそれらビットの電圧にするように駆動する比較的大きな電荷が必要になる。この場合、アクセス制御ビットがそのアクセス動作が無効であることを示せば、アクセス制御手段は第２のアクセスイネーブル信号を発生させて、残りビットの出力を制御してそれらのビットが出力されることを回避する。
【０００８】
第１のアクセスイネーブル信号および第２のアクセスイネーブル信号がこの制御に役立つための特に便利な方法は、各記憶場所に複数のビット記憶セルが含まれていて、前記１つまたはそれ以上のアクセス制御ビットに対する各ビット記憶セルが、前記第１のアクセスイネーブル信号によりスイッチされるゲートによって、アクセスビット出力バスに結合され、かつ前記１つまたはそれ以上の残りビットに対する各ビット記憶セルは、前記第２のアクセスイネーブル信号によってスイッチされるゲートによって残りビット出力バスに結合されるという方法である。
【０００９】
アクセス制御手段は簡単に言えば１つの装置であって、これによって（たとえば、アドレス変換キャッシュ内のキャッシュラインに有効なデータがロードされているかどうかを示す役割をする）１つのアクセス制御ビットが、第２のアクセスイネーブル信号を発生させるために直接的に使用される。しかし、より巧妙な装置を収容するためには、前記アクセス制御手段が、前記１つまたはそれ以上のアクセス制御ビットに応答して、有効なアクセス信号を発生させる制御論理を含むことが望ましい。
【００１０】
かかる制御論理を使用すれば、第２のアクセスイネーブル信号の発生を、多重アクセス制御ビット（multiple access control bits）及び／或いは、中央処理装置の処理モードによってあるいはソフトウエア制御の下にセットされる各種アクセス制御フラグに依存して行うことができる。
【００１１】
それによって制御論理によって発生した有効なアクセス信号が適切な記憶場所における第２のアクセスイネーブル信号を与えるように役立つ望ましいメカニズムは、
各記憶場所に対するＡＮＤゲートであって、前記ＡＮＤゲートのそれぞれが第１の入力として前記第１のアクセスイネーブル信号を、第２の入力として前記有効アクセス信号を、出力として前記第２のアクセスイネーブル信号を有する、ＡＮＤゲートを含む前記アクセス制御手段を提供すことである。
【００１２】
このように、有効アクセス信号は特定の記憶場所にスイッチされる必要がなく、そのかわりに（さらに便利なように）全記憶場所に供給されることができる。ＡＮＤゲートは第１のアクセスイネーブル信号および有効なアクセス信号と一緒に、アクセスされている特定の記憶場所に対して第２のアクセスイネーブル信号を発生させる役目をはたしているのである。
【００１３】
本発明は、
キャッシュデータメモリと、
キャッシュメモリの中にあって隠れているデータを示すキャッシュヒット信号（cache hit signal）を発生させるキャッシュヒット信号発生手段と、
を含み、
前記アクセス制御手段は、前記キャッシュヒット信号に応答して、前記残りビットの出力を禁止する、
システムでの使用に特に適している。
【００１４】
データメモリから読取るべき残りビットが要求されない場合にキャッシュヒットが起こり、同時にキャッシュが有効に実行されていて、キャッシュヒットが非常に頻繁に起こるとすれば、残りビットを出力する必要があるようになるアクセス回数は、データメモリに対するアクセス回数のわずか１０分の１になるであろう。このことは大幅な電力の節約を表している。上に考察したキャッシュデータメモリはそれ自体で残りビットを保持していることができるか、あるいは単に残りビットを読取ることが不必要であることを表現する別種のデータを保持していることができることを理解されたい。
【００１５】
好適実施例においては、前記データメモリはアドレス変換キャッシュであり、前記入力アドレス信号は物理アドレスに変換される仮想アドレスであり、前記１つまたはそれ以上の残りデータは前記物理アドレスである。
【００１６】
このような実施例においては、特定の物理アドレスがアクセス可能になるかどうかは、たとえばプロセッサモード、ソフトウエアフラグおよび捜しているデータがキャッシュデータメモリに現れるかどうかに依存するなど、比較的複雑な数の異なる条件に依存している。
【００１７】
仮想アドレスを物理アドレスに写像することを使用する場合、発生した物理アドレスは都合良く（advantageously）書込みバッファに記憶され、チップ外（off-chip）の物理メモリに対する比較的低速度のアクセスはこの書込みバッファから行われる。
【００１８】
本発明は離散的部品として実現でききるであろうが、集積回路の形式で実現することが特に望ましいことを理解されたい。
【００１９】
本発明を別の側面から見ると、本発明はデータメモリを使用したデータ処理の方法を提供しているが、前記方法には、
（ｉ）各記憶場所が連想アドレス（associated address）を有する前記データメモリの複数の記憶場所に多数ビットデータ語を記憶し、
（ｉｉ）アクセスすべきデータ語を記憶する記憶場所を示す入力アドレス信号に応答して、前記複数の記憶場所の中から前記記憶場所を選択し、かつ前記データ語の１つまたはそれ以上のアクセス制御ビットの前記記憶場所からの出力をイネーブルする、第１のアクセスイネーブル信号を発生させ、
（ｉｉｉ）前記１つまたはそれ以上のアクセス制御ビットに応答して、前記データ語の１つまたはそれ以上の残りビットの前記記憶場所からの出力をイネーブルする第２のアクセスイネーブル信号を発生させる、
ステップが含まれている。
【００２０】
【実施例】
その他の目的と共に、本発明の上記特徴と利点は、添付の図面と一緒に読むべき分かりやすい実施例について、以下に述べる詳細な説明から明瞭になるであろう。
【００２１】
図２は、本発明の１例を具体化したアドレス変換キャッシュの形をしたデータメモリを示す。このアドレス変換キャッシュの形式および動作は、ＡＮＤゲート１６および制御論理１２の形をしたアクセス制御手段を導入している点で、図１に関して考察したアドレス変換キャッシュとは異なっている。ＡＮＤゲート１６はアクセス制御ビットを記憶するキャッシュラインの部分と物理アドレスを記憶するキャッシュラインの部分との間に配置されている。読取りイネーブル信号の形をした、タグユニット４からの第１のアクセスイネーブル信号は、選択されたキャッシュライン６のアクセス制御ビットを出力に接続するが、アクセス制御ビットはこの出力を介して制御論理ユニット１２に転送される。
【００２２】
また、第１のアクセスイネーブル信号はアクセス制御ビットを保持しているキャッシュラインの部分を通って伝わり、ＡＮＤゲート１８の１つの入力に到達する。制御論理ユニット１２はアクセス制御ビット、ハードウエアフラグ、ソフトウエアフラグおよびキャッシュヒット信号に応答して有効なアクセス信号を発生する。この有効なアクセス信号は、ＡＮＤゲートの第２の入力としてＡＮＤゲート１６、１８の全てに並行に供給される。したがって、ＡＮＤゲート１８の場合、両入力が真であるから出力も真となることにより、物理アドレス出力バスに物理アドレスビットを置くことをトリガする第２のアクセスイネーブル信号を形成する。
【００２３】
制御論理ユニット１２に供給されるハードウエアフラグは、アドレス変換キャッシュが置かれる中央処理装置のプロセッサモードなどの要因あるいはシステムのメモリ構成などの他の要因を示すことができる。制御論理ユニット１２に供給されるソフトウエアフラグは、プログラム制御の下にセットされ、そして異なる物理アドレスに対応する異なる記憶区域を、（マルチタスクシステムにおける）プログラムスレッド（threads)によるアクセス、あるいはこれらのメモリ位置にアクセスしてはいけない（オブジェクト指向システムにおける）プログラムオブジェクトからのアクセスから保護する機能を果たすことができる。
【００２４】
図２において、試行されたアクセスは有効なアクセスであり、有効なアクセス信号は真として立ち上がっている。したがって、物理アドレスは書込みバッファ１４に対する影付きの矢印で示されるように出力される。
【００２５】
図３において、タグユニット４の動作およびキャッシュライン６からのアクセス制御ビットの読取りは図２の通り進行する。しかし、この場合制御論理ユニット１２は、試行中のアクセスが無効であるから、有効なアクセス信号は偽に立ち上がっていると決定する。このことは、ＡＮＤゲート１６、１８の全てはオフにスイッチされ出力は偽になっていることを保証する。第２のアクセスイネーブル信号を形成するＡＮＤゲート１８からの出力は偽であるから、キャッシュライン６からの物理アドレスビットは書込みバッファ１４に出力されない。このことは電力を節約している。
【００２６】
図４は図２の回路の一部分を示す。アクセス制御ビットはメモリセル２０に記憶され、各メモリセル２０はゲート２４を介してアクセスビット制御バス２２に接続されている。ゲート２４は電界効果トランジスタで構成されているが、電界効果トランジスタはゲート電極が偽の場合は非導通である。ゲート電極はタグユニット４内の異なるラインからの読取りイネーブル出力に並列に接続されている。この場合は、キャッシュライン＃３が読取りイネーブル信号出力であり、出力仮想アドレスがマッチして、出力に対してこの線を選択するため読取りイネーブル信号（第１のアクセスイネーブル信号）がタグユニット４からこのラインに出力されたのであり、全ての他のラインは選択外である。第１のアクセスイネーブル信号がキャッシュライン６のアクセス制御ビットに対するゲート２４に直接転送されると、これらのビットはアクセス制御ビットバス２２に出力される。制御論理１２はこれらのビットに応答して、対応する物理アドレスビットにアクセスしてもよいかどうかを示す有効アクセス信号を返す。
【００２７】
この場合、アクセスは可能となるはずであるから有効アクセス信号は真である。したがって、ＡＮＤゲート１８に対する両入力は真であるから、ＡＮＤゲート１８の出力も真である。ＡＮＤゲート１８の出力は第２のアクセスイネーブル信号を含んでおり、この信号はゲート２６に供給される。ゲート２６は物理アドレスビットを記憶している各メモリセルを物理アドレスバス３０に結合する。このように、物理アドレスビットはデータメモリから出力される。
【００２８】
図５は図４と同じ回路部分を示すが、この場合は図３に示す状況に対応している。アクセス制御ビットは、図４に関して説明した方法と同じ方法でアクセスされる。しかし、制御論理１２から返された結果は、有効アクセス信号が偽であり、制御論理１２によって検出された特定の組の入力に対するキャッシュライン６の物理アドレスビットにアクセスすること可能にならないことを示している。したがって、ＡＮＤゲート１８に対する１つの入力は、真である第１のアクセスイネーブル信号であり、第２の入力は偽の有効アクセス信号であるから、ＡＮＤゲート１８から出力される第２のアクセスイネーブル信号の値は偽になる。この偽の第２のアクセスイネーブル信号によりゲート２６がオフにスイッチされた状態に保持するので、その結果としてキャッシュライン６に対する物理アドレスビットは物理アドレスバス３０に出力されない。
【００２９】
図６は本発明の別の実施例を示すが、この実施例は列および行がアドレス指定されるＲＡＭ３２の形式になっている。ＲＡＭ３２は語セル（word cell ）  ３４のアレーで構成されている。各語セル３４にはアクセスビット記憶セル３６と残りビット記憶セル３８とが含まれている。また、語セル３４には、２つの入力が列選択ライン４２と行選択ライン４４とにそれぞれ接続されているセル選択ＡＮＤゲート４０が含まれている。特定の語セル３４に対して列選択ライン４２および行選択ライン４４が両方とも真である時、そのセルに対するセル選択ゲート４０はオンにスイッチされ、第１のアクセス制御信号の役目をする真の出力を立ち上げる。このことがトリガーとなって、アクセス制御ビット（access control bit）が出力される。
【００３０】
これらのアクセス制御ビットは（簡単にする目的から図示していない）アクセスビットバスを介して制御論理４６に転送され、制御論理４６でハードウエアおよびソフトウエアフラグ４８と組み合わされて復号化され、有効アクセス信号ライン５０に有効アクセス信号を発生する。有効アクセス信号ライン５０は語セル３４の全てに並列に接続されている。各語セル３４の内部で有効アクセス信号は残りビット選択ゲート５２の１つの端子に入力され、残りビット選択ゲート５２に対するもう１つの入力はセル選択ゲート４０からの出力である。これら両入力が真であれば、残りビット選択ゲート５２からの出力は真であり、残りビットメモリセル３８に記憶されている残りビットは、（簡単にする目的から図示していない）残りビット出力バスに出力される。したがって、残りビット選択ゲート５２からの出力は第２のアクセスイネーブル信号を含んでいる。
【００３１】
制御論理４６が偽の有効アクセス信号を返せば、残りビット選択ゲート５２は偽の値を出力するから残りビットは出力されない。
【００３２】
ＲＡＭ３２の全体的動作は、列選択器５４および行選択器５６を介して特定のデータ語が選択されると、メモリアドレスの最上位２ビットと最低位の３ビットが復号化されることである。特定の語セル３４が選択されてると、アクセスビットが出力され、制御論理４６にデコードされ、残りビットも出力するかどうかを制御するために有効アクセス信号が選択されたメモリセル（及び他の並列なすべてのメモリセル）に返される。したがって、アクセスが可能にならない場合、残りビットは出力されず電力が節約される。
【００３３】
以上、添付図面を参照して本発明の分かりやすい実施例を詳細に説明してきたが、本発明はこれらの精緻な実施例に限定されるものではないこと、さらには、当業者ならば、添付の請求の範囲に定義した通りの本発明の範囲と精神から逸脱することなく、各種の変更や修正ができることを理解されたい。
【図面の簡単な説明】
【図１】既知のアドレス変換キャッシュを示す図。
【図２】本発明の１実施例によるアドレス変換キャッシュを示す図であって、アドレス指定されたアクセス制御ビットにより有効なアクセスが行われていることを示す図。
【図３】図２の回路を示す図であって、アドレス指定されたアクセス制御ビットにより無効なアクセスが行われていることを示す図。
【図４】図２および図３の該当する部分をより詳細に示す図。
【図５】図２および図３の該当する部分をより詳細に示す図。
【図６】ランダムアクセスメモリ（ＲＡＭ）の形をした本発明の別の実施例を示す図。
【符号の説明】
２            入力仮想アドレス
４            キャッシュタグユニット
６            キャッシュライン
８            アクセス制御ビット
１０            物理アドレス
１２、４６      制御論理ユニット
１４            書き込みバッファ
１６、１８              ＡＮＤゲート
２０、２８        メモリセル
２２            アクセス制御ビットバス
２４、２６      ゲート
３０            物理アドレスバス
３２            ＲＡＭ
３４            語セル
３６            アクセスビット記憶セル
３８            残りビット記憶セル
４０            セル選択ＡＮＤゲート
４２            列選択ライン
４４            行選択ライン
４８            ハードウエアおよびソフトウエアフラグ
５０            有効アクセス信号ライン
５２            残りビット選択ゲート５２
５４            列選択器
５６            行選択器
【図１】
0003688736.tif 000002
【図２】
0003688736.tif 000003
【図３】
0003688736.tif 000004
【図４】
0003688736.tif 000005
【図５】
0003688736.tif 000006
【図６】
0003688736.tif 000007