JP2014013565A - ループバッファ学習 - Google Patents
ループバッファ学習 Download PDFInfo
- Publication number
- JP2014013565A JP2014013565A JP2013125334A JP2013125334A JP2014013565A JP 2014013565 A JP2014013565 A JP 2014013565A JP 2013125334 A JP2013125334 A JP 2013125334A JP 2013125334 A JP2013125334 A JP 2013125334A JP 2014013565 A JP2014013565 A JP 2014013565A
- Authority
- JP
- Japan
- Prior art keywords
- loop
- branch
- candidate
- buffer
- loop buffer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 23
- 230000004044 response Effects 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims 1
- 230000015654 memory Effects 0.000 description 32
- 210000005100 blood-tumour barrier Anatomy 0.000 description 18
- 238000001514 detection method Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 238000003860 storage Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 7
- 238000009826 distribution Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 3
- 230000009249 intrinsic sympathomimetic activity Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect 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
- 238000012797 qualification Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 210000003813 thumb Anatomy 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
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- 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
- G06F9/381—Loop buffering
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/325—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
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)
- Multi Processors (AREA)
Abstract
【解決手段】ロードバッファコントロールユニットは、「後方に行う分岐」を検出し、そしてループ候補の追跡を開始する。コントロールユニットは、ループ候補の「行う分岐」を追跡し、そしてループのスタートから各「行う分岐」への距離を追跡する。各「行う分岐」への距離がループの複数の繰り返しにわたり同じままである場合には、そのループがループバッファに記憶される。次いで、ループは、ループバッファからディスパッチされ、そしてプロセッサの前端は、ループが終了するまでパワーダウンされる。
【選択図】図2
Description
12:プロセッサコンプレックス
14、16:CPU
18:レベル2(L2)キャッシュ
20:バスインターフェイスユニット(BIU)
22:メモリコントローラ
24、26:メモリ物理的インターフェイス回路(PHY)
30:コア
32:フェッチ・デコード(FED)ユニット
34:レベル1(L1)インストラクションキャッシュ
35:ループバッファ
36:マップ・ディスパッチユニット
38:リオーダーバッファ(ROB)
40:メモリマネージメントユニット(MMU)
42:コアインターフェイスユニット(CIF)
44:実行ユニット
46:ロード・記憶ユニット(LSU)
48:L1データキャッシュ
50:記憶キュー
52:ロードキュー
212:外部メモリ
214:周辺装置
216:電源
260:コンピュータ読み取り可能な媒体
Claims (20)
- インストラクションオペレーションを記憶するよう構成されたループバッファを備え、前記インストラクションオペレーションは、装置がループバッファモードにあるのを検出するのに応答して前記ループバッファからディスパッチされるものであり、
前記ループバッファに結合されたループバッファコントロールユニットを更に備え、該ループバッファコントロールユニットは、
複数のインストラクションを含むループ候補のスタートから、前記ループ候補内の各「行う分岐」への距離を追跡し、及び
前記ループ候補のスタートから各「行う分岐」への距離が前記ループ候補の少なくとも所与の繰り返し数について不変であることを検出するのに応答して前記ループバッファモードを開始する、
ように構成された、装置。 - フェッチユニット及びインストラクションキャッシュを更に備え、前記装置は、前記ループバッファモードが開始されるのに応答して前記フェッチユニット及びインストラクションキャッシュの少なくとも一方をシャットダウンするように構成される、請求項1に記載の装置。
- 前記インストラクションオペレーションは、前記装置がループバッファモードにあるときに前記ループバッファからデコードユニットへディスパッチされる、請求項1に記載の装置。
- 前記ループ候補のスタートから各「行う分岐」への距離は、インストラクションオペレーションで測定される、請求項1に記載の装置。
- 前記所与の繰り返し数は、スレッシュホールドより大きな繰り返し数に対応する、請求項1に記載の装置。
- 前記スレッシュホールドは、分岐プレディクタがループ候補の終了を予想するのに必要な時間量に基づく、請求項5に記載の装置。
- 分岐追跡テーブルを更に備え、該分岐追跡テーブルは、ループ候補の各「行う分岐」のエントリを含み、各エントリは、前記ループ候補のスタートから各「行う分岐」への距離に対応する値を含む、請求項1に記載の装置。
- ループバッファと、
前記ループバッファに結合されたループバッファコントロールユニットと、
を備え、前記ループバッファコントロールユニットは、
「後方に行う分岐」を検出するのに応答してループ候補を監視し、
前記ループ候補のスタートから前記ループ候補内の1つ以上のインストラクションへの1つ以上の距離を追跡し、
前記1つ以上の距離が第1の複数の検出された「行う分岐」に対して不変であることを検出するのに応答して前記ループ候補を前記ループバッファに記憶させる、
ように構成された、プロセッサ。 - 追跡される1つ以上のインストラクションは、1つ以上の「行う分岐」である、請求項8に記載のプロセッサ。
- 前記ループ候補のスタートは、前記「後方に行う分岐」の後のインストラクションとして識別される、請求項8に記載のプロセッサ。
- 1つの「後方に行う分岐」のみがループ候補において許される、請求項8に記載のプロセッサ。
- マップ・ディスパットユニットを更に備え、前記インストラクションオペレーションは、ループ候補が前記ループバッファに記憶されるときに前記ループバッファから前記マップ・ディスパットユニットへディスパッチされる、請求項8に記載のプロセッサ。
- 前記ループバッファコントロールユニットは、前記ループ候補のスタートから「行う分岐」への距離が前記ループ候補のその後の繰り返しにおいて変化したことを検出するのに応答して前記ループ候補の監視及び追跡を終了するよう更に構成される、請求項9に記載のプロセッサ。
- 前記ループバッファコントロールユニットは、前記ループ候補が前記ループバッファに適合できないことを検出するのに応答して前記ループ候補の監視及び追跡を終了するよう更に構成される、請求項8に記載のプロセッサ。
- ループ終了分岐を検出し、
インストラクションオペレーションカウンタ及び繰り返しカウンタを開始し、
ループ候補の複数のインストラクションを追跡し、
前記ループ終了分岐を2度目に検出するのに応答して前記インストラクションオペレーションカウンタをループバッファのサイズと比較し、
前記ループ終了分岐を2度目に検出したときに前記インストラクションオペレーションカウンタが前記ループバッファのサイズより大きいと決定するのに応答して前記ループ候補の追跡を終了し、
前記インストラクションオペレーションカウンタが前記ループバッファのサイズより大きくないと決定するのに応答して前記ループ候補の追跡を継続し且つ前記繰り返しカウンタをインクリメントし、及び
前記繰り返しカウンタがスレッシュホールドを越えるのに応答して前記ループ候補を前記ループバッファにキャッシュする、
という段階を含む方法。 - 前記ループ候補のスタートから前記ループ候補の第1の繰り返し数における前記ループ候補の各「行う分岐」への距離を監視し、及び
前記ループ候補のスタートから前記ループ候補のいずれかの「行う分岐」への距離が前記ループ候補の第1の繰り返し数のいずれかにおいて変化したとの決定に応答して前記ループ候補の追跡を終了する、
という段階を更に含む請求項15に記載の方法。 - 前記ループ候補を前記ループバッファにキャッシュするのに応答してフェッチユニットをシャットダウンする段階を更に含む、請求項15に記載の方法。
- 前記ループ候補を前記ループバッファにキャッシュするのに応答して前記ループ候補を前記ループバッファからプロセッサパイプラインの次の段へディスパッチする段階を更に含む、請求項15に記載の方法。
- 前記プロセッサパイプラインの次の段は、デコードユニットである、請求項18に記載の方法。
- 前記プロセッサパイプラインの次の段は、マップ・ディスパッチユニットである、請求項18に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/524,508 | 2012-06-15 | ||
US13/524,508 US9557999B2 (en) | 2012-06-15 | 2012-06-15 | Loop buffer learning |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014013565A true JP2014013565A (ja) | 2014-01-23 |
JP5799465B2 JP5799465B2 (ja) | 2015-10-28 |
Family
ID=48670377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013125334A Expired - Fee Related JP5799465B2 (ja) | 2012-06-15 | 2013-06-14 | ループバッファ学習 |
Country Status (8)
Country | Link |
---|---|
US (1) | US9557999B2 (ja) |
EP (1) | EP2674858B1 (ja) |
JP (1) | JP5799465B2 (ja) |
KR (1) | KR101497214B1 (ja) |
CN (1) | CN103593167B (ja) |
BR (1) | BR102013015049B1 (ja) |
TW (1) | TWI520060B (ja) |
WO (1) | WO2013188122A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10430196B2 (en) | 2016-06-30 | 2019-10-01 | Fujitsu Limited | Arithmetic processing device for predicting loop processing |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9753733B2 (en) | 2012-06-15 | 2017-09-05 | Apple Inc. | Methods, apparatus, and processors for packing multiple iterations of loop in a loop buffer |
US9459871B2 (en) * | 2012-12-31 | 2016-10-04 | Intel Corporation | System of improved loop detection and execution |
EP3005078A2 (en) | 2013-05-24 | 2016-04-13 | Coherent Logix Incorporated | Memory-network processor with programmable optimizations |
US9632791B2 (en) | 2014-01-21 | 2017-04-25 | Apple Inc. | Cache for patterns of instructions with multiple forward control transfers |
US9471322B2 (en) * | 2014-02-12 | 2016-10-18 | Apple Inc. | Early loop buffer mode entry upon number of mispredictions of exit condition exceeding threshold |
US9524011B2 (en) | 2014-04-11 | 2016-12-20 | Apple Inc. | Instruction loop buffer with tiered power savings |
CN105511838B (zh) | 2014-09-29 | 2018-06-29 | 上海兆芯集成电路有限公司 | 处理器及其执行方法 |
US20160179549A1 (en) * | 2014-12-23 | 2016-06-23 | Intel Corporation | Instruction and Logic for Loop Stream Detection |
US9830152B2 (en) | 2015-12-22 | 2017-11-28 | Qualcomm Incorporated | Selective storing of previously decoded instructions of frequently-called instruction sequences in an instruction sequence buffer to be executed by a processor |
GB2548602B (en) | 2016-03-23 | 2019-10-23 | Advanced Risc Mach Ltd | Program loop control |
GB2548603B (en) * | 2016-03-23 | 2018-09-26 | Advanced Risc Mach Ltd | Program loop control |
US10223118B2 (en) | 2016-03-24 | 2019-03-05 | Qualcomm Incorporated | Providing references to previously decoded instructions of recently-provided instructions to be executed by a processor |
US10318433B2 (en) * | 2016-12-20 | 2019-06-11 | Texas Instruments Incorporated | Streaming engine with multi dimensional circular addressing selectable at each dimension |
CN108256735B (zh) * | 2017-12-14 | 2020-12-25 | 中国平安财产保险股份有限公司 | 查勘派工的处理方法及终端设备 |
US10915322B2 (en) * | 2018-09-18 | 2021-02-09 | Advanced Micro Devices, Inc. | Using loop exit prediction to accelerate or suppress loop mode of a processor |
US11269642B2 (en) * | 2019-09-20 | 2022-03-08 | Microsoft Technology Licensing, Llc | Dynamic hammock branch training for branch hammock detection in an instruction stream executing in a processor |
CN112579169B (zh) * | 2019-09-27 | 2024-04-09 | 阿里巴巴集团控股有限公司 | 处理器追踪流的生成方法及装置 |
US11928474B2 (en) * | 2022-06-03 | 2024-03-12 | Microsoft Technology Licensing, Llc | Selectively updating branch predictors for loops executed from loop buffers in a processor |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0991136A (ja) * | 1995-09-25 | 1997-04-04 | Toshiba Corp | 信号処理装置 |
JPH10154098A (ja) * | 1996-11-14 | 1998-06-09 | Motorola Inc | キャッシュを有するデータ処理システムおよびそのための方法 |
JP2001195302A (ja) * | 1999-11-30 | 2001-07-19 | Texas Instr Inc <Ti> | 命令ループ・バッファ |
JP2002516425A (ja) * | 1998-05-21 | 2002-06-04 | テラブス オペレーションズ,インコーポレイテッド | デジタルプロセッサ用制御装置 |
JP2010066892A (ja) * | 2008-09-09 | 2010-03-25 | Renesas Technology Corp | データプロセッサ及びデータ処理システム |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63314644A (ja) | 1987-06-17 | 1988-12-22 | Nec Corp | デ−タ処理装置 |
EP0449369B1 (en) | 1990-03-27 | 1998-07-29 | Koninklijke Philips Electronics N.V. | A data processing system provided with a performance enhancing instruction cache |
JP3032030B2 (ja) | 1991-04-05 | 2000-04-10 | 株式会社東芝 | ループ最適化方法及び装置 |
JP3032031B2 (ja) | 1991-04-05 | 2000-04-10 | 株式会社東芝 | ループ最適化方法及び装置 |
MX9306994A (es) | 1992-12-15 | 1994-06-30 | Ericsson Telefon Ab L M | Sistema de control de flujo para interruptores de paquete. |
JPH10124315A (ja) | 1996-10-18 | 1998-05-15 | Hitachi Ltd | 分岐処理方法およびそのための情報処理装置 |
US5951679A (en) | 1996-10-31 | 1999-09-14 | Texas Instruments Incorporated | Microprocessor circuits, systems, and methods for issuing successive iterations of a short backward branch loop in a single cycle |
US6076159A (en) | 1997-09-12 | 2000-06-13 | Siemens Aktiengesellschaft | Execution of a loop instructing in a loop pipeline after detection of a first occurrence of the loop instruction in an integer pipeline |
US6269440B1 (en) | 1999-02-05 | 2001-07-31 | Agere Systems Guardian Corp. | Accelerating vector processing using plural sequencers to process multiple loop iterations simultaneously |
JP2000298587A (ja) | 1999-03-08 | 2000-10-24 | Texas Instr Inc <Ti> | 命令反復中に指定先にブランチする装置を持つ処理装置 |
EP1050804A1 (en) | 1999-05-03 | 2000-11-08 | STMicroelectronics SA | Execution of instruction loops |
US6598155B1 (en) | 2000-01-31 | 2003-07-22 | Intel Corporation | Method and apparatus for loop buffering digital signal processing instructions |
US6963965B1 (en) | 1999-11-30 | 2005-11-08 | Texas Instruments Incorporated | Instruction-programmable processor with instruction loop cache |
US7302557B1 (en) | 1999-12-27 | 2007-11-27 | Impact Technologies, Inc. | Method and apparatus for modulo scheduled loop execution in a processor architecture |
US6757817B1 (en) | 2000-05-19 | 2004-06-29 | Intel Corporation | Apparatus having a cache and a loop buffer |
US6671799B1 (en) * | 2000-08-31 | 2003-12-30 | Stmicroelectronics, Inc. | System and method for dynamically sizing hardware loops and executing nested loops in a digital signal processor |
US6748523B1 (en) | 2000-11-02 | 2004-06-08 | Intel Corporation | Hardware loops |
US6898693B1 (en) | 2000-11-02 | 2005-05-24 | Intel Corporation | Hardware loops |
US6950929B2 (en) | 2001-05-24 | 2005-09-27 | Samsung Electronics Co., Ltd. | Loop instruction processing using loop buffer in a data processing device having a coprocessor |
JP2004038601A (ja) | 2002-07-04 | 2004-02-05 | Matsushita Electric Ind Co Ltd | キャッシュメモリ装置 |
WO2004049154A2 (en) * | 2002-11-28 | 2004-06-10 | Koninklijke Philips Electronics N.V. | A loop control circuit for a data processor |
US20040123075A1 (en) * | 2002-12-19 | 2004-06-24 | Yoav Almog | Extended loop prediction techniques |
US7159103B2 (en) | 2003-03-24 | 2007-01-02 | Infineon Technologies Ag | Zero-overhead loop operation in microprocessor having instruction buffer |
US7130963B2 (en) | 2003-07-16 | 2006-10-31 | International Business Machines Corp. | System and method for instruction memory storage and processing based on backwards branch control information |
US7752426B2 (en) | 2004-08-30 | 2010-07-06 | Texas Instruments Incorporated | Processes, circuits, devices, and systems for branch prediction and other processor improvements |
JP2006309337A (ja) | 2005-04-26 | 2006-11-09 | Toshiba Corp | プロセッサ及びプロセッサの命令バッファ動作方法 |
US7330964B2 (en) | 2005-11-14 | 2008-02-12 | Texas Instruments Incorporated | Microprocessor with independent SIMD loop buffer |
US7475231B2 (en) * | 2005-11-14 | 2009-01-06 | Texas Instruments Incorporated | Loop detection and capture in the instruction queue |
US7873820B2 (en) | 2005-11-15 | 2011-01-18 | Mips Technologies, Inc. | Processor utilizing a loop buffer to reduce power consumption |
TW200723094A (en) | 2005-12-01 | 2007-06-16 | Ind Tech Res Inst | Dynamic branch prediction system and method |
US9052910B2 (en) * | 2007-10-25 | 2015-06-09 | International Business Machines Corporation | Efficiency of short loop instruction fetch |
US20090217017A1 (en) * | 2008-02-26 | 2009-08-27 | International Business Machines Corporation | Method, system and computer program product for minimizing branch prediction latency |
TWI362001B (en) | 2008-07-16 | 2012-04-11 | Faraday Tech Corp | Recovery apparatus for solving branch mis-prediction and method and central processing unit thereof |
US9952869B2 (en) * | 2009-11-04 | 2018-04-24 | Ceva D.S.P. Ltd. | System and method for using a branch mis-prediction buffer |
CN102882845B (zh) | 2010-04-07 | 2016-07-13 | 苹果公司 | 实时或准实时流传输 |
US8446186B2 (en) | 2010-06-07 | 2013-05-21 | Silicon Laboratories Inc. | Time-shared latency locked loop circuit for driving a buffer circuit |
US20120079303A1 (en) | 2010-09-24 | 2012-03-29 | Madduri Venkateswara R | Method and apparatus for reducing power consumption in a processor by powering down an instruction fetch unit |
US20120185714A1 (en) * | 2011-12-15 | 2012-07-19 | Jaewoong Chung | Method, apparatus, and system for energy efficiency and energy conservation including code recirculation techniques |
US9753733B2 (en) | 2012-06-15 | 2017-09-05 | Apple Inc. | Methods, apparatus, and processors for packing multiple iterations of loop in a loop buffer |
US9471322B2 (en) | 2014-02-12 | 2016-10-18 | Apple Inc. | Early loop buffer mode entry upon number of mispredictions of exit condition exceeding threshold |
-
2012
- 2012-06-15 US US13/524,508 patent/US9557999B2/en active Active
-
2013
- 2013-05-30 WO PCT/US2013/043328 patent/WO2013188122A2/en active Application Filing
- 2013-06-12 EP EP13171667.2A patent/EP2674858B1/en active Active
- 2013-06-14 KR KR20130068355A patent/KR101497214B1/ko active IP Right Grant
- 2013-06-14 JP JP2013125334A patent/JP5799465B2/ja not_active Expired - Fee Related
- 2013-06-14 TW TW102121215A patent/TWI520060B/zh active
- 2013-06-14 CN CN201310233540.XA patent/CN103593167B/zh not_active Expired - Fee Related
- 2013-06-17 BR BR102013015049-5A patent/BR102013015049B1/pt active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0991136A (ja) * | 1995-09-25 | 1997-04-04 | Toshiba Corp | 信号処理装置 |
JPH10154098A (ja) * | 1996-11-14 | 1998-06-09 | Motorola Inc | キャッシュを有するデータ処理システムおよびそのための方法 |
JP2002516425A (ja) * | 1998-05-21 | 2002-06-04 | テラブス オペレーションズ,インコーポレイテッド | デジタルプロセッサ用制御装置 |
JP2001195302A (ja) * | 1999-11-30 | 2001-07-19 | Texas Instr Inc <Ti> | 命令ループ・バッファ |
JP2010066892A (ja) * | 2008-09-09 | 2010-03-25 | Renesas Technology Corp | データプロセッサ及びデータ処理システム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10430196B2 (en) | 2016-06-30 | 2019-10-01 | Fujitsu Limited | Arithmetic processing device for predicting loop processing |
Also Published As
Publication number | Publication date |
---|---|
EP2674858A2 (en) | 2013-12-18 |
CN103593167B (zh) | 2017-02-22 |
WO2013188122A3 (en) | 2014-02-13 |
CN103593167A (zh) | 2014-02-19 |
EP2674858B1 (en) | 2019-10-30 |
TW201411487A (zh) | 2014-03-16 |
TWI520060B (zh) | 2016-02-01 |
EP2674858A3 (en) | 2014-04-30 |
US20130339700A1 (en) | 2013-12-19 |
WO2013188122A2 (en) | 2013-12-19 |
BR102013015049A2 (pt) | 2015-06-23 |
JP5799465B2 (ja) | 2015-10-28 |
US9557999B2 (en) | 2017-01-31 |
KR20130141394A (ko) | 2013-12-26 |
BR102013015049B1 (pt) | 2021-03-02 |
KR101497214B1 (ko) | 2015-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5799465B2 (ja) | ループバッファ学習 | |
US9471322B2 (en) | Early loop buffer mode entry upon number of mispredictions of exit condition exceeding threshold | |
KR101496009B1 (ko) | 루프 버퍼 패킹 | |
US9128725B2 (en) | Load-store dependency predictor content management | |
US9026769B1 (en) | Detecting and reissuing of loop instructions in reorder structure | |
US10437595B1 (en) | Load/store dependency predictor optimization for replayed loads | |
US20070130448A1 (en) | Stack tracker | |
US9354886B2 (en) | Maintaining the integrity of an execution return address stack | |
US10747539B1 (en) | Scan-on-fill next fetch target prediction | |
US9378022B2 (en) | Performing predecode-time optimized instructions in conjunction with predecode time optimized instruction sequence caching | |
US9367317B2 (en) | Loop streaming detector for standard and complex instruction types | |
US20230305742A1 (en) | Precise longitudinal monitoring of memory operations | |
CN115698942A (zh) | 将原子性与操作大小解耦 | |
US20130007424A1 (en) | Cascading indirect branch instructions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140804 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141104 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20150115 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150515 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20150522 |
|
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: 20150803 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150806 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5799465 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 |
|
LAPS | Cancellation because of no payment of annual fees |