JP2002287959A - ロード・ストアキュー - Google Patents
ロード・ストアキューInfo
- Publication number
- JP2002287959A JP2002287959A JP2001093994A JP2001093994A JP2002287959A JP 2002287959 A JP2002287959 A JP 2002287959A JP 2001093994 A JP2001093994 A JP 2001093994A JP 2001093994 A JP2001093994 A JP 2001093994A JP 2002287959 A JP2002287959 A JP 2002287959A
- Authority
- JP
- Japan
- Prior art keywords
- store
- load
- instruction
- address
- queue
- 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
- 238000012545 processing Methods 0.000 claims abstract description 34
- 230000002123 temporal effect Effects 0.000 abstract description 23
- 238000000034 method Methods 0.000 description 8
- 238000007796 conventional method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000717 retained effect Effects 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/3834—Maintaining memory consistency
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
- Memory System (AREA)
Abstract
有するテーブルを小規模な回路により構成することが困
難であった。 【解決手段】 ストア命令のイン・オーダー・情報をイ
ン・オーダー・ステイトキュー101に格納し、ストア
・アドレス及びストア値はアドレスをインデックスとす
るテンポラル・ストアキャッシュ102に格納してい
る。このため、ロード命令とアドレスが一致するストア
命令の検索を従来に比べて高速化できる。
Description
に適用されるロード・ストアキューに関する。
つとして、アウト・オブ・オーダー(out-of-order)実
行がある。このアウト・オブ・オーダー実行は先行命令
と依存関係にない後続命令を順不同に実行する方式であ
る。
オーダー実行を行うプロセッサにおいて、アウト・オブ
・オーダーに処理されるロード・ストア命令に対して、
メモリを介したデータ依存関係を維持するために利用さ
れる。
モリアクセス命令の順番を把握し、アウト・オブ・オー
ダーに発行されるメモリアクセス命令の順序を管理す
る。したがって、アウト・オブ・オーダー実行によるメ
モリアクセスの追い越しを回避できる。
サ及びデータ・キャッシュとの関係を示している。
は、プロセッサ(プロセッサの実行機構)12と、デー
タ・キャッシュ13の間に配置されている。このロード
・ストアキュー11は、プロセッサからアウト・オブ・
オーダーに発行されるストア要求とロード要求を全て受
取り、イン・オーダー(in-order)を保証したストア命
令をデータ・キャッシュ13に書き込み、イン・オーダ
ーを保証したロード値をマルチプレクサ(MUX)14
を介してプロセッサ(プロセッサの実行ユニット)11
に返す。ロード・ストアキュー11は、アウト・オブ・
オーダーに発行されるストア命令を保持する図示せぬテ
ーブルと、アウト・オブ・オーダーに発行されるロード
命令の値を読み出し、選択する機構により構成されてい
る。
プロセッサ及びデータ・キャッシュの動作について概略
的に説明する。ロード・ストアキューの動作は次の4つ
に分けられる。
点(アウト・オブ・オーダーに処理される前)におい
て、ロード・ストアキュー11はプロセッサ12からイ
ン・オーダーにストア命令のデコード情報(21)を受
け取る。これにより、ストア命令のイン・オーダー情報
を確保する。
した時点で、ロード・ストアキュー11はプロセッサ1
2からストア要求(22)を受け取り、ロード・ストア
キュー11の中にストア命令のアドレスと値を保持す
る。この値は、ストア命令がアウト・オブ・オーダーの
状態の間、つまり、ストア命令がリタイアしてイン・オ
ーダーが確定するまで保持される。
ード要求(25)に応じて、ロード命令のアドレスを受
け取り、ロード命令を処理する。仮に、このロード命令
がロード・ストアキュー11内にあるストア値(イン・
オーダーが確定してない当該ロード命令に先行するスト
ア値)に対するものであった場合、ロード・ストアキュ
ー11の当該ロード命令の値を持つストア命令から値を
取り出す。該当するストア命令がなければデータ・キャ
ッシュ13よりロード値(26)を読み込む。
該当するロード要求(25)をデータ・キャッシュ13
とロード・ストアキュー11に対して発行する。ロード
・ストアキュー11にこのロード命令に先行するストア
値がある場合、ロード・ストアキュー11からデータが
存在する旨を示すヒット信号(28)がマルチプレクサ
14に供給される。マルチプレクサ14はヒット信号
(28)が供給された場合、ロード・ストアキュー11
からのロード値(27)を選択する。また、先行するス
トア値がなくヒット信号(28)が供給されない場合、
マルチプレクサ14は、データ・キャッシュ13からの
ロード値(26)を選択する。このようにしてマルチプ
レクサ14により選択されたロード値(29)はプロセ
ッサ12に供給される。
合、プロセッサ(プロセッサの実行機構)12からリタ
イア情報(23)が出力される。ロード・ストアキュー
11はリタイア情報(23)を受け取り、ロード・スト
アキュー11内にあるストア命令をデータ・キャッシュ
13に書き戻し(24)、ロード・ストアキュー11内
のエントリを削除する。
成を示している。従来のロード・ストアキューは、タグ
情報及びアドレスにより連想検索可能なキューとして実
装されている。
ー11は、例えば連想検索が可能なテーブル30と、キ
ューの先頭を表すポインタ31と末尾を表すポインタ3
2、複数のセレクタ33、34、35、36、比較器3
7、38、39、40及びマルチプレクサ41により構
成されている。
ついて説明する。
ストア命令のタグ情報(イン・オーダーに与えられるプ
ロセッサ内で一意な番号)を受け取り、キュー内にイン
・オーダーにエントリを確保する。
ダー情報としてストア命令のタグ情報(ストアタグ(5
1))がプロセッサから出力される。このストアタグ
(51)は、セレクタ34に供給される。
ーブル30のエントリを指定する(52)。セレクタ3
4はポインタ32により指定されたエントリにタグ情報
を供給する。このタグ情報は指定されたエントリに書き
込まれ、これとともに、バリッドが有効とされる(5
3)。
トア命令のアドレス、ストア値のエントリは空のままで
ある。また、ポインタ32が指し示すエントリは、スト
アタグ(51)の入力タイミングに応じて例えば“+
1”されて変更される。
レス、ストア値を受け取り、すでに確保されている(タ
グ情報が一致する)エントリに書き込む。
のタグ情報(ストアタグ(54))、ストア命令のアド
レス(ストア・アドレス(55))、ストア値(56)
がプロセッサから出力される。前記ストアタグ(54)
は比較器37に供給され、ストア・アドレス(55)、
ストア値(56)はセレクタ35、36にそれぞれ供給
される。
トリを検索して有効なタグを取り出す(57)。これと
ともに、テーブル30のタグエントリからストアタグ
(54)と一致するエントリを検索する(58)。この
ようにして、ストア・アドレス(55)、ストア値(5
6)の書き込み先エントリを検索する。
リ(59)にストア・アドレス(55)及びストア値
(56)を供給する。このようにして、テーブル30に
確保されているエントリにストア・アドレス(55)、
ストア値(56)が書き込まれる。
ドレスを受け取り、先行するストア命令(タグ情報によ
り検索)のうちアドレスが一致する(アドレスにより検
索)ストア命令を検索する。該当するストア命令が存在
する場合、その旨を知らせるヒット信号を出力するとと
もに、ロード値としてアドレスが一致するストア命令の
値を出力する(ストアからロードへの値のフォワーディ
ング)。
のタグ情報(ロードタグ(62))及びロード命令のア
ドレス(ロード・アドレス(63))がプロセッサより
出力される。比較器38、39はロードタグ(62)及
びロード・アドレス(63)を受け取る。
ントリを検索して有効なタグを取り出す(64)。これ
と同時に、テーブル30のタグエントリを検索すること
により、ロードタグ(62)に先行した位置にあるスト
ア命令(65)を検索する。
エントリを検索してロード・アドレス(63)と一致す
るストア命令のエントリを検索する(66)。
号に基づき、ロード命令に先行し、かつアドレスが一致
するストア命令のエントリが存在するかどうか調べる。
この結果、このようなストア命令が存在する場合、ヒッ
ト信号(67)を出力する。さらに、マルチプレクサ4
1は、比較器40の出力信号に応じて該当するエントリ
を選択し、そのエントリの値をロード値(68)として
出力する。
命令のタグ情報を受け取り、該当するストア命令のエン
トリをキューから削除する。
するストア命令のタグ情報(ストアタグ(69))がプ
ロセッサから出力される。セレクタ33はこのストアタ
グ(69)を受ける。
除すべきテーブルのエントリを指定する(70)。前記
セレクタ33はポインタ31により指定されたエントリ
にストアタグ(69)を供給する。これに応じて、テー
ブル30の指定されたエントリのストア・アドレスと値
はデータ・キャッシュに出力され(71)、そのエント
リが削除される。前記ポインタ31が指し示すエントリ
は前記ストアタグ(69)の入力タイミングに応じて例
えば“+1”され、変更される。
ロード・ストアキューは、ロード・ストアキューに対す
るストア要求処理の際、イン・オーダーに確保されたテ
ーブル30に対し、ストア命令のアドレスと値をテーブ
ル30の該当エントリに書き込む必要がある。このた
め、ストア命令のアドレスと値を書き込むエントリを検
索するために、テーブル30の全タグエントリがストア
タグに一致しているかどうかを検索して、書き込み先を
特定しなければならない。このため、検索に長時間を要
し、高速処理が困難であった。
ド要求処理の際、ロード命令に先行するストア命令を検
索するとともに、ロード命令とアドレスが一致する命令
を検索する必要がある。すなわち、従来は、先行するス
トア命令のエントリを読み出した後、その中からアドレ
スが一致するものを検索する必要がある。したがって、
ロード要求処理においても、処理の高速化が困難であっ
た。
において、ストア・アドレス、ロード・アドレスによ
り、テーブル30の全エントリを検索する必要がある。
このため、大規模なエントリを有するテーブルを構成し
ようとした場合、処理速度が低下するとともに、回路構
成が複雑化し実現が困難であった。
れたものであり、その目的とするところは、高速処理が
可能であるとともに、大規模なエントリを有するテーブ
ルを小規模な回路により構成することが可能なロード・
ストアキューを提供しようとするものである。
キューは、上記課題を解決するため、ストア命令のイン
・オーダー情報を格納する第1のテーブルと、ストア命
令のストア・アドレスとストア値を保持し、アドレスを
インデックスとして検索することが可能な第2のテーブ
ルと、ロード命令のタグ情報に応じて、前記第1のテー
ブル内に格納されたストア命令から、前記ロード命令に
先行するストア命令を検索する第1の検索手段と、前記
ロード命令のアドレスに応じて前記第2のテーブルから
読み出されたストア命令と前記第1の検索手段により検
索されたストア命令が一致した場合、一致信号を出力す
る第2の検索手段とを具備している。
て図面を参照して説明する。
ーの一実施形態を示している。
11は、ストア命令のイン・オーダー情報とストア命令
のアドレスと値を同じテーブル30により管理してい
た。これに対して、本発明のロード・ストアキューは、
ストア命令のイン・オーダー情報を格納するテーブル
と、ストア命令のアドレスと値を保持するテーブルを分
離している。
トアキュー100は、イン・オーダー・ステイトキュー
101、テンポラル・ストアキャッシュ102、ポイン
タ103、ポインタ104、セレクタ105、106、
及び比較器107、108を有している。
1は、タグにより連想検索が可能なテーブルである。イ
ン・オーダー・ステイトキュー101は、複数のタグエ
ントリと、これらタグエントリに対応されたバリッドエ
ントリを有している。但し、イン・オーダー・ステイト
キュー101の構成はこれに限定されるものではない。
このイン・オーダー・ステイトキュー101は、プロセ
ッサにより、例えばロード命令、或いはストア命令がデ
コードされた時点でエントリが確保される。
102はアドレスをインデックスとして検索することが
可能なテーブルである。このこのテンポラル・ストアキ
ャッシュ102は、複数のアドレス・エントリと、これ
らアドレス・エントリに対応されたバリッドエントリ、
タグエントリ、バリューエントリを有している。ストア
命令は、例えばアドレスが計算された時点で、ストア・
アドレスを用いてテンポラル・ストアキャッシュ102
にストア値が書き込まれる。
ステイトキュー101内の先頭、すなわち、実行中のロ
ード・ストア命令の中で最も古いものを指し示してい
る。ポインタ104は、イン・オーダー・ステイトキュ
ー101内の末尾、すなわち、実行中のロード・ストア
命令の中で最も新しいものを指し示している。前記セレ
クタ105は、例えばリタイア情報を受け、セレクタ1
06は、例えばデコード情報を受ける。
トキュー101に対応して配置されている。この比較器
107には、ロード要求処理時に、ロード命令のタグ情
報(ロードタグ)が供給される。この比較器107は、
供給されたロードタグに応じて、このロード命令に先行
するストア命令がイン・オーダー・ステイトキュー10
1内にあるかどうか検索する。この結果、先行するスト
ア命令がある場合、そのストア命令のタグ情報をターゲ
ットタグとして出力する。
ッシュ102に対応して配置されるともに、前記比較器
107に接続されている。この比較器108は、テンポ
ラル・ストアキャッシュ102内のタグを検索するとと
もに、検出したタグが比較器107から供給されるター
ゲットタグと一致するかどうかを比較する機能を有して
いる。
動作について説明する。
グ情報(ストアタグ(121))がプロセッサから出力
される。このストアタグ(121)は、セレクタ106
に供給される。
イトキュー101の末尾のエントリを示しており、この
ポインタ104により、イン・オーダー・ステイトキュ
ー101を書き込むエントリが指定される(122)。
指定されたイン・オーダー・ステイトキュー101の末
尾のエントリに、前記入力されたストアタグ(121)
を供給する。このストアタグ(121)は指定されたエ
ントリに書き込まれ、このストアタグに対応するバリッ
ドが有効とされる(123)。
タグ(121)の入力タイミングに応じて例えば“+
1”され、変更される。
アタグ(125))、ストア命令のアドレス(ストア・
アドレス(124))、ストア値(126)がプロセッ
サから出力される。
ッシュ102は、アドレスをインデックスとしてエント
リを指定することが可能なテーブルである。すなわち、
テンポラル・ストアキャッシュ102のエントリは、ス
トア・アドレス(124)をインデックスとして指定さ
れ、この指定されたエントリにストアタグ(125)、
ストア値(126)が書き込まれる。
ドタグ(127))及びロード命令のアドレス(ロード
・アドレス(128))がプロセッサより出力される。
前記ロードタグ(127)は比較器107に供給され
る。この比較器107は、このロードタグ(127)に
応じて、先行するストア命令を検索する。すなわち、比
較器107は、イン・オーダー・ステイトキュー101
のバリッドエントリを検索して有効なタグ情報を取り出
す(129)。これとともに、このタグ情報に従ってタ
グエントリを検索することにより、入力されたロードタ
グ(127)に先行する位置にあるストア命令を検索
(130)する。この検索されたストア命令はターゲッ
トタグ(131)として比較器108に供給される。
テンポラル・ストアキャッシュ102にインデックスと
して供給される。テンポラル・ストアキャッシュ102
は、インデックスとしてのロード・アドレス(128)
と一致する有効なストアタグ(132)と、これに対応
する値を読み出す。この読み出されたストアタグ(13
2)とバリッドデータ(133)は、比較器108に供
給される。
ッシュ102から供給されたストアタグ(132)が、
前記比較器107から供給されるロード命令に先行する
ストア命令のタグと一致するかどうかを比較する。この
結果、これらが一致する場合、比較器108はヒット信
号を出力(134)を出力する。これとともに、前記テ
ンポラル・ストアキャッシュ102から読み出されたス
トア値は、ロード値(135)として出力される。
るストア命令のタグ情報(ストアタグ)及びストア・ア
ドレス(136)がプロセッサから出力される。セレク
タ105はこのストアタグ及びストア・アドレス(13
6)を受ける。
イン・オーダー・ステイトキュー101のエントリを指
定する。前記セレクタ105はポインタ103により指
定されたエントリに前記ストアタグ(136)を供給す
る。これに応じて、指定されたバリッドエントリ及びタ
グエントリを削除する(137)。
ストア・アドレス(136)をインデックスとして、テ
ンポラル・ストアキャッシュ102のエントリを指定し
(138)、この指定したエントリのストア・アドレス
とストア値を図示せぬデータ・キャッシュに出力する
(139)。それとともに、そのエントリの内容を削除
する。
ストアタグ(136)の入力タイミングに応じて例えば
“+1”され、変更される。
・オーダー・情報をイン・オーダー・ステイトキュー1
01に格納し、ストア命令のアドレス及びストア値は、
アドレスをインデックスとするテンポラル・ストアキャ
ッシュ102に格納している。このため、ストア処理要
求を高速に処理できる。すなわち、従来の方式では、書
き込むエントリを検索するために、テーブルの全タグエ
ントリがストアタグに一致しているかどうかを検索し、
書き込み先を特定する必要を有していた。これに対し
て、本実施形態の場合、ストア・アドレスをインデック
スとしてテンポラル・ストアキャッシュ102を検索で
き、ストアタグの検索なしにエントリを特定できる。し
たがって、高速にストア処理を実行できる。
理において、ロード命令とアドレスが一致するストア命
令の検索を従来に比べて高速化できる。すなわち、従来
の方式では、先行するストア命令のエントリを読み出
し、この読み出したエントリの中からアドレスが一致す
るものを検索していたため処理に長時間を要していた。
これに対して、本実施形態の場合、ロード要求処理にお
いて、先行するストア命令の検索と、アドレスが一致す
るストア命令の読み出しを並行して実行でき、両者が一
致するかどうかを比較するだけでロード命令とアドレス
が一致するストア命令を検索することができる。したが
って、高速な処理が可能である。
02は、アドレスをインデックスとしてアクセスできる
ため、ストア・アドレスによりストアタグを検索するこ
となくエントリを特定できる。したがって、高速な処理
が可能である。
ード要求の際にアドレスによるエントリの全検索が必要
である。このため、ロード・ストアキューのエントリを
増やした場合処理速度が低下するため、ロード・ストア
キューのエントリを増化することが困難である。これに
対して、本実施形態の場合、テンポラル・ストアキャッ
シュ102はアドレスをインデックスとしたテーブルに
より構成されている。このため、従来のように、アドレ
スによるエントリの全検索が不要であるため、テンポラ
ル・ストアキャッシュ102の大規模化が可能であり、
規模が従来と同様であれば、従来の方式より高速化が可
能である。
ア命令のエントリを読み出し、この読み出したエントリ
の中からアドレスが一致するものを検索していた。この
ため多くの比較器を必要としていた。これに対して、本
実施形態の場合、ロード要求処理において、先行するス
トア命令をイン・オーダー・ステイトキュー101から
検索するための比較器107、及びこの比較器107か
らの出力と、テンポラル・ストアキャッシュ102から
読み出したストア命令とを比較する比較器108だけで
よい。このため、比較器の数を削減することができ回路
構成を簡単化できる利点を有している。
納するイン・オーダー・ステイトキュー101の構成
は、イン・オーダー情報が検索できるテーブルであれ
ば、どのような形でもよい。
トアキャッシュ102は、アドレスをインデックスとし
ているが、アドレス空間の広さと用意するエントリによ
って、アドレス・エントリのマッピング方法は任意に変
えてもよい。このため、テンポラル・ストアキャッシュ
102は、アドレスをインデックスとした従来の殆どの
キャッシュの構成を適用できる。
いて種々変形実施可能なことは勿論である。
高速処理が可能であるとともに、大規模なエントリを有
するテーブルを小規模な回路により構成することが可能
なロード・ストアキューを提供できる。
・キャッシュとの関係を示す構成図。
Claims (4)
- 【請求項1】 ストア命令のイン・オーダー情報を格納
する第1のテーブルと、 ストア命令のストア・アドレスとストア値を保持し、ア
ドレスをインデックスとして検索することが可能な第2
のテーブルと、 ロード命令のタグ情報に応じて、前記第1のテーブル内
に格納されたストア命令から、前記ロード命令に先行す
るストア命令を検索する第1の検索手段と、 前記ロード命令のアドレスに応じて前記第2のテーブル
から読み出されたストア命令と前記第1の検索手段によ
り検索されたストア命令が一致した場合、一致信号を出
力する第2の検索手段とを具備することを特徴とするロ
ード・ストアキュー。 - 【請求項2】 前記第1のテーブル内のキューの先頭を
示す第1のポインタと、前記第1のテーブル内のキュー
の末尾を示す第2のポインタをさらに具備することを特
徴とする請求項1記載のロード・ストアキュー。 - 【請求項3】 前記第2のテーブルは、前記ロード命令
のアドレスに応じてストア値を出力することを特徴とす
る請求項1記載のロード・ストアキュー。 - 【請求項4】 リタイアするストア命令のタグ情報に応
じて、前記第1のテーブルのエントリを削除するととも
に、前記リタイアするストア命令のアドレスに応じて前
記第2のテーブルからストア・アドレスとストア値を読
み出すリタイア処理手段をさらに具備することを特徴と
する請求項1記載のロード・ストアキュー。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001093994A JP3497832B2 (ja) | 2001-03-28 | 2001-03-28 | ロード・ストアキュー |
US10/092,989 US7058049B2 (en) | 2001-03-28 | 2002-03-08 | Load store queue applied to processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001093994A JP3497832B2 (ja) | 2001-03-28 | 2001-03-28 | ロード・ストアキュー |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002287959A true JP2002287959A (ja) | 2002-10-04 |
JP3497832B2 JP3497832B2 (ja) | 2004-02-16 |
Family
ID=18948261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001093994A Expired - Fee Related JP3497832B2 (ja) | 2001-03-28 | 2001-03-28 | ロード・ストアキュー |
Country Status (2)
Country | Link |
---|---|
US (1) | US7058049B2 (ja) |
JP (1) | JP3497832B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007527563A (ja) * | 2003-07-08 | 2007-09-27 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | インデックス付ルックアップを使用したストア−ロードフォーワード(stl)バッファ |
JP2007536626A (ja) * | 2004-05-05 | 2007-12-13 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | ロードオペレーションの投機的な結果をレジスタ値にリンクするメモリファイルを検証するためのシステムおよび方法 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8117392B2 (en) * | 2003-10-22 | 2012-02-14 | Intel Corporation | Method and apparatus for efficient ordered stores over an interconnection network |
US20060129764A1 (en) * | 2004-12-09 | 2006-06-15 | International Business Machines Corporation | Methods and apparatus for storing a command |
US7343434B2 (en) * | 2005-03-31 | 2008-03-11 | Intel Corporation | Buffer management within SLS (simple load store) apertures for inter-endpoint communication in advanced switching fabric |
US7600099B2 (en) * | 2007-03-08 | 2009-10-06 | International Business Machines Corporation | System and method for predictive early allocation of stores in a microprocessor |
US8930680B2 (en) * | 2007-12-21 | 2015-01-06 | International Business Machines Corporation | Sync-ID for multiple concurrent sync dependencies in an out-of-order store queue |
US9170962B2 (en) * | 2007-12-21 | 2015-10-27 | International Business Machines Corporation | Dynamic designation of retirement order in out-of-order store queue |
US8533438B2 (en) * | 2009-08-12 | 2013-09-10 | Via Technologies, Inc. | Store-to-load forwarding based on load/store address computation source information comparisons |
WO2013188754A1 (en) | 2012-06-15 | 2013-12-19 | Soft Machines, Inc. | A disambiguation-free out of order load store queue |
CN104823168B (zh) | 2012-06-15 | 2018-11-09 | 英特尔公司 | 用于实现从由加载存储重新排序和优化导致的推测性转发遗漏预测/错误中恢复的方法和系统 |
KR20170102576A (ko) | 2012-06-15 | 2017-09-11 | 인텔 코포레이션 | 분산된 구조를 갖는 동적 디스패치 윈도우를 가지는 가상 load store 큐 |
KR101826080B1 (ko) | 2012-06-15 | 2018-02-06 | 인텔 코포레이션 | 통합된 구조를 갖는 동적 디스패치 윈도우를 가지는 가상 load store 큐 |
KR101825585B1 (ko) | 2012-06-15 | 2018-02-05 | 인텔 코포레이션 | 명확화 없는 비순차 load store 큐를 갖는 재정렬된 투기적 명령어 시퀀스들 |
CN104583956B (zh) | 2012-06-15 | 2019-01-04 | 英特尔公司 | 用于实现加载存储重新排序和优化的指令定义 |
US11113056B2 (en) * | 2019-11-27 | 2021-09-07 | Advanced Micro Devices, Inc. | Techniques for performing store-to-load forwarding |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5467473A (en) * | 1993-01-08 | 1995-11-14 | International Business Machines Corporation | Out of order instruction load and store comparison |
EP0686912B1 (en) * | 1994-06-03 | 1998-12-16 | Motorola, Inc. | Data processor with an execution unit for performing load instructions and method of operation |
US5809275A (en) * | 1996-03-01 | 1998-09-15 | Hewlett-Packard Company | Store-to-load hazard resolution system and method for a processor that executes instructions out of order |
JPH10262063A (ja) * | 1997-03-19 | 1998-09-29 | Fujitsu Ltd | セルスイッチング方法及びセル交換システム |
US6185671B1 (en) * | 1998-03-31 | 2001-02-06 | Intel Corporation | Checking data type of operands specified by an instruction using attributes in a tagged array architecture |
US6266747B1 (en) * | 1998-10-30 | 2001-07-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for writing data into data storage units |
US6269427B1 (en) * | 1999-03-18 | 2001-07-31 | International Business Machines Corporation | Multiple load miss handling in a cache memory system |
US6266767B1 (en) * | 1999-04-22 | 2001-07-24 | International Business Machines Corporation | Apparatus and method for facilitating out-of-order execution of load instructions |
US6901500B1 (en) * | 2000-07-28 | 2005-05-31 | Silicon Graphics, Inc. | Method and apparatus for prefetching information and storing the information in a stream buffer |
-
2001
- 2001-03-28 JP JP2001093994A patent/JP3497832B2/ja not_active Expired - Fee Related
-
2002
- 2002-03-08 US US10/092,989 patent/US7058049B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007527563A (ja) * | 2003-07-08 | 2007-09-27 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | インデックス付ルックアップを使用したストア−ロードフォーワード(stl)バッファ |
JP2007536626A (ja) * | 2004-05-05 | 2007-12-13 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | ロードオペレーションの投機的な結果をレジスタ値にリンクするメモリファイルを検証するためのシステムおよび方法 |
Also Published As
Publication number | Publication date |
---|---|
US7058049B2 (en) | 2006-06-06 |
JP3497832B2 (ja) | 2004-02-16 |
US20020141426A1 (en) | 2002-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100278328B1 (ko) | 캐시 미스 버퍼 | |
JP3497832B2 (ja) | ロード・ストアキュー | |
US20130246709A1 (en) | Translation address cache for a microprocessor | |
KR100955433B1 (ko) | 파이프라인 구조를 갖는 캐시 메모리 및 이를 제어하는방법 | |
KR20040033029A (ko) | 캐시 메모리 내 태그 액세스 및 데이터 액세스의 분리방법 및 장치 | |
JP2000242545A (ja) | データ処理システムにおいてメモリ・アクセス要求を処理するための装置および方法 | |
US5781923A (en) | Adding a field to the cache tag in a computer system to indicate byte ordering | |
US20120173843A1 (en) | Translation look-aside buffer including hazard state | |
JPH0630075B2 (ja) | キャッシュメモリを有するデータ処理装置 | |
JP2001184211A (ja) | 処理システムにおいてスタックのポップおよびプッシュ動作を行なうための装置および方法 | |
JP3729545B2 (ja) | キャッシュメモリへのアクセス | |
US6862670B2 (en) | Tagged address stack and microprocessor using same | |
US20080244224A1 (en) | Scheduling a direct dependent instruction | |
US7111127B2 (en) | System for supporting unlimited consecutive data stores into a cache memory | |
CN114756287A (zh) | 一种重排序缓冲区的数据处理方法、装置及存储介质 | |
JP2009199384A (ja) | データ処理装置 | |
EP0502211A1 (en) | System equipped with processor and method of converting addresses in said system | |
US6671781B1 (en) | Data cache store buffer | |
JPH0552539B2 (ja) | ||
JP2001195301A (ja) | パイプラインキャッシュメモリの更新回路 | |
CN115712392A (zh) | 一种基于Buffer的Cache控制器及工作方法 | |
JPS61136145A (ja) | キヤツシユメモリ制御回路 | |
JP2001022581A (ja) | データ処理装置及びコンピュータ読み取り可能な記憶媒体 | |
JPH04225429A (ja) | データ処理装置 | |
JPH04255995A (ja) | 命令キャッシュ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071128 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081128 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081128 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091128 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091128 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101128 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101128 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111128 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121128 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121128 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131128 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |