JP2015535634A - 実行パイプラインバブルを低減するためにサブルーチンリターンのための分岐ターゲット命令キャッシュ(btic)エントリを確立すること、ならびに関連するシステム、方法、およびコンピュータ可読媒体 - Google Patents
実行パイプラインバブルを低減するためにサブルーチンリターンのための分岐ターゲット命令キャッシュ(btic)エントリを確立すること、ならびに関連するシステム、方法、およびコンピュータ可読媒体 Download PDFInfo
- Publication number
- JP2015535634A JP2015535634A JP2015544210A JP2015544210A JP2015535634A JP 2015535634 A JP2015535634 A JP 2015535634A JP 2015544210 A JP2015544210 A JP 2015544210A JP 2015544210 A JP2015544210 A JP 2015544210A JP 2015535634 A JP2015535634 A JP 2015535634A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- subroutine
- btic
- entry
- subroutine return
- 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 title claims abstract description 55
- 230000004044 response Effects 0.000 claims abstract description 23
- 230000009467 reduction Effects 0.000 claims description 71
- 238000001514 detection method Methods 0.000 claims description 19
- 239000004065 semiconductor Substances 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 3
- 230000001413 cellular effect Effects 0.000 claims description 2
- 229920001690 polydopamine Polymers 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 19
- 238000012545 processing Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 230000008030 elimination Effects 0.000 description 3
- 238000003379 elimination reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000006249 magnetic particle Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 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
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3808—Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
-
- 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/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30054—Unconditional branch instructions
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)
Abstract
Description
本出願は、参照によってその全体が本明細書に組み込まれている、2012年11月28日に出願された「ESTABLISHING A BRANCH TARGET INSTRUCTION CACHE (BTIC) ENTRY FOR SUBROUTINE RETURNS TO REDUCE EXECUTION PIPELINE STALLS, AND RELATED SYSTEMS, METHODS, AND COMPUTER-READABLE MEDIA」と題する米国仮特許出願第61/730,717号の優先権を主張する。
12 パイプラインバブル低減回路
14 入力/出力(I/O)回路
16 命令キャッシュ
18 データキャッシュ
20 実行パイプライン
22 フロントエンド回路
24 実行ユニット
26 完了ユニット
28 リンクスタック
30 レジスタ
32 汎用レジスタ
34 プログラムカウンタ
36 リンクレジスタ
38 順次フェッチ/復号化パイプラインステージ
40 順次フェッチ/復号化パイプラインステージ
42 順次フェッチ/復号化パイプラインステージ
44 発行/ディスパッチステージ
46 分岐予測回路
48 分岐制御論理(BCL)回路
50 分岐ターゲット命令キャッシュ(BTIC)
52 分岐ターゲットアドレスキャッシュ(BTAC)
54 分岐履歴テーブル(BHT)
56 サブルーチン呼出し検出回路
58 BTICエントリ確立回路
60 サブルーチンリターン検出回路
62 BTIC使用回路
64 命令シーケンス
66 命令
68 命令
70 命令
72 命令
74 命令
76 命令
78 命令
79 命令
80 プログラムフロー
82 次のフェッチ指示子
84 BTICエントリ
86 矢印
88 実行パイプライン
90 矢印
92 BTICエントリ
94 矢印
96 矢印
98 矢印
99 矢印
102 ブロック
104 ブロック
106 ブロック
108 ブロック
110 ブロック
112 ブロック
113 ブロック
114 ブロック
116 ブロック
117 ブロック
118 ブロック
119 ブロック
120 ブロック
122 ブロック
124 ブロック
126 ブロック
130 ブロック
134 ブロック
136 ブロック
138 プロセッサベースシステム
140 CPU
142 キャッシュメモリ
144 システムバス
146 メモリコントローラ
148 メモリシステム
150 入力デバイス
152 出力デバイス
154 ネットワークインターフェースデバイス
156 ディスプレイコントローラ
158 ネットワーク
160 メモリユニット
162 ディスプレイ
164 ビデオプロセッサ
Claims (29)
- パイプラインバブルの発生を低減するために、実行パイプライン内のサブルーチンリターン命令のための分岐ターゲット命令キャッシュ(BTIC)エントリを確立する方法であって、
実行パイプラインにおいてサブルーチン呼出し命令を検出するステップと、
前記サブルーチン呼出し命令を検出するのに応じて、サブルーチンリターン命令のためのBTICエントリを確立するステップであって、
前記サブルーチン呼出し命令の次に続くフェッチされた少なくとも1つの順次命令を前記サブルーチンリターン命令のための前記BTICエントリ内の分岐ターゲット命令として書くことと、
次の命令フェッチアドレスを計算することと、
前記次の命令フェッチアドレスを前記サブルーチンリターン命令のための前記BTICエントリ内の次の命令フェッチアドレスフィールドに書き込むこととによって、
確立するステップとを含む、方法。 - 前記サブルーチンリターン命令は、前記サブルーチン呼出し命令によって呼び出されたサブルーチンからのリターンを指示する、請求項1に記載の方法。
- 前記少なくとも1つの順次命令は非分岐命令であり、
次の命令フェッチアドレスを計算するステップは、前記少なくとも1つの順次命令の最後の命令に続く命令のアドレスを計算するステップを含む、請求項1に記載の方法。 - 前記少なくとも1つの順次命令の最後の命令は分岐命令であり、
次の命令フェッチアドレスを計算するステップは、前記分岐命令のターゲット命令のアドレスを計算するステップを含む、請求項1に記載の方法。 - 前記少なくとも1つの順次命令の最後の命令に先行する前記少なくとも1つの順次命令のうちの1つまたは複数の命令は分岐命令であり、
前記分岐命令のターゲット命令は非分岐命令であり、
次の命令フェッチアドレスを計算するステップは、前記分岐命令の前記ターゲット命令に続く命令のアドレスを計算するステップを含む、請求項1に記載の方法。 - 前記BTICエントリを確立するステップは、前記BTICエントリが有効であることを指示するために、前記BTICエントリに対応する有効性指示子を設定するステップをさらに含む、請求項1に記載の方法。
- 前記サブルーチン呼出し命令を検出するステップは、前記実行パイプライン内の復号化ステージにおいて前記サブルーチン呼出し命令を検出するステップを含む、請求項1に記載の方法。
- 前記実行パイプライン内で前記サブルーチンリターン命令を検出するステップと、
前記サブルーチンリターン命令を検出するのに応じて、
前記サブルーチンリターン命令のためのBTICヒットを検出するステップと、
前記サブルーチンリターン命令のための前記BTICエントリを使用するステップとをさらに含む、請求項1に記載の方法。 - 前記サブルーチンリターン命令のための前記BTICヒットを検出するステップは、前記サブルーチンリターン命令のための前記BTICエントリに対応する有効性指示子に基づいて、前記サブルーチンリターン命令のための前記BTICエントリが有効であることを判断するステップを含む、請求項8に記載の方法。
- 前記BTICエントリを使用するステップは、前記サブルーチンリターン命令に関連付けられる1つまたは複数のパイプラインバブルを排除する、請求項8に記載の方法。
- 前記BTICエントリを使用するステップは、
前記実行パイプラインのフェッチステージに前記サブルーチンリターン命令のための前記BTICエントリ内の前記次の命令フェッチアドレスフィールドから前記次の命令フェッチアドレスを与えるステップと、
前記フェッチステージに続く前記実行パイプラインの後続のステージに前記サブルーチンリターン命令のための前記BTICエントリから前記少なくとも1つの順次命令を与えるステップとを含む、請求項10に記載の方法。 - 前記サブルーチンリターン命令を検出するステップは、前記実行パイプライン内の復号化ステージにおいて前記サブルーチンリターン命令を検出するステップを含む、請求項8に記載の方法。
- 前記次の命令フェッチアドレスは、前記少なくとも1つの順次命令の前記最後の命令の直後の命令のアドレスを含む、請求項1に記載の方法。
- 前記サブルーチンリターン命令のための前記BTICエントリは、前記サブルーチン呼出し命令のリターンアドレスを記憶するリンクスタックエントリに対応する、請求項1に記載の方法。
- 前記サブルーチン呼出し命令は、前記サブルーチン呼出し命令のリターンアドレスをリンクレジスタ(LR)に入れ、プログラムカウンタをサブルーチンの命令アドレスに設定するように動作する分岐およびリンク(BL)命令を含む、請求項1に記載の方法。
- 前記サブルーチンリターン命令は、プログラムカウンタを前記サブルーチン呼出し命令のリターンアドレスに設定するためのリンクへの分岐(BLR)命令を含む、請求項1に記載の方法。
- 実行パイプラインにおいてサブルーチン呼出し命令を検出するように構成されるサブルーチン呼出し検出回路と、
前記サブルーチン呼出し検出回路が前記サブルーチン呼出し命令を検出するのに応じて、
前記サブルーチン呼出し命令の次に続くフェッチされた少なくとも1つの順次命令をサブルーチンリターン命令のための分岐ターゲット命令キャッシュ(BTIC)エントリ内の分岐ターゲット命令として書き、
次の命令フェッチアドレスを計算し、
前記次の命令フェッチアドレスを前記サブルーチンリターン命令のための前記BTICエントリ内の次の命令フェッチアドレスフィールドに書き込むように構成される分岐ターゲット命令キャッシュ(BTIC)エントリ確立回路とを備える、パイプラインバブル低減回路。 - 前記BTICエントリ確立回路は、前記サブルーチン呼出し検出回路が前記サブルーチン呼出し命令を検出するのに応じて、前記BTICエントリが有効であることを指示するために、前記BTICエントリに対応する有効性指示子を設定するようにさらに構成される、請求項17に記載のパイプラインバブル低減回路。
- 前記実行パイプライン内の前記サブルーチンリターン命令を検出するように構成されるサブルーチンリターン検出回路と、
前記サブルーチンリターン検出回路が前記サブルーチンリターン命令を検出するのに応じて、前記サブルーチンリターン命令のための前記BTICエントリを使用するように構成されるBTIC使用回路とをさらに備える、請求項17に記載のパイプラインバブル低減回路。 - 前記サブルーチンリターン検出回路は、前記サブルーチンリターン命令のための前記BTICエントリに対応する有効性指示子に基づいて、前記サブルーチンリターン命令のための前記BTICエントリが有効であることを判断するように構成される、請求項19に記載のパイプラインバブル低減回路。
- 前記BTIC使用回路は、
前記実行パイプラインのフェッチステージに前記サブルーチンリターン命令のための前記BTICエントリ内の前記次の命令フェッチアドレスフィールドから前記次の命令フェッチアドレスを与え、
前記フェッチステージに続く前記実行パイプラインの後続のステージに前記サブルーチンリターン命令のための前記BTICエントリ内の前記分岐ターゲット命令から前記少なくとも1つの順次命令を与えるように構成される、請求項19に記載のパイプラインバブル低減回路。 - 半導体ダイに組み込まれる、請求項17に記載のパイプラインバブル低減回路。
- 前記パイプラインバブル低減回路がその中に組み込まれるセットトップボックス、娯楽機器、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、モバイルフォン、セルラーフォン、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビ、チューナ、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、およびポータブルデジタルビデオプレーヤからなる群から選択されたデバイスをさらに備える、請求項17に記載のパイプラインバブル低減回路。
- 実行パイプラインにおいてサブルーチン呼出し命令を検出するための手段と、
前記サブルーチン呼出し命令を検出するのに応じて、サブルーチンリターン命令のための分岐ターゲット命令キャッシュ(BTIC)エントリを確立するための手段とを備え、前記確立するための手段は、
前記サブルーチン呼出し命令の次に続くフェッチされた少なくとも1つの順次命令を前記サブルーチンリターン命令のための前記BTICエントリ内の分岐ターゲット命令として書くための手段と、
次の命令フェッチアドレスを計算するための手段と、
前記次の命令フェッチアドレスを前記サブルーチンリターン命令のための前記BTICエントリ内の次の命令フェッチアドレスフィールドに書き込むための手段とを備える、パイプラインバブル低減回路。 - パイプラインバブルの発生を低減するために、実行パイプライン内のサブルーチンリターン命令のための分岐ターゲット命令キャッシュ(BTIC)エントリを確立する方法をプロセッサに実施させるコンピュータ実行可能命令をその上に記憶している非一時的コンピュータ可読媒体であって、前記方法は、
実行パイプラインにおいてサブルーチン呼出し命令を検出するステップと、
前記サブルーチン呼出し命令を検出するのに応じて、サブルーチンリターン命令のためのBTICエントリを確立するステップであって、
前記サブルーチン呼出し命令の次に続くフェッチされた少なくとも1つの順次命令を前記サブルーチンリターン命令のための分岐ターゲット命令キャッシュ(BTIC)エントリ内の分岐ターゲット命令として書き、
次の命令フェッチアドレスを計算し、
前記次の命令フェッチアドレスを前記サブルーチンリターン命令のための前記BTICエントリ内の次の命令フェッチアドレスフィールドに書き込むことによって、
確立するステップとを含む、非一時的コンピュータ可読媒体。 - 前記BTICエントリを確立するステップは、前記BTICエントリが有効であることを指示するために、前記BTICエントリに対応する有効性指示子を設定するステップをさらに含む、前記方法をプロセッサに実施させるコンピュータ実行可能命令をその上に記憶している、請求項25に記載の非一時的コンピュータ可読媒体。
- 前記実行パイプラインにおいて前記サブルーチンリターン命令を検出するステップと、
前記サブルーチンリターン命令を検出するのに応じて、前記サブルーチンリターン命令のための前記BTICエントリを使用するステップとをさらに含む、前記方法をプロセッサに実施させるコンピュータ実行可能命令をその上に記憶している、請求項25に記載の非一時的コンピュータ可読媒体。 - 前記サブルーチンリターン命令を検出するステップは、前記サブルーチンリターン命令のための前記BTICエントリに対応する有効性指示子に基づいて、前記サブルーチンリターン命令のための前記BTICエントリが有効であることを判断するステップを含む、前記方法をプロセッサに実施させるコンピュータ実行可能命令をその上に記憶している、請求項27に記載の非一時的コンピュータ可読媒体。
- 前記BTICエントリを使用するステップは、
前記実行パイプラインのフェッチステージに前記サブルーチンリターン命令のための前記BTICエントリ内の前記次の命令フェッチアドレスフィールドから前記次の命令フェッチアドレスを与えるステップと、
前記フェッチステージに続く前記実行パイプラインの後続のステージに前記サブルーチンリターン命令のための前記BTICエントリ内の前記分岐ターゲット命令から前記少なくとも1つの順次命令を与えるステップとを含む、前記方法をプロセッサに実施させるコンピュータ実行可能命令をその上に記憶している、請求項27に記載の非一時的コンピュータ可読媒体。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261730717P | 2012-11-28 | 2012-11-28 | |
US61/730,717 | 2012-11-28 | ||
US13/792,335 US9317293B2 (en) | 2012-11-28 | 2013-03-11 | Establishing a branch target instruction cache (BTIC) entry for subroutine returns to reduce execution pipeline bubbles, and related systems, methods, and computer-readable media |
US13/792,335 | 2013-03-11 | ||
PCT/US2013/072372 WO2014085683A1 (en) | 2012-11-28 | 2013-11-27 | Establishing a branch target instruction cache (btic) entry for subroutine returns to reduce execution pipeline bubbles, and related systems, methods, and computer-readable media |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2015535634A true JP2015535634A (ja) | 2015-12-14 |
JP2015535634A5 JP2015535634A5 (ja) | 2016-12-28 |
JP6271572B2 JP6271572B2 (ja) | 2018-01-31 |
Family
ID=50774370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015544210A Expired - Fee Related JP6271572B2 (ja) | 2012-11-28 | 2013-11-27 | 実行パイプラインバブルを低減するためにサブルーチンリターンのための分岐ターゲット命令キャッシュ(btic)エントリを確立すること、ならびに関連するシステム、方法、およびコンピュータ可読媒体 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9317293B2 (ja) |
EP (1) | EP2926240A1 (ja) |
JP (1) | JP6271572B2 (ja) |
CN (1) | CN104854556B (ja) |
WO (1) | WO2014085683A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170083333A1 (en) * | 2015-09-21 | 2017-03-23 | Qualcomm Incorporated | Branch target instruction cache (btic) to store a conditional branch instruction |
GB2542831B (en) | 2015-09-30 | 2018-05-30 | Imagination Tech Ltd | Fetch unit for predicting target for subroutine return instructions |
US11099849B2 (en) * | 2016-09-01 | 2021-08-24 | Oracle International Corporation | Method for reducing fetch cycles for return-type instructions |
US11481221B2 (en) * | 2018-05-02 | 2022-10-25 | Micron Technology, Inc. | Separate branch target buffers for different levels of calls |
US11880231B2 (en) * | 2020-12-14 | 2024-01-23 | Microsoft Technology Licensing, Llc | Accurate timestamp or derived counter value generation on a complex CPU |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04233632A (ja) * | 1990-07-27 | 1992-08-21 | Internatl Business Mach Corp <Ibm> | デイジタルデータプロセツサ作動方法及び分岐履歴テーブル |
JPH06161748A (ja) * | 1989-12-18 | 1994-06-10 | Digital Equip Corp <Dec> | サブルーチン復帰予想機構 |
US6170054B1 (en) * | 1998-11-16 | 2001-01-02 | Intel Corporation | Method and apparatus for predicting target addresses for return from subroutine instructions utilizing a return address cache |
US6289444B1 (en) * | 1999-06-02 | 2001-09-11 | International Business Machines Corporation | Method and apparatus for subroutine call-return prediction |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5230068A (en) | 1990-02-26 | 1993-07-20 | Nexgen Microsystems | Cache memory system for dynamically altering single cache memory line as either branch target entry or pre-fetch instruction queue based upon instruction sequence |
US5623614A (en) | 1993-09-17 | 1997-04-22 | Advanced Micro Devices, Inc. | Branch prediction cache with multiple entries for returns having multiple callers |
US5604877A (en) * | 1994-01-04 | 1997-02-18 | Intel Corporation | Method and apparatus for resolving return from subroutine instructions in a computer processor |
US5561782A (en) | 1994-06-30 | 1996-10-01 | Intel Corporation | Pipelined cache system having low effective latency for nonsequential accesses |
US5850543A (en) * | 1996-10-30 | 1998-12-15 | Texas Instruments Incorporated | Microprocessor with speculative instruction pipelining storing a speculative register value within branch target buffer for use in speculatively executing instructions after a return |
US6279106B1 (en) | 1998-09-21 | 2001-08-21 | Advanced Micro Devices, Inc. | Method for reducing branch target storage by calculating direct branch targets on the fly |
US6823444B1 (en) | 2001-07-03 | 2004-11-23 | Ip-First, Llc | Apparatus and method for selectively accessing disparate instruction buffer stages based on branch target address cache hit and instruction stage wrap |
TWI249131B (en) * | 2003-01-14 | 2006-02-11 | Ip First Llc | Apparatus and method for killing an instruction after loading the instruction into an instruction queue in a pipelined microprocessor |
JP4247132B2 (ja) | 2004-01-29 | 2009-04-02 | 株式会社ルネサステクノロジ | 情報処理装置 |
EP1868081A4 (en) | 2005-04-08 | 2008-08-13 | Matsushita Electric Ind Co Ltd | PROCESSOR |
US7447883B2 (en) | 2006-08-10 | 2008-11-04 | Arm Limited | Allocation of branch target cache resources in dependence upon program instructions within an instruction queue |
JP2008299795A (ja) | 2007-06-04 | 2008-12-11 | Nec Electronics Corp | 分岐予測制御装置及びその方法 |
US7882338B2 (en) | 2008-02-20 | 2011-02-01 | International Business Machines Corporation | Method, system and computer program product for an implicit predicted return from a predicted subroutine |
US20110047357A1 (en) * | 2009-08-19 | 2011-02-24 | Qualcomm Incorporated | Methods and Apparatus to Predict Non-Execution of Conditional Non-branching Instructions |
-
2013
- 2013-03-11 US US13/792,335 patent/US9317293B2/en not_active Expired - Fee Related
- 2013-11-27 CN CN201380061574.3A patent/CN104854556B/zh active Active
- 2013-11-27 JP JP2015544210A patent/JP6271572B2/ja not_active Expired - Fee Related
- 2013-11-27 EP EP13803413.7A patent/EP2926240A1/en not_active Ceased
- 2013-11-27 WO PCT/US2013/072372 patent/WO2014085683A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06161748A (ja) * | 1989-12-18 | 1994-06-10 | Digital Equip Corp <Dec> | サブルーチン復帰予想機構 |
JPH04233632A (ja) * | 1990-07-27 | 1992-08-21 | Internatl Business Mach Corp <Ibm> | デイジタルデータプロセツサ作動方法及び分岐履歴テーブル |
US6170054B1 (en) * | 1998-11-16 | 2001-01-02 | Intel Corporation | Method and apparatus for predicting target addresses for return from subroutine instructions utilizing a return address cache |
US6289444B1 (en) * | 1999-06-02 | 2001-09-11 | International Business Machines Corporation | Method and apparatus for subroutine call-return prediction |
Also Published As
Publication number | Publication date |
---|---|
CN104854556B (zh) | 2017-11-10 |
US20140149726A1 (en) | 2014-05-29 |
JP6271572B2 (ja) | 2018-01-31 |
EP2926240A1 (en) | 2015-10-07 |
CN104854556A (zh) | 2015-08-19 |
US9317293B2 (en) | 2016-04-19 |
WO2014085683A1 (en) | 2014-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108780398B (zh) | 在基于处理器系统中基于负载路径历史使用地址预测表以提供负载地址预测 | |
US10255074B2 (en) | Selective flushing of instructions in an instruction pipeline in a processor back to an execution-resolved target address, in response to a precise interrupt | |
US10108417B2 (en) | Storing narrow produced values for instruction operands directly in a register map in an out-of-order processor | |
US9195466B2 (en) | Fusing conditional write instructions having opposite conditions in instruction processing circuits, and related processor systems, methods, and computer-readable media | |
US20160055003A1 (en) | Branch prediction using least-recently-used (lru)-class linked list branch predictors, and related circuits, methods, and computer-readable media | |
US9830152B2 (en) | Selective storing of previously decoded instructions of frequently-called instruction sequences in an instruction sequence buffer to be executed by a processor | |
JP6271572B2 (ja) | 実行パイプラインバブルを低減するためにサブルーチンリターンのための分岐ターゲット命令キャッシュ(btic)エントリを確立すること、ならびに関連するシステム、方法、およびコンピュータ可読媒体 | |
US20140281429A1 (en) | Eliminating redundant synchronization barriers in instruction processing circuits, and related processor systems, methods, and computer-readable media | |
US10223118B2 (en) | Providing references to previously decoded instructions of recently-provided instructions to be executed by a processor | |
US20160139933A1 (en) | Providing loop-invariant value prediction using a predicted values table, and related apparatuses, methods, and computer-readable media | |
US20140047221A1 (en) | Fusing flag-producing and flag-consuming instructions in instruction processing circuits, and related processor systems, methods, and computer-readable media | |
US20160019060A1 (en) | ENFORCING LOOP-CARRIED DEPENDENCY (LCD) DURING DATAFLOW EXECUTION OF LOOP INSTRUCTIONS BY OUT-OF-ORDER PROCESSORS (OOPs), AND RELATED CIRCUITS, METHODS, AND COMPUTER-READABLE MEDIA | |
JP2017537408A (ja) | アウトオブオーダー(ooo)プロセッサにおける早期命令実行を提供すること、ならびに関連する装置、方法、およびコンピュータ可読媒体 | |
US9858077B2 (en) | Issuing instructions to execution pipelines based on register-associated preferences, and related instruction processing circuits, processor systems, methods, and computer-readable media | |
JP2017527916A (ja) | リテラルロード予測テーブルを使用してリテラルロード値を予測すること、ならびに関係する回路、方法、およびコンピュータ可読媒体 | |
US9582285B2 (en) | Speculative history forwarding in overriding branch predictors, and related circuits, methods, and computer-readable media | |
JP2018523241A (ja) | パント回避テーブル(pat)を使用したコンピュータプロセッサ内のメモリ命令パントの予測 | |
US10437592B2 (en) | Reduced logic level operation folding of context history in a history register in a prediction system for a processor-based system | |
US20160092219A1 (en) | Accelerating constant value generation using a computed constants table, and related circuits, methods, and computer-readable media | |
US20190294443A1 (en) | Providing early pipeline optimization of conditional instructions in processor-based systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A529 | Written submission of copy of amendment under section 34 (pct) |
Free format text: JAPANESE INTERMEDIATE CODE: A529 Effective date: 20150605 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161107 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161107 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171128 |
|
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: 20171204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171227 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6271572 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |