JP2007286990A - キャッシュメモリ装置及びそれに用いるキャッシュメモリ制御方法並びにそのプログラム - Google Patents

キャッシュメモリ装置及びそれに用いるキャッシュメモリ制御方法並びにそのプログラム Download PDF

Info

Publication number
JP2007286990A
JP2007286990A JP2006115081A JP2006115081A JP2007286990A JP 2007286990 A JP2007286990 A JP 2007286990A JP 2006115081 A JP2006115081 A JP 2006115081A JP 2006115081 A JP2006115081 A JP 2006115081A JP 2007286990 A JP2007286990 A JP 2007286990A
Authority
JP
Japan
Prior art keywords
cache memory
miss
information
block
entry
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006115081A
Other languages
English (en)
Other versions
JP4867451B2 (ja
Inventor
Takeo Hosomi
岳生 細見
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2006115081A priority Critical patent/JP4867451B2/ja
Publication of JP2007286990A publication Critical patent/JP2007286990A/ja
Application granted granted Critical
Publication of JP4867451B2 publication Critical patent/JP4867451B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】 フェッチ処理中もキャッシュメモリをブロックすることなく、複数のアクセス要求を低いハードウェア・コストで処理可能なキャッシュメモリ装置を提供する。
【解決手段】 キャッシュメモリ1を制御するキャッシュメモリ制御部2は、ミス情報保持テーブル21の各エントリに、キャッシュミスとなった同一メモリブロックへのフェッチ要求情報を複数保持している。キャッシュメモリ1の各エントリにはフェッチ処理中であるかどうかを示すフェッチフラグと、ミス情報保持テーブル21のエントリを特定する情報とを保持している。キャッシュメモリ制御部2は、これらの情報を基に、フェッチ処理中もキャッシュメモリ1をブロックすることなく、複数のアクセス要求を処理する。
【選択図】 図1

Description

本発明はキャッシュメモリ装置及びそれに用いるキャッシュメモリ制御方法並びにそのプログラムに関し、特にプロセッサに含まれるキャッシュメモリシステムにおいて、フェッチ処理中もキャッシュメモリをブロックすることなく、複数のアクセス要求を処理する方法に関する。
従来、コンピュータシステムにおいては、プロセッサと主メモリとの間に、プロセッサが高スループットかつ低遅延でアクセス可能なキャッシュメモリを備えている。このキャッシュメモリは、プロセッサが最近アクセスした主メモリのブロックの内容を保持しておくことによって、同じ主メモリのブロックへのアクセスを高速化している。
キャッシュメモリを備えるコンピュータシステムにおいては、プロセッサが主メモリのあるアドレスをアクセスする処理を行うと、キャッシュメモリ制御部にアクセス要求を伝える。キャッシュメモリ制御部は、まずキャッシュメモリにアクセスしてプロセッサがアクセスしようとしている主メモリのアドレスに格納されているデータがキャッシュメモリに存在するかどうかを調べる。
データが存在する場合には、キャッシュメモリに格納されているデータをプロセッサに転送する。データが存在しない場合には、キャッシュミスとして、プロセッサがアクセスしようとしている主メモリのアドレスのデータを含む主メモリのブロックをキャッシュメモリにフェッチする処理を行う。キャッシュメモリ制御部は、フェッチ処理を行っている間、プロセッサのアクセス要求を保持し、主メモリからブロックが転送されると、そのブロックに含まれるデータをプロセッサに転送する。
また、従来のキャッシュメモリシステムとしては、キャッシュメモリ制御部がフェッチ処理中もキャッシュメモリをブロックすることなく、複数のアクセス要求を処理することができるシステムも提案されている(例えば、非特許文献1参照)。以下、図を参照しながらこの従来技術によるキャッシュメモリシステムについて説明する。
図8に従来のキャッシュメモリシステムの構成例を示す。このキャッシュメモリシステムは、キャッシュメモリ1とキャッシュメモリ制御部3とからなる。キャッシュメモリ1は複数のエントリで構成され、各エントリは、1)有効かを示すVフラグD1と、2)どの主メモリ(図示せず)のブロックかを示すブロックアドレスD2と、3)主メモリのブロックの内容(ブロックデータD3)とを保持している(図9参照)。以下、説明を簡単にするために、キャッシュメモリ1はダイレクトマップ構成とする。
キャッシュメモリ制御部3はミス要求情報レジスタ31を複数保持している(図8に示す例では4個)。ミス要求情報レジスタ32は、1)初期ミス情報部E1と、2)1つ以上の2次ミス情報部を含む(図10に示す例では2個の2次ミス情報部E2−1,E2−2)(図10参照)。初期ミス情報部E1には、キャッシュミスによってフェッチ処理を行ったアクセス要求が含まれる。2次ミス情報部E2−1,E2−2にはフェッチ処理中に発生した同一主メモリのブロックへの別のアクセス要求が含まれる。
また、キャッシュメモリ制御部3は、どの主メモリのブロックに対してフェッチ処理中であるかを検索するために、アドレス比較器32をミス要求情報レジスタ31の個数分保持している(図8に示す例では4個)。
図11に従来のキャッシュメモリシステムの動作を示す。キャッシュメモリ制御部3は、プロセッサ(図示せず)からアクセス要求を受取ると、アクセス要求に含まれるアドレスと、アドレスから一意に決まるキャッシュメモリ1の1個のエントリをアクセスし、VフラグD1とブロックアドレスD2とを読出す(図11ステップS21)。
キャッシュメモリ制御部3は、そのVフラグD1がセットされているかどうかと、そのブロックアドレスD2とプロセッサがアクセスしようとしている主メモリのアドレスとを比較して両者が主メモリの同一ブロックかどうかとから、アクセスしようとしているデータがキャッシュメモリ1に存在するかどうかを調べる(図11ステップS22)。
データが存在する場合、すなわちVフラグD1がセットされており、ブロックアドレスD2とアクセス要求のアドレスとが主メモリの同一ブロックを指す場合には、キャッシュメモリ1のそのエントリのブロックデータD3に含まれるデータとアクセス要求に含まれかつプロセッサがアクセスを識別するためのアクセスタグをセットにして、プロセッサに応答として転送する(図11ステップS23)。
データが存在しない場合には、複数あるアドレス比較器32を用いて複数のミス要求情報レジスタ31の中に既に主メモリの同一ブロックへのアクセス要求が存在するかどうかを検索する(図11ステップS24)。この検索では、ミス要求情報レジスタ31の初期ミス情報部E1に含まれるアクセス要求のアドレスと、現在処理中のアクセス要求のアドレスとを比較し、主メモリの同一ブロックであるかどうかを調べる。
同一ブロックへのアクセス要求が存在すれば(図11ステップS25)、キャッシュメモリ制御部3は、検索処理で特定したそのミス要求情報レジスタ31の2次ミス情報部E2−1または2次ミス情報部E2−2にそのアクセス要求を書き加える(図11ステップS26)。
同一ブロックへのアクセス要求が存在しなければ(図11ステップS25)、キャッシュメモリ制御部3は、空いているミス要求情報レジスタ31を確保してその初期ミス情報部E1にそのアクセス要求を書込み、主メモリのブロックをキャッシュメモリ1にフェッチする処理を行う(図11ステップS27)。そのフェッチ処理では複数あるミス要求情報レジスタ31を特定するミス要求情報レジスタ番号を含むフェッチ要求を主メモリに転送する。
キャッシュメモリ制御部3が、ミス要求情報レジスタ番号とブロックデータとを含む応答を主メモリから受取ると、ミス要求情報レジスタ番号で示されるミス要求情報レジスタ31から初期ミス情報部E1に含まれるアクセス要求と、複数の2次ミス情報部E2−1,E2−2に含まれるアクセス要求とを取出し、複数のアクセス要求に対してそれぞれ、アクセスしたデータをブロックデータから取り出してアクセス要求に含まれるアクセスタグとセットにしてプロセッサに応答として転送する。
また、初期ミス情報部E1に含まれるアクセス要求のアドレスから特定されるキャッシュメモリ1のエントリのブロックデータE3に、応答に付加されていたブロックデータをセットし、またVフラグE1をセットする。
上記の動作において、空いているミス要求情報レジスタ31を確保できなかった場合や、2次ミス情報部E2−1,E2−2が一杯で新たにアクセス要求を書き加えることができなかった場合、キャッシュメモリ制御部3はそのアクセス要求を含む以降のアクセス要求の処理を停止する。
従来のキャッシュメモリシステムでは、上記のような構成で、上記のように動作することで、フェッチ処理中もプロセッサの次のアクセス要求を処理することができる。
また、従来のキャッシュメモリシステムでは、キャッシュメモリの各エントリにフェッチフラグを含み、そのエントリのブロックアドレスで特定される主メモリのブロックをフェッチ処理中であるかどうかをフェッチフラグで示す技術が提案されている(例えば、特許文献1参照)。この技術を用いることによって、キャッシュメモリ制御部が既に主メモリの該当するブロックへのフェッチ処理を行っているかどうかを判断することができる。
しかしながら、この従来技術を用いても、フェッチ処理を引き起こしたアクセス要求の情報が書込まれているミス要求情報レジスタを特定するために、アドレス比較器を用いて複数あるミス要求情報レジスタを検索する必要がある。
特開平9−218823号公報 David Kroft,"Lockup−free Instruction Fetch/Prefetch Cache Organization,"Proc.8th International Symposium on Computer Architecture,pp81−87,May,1981
上述した従来のキャッシュメモリシステムでは、既に主メモリの同一ブロックへのアクセス要求が存在するかどうかを検索するために複数のアドレス比較器が必要であり、また複数あるミス要求情報レジスタの内容を同時に読出す必要がある。
また、ミス要求情報レジスタに多数のアクセス要求を保持するには、ミス要求情報レジスタのサイズを大きくして2次ミス情報部を増やす必要があるため、多数のアクセス要求を処理するキャッシュメモリを実現するためのハードウェア・コストが高いという問題がある。
そこで、本発明の目的は上記の問題点を解消し、低いハードウェア・コストで多数のアクセス要求を処理することができるキャッシュメモリ装置及びそれに用いるキャッシュメモリ制御方法並びにそのプログラムを提供することにある。
本発明によるキャッシュメモリ装置は、プロセッサが最近アクセスした主メモリのブロックの内容を保持しておくキャッシュメモリと、前記キャッシュメモリを制御するキャッシュメモリ制御部とを含むキャッシュメモリ装置であって、
前記キャッシュメモリ制御部は、前記プロセッサからのアクセス要求でキャッシュミスとなった要求を複数保持するミス要求情報保持テーブルを備え、
前記キャッシュメモリの各エントリに、前記主メモリのどのブロックのデータかを特定する情報と、フェッチ処理中であるかどうかを示すフェッチフラグと、前記ミス要求情報保持テーブルのエントリを特定する情報とを保持し、
前記キャッシュメモリ制御部は、前記プロセッサからのアクセス要求を受け付け、前記キャッシュメモリの前記主メモリのどのブロックのデータかを特定する情報と前記フェッチフラグとから同一メモリブロックのデータを既に前記フェッチ処理中か否かを判断し、前記フェッチ処理中であれば前記キャッシュメモリの前記ミス要求情報保持テーブルのエントリを特定する情報から、同一メモリブロックへのアクセス要求を保持しているミス要求情報テーブルのエントリを特定している。
本発明による他のキャッシュメモリ装置は、プロセッサが最近アクセスした主メモリのブロックの内容を保持しておくキャッシュメモリと、前記キャッシュメモリを制御するキャッシュメモリ制御部とを含むキャッシュメモリ装置であって、
前記キャッシュメモリ制御部は、前記プロセッサからのアクセス要求でキャッシュミスとなった要求を複数保持するミス要求情報保持テーブルを備え、
前記キャッシュメモリの各エントリに、フェッチ処理中であるかどうかを示すフェッチフラグと、前記主メモリのどのブロックのデータかを特定する第1の情報及び前記ミス要求情報保持テーブルのエントリを特定する第2の情報のいずれかを保持する共有フィールドを保持し、
前記共用フィールドは、前記フェッチフラグがセットされていない場合に前記第1の情報を保持し、前記フェッチフラグがセットされている場合に前記第2の情報を保持し、
前記キャッシュメモリ制御部は、前記プロセッサからのアクセス要求を受け付け、前記キャッシュメモリのフェッチフラグからそのキャッシュブロックが前記フェッチ処理中か否かを判断し、前記フェッチ処理中であれば前記共有フィールドからそのキャッシュブロックへのアクセス要求を保持しているミス要求情報テーブルのエントリを特定し、このミス要求情報テーブルのエントリに格納されているアクセス要求情報から同一メモリブロックのフェッチ処理中か否かを判断している。
本発明によるキャッシュメモリ制御方法は、プロセッサが最近アクセスした主メモリのブロックの内容を保持しておくキャッシュメモリと、前記キャッシュメモリを制御するキャッシュメモリ制御部とを含むキャッシュメモリ装置に用いるキャッシュメモリ制御方法であって、
前記キャッシュメモリ制御部に、前記プロセッサからのアクセス要求でキャッシュミスとなった要求を複数保持するミス要求情報保持テーブルを設け、
前記キャッシュメモリの各エントリに、前記主メモリのどのブロックのデータかを特定する情報と、フェッチ処理中であるかどうかを示すフェッチフラグと、前記ミス要求情報保持テーブルのエントリを特定する情報とを保持し、
前記キャッシュメモリ制御部が、前記プロセッサからのアクセス要求を受け付け、前記キャッシュメモリの前記主メモリのどのブロックのデータかを特定する情報と前記フェッチフラグとから同一メモリブロックのデータを既に前記フェッチ処理中か否かを判断し、前記フェッチ処理中であれば前記キャッシュメモリの前記ミス要求情報保持テーブルのエントリを特定する情報から、同一メモリブロックへのアクセス要求を保持しているミス要求情報テーブルのエントリを特定する処理を実行している。
本発明による他のキャッシュメモリ制御方法は、プロセッサが最近アクセスした主メモリのブロックの内容を保持しておくキャッシュメモリと、前記キャッシュメモリを制御するキャッシュメモリ制御部とを含むキャッシュメモリ装置に用いるキャッシュメモリ制御方法であって、
前記キャッシュメモリ制御部に、前記プロセッサからのアクセス要求でキャッシュミスとなった要求を複数保持するミス要求情報保持テーブルを設け、
前記キャッシュメモリの各エントリに、フェッチ処理中であるかどうかを示すフェッチフラグと、前記主メモリのどのブロックのデータかを特定する第1の情報及び前記ミス要求情報保持テーブルのエントリを特定する第2の情報のいずれかを保持する共有フィールドを保持し、
前記共用フィールドは、前記フェッチフラグがセットされていない場合に前記第1の情報を保持し、前記フェッチフラグがセットされている場合に前記第2の情報を保持し、
前記キャッシュメモリ制御部が、前記プロセッサからのアクセス要求を受け付け、前記キャッシュメモリのフェッチフラグからそのキャッシュブロックが前記フェッチ処理中か否かを判断する処理と、前記フェッチ処理中であれば前記共有フィールドからそのキャッシュブロックへのアクセス要求を保持しているミス要求情報テーブルのエントリを特定する処理と、このミス要求情報テーブルのエントリに格納されているアクセス要求情報から同一メモリブロックのフェッチ処理中か否かを判断する処理とを実行している。
本発明によるキャッシュメモリ制御方法のプログラムは、プロセッサが最近アクセスした主メモリのブロックの内容を保持しておくキャッシュメモリと、前記キャッシュメモリを制御するキャッシュメモリ制御部とを含むキャッシュメモリ装置に用いるキャッシュメモリ制御方法のプログラムであって、
前記キャッシュメモリ制御部に、前記プロセッサからのアクセス要求でキャッシュミスとなった要求を複数保持するミス要求情報保持テーブルを設け、
前記キャッシュメモリの各エントリに、前記主メモリのどのブロックのデータかを特定する情報と、フェッチ処理中であるかどうかを示すフェッチフラグと、前記ミス要求情報保持テーブルのエントリを特定する情報とを保持し、
前記キャッシュメモリ制御部に、前記プロセッサからのアクセス要求を受け付け、前記キャッシュメモリの前記主メモリのどのブロックのデータかを特定する情報と前記フェッチフラグとから同一メモリブロックのデータを既に前記フェッチ処理中か否かを判断し、前記フェッチ処理中であれば前記キャッシュメモリの前記ミス要求情報保持テーブルのエントリを特定する情報から、同一メモリブロックへのアクセス要求を保持しているミス要求情報テーブルのエントリを特定する処理を実行させている。
本発明による他のキャッシュメモリ制御方法のプログラムは、プロセッサが最近アクセスした主メモリのブロックの内容を保持しておくキャッシュメモリと、前記キャッシュメモリを制御するキャッシュメモリ制御部とを含むキャッシュメモリ装置に用いるキャッシュメモリ制御方法のプログラムであって、
前記キャッシュメモリ制御部に、前記プロセッサからのアクセス要求でキャッシュミスとなった要求を複数保持するミス要求情報保持テーブルを設け、
前記キャッシュメモリの各エントリに、フェッチ処理中であるかどうかを示すフェッチフラグと、前記主メモリのどのブロックのデータかを特定する第1の情報及び前記ミス要求情報保持テーブルのエントリを特定する第2の情報のいずれかを保持する共有フィールドを保持し、
前記共用フィールドは、前記フェッチフラグがセットされていない場合に前記第1の情報を保持し、前記フェッチフラグがセットされている場合に前記第2の情報を保持し、
前記キャッシュメモリ制御部に、前記プロセッサからのアクセス要求を受け付け、前記キャッシュメモリのフェッチフラグからそのキャッシュブロックが前記フェッチ処理中か否かを判断する処理と、前記フェッチ処理中であれば前記共有フィールドからそのキャッシュブロックへのアクセス要求を保持しているミス要求情報テーブルのエントリを特定する処理と、このミス要求情報テーブルのエントリに格納されているアクセス要求情報から同一メモリブロックのフェッチ処理中か否かを判断する処理とを実行させている。
すなわち、本発明のキャッシュメモリ装置は、キャッシュメモリとキャッシュメモリ制御部とからなり、キャッシュメモリ制御部にミス要求情報保持テーブルを備え、このミス要求情報保持テーブルの各エントリで、キャッシュミスとなった同一メモリブロックへのフェッチ要求情報を複数保持し、キャッシュメモリの各エントリに、フェッチ中であるかどうかを示すフラグと、ミス要求情報保持テーブルのエントリを特定する情報とを含むことで、低いハードウェア・コストで多数のアクセス要求を処理することが可能となる。
また、本発明のキャッシュメモリ装置は、キャッシュメモリの各エントリに、主メモリのどのブロックのデータかを特定する情報を含み、さらに、主メモリのどのブロックのデータ化を特定する情報と、ミス要求情報保持テーブルのエントリを特定する情報とを、共用のフィールドで管理し、フェッチ中であるかどうかを示すフラグがセットされていない場合に前者の情報を保持し、セットされている場合に後者の情報を保持することによって、低いハードウェア・コストで多数のアクセス要求を処理することが可能となる。
さらに、本発明のキャッシュメモリ装置は、ミス要求情報保持テーブルが、さらにリンク情報部を含み、リンク情報部がミス要求情報保持テーブルの別のエントリを指すことによって、低いハードウェア・コストで多数のアクセス要求を処理することが可能となる。
本発明は、上記のような構成及び動作とすることで、低いハードウェア・コストで多数のアクセス要求を処理することができるという効果が得られる。
次に、本発明の実施例について図面を参照して説明する。
図1は本発明の第1の実施例によるキャッシュメモリ装置の構成を示すブロック図である。図1において、本発明の第1の実施例によるキャッシュメモリ装置は、キャッシュメモリ1と、ミス要求情報テーブル21を含むキャッシュメモリ制御部2とから構成されている。
図2は図1のキャッシュメモリ1の各エントリの構成を示す図である。図2において、キャッシュメモリ1の各エントリは、VフラグA1と、ブロックアドレスA2と、ブロックデータA3とに加えて、フェッチフラグA4と、ミス要求情報テーブル・インデックスA5とを含んでいる。
図3は図1のキャッシュメモリ制御部2のミス要求情報テーブル21の各エントリの構成を示す図である。図3において、ミス要求情報テーブル21の各エントリは、初期ミス情報部B1と複数の2次ミス情報部B2−1,B2−2(本例では2個)とを含んでいる。
以下、説明を簡単にするために、キャッシュメモリ1はダイレクトマップ構成とするが、n−wayセットアソシアティブ構成のキャッシュメモリを有するシステムにも本実施例は適用可能である。
図4は図1のキャッシュメモリ制御部2の動作を示すフローチャートである。これら図1〜図4を参照して本発明の第1の実施例によるキャッシュメモリ装置の動作について説明する。尚、図4に示す処理はキャッシュメモリ制御部2がプログラムを実行することでも実現可能となっている。
キャッシュメモリ制御部2は、プロセッサ(図示せず)からアクセス要求を受取ると、アクセス要求に含まれるアドレスと、アドレスから一意に決まるキャッシュメモリ1の1個のエントリのVフラグA1、ブロックアドレスA2、フェッチフラグA4、ミス要求情報テーブル・インデックスA5を読出す(図4ステップS1)。
キャッシュメモリ制御部2は、VフラグA1がセットされているかどうかと、ブロックアドレスA2とプロセッサがアクセスしようとしている主メモリ(図示せず)のアドレスとを比較して両者が主メモリの同一ブロックかどうかから、アクセスしようとしているデータがキャッシュメモリ1に存在するかどうかを調べる(図4ステップS2)。
データがキャッシュメモリ1に存在する場合、すなわちVフラグA1がセットされており、ブロックアドレスA2とアクセス要求のアドレスとが主メモリの同一ブロックを指す場合、キャッシュメモリ制御部2は、キャッシュメモリ1のそのエントリのブロックデータA3に含まれるデータとアクセス要求に含まれプロセッサがアクセスを識別するためのアクセスタグとをセットにして、プロセッサに応答として転送する(図4ステップS3)。
そのブロックが存在しない場合、キャッシュメモリ制御部2は、フェッチフラグA4がセットされているかどうかと、そのブロックアドレスA2とプロセッサがアクセスしようとしている主メモリのアドレスとを比較して両者が主メモリの同一ブロックかどうかから、アクセスしようとしているデータがフェッチ処理中かどうかを調べる(図4ステップS4)。
フェッチ処理中の場合、すなわちフェッチフラグA4がセットされており、ブロックアドレスA2とアクセス要求のアドレスとが主メモリの同一ブロックを指す場合、キャッシュメモリ制御部2は、キャッシュメモリ1のそのエントリのミス要求情報テーブル・インデックスA5で特定されるミス要求情報テーブル21のエントリの2次ミス情報部B2−1,B2−2にそのアクセス要求を書き加える(図4ステップS5)。
フェッチ処理中でない場合、キャッシュメモリ制御部2は、ブロックアドレスA2とフェッチフラグA4とをセットし、またミス要求情報テーブル21の空いているエントリを確保してそのエントリを特定する情報をミス要求情報テーブル・インデックスA5にセットし、ミス要求情報テーブル21のそのエントリの初期ミス情報部B1にそのアクセス要求を書込み、主メモリのブロックをキャッシュメモリ1にフェッチする処理を行う(図4ステップS6)。このフェッチ処理ではミス要求情報テーブル・インデックスA5にセットしたものと同じ情報を含むフェッチ要求を主メモリに転送する。
キャッシュメモリ制御部2は、ミス要求情報テーブル21を特定する情報とブロックデータとを含む応答を主メモリから受取ると、その応答に含まれる情報で特定されるミス要求情報テーブル21のエントリから初期ミス情報部B1に含まれるアクセス要求と、複数の2次ミス情報部B2−1,B2−2に含まれるアクセス要求とを取出し、複数のアクセス要求に対してそれぞれ、アクセスしたデータをブロックデータから取出して、アクセス要求に含まれるアクセスタグとセットにしてプロセッサに応答として転送する。
また、キャッシュメモリ制御部2は、初期ミス情報部B1に含まれるアクセス要求のアドレスから特定されるキャッシュメモリ1のエントリのブロックデータA3に、応答に付加されていたブロックデータをセットし、VフラグA1をセットし、フェッチフラグA4をクリアする。
このように、本実施例では、キャッシュメモリ1とキャッシュメモリ制御部2とからなり、キャッシュメモリ制御部2にミス要求情報保持テーブル21を備え、このミス要求情報保持テーブル21の各エントリで、キャッシュミスとなった同一メモリブロックへのフェッチ要求情報を複数保持し、キャッシュメモリ1の各エントリに、フェッチ中であるかどうかを示すフラグと、ミス要求情報保持テーブル21のエントリを特定する情報とを含むことで、フェッチ処理中のアクセス要求を検索するためのアドレス比較器なしで、フェッチ処理中もキャッシュメモリ1をブロックすることなく、複数のアクセス要求を処理することができる。
次に、本発明の第2の実施例について述べる。本発明の第2の実施例によるキャッシュメモリ装置は、キャッシュメモリ1のエントリの構成が異なる以外は、図1に示す本発明の第1の実施例によるキャッシュメモリ装置と同様の構成となっており、その動作もほぼ同一である。以下、本発明の第2の実施例の本発明の第1の実施例と異なる点について説明する。
図5は本発明の第2の実施例によるキャッシュメモリの各エントリの構成を示す図である。図5において、キャッシュメモリ1の各エントリは、VフラグC1と、ブロックデータC2と、フェッチフラグC3とに加えて、共用フィールドC4を有している。共用フィールドC4には、VフラグC1がセットされている場合にブロックアドレスが格納され、フェッチフラグC3がセットされている場合にミス要求情報テーブル・インデックスが保持される。
図6は本発明の第2の実施例によるキャッシュメモリ装置の動作を示すフローチャートである。これら図1と図5と図6とを参照して本発明の第2の実施例によるキャッシュメモリ装置の動作について説明する。尚、図6に示す処理はキャッシュメモリ制御部2がプログラムを実行することでも実現可能である。
キャッシュメモリ制御部2は、プロセッサからアクセス要求を受取ると、アクセス要求に含まれるアドレスと、アドレスから一意に決まるキャッシュメモリ1の1個のエントリのVフラグC1と、共用フィールドC4と、フェッチフラグC3とを読出す(図6ステップS11)。
キャッシュメモリ制御部2は、VフラグC1がセットされているかどうかと、共用フィールドC4に格納されているブロックアドレスとプロセッサがアクセスしようとしている主メモリのアドレスとを比較して両者が主メモリの同一ブロックかどうかとから、アクセスしようとしているデータがキャッシュメモリ1に存在するかどうかを調べる(図6ステップS12)。
データがキャッシュメモリ1に存在する場合、すなわちVフラグC1がセットされ、共用フィールドC4に格納されているブロックアドレスとアクセス要求のアドレスとが主メモリの同一ブロックを指す場合、キャッシュメモリ制御部2は、キャッシュメモリ1のそのエントリのブロックデータC2に含まれるデータと、アクセス要求に含まれかつプロセッサがアクセスを識別するためのアクセスタグをセットにし、プロセッサに応答として転送する(図6ステップS13)。
そのブロックが存在しない場合、キャッシュメモリ制御部2は、フェッチフラグC3がセットされているかどうかを調べる(図6ステップS14)。フェッチフラグC3がセットされている場合、該キャッシュブロックがフェッチ処理中であることが分かるので、同一メモリブロックがフェッチ処理中であるか否かを特定するために、キャッシュメモリ制御部2は、共用フィールドC4に格納されているミス要求情報テーブル・インデックスで特定されるミス要求情報テーブル21のエントリを読出す(図6ステップS15)。
キャッシュメモリ制御部2は、ミス要求情報テーブル21から読出したエントリの初期ミス情報部B1に含まれるアクセス要求のアドレスとプロセッサがアクセスしようとしている主メモリのアドレスとを比較して両者が主メモリの同一ブロックかどうかから、アクセスしようとしているデータがフェッチ処理中かどうかを調べる(図6ステップS16)。
両アドレスが主メモリの同一ブロックを指す場合、すなわちフェッチ処理中の場合、キャッシュメモリ制御部2は、初期ミス情報部B1に含まれるアクセス要求のアドレスと、処理中のアクセス要求のアドレスとが主メモリの同一ブロックを指す場合、上記のステップS14の処理でアクセスしたミス要求情報テーブル21のエントリの2次ミス情報部B2−1,B2−2にそのアクセス要求を書き加える(図6ステップS17)。
フェッチ処理中ではない場合、すなわち上記のステップS14の処理でフェッチフラグC3がセットされていない場合、または上記のステップS16の処理で両アドレスが主メモリの同一ブロックを指さなかった場合、キャッシュメモリ制御部2は、フェッチフラグC3をセットし、またミス要求情報テーブル21の空いているエントリを確保してそのエントリを特定する情報を共用フィールドC4にセットし、ミス要求情報テーブル21のそのエントリの初期ミス情報部B1にそのアクセス要求を書込み、主メモリのブロックをキャッシュメモリ1にフェッチする処理を行う。このフェッチ処理では共用フィールドC4にセットしたものと同じ情報を含むフェッチ要求を主メモリに転送する。
キャッシュメモリ制御部2は、ミス要求情報テーブル21を特定する情報とブロックデータとを含む応答を主メモリから受取ると、その応答に含まれる情報で特定されるミス要求情報テーブル21のエントリから初期ミス情報部B1に含まれるアクセス要求と、複数の2次ミス情報部B2−1,B2−2に含まれるアクセス要求とを取出し、これら複数のアクセス要求に対してそれぞれ、アクセスしたデータをブロックデータから取出してアクセス要求に含まれるアクセスタグとセットにしてプロセッサに応答として転送する。
また、キャッシュメモリ制御部2は、初期ミス情報部B1に含まれるアクセス要求のアドレスから特定されるキャッシュメモリ1のエントリのブロックデータC2に、応答に付加されていたブロックデータをセットし、VフラグC1をセットし、共用フィールドC4にブロックアドレスをセットし、フェッチフラグC3をクリアする。
このように、本実施例では、キャッシュメモリ1の各エントリに、主メモリのどのブロックのデータかを特定する情報を含み、さらに、主メモリのどのブロックのデータかを特定する情報、あるいはミス要求情報保持テーブル21のエントリを特定する情報のどちらかを、共用フィールドC4で管理し、フェッチ中であるかどうかを示すフラグがセットされていない場合に前者の情報を保持し、セットされている場合に後者の情報を保持することによって、フェッチ処理中のアクセス要求を検索するためのアドレス比較器なしで、フェッチ処理中もキャッシュメモリ1をブロックすることなく、複数のアクセス要求を処理することができる。
上述した本発明の第1の実施例及び本発明の第2の実施例の変形として、本発明の第3の実施例を示す。本発明の第3の実施例によるキャッシュメモリ装置は、ミス要求情報テーブル21のエントリの構成が異なる以外は、図1に示す本発明の第1の実施例によるキャッシュメモリ装置と同様の構成となっており、その動作もほぼ同様である。以下、本発明の第3の実施例によるキャッシュメモリ装置の本発明の第1の実施例及び本発明の第2の実施例とは異なる点について説明する。
図7は本発明の第3の実施例によるミス要求情報テーブルの各エントリの構成を示す図である。図7において、ミス要求情報テーブル21の各エントリは、初期ミス情報部B1と、複数の2次ミス情報部B2−1,B2−2と、リンク情報部B3とを有している。
次に、本発明の第3の実施例の動作で、本発明の第1の実施例及び本発明の第2の実施例と異なる点について説明する。本発明の第1の実施例のステップS5の処理と本発明の第2の実施例のステップS17の処理とにおいて、ミス要求情報テーブル21の2次ミス情報部B2−1,B2−2にアクセス要求を書き加えているが、もし2次ミス情報部B2−1,B2−2に空きがなかった場合、そのアクセス要求の処理を中断し、そのブロックがフェッチ処理中でなくなってから、本発明の第1の実施例ではステップS1の処理から、本発明の第2の実施例ではステップS11の処理から再度処理を開始している。
本発明の第3の実施例では、2次ミス情報部B2−1,B2−2に空きがなかった場合、次のように動作する。キャッシュメモリ制御部2は、ミス要求情報テーブル21の空きエントリを新たに確保する(この新たに確保したエントリをエントリBとし、2次ミス情報部B2−1,B2−2に空きがなかった方のエントリをエントリAとする)。
キャッシュメモリ制御部2は、エントリAの2次ミス情報部B2−1,B2−2の情報をエントリBの2次ミス情報部B2−1,B2−2に複写してエントリAの2次ミス情報部B2−1,B2−2をクリアして空きを作る。キャッシュメモリ制御部2は、エントリAの空いた2次ミス情報部B2−1,B2−2にアクセス要求を書き加えるとともに、エントリAのリンク情報部B3にエントリBを特定する情報をセットする。
キャッシュメモリ制御部2は、ミス要求情報テーブル21を特定する情報とブロックデータとを含む応答を主メモリから受取ると、その応答に含まれる情報で特定されるミス要求情報テーブル21のエントリから初期ミス情報部B1に含まれるアクセス要求と、複数の2次ミス情報部B2−1,B2−2に含まれるアクセス要求を取出す。
また、リンク情報部B3にミス要求情報テーブル21の別のエントリを指す情報がセットされている場合、キャッシュメモリ制御部2は、その情報で特定されるエントリもアクセスし、複数の2次ミス情報部B2−1,B2−2に含まれるアクセス要求を取出す。このエントリのリンク情報部B3にミス要求情報テーブル21の別のエントリを指す情報がセットされている場合、キャッシュメモリ制御部2は、上記の処理を繰り返し、全ての2次ミス情報部B2−1,B2−2に格納されているアクセス要求を取出す。
キャッシュメモリ制御部2は、上記の処理で取出した複数のアクセス要求に対してそれぞれ、アクセスしたデータをブロックデータから取出してアクセス要求に含まれるアクセスタグとセットにしてプロセッサに応答として転送する。
このように、本実施例では、ミス要求情報保持テーブル21が、さらにリンク情報部B3を含み、リンク情報部B3がミス要求情報保持テーブル21の別のエントリを指すことによって、同一ブロックへのアクセスを多数保持するために、従来技術のミス要求情報レジスタ31のエントリのサイズを大きくして2次ミス情報部B2−1,B2−2を増やしたり、上述した本発明の第1の実施例及び本発明の第2の実施例のミス要求情報テーブル21のエントリのサイズを大きくして2次ミス情報部B2−1,B2−2を増やしたりすることなしに、フェッチ処理中もキャッシュメモリ1をブロックすることなく、複数のアクセス要求を処理することができる。
上述した本発明の第3の実施例では、キャッシュメモリ1のミス要求情報テーブル・インデックス情報とミス要求情報テーブル21のリンク情報部B3とで、リンクド・リストを作成している。上記で示した方法と異なるリンクド・リストの作成方法も本発明に適用可能である。
尚、本発明では、上記の各実施例において、アドレス情報として、キャッシュメモリ1のブロックアドレスA2や、ミス要求情報テーブル21の初期ミス情報部B1、2次ミス情報部B2−1,B2−2に含まれるアクセス要求のアドレス等を有するが、これらはそれぞれ、アクセス要求に付加されていたアドレスを全て持つ必要はない。キャッシュメモリ1のブロックアドレスA2は、主メモリのどのブロックへのアクセスかを、キャッシュメモリ1のどのエントリであるかの情報も含めて特定することができればよい。
また、本発明では、初期ミス情報部B1のアクセス要求のアドレスと、2次ミス情報部B2−1,B2−2のアクセス要求のアドレスとが、両者とも主メモリの同一ブロックであることが分かっているので、2次ミス情報部B2−1,B2−2に含まれるアクセス要求のアドレスとしては、ブロック内のオフセットを保持するのみでよい。
さらに、本発明では、本発明の第1の実施例において、キャッシュメモリ1にブロックアドレスA2が含まれるので、初期ミス情報部B1に含まれるアクセス要求のアドレスもブロック内のオフセットを保持するのみでよい。
さらにまた、本発明では、本発明の第2の実施例では、フェッチ処理中の場合、キャッシュメモリ1にブロックアドレス情報が含まれないので、初期ミス情報部B1に含まれるアクセス要求のアドレスとして、キャッシュメモリ1のどのエントリであるかの情報をも含めて、主メモリのどのアドレスへのアクセスかを特定することができる情報を保持すればよい。
本発明は、キャッシュメモリシステムを有するコンピューティング・システムに適用することができる。
本発明の第1の実施例によるキャッシュメモリ装置の構成を示すブロック図である。 図1のキャッシュメモリの各エントリの構成を示す図である。 図1のキャッシュメモリ制御部のミス要求情報テーブルの各エントリの構成を示す図である。 図1のキャッシュメモリ制御部の動作を示すフローチャートである。 本発明の第2の実施例によるキャッシュメモリの各エントリの構成を示す図である。 本発明の第2の実施例によるキャッシュメモリ装置の動作を示すフローチャートである。 本発明の第3の実施例によるミス要求情報テーブルの各エントリの構成を示す図である。 従来のキャッシュメモリ装置の構成を示すブロック図である。 図8のキャッシュメモリのエントリの構成を示す図である。 図8のキャッシュメモリのエントリの構成を示す図である。 従来のキャッシュメモリ装置の動作を示すフローチャートである。
符号の説明
1 キャッシュメモリ
2 キャッシュメモリ制御部
21 ミス要求情報テーブル
A1,C1 Vフラグ
A2 ブロックアドレス
A3,C2 ブロックデータ
A4,C3 フェッチフラグ
A5 ミス要求情報テーブル・インデックス
B1 初期ミス情報部
B2−1,B2−2 2次ミス情報部
B3 リンク情報
C4 共用フィールド

Claims (8)

  1. プロセッサが最近アクセスした主メモリのブロックの内容を保持しておくキャッシュメモリと、前記キャッシュメモリを制御するキャッシュメモリ制御部とを含むキャッシュメモリ装置であって、
    前記キャッシュメモリ制御部は、前記プロセッサからのアクセス要求でキャッシュミスとなった要求を複数保持するミス要求情報保持テーブルを有し、
    前記キャッシュメモリの各エントリに、前記主メモリのどのブロックのデータかを特定する情報と、フェッチ処理中であるかどうかを示すフェッチフラグと、前記ミス要求情報保持テーブルのエントリを特定する情報とを保持し、
    前記キャッシュメモリ制御部は、前記プロセッサからのアクセス要求を受け付け、前記キャッシュメモリの前記主メモリのどのブロックのデータかを特定する情報と前記フェッチフラグとから同一メモリブロックのデータを既に前記フェッチ処理中か否かを判断し、前記フェッチ処理中であれば前記キャッシュメモリの前記ミス要求情報保持テーブルのエントリを特定する情報から、同一メモリブロックへのアクセス要求を保持しているミス要求情報テーブルのエントリを特定することを特徴とするキャッシュメモリ装置。
  2. プロセッサが最近アクセスした主メモリのブロックの内容を保持しておくキャッシュメモリと、前記キャッシュメモリを制御するキャッシュメモリ制御部とを含むキャッシュメモリ装置であって、
    前記キャッシュメモリ制御部は、前記プロセッサからのアクセス要求でキャッシュミスとなった要求を複数保持するミス要求情報保持テーブルを有し、
    前記キャッシュメモリの各エントリに、フェッチ処理中であるかどうかを示すフェッチフラグと、前記主メモリのどのブロックのデータかを特定する第1の情報及び前記ミス要求情報保持テーブルのエントリを特定する第2の情報のいずれかを保持する共有フィールドを保持し、
    前記共用フィールドは、前記フェッチフラグがセットされていない場合に前記第1の情報を保持し、前記フェッチフラグがセットされている場合に前記第2の情報を保持し、
    前記キャッシュメモリ制御部は、前記プロセッサからのアクセス要求を受け付け、前記キャッシュメモリのフェッチフラグからそのキャッシュブロックが前記フェッチ処理中か否かを判断し、前記フェッチ処理中であれば前記共有フィールドからそのキャッシュブロックへのアクセス要求を保持しているミス要求情報テーブルのエントリを特定し、このミス要求情報テーブルのエントリに格納されているアクセス要求情報から同一メモリブロックのフェッチ処理中か否かを判断することを特徴とするキャッシュメモリ装置。
  3. 前記ミス情報保持テーブルに、前記ミス要求情報保持テーブルの別のエントリを指すリンク情報部を保持することを特徴とする請求項1または請求項2記載のキャッシュメモリ装置。
  4. プロセッサが最近アクセスした主メモリのブロックの内容を保持しておくキャッシュメモリと、前記キャッシュメモリを制御するキャッシュメモリ制御部とを含むキャッシュメモリ装置に用いるキャッシュメモリ制御方法であって、
    前記キャッシュメモリ制御部に、前記プロセッサからのアクセス要求でキャッシュミスとなった要求を複数保持するミス要求情報保持テーブルを設け、
    前記キャッシュメモリの各エントリに、前記主メモリのどのブロックのデータかを特定する情報と、フェッチ処理中であるかどうかを示すフェッチフラグと、前記ミス要求情報保持テーブルのエントリを特定する情報とを保持し、
    前記キャッシュメモリ制御部が、前記プロセッサからのアクセス要求を受け付け、前記キャッシュメモリの前記主メモリのどのブロックのデータかを特定する情報と前記フェッチフラグとから同一メモリブロックのデータを既に前記フェッチ処理中か否かを判断し、前記フェッチ処理中であれば前記キャッシュメモリの前記ミス要求情報保持テーブルのエントリを特定する情報から、同一メモリブロックへのアクセス要求を保持しているミス要求情報テーブルのエントリを特定する処理を実行することを特徴とするキャッシュメモリ制御方法。
  5. プロセッサが最近アクセスした主メモリのブロックの内容を保持しておくキャッシュメモリと、前記キャッシュメモリを制御するキャッシュメモリ制御部とを含むキャッシュメモリ装置に用いるキャッシュメモリ制御方法であって、
    前記キャッシュメモリ制御部に、前記プロセッサからのアクセス要求でキャッシュミスとなった要求を複数保持するミス要求情報保持テーブルを設け、
    前記キャッシュメモリの各エントリに、フェッチ処理中であるかどうかを示すフェッチフラグと、前記主メモリのどのブロックのデータかを特定する第1の情報及び前記ミス要求情報保持テーブルのエントリを特定する第2の情報のいずれかを保持する共有フィールドを保持し、
    前記共用フィールドは、前記フェッチフラグがセットされていない場合に前記第1の情報を保持し、前記フェッチフラグがセットされている場合に前記第2の情報を保持し、
    前記キャッシュメモリ制御部が、前記プロセッサからのアクセス要求を受け付け、前記キャッシュメモリのフェッチフラグからそのキャッシュブロックが前記フェッチ処理中か否かを判断する処理と、前記フェッチ処理中であれば前記共有フィールドからそのキャッシュブロックへのアクセス要求を保持しているミス要求情報テーブルのエントリを特定する処理と、このミス要求情報テーブルのエントリに格納されているアクセス要求情報から同一メモリブロックのフェッチ処理中か否かを判断する処理とを実行することを特徴とするキャッシュメモリ制御方法。
  6. 前記ミス情報保持テーブルに、前記ミス要求情報保持テーブルの別のエントリを指すリンク情報部を保持することを特徴とする請求項4または請求項5記載のキャッシュメモリ制御方法。
  7. プロセッサが最近アクセスした主メモリのブロックの内容を保持しておくキャッシュメモリと、前記キャッシュメモリを制御するキャッシュメモリ制御部とを含むキャッシュメモリ装置に用いるキャッシュメモリ制御方法のプログラムであって、
    前記キャッシュメモリ制御部に、前記プロセッサからのアクセス要求でキャッシュミスとなった要求を複数保持するミス要求情報保持テーブルを設け、
    前記キャッシュメモリの各エントリに、前記主メモリのどのブロックのデータかを特定する情報と、フェッチ処理中であるかどうかを示すフェッチフラグと、前記ミス要求情報保持テーブルのエントリを特定する情報とを保持し、
    前記キャッシュメモリ制御部に、前記プロセッサからのアクセス要求を受け付け、前記キャッシュメモリの前記主メモリのどのブロックのデータかを特定する情報と前記フェッチフラグとから同一メモリブロックのデータを既に前記フェッチ処理中か否かを判断し、前記フェッチ処理中であれば前記キャッシュメモリの前記ミス要求情報保持テーブルのエントリを特定する情報から、同一メモリブロックへのアクセス要求を保持しているミス要求情報テーブルのエントリを特定する処理を実行させるためのプログラム。
  8. プロセッサが最近アクセスした主メモリのブロックの内容を保持しておくキャッシュメモリと、前記キャッシュメモリを制御するキャッシュメモリ制御部とを含むキャッシュメモリ装置に用いるキャッシュメモリ制御方法のプログラムであって、
    前記キャッシュメモリ制御部に、前記プロセッサからのアクセス要求でキャッシュミスとなった要求を複数保持するミス要求情報保持テーブルを設け、
    前記キャッシュメモリの各エントリに、フェッチ処理中であるかどうかを示すフェッチフラグと、前記主メモリのどのブロックのデータかを特定する第1の情報及び前記ミス要求情報保持テーブルのエントリを特定する第2の情報のいずれかを保持する共有フィールドを保持し、
    前記共用フィールドは、前記フェッチフラグがセットされていない場合に前記第1の情報を保持し、前記フェッチフラグがセットされている場合に前記第2の情報を保持し、
    前記キャッシュメモリ制御部に、前記プロセッサからのアクセス要求を受け付け、前記キャッシュメモリのフェッチフラグからそのキャッシュブロックが前記フェッチ処理中か否かを判断する処理と、前記フェッチ処理中であれば前記共有フィールドからそのキャッシュブロックへのアクセス要求を保持しているミス要求情報テーブルのエントリを特定する処理と、このミス要求情報テーブルのエントリに格納されているアクセス要求情報から同一メモリブロックのフェッチ処理中か否かを判断する処理とを実行させるためのプログラム。
JP2006115081A 2006-04-19 2006-04-19 キャッシュメモリ装置及びそれに用いるキャッシュメモリ制御方法並びにそのプログラム Expired - Fee Related JP4867451B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006115081A JP4867451B2 (ja) 2006-04-19 2006-04-19 キャッシュメモリ装置及びそれに用いるキャッシュメモリ制御方法並びにそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006115081A JP4867451B2 (ja) 2006-04-19 2006-04-19 キャッシュメモリ装置及びそれに用いるキャッシュメモリ制御方法並びにそのプログラム

Publications (2)

Publication Number Publication Date
JP2007286990A true JP2007286990A (ja) 2007-11-01
JP4867451B2 JP4867451B2 (ja) 2012-02-01

Family

ID=38758693

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006115081A Expired - Fee Related JP4867451B2 (ja) 2006-04-19 2006-04-19 キャッシュメモリ装置及びそれに用いるキャッシュメモリ制御方法並びにそのプログラム

Country Status (1)

Country Link
JP (1) JP4867451B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010146084A (ja) * 2008-12-16 2010-07-01 Toshiba Corp キャッシュメモリ制御部を備えるデータ処理装置
JP5500274B1 (ja) * 2013-01-08 2014-05-21 日本電気株式会社 キャッシュメモリ、キャッシュメモリの検索方法、情報処理装置、およびプログラム
CN109478163A (zh) * 2016-07-15 2019-03-15 超威半导体公司 用于在高速缓存条目处标识存储器访问请求的待决的系统和方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09218823A (ja) * 1996-02-08 1997-08-19 Hitachi Ltd キャッシュメモリ制御装置
JPH10116228A (ja) * 1996-09-12 1998-05-06 Internatl Business Mach Corp <Ibm> 情報処理システム用の中央処理ユニット、単一のキャッシュ・ラインに対する複数のキャッシュ・ミスを処理するための方法、及び情報処理システム
JPH10133943A (ja) * 1996-10-18 1998-05-22 Hewlett Packard Co <Hp> リンクリスト形成方法
JP2002082832A (ja) * 2000-09-08 2002-03-22 Nec Corp キャッシュ更新方法及びキャッシュ更新制御システム並びに記録媒体
JP2007226641A (ja) * 2006-02-24 2007-09-06 Nec Corp 情報処理装置、キャッシュ制御方法及びプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09218823A (ja) * 1996-02-08 1997-08-19 Hitachi Ltd キャッシュメモリ制御装置
JPH10116228A (ja) * 1996-09-12 1998-05-06 Internatl Business Mach Corp <Ibm> 情報処理システム用の中央処理ユニット、単一のキャッシュ・ラインに対する複数のキャッシュ・ミスを処理するための方法、及び情報処理システム
JPH10133943A (ja) * 1996-10-18 1998-05-22 Hewlett Packard Co <Hp> リンクリスト形成方法
JP2002082832A (ja) * 2000-09-08 2002-03-22 Nec Corp キャッシュ更新方法及びキャッシュ更新制御システム並びに記録媒体
JP2007226641A (ja) * 2006-02-24 2007-09-06 Nec Corp 情報処理装置、キャッシュ制御方法及びプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010146084A (ja) * 2008-12-16 2010-07-01 Toshiba Corp キャッシュメモリ制御部を備えるデータ処理装置
JP5500274B1 (ja) * 2013-01-08 2014-05-21 日本電気株式会社 キャッシュメモリ、キャッシュメモリの検索方法、情報処理装置、およびプログラム
CN109478163A (zh) * 2016-07-15 2019-03-15 超威半导体公司 用于在高速缓存条目处标识存储器访问请求的待决的系统和方法
JP2019525327A (ja) * 2016-07-15 2019-09-05 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated キャッシュエントリでメモリアクセス要求のペンデンシを識別するシステム及び方法
JP7264806B2 (ja) 2016-07-15 2023-04-25 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド キャッシュエントリでメモリアクセス要求のペンデンシを識別するシステム及び方法
CN109478163B (zh) * 2016-07-15 2024-03-26 超威半导体公司 用于在高速缓存条目处标识存储器访问请求的待决的系统和方法

Also Published As

Publication number Publication date
JP4867451B2 (ja) 2012-02-01

Similar Documents

Publication Publication Date Title
US9720839B2 (en) Systems and methods for supporting a plurality of load and store accesses of a cache
JP6916751B2 (ja) ハイブリッドメモリーモジュール及びその動作方法
JP5366802B2 (ja) 仮想化されたトランザクショナルメモリのグローバルオーバーフロー方法
JP4520790B2 (ja) 情報処理装置およびソフトウェアプリフェッチ制御方法
JP5065298B2 (ja) 効率的なメモリ階層管理
US20070130237A1 (en) Transient cache storage
US10083126B2 (en) Apparatus and method for avoiding conflicting entries in a storage structure
US20070050592A1 (en) Method and apparatus for accessing misaligned data streams
JP2017505492A (ja) 目標メモリ・アドレスに対応するメモリ属性ユニットの領域を特定するための領域特定演算
JP4574712B2 (ja) 演算処理装置、情報処理装置及び制御方法
JP2008530656A (ja) データ転送中にキャッシュへのアクセスを制限するシステムおよびその方法
JP7096840B2 (ja) 能力メタデータを管理するための装置及び方法
KR102346255B1 (ko) 조건부 메모리 액세스 프로그램 명령에 대한 허가 제어
JP5625809B2 (ja) 演算処理装置、情報処理装置及び制御方法
US20130111183A1 (en) Address translation apparatus, address translation method, and calculation apparatus
CN110291507B (zh) 用于提供对存储器系统的加速访问的方法和装置
US8555001B2 (en) Cache memory, including miss status/information and a method using the same
JP5318197B2 (ja) ホストデータ処理装置内におけるデバイスエミュレーションのサポート
US7451274B2 (en) Memory control device, move-in buffer control method
JP4867451B2 (ja) キャッシュメモリ装置及びそれに用いるキャッシュメモリ制御方法並びにそのプログラム
JP2006040140A (ja) 情報処理装置及びマルチヒット制御方法
JP2007272681A (ja) キャッシュメモリ装置及びそのキャッシュラインの入れ替え方法
JP5500274B1 (ja) キャッシュメモリ、キャッシュメモリの検索方法、情報処理装置、およびプログラム
US8423719B2 (en) Apparatus, processor and method of controlling cache memory
US20180157493A1 (en) Reduced stack usage in a multithreaded processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090311

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111006

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111018

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111031

R150 Certificate of patent or registration of utility model

Ref document number: 4867451

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141125

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees