JP7301955B2 - ループ終了予測を用いたプロセッサのループモードの促進又は抑制 - Google Patents
ループ終了予測を用いたプロセッサのループモードの促進又は抑制 Download PDFInfo
- Publication number
- JP7301955B2 JP7301955B2 JP2021514963A JP2021514963A JP7301955B2 JP 7301955 B2 JP7301955 B2 JP 7301955B2 JP 2021514963 A JP2021514963 A JP 2021514963A JP 2021514963 A JP2021514963 A JP 2021514963A JP 7301955 B2 JP7301955 B2 JP 7301955B2
- Authority
- JP
- Japan
- Prior art keywords
- loop
- instructions
- processor
- mode
- instruction
- 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.)
- Active
Links
- 230000001737 promoting effect Effects 0.000 title 1
- 238000000034 method Methods 0.000 claims description 34
- 230000004044 response Effects 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000009738 saturating Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000002730 additional effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical 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/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30065—Loop control instructions; iterative instructions, e.g. LOOP, REPEAT
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- 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/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30083—Power or thermal control instructions
-
- 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/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- 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
-
- 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
- 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
-
- 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/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Microcomputers (AREA)
- Power Sources (AREA)
Description
Claims (20)
- プロセッサにおいて、ループ命令のセットに関連するループに対して実行されることが予想されるループ繰り返し数を予測することと、
予測されたループ繰り返し数が第1のループ繰り返し閾値を超えることに応じて、前記ループ命令のセットをループモードで実行することであって、前記プロセッサの命令パイプラインの少なくとも1つのコンポーネントを低電力モードに置くことと、前記ループ命令のセットをループバッファから実行することと、を含む、ことと、を含む、
方法。 - 前記予測されたループ繰り返し数が前記第1のループ繰り返し閾値を超えないことに応じて、前記予測されたループ繰り返し数と第2のループ繰り返し閾値とを比較し、前記予測されたループ繰り返し数が前記第2のループ繰り返し閾値よりも小さいことに応じて、閾値回数のループ繰り返しが実行されるまで前記ループモードに移行するのを遅らせることをさらに含む、
請求項1の方法。 - 前記予測されたループ繰り返し数が前記第2のループ繰り返し閾値よりも大きいことに応じて、前記ループモードに移行する前に、いくつかの成功したループ実行を待つことをさらに含む、
請求項2の方法。 - 前記命令パイプラインの少なくとも1つのコンポーネントを低電力モードに置くことは、前記プロセッサのループ終了予測器を前記低電力モードに置くことを含む、
請求項1の方法。 - 前記命令パイプラインの少なくとも1つのコンポーネントを低電力モードに置いた後に、前記ループ命令のセットに関連するループ繰り返し数をループ終了予測器によって更新することと、
更新されたループ繰り返し数に基づいて、低電力モードにある前記命令パイプラインの少なくとも1つのコンポーネントに電力を戻すタイミングを決定することと、をさらに含む、
請求項1の方法。 - 前記ループ繰り返し数を予測する前に、記憶されたループ識別子のセット内の識別子にループ命令の特性をマッチングさせることによって、命令を前記ループ命令のセットとして識別することをさらに含む、
請求項1~5の何れかの方法。 - 前記命令パイプラインの少なくとも1つのコンポーネントを低電力モードに置くことは、前記ループ命令のセットの命令を実行する前に行われる、
請求項1の方法。 - 前記ループモード中に前記ループ命令のセットの終了を予測することをさらに含む、
請求項1の方法。 - プロセッサにおいて、ループ命令のセットに関連するループに対して実行されることが予想されるループ繰り返し数が、第1のループ繰り返し閾値を超えることを予測したことに応じて、
前記ループ命令のセットをループバッファに記憶することと、
前記プロセッサの命令パイプラインのコンポーネントを低電力モードに置くことと、
前記ループ命令のセットを前記ループバッファから実行することと、
前記プロセッサのループ終了予測器によってループ終了を予測することと、
予測されたループ終了に基づいて、低電力モードに置かれた前記コンポーネントに電力を戻すことと、を含む、
方法。 - 前記命令パイプラインのコンポーネントをパワーダウンする前に、予測されたループ繰り返し数を前記第1のループ繰り返し閾値と比較することをさらに含む、
請求項9の方法。 - 前記命令パイプラインのコンポーネントは、前記ループ命令のセットをループバッファから実行する前に低電力モードに置かれる、
請求項9の方法。 - 前記命令パイプラインのコンポーネントをパワーダウンすることは、前記プロセッサのループ終了予測器をパワーダウンすることを含む、
請求項9~11の何れかの方法。 - プロセッサであって、
ループ命令のセットを有する命令キャッシュと、
前記ループ命令のセットを記憶するように構成されたループバッファと、
前記ループ命令のセットに関連するループに対して実行されることが予想されるループ繰り返し数を予測するように構成されたループ終了予測器と、を備え、
前記プロセッサは、
予測されたループ繰り返し数が第1のループ繰り返し閾値を超えることに応じて、前記ループ命令のセットをループモードで実行することであって、前記プロセッサの命令パイプラインの少なくとも1つのコンポーネントを低電力モードに置くことと、前記ループ命令のセットを前記ループバッファから実行することと、を含む、ことと、
予測されたループ繰り返し数が前記第1のループ繰り返し閾値以下であることに応じて、前記ループ命令のセットを非ループモードで実行することであって、前記命令パイプラインの前記少なくとも1つのコンポーネントをアクティブ状態に維持することと、前記命令パイプラインの命令フェッチユニットによって前記命令キャッシュからフェッチされた前記ループ命令のセットを実行することと、を含む、ことと、
を行うように構成されている、
プロセッサ。 - 前記ループ命令のセットを、前記プロセッサの機能ユニットに実行させるためにマイクロオペレーションにデコードするデコーダをさらに備え、
前記命令フェッチユニットは、前記命令キャッシュから前記デコーダに前記ループ命令を提供するように構成されている、
請求項13のプロセッサ。 - 前記命令フェッチユニットは、前記ループ終了予測器に命令を提供するように構成されている、
請求項14のプロセッサ。 - 前記低電力モードに置かれた前記命令パイプラインの少なくとも1つのコンポーネントは、前記プロセッサの命令フェッチコンポーネントである、
請求項13のプロセッサ。 - 前記低電力モードに置かれた前記命令パイプラインの少なくとも1つのコンポーネントは、前記ループ終了予測器である、
請求項13のプロセッサ。 - 前記ループ終了予測器は、
前記命令パイプラインの前記少なくとも1つのコンポーネントを前記低電力モードに置いた後に、前記ループ命令のセットに関連するループ繰り返し数を更新するように構成されており、
前記低電力モードに置かれた前記命令パイプラインの少なくとも1つのコンポーネントに電力を戻すタイミングは、更新されたループ繰り返し数に基づいている、
請求項13~17の何れかのプロセッサ。 - 記憶されたループ識別子のバッファをさらに備え、
前記ループ終了予測器は、前記ループ命令のセットの特性を、前記記憶されたループ識別子のバッファ内の識別子にマッチングさせるように構成されている、
請求項13のプロセッサ。 - 前記命令パイプラインの少なくとも1つのコンポーネントを前記低電力モードに置くことは、前記ループ命令のセットに関連する命令を実行する前であって、前記ループ命令のセットに関連する前記ループ繰り返し数を予測した後に行われる、
請求項13のプロセッサ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/134,440 | 2018-09-18 | ||
US16/134,440 US10915322B2 (en) | 2018-09-18 | 2018-09-18 | Using loop exit prediction to accelerate or suppress loop mode of a processor |
PCT/US2019/048487 WO2020060734A1 (en) | 2018-09-18 | 2019-08-28 | Using loop exit prediction to accelerate or suppress loop mode of a processor |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2022500777A JP2022500777A (ja) | 2022-01-04 |
JPWO2020060734A5 JPWO2020060734A5 (ja) | 2022-09-01 |
JP7301955B2 true JP7301955B2 (ja) | 2023-07-03 |
Family
ID=69772505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021514963A Active JP7301955B2 (ja) | 2018-09-18 | 2019-08-28 | ループ終了予測を用いたプロセッサのループモードの促進又は抑制 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10915322B2 (ja) |
EP (1) | EP3853716A4 (ja) |
JP (1) | JP7301955B2 (ja) |
KR (1) | KR102556897B1 (ja) |
CN (1) | CN112740173A (ja) |
WO (1) | WO2020060734A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10884751B2 (en) | 2018-07-13 | 2021-01-05 | Advanced Micro Devices, Inc. | Method and apparatus for virtualizing the micro-op cache |
US11294681B2 (en) * | 2019-05-31 | 2022-04-05 | Texas Instruments Incorporated | Processing device with a microbranch target buffer for branch prediction using loop iteration count |
US11256318B2 (en) * | 2019-08-09 | 2022-02-22 | Intel Corporation | Techniques for memory access in a reduced power state |
US20210200550A1 (en) * | 2019-12-28 | 2021-07-01 | Intel Corporation | Loop exit predictor |
US20220283811A1 (en) * | 2021-03-03 | 2022-09-08 | Microsoft Technology Licensing, Llc | Loop buffering employing loop characteristic prediction in a processor for optimizing loop buffer performance |
US20240028339A1 (en) * | 2022-07-25 | 2024-01-25 | Apple Inc. | Using a Next Fetch Predictor Circuit with Short Branches and Return Fetch Groups |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120117362A1 (en) | 2010-11-10 | 2012-05-10 | Bhargava Ravindra N | Replay of detected patterns in predicted instructions |
JP2013254484A (ja) | 2012-04-02 | 2013-12-19 | Apple Inc | ベクトル分割ループの性能の向上 |
US20150293577A1 (en) | 2014-04-11 | 2015-10-15 | Apple Inc. | Instruction loop buffer with tiered power savings |
US20160092230A1 (en) | 2014-09-29 | 2016-03-31 | Via Alliance Semiconductor, Ltd. | Loop predictor-directed loop buffer |
US20160179549A1 (en) | 2014-12-23 | 2016-06-23 | Intel Corporation | Instruction and Logic for Loop Stream Detection |
US9557999B2 (en) | 2012-06-15 | 2017-01-31 | Apple Inc. | Loop buffer learning |
JP2018005488A (ja) | 2016-06-30 | 2018-01-11 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6578138B1 (en) | 1999-12-30 | 2003-06-10 | Intel Corporation | System and method for unrolling loops in a trace cache |
JP5043560B2 (ja) | 2007-08-24 | 2012-10-10 | パナソニック株式会社 | プログラム実行制御装置 |
US9952869B2 (en) * | 2009-11-04 | 2018-04-24 | Ceva D.S.P. Ltd. | System and method for using a branch mis-prediction buffer |
US9753733B2 (en) * | 2012-06-15 | 2017-09-05 | Apple Inc. | Methods, apparatus, and processors for packing multiple iterations of loop in a loop buffer |
US9710276B2 (en) * | 2012-11-09 | 2017-07-18 | Advanced Micro Devices, Inc. | Execution of instruction loops using an instruction buffer |
US9459871B2 (en) * | 2012-12-31 | 2016-10-04 | Intel Corporation | System of improved loop detection and execution |
US9471322B2 (en) | 2014-02-12 | 2016-10-18 | Apple Inc. | Early loop buffer mode entry upon number of mispredictions of exit condition exceeding threshold |
US9875106B2 (en) | 2014-11-12 | 2018-01-23 | Mill Computing, Inc. | Computer processor employing instruction block exit prediction |
-
2018
- 2018-09-18 US US16/134,440 patent/US10915322B2/en active Active
-
2019
- 2019-08-28 KR KR1020217010368A patent/KR102556897B1/ko active IP Right Grant
- 2019-08-28 JP JP2021514963A patent/JP7301955B2/ja active Active
- 2019-08-28 WO PCT/US2019/048487 patent/WO2020060734A1/en unknown
- 2019-08-28 EP EP19862627.7A patent/EP3853716A4/en active Pending
- 2019-08-28 CN CN201980061096.3A patent/CN112740173A/zh active Pending
-
2021
- 2021-02-05 US US17/169,053 patent/US11256505B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120117362A1 (en) | 2010-11-10 | 2012-05-10 | Bhargava Ravindra N | Replay of detected patterns in predicted instructions |
JP2013254484A (ja) | 2012-04-02 | 2013-12-19 | Apple Inc | ベクトル分割ループの性能の向上 |
US9557999B2 (en) | 2012-06-15 | 2017-01-31 | Apple Inc. | Loop buffer learning |
US20150293577A1 (en) | 2014-04-11 | 2015-10-15 | Apple Inc. | Instruction loop buffer with tiered power savings |
US20160092230A1 (en) | 2014-09-29 | 2016-03-31 | Via Alliance Semiconductor, Ltd. | Loop predictor-directed loop buffer |
US20160179549A1 (en) | 2014-12-23 | 2016-06-23 | Intel Corporation | Instruction and Logic for Loop Stream Detection |
JP2018005488A (ja) | 2016-06-30 | 2018-01-11 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200089498A1 (en) | 2020-03-19 |
US10915322B2 (en) | 2021-02-09 |
KR102556897B1 (ko) | 2023-07-18 |
EP3853716A1 (en) | 2021-07-28 |
KR20210046806A (ko) | 2021-04-28 |
US20210191722A1 (en) | 2021-06-24 |
CN112740173A (zh) | 2021-04-30 |
US11256505B2 (en) | 2022-02-22 |
EP3853716A4 (en) | 2022-06-15 |
JP2022500777A (ja) | 2022-01-04 |
WO2020060734A1 (en) | 2020-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7301955B2 (ja) | ループ終了予測を用いたプロセッサのループモードの促進又は抑制 | |
US9891923B2 (en) | Loop predictor-directed loop buffer | |
US10241797B2 (en) | Replay reduction by wakeup suppression using early miss indication | |
US7334143B2 (en) | Computer power conservation apparatus and method that enables less speculative execution during light processor load based on a branch confidence threshold value | |
US7627742B2 (en) | Method and apparatus for conserving power by throttling instruction fetching when a processor encounters low confidence branches in an information handling system | |
US8006070B2 (en) | Method and apparatus for inhibiting fetch throttling when a processor encounters a low confidence branch instruction in an information handling system | |
KR100973951B1 (ko) | 오정렬 메모리 액세스 예측 | |
KR101561496B1 (ko) | 이종 멀티프로세서 컴퓨팅 플랫폼 내에서의 애플리케이션 스케줄링 | |
KR102271992B1 (ko) | 데이터 처리장치 및 추론 벡터 연산의 수행 제어방법 | |
US20070260853A1 (en) | Switching processor threads during long latencies | |
US20060225046A1 (en) | System for predictive processor component suspension and method thereof | |
US8028180B2 (en) | Method and system for power conservation in a hierarchical branch predictor | |
US10303482B2 (en) | Dynamic processor frequency selection | |
US20220283811A1 (en) | Loop buffering employing loop characteristic prediction in a processor for optimizing loop buffer performance | |
US20130173885A1 (en) | Processor and Methods of Adjusting a Branch Misprediction Recovery Mode | |
JP7232331B2 (ja) | ループ終了予測器 | |
US11663007B2 (en) | Control of branch prediction for zero-overhead loop | |
US20200159538A1 (en) | Adaptive Utilization Mechanism for a First-Line Defense Branch Predictor | |
US8266414B2 (en) | Method for executing an instruction loop and a device having instruction loop execution capabilities | |
US20020166042A1 (en) | Speculative branch target allocation | |
US11972264B2 (en) | Micro-operation supply rate variation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210519 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220824 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220824 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20220824 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230227 |
|
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: 20230530 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230621 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7301955 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |