JP2015232902A - ロードストア依存関係予測器のコンテンツマネージメント - Google Patents
ロードストア依存関係予測器のコンテンツマネージメント Download PDFInfo
- Publication number
- JP2015232902A JP2015232902A JP2015160285A JP2015160285A JP2015232902A JP 2015232902 A JP2015232902 A JP 2015232902A JP 2015160285 A JP2015160285 A JP 2015160285A JP 2015160285 A JP2015160285 A JP 2015160285A JP 2015232902 A JP2015232902 A JP 2015232902A
- Authority
- JP
- Japan
- Prior art keywords
- load
- store
- entry
- dependency
- predictor
- 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
- 238000000034 method Methods 0.000 claims abstract description 34
- 230000004044 response Effects 0.000 claims description 16
- 230000003213 activating effect Effects 0.000 claims 2
- 238000001514 detection method Methods 0.000 claims 1
- 230000015654 memory Effects 0.000 abstract description 51
- 230000001419 dependent effect Effects 0.000 abstract description 15
- 230000007246 mechanism Effects 0.000 abstract description 5
- 230000003247 decreasing effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 9
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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
-
- 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
-
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
-
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
-
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
- G06F9/3844—Speculative instruction execution using dynamic branch prediction, e.g. using branch history tables
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】依存関係がもはや必要ないがそれでも有効である場合、メモリレベルの並行処理が制限されて、プロセッサ効率が低下する。ロードストア依存関係予測器は、依存関係があり異なる順序で実行されることが見出されているロードストアペアに関するエントリを記憶するためのテーブルを含む。テーブルの各エントリは依存関係の予測強度を示すためのカウンタを含み、カウンタが閾値以上の場合、依存関係はロードストアペアに関して有効になり、カウンタが閾値以下の場合、依存関係は無効となる。ストアをディスパッチする場合、テーブルをサーチしてテーブルの何らかの適合エントリを作動可能にする。その後、ロードがディスパッチされ、作動可能なエントリに適合し、カウンタが閾値以上の場合、ロードは対応するストアが発行されるまで発行を待つ134、136。
【選択図】図6
Description
以下に、本開示(請求項を含む)に見出される用語に関する定義及び/又は文脈を提示する。
122 ロードオペレーションに関して、ロードストア依存関係予測器テーブルをサーチする
124 適合数?
126 ロードを依存関係なしでリザベーションステーションにディスパッチする
132 何らかの他のオペレーションが発行されることを待つことなく、ロードを発行する
128 ロードを依存関係のあるリザベーションステーションにディスパッチする
134 ロードを発行する前に対応するストアが発行されるのを待つ
130 マルチマッチインジケータセットを有するリザベーションステーションにロードをディスパッチする
136 全ての古いストアが発行されるのを待った後でロードを発行する
Claims (20)
- 古いストアオペレーションと依存関係にあるロードオペレーションを予測して、
対応する予測強度インジケータが閾値以上である場合所定のロードストアペアに関する依存関係を確立する、
ように構成されるロードストア依存関係予測器。 - 前記ロードストア依存関係予測器は、以前に順序付け違反を生じたロードストアペアに対応するエントリを有するテーブルを備え、前記テーブルのエントリの各々は、予測強度インジケータを備える、請求項1に記載のロードストア依存関係予測器。
- 新しいロードストアペアが検出された場合、置き換えのために、前記テーブルの対応するエントリをランク付けするために各カウンタが使用される、請求項2に記載のロードストア依存関係予測器。
- 所定のストアオペレーションのディスパッチの検出に応答して、前記ロードストア依存関係予測器は、所定のストアオペレーションに対応する適合エントリの存否を調べるために、前記テーブルをサーチして、前記適合エントリが見つかった場合、該適合エントリを作動可能にするように構成される、請求項2に記載のロードストア依存関係予測器。
- 所定のストアオペレーションのディスパッチの検出に応答して、前記ロードストア依存関係予測器は、所定のストアオペレーションに対応する適合エントリの存否を調べるために、前記テーブルをサーチして、前記適合エントリが見つかりかつ該適合エントリのカウンタ値が閾値以上の場合、該適合エントリを作動可能にするように構成される、請求項2に記載のロードストア依存関係予測器。
- 前記所定のストアオペレーションは、少なくともプログラムカウンタ(PC)の一部を使用して識別される、請求項5に記載のロードストア依存関係予測器。
- 所定のロードオペレーションのディスパッチの検出に応答して、前記ロードストア依存関係予測器は、前記所定のロードオペレーションのために前記テーブルをサーチして、作動可能な適合エントリが見つかりかつ該作動可能な適合エントリのカウンタ値が閾値以上の場合、前記所定のロードオペレーションは依存関係を伴うものとしてディスパッチされ、依存関係を伴うものとして前記所定のロードオペレーションをディスパッチすることは、前記所定のロードオペレーションを発行する前に、対応するストアオペレーションを発行することを伴うものである、請求項4に記載のロードストア依存関係予測器。
- 並び換えバッファ(ROB)と、
1つ又はそれ以上のリザベーションステーションと、
ロードストア依存関係予測器と、
を備えるプロセッサであって、前記ロードストア依存関係予測器は、
ロードオペレーションが古いストアオペレーションに依存する場合を予測し、
依存関係があることが予測されたロードストアペアのそれぞれに、予測強度を割り当て、
関連する予測強度が閾値以上であることの検出に応答して、所定のロードストアペアに関する実行の順序を有効にする、
ように構成される、プロセッサ。 - 前記ロードストア依存関係予測器は、予測されたロードストアペアの各々に関するエントリを有するテーブルを維持するように更に構成され、各エントリは、ロード識別子(ID)、ストアID、及び作動可能なビット、及びカウンタを備え、前記カウンタは、それぞれのロードストアペアの予測強度を示すために利用される、請求項8に記載のプロセッサ。
- 前記エントリは、ストアROBエントリのナンバー(RNUM)を更に備える、請求項9に記載のプロセッサ。
- 前記ロードストア依存関係予測器は、
所定のストアオペレーションが検出されたことに応じて、前記所定のストアオペレーションに対する適合の存否を調べるために、前記テーブルをサーチして、
適合が見つかり対応するカウンタが閾値以上であるとの判定に応答して、所定のストアオペレーションの適合エントリの作動可能なビットを設定して、
前記適合エントリに、前記所定のストアオペレーションのRNUMを記憶する、
ように更に構成される、請求項10に記載のプロセッサ。 - 前記ロードストア依存関係予測器は、
所定のロードオペレーションが検出されたことに応じて、前記所定のロードオペレーションに対する適合の存否を調べるために、テーブルをサーチして、
適合が見つかり対応するカウンタが閾値以上であるとの判定に応答して、前記所定のストアオペレーションへの前記所定のロードオペレーションの依存関係を確立する、
ように更に構成される、請求項11に記載のプロセッサ。 - 前記所定のストアオペレーションへの前記所定のロードオペレーションの依存関係を確立することは、前記所定のロードオペレーションを、依存関係インジケータ及び前記所定のストアオペレーションのRNUMを有する所定のリザベーションステーションへディスパッチすることを備える、請求項12に記載のプロセッサ。
- 前記ロードストア依存関係予測器は、前記カウンタ値に基づいて前記テーブルのエントリを置換するように更に構成される、請求項9に記載のプロセッサ。
- ストアオペレーションをディスパッチする段階と、
前記ストアオペレーションのために、ロードストア依存関係予測器をサーチする段階と、
前記ストアオペレーションに適合するエントリが見つかり、前記エントリの予測強度インジケータが閾値以上であるとの判定に応答して、前記ロードストア依存関係予測器の前記エントリを作動可能にする段階と、
を含む方法。 - ロードオペレーションをディスパッチする段階と、
前記ロードオペレーションのために、ロードストア依存関係予測器をサーチする段階と、
前記ロードオペレーションに適合する単一の作動可能なエントリが見つかったことに応答して、前記ロードオペレーションに関する依存関係を確立する段階と、
を更に含む、請求項15に記載の方法。 - 前記ロードオペレーションに適合する複数の作動可能なエントリが見つかったことに応答して、前記ロードオペレーションに関するマルチマッチ依存関係を確立する段階と、
を更に含む、請求項15に記載の方法。 - 前記ロードオペレーションに関する依存関係の確立に応答して、前記ストアオペレーションが発行された後に、リザベーションステーションから前記ロードオペレーションを発行する段階と、
前記ロードオペレーションに関するデータがストアキューから検索されたか否かを判定する段階と、
前記ロードオペレーションに関する前記データがストアキューから検索されたとの判定に応答して、前記エントリに関する前記予測強度インジケータをインクリメントする段階と、
前記ロードオペレーションに関する前記データがキャッシュから検索されたとの判定に応答して、前記エントリに関する前記予測強度インジケータをデクリメントする段階と、を更に含む、請求項16に記載の方法。 - 前記ロードオペレーションに関するマルチマッチ依存関係の確立に応答して、各リザベーションステーションの中の最も古いストアオペレーションを識別する段階を更に含む、請求項17に記載の方法。
- 前記ロードオペレーションに関するマルチマッチ依存関係の確立に応答して、前記ロードオペレーションの発行の前に、各リザベーションステーションの前記最も古いストアオペレーションが発行されるまで待つ段階を更に含む、請求項19に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/464,647 US9128725B2 (en) | 2012-05-04 | 2012-05-04 | Load-store dependency predictor content management |
US13/464,647 | 2012-05-04 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013096795A Division JP2013239166A (ja) | 2012-05-04 | 2013-05-02 | ロードストア依存関係予測器のコンテンツマネージメント |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015232902A true JP2015232902A (ja) | 2015-12-24 |
JP5965041B2 JP5965041B2 (ja) | 2016-08-03 |
Family
ID=48190741
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013096795A Pending JP2013239166A (ja) | 2012-05-04 | 2013-05-02 | ロードストア依存関係予測器のコンテンツマネージメント |
JP2015160285A Active JP5965041B2 (ja) | 2012-05-04 | 2015-08-17 | ロードストア依存関係予測器のコンテンツマネージメント |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013096795A Pending JP2013239166A (ja) | 2012-05-04 | 2013-05-02 | ロードストア依存関係予測器のコンテンツマネージメント |
Country Status (8)
Country | Link |
---|---|
US (1) | US9128725B2 (ja) |
EP (1) | EP2660716B1 (ja) |
JP (2) | JP2013239166A (ja) |
KR (2) | KR20130124221A (ja) |
CN (1) | CN103455309B (ja) |
BR (1) | BR102013010877B1 (ja) |
TW (2) | TWI529617B (ja) |
WO (1) | WO2013165754A1 (ja) |
Families Citing this family (97)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013100783A1 (en) | 2011-12-29 | 2013-07-04 | Intel Corporation | Method and system for control signalling in a data path module |
US9128725B2 (en) * | 2012-05-04 | 2015-09-08 | Apple Inc. | Load-store dependency predictor content management |
US9600289B2 (en) | 2012-05-30 | 2017-03-21 | Apple Inc. | Load-store dependency predictor PC hashing |
US8880829B2 (en) * | 2012-11-19 | 2014-11-04 | Qualcomm Innovation Center, Inc. | Method and apparatus for efficient, low-latency, streaming memory copies |
US10467010B2 (en) * | 2013-03-15 | 2019-11-05 | Intel Corporation | Method and apparatus for nearest potential store tagging |
US9116817B2 (en) * | 2013-05-09 | 2015-08-25 | Apple Inc. | Pointer chasing prediction |
US9619750B2 (en) * | 2013-06-29 | 2017-04-11 | Intel Corporation | Method and apparatus for store dependence prediction |
US10331583B2 (en) | 2013-09-26 | 2019-06-25 | Intel Corporation | Executing distributed memory operations using processing elements connected by distributed channels |
US9286073B2 (en) * | 2014-01-07 | 2016-03-15 | Samsung Electronics Co., Ltd. | Read-after-write hazard predictor employing confidence and sampling |
US11093401B2 (en) * | 2014-03-11 | 2021-08-17 | Ampere Computing Llc | Hazard prediction for a group of memory access instructions using a buffer associated with branch prediction |
US9710268B2 (en) | 2014-04-29 | 2017-07-18 | Apple Inc. | Reducing latency for pointer chasing loads |
US10209995B2 (en) * | 2014-10-24 | 2019-02-19 | International Business Machines Corporation | Processor core including pre-issue load-hit-store (LHS) hazard prediction to reduce rejection of load instructions |
US10114646B2 (en) * | 2014-12-14 | 2018-10-30 | Via Alliance Semiconductor Co., Ltd | Programmable load replay precluding mechanism |
US10120689B2 (en) | 2014-12-14 | 2018-11-06 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on off-die control element access in an out-of-order processor |
US10228944B2 (en) | 2014-12-14 | 2019-03-12 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method for programmable load replay preclusion |
US10083038B2 (en) | 2014-12-14 | 2018-09-25 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on page walks in an out-of-order processor |
US10088881B2 (en) | 2014-12-14 | 2018-10-02 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude I/O-dependent load replays in an out-of-order processor |
US9804845B2 (en) * | 2014-12-14 | 2017-10-31 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method to preclude X86 special bus cycle load replays in an out-of-order processor |
WO2016097814A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude shared ram-dependent load replays in out-of-order processor |
WO2016097797A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Load replay precluding mechanism |
US10146547B2 (en) | 2014-12-14 | 2018-12-04 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method to preclude non-core cache-dependent load replays in an out-of-order processor |
JP6286066B2 (ja) | 2014-12-14 | 2018-02-28 | ヴィア アライアンス セミコンダクター カンパニー リミテッド | アウトオブオーダープロセッサでのロードリプレイを低減する節電メカニズム |
US10108421B2 (en) | 2014-12-14 | 2018-10-23 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude shared ram-dependent load replays in an out-of-order processor |
US9645827B2 (en) | 2014-12-14 | 2017-05-09 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude load replays dependent on page walks in an out-of-order processor |
US10114794B2 (en) | 2014-12-14 | 2018-10-30 | Via Alliance Semiconductor Co., Ltd | Programmable load replay precluding mechanism |
US10089112B2 (en) | 2014-12-14 | 2018-10-02 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on fuse array access in an out-of-order processor |
US10146540B2 (en) | 2014-12-14 | 2018-12-04 | Via Alliance Semiconductor Co., Ltd | Apparatus and method to preclude load replays dependent on write combining memory space access in an out-of-order processor |
WO2016097811A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude load replays dependent on fuse array access in out-of-order processor |
US10108428B2 (en) | 2014-12-14 | 2018-10-23 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on long load cycles in an out-of-order processor |
US10133579B2 (en) | 2014-12-14 | 2018-11-20 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude uncacheable-dependent load replays in out-of-order processor |
US10146539B2 (en) | 2014-12-14 | 2018-12-04 | Via Alliance Semiconductor Co., Ltd. | Load replay precluding mechanism |
KR101819314B1 (ko) | 2014-12-14 | 2018-01-16 | 비아 얼라이언스 세미컨덕터 씨오., 엘티디. | 비순차 프로세서에서 오프다이 제어 부재 접근에 따라 로드 리플레이를 억제하는 장치 |
WO2016097792A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method to preclude load replays dependent on write combining memory space access in out-of-order processor |
US10108420B2 (en) | 2014-12-14 | 2018-10-23 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on long load cycles in an out-of-order processor |
US10209996B2 (en) * | 2014-12-14 | 2019-02-19 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method for programmable load replay preclusion |
US10095514B2 (en) | 2014-12-14 | 2018-10-09 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude I/O-dependent load replays in an out-of-order processor |
US9740271B2 (en) | 2014-12-14 | 2017-08-22 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method to preclude X86 special bus cycle load replays in an out-of-order processor |
US10127046B2 (en) | 2014-12-14 | 2018-11-13 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude uncacheable-dependent load replays in out-of-order processor |
US10175984B2 (en) | 2014-12-14 | 2019-01-08 | Via Alliance Semiconductor Co., Ltd | Apparatus and method to preclude non-core cache-dependent load replays in an out-of-order processor |
US10635446B2 (en) * | 2015-09-24 | 2020-04-28 | Qualcomm Incorporated | Reconfiguring execution pipelines of out-of-order (OOO) computer processors based on phase training and prediction |
CN106557301B (zh) * | 2015-09-25 | 2019-05-07 | 上海兆芯集成电路有限公司 | 经由多级保留站结构的发射指令分派方法 |
US9606805B1 (en) | 2015-10-19 | 2017-03-28 | International Business Machines Corporation | Accuracy of operand store compare prediction using confidence counter |
US10514925B1 (en) | 2016-01-28 | 2019-12-24 | Apple Inc. | Load speculation recovery |
US10437595B1 (en) * | 2016-03-15 | 2019-10-08 | Apple Inc. | Load/store dependency predictor optimization for replayed loads |
US20170286114A1 (en) * | 2016-04-02 | 2017-10-05 | Intel Corporation | Processors, methods, and systems to allocate load and store buffers based on instruction type |
US20170315812A1 (en) | 2016-04-28 | 2017-11-02 | Microsoft Technology Licensing, Llc | Parallel instruction scheduler for block isa processor |
US10740107B2 (en) * | 2016-06-01 | 2020-08-11 | International Business Machines Corporation | Operation of a multi-slice processor implementing load-hit-store handling |
US10067762B2 (en) * | 2016-07-01 | 2018-09-04 | Intel Corporation | Apparatuses, methods, and systems for memory disambiguation |
EP3497624A1 (en) | 2016-08-13 | 2019-06-19 | Intel Corporation | Apparatuses, methods, and systems for neural networks |
US11048506B2 (en) * | 2016-08-19 | 2021-06-29 | Advanced Micro Devices, Inc. | Tracking stores and loads by bypassing load store units |
CN106406822B (zh) * | 2016-09-18 | 2019-02-15 | 上海兆芯集成电路有限公司 | 具有改进的别名队列和存储冲突检测的处理器 |
US10684859B2 (en) * | 2016-09-19 | 2020-06-16 | Qualcomm Incorporated | Providing memory dependence prediction in block-atomic dataflow architectures |
US20180081806A1 (en) * | 2016-09-22 | 2018-03-22 | Qualcomm Incorporated | Memory violation prediction |
US10402168B2 (en) | 2016-10-01 | 2019-09-03 | Intel Corporation | Low energy consumption mantissa multiplication for floating point multiply-add operations |
US10572376B2 (en) | 2016-12-30 | 2020-02-25 | Intel Corporation | Memory ordering in acceleration hardware |
US10474375B2 (en) * | 2016-12-30 | 2019-11-12 | Intel Corporation | Runtime address disambiguation in acceleration hardware |
US10416999B2 (en) | 2016-12-30 | 2019-09-17 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10558575B2 (en) | 2016-12-30 | 2020-02-11 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10467183B2 (en) | 2017-07-01 | 2019-11-05 | Intel Corporation | Processors and methods for pipelined runtime services in a spatial array |
US10445451B2 (en) | 2017-07-01 | 2019-10-15 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features |
US10445234B2 (en) | 2017-07-01 | 2019-10-15 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with transactional and replay features |
US10515046B2 (en) | 2017-07-01 | 2019-12-24 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10387319B2 (en) | 2017-07-01 | 2019-08-20 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features |
US10515049B1 (en) | 2017-07-01 | 2019-12-24 | Intel Corporation | Memory circuits and methods for distributed memory hazard detection and error recovery |
US10469397B2 (en) | 2017-07-01 | 2019-11-05 | Intel Corporation | Processors and methods with configurable network-based dataflow operator circuits |
PE20200613A1 (es) | 2017-07-11 | 2020-03-11 | Pfizer | Composiciones inmunogenicas |
US10725782B2 (en) * | 2017-09-12 | 2020-07-28 | Qualcomm Incorporated | Providing variable interpretation of usefulness indicators for memory tables in processor-based systems |
US10496574B2 (en) | 2017-09-28 | 2019-12-03 | Intel Corporation | Processors, methods, and systems for a memory fence in a configurable spatial accelerator |
US11086816B2 (en) | 2017-09-28 | 2021-08-10 | Intel Corporation | Processors, methods, and systems for debugging a configurable spatial accelerator |
US10445098B2 (en) | 2017-09-30 | 2019-10-15 | Intel Corporation | Processors and methods for privileged configuration in a spatial array |
US10380063B2 (en) | 2017-09-30 | 2019-08-13 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator having a sequencer dataflow operator |
US10565134B2 (en) | 2017-12-30 | 2020-02-18 | Intel Corporation | Apparatus, methods, and systems for multicast in a configurable spatial accelerator |
US10445250B2 (en) | 2017-12-30 | 2019-10-15 | Intel Corporation | Apparatus, methods, and systems with a configurable spatial accelerator |
US10417175B2 (en) | 2017-12-30 | 2019-09-17 | Intel Corporation | Apparatus, methods, and systems for memory consistency in a configurable spatial accelerator |
US10387311B2 (en) | 2018-01-11 | 2019-08-20 | International Business Machines Corporation | Cache directory that determines current state of a translation in a microprocessor core cache |
US10564980B2 (en) | 2018-04-03 | 2020-02-18 | Intel Corporation | Apparatus, methods, and systems for conditional queues in a configurable spatial accelerator |
US11307873B2 (en) | 2018-04-03 | 2022-04-19 | Intel Corporation | Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging |
CN108920191B (zh) * | 2018-06-05 | 2020-11-20 | 上海兆芯集成电路有限公司 | 处理器电路及其操作方法 |
US11099846B2 (en) * | 2018-06-20 | 2021-08-24 | Advanced Micro Devices, Inc. | Apparatus and method for resynchronization prediction with variable upgrade and downgrade capability |
US10853073B2 (en) | 2018-06-30 | 2020-12-01 | Intel Corporation | Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator |
US10459866B1 (en) | 2018-06-30 | 2019-10-29 | Intel Corporation | Apparatuses, methods, and systems for integrated control and data processing in a configurable spatial accelerator |
US11200186B2 (en) | 2018-06-30 | 2021-12-14 | Intel Corporation | Apparatuses, methods, and systems for operations in a configurable spatial accelerator |
US10891240B2 (en) | 2018-06-30 | 2021-01-12 | Intel Corporation | Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator |
US10678724B1 (en) | 2018-12-29 | 2020-06-09 | Intel Corporation | Apparatuses, methods, and systems for in-network storage in a configurable spatial accelerator |
US11113055B2 (en) | 2019-03-19 | 2021-09-07 | International Business Machines Corporation | Store instruction to store instruction dependency |
US11243774B2 (en) | 2019-03-20 | 2022-02-08 | International Business Machines Corporation | Dynamic selection of OSC hazard avoidance mechanism |
US10929142B2 (en) | 2019-03-20 | 2021-02-23 | International Business Machines Corporation | Making precise operand-store-compare predictions to avoid false dependencies |
US10915471B2 (en) | 2019-03-30 | 2021-02-09 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator |
US10817291B2 (en) | 2019-03-30 | 2020-10-27 | Intel Corporation | Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator |
US11029927B2 (en) | 2019-03-30 | 2021-06-08 | Intel Corporation | Methods and apparatus to detect and annotate backedges in a dataflow graph |
US10965536B2 (en) | 2019-03-30 | 2021-03-30 | Intel Corporation | Methods and apparatus to insert buffers in a dataflow graph |
US11037050B2 (en) | 2019-06-29 | 2021-06-15 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator |
US11907713B2 (en) | 2019-12-28 | 2024-02-20 | Intel Corporation | Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator |
US11392410B2 (en) * | 2020-04-08 | 2022-07-19 | Microsoft Technology Licensing, Llc | Operand pool instruction reservation clustering in a scheduler circuit in a processor |
US12086080B2 (en) | 2020-09-26 | 2024-09-10 | Intel Corporation | Apparatuses, methods, and systems for a configurable accelerator having dataflow execution circuits |
US11474821B1 (en) | 2021-05-12 | 2022-10-18 | International Business Machines Corporation | Processor dependency-aware instruction execution |
KR20230063791A (ko) * | 2021-11-02 | 2023-05-09 | 리벨리온 주식회사 | 인공지능 코어, 인공지능 코어 시스템 및 인공지능 코어 시스템의 로드/스토어 방법 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5781752A (en) * | 1996-12-26 | 1998-07-14 | Wisconsin Alumni Research Foundation | Table based data speculation circuit for parallel processing computer |
US6108770A (en) * | 1998-06-24 | 2000-08-22 | Digital Equipment Corporation | Method and apparatus for predicting memory dependence using store sets |
JP2002351657A (ja) * | 2001-05-23 | 2002-12-06 | Nec Corp | マルチプロセッサシステム、データ依存投機実行制御装置およびその方法 |
JP2003519832A (ja) * | 2000-01-03 | 2003-06-24 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | アントレーニングを備えるストア−ロード転送プレディクタ |
US20030126409A1 (en) * | 2001-12-28 | 2003-07-03 | Toni Juan | Store sets poison propagation |
US6658554B1 (en) * | 1999-03-09 | 2003-12-02 | Wisconsin Alumni Res Found | Electronic processor providing direct data transfer between linked data consuming instructions |
US6694424B1 (en) * | 2000-01-03 | 2004-02-17 | Advanced Micro Devices, Inc. | Store load forward predictor training |
US20070226470A1 (en) * | 2006-03-07 | 2007-09-27 | Evgeni Krimer | Technique to perform memory disambiguation |
JP2007293814A (ja) * | 2006-03-28 | 2007-11-08 | Handotai Rikougaku Kenkyu Center:Kk | プロセッサ装置とその処理方法 |
JP2008512769A (ja) * | 2004-09-08 | 2008-04-24 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 読出しが以前の書込みに依存しているかどうかを予測する依存性メカニズムを備えたプロセッサ |
US20100205384A1 (en) * | 2009-02-06 | 2010-08-12 | Beaumont-Smith Andrew J | Store Hit Load Predictor |
US20100325395A1 (en) * | 2009-06-19 | 2010-12-23 | Doug Burger | Dependence prediction in a memory system |
US20110153986A1 (en) * | 2009-12-22 | 2011-06-23 | International Business Machines Corporation | Predicting and avoiding operand-store-compare hazards in out-of-order microprocessors |
JP2013239166A (ja) * | 2012-05-04 | 2013-11-28 | Apple Inc | ロードストア依存関係予測器のコンテンツマネージメント |
Family Cites Families (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4521851A (en) | 1982-10-13 | 1985-06-04 | Honeywell Information Systems Inc. | Central processor |
US4594660A (en) | 1982-10-13 | 1986-06-10 | Honeywell Information Systems Inc. | Collector |
US4860199A (en) | 1987-07-31 | 1989-08-22 | Prime Computer, Inc. | Hashing indexer for branch cache |
US5487156A (en) | 1989-12-15 | 1996-01-23 | Popescu; Valeri | Processor architecture having independently fetching issuing and updating operations of instructions which are sequentially assigned and stored in order fetched |
US5276825A (en) | 1991-03-12 | 1994-01-04 | Chips & Technologies, Inc. | Apparatus for quickly determining actual jump addresses by assuming each instruction of a plurality of fetched instructions is a jump instruction |
US5488729A (en) | 1991-05-15 | 1996-01-30 | Ross Technology, Inc. | Central processing unit architecture with symmetric instruction scheduling to achieve multiple instruction launch and execution |
US5440752A (en) | 1991-07-08 | 1995-08-08 | Seiko Epson Corporation | Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU |
JPH0820949B2 (ja) | 1991-11-26 | 1996-03-04 | 松下電器産業株式会社 | 情報処理装置 |
DE4237417C2 (de) | 1992-03-25 | 1997-01-30 | Hewlett Packard Co | Datenverarbeitungssystem |
JP3199465B2 (ja) | 1992-07-22 | 2001-08-20 | 株式会社日立製作所 | 情報処理装置 |
DE69329778T2 (de) | 1992-09-29 | 2001-04-26 | Seiko Epson Corp., Tokio/Tokyo | System und verfahren zur handhabung von laden und/oder speichern in einem superskalar mikroprozessor |
US5619662A (en) | 1992-11-12 | 1997-04-08 | Digital Equipment Corporation | Memory reference tagging |
US5467473A (en) | 1993-01-08 | 1995-11-14 | International Business Machines Corporation | Out of order instruction load and store comparison |
GB2281442B (en) | 1993-08-24 | 1997-06-11 | News Distribution Limited | Manufacture of wound capacitors |
US5471598A (en) | 1993-10-18 | 1995-11-28 | Cyrix Corporation | Data dependency detection and handling in a microprocessor with write buffer |
EP0651331B1 (en) | 1993-10-18 | 2002-01-09 | National Semiconductor Corporation | A write buffer for a superpipelined, superscalar microprocessor |
EP0651321B1 (en) | 1993-10-29 | 2001-11-14 | Advanced Micro Devices, Inc. | Superscalar microprocessors |
US5878245A (en) | 1993-10-29 | 1999-03-02 | Advanced Micro Devices, Inc. | High performance load/store functional unit and data cache |
US5588126A (en) | 1993-12-30 | 1996-12-24 | Intel Corporation | Methods and apparatus for fordwarding buffered store data on an out-of-order execution computer system |
US5465336A (en) | 1994-06-30 | 1995-11-07 | International Business Machines Corporation | Fetch and store buffer that enables out-of-order execution of memory instructions in a data processing system |
US6216200B1 (en) | 1994-10-14 | 2001-04-10 | Mips Technologies, Inc. | Address queue |
US5666506A (en) | 1994-10-24 | 1997-09-09 | International Business Machines Corporation | Apparatus to dynamically control the out-of-order execution of load/store instructions in a processor capable of dispatchng, issuing and executing multiple instructions in a single processor cycle |
US5625789A (en) | 1994-10-24 | 1997-04-29 | International Business Machines Corporation | Apparatus for source operand dependendency analyses register renaming and rapid pipeline recovery in a microprocessor that issues and executes multiple instructions out-of-order in a single cycle |
US5784586A (en) | 1995-02-14 | 1998-07-21 | Fujitsu Limited | Addressing method for executing load instructions out of order with respect to store instructions |
US5832297A (en) | 1995-04-12 | 1998-11-03 | Advanced Micro Devices, Inc. | Superscalar microprocessor load/store unit employing a unified buffer and separate pointers for load and store operations |
US5802588A (en) | 1995-04-12 | 1998-09-01 | Advanced Micro Devices, Inc. | Load/store unit implementing non-blocking loads for a superscalar microprocessor and method of selecting loads in a non-blocking fashion from a load/store buffer |
US5887152A (en) | 1995-04-12 | 1999-03-23 | Advanced Micro Devices, Inc. | Load/store unit with multiple oldest outstanding instruction pointers for completing store and load/store miss instructions |
US5625835A (en) | 1995-05-10 | 1997-04-29 | International Business Machines Corporation | Method and apparatus for reordering memory operations in a superscalar or very long instruction word processor |
US5761712A (en) | 1995-06-07 | 1998-06-02 | Advanced Micro Devices | Data memory unit and method for storing data into a lockable cache in one clock cycle by previewing the tag array |
US5717883A (en) | 1995-06-28 | 1998-02-10 | Digital Equipment Corporation | Method and apparatus for parallel execution of computer programs using information providing for reconstruction of a logical sequential program |
US5652859A (en) | 1995-08-17 | 1997-07-29 | Institute For The Development Of Emerging Architectures, L.L.C. | Method and apparatus for handling snoops in multiprocessor caches having internal buffer queues |
US5710902A (en) | 1995-09-06 | 1998-01-20 | Intel Corporation | Instruction dependency chain indentifier |
US5751983A (en) | 1995-10-03 | 1998-05-12 | Abramson; Jeffrey M. | Out-of-order processor with a memory subsystem which handles speculatively dispatched load operations |
US5799165A (en) | 1996-01-26 | 1998-08-25 | Advanced Micro Devices, Inc. | Out-of-order processing that removes an issued operation from an execution pipeline upon determining that the operation would cause a lengthy pipeline delay |
US5835747A (en) | 1996-01-26 | 1998-11-10 | Advanced Micro Devices, Inc. | Hierarchical scan logic for out-of-order load/store execution control |
US5754812A (en) | 1995-10-06 | 1998-05-19 | Advanced Micro Devices, Inc. | Out-of-order load/store execution control |
US5781790A (en) | 1995-12-29 | 1998-07-14 | Intel Corporation | Method and apparatus for performing floating point to integer transfers and vice versa |
US5822559A (en) | 1996-01-02 | 1998-10-13 | Advanced Micro Devices, Inc. | Apparatus and method for aligning variable byte-length instructions to a plurality of issue positions |
US5742791A (en) | 1996-02-14 | 1998-04-21 | Advanced Micro Devices, Inc. | Apparatus for detecting updates to instructions which are within an instruction processing pipeline of a microprocessor |
US5748978A (en) | 1996-05-17 | 1998-05-05 | Advanced Micro Devices, Inc. | Byte queue divided into multiple subqueues for optimizing instruction selection logic |
US6016540A (en) | 1997-01-08 | 2000-01-18 | Intel Corporation | Method and apparatus for scheduling instructions in waves |
US5923862A (en) | 1997-01-28 | 1999-07-13 | Samsung Electronics Co., Ltd. | Processor that decodes a multi-cycle instruction into single-cycle micro-instructions and schedules execution of the micro-instructions |
US5768555A (en) | 1997-02-20 | 1998-06-16 | Advanced Micro Devices, Inc. | Reorder buffer employing last in buffer and last in line bits |
US5996068A (en) | 1997-03-26 | 1999-11-30 | Lucent Technologies Inc. | Method and apparatus for renaming registers corresponding to multiple thread identifications |
US6021485A (en) | 1997-04-10 | 2000-02-01 | International Business Machines Corporation | Forwarding store instruction result to load instruction with reduced stall or flushing by effective/real data address bytes matching |
US5850533A (en) | 1997-06-25 | 1998-12-15 | Sun Microsystems, Inc. | Method for enforcing true dependencies in an out-of-order processor |
US6122727A (en) | 1998-08-24 | 2000-09-19 | Advanced Micro Devices, Inc. | Symmetrical instructions queue for high clock frequency scheduling |
US6212623B1 (en) | 1998-08-24 | 2001-04-03 | Advanced Micro Devices, Inc. | Universal dependency vector/queue entry |
US6212622B1 (en) | 1998-08-24 | 2001-04-03 | Advanced Micro Devices, Inc. | Mechanism for load block on store address generation |
US6141747A (en) | 1998-09-22 | 2000-10-31 | Advanced Micro Devices, Inc. | System for store to load forwarding of individual bytes from separate store buffer entries to form a single load word |
US6393536B1 (en) | 1999-05-18 | 2002-05-21 | Advanced Micro Devices, Inc. | Load/store unit employing last-in-buffer indication for rapid load-hit-store |
US6266744B1 (en) | 1999-05-18 | 2001-07-24 | Advanced Micro Devices, Inc. | Store to load forwarding using a dependency link file |
US6728867B1 (en) | 1999-05-21 | 2004-04-27 | Intel Corporation | Method for comparing returned first load data at memory address regardless of conflicting with first load and any instruction executed between first load and check-point |
US6625723B1 (en) | 1999-07-07 | 2003-09-23 | Intel Corporation | Unified renaming scheme for load and store instructions |
US6481251B1 (en) | 1999-10-25 | 2002-11-19 | Advanced Micro Devices, Inc. | Store queue number assignment and tracking |
US6523109B1 (en) | 1999-10-25 | 2003-02-18 | Advanced Micro Devices, Inc. | Store queue multimatch detection |
US6658559B1 (en) | 1999-12-31 | 2003-12-02 | Intel Corporation | Method and apparatus for advancing load operations |
US6542984B1 (en) | 2000-01-03 | 2003-04-01 | Advanced Micro Devices, Inc. | Scheduler capable of issuing and reissuing dependency chains |
US6622237B1 (en) | 2000-01-03 | 2003-09-16 | Advanced Micro Devices, Inc. | Store to load forward predictor training using delta tag |
US6502185B1 (en) | 2000-01-03 | 2002-12-31 | Advanced Micro Devices, Inc. | Pipeline elements which verify predecode information |
US6678807B2 (en) | 2000-12-21 | 2004-01-13 | Intel Corporation | System and method for multiple store buffer forwarding in a system with a restrictive memory model |
US6571318B1 (en) | 2001-03-02 | 2003-05-27 | Advanced Micro Devices, Inc. | Stride based prefetcher with confidence counter and dynamic prefetch-ahead mechanism |
US20030065909A1 (en) | 2001-09-28 | 2003-04-03 | Jourdan Stephan J. | Deferral of dependent loads until after execution of colliding stores |
US6918030B2 (en) | 2002-01-10 | 2005-07-12 | International Business Machines Corporation | Microprocessor for executing speculative load instructions with retry of speculative load instruction without calling any recovery procedures |
US7062617B2 (en) | 2002-03-26 | 2006-06-13 | Intel Corporation | Method and apparatus for satisfying load operations |
US7181598B2 (en) | 2002-05-17 | 2007-02-20 | Intel Corporation | Prediction of load-store dependencies in a processing agent |
US7590830B2 (en) * | 2004-05-28 | 2009-09-15 | Sun Microsystems, Inc. | Method and structure for concurrent branch prediction in a processor |
US7506105B2 (en) | 2005-05-02 | 2009-03-17 | Freescale Semiconductor, Inc. | Prefetching using hashed program counter |
US7376817B2 (en) | 2005-08-10 | 2008-05-20 | P.A. Semi, Inc. | Partial load/store forward prediction |
US7461238B2 (en) | 2006-06-07 | 2008-12-02 | International Business Machines Corporation | Simple load and store disambiguation and scheduling at predecode |
GB2445965B (en) * | 2007-01-26 | 2011-05-04 | Advanced Risc Mach Ltd | Entry replacement within a data store |
US20080209190A1 (en) | 2007-02-28 | 2008-08-28 | Advanced Micro Devices, Inc. | Parallel prediction of multiple branches |
US8200992B2 (en) | 2007-09-24 | 2012-06-12 | Cognitive Electronics, Inc. | Parallel processing computer systems with reduced power consumption and methods for providing the same |
US8151084B2 (en) | 2008-01-23 | 2012-04-03 | Oracle America, Inc. | Using address and non-address information for improved index generation for cache memories |
US8566565B2 (en) | 2008-07-10 | 2013-10-22 | Via Technologies, Inc. | Microprocessor with multiple operating modes dynamically configurable by a device driver based on currently running applications |
US8423751B2 (en) | 2009-03-04 | 2013-04-16 | Via Technologies, Inc. | Microprocessor with fast execution of call and return instructions |
US8099566B2 (en) | 2009-05-15 | 2012-01-17 | Oracle America, Inc. | Load/store ordering in a threaded out-of-order processor |
US8768313B2 (en) | 2009-08-17 | 2014-07-01 | Digimarc Corporation | Methods and systems for image or audio recognition processing |
US8635428B2 (en) | 2009-12-09 | 2014-01-21 | Oracle America, Inc. | Preventing duplicate entries in a non-blocking TLB structure that supports multiple page sizes |
US9600289B2 (en) | 2012-05-30 | 2017-03-21 | Apple Inc. | Load-store dependency predictor PC hashing |
-
2012
- 2012-05-04 US US13/464,647 patent/US9128725B2/en active Active
-
2013
- 2013-04-23 WO PCT/US2013/037809 patent/WO2013165754A1/en active Application Filing
- 2013-04-25 EP EP13165284.4A patent/EP2660716B1/en active Active
- 2013-05-02 BR BR102013010877-4A patent/BR102013010877B1/pt active IP Right Grant
- 2013-05-02 JP JP2013096795A patent/JP2013239166A/ja active Pending
- 2013-05-03 KR KR1020130049975A patent/KR20130124221A/ko not_active Application Discontinuation
- 2013-05-03 CN CN201310323392.0A patent/CN103455309B/zh active Active
- 2013-05-03 TW TW104113982A patent/TWI529617B/zh active
- 2013-05-03 TW TW102115961A patent/TW201403463A/zh unknown
-
2015
- 2015-06-09 KR KR1020150081361A patent/KR101555166B1/ko active IP Right Grant
- 2015-08-17 JP JP2015160285A patent/JP5965041B2/ja active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5781752A (en) * | 1996-12-26 | 1998-07-14 | Wisconsin Alumni Research Foundation | Table based data speculation circuit for parallel processing computer |
US6108770A (en) * | 1998-06-24 | 2000-08-22 | Digital Equipment Corporation | Method and apparatus for predicting memory dependence using store sets |
US6658554B1 (en) * | 1999-03-09 | 2003-12-02 | Wisconsin Alumni Res Found | Electronic processor providing direct data transfer between linked data consuming instructions |
US6694424B1 (en) * | 2000-01-03 | 2004-02-17 | Advanced Micro Devices, Inc. | Store load forward predictor training |
JP2003519832A (ja) * | 2000-01-03 | 2003-06-24 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | アントレーニングを備えるストア−ロード転送プレディクタ |
JP2002351657A (ja) * | 2001-05-23 | 2002-12-06 | Nec Corp | マルチプロセッサシステム、データ依存投機実行制御装置およびその方法 |
US20030126409A1 (en) * | 2001-12-28 | 2003-07-03 | Toni Juan | Store sets poison propagation |
JP2008512769A (ja) * | 2004-09-08 | 2008-04-24 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 読出しが以前の書込みに依存しているかどうかを予測する依存性メカニズムを備えたプロセッサ |
US20070226470A1 (en) * | 2006-03-07 | 2007-09-27 | Evgeni Krimer | Technique to perform memory disambiguation |
JP2007293814A (ja) * | 2006-03-28 | 2007-11-08 | Handotai Rikougaku Kenkyu Center:Kk | プロセッサ装置とその処理方法 |
US20100205384A1 (en) * | 2009-02-06 | 2010-08-12 | Beaumont-Smith Andrew J | Store Hit Load Predictor |
US20100325395A1 (en) * | 2009-06-19 | 2010-12-23 | Doug Burger | Dependence prediction in a memory system |
US20110153986A1 (en) * | 2009-12-22 | 2011-06-23 | International Business Machines Corporation | Predicting and avoiding operand-store-compare hazards in out-of-order microprocessors |
JP2013239166A (ja) * | 2012-05-04 | 2013-11-28 | Apple Inc | ロードストア依存関係予測器のコンテンツマネージメント |
Also Published As
Publication number | Publication date |
---|---|
US20130298127A1 (en) | 2013-11-07 |
KR101555166B1 (ko) | 2015-09-22 |
KR20150075067A (ko) | 2015-07-02 |
JP2013239166A (ja) | 2013-11-28 |
TWI529617B (zh) | 2016-04-11 |
BR102013010877B1 (pt) | 2021-07-06 |
BR102013010877A2 (pt) | 2015-06-30 |
TW201531939A (zh) | 2015-08-16 |
JP5965041B2 (ja) | 2016-08-03 |
TW201403463A (zh) | 2014-01-16 |
EP2660716A1 (en) | 2013-11-06 |
EP2660716B1 (en) | 2016-11-02 |
CN103455309B (zh) | 2016-12-28 |
KR20130124221A (ko) | 2013-11-13 |
WO2013165754A1 (en) | 2013-11-07 |
CN103455309A (zh) | 2013-12-18 |
US9128725B2 (en) | 2015-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5965041B2 (ja) | ロードストア依存関係予測器のコンテンツマネージメント | |
TWI552069B (zh) | 載入-儲存相依性預測器、用於在載入-儲存相依性預測器中處理操作的處理器與方法 | |
JP5894120B2 (ja) | ゼロサイクルロード | |
US9448936B2 (en) | Concurrent store and load operations | |
US9710268B2 (en) | Reducing latency for pointer chasing loads | |
US9524164B2 (en) | Specialized memory disambiguation mechanisms for different memory read access types | |
US10437595B1 (en) | Load/store dependency predictor optimization for replayed loads | |
US8230177B2 (en) | Store prefetching via store queue lookahead | |
US11829763B2 (en) | Early load execution via constant address and stride prediction | |
US8006075B2 (en) | Dynamically allocated store queue for a multithreaded processor | |
JP5799465B2 (ja) | ループバッファ学習 | |
US20140281384A1 (en) | Method and apparatus for predicting forwarding of data from a store to a load | |
US10838729B1 (en) | System and method for predicting memory dependence when a source register of a push instruction matches the destination register of a pop instruction | |
US11928467B2 (en) | Atomic operation predictor to predict whether an atomic operation will complete successfully | |
US10983801B2 (en) | Load/store ordering violation management | |
US10628164B1 (en) | Branch resolve pointer optimization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151102 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20151102 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20151225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160222 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160513 |
|
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: 20160606 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160630 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5965041 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |