JP2010191638A - キャッシュ装置 - Google Patents
キャッシュ装置 Download PDFInfo
- Publication number
- JP2010191638A JP2010191638A JP2009034588A JP2009034588A JP2010191638A JP 2010191638 A JP2010191638 A JP 2010191638A JP 2009034588 A JP2009034588 A JP 2009034588A JP 2009034588 A JP2009034588 A JP 2009034588A JP 2010191638 A JP2010191638 A JP 2010191638A
- Authority
- JP
- Japan
- Prior art keywords
- data
- cache
- line
- cache memory
- buffer
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【解決手段】キャッシュ装置12は、CPU11とキャッシュメモリ21との間にライトバッファ22a,22bを有する。制御回路26は、CPU11からのアクセス要求に基づいて、キャッシュミスが発生した場合には、CPU11の出力データをライトバッファ22a,22bに格納するとともに、アクセス要求に対応するデータを含むラインのデータをメインメモリからデータを読み出してキャッシュメモリ21に書き込む。そして、制御回路26は、ライトバッファ22a,22bに格納したデータをキャッシュメモリ21に転送する。
【選択図】図2
Description
図1に示すように、コンピュータシステムは、処理装置としてのCPU11、キャッシュ装置12、メモリコントローラ13、主記憶装置としてのメインメモリ14を含む。CPU11とキャッシュ装置12はバスB1を介して接続され、キャッシュ装置12とメモリコントローラ13はバスB2を介して接続され、メモリコントローラ13とメインメモリ14はバスB3を介して接続されている。バスB1は、CPU11とキャッシュ装置12との間でデータの授受を行うために必要な1又は複数の制御信号を伝達する配線からなる制御バス、複数ビットのアドレス信号を伝達する配線からなるアドレスバス、複数ビットのデータを伝達する配線からなるデータバスを含む。同様に、バスB2,B3は、それぞれ、制御バス、アドレスバス、データバスを含む。以下、CPU11とキャッシュ装置12との間のバスをCPUバスといい、キャッシュ装置12とメインメモリ14との間のバスをメモリバスという。
図2に示すように、キャッシュ装置12は、キャッシュメモリ21、複数(本実施形態では2つ)のライトバッファ(WB)22a,22b、リードバッファ(RB)23、ライトバックバッファ(WBB)24、タグメモリ(タグ)25、制御回路26を有している。なお、カッコ内は図中の表記を示す。
キャッシュメモリ21とCPU11との間には、ライトバッファ22a,22b及びリードバッファ23が接続されている。ライトバッファ22a,22b及びリードバッファ23は、1ラインのデータを記憶可能な容量(例えば、32バイト)のバッファメモリである。ライトバッファ22a,22b及びリードバッファ23は、内部バスIB1及びCPUバスB1を介してCPU11と接続されている。また、ライトバッファ22a,22b及びリードバッファ23は、内部バスIB2を介してキャッシュメモリ21と接続されている。
図3に示すように、タグメモリ25は、管理領域31とタグ領域32を含む。管理領域31には、総ライン数、使用ライン数、先頭ポインタ、末尾ポインタが格納されている。尚、カッコ内の文字は、図3におけるキャッシュメモリ21の状態を示す値である。図3には、説明を理解し易くするために、10個のラインL0〜L9を記憶可能なキャッシュメモリ21と、28個のラインM0〜M27に区分されたメインメモリ14を示している。メインメモリ14において、ハッチングを付したラインM3,M7,M9,M12,M15は、アクセス要求に応答してデータを読み出したラインを示している。そして、図中の矢印は、キャッシュメモリ21のラインL0,L1,L2,L3,L4,L5に、メインメモリ14のラインM3,M12,M7,M15,M9のデータが格納されていることを示す。
先ず、アクセス要求がライトアクセスの場合を説明する。
制御回路26は、制御信号Sccに基づいて、CPU11からのアクセス要求がライトアクセスと判断すると、2つのライトバッファ22a,22bのうちの何れか一方を選択し、CPU11に対してデータライトを許可する。その許可に応答してCPU11は、ライトするデータを出力する。例えば、ライトバッファ22aを選択した場合、図4(a)に示すように、ライトバッファ22aはCPU11から出力されたライトデータを格納する。これにより、CPU11における書き込み要求及びライトデータの書き込みが終了する。つまり、ライトバッファ22a,22bにライトデータを書き込むことにより、CPU11に対するライトアクセスの処理が終了する。従って、ライトアクセスを出力してからライトバッファ22aにライトデータを格納するまでの時間が、CPU11のライトアクセスに対する応答時間となる。
図7(a)〜(c)は、ライトアクセスする3つのデータD1,D2,D3のアドレスが、1ラインのアドレス範囲を超える場合の動作を示す。データD1に対する書き込み動作を実線細線矢印で示し、データD2に対する書き込み動作を実線太線矢印で示し、データD3に対する書き込み動作を一点鎖線矢印で示している。
先ず、図1に示すCPU11は、データD1のライトアクセスを出力する。図2に示す制御回路26は、第1のライトバッファ22a(WB0)を選択してデータD1に対するアクセスを許可するとともに、そのデータD1のアドレスに対応するラインのデータのアクセス要求をメモリコントローラ13に出力する。従って、データD1をライトバッファ22aに書き込む処理(CPU→WB0)と、メインメモリ14をアクセスしてデータをキャッシュメモリ21に書き込む処理(RAM→CM)とを並列に実行する。
このキャッシュ装置は、データD1に対するライトアクセスに応答してメインメモリからキャッシュメモリに該当するラインのデータを転送した後、CPUにアクセスを許可することで、CPUからキャッシュメモリにデータD1が書き込まれる。データD2,D3に対しても同様の動作を行う。
図2に示すリードバッファ23は、連続したリードアクセスのアドレスが、キャッシュメモリ21の1つのラインに格納したデータのアドレス範囲内のときにアクセス速度を向上する。
キャッシュメモリ21の各ラインに格納されたデータは、CPU11が実行する処理に使用される。そして、ラインに格納されたデータは、CPU11が実行する処理に応じて、書き換えられる場合がある。この場合、キャッシュメモリ21に格納されたラインのデータと、メインメモリ14に格納されたデータが相違する。このように、データが相違するラインのデータをダーティなデータといい、このラインをダーティライン(又はダーティエントリ)と呼ぶ。メインメモリ14のデータと、キャッシュメモリ21のデータとが一致するように、キャッシュメモリ21のデータをメインメモリ14の該当するアドレスに書き込む必要がある。このキャッシュメモリ21のデータをメインメモリ14に格納する動作をライトバックという。
即ち、図11に示すように、CPU11からアクセス要求(例えばライトアクセス)が出力され、キャッシュミスが発生すると、制御回路26は、アクセス要求のアドレスに基づいてリード要求をメモリコントローラ13に出力する。そして、制御回路26は、キャッシュメモリ21のラインLb(図10参照)のデータをライトバックバッファ24に転送する(CM→WBB)。つまり、キャッシュ装置12は、図11に示すように、メインメモリ14からデータを読み出してキャッシュメモリ21に格納する動作の一部と、キャッシュメモリ21のデータをライトバックバッファ24に転送する動作を同時に行う。そして、ラインLbのデータをライトバックバッファ24に転送することにより、ラインLbにデータを書き込むことが可能となる。
(1)キャッシュ装置12は、CPU11とキャッシュメモリ21との間にライトバッファ22a,22bを有する。制御回路26は、CPU11から出力されるデータをライトバッファ22a,22bに格納するライト動作と、キャッシュミスによりメインメモリ14からデータを読み出してキャッシュメモリ21に書き込むメモリリード動作とを同時に行う。その結果、CPU11のライトアクセスは、ライトバッファ22a,22bにデータを格納することで終了するため、CPU11に対する応答時間が短くなり、高速なアクセスを可能とすることができる。
・上記実施形態では、ライトバックバッファ24により、ライトバック動作におけるアクセス速度を高速化するようにしたが、その他の構成により、アクセス速度を高速化するようにしてもよい。
上記したように、図2に示す制御回路26は、キャッシュメモリ21の各ラインを循環的に使用している。制御回路26は、図3に示す管理領域31に、キャッシュメモリ21の総ライン数、有効なデータを格納したライン数を示す使用ライン数、最新のデータを格納したラインを示す先頭ポインタ、現時点で最も使用していないデータを格納したラインを示す末尾ポインタを格納している。また、制御回路26は、図3に示すタグ領域32に、各ラインに対応する変更ビット32cと有効ビット32dを格納している。制御回路26は、これらの情報に基づいて、使用可能なラインが無くなったときに、ライトバック動作を実行する。
制御回路26は、ラウンドロビン方式によりキャッシュメモリ21のラインを使用し、使用状況を図3に示す管理領域31の情報により管理する。上記したように、制御回路26は、図13(a)に示すように、メインメモリ14から読み出してラインLcにデータを書き込み、そのラインLcを有効化する。従って、全てのラインにデータを書き込むと、全てのラインLa〜Ldが有効となる。この時、管理領域31の情報、即ち末尾ポインタが示すラインLdに格納したデータが、最も長い間使用されなかったデータである。
本実施形態のキャッシュ装置12は、アクセス要求によりキャッシュミスが発生すると、メインメモリ14をアクセスしてデータをキャッシュメモリ21に格納する(RAM→CM)。そして、CPU11から出力されるデータをキャッシュメモリ21に格納し(CPU→CM)、次のラインのデータをキャッシュメモリ21からメインメモリ14にライトバックする(CM→RAM)。CPU11に対する応答時間は、CPU11がアクセス要求を出力してから、CPU11から出力されるデータをキャッシュメモリ21に格納するまでの期間となる。
[使用するラインがラインL0の場合]
<1−1>ラインL0のリード、ラインL0のライト。
<1−2>ラインL1のリード、ラインL1のライト。
[使用するラインがラインL1の場合]
<2−1>ラインL1のリード、ラインL1のライト。
<2−2>ラインL2のリード、ラインL2のライト。
[使用するラインがラインL0の場合]
<3−1>ラインL1のリード、ラインL0のライト。
<3−2>ラインL2のリード、ラインL1のライト。
[使用するラインがラインL1の場合]
<4−1>ラインL2のリード、ラインL1のライト。
<4−2>ラインL3のリード、ラインL2のライト。
・上記実施形態のキャッシュ装置12は、ライトバッファ22a,22bとリードバッファ23とを含む構成としたが、リードライト可能な複数のバッファを含む構成としてもよい。また、キャッシュ装置が含む各バッファの数を適宜変更してもよい。
上記各実施形態に関し、以下の付記を開示する。
(付記1)
処理装置と記憶装置との間に介在されるキャッシュ装置であって、
前記記憶装置のデータを記憶するキャッシュメモリと、
前記処理装置から出力される出力データを保持するバッファと、
前記記憶装置に対するアクセス要求に基づいてキャッシュ判定をし、キャッシュミスの場合には前記アクセス要求に対応して前記出力データを前記バッファに保持し、前記アクセス要求により要求されたデータを含むラインのデータを前記記憶装置から読み出すためのリード要求を出力し、前記記憶装置の前記ラインから出力されたデータを前記キャッシュメモリに格納し、前記バッファに保持してある前記出力データを前記キャッシュメモリに格納させる制御回路と
を有することを特徴とするキャッシュ装置。
(付記2)
前記キャッシュメモリは、複数のラインを含み、各ラインは前記出力データの容量のn倍(nは2以上の整数)に設定され、前記ラインに前記記憶装置のデータを記憶し、
前記バッファは、少なくとも前記キャッシュメモリの1ライン分の記憶容量に設定されてなること、
を特徴とする付記1記載のキャッシュ装置。
(付記3)
前記バッファは複数設けられ、
前記出力データのアドレスが前記ラインのアドレス範囲を超える場合に前記データを格納する前記バッファに切り替えること
を特徴とする付記1又は2記載のキャッシュ装置。
(付記4)
前記バッファから前記キャッシュメモリに前記出力データを転送する転送量は前記ラインの容量値と等しく設定され、
前記アクセス要求がライトアクセスの場合に、そのライトアクセスにより発生するキャッシュミスに対する前記記憶装置からのデータリードをキャンセルすること、
を特徴とする付記1〜3のうちの何れか1項に記載のキャッシュ装置。
(付記5)
処理装置と記憶装置との間に介在されるキャッシュ装置であって、
前記記憶装置のデータを記憶するキャッシュメモリと、
前記キャッシュメモリから前記処理装置に出力される入力データを保持する第1バッファと、を有すること
を特徴とするキャッシュ装置。
(付記6)
前記キャッシュメモリから前記処理装置に対して入力データを直接出力する経路を有し、
前記キャッシュメモリから前記第1バッファに1ライン分のデータを転送する際に、前記アクセス要求に対応するデータを前記第1バッファに格納するとともに前記処理装置に出力させる、
を特徴とする付記5記載のキャッシュ装置。
(付記7)
前記処理装置から出力される出力データを保持する第2バッファを有し、
前記アクセス要求により前記第2バッファに前記ライトデータを格納する場合に、該出力データのアドレスが前記第1バッファのアドレス範囲内の場合には前記出力データを前記第2バッファに格納すること、
を特徴とする付記5又は6記載のキャッシュ装置。
(付記8)
処理装置と記憶装置との間に介在されるキャッシュ装置であって、
前記記憶装置のデータを記憶するキャッシュメモリと、
前記キャッシュメモリから前記記憶装置にライトバックするデータを保持するバッファと、
を有し、
前記記憶装置に対するリード要求を出力し、前記キャッシュメモリからライトバックするデータを前記バッファに転送し、前記記憶装置から読み出したデータを前記キャッシュメモリに格納すること、
を特徴とするキャッシュ装置。
(付記9)
処理装置と記憶装置との間に介在されるキャッシュ装置であって、
前記記憶装置のデータを記憶するキャッシュメモリを有し、
前記キャッシュメモリは複数のラインを含み、複数の前記ラインを順次使用して前記記憶装置のデータを格納し、
前記記憶装置のデータを格納可能なラインを使用可能ラインとし、
前記使用可能ラインが無くなったときに、次にキャッシュミスが発生した場合に使用するラインのデータを前記記憶装置にライトバックすること、
を特徴とするキャッシュ装置。
(付記10)
各ラインのデータが有効か・無効かを管理し、前記ライトバックしたラインのデータを無効化すること、
を特徴とする付記9記載のキャッシュ装置。
(付記11)
無効化した前記ラインに対してキャッシュヒットした場合には当該ラインを有効化するとともに、次にキャッシュミスが発生したときに使用するラインのデータを前記記憶装置にライトバックすること、
を特徴とする付記10記載のキャッシュ装置。
(付記12)
各ラインのデータが有効か・無効かを管理し、前記ライトバックしたラインのデータを有効のままとすること、
を特徴とする付記9記載のキャッシュ装置。
(付記13)
処理装置から出力される出力データを保持するバッファと、
前記バッファが出力する前記出力データを記憶するキャッシュメモリと、
前記キャッシュメモリの第1ラインに対応する第1データが前記バッファに格納されている場合に前記キャッシュメモリにおける前記第1ラインとは異なる第2ラインに対応する第2のデータのキャッシュ判定においてキャッシュミスと判定されると、記憶装置に前記第2データに対応するリード要求の発行以降に前記第1データの前記第1ラインへの書き込みを開始させる制御回路と、
を有することを特徴とするキャッシュ装置。
12 キャッシュ装置
14 メインメモリ(記憶装置)
21 キャッシュメモリ
22a,22b ライトバッファ
23 リードバッファ
24 ライトバックバッファ
25 タグメモリ
26 制御回路
Claims (9)
- 処理装置と記憶装置との間に介在されるキャッシュ装置であって、
前記記憶装置のデータを記憶するキャッシュメモリと、
前記処理装置から出力される出力データを保持するバッファと、
前記記憶装置に対するアクセス要求に基づいてキャッシュ判定をし、キャッシュミスの場合には前記アクセス要求に対応して前記出力データを前記バッファに保持し、前記アクセス要求により要求されたデータを含むラインのデータを前記記憶装置から読み出すためのリード要求を出力し、前記記憶装置の前記ラインから出力されたデータを前記キャッシュメモリに格納し、前記バッファに保持してある前記出力データを前記キャッシュメモリに格納させる制御回路と、
を有することを特徴とするキャッシュ装置。 - 前記キャッシュメモリは、複数のラインを含み、各ラインは前記出力データの容量のn倍(nは2以上の整数)に設定され、前記ラインに前記記憶装置のデータを記憶し、
前記バッファは、少なくとも前記キャッシュメモリの1ライン分の記憶容量に設定されてなること、
を特徴とする請求項1記載のキャッシュ装置。 - 前記バッファは複数設けられ、
前記出力データのアドレスが前記ラインのアドレス範囲を超える場合に前記データを格納する前記バッファに切り替えること
を特徴とする請求項1又は2記載のキャッシュ装置。 - 前記バッファから前記キャッシュメモリに前記出力データを転送する転送量は前記ラインの容量値と等しく設定され、
前記アクセス要求がライトアクセスの場合に、そのライトアクセスにより発生するキャッシュミスに対する前記記憶装置からのデータリードをキャンセルすること、
を特徴とする請求項1〜3のうちの何れか1項に記載のキャッシュ装置。 - 処理装置と記憶装置との間に介在されるキャッシュ装置であって、
前記記憶装置のデータを記憶するキャッシュメモリと、
前記キャッシュメモリから前記処理装置に出力される入力データを保持する第1バッファと、を有すること
を特徴とするキャッシュ装置。 - 前記キャッシュメモリから前記処理装置に対して入力データを直接出力する経路を有し、
前記記憶装置に対するアクセス要求に基づいて前記キャッシュメモリから前記第1バッファに1ライン分のデータを転送する際に、前記アクセス要求に基づいて対応するデータを前記第1バッファに格納するとともに前記処理装置に出力させる、
を特徴とする請求項5記載のキャッシュ装置。 - 処理装置と記憶装置との間に介在されるキャッシュ装置であって、
前記記憶装置のデータを記憶するキャッシュメモリと、
前記キャッシュメモリから前記記憶装置にライトバックするデータを保持するバッファと、
を有し、
前記記憶装置に対するリード要求を出力し、前記キャッシュメモリからライトバックするデータを前記バッファに転送し、前記記憶装置から読み出したデータを前記キャッシュメモリに格納すること、
を特徴とするキャッシュ装置。 - 処理装置と記憶装置との間に介在されるキャッシュ装置であって、
前記記憶装置のデータを記憶するキャッシュメモリを有し、
前記キャッシュメモリは複数のラインを含み、複数の前記ラインを順次使用して前記記憶装置のデータを格納し、
前記記憶装置のデータを格納可能なラインを使用可能ラインとし、
前記使用可能ラインが無くなったときに、次にキャッシュミスが発生した場合に使用するラインのデータを前記記憶装置にライトバックすること、
を特徴とするキャッシュ装置。 - 処理装置から出力される出力データを保持するバッファと、
前記バッファが出力する前記出力データを記憶するキャッシュメモリと、
前記キャッシュメモリの第1ラインに対応する第1データが前記バッファに格納されている場合に前記キャッシュメモリにおける前記第1ラインとは異なる第2ラインに対応する第2のデータのキャッシュ判定においてキャッシュミスと判定されると、記憶装置に前記第2データに対応するリード要求の発行以降に前記第1データの前記第1ラインへの書き込みを開始させる制御回路と、
を有することを特徴とするキャッシュ装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009034588A JP5417879B2 (ja) | 2009-02-17 | 2009-02-17 | キャッシュ装置 |
US12/706,362 US8380934B2 (en) | 2009-02-17 | 2010-02-16 | Cache device |
US13/620,521 US8661198B2 (en) | 2009-02-17 | 2012-09-14 | Cache device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009034588A JP5417879B2 (ja) | 2009-02-17 | 2009-02-17 | キャッシュ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010191638A true JP2010191638A (ja) | 2010-09-02 |
JP5417879B2 JP5417879B2 (ja) | 2014-02-19 |
Family
ID=42560879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009034588A Active JP5417879B2 (ja) | 2009-02-17 | 2009-02-17 | キャッシュ装置 |
Country Status (2)
Country | Link |
---|---|
US (2) | US8380934B2 (ja) |
JP (1) | JP5417879B2 (ja) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2011018B1 (en) | 2006-04-12 | 2016-07-13 | Soft Machines, Inc. | Apparatus and method for processing an instruction matrix specifying parallel and dependent operations |
CN101627365B (zh) | 2006-11-14 | 2017-03-29 | 索夫特机械公司 | 多线程架构 |
EP2616928B1 (en) | 2010-09-17 | 2016-11-02 | Soft Machines, Inc. | Single cycle multi-branch prediction including shadow cache for early far branch prediction |
EP2689330B1 (en) | 2011-03-25 | 2022-12-21 | Intel Corporation | Register file segments for supporting code block execution by using virtual cores instantiated by partitionable engines |
TWI533129B (zh) | 2011-03-25 | 2016-05-11 | 軟體機器公司 | 使用可分割引擎實體化的虛擬核心執行指令序列程式碼區塊 |
WO2012135050A2 (en) | 2011-03-25 | 2012-10-04 | Soft Machines, Inc. | Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines |
EP2710480B1 (en) | 2011-05-20 | 2018-06-20 | Intel Corporation | An interconnect structure to support the execution of instruction sequences by a plurality of engines |
TWI666551B (zh) | 2011-05-20 | 2019-07-21 | 美商英特爾股份有限公司 | 以複數個引擎作資源與互連結構的分散式分配以支援指令序列的執行 |
KR101703401B1 (ko) | 2011-11-22 | 2017-02-06 | 소프트 머신즈, 인크. | 다중 엔진 마이크로프로세서용 가속 코드 최적화기 |
US20150039859A1 (en) | 2011-11-22 | 2015-02-05 | Soft Machines, Inc. | Microprocessor accelerated code optimizer |
RU2475822C1 (ru) * | 2011-12-08 | 2013-02-20 | Учреждение Российской академии наук Научно-исследовательский институт системных исследований РАН (НИИСИ РАН) | Подсистема памяти ядра микропроцессора |
US8930674B2 (en) | 2012-03-07 | 2015-01-06 | Soft Machines, Inc. | Systems and methods for accessing a unified translation lookaside buffer |
US9740612B2 (en) * | 2012-07-30 | 2017-08-22 | Intel Corporation | Systems and methods for maintaining the coherency of a store coalescing cache and a load cache |
US9710399B2 (en) | 2012-07-30 | 2017-07-18 | Intel Corporation | Systems and methods for flushing a cache with modified data |
US9430410B2 (en) | 2012-07-30 | 2016-08-30 | Soft Machines, Inc. | Systems and methods for supporting a plurality of load accesses of a cache in a single cycle |
US9229873B2 (en) | 2012-07-30 | 2016-01-05 | Soft Machines, Inc. | Systems and methods for supporting a plurality of load and store accesses of a cache |
US9916253B2 (en) | 2012-07-30 | 2018-03-13 | Intel Corporation | Method and apparatus for supporting a plurality of load accesses of a cache in a single cycle to maintain throughput |
US9678882B2 (en) | 2012-10-11 | 2017-06-13 | Intel Corporation | Systems and methods for non-blocking implementation of cache flush instructions |
WO2014150991A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for implementing a reduced size register view data structure in a microprocessor |
WO2014150971A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for dependency broadcasting through a block organized source view data structure |
US10275255B2 (en) | 2013-03-15 | 2019-04-30 | Intel Corporation | Method for dependency broadcasting through a source organized source view data structure |
US10140138B2 (en) | 2013-03-15 | 2018-11-27 | Intel Corporation | Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation |
US9886279B2 (en) | 2013-03-15 | 2018-02-06 | Intel Corporation | Method for populating and instruction view data structure by using register template snapshots |
KR102083390B1 (ko) | 2013-03-15 | 2020-03-02 | 인텔 코포레이션 | 네이티브 분산된 플래그 아키텍처를 이용하여 게스트 중앙 플래그 아키텍처를 에뮬레이션하는 방법 |
CN105210040B (zh) | 2013-03-15 | 2019-04-02 | 英特尔公司 | 用于执行分组成块的多线程指令的方法 |
US9811342B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for performing dual dispatch of blocks and half blocks |
US9569216B2 (en) | 2013-03-15 | 2017-02-14 | Soft Machines, Inc. | Method for populating a source view data structure by using register template snapshots |
US9904625B2 (en) | 2013-03-15 | 2018-02-27 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
WO2014150806A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for populating register view data structure by using register template snapshots |
US9891924B2 (en) | 2013-03-15 | 2018-02-13 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
KR20150009883A (ko) * | 2013-07-17 | 2015-01-27 | 삼성전자주식회사 | 캐시 메모리 시스템 및 그 동작방법 |
JP2016170682A (ja) * | 2015-03-13 | 2016-09-23 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
JP6680978B2 (ja) * | 2016-04-15 | 2020-04-15 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
US10108376B1 (en) * | 2017-05-04 | 2018-10-23 | Xilinx, Inc. | Memory initialization |
US11907572B2 (en) * | 2019-12-30 | 2024-02-20 | Micron Technology, Inc. | Interface read after write |
US11003580B1 (en) * | 2020-04-30 | 2021-05-11 | Seagate Technology Llc | Managing overlapping reads and writes in a data cache |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS53148343A (en) * | 1977-05-31 | 1978-12-23 | Fujitsu Ltd | Post store control system |
JPH01314354A (ja) * | 1988-06-13 | 1989-12-19 | Fujitsu Ltd | キャッシュメモリ制御方式 |
JPH02207351A (ja) * | 1989-02-03 | 1990-08-17 | Digital Equip Corp <Dec> | データ路の巾が予め定められたコンピュータシステムのデータ記憶レートを増加する方法及び装置 |
JPH02208763A (ja) * | 1989-02-03 | 1990-08-20 | Digital Equip Corp <Dec> | エラー修正能力を備えた書き戻しバッファ |
JPH02236748A (ja) * | 1989-03-10 | 1990-09-19 | Nec Corp | ストア・バッファ |
JPH04367953A (ja) * | 1991-06-14 | 1992-12-21 | Nec Corp | ストアバッファ制御装置 |
JPH05250258A (ja) * | 1992-03-04 | 1993-09-28 | Hitachi Ltd | キャッシュ制御方式 |
JPH07152566A (ja) * | 1993-10-18 | 1995-06-16 | Cyrix Corp | スーパーパイプライン式スーパースカラーマイクロプロセッサ用の書き込みバッファ |
JPH09114734A (ja) * | 1995-10-16 | 1997-05-02 | Hitachi Ltd | ストアバッファ装置 |
JP2006244460A (ja) * | 2005-02-01 | 2006-09-14 | Seiko Epson Corp | キャッシュメモリ及びプロセッサ |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3969009B2 (ja) * | 2001-03-29 | 2007-08-29 | 株式会社日立製作所 | ハードウェアプリフェッチシステム |
US8103832B2 (en) * | 2007-06-26 | 2012-01-24 | International Business Machines Corporation | Method and apparatus of prefetching streams of varying prefetch depth |
US8131951B2 (en) * | 2008-05-30 | 2012-03-06 | Freescale Semiconductor, Inc. | Utilization of a store buffer for error recovery on a store allocation cache miss |
US20090300291A1 (en) | 2008-06-03 | 2009-12-03 | Gerald Keith Bartley | Implementing Cache Coherency and Reduced Latency Using Multiple Controllers for Memory System |
-
2009
- 2009-02-17 JP JP2009034588A patent/JP5417879B2/ja active Active
-
2010
- 2010-02-16 US US12/706,362 patent/US8380934B2/en active Active
-
2012
- 2012-09-14 US US13/620,521 patent/US8661198B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS53148343A (en) * | 1977-05-31 | 1978-12-23 | Fujitsu Ltd | Post store control system |
JPH01314354A (ja) * | 1988-06-13 | 1989-12-19 | Fujitsu Ltd | キャッシュメモリ制御方式 |
JPH02207351A (ja) * | 1989-02-03 | 1990-08-17 | Digital Equip Corp <Dec> | データ路の巾が予め定められたコンピュータシステムのデータ記憶レートを増加する方法及び装置 |
JPH02208763A (ja) * | 1989-02-03 | 1990-08-20 | Digital Equip Corp <Dec> | エラー修正能力を備えた書き戻しバッファ |
JPH02236748A (ja) * | 1989-03-10 | 1990-09-19 | Nec Corp | ストア・バッファ |
JPH04367953A (ja) * | 1991-06-14 | 1992-12-21 | Nec Corp | ストアバッファ制御装置 |
JPH05250258A (ja) * | 1992-03-04 | 1993-09-28 | Hitachi Ltd | キャッシュ制御方式 |
JPH07152566A (ja) * | 1993-10-18 | 1995-06-16 | Cyrix Corp | スーパーパイプライン式スーパースカラーマイクロプロセッサ用の書き込みバッファ |
JPH09114734A (ja) * | 1995-10-16 | 1997-05-02 | Hitachi Ltd | ストアバッファ装置 |
JP2006244460A (ja) * | 2005-02-01 | 2006-09-14 | Seiko Epson Corp | キャッシュメモリ及びプロセッサ |
Also Published As
Publication number | Publication date |
---|---|
US20100211746A1 (en) | 2010-08-19 |
US8661198B2 (en) | 2014-02-25 |
US8380934B2 (en) | 2013-02-19 |
JP5417879B2 (ja) | 2014-02-19 |
US20130019066A1 (en) | 2013-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5417879B2 (ja) | キャッシュ装置 | |
US5530941A (en) | System and method for prefetching data from a main computer memory into a cache memory | |
US8725987B2 (en) | Cache memory system including selectively accessible pre-fetch memory for pre-fetch of variable size data | |
JP5536658B2 (ja) | バッファメモリ装置、メモリシステム及びデータ転送方法 | |
EP2430551B1 (en) | Cache coherent support for flash in a memory hierarchy | |
US20110173393A1 (en) | Cache memory, memory system, and control method therefor | |
JPH09259036A (ja) | ライトバックキャッシュおよびライトバックキャッシュ内で整合性を維持する方法 | |
US8621152B1 (en) | Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access | |
WO2010004497A1 (en) | Cache management systems and methods | |
US7761665B2 (en) | Handling of cache accesses in a data processing apparatus | |
EP0470739B1 (en) | Method for managing a cache memory system | |
US20060179173A1 (en) | Method and system for cache utilization by prefetching for multiple DMA reads | |
KR100505695B1 (ko) | 동적으로 할당 또는 해제되는 버퍼를 가지는 캐쉬 메모리장치, 이를 구비한 디지털 데이터 처리 시스템 및 그 방법 | |
US5287512A (en) | Computer memory system and method for cleaning data elements | |
US6240487B1 (en) | Integrated cache buffers | |
US6976130B2 (en) | Cache controller unit architecture and applied method | |
JP5699854B2 (ja) | 記憶制御システムおよび方法、置換方式および方法 | |
US5835945A (en) | Memory system with write buffer, prefetch and internal caches | |
US7328310B2 (en) | Method and system for cache utilization by limiting number of pending cache line requests | |
US8127082B2 (en) | Method and apparatus for allowing uninterrupted address translations while performing address translation cache invalidates and other cache operations | |
JP2004240616A (ja) | メモリコントローラ及びメモリアクセス制御方法 | |
JP2004326175A (ja) | プロセッサ、キャッシュシステム及びキャッシュメモリ | |
JP4220258B2 (ja) | ノンキャッシュ領域内高速メモリアクセス方法 | |
JPH02224161A (ja) | 高速データ処理装置 | |
JPH07152650A (ja) | キャッシュ制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111102 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130315 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130409 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130610 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130702 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130930 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20131007 |
|
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: 20131022 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131104 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5417879 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |