(57)【特許請求の範囲】
【請求項１】
所定のメモリセルグループとしてアクセス可能なアドレス指定が可能なメモリセルのアレイと、
少なくとも最も最近に読出されたメモリセルグループと、もう１つ前に読出されたメモリセルグループと、の内容をストアするための出力バッファ手段であり、少なくとも２つの出力ラッチであってそれぞれの出力ラッチが１メモリセルグループの前記内容をストアする、該少なくとも２つの出力ラッチを含む前記出力バッファ手段と、
必要なメモリセルを含む前記メモリセルグループの前記内容が、前記出力バッファ内にストアされているか否かの表示に応答して、前記必要なメモリセルを含む前記メモリセルグループの前記内容を前記出力バッファ手段内へ読出す読出手段とを含み、
少なくとも前記必要なメモリセルの前記内容が、前記出力バッファ手段から出力として供給され、
前記出力ラッチの異なるそれぞれに命令語と、非命令語とをストアする
データメモリ。
【請求項２】
少なくとも１つの前記出力ラッチが能動ラッチである請求項１記載のデータメモリ。
【請求項３】
少なくとも１つの前記出力ラッチが容量性ラッチである請求項１記載のデータメモリ。
【請求項４】
前記容量性ラッチ、または前記容量性ラッチの１つが、前記メモリセルのアレイに接続されたビットラインのキャパシタンスにより実質的に形成される請求項３記載のデータメモリ。
【請求項５】
前記読出手段が、前記必要なメモリセルを含む前記メモリセルグループの前記内容を、最も古く書込まれた前記出力ラッチ内に読出すべく動作可能な請求項１記載のデータメモリ。
【請求項６】
前記出力バッファ手段内にストアされている前記メモリセルグループのアドレスを表示するアドレスデータをストアする手段と、
必要なメモリセルの前記アドレスおよび前記アドレスデータに応答して、該必要なメモリセルを含む前記メモリセルグループの前記内容が前記出力バッファ手段内にストアされているか否かを決定する検出手段とを含み、
該検出手段が、前記必要なメモリセルを含む前記メモリセルグループの前記内容が前記出力バッファ手段内にストアされているか否かの前記表示を生成し且つ前記読出手段へ供給する
請求項１記載のデータメモリ。
【請求項７】
前記読出手段が、前記データメモリにアクセスする装置からの、現在の必要なメモリセルが前の必要なメモリセルの隣接アドレスを有するか否かについての表示に応答する
請求項１記載のデータメモリ。
【請求項８】
現在の必要なメモリセルのアドレスが、該必要なメモリセルを含む前記メモリセルグループ内の最後のアドレスであるか否かを検出する手段を、前記読出手段が含む
請求項７記載のデータメモリ。
【請求項９】
前記データメモリがキャッシュメモリである、請求項１記載のデータメモリ。
【請求項１０】
中央処理装置と、
請求項１記載のデータメモリと、
を含むデータ処理装置。
【請求項１１】
中央処理装置と、
請求項８記載のデータメモリと、
を含む、データ処理装置。
【請求項１２】
現在の必要なメモリセルが、前の必要なメモリセルの隣接アドレスを有することを表示する動作を、該前の必要なメモリセルの該アドレスが、メモリセルグループ内の前記最後のアドレスを有することを検出されなかった時にのみ前記中央処理装置が行うことができる、
請求項１１記載のデータ処理装置。
【請求項１３】
所定のメモリセルグループとしてアクセス可能な、アドレス指定が可能なメモリセルのアレイを有するデータメモリの動作方法であって、該方法が、
少なくとも最も最近に読出されたメモリセルグループと、もう１つの前に読出されたメモリセルグループと、の内容を出力バッファ手段内にストアするステップであって、前記出力バッファ手段が少なくとも２つの出力ラッチであり、それぞれの出力ラッチが１メモリセルグループの前記内容をストアする、該少なくとも２つの出力ラッチを含む、前記ステップと、
必要なメモリセルを含む前記メモリセルグループの前記内容が、前記出力バッファ内にストアされているか否かの表示に応答して、前記必要なメモリセルを含む前記メモリセルグループの前記内容を前記出力バッファ手段内へ読出すステップと、を含み、
少なくとも前記必要なメモリセルの前記内容が、前記出力バッファ手段から出力として供給され、
前記データメモリが前記出力ラッチの異なるそれぞれに命令語と、非命令語とをストアする、
データメモリの動作方法。
【請求項１４】
請求項１記載のデータメモリのアレイ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データメモリへのアクセスに関する。
【０００２】
【従来の技術】
データ処理システムにおける中央処理装置（ＣＰＵ）のパフォーマンスを改善するために、キャッシュメモリを用いることは公知である。キャッシュメモリは、比較的小さい、高速度のランダムアクセスメモリ（ＲＡＭ）であり、ＣＰＵにより頻繁に要求されるデータをストアするために用いられる。通常は、キャッシュＲＡＭは、（例えば、外部メモリ管理ユニット（ＭＭＵ）を経ずに）ＣＰＵにより直接アクセスされ、ＣＰＵとキャッシュメモリとの間の信号伝搬時間を短縮するために、ＣＰＵに物理的に接近して配置される。これらの特徴は、データが極めて速く、キャッシュＲＡＭにストアされ、またそれから検索できることを意味する。
【０００３】
キャッシュＲＡＭは、通常は、いくつかのキャッシュ「ライン」として組織され、それぞれのラインは、例えば、８つのデータワードをストアできる。キャッシュＲＡＭがアクセスされる時は、データライン全体が読出され、出力ビットライン上に配置される。もし次のキャッシュＲＡＭアクセスが、同じキャッシュラインからのデータワードを要求しても、その時そのラインを再読出しする必要はない。そのワードは、出力ビットラインから簡単に読出すことができる。
【０００４】
キャッシュラインを出力ビットライン上に読出す動作は、キャッシュＲＡＭの全電力要求のかなりの割合を消費する。これは、読出し動作が、高度に容量性であるビットライン自体をチャージ（充電）する前の、データを読出すためのセンスアンプのプリチャージを含むからである。
【０００５】
１つの公知のタイプのキャッシュＲＡＭアーキテクチャにおいては、データワードおよびプロセッサ命令語の双方をストアするために単一のキャッシュＲＡＭが用いられる。これは、１キャッシュラインからロードされた命令の実行が、プロセッサをして、異なるキャッシュラインからデータをロード、または異なるキャッシュラインにデータをストアする場合に、特に高電力消費を招く。この状況においては、プロセッサは最初、キャッシュＲＡＭからの命令を、その命令をストアするキャッシュラインをして、ビットライン上へ読出されることによりロードする。該命令が実行される時、プロセッサはもう１つのキャッシュラインを読出すか、またはもう１つのキャッシュラインに書込む。これは、前記命令を含むキャッシュラインが、ビットラインから廃棄され、新しいキャッシュラインがビットライン上へ読取られることを意味する。（プロセッサがキャッシュＲＡＭに書込む場合には、ビットラインが該書込みプロセスにおいて用いられるので、現在該ビットライン上に保持されている値もやはり廃棄されなければならない）。ロードまたはストア動作が完了した後は、ビットライン上に保持されていた新しい値は、再び廃棄されなくてはならず、また原キャッシュラインは再読出しされ、プロセッサは後の必要な命令にアクセスしうるようにされる。
【０００６】
これらの多重命令−データ−命令アクセスは、電力消費と、キャッシュＲＡＭのアクセス時間とをかなり増大させる可能性がある。電力消費の増加は、全キャッシュの電力消費の１０％から３０％の間であると推定され、これは、すでにシステムの電力の比較的高い割合を使用するキャッシュＲＡＭの主要な問題である。また、上述のように、アクセス時間の増大は、主要な要求が高速度動作であるキャッシュＲＡＭにおいては、特に不利となる。
【０００７】
【発明が解決しようとする課題】
本発明の目的は、データメモリ、特にキャッシュメモリ、の電力消費およびアクセス時間を減少させることである。この目的は、携帯用の、電池電源式装置に用いるためのデータメモリに特に関連する。
【０００８】
【課題を解決するための手段】
本発明が提供するデータメモリは、
所定のメモリセルグループとしてアクセスできる、アドレス指定が可能なメモリセルのアレイと、
少なくとも最も最近に読出されたメモリセルグループと、もう１つの前に読出されたメモリセルグループと、の内容をストアするための出力バッファ手段と、必要なメモリセルを含む前記メモリセルグループの前記内容が、前記出力バッファ内にストアされているか否かの表示に応答して、前記必要なメモリセルを含む前記メモリセルグループの前記内容を前記出力バッファ手段内へ読出す読出し手段と、を含み
少なくとも前記必要なメモリセルの前記内容が、前記出力バッファ手段から出力として供給される。
【０００９】
本発明によるデータメモリにおいては、メモリセルのグループ（例えばキャッシュライン）が読出され、少なくとも１つの他の前に読出されたグループと共に出力バッファ内にストアされる。これは、上述の問題を軽減することができ、その場合、１キャッシュラインからロードされたプロセッサ命令の実行は、該プロセッサをして、異なるキャッシュラインからデータをロード、または異なるキャッシュラインへデータをストアさせた後に、原キャッシュラインへ復帰させて、後の必要な命令を読出す。これは、（上述の、前に提案されたメモリにおけるようには）原キャッシュラインが廃棄されず、出力バッファ手段内に保持されるからである。上述のように、これは、キャッシュラインの読出し動作の回数を、命令−データ−命令系列のアクセスの場合において、例えば、３回のアクセスから２回のアクセスへ減少させることにより、例えば、キャッシュＲＡＭの電力消費を、劇的に改善できる。
【００１０】
好ましくは、出力バッファ手段は、少なくとも２つの出力ラッチを含み、それぞれの出力ラッチは１メモリセルグループの内容をストアする。
実施例においては、該出力ラッチの少なくとも１つは、トランジスタまたは半導体ラッチのような能動ラッチである。しかし、代替例としては、該出力ラッチの少なくとも１つは、容量性またはダイナミックラッチであってもよい。このタイプのラッチは、実質的に、メモリセルのアレイに接続されたビットラインのキャパシタンスによって形成できる。
【００１１】
出力バッファ手段がいくつかのラッチによって形成され、そのそれぞれが１メモリセルグループをストアする時、前にラッチされたデータに制御された方法でオーバライトすると有利である。これを行う１つの方法は、読出し手段が、必要なメモリセルを含むメモリセルグループの内容を、最も古く書込まれた出力ラッチ内に読出す動作ができる実施例において用いられる。
【００１２】
データメモリが少なくとも２つのカテゴリのデータをストアする、別の実施例においては、それぞれのカテゴリからのデータは、出力ラッチのそれぞれの（専用の）１つの中にストアできる。好ましくは、この構成は、２つのカテゴリのデータ、すなわち、
命令語と、
非命令語と、
をストアするデータメモリに対して用いられる。
【００１３】
データメモリは、新しいメモリセルグループが出力バッファ内へ読出されるべきか否かの表示が外部装置により供給されるように、外部装置から制御できるが、１実施例においては、この表示は、データメモリ自体内において、前記出力バッファ手段内にストアされている前記メモリセルグループのアドレスを表示するアドレスデータをストアする手段と、必要なメモリセルの前記アドレスおよびストアされているアドレスデータに応答して、該必要なメモリセルを含む前記メモリセルグループの前記内容が前記出力バッファ手段内にストアされているか否かを検出する検出手段とを用いることにより得られ、該検出手段は、前記必要なメモリセルを含む前記メモリセルグループの前記内容が前記出力バッファ手段内にストアされているか否かの前記表示を発生し且つ前記読出し手段へ供給する。
【００１４】
実施例においては、前記検出手段は、前記データメモリにアクセスする装置からの、現在の必要なメモリセルが前の必要なメモリセルの隣接アドレスを有するか否かについての表示に応答する。これは、前記現在の必要なメモリセルの内容が、前記出力バッファ内において見出すことができることを、少なくとも部分的に示す。
【００１５】
好ましくは、前記読出し手段は、前記データメモリにアクセスする装置からの、現在の必要なメモリセルが前の必要なメモリセルの隣接アドレスを有するか否かについての表示に応答する。この場合、前記検出手段は、（ある実施例において）順次アクセスが前記出力バッファ手段内に保持されているキャッシュラインの終端部をオーバランしたか否かをチェックするほかには、現在必要なワードが該バッファ手段内に保持されているか否かをチェックする必要はない可能性がある。
【００１６】
好ましくは、前記読出し装置は、現在の必要なメモリセルのアドレスが、該必要なメモリセルを含む前記メモリセルグループ内の最後のアドレスであるか否かを検出する手段を含む。
前記データメモリは、好ましくはキャッシュメモリである。
本発明は、中央処理装置と、以上において定められたデータメモリとを含むデータ処理装置において特に有効に用いられる。
【００１７】
好ましくは、中央処理装置は、現在の必要なメモリセルが、前の必要なメモリセルの隣接アドレスを有すること、を表示する動作を、該前の必要なメモリセルの該アドレスが、メモリセルグループ内の前記最後のアドレスを有することを検出されなかった時にのみ、行いうる。中央処理装置は、この検出を自身で行う、または上述の読出し手段による検出を信頼することができる。いずれの場合においても、次のアクセスが非順次的に行われる事実は、前記読出し装置を自動的にトリガして、新しいキャッシュラインを前記出力バッファ手段内へ読出すために用いることができる。
【００１８】
本発明は、第２特徴から見ると、所定のメモリセルグループとしてアクセスできるアドレス指定が可能なメモリセルのアレイを有するデータメモリの動作方法を提供し、該方法は、少なくとも最も最近に読出されたメモリセルグループと、もう１つの前に読出されたメモリセルグループと、の内容を出力バッファ手段内にストアするステップと、必要なメモリセルを含む前記メモリセルグループの前記内容が、前記出力バッファ内にストアされているか否かの表示に応答して、前記必要なメモリセルを含む前記メモリセルグループの前記内容を前記出力バッファ手段内へ読出すステップとを含み、少なくとも前記必要なメモリセルの前記内容は、前記出力バッファ手段から出力として供給される。
【００１９】
【発明の実施の形態】
本発明の、上述の、およびその他の、諸目的および諸利点は、添付図面を参照しつつ読まれるべき実施例に関しての以下の詳細な説明において明らかにされる。
【００２０】
【実施例】
図１は、キャッシュランダムアクセスメモリ（ＲＡＭ）２０に接続された処理コア１０を含むデータ処理装置の概略図である。キャッシュＲＡＭ２０は、アクセス制御装置３０と、トランジスタメモリセルのアレイを含むメモリアレイ４０と、２つのラインバッファ５０、６０と、マルチプレクサ７０とを含む。
【００２１】
処理コア１０およびキャッシュＲＡＭ２０は、共通集積回路のそれぞれの部分として製造できる。
メモリアレイ４０は、いくつかのキャッシュライン４５を含み、そのそれぞれは、２５６メモリセルから形成される。従って、キャッシュラインは、それぞれが３２ビット（４バイト）のデータを含む８つのデータワードをストアする。
【００２２】
この図および図２から図４までにおいては、キャッシュＲＡＭからデータを読取る機構が主として示されている。他の点では、ビットラインを経てのキャッシュＲＡＭへのデータの書込みのための機構は通常のものである。
【００２３】
以下に詳述されるアクセス制御装置３０の制御のもと、キャッシュライン４５の１つがアクセスのために選択可能であり、そのキャッシュライン内に保持されているデータは（通常のセンスアンプを経て）ビットライン５５上へ出力される。ビットライン５５は、ラインバッファ５０およびラインバッファ６０へ並列に供給される。
【００２４】
キャッシュＲＡＭ２０は、プロセッサ命令および処理されるべきデータの双方をストアするために用いられる。一般に、処理コア１０は、キャッシュＲＡＭ２０の１部分にストアされている１つまたはそれ以上の命令語へのアクセスを要求し、続いて、キャッシュＲＡＭ２０の異なる部分にストアされているさまざまなデータワードへのアクセスが行われる。データワードがアクセスされた後には、処理コア１０は、前にアクセスされた命令語に隣接してストアされている、さらなる命令語へのアクセスへ復帰する。
【００２５】
従って、通常の動作においては、処理コア１０は、メモリアレイ４０の２つの異なる部分、すなわちデータワードをストアする部分と、命令語をストアする部分とに対し交互のアクセスを要求する。（前述された、前に提案されたキャッシュメモリにおけるように）処理コア１０がキャッシュＲＡＭ２０の新しい部分へのアクセスを要求する毎に、もし全キャッシュラインがアクセスされなくてはならないとすれば、これは、全キャッシュライン４５が、交互の命令−データ−命令のアクセスのために、繰り返して読出されなくてはならないことを意味する。これは、キャッシュＲＡＭ２０の平均電力消費（および恐らくは平均アクセス時間をも）増大させる。
【００２６】
この問題を軽減するために、本実施例は、アクセス制御装置３０の制御のもとに動作する２つのラインバッファ５０、６０を用いる。次に、この構成を詳細に説明する。
【００２７】
本実施例においては、キャッシュライン４５がアクセスされた時、そのキャッシュラインの内容は、ラインバッファ５０、６０の一方にストアされる。そのバッファは、アクセス制御装置３０の制御下にあり、「現」バッファと呼ばれる。該現ラインバッファの内容は、マルチプレクサ７０（これもアクセス制御装置３０の制御下にある）を経て、処理コア１０の入力へ送られる。メモリアレイ４０から読出される次のキャッシュライン４５は、ラインバッファ５０、６０の他方の１つの中にストアされ、そのバッファは次に、新しい現バッファになる。これは、前に読出されたキャッシュラインの内容が廃棄されずに、非現ラインバッファ内にストアされることを意味する。
【００２８】
アクセス制御装置３０は、ラインバッファ５０、６０のそれぞれの中にストアされている特定のキャッシュライン４５のレコードを、いずれのラインバッファが現ラインバッファであるかの表示と共に保持する。処理コア１０がキャッシュＲＡＭ２０内にストアされているワードへのアクセスを要求する毎に、処理コア１０は、アクセス制御装置３０へアドレスを送信する。次に、アクセス制御装置３０は、そのワードを保持するキャッシュライン４５が既に読出され、かつなお現在ラインバッファ５０、６０の一方内にストアされているか否かを検出する。もし必要なキャッシュライン４５が、ラインバッファ５０、６０の一方内にストアされていれば、そのバッファは次に現ラインバッファとなり、マルチプレクサ７０がそのラインバッファの出力を選択し、必要なワードは、メモリアレイへのアクセスを再び必要とすることなく、処理コア１０へ供給される。しかし、もしアクセス制御装置３０が、必要なワードがラインバッファ５０、６０のいずれにもストアされていないことを検出すれば、アクセス制御装置３０は、必要なキャッシュライン４５がメモリアレイ４０から読出されるように、メモリアレイ４０を制御する。そのキャッシュライン４５内にストアされているデータは、ビットライン５５上へ出力され、かつアクセス制御装置３０の制御のもとに、非現ラインバッファ内にストアされる（該非現ラインバッファは次に、出力のための現ラインバッファとなる）。
【００２９】
図１に示されている実施例においては、ラインバッファ５０、６０のそれぞれは、命令語またはデータワードのいずれかをストアできる。実際には、ラインバッファ５０、６０の一方は、命令語をストアする傾向があり、他方は、データワードをストアする傾向があるが、その理由は、単にこれら２つのタイプのワード間で一般に交互するアクセスが要求されるからである。
【００３０】
図２は、第２実施例を示し、この実施例は命令語をストアするための専用ラインバッファと、データワードをストアするための第２専用ラインバッファとを有する。
図２において、処理コア１１０は、アクセス制御装置１３０と、いくつかのキャッシュライン１４５から形成されたメモリアレイ１４０と、２つのラインバッファ１５０、１６０とを含むキャッシュＲＡＭ１２０と通信する。
【００３１】
処理コア１１０は、必要なデータまたは命令語のアドレスを発生し、それはアクセス制御装置１３０により、「非データ命令（ｉｎｓｔｒｕｃｔｉｏｎ−ｎｏｔ−ｄａｔａ）」（Ｉ／Ｄ（バー））信号ラインと共に処理される。非データ命令信号ラインは、処理コアがキャッシュＲＡＭ１２０から命令を読出しつつある時に、一方のラインバッファ（実際には、ラインバッファ１５０）が動作を可能化され、処理コア１１０がキャッシュＲＡＭ１２０からデータワードを読出しつつある時に、他方のラインバッファ（ラインバッファ１６０）が動作を可能化されるように、相補的なそれぞれの形式でラインバッファ１５０、１６０へ供給される。
【００３２】
アクセス制御装置１３０は、もし現アクセスに対する必要なデータまたは命令語が、すでに適切なラインバッファ１５０、１６０内にストアされていれば、そのワードが再びアクセスされずに単に適切なすなわち該当するラインバッファから読出されるように、キャッシュラインのアドレスのレコードを、ラインバッファ１５０、１６０のそれぞれの中に保持する。
【００３３】
図３は、第３実施例の概略図であり、この実施例においては、処理コア２１０は、アクセス制御装置２３０と、キャッシュライン２４５を有するメモリアレイ２４０と、ラインバッファ２５０、２６０とを含むキャッシュＲＡＭ２２０と通信する。
【００３４】
この場合も、ラインバッファ２５０、２６０は、命令語またはデータワードのいずれかに対する専用のものとなる。現在必要なワードの性質に依存して用いられるべきラインバッファは、「適切な」ラインバッファと呼ばれる。
【００３５】
アクセス制御装置２３０の動作は、処理コア２１０からの「順次」フラグの使用により、図２のアクセス制御装置１３０に比し簡単化される。順次フラグは、アクセス制御装置２３０へ供給され、処理コア２１０が要求する現キャッシュアクセスが、直前のキャッシュアクセスに対して順次的であることを表示する。順次アクセスの例は、処理コア２１０が第１命令にアクセスし、その命令を処理またはパイプラインし終わると、キャッシュＲＡＭ２２０内の隣接メモリアドレスにストアされている、直後に続く命令にアクセスするものである。
【００３６】
図３の装置は、いくつかの異なる動作モードで動作させることができる。以下、これらを順次説明する。異なる諸モードは、処理コアおよび／またはアクセス制御装置のために用いられるハードウェアまたはオペレーティングソフトウェアに反映させることができる。一般に、これらの差は、図３の概略的性質からは明らかではないが、以下の説明において明らかにされる。
【００３７】
第１動作モード
キャッシュアクセスが順次的である時は、それは一般に、前のキャッシュアクセスと同じキャッシュラインへのアクセスを要求する。しかし、上述のように、そのキャッシュラインは、（命令に対する）ラインバッファ２５０、または（データワードに対する）ラインバッファ２６０内にストアされているはずである。従って、必要なワードは、処理コア２１０からの非データ命令制御フラグによって選択された適切なラインバッファ２５０、２６０から読出すことができる。
【００３８】
しかし、現在必要な順次アクセスされたワードが、適切なラインバッファ内に現在保持されているキャッシュラインの端部を実際にオーバランしているか否かを検出することが必要である。もしオーバランしていれば、そのラインバッファの内容は、次のキャッシュラインを該バッファ内へ読出すことによりリフレッシュされなければならない。
従って、この動作モードにおけるアクセス制御装置２３０の主な役割は、以下のようになる。
【００３９】
【表１】
0003798049.tif 000002
【００４０】
現在必要なワードが、現在バッファされたキャッシュラインの端部をオーバランしたか否かの検出は、必要なアドレスの最低次ビットが、キャッシュラインの最初に対応するか否かを検出することによって行うことができる。
【００４１】
第２動作モード
代替例としては、アクセス制御装置は、順次アクセスにおいては第１動作モードにおけるように動作するが、非順次アクセスにおいては常に、新しいキャッシュラインを適切なラインバッファ内へ読出す。これは、アクセス制御装置が行わなければならない唯一のアドレス比較によって、現在必要とされているワードが、バッファされたキャッシュラインの端部をオーバランしているか否かをチェックすることであることを意味する。これらの動作は以下のように要約される。
【００４２】
【表２】
0003798049.tif 000003
【００４３】
第３動作モード
第３動作モードにおいては、アクセス制御装置は、現在必要なワードが、現在バッファされたキャッシュラインの端部にあるか否かを検出する。もしある場合は、アクセス制御装置は、処理コア２１０へ送られる「ライン端部」フラグをセットする。ライン端部フラグがセットされた時は、処理コアによる次のキャッシュアクセスは、常に非順次アクセスであるように強制される。非順次アクセスが処理コアによって行われる時、アクセス制御装置は応答して、常に、完全なキャッシュラインを適切なラインバッファ内に読出す。これらの動作は、以下のように要約される。
【００４４】
【表３】
0003798049.tif 000004
【００４５】
この動作モードにおいては、処理コアおよびキャッシュＲＡＭは、協働してアクセス制御装置の処理要求を減少させる。アクセス制御装置が、入来する（必要な）アドレスを、ストアされているアドレスと比較する必要はもうない。アクセス制御装置が行わなくてはならないのは、最後の（この場合は、８番目の）ワードが、ラインバッファの１つから読出されつつある時、フラグをセットすることのみである。処理コアは次に、（順次フラグをセットしないことにより）自動的に次のキャッシュアクセスを非順次アクセスにする。アクセス制御装置は、非順次アクセスを、キャッシュラインが適切なラインバッファ２５０、２６０内へ読出されることを常に要求するものとして解釈する。
【００４６】
第４動作モード
もう１つの動作モードにおいては、処理コア自体が、それぞれのキャッシュラインから読出されたワード数の、またはキャッシュライン内の現在必要なワードの位置の、レコードを保持する。処理コアは次に、アクセス制御装置からのライン端部フラグを必要とすることなく、非順次アクセスでそれぞれのキャッシュラインへの最初のアクセスを自動的に行う。この場合は、アクセス制御装置の動作は以下のようにさらに簡単化される。
【００４７】
【表４】
0003798049.tif 000005
【００４８】
第５および第６動作モード
さらなる可能な動作モードにおいては、アクセス制御装置は、順次アクセスにおける第３または第４モードにおけるように動作できるが、非順次アクセスにおいては、（第１モードにおけるように）アドレス比較を行うことができる。
【００４９】
最後に、図４は、第４実施例の概略図であり、この実施例においては、中央処理装置（ＣＰＵ）３００は、処理コア３１０と、プリフェッチユニット３１２と、マルチプレクサ３１４と、キャッシュＲＡＭ３２０と通信するバスドライバ３１６とを含み、キャッシュＲＡＭ３２０は、アクセス制御装置３３０と、キャッシュライン３４５とを有するメモリ３４０と、ラインバッファ３５０、３６０と、バスドライバ３７０とを含む。
【００５０】
マルチプレクサ３１４は、（ドライバ３１６および単方向バス３８０を経て）キャッシュＲＡＭ３２０へ伝送されるべき、以下の中から選択された情報を供給する。
キャッシュＲＡＭ（ＲＡ／ＷＡ）内の必要なワードのアドレスを示す読出しアドレスまたは書込みアドレス、
キャッシュＲＡＭ（ＷＤ）へ書込まれるべきデータ、および
前記キャッシュＲＡＭ内に保持されている命令のアドレスを示すプログラムカウンタ（ＰＣ）。
【００５１】
マルチプレクサ３１４は、アドレスフラグ（ＡＦ）および命令フラグ（ＩＦ）の制御のもとに、単方向バス３８０を経て伝送されるべき以上のアイテムの１つを選択する。アドレスフラグは、処理コア３１０により発生され、該コアが、キャッシュＲＡＭ３２０への非順次的読出しまたは書込みアクセスを要求しており、かつ単方向バス３８０上にアドレスを配置しつつあることを表示し、命令フラグは、プリフェッチユニット３１２により発生され、該プリフェッチユニットがキャッシュＲＡＭ３２０内の命令語へのアクセスを要求していることを表示する。単方向バス３８０上へ伝送されるアイテムは、アドレスフラグおよび（データワードの読出しおよび書込み動作をそれぞれ表示する読出しフラグおよび書込みフラグを含む）他のフラグと共に、アクセス制御装置３３０へ供給される。アクセス制御装置３３０および処理コア３１０は、図３に関連して上述されたアクセス制御装置のいずれとも同様に動作し、順次または非順次アクセスおよび命令の表示としてアドレスフラグ、上述の非データ命令フラグの代わりに読出しおよび書込みフラグを用いる。もしさまざまな動作モードの特定の１つにおいて適切ならば、アクセス制御装置はライン端部フラグを処理コアへ供給し返す。
【００５２】
アクセス制御装置３３０の制御のもとに、必要なデータまたは命令語は、メモリアレイ３４０から読出されるか、または、ラインバッファ３５０、３６０の適切な１つからバスドライバ３７０へ直接出力される。そのデータまたは命令語は次に、第２単方向バス３９０を経てＣＰＵ３００へ伝送される。ＣＰＵ３００においては、単方向バス３９０上へ伝送されたアイテムは、（もしそれが命令であれば）プリフェッチユニット３１２へ、または（もしそれがデータワードであれば）処理コア３１０の読出しデータ（ＲＤ）入力へ送られる。
【００５３】
図４に示されている単方向バスを用いる利点は、（それぞれのバスドライバを停止させることにより）１方向へのバス伝送を中止して、関連する電力消費および遅延を有する他方向への伝送を（異なるバスドライバを初期化することにより）再開する必要がないことである。
【００５４】
全ての上述の実施例において、ラインバッファ（５０、６０；１５０、１６０；２５０、２６０；３５０、３６０）はスタティックラッチ、（キャパシタまたは、２つのバッファの一方においては、ビットラインのキャパシタンス、のような）ダイナミックラッチ、またはビットライン上の値を一時的に保持できる他の装置でもよい。もちろん、３つまたはそれ以上のラインバッファを使用することもでき、この構成は、図１から図４までに関連して上述された２つのカテゴリのワード（命令語およびデータワード）よりも多くをストアするキャッシュメモリに対して適切となろう。この場合には、ラインバッファの内容は、同じカテゴリのデータによって、または「最も古く用いられた」という根拠に基づいて、オーバライトされてもよい。
【００５５】
さらに別の実施例においては、上述の技術は、それぞれが例えば１キロバイトのデータをストアするブロックまたはセグメントのアレイから形成されたキャッシュメモリに適用できる。この場合には、それぞれのセグメントに対して少なくとも１つのラインバッファが備えられ、そのセグメントによって出力された前に読出されたデータをストアする。それらのセグメントは、例えば、アソシアチブ４×４アレイによって配列され、該セグメントのそれぞれの行は、４重の連想（アソシアチブ）キャッシュを形成する。直接アドレス指定を用いて、正しい行が選択され、次にその行のセグメント内の正しいキャッシュラインが選択される。このようにして、キャッシュラインをセグメントに分割することにより、ビットラインのキャパシタンスは減少され、より高速度かつより低電力消費の動作が得られる。
【００５６】
ここでは、添付図面を参照しつつ、本発明の実施例を詳細に説明してきたが、本発明は、これらの精細な実施例に限定されるものではないこと、および添付の特許請求の範囲によって定められる本発明の範囲および精神から逸脱することなく、本当業者によりさまざまな変更および改変を行えることを理解すべきである。
【図面の簡単な説明】
【図１】処理コアおよびキャッシュランダムアクセスメモリ（ＲＡＭ）を含むデータ処理装置の概略図。
【図２】処理コアおよびキャッシュＲＡＭを含むデータ処理装置の第２実施例の概略図。
【図３】処理コアおよびキャッシュＲＡＭを含むデータ処理装置の第３実施例の概略図。
【図４】処理コアおよびキャッシュＲＡＭを含むデータ処理装置の第４実施例の概略図。
【符号の説明】
１０  処理コア
２０  キャッシュＲＡＭ
３０  アクセス制御装置
４０  メモリアレイ
５０  ラインバッファ
６０  ラインバッファ
１１０  処理コア
１２０  キャッシュＲＡＭ
１３０  アクセス制御装置
１４０  メモリアレイ
１５０  ラインバッファ
１６０  ラインバッファ
２１０  処理コア
２２０  キャッシュＲＡＭ
２３０  アクセス制御装置
２４０  メモリアレイ
２５０  ラインバッファ
２６０  ラインバッファ
３００  中央処理装置
３１０  処理コア
３２０  キャッシュＲＡＭ
３３０  アクセス制御装置
３４０  メモリアレイ
３５０  ラインバッファ
３６０  ラインバッファ
【図１】
0003798049.tif 000006
【図２】
0003798049.tif 000007
【図３】
0003798049.tif 000008
【図４】
0003798049.tif 000009