JPH09128293A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH09128293A JPH09128293A JP7280836A JP28083695A JPH09128293A JP H09128293 A JPH09128293 A JP H09128293A JP 7280836 A JP7280836 A JP 7280836A JP 28083695 A JP28083695 A JP 28083695A JP H09128293 A JPH09128293 A JP H09128293A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- cache
- data
- information processing
- processing apparatus
- 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
- 238000012546 transfer Methods 0.000 claims abstract description 33
- 230000010365 information processing Effects 0.000 claims description 47
- 238000012545 processing Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 12
- 238000007796 conventional method Methods 0.000 description 7
- 238000000034 method Methods 0.000 description 3
- 230000001788 irregular Effects 0.000 description 2
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
-
- 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/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- 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/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30047—Prefetch instructions; cache control instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6028—Prefetching based on hints or prefetch instructions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
Abstract
理装置の性能の向上を効果的に図る。 【解決手段】 情報処理装置は、少なくとも、1次キャ
ッシュ22と2次キャッシュ23とを備えて構成され
る。ソフトウェアプリフェッチ命令の中に、オペランド
データを転送するキャッシュ階層、オペランドデータの
転送量、または、その両方を指示することのできる指示
ビットが設けられる。ブロックデータまたはラインデー
タの転送時、前述のソフトウェアプリフェッチ命令内の
指示ビットに基づいて、所要のデータをキャッシュに転
送する。本発明は、これにより、ソフトウェアプリフェ
ッチ命令を効果的に用いて、情報処理装置の性能向上を
図ることができる。
Description
シュを有する情報処理装置に係り、特に、演算に使用す
るオペランドデータを予め主記憶からキャッシュに転送
しておくことにより、キャッシュミスによるオーバヘッ
ドを隠すことができるようにしたソフトウェアプリフェ
ッチ命令を備えた情報処理装置に関する。
置は、命令により参照したオペランドがキャッシュに存
在しない場合、すなわち、キャッシュミスが生じた場
合、前記オペランドを主記憶から読み出して使用してい
る。通常、この読み出しには、キャッシュアクセスの数
倍から数十倍の時間を要する。このため、この種の情報
処理装置は、キャッシュミスが生じると、オペランドが
主記憶から読み出されるまでの間、後続命令の実行を待
たせることになり、実行時間が長くなってその性能が抑
えられてしまうという問題点を有している。
として、予め将来用いるオペランドデータを主記憶から
キャッシュに転送し、そのオペランドデータを用いると
きにはキャッシュヒットとなるようにして、キャッシュ
ミスのペナルティを抑えるようにした技術が知られてお
り、これを実現するためのソフトウェアプリフェッチ命
令に関する研究がなされ、様々な情報処理装置で使用さ
れている。
来技術として、例えば、論文 Callahan,D.,Kennedy,K.
Porterfield,A.,“Software Prefetching," Proceeding
s ofthe 4th International Conference on Architectu
ral Support for Programming Languages and Operatin
g Systems,April 1991,pp.40-52等に記載された技術が
知られている。
ソフトウェアプリフェッチ命令の動作を図面により説明
する。
例を示すブロック図、図6はソフトウェアプリフェッチ
の有無による処理動作を説明するタイムチャートであ
る。図5において、21はCPU(中央処理装置)、2
2は1次キャッシュ、24はSCU(記憶制御装置)、
25は主記憶である。
を持つ情報処理装置の例であり、この情報処理装置は、
情報の処理を行うCPU21と、1次キャッシャ22
と、主記憶25と、主記憶25に対する情報の書き込
み、読み出しを制御するSCU24とにより構成されて
いる。この情報処理装置において、CPU21は、オペ
ランドデータを参照する際1次キャッシュ22を検索
し、キャッシュミスの場合SCU24に対して、リクエ
スト線201、アドレス線202を介して該オペランド
データの転送要求を発行する。SCU24は、主記憶2
5から該オペランドデータを読み出し、そのデータをデ
ータ線204を介してCPU21に転送する。CPU2
1は、受け取ったオペランドデータを1次キャッシュ2
2に格納すると共に演算のために使用する。
F(命令フェッチ)、D(デコード)、E(実行)、A
(オペランドアクセス)、W(レジスタ書き込み)の5
段のパイプラインステージにより処理されるものとし
て、図5に示す情報処理装置の動作を説明する。
いて、命令0〜命令3が順次パイプラインに投入されて
処理が行われ、ソフトウェアプリフェッチを行わない場
合のタイムチャートが図6(a)に示されている。
命令1のオペランドアクセスでキャッシュミスが生じた
としている。この場合、命令1の処理は、オペランドア
クセスを行うAステージで、主記憶からオペランドが読
み出されるまでの間待たされることになり、命令1のW
ステージの処理は、それまで実行されずに待たされるこ
とになる。これに伴い、命令2、3のA、Eステージ及
び以降の命令処理が待たされることになるため、キャッ
シュミスにより主記憶からオペランドを読み出すために
要する時間の全てがペナルティとして表れてしまう。
トウェアプリフェッチを行う場合の例であり、この場
合、ロード命令である命令1の実行に対して、オペラン
ドを主記憶から転送するに要する時間だけ先立って、命
令1’として示すソフトウェアプリフェッチ命令を実行
する。この結果、命令1’によるソフトウェアプリフェ
ッチによってオペランドが主記憶から転送される間、パ
イプラインステージは、処理を中断することなく先に進
み、命令1’に続く命令2、命令3の処理が実行され
る。そして、命令1がオペランドデータをアクセスする
時点では、この命令1が必要とするオペランドデータ
は、ソフトウェアプリフェッチ命令である命令1’によ
り1次キャッシュ22に格納されていることになり、キ
ャッシャヒットとなる。これにより、キャッシュミスに
よるペナルティを隠すことができる。
構成例を示すブロック図、図8はソフトウェアプリフェ
ッチが行われる場合の処理動作を説明するタイムチャー
トである。図7において、23は2次キャッシュであ
り、他の符号は図5の場合と同一である。
を持つ情報処理装置の構成例であり、この情報処理装置
は、CPU21内に1次キャッシュ22を内蔵し、2次
キャッシュ23を備えて構成される点で図5に示す従来
技術と相違し、その他の点で同一である。
は、オペランドデータを参照する際、まず、1次キャッ
シュ22を検索し、1次キャッシュ22がキャッシュミ
スの場合、2次キャッシュ23を検索する。2次キャッ
シュ23がヒットであれば、2次キャッシュ23から1
次キャッシュ22へオペランドデータが転送される。以
降の説明において、この転送をブロック転送、転送され
るオペランドデータをブロックと呼ぶこととする。
ると、SCU24は、主記憶25からそのオペランドデ
ータを読み出してCPU21に転送する。以降の説明に
おいて、この転送をライン転送、転送されるデータをラ
インと呼ぶこととする。通常、ブロックのデータ量はラ
インのデータ量より小さく、ライン転送の際に2次キャ
ッシュ23にはラインのデータが格納され、1次キャッ
シュ22には参照された1ブロックのデータのみが格納
される。
による命令の処理が、IF(命令フェッチ)、D(デコ
ード)、E(実行)、A(オペランドアクセス)、W
(レジスタ書き込み)の5段のパイプラインステージに
より処理されるものとして、図7に示す情報処理装置の
動作を説明する。
いて、命令0〜命令3が順次パイプラインに投入されて
処理が行われる場合の処理が図8に示されている。図8
(a)は1次キャッシュミスを防止するためのソフトウ
ェアプリフェッチ命令を実行する場合のタイムチャー
ト、図8(b)は1次キャッシュミス、2次キャッシュ
ミスの両方を防止するためのソフトウェアプリフェッチ
命令を実行する場合のタイムチャートである。
ュミスによるペナルティサイクル数は、それらの間に相
当に大きな差異がある。例えば、前者が4〜5サイク
ル、後者が30〜40サイクル程度である。従って、前
述した2階層キャッシュ構成の情報処理装置において、
オペランドデータの1次キャッシュミスを避けるための
ソフトウェアプリフェッチ命令の実行は、実際にオペラ
ンドデータを参照する命令の少なくとも5サイクル以上
前に行われればよいが、2次キャッシュミスを避けるた
めのソフトウェアプリフェッチ命令の実行は、実際にオ
ペランドデータを参照する命令の少なくとも40サイク
ル以上前に行う必要がある。すなわち、前述した従来技
術は、1次キャッシュミスを避けるか、2次キャッシュ
ミスを避けるかによって、ソフトウェアプリフェッチ命
令と実際にオペランドデータを参照する命令との間隔を
分けなければならない。
キャッシュ構成を有する従来技術による情報処理装置
は、オペランドデータがどの階層のキャッシュにヒット
するかによりソフトウェアプリフェッチ命令を実行する
時期を変える必要がある。このため、前述の従来技術
は、コンパイラがソフトウェアプリフェッチ命令を生成
しようとする際の制御が複雑になり、ソフトウェアプリ
フェッチ命令の効果を十分に生かすことが困難になると
いう問題点が生じる。
象となる連続領域に配置された配列データのアドレス関
係を示す図、図10はソフトウェアプリフェッチ命令を
用いて図9に示すように配列されているオペランドデー
タを転送する場合の動作を説明するタイムチャートであ
る。
イズが32Bであり、ラインサイズが128Bであり、
また、ブロック転送には4サイクル、ライン転送には4
0サイクルを要するものとして、前述の従来技術の問題
点を説明する。
る例として、最も一般的な連続領域に配置されている配
列A[i](i=0、1、2、……)を順番に参照する
場合を考える。配列A[i]の個々のデータサイズを8
Bとすると、ライン、ブロックのアドレス関係は図9に
示すようになる。
は、全て1次、2次キャッシュともにキャッシュミスと
なったとする。この場合、まず、A[0]のデータを主
記憶からライン転送するため、A[0]のデータを参照
する命令の40サイクル前にソフトウェアプリフェッチ
命令が実行される。この実行により、1ブロック相当の
32Bのデータ、すなわち、A[0]からA[3]まで
のデータが1次キャッシュヒットになる。同様に、ライ
ン相当の128Bのデータ、すなわち、A[0]からA
[15]までのデータが2次キャッシュヒットになる。
[1]からA[3]のデータの参照は、すでにこれらの
データが1次キャッシュ22に存在するため、ソフトウ
ェアプリフェッチ命令を必要としない。しかし、A
[4]のデータを必要とする場合、A[4]のデータ
は、2次キャッシュにのみ存在するので、2次キャッシ
ュからブロック転送を行うため、A[4]のデータを参
照する命令の4サイクル前にソフトウェアプリフェッチ
命令が実行される。この実行により、1ブロック相当の
32Bのデータ、すなわち、A[4]からA[7]まで
のデータが1次キャッシュヒットになる。A[8]以降
のデータの参照は、前述と同様なソフトウェアプリフェ
ッチ命令の発行を繰り返えすことにより可能となる。前
述の動作のタイムチャートを示したのが図10である。
すでに説明したように、ソフトウェアプリフェッチ命令
の実行間隔は一定でなく、不規則なものになっている。
この理由は、主記憶からライン転送を行うためのソフト
ウェアプリフェッチ命令と、2次キャッシュからブロッ
ク転送を行うためのソフトウェアプリフェッチ命令との
実行間隔が一致していないためである。
対するアクセスおよび演算は、極めて規則的な繰り返し
であるため、通常、分岐命令によるループで構成される
命令列により実行される。ソフトウェアプリフェッチ命
令の実行間隔が不規則であると、これらのソフトウェア
プリフェッチ命令をループに組み込むことが困難とな
る。また、ライン転送かブロック転送かを判断するため
の命令が必要になり、このため、命令数の増加を招きソ
フトウェアプリフェッチ命令による処理装置の性能の向
上が妨げられることになる。さらに、1ループでライン
全てのデータを扱うようにした場合でも、同様に命令数
の増加になりソフトウェアプリフェッチ命令による処理
装置の性能の向上が妨げられる。
点を解決し、2階層以上のキャッシュ構成を有する情報
処理装置において、コンパイラが命令列を生成しやすい
ソフトウェアプリフェッチ命令を提供し、キャッシュミ
スによる性能の低下を効果的に抑えることができ、これ
により、性能の向上が図られた情報処理装置を提供する
ことにある。
は、演算で用いるオペランドデータを演算の実行に先立
って、予め主記憶からキャッシュに転送するソフトウェ
アプリフェッチ命令を備えた情報処理装置において、前
記ソフトウェアプリフェッチ命令のオペランドコードま
たはオペランドアドレスに、プリフェッチ動作の内容を
指示する1または複数の指示ビットを設け、プリフェッ
チ動作時、前記指示ビットの内容に基づいて、データの
プリフェッチを行うようにすることにより達成される。
階層のキャッシュを有する情報処理装置であり、前記指
示ビットにより指示される内容が、プリフェッチするキ
ャッシュの階層の指定、プリフェッチするオペランドの
データ量の指定、または、その両方であり、あるいは、
主記憶から2次キャッシュへある量のオペランドデータ
の転送を行うとき、該オペランドデータを同じ量だけ1
次キャッシュへもプリフェッチする指示、または、ソフ
トウェアプリフェッチでない通常のキャッシュアクセス
を行う命令により転送されるデータ量の整数倍を転送す
る指示とすることにより達成される。
有する情報処理装置において、コンパイラが命令を生成
するとき、前記指示ビットを用いて、転送を行うキャッ
シュの階層または転送するデータサイズを明示的に指定
することができるので、規則的にソフトウェアプリフェ
ッチ命令を生成することが可能となる。このため、本発
明は、命令列が、配列データのアクセス、配列データの
演算のように命令のループで構成される場合に、アドレ
ス関係を判定する命令等を生成する必要をなくすことが
できる。
ランドデータに対するアクセスを行う場合、1個のソフ
トウェアプリフェッチ命令により、一度に複数ラインの
データを転送することができるので、ソフトウェアプリ
フェッチ命令の数を減らすことが可能となる。
ャと従来技術のセットアーキテクチャとの互換性を容易
に実現することができる。例えば、ブロックサイズが3
2バイトの場合、ソフトウェアプリフェッチ命令のオペ
ランドアドレスの下位5ビットは、アドレスとして用い
られることはない。この5ビットを使用して前述した指
示を行うようにすれば、命令セットのアーキテクチャを
拡張することなく、互換性を保つことができる。
リフェッチ命令を有効に用いることができ、これによ
り、情報処理装置の性能の向上を図ることができる。
の一実施形態を図面により詳細に説明する。
トウェアプリフェッチ命令のオペランドアドレスのフォ
ーマットを示す図、図2は本発明の一実施形態による情
報処理装置の構成例を示すブロック図、図3はソフトウ
ェアプリフェッチ命令のオペランドアドレス中の指示ビ
ットにより指示される動作を説明する図、図4は本発明
の一実施形態によるソフトウェアプリフェッチ命令動作
を説明するタイムチャートである。図2における符号は
図7の場合と同一である。
て、2次キャッシュから1次キャッシュに転送するデー
タのブロックサイズは32Bであり、主記憶から2次キ
ャッシュに転送するデータのラインサイズは128Bで
あるとする。図1に示すソフトウェアプリフェッチ命令
のオペランドアドレスのフォーマットにおいて、オペラ
ンドアドレスは、ブロックサイズが32Bであることよ
り、オペランドアドレスの下位5ビットがソフトウェア
プリフェッチ命令では不要である。このため、本発明の
一実施形態では、この下位5ビットを、プリフェッチ動
作の内容を指示するビット(以下、PFビットという)
として用いる。
トウェアプリフェッチ動作との対応の例が図3に示され
ており、以下、これについて説明する。
いことを示す。このとき、ソフトウェアプリフェッチ
は、従来技術の場合と同様に実行される。この指示は従
来技術との互換性を保ちたい場合に有効である。
ドレスで示されるラインの全てを1次キャッシュ22に
プリフェッチすることを示す。2次キャッシュヒットの
場合、1ライン分128B、すなわち、4ブロックを1
次キャッシュ22に転送する。2次キャッシュミスの場
合、主記憶25から当該ラインをライン転送し、1次お
よび2次キャッシュに格納することを示す。
ドレスで示されるブロックを2次キャッシュ23から1
次キャッシュ22へブロック転送することを示す。2次
キャッシュミスの場合、主記憶から当該ラインのライン
転送は行わない。
ドレスで示されるラインを主記憶25から2次キャッシ
ュ23のみへ転送することを示す。すなわち、2次キャ
ッシュミスの場合、主記憶25から当該ラインを2次キ
ャッシュにライン転送する。1次キャッシュ22へは転
送しない。
ドレスで示されるラインを含むアラインされた512
B、すなわち、4ラインを主記憶から2次キャッシュの
みへ転送することを示す。
る情報処理装置におけるソフトウェアプリフェッチ命令
の動作を説明する。図示本発明が適用される情報処理装
置は、2階層のキャッシュ構成を有する情報処理装置で
あり、図7に示す従来技術の場合と同一の構成を有す
る。
ェッチ命令が実行され、該命令のPFビットの値が1で
あるとする。この場合、CPU21は、オペランドアド
レスにより2次キャッシュ23を検索し、2次キャッシ
ュヒットであれば、2次キャッシュ23よりオペランド
アドレスで示される1ライン128Bのデータを1次キ
ャッシュ22へ転送する。また、2次キャッシュ23が
ミスであれば、CPU21は、リクエスト線201、ア
ドレス線202、PFビット線203を介してライン転
送要求をSCU24へ送出する。SCU24は、主記憶
25より1ライン128Bのデータを読み出し、そのデ
ータをデータ線204を介してCPU21へ転送する。
CPU21は、受け取ったオペランドデータ128Bを
2次キャッシュへ格納すると共に、1次キャッシュ22
へも128Bの全てのデータを格納する。
タの全てを1つのソフトウェアプリフェッチ命令により
1次キャッシュ22にプリフェッチすることができる。
合、CPU21は、オペランドアドレスにより2次キャ
ッシュ23を検索し、2次キャッシュヒットであれば、
2次キャッシュ23よりオペランドアドレスで示される
1ブロック32Bのデータを1次キャッシュ22へ転送
する。また、2次キャッシュ23がミスであれば、CP
U21は、何も動作を起こさない。すなわち、この場
合、CPU21は、SCU24へはライン転送要求を送
らない。
へプリフェッチされているオペランドデータを1次キャ
ッシュ22へブロック転送することができる。
合、CPU21は、オペランドアドレスにより2次キャ
ッシュ23を検索し、2次キャッシュヒットであれば、
CPU21は何も動作を起こさない。すなわち、この場
合、2次キャッシュ23から1次キャッシュ22へのデ
ータの転送は行わない。また、2次キャッシュ23がミ
スであれば、CPU21は、リクエスト線201、アド
レス線202、PFビット線204を介してライン転送
要求をSCU24へ送出する。SCU24は、これによ
り、主記憶25より1ライン128Bのデータを読み出
し、このデータをデータ線204を介してCPU21へ
転送する。CPU21は、受け取ったオペランドデータ
128Bを2次キャッシュへ格納する。この場合、1次
キャッシュへの格納は行わない。
与えることなく、主記憶25から2次キャッシュ23へ
データをプリフェッチすることができる。
合、CPU21は、リクエスト線201、アドレス線2
02、PFビット線203を介しライン転送要求をSC
U24へ送出する。SCU24は、これにより、主記憶
25より4ライン分の合計512Bのデータを読み出
し、このデータをデータ線204を介してCPU21へ
転送する。CPU21は、受け取ったオペランドデータ
512Bを2次キャッシュ23へ格納する。この場合、
1次キャッシュへの格納は行わない。
スを行う命令により転送されるデータ量の4倍(4倍に
限らず整数倍であればよい)の4ライン分の512Bの
データの全てを、1つのソフトウェアプリフェッチ命令
により1次キャッシュに影響を与えることなく、主記憶
25から2次キャッシュ23へプリフェッチすることが
できる。
て、CPU21がSCU24に対し4回ライン転送要求
を発行するようにして、512Bのデータを2次キャッ
シュ23へ格納することもできる。これにより、SCU
24の設計を全く変更することなく、本発明によるソフ
トウェアプリフェッチを実現することができる。
ウェアプリフェッチの動作のタイムチャートが図4に示
されている。この例では、ブロック転送に4サイクル、
ライン転送に40サイクルを要するものとしている。
る例として、従来技術において説明した最も一般的な連
続領域に配置されている配列A[i](i=0、1、
2、……)を順番に参照する場合を例とし、配列A
[i]の個々のデータサイズを8Bとすると、ライン、
ブロックのアドレス関係は、すでに説明した図9に示す
ようになる。
チ命令内のPFビットの値を1として、1ライン128
Bのデータを1次キャッシュ22にプリフェッチする場
合のタイムチャートである。この場合、128B、すな
わち配列データを16個アクセスする度にその40サイ
クル前にソフトウェアプリフェッチ命令を発行すればよ
いことになる。
アプリフェッチ命令内のPFビットを命令のオペランド
アドレスの使用しないビットに設けるとし、また、PF
ビットによる指示内容をその5種類について例示して説
明したが、本発明は、PFビットを命令のオペランドコ
ードの使用しないビットに設けるようにすることもで
き、また、指示内容をさらに多種類とすることもでき
る。
のキャッシュを備える情報処理装置に本発明を適用した
ものとして説明したが、本発明は、さらに多層のキャッ
シュを備える情報処理装置に対しても適用することがで
きる。
フトウェアプリフェッチ命令の中で、データを転送する
キャッシュの階層を明示的に指示することができ、ま
た、ソフトウェアプリフェッチ命令を規則的な間隔で発
行することができるので、コンパイラにとって命令コー
ドを生成しやすく、アドレスを判定するための余分な分
岐命令も不要とすることができる。
フェッチ命令の中で、転送するデータ量をライン、ブロ
ックの整数倍に指定することができるので、大量のデー
タを少ない数のソフトウェアプリフェッチ命令により転
送することができる。さらに、本発明によれば、ソフト
ウェアプリフェッチ命令の中の従来のオペランドコード
で未使用であった部分、または、オペランドアドレスの
下位の未使用である部分に、前述の指示ビットを設ける
ことができるので、従来技術の場合とのアーキテクチャ
上の互換性を保つことができる。
アプリフェッチ命令による情報処理装置の性能の向上を
効果的に図ることができる。
リフェッチ命令のオペランドアドレスのフォーマットを
示す図である。
例を示すブロック図である。
ドレス中の指示ビットにより指示される動作を説明する
図である。
ェッチ命令動作を説明するタイムチャートである。
ロック図である。
作を説明するタイムチャートである。
すブロック図である。
作を説明するタイムチャートである。
続領域に配置された配列データのアドレス関係を示す図
である。
に示すオペランドデータを転送する場合の動作を説明す
るタイムチャートである。
Claims (4)
- 【請求項1】 演算で用いるオペランドデータを演算の
実行に先立って、予め主記憶からキャッシュに転送する
ソフトウェアプリフェッチ命令を備えた情報処理装置に
おいて、前記ソフトウェアプリフェッチ命令のオペラン
ドコードまたはオペランドアドレスに、プリフェッチ動
作の内容を指示する1または複数の指示ビットを設け、
プリフェッチ動作時、前記指示ビットの内容に基づい
て、データのプリフェッチを行うことを特徴とする情報
処理装置。 - 【請求項2】 前記情報処理装置が2階層のキャッシュ
を有する情報処理装置であり、前記指示ビットにより指
示される内容が、プリフェッチするキャッシュの階層の
指定、プリフェッチするオペランドのデータ量の指定、
または、その両方であることを特徴とする請求項1記載
の情報処理装置。 - 【請求項3】 前記情報処理装置が2階層のキャッシュ
を有する情報処理装置であり、前記指示ビットにより指
示される内容が、主記憶から2次キャッシュへある量の
オペランドデータの転送を行うとき、該オペランドデー
タを同じ量だけ1次キャッシュへもプリフェッチする指
示であることを特徴とする請求項1記載の情報処理装
置。 - 【請求項4】 前記情報処理装置が2階層のキャッシュ
を有する情報処理装置であり、前記指示ビットにより指
示される内容が、ソフトウェアプリフェッチでない通常
のキャッシュアクセスを行う命令により転送されるデー
タ量の整数倍を転送する指示であることを特徴とする請
求項1記載の情報処理装置。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28083695A JP3717212B2 (ja) | 1995-10-27 | 1995-10-27 | 情報処理装置及び情報処理ユニット |
US08/738,912 US6131145A (en) | 1995-10-27 | 1996-10-28 | Information processing unit and method for controlling a hierarchical cache utilizing indicator bits to control content of prefetching operations |
US09/609,376 US6381679B1 (en) | 1995-10-27 | 2000-07-03 | Information processing system with prefetch instructions having indicator bits specifying cache levels for prefetching |
US10/086,724 US6598126B2 (en) | 1995-10-27 | 2002-03-04 | Processing device which prefetches instructions having indicator bits specifying cache levels for prefetching |
US10/086,736 US6598127B2 (en) | 1995-10-27 | 2002-03-04 | Information processing system with prefetch instructions having indicator bits specifying a quantity of operand data for prefetching |
US10/424,706 US7028159B2 (en) | 1995-10-27 | 2003-04-29 | Processing device with prefetch instructions having indicator bits specifying cache levels for prefetching |
US10/464,484 US7028160B2 (en) | 1995-10-27 | 2003-06-19 | Processing device with prefetch instructions having indicator bits specifying cache levels for prefetching |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28083695A JP3717212B2 (ja) | 1995-10-27 | 1995-10-27 | 情報処理装置及び情報処理ユニット |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002309609A Division JP3718667B2 (ja) | 2002-10-24 | 2002-10-24 | 情報処理装置及び情報処理ユニット |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09128293A true JPH09128293A (ja) | 1997-05-16 |
JP3717212B2 JP3717212B2 (ja) | 2005-11-16 |
Family
ID=17630671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28083695A Expired - Fee Related JP3717212B2 (ja) | 1995-10-27 | 1995-10-27 | 情報処理装置及び情報処理ユニット |
Country Status (2)
Country | Link |
---|---|
US (6) | US6131145A (ja) |
JP (1) | JP3717212B2 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000267901A (ja) * | 1999-03-16 | 2000-09-29 | Toshiba Corp | ソフトウェア実行システム |
JP2002251321A (ja) * | 2001-02-21 | 2002-09-06 | Handotai Rikougaku Kenkyu Center:Kk | キャッシュメモリシステム装置 |
US6473836B1 (en) * | 1999-05-27 | 2002-10-29 | Fujitsu Limited | Computing system and cache memory control apparatus controlling prefetch in hierarchical cache memories |
WO2007099598A1 (ja) * | 2006-02-28 | 2007-09-07 | Fujitsu Limited | プリフェッチ機能を有するプロセッサ |
JP2010176692A (ja) * | 2010-03-15 | 2010-08-12 | Fujitsu Ltd | 演算処理装置、情報処理装置及び制御方法 |
JP2014016812A (ja) * | 2012-07-09 | 2014-01-30 | Fujitsu Ltd | メモリ装置、演算処理装置、及びキャッシュメモリの制御方法 |
Families Citing this family (102)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7301541B2 (en) | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
JP3717212B2 (ja) * | 1995-10-27 | 2005-11-16 | 株式会社日立製作所 | 情報処理装置及び情報処理ユニット |
KR19990049284A (ko) * | 1997-12-12 | 1999-07-05 | 구본준 | 데이터 프로그램 장치 |
US6088789A (en) * | 1998-05-13 | 2000-07-11 | Advanced Micro Devices, Inc. | Prefetch instruction specifying destination functional unit and read/write access mode |
ATE467171T1 (de) * | 1998-08-24 | 2010-05-15 | Microunity Systems Eng | System mit breiter operandenarchitektur und verfahren |
US7932911B2 (en) * | 1998-08-24 | 2011-04-26 | Microunity Systems Engineering, Inc. | Processor for executing switch and translate instructions requiring wide operands |
US6421763B1 (en) | 1999-06-30 | 2002-07-16 | International Business Machines Corporation | Method for instruction extensions for a tightly coupled speculative request unit |
US6496921B1 (en) | 1999-06-30 | 2002-12-17 | International Business Machines Corporation | Layered speculative request unit with instruction optimized and storage hierarchy optimized partitions |
US6360299B1 (en) | 1999-06-30 | 2002-03-19 | International Business Machines Corporation | Extended cache state with prefetched stream ID information |
US6421762B1 (en) * | 1999-06-30 | 2002-07-16 | International Business Machines Corporation | Cache allocation policy based on speculative request history |
US6532521B1 (en) | 1999-06-30 | 2003-03-11 | International Business Machines Corporation | Mechanism for high performance transfer of speculative request data between levels of cache hierarchy |
US6393528B1 (en) | 1999-06-30 | 2002-05-21 | International Business Machines Corporation | Optimized cache allocation algorithm for multiple speculative requests |
US6510494B1 (en) | 1999-06-30 | 2003-01-21 | International Business Machines Corporation | Time based mechanism for cached speculative data deallocation |
US6574712B1 (en) * | 1999-11-08 | 2003-06-03 | International Business Machines Corporation | Software prefetch system and method for predetermining amount of streamed data |
US6460115B1 (en) * | 1999-11-08 | 2002-10-01 | International Business Machines Corporation | System and method for prefetching data to multiple levels of cache including selectively using a software hint to override a hardware prefetch mechanism |
US6446167B1 (en) * | 1999-11-08 | 2002-09-03 | International Business Machines Corporation | Cache prefetching of L2 and L3 |
US6782469B1 (en) | 2000-09-29 | 2004-08-24 | Intel Corporation | Runtime critical load/data ordering |
US6662273B1 (en) | 2000-09-29 | 2003-12-09 | Intel Corporation | Least critical used replacement with critical cache |
US6760816B1 (en) * | 2000-09-29 | 2004-07-06 | Intel Corporation | Critical loads guided data prefetching |
US8171266B2 (en) * | 2001-08-02 | 2012-05-01 | Hewlett-Packard Development Company, L.P. | Look-ahead load pre-fetch in a processor |
US7260704B2 (en) | 2001-11-30 | 2007-08-21 | Intel Corporation | Method and apparatus for reinforcing a prefetch chain |
US6675280B2 (en) | 2001-11-30 | 2004-01-06 | Intel Corporation | Method and apparatus for identifying candidate virtual addresses in a content-aware prefetcher |
US6954840B2 (en) | 2001-11-30 | 2005-10-11 | Intel Corporation | Method and apparatus for content-aware prefetching |
US7093077B2 (en) | 2001-11-30 | 2006-08-15 | Intel Corporation | Method and apparatus for next-line prefetching from a predicted memory address |
US7167954B2 (en) * | 2002-09-09 | 2007-01-23 | Broadcom Corporation | System and method for caching |
TW576977B (en) * | 2002-09-11 | 2004-02-21 | Sunplus Technology Co Ltd | Structure and method for planning control commands and data access |
JP3973597B2 (ja) * | 2003-05-14 | 2007-09-12 | 株式会社ソニー・コンピュータエンタテインメント | プリフェッチ命令制御方法、プリフェッチ命令制御装置、キャッシュメモリ制御装置、オブジェクトコードの生成方法および装置 |
US7380059B2 (en) | 2003-05-16 | 2008-05-27 | Pillar Data Systems, Inc. | Methods and systems of cache memory management and snapshot operations |
US20050071821A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus to autonomically select instructions for selective counting |
US7395527B2 (en) * | 2003-09-30 | 2008-07-01 | International Business Machines Corporation | Method and apparatus for counting instruction execution and data accesses |
US20050071611A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus for counting data accesses and instruction executions that exceed a threshold |
US7373637B2 (en) * | 2003-09-30 | 2008-05-13 | International Business Machines Corporation | Method and apparatus for counting instruction and memory location ranges |
US7937691B2 (en) | 2003-09-30 | 2011-05-03 | International Business Machines Corporation | Method and apparatus for counting execution of specific instructions and accesses to specific data locations |
US8381037B2 (en) * | 2003-10-09 | 2013-02-19 | International Business Machines Corporation | Method and system for autonomic execution path selection in an application |
US7421681B2 (en) * | 2003-10-09 | 2008-09-02 | International Business Machines Corporation | Method and system for autonomic monitoring of semaphore operation in an application |
US7635358B2 (en) * | 2003-10-15 | 2009-12-22 | Boston Scientific Scimed, Inc. | Medical device having anti-microbial properties and a false lumen and method of making the same |
US7162584B2 (en) * | 2003-12-29 | 2007-01-09 | Intel Corporation | Mechanism to include hints within compressed data |
US7496908B2 (en) | 2004-01-14 | 2009-02-24 | International Business Machines Corporation | Method and apparatus for optimizing code execution using annotated trace information having performance indicator and counter information |
US7895382B2 (en) * | 2004-01-14 | 2011-02-22 | International Business Machines Corporation | Method and apparatus for qualifying collection of performance monitoring events by types of interrupt when interrupt occurs |
US20050155018A1 (en) * | 2004-01-14 | 2005-07-14 | International Business Machines Corporation | Method and apparatus for generating interrupts based on arithmetic combinations of performance counter values |
US7197586B2 (en) * | 2004-01-14 | 2007-03-27 | International Business Machines Corporation | Method and system for recording events of an interrupt using pre-interrupt handler and post-interrupt handler |
US7526757B2 (en) * | 2004-01-14 | 2009-04-28 | International Business Machines Corporation | Method and apparatus for maintaining performance monitoring structures in a page table for use in monitoring performance of a computer program |
US7415705B2 (en) | 2004-01-14 | 2008-08-19 | International Business Machines Corporation | Autonomic method and apparatus for hardware assist for patching code |
US7107384B1 (en) | 2004-03-01 | 2006-09-12 | Pericom Semiconductor Corp. | Dynamic PCI-bus pre-fetch with separate counters for commands of commands of different data-transfer lengths |
US7987453B2 (en) * | 2004-03-18 | 2011-07-26 | International Business Machines Corporation | Method and apparatus for determining computer program flows autonomically using hardware assisted thread stack tracking and cataloged symbolic data |
US7526616B2 (en) * | 2004-03-22 | 2009-04-28 | International Business Machines Corporation | Method and apparatus for prefetching data from a data structure |
US7421684B2 (en) | 2004-03-22 | 2008-09-02 | International Business Machines Corporation | Method and apparatus for autonomic test case feedback using hardware assistance for data coverage |
US20050210450A1 (en) * | 2004-03-22 | 2005-09-22 | Dimpsey Robert T | Method and appartus for hardware assistance for data access coverage |
US8135915B2 (en) * | 2004-03-22 | 2012-03-13 | International Business Machines Corporation | Method and apparatus for hardware assistance for prefetching a pointer to a data structure identified by a prefetch indicator |
US7299319B2 (en) * | 2004-03-22 | 2007-11-20 | International Business Machines Corporation | Method and apparatus for providing hardware assistance for code coverage |
US7296130B2 (en) * | 2004-03-22 | 2007-11-13 | International Business Machines Corporation | Method and apparatus for providing hardware assistance for data access coverage on dynamically allocated data |
US7480899B2 (en) * | 2004-03-22 | 2009-01-20 | International Business Machines Corporation | Method and apparatus for autonomic test case feedback using hardware assistance for code coverage |
US7383418B2 (en) * | 2004-09-01 | 2008-06-03 | Intel Corporation | Method and apparatus for prefetching data to a lower level cache memory |
US7716424B2 (en) * | 2004-11-16 | 2010-05-11 | International Business Machines Corporation | Victim prefetching in a cache hierarchy |
CN100527099C (zh) * | 2005-02-15 | 2009-08-12 | 皇家飞利浦电子股份有限公司 | 用于提高数据处理设备的存储单元的性能的装置和方法 |
US20060224832A1 (en) * | 2005-04-01 | 2006-10-05 | Kimming So | System and method for performing a prefetch operation |
US7472225B2 (en) * | 2005-06-20 | 2008-12-30 | Arm Limited | Caching data |
KR100833178B1 (ko) * | 2005-08-26 | 2008-05-28 | 삼성전자주식회사 | 캐시 메모리에 저장되는 블록개수를 제어할 수 있는 캐시메모리 시스템 및 동작 방법 |
US7984241B2 (en) * | 2005-09-16 | 2011-07-19 | Hewlett-Packard Development Company, L.P. | Controlling processor access to cache memory |
US7934054B1 (en) | 2005-11-15 | 2011-04-26 | Oracle America, Inc. | Re-fetching cache memory enabling alternative operational modes |
US7873788B1 (en) * | 2005-11-15 | 2011-01-18 | Oracle America, Inc. | Re-fetching cache memory having coherent re-fetching |
US7958312B2 (en) * | 2005-11-15 | 2011-06-07 | Oracle America, Inc. | Small and power-efficient cache that can provide data for background DMA devices while the processor is in a low-power state |
US7516274B2 (en) * | 2005-11-15 | 2009-04-07 | Sun Microsystems, Inc. | Power conservation via DRAM access reduction |
US7899990B2 (en) * | 2005-11-15 | 2011-03-01 | Oracle America, Inc. | Power conservation via DRAM access |
US7506132B2 (en) * | 2005-12-22 | 2009-03-17 | International Business Machines Corporation | Validity of address ranges used in semi-synchronous memory copy operations |
US7454585B2 (en) | 2005-12-22 | 2008-11-18 | International Business Machines Corporation | Efficient and flexible memory copy operation |
US7484062B2 (en) * | 2005-12-22 | 2009-01-27 | International Business Machines Corporation | Cache injection semi-synchronous memory copy operation |
US7917701B2 (en) * | 2007-03-12 | 2011-03-29 | Arm Limited | Cache circuitry, data processing apparatus and method for prefetching data by selecting one of a first prefetch linefill operation and a second prefetch linefill operation |
US8250304B2 (en) * | 2007-12-03 | 2012-08-21 | International Business Machines Corporation | Cache memory device and system with set and group limited priority and casting management of I/O type data injection |
US8117401B2 (en) * | 2008-02-01 | 2012-02-14 | International Business Machines Corporation | Interconnect operation indicating acceptability of partial data delivery |
US8108619B2 (en) * | 2008-02-01 | 2012-01-31 | International Business Machines Corporation | Cache management for partial cache line operations |
US8250307B2 (en) * | 2008-02-01 | 2012-08-21 | International Business Machines Corporation | Sourcing differing amounts of prefetch data in response to data prefetch requests |
US8266381B2 (en) * | 2008-02-01 | 2012-09-11 | International Business Machines Corporation | Varying an amount of data retrieved from memory based upon an instruction hint |
US20090198910A1 (en) * | 2008-02-01 | 2009-08-06 | Arimilli Ravi K | Data processing system, processor and method that support a touch of a partial cache line of data |
US8140771B2 (en) * | 2008-02-01 | 2012-03-20 | International Business Machines Corporation | Partial cache line storage-modifying operation based upon a hint |
US8255635B2 (en) * | 2008-02-01 | 2012-08-28 | International Business Machines Corporation | Claiming coherency ownership of a partial cache line of data |
US8146064B2 (en) * | 2008-04-04 | 2012-03-27 | International Business Machines Corporation | Dynamically controlling a prefetching range of a software controlled cache |
US8055849B2 (en) * | 2008-04-04 | 2011-11-08 | International Business Machines Corporation | Reducing cache pollution of a software controlled cache |
US8239841B2 (en) | 2008-04-04 | 2012-08-07 | International Business Machines Corporation | Prefetching irregular data references for software controlled caches |
US8347037B2 (en) * | 2008-10-22 | 2013-01-01 | International Business Machines Corporation | Victim cache replacement |
US8209489B2 (en) | 2008-10-22 | 2012-06-26 | International Business Machines Corporation | Victim cache prefetching |
US8458439B2 (en) * | 2008-12-16 | 2013-06-04 | International Business Machines Corporation | Block driven computation using a caching policy specified in an operand data structure |
US8225045B2 (en) * | 2008-12-16 | 2012-07-17 | International Business Machines Corporation | Lateral cache-to-cache cast-in |
US8499124B2 (en) * | 2008-12-16 | 2013-07-30 | International Business Machines Corporation | Handling castout cache lines in a victim cache |
US8117397B2 (en) * | 2008-12-16 | 2012-02-14 | International Business Machines Corporation | Victim cache line selection |
US8489819B2 (en) * | 2008-12-19 | 2013-07-16 | International Business Machines Corporation | Victim cache lateral castout targeting |
US8949540B2 (en) * | 2009-03-11 | 2015-02-03 | International Business Machines Corporation | Lateral castout (LCO) of victim cache line in data-invalid state |
US8285939B2 (en) * | 2009-04-08 | 2012-10-09 | International Business Machines Corporation | Lateral castout target selection |
US8327073B2 (en) * | 2009-04-09 | 2012-12-04 | International Business Machines Corporation | Empirically based dynamic control of acceptance of victim cache lateral castouts |
US8312220B2 (en) * | 2009-04-09 | 2012-11-13 | International Business Machines Corporation | Mode-based castout destination selection |
US8347036B2 (en) * | 2009-04-09 | 2013-01-01 | International Business Machines Corporation | Empirically based dynamic control of transmission of victim cache lateral castouts |
US8117390B2 (en) * | 2009-04-15 | 2012-02-14 | International Business Machines Corporation | Updating partial cache lines in a data processing system |
US8176254B2 (en) * | 2009-04-16 | 2012-05-08 | International Business Machines Corporation | Specifying an access hint for prefetching limited use data in a cache hierarchy |
US8140759B2 (en) * | 2009-04-16 | 2012-03-20 | International Business Machines Corporation | Specifying an access hint for prefetching partial cache block data in a cache hierarchy |
US9189403B2 (en) * | 2009-12-30 | 2015-11-17 | International Business Machines Corporation | Selective cache-to-cache lateral castouts |
EP2690561A4 (en) * | 2011-03-22 | 2014-12-31 | Fujitsu Ltd | PROCESSING UNIT, INFORMATION PROCESSING DEVICE, AND PROCESSING UNIT CONTROL METHOD |
US9201796B2 (en) * | 2012-09-27 | 2015-12-01 | Apple Inc. | System cache with speculative read engine |
US10599433B2 (en) * | 2013-07-15 | 2020-03-24 | Texas Instruments Incorported | Cache management operations using streaming engine |
US10606596B2 (en) | 2013-07-15 | 2020-03-31 | Texas Instruments Incorporated | Cache preload operations using streaming engine |
US9785565B2 (en) | 2014-06-30 | 2017-10-10 | Microunity Systems Engineering, Inc. | System and methods for expandably wide processor instructions |
US20170123796A1 (en) * | 2015-10-29 | 2017-05-04 | Intel Corporation | Instruction and logic to prefetch information from a persistent memory |
WO2018205117A1 (zh) * | 2017-05-08 | 2018-11-15 | 华为技术有限公司 | 一种多核系统内存访问方法、相关装置、系统及存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5146578A (en) * | 1989-05-01 | 1992-09-08 | Zenith Data Systems Corporation | Method of varying the amount of data prefetched to a cache memory in dependence on the history of data requests |
US5287467A (en) * | 1991-04-18 | 1994-02-15 | International Business Machines Corporation | Pipeline for removing and concurrently executing two or more branch instructions in synchronization with other instructions executing in the execution unit |
EP0551090B1 (en) * | 1992-01-06 | 1999-08-04 | Hitachi, Ltd. | Computer having a parallel operating capability |
US5689679A (en) * | 1993-04-28 | 1997-11-18 | Digital Equipment Corporation | Memory system and method for selective multi-level caching using a cache level code |
US5652858A (en) * | 1994-06-06 | 1997-07-29 | Hitachi, Ltd. | Method for prefetching pointer-type data structure and information processing apparatus therefor |
US5732242A (en) * | 1995-03-24 | 1998-03-24 | Silicon Graphics, Inc. | Consistently specifying way destinations through prefetching hints |
US5758119A (en) * | 1995-08-23 | 1998-05-26 | International Business Machines Corp. | System and method for indicating that a processor has prefetched data into a primary cache and not into a secondary cache |
US5740399A (en) * | 1995-08-23 | 1998-04-14 | International Business Machines Corporation | Modified L1/L2 cache inclusion for aggressive prefetch |
JP3717212B2 (ja) | 1995-10-27 | 2005-11-16 | 株式会社日立製作所 | 情報処理装置及び情報処理ユニット |
-
1995
- 1995-10-27 JP JP28083695A patent/JP3717212B2/ja not_active Expired - Fee Related
-
1996
- 1996-10-28 US US08/738,912 patent/US6131145A/en not_active Expired - Fee Related
-
2000
- 2000-07-03 US US09/609,376 patent/US6381679B1/en not_active Expired - Fee Related
-
2002
- 2002-03-04 US US10/086,724 patent/US6598126B2/en not_active Expired - Fee Related
- 2002-03-04 US US10/086,736 patent/US6598127B2/en not_active Expired - Fee Related
-
2003
- 2003-04-29 US US10/424,706 patent/US7028159B2/en not_active Expired - Fee Related
- 2003-06-19 US US10/464,484 patent/US7028160B2/en not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000267901A (ja) * | 1999-03-16 | 2000-09-29 | Toshiba Corp | ソフトウェア実行システム |
US6473836B1 (en) * | 1999-05-27 | 2002-10-29 | Fujitsu Limited | Computing system and cache memory control apparatus controlling prefetch in hierarchical cache memories |
JP2002251321A (ja) * | 2001-02-21 | 2002-09-06 | Handotai Rikougaku Kenkyu Center:Kk | キャッシュメモリシステム装置 |
KR100917491B1 (ko) * | 2001-02-21 | 2009-09-16 | 가부시키가이샤 한도다이 리코가쿠 겐큐 센터 | 캐시 메모리 시스템 |
WO2007099598A1 (ja) * | 2006-02-28 | 2007-09-07 | Fujitsu Limited | プリフェッチ機能を有するプロセッサ |
JPWO2007099598A1 (ja) * | 2006-02-28 | 2009-07-16 | 富士通株式会社 | プリフェッチ機能を有するプロセッサ |
JP4574712B2 (ja) * | 2006-02-28 | 2010-11-04 | 富士通株式会社 | 演算処理装置、情報処理装置及び制御方法 |
US8074029B2 (en) | 2006-02-28 | 2011-12-06 | Fujitsu Limited | Processor equipped with a pre-fetch function and pre-fetch control method |
JP2010176692A (ja) * | 2010-03-15 | 2010-08-12 | Fujitsu Ltd | 演算処理装置、情報処理装置及び制御方法 |
JP2014016812A (ja) * | 2012-07-09 | 2014-01-30 | Fujitsu Ltd | メモリ装置、演算処理装置、及びキャッシュメモリの制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US7028160B2 (en) | 2006-04-11 |
US20020083273A1 (en) | 2002-06-27 |
US20030208659A1 (en) | 2003-11-06 |
US6131145A (en) | 2000-10-10 |
US7028159B2 (en) | 2006-04-11 |
US6598126B2 (en) | 2003-07-22 |
US20030196045A1 (en) | 2003-10-16 |
US6598127B2 (en) | 2003-07-22 |
US6381679B1 (en) | 2002-04-30 |
US20020083272A1 (en) | 2002-06-27 |
JP3717212B2 (ja) | 2005-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3717212B2 (ja) | 情報処理装置及び情報処理ユニット | |
US4583165A (en) | Apparatus and method for controlling storage access in a multilevel storage system | |
JP3512678B2 (ja) | キャッシュメモリ制御装置および計算機システム | |
EP0439025B1 (en) | A data processor having a deferred cache load | |
JP3618385B2 (ja) | データをバッファリングする方法およびそのシステム | |
JP3548616B2 (ja) | 情報処理装置 | |
US6321326B1 (en) | Prefetch instruction specifying destination functional unit and read/write access mode | |
JP3739491B2 (ja) | プリフェッチ命令を用いるハーバードアーキテクチャキャッシュメモリの調和したソフトウェア制御 | |
JP4218820B2 (ja) | ダイレクトマップドキャッシュとフルアソシアティブバッファとを含んだキャッシュシステム、その制御方法及び記録媒体 | |
US6892280B2 (en) | Multiprocessor system having distributed shared memory and instruction scheduling method used in the same system | |
JP2596712B2 (ja) | 近接した分岐命令を含む命令の実行を管理するシステム及び方法 | |
KR19990037572A (ko) | 뱅크 어드레스 값을 공급하는 다중 소스를 구비하는 프로세서구조 설계 및 그 설계방법 | |
JPH06318174A (ja) | キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法 | |
JPH06202951A (ja) | キャッシュ・メモリ・システム | |
JPH0410102B2 (ja) | ||
JP2000515276A (ja) | スーパースカラマイクロプロセッサのための非ブロッキングロードを実現するロード/ストアユニットおよびロード/ストアバッファから非ブロッキング的にロードを選択する方法 | |
JP3718667B2 (ja) | 情報処理装置及び情報処理ユニット | |
KR19990087830A (ko) | 컴퓨터 장치, 컴파일러 방법 및 다중 캐시 라인 사전적재방법 | |
US5933856A (en) | System and method for processing of memory data and communication system comprising such system | |
JP4796580B2 (ja) | フェッチ・バーストを用いて情報をキャッシュ・モジュールに与える装置及び方法 | |
JPH08161226A (ja) | データ先読み制御方法,キャッシュ制御装置およびデータ処理装置 | |
JPH11249959A (ja) | キャッシュメモリ制御方法および装置 | |
JPH01193938A (ja) | 命令先読み装置 | |
JPH08286914A (ja) | メモリ制御装置 | |
JP2006139646A (ja) | データ転送装置およびデータ転送方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050531 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050801 |
|
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: 20050823 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050830 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080909 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090909 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090909 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100909 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100909 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110909 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120909 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |