JP2016507836A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2016507836A5 JP2016507836A5 JP2015553873A JP2015553873A JP2016507836A5 JP 2016507836 A5 JP2016507836 A5 JP 2016507836A5 JP 2015553873 A JP2015553873 A JP 2015553873A JP 2015553873 A JP2015553873 A JP 2015553873A JP 2016507836 A5 JP2016507836 A5 JP 2016507836A5
- Authority
- JP
- Japan
- Prior art keywords
- loop
- exit
- program
- prefetch
- program loop
- 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 11
- 230000006870 function Effects 0.000 claims 8
- 230000004044 response Effects 0.000 claims 6
- 230000003252 repetitive effect Effects 0.000 claims 3
- 238000011156 evaluation Methods 0.000 claims 1
- 238000012544 monitoring process Methods 0.000 claims 1
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/746,000 | 2013-01-21 | ||
| US13/746,000 US9519586B2 (en) | 2013-01-21 | 2013-01-21 | Methods and apparatus to reduce cache pollution caused by data prefetching |
| PCT/US2014/012152 WO2014113741A1 (en) | 2013-01-21 | 2014-01-18 | Methods and apparatus for cancelling data prefetch requests for a loop |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2016507836A JP2016507836A (ja) | 2016-03-10 |
| JP2016507836A5 true JP2016507836A5 (enExample) | 2017-04-06 |
| JP6143886B2 JP6143886B2 (ja) | 2017-06-07 |
Family
ID=50113017
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2015553873A Active JP6143886B2 (ja) | 2013-01-21 | 2014-01-18 | ループのデータプリフェッチ要求をキャンセルするための方法および装置 |
Country Status (10)
| Country | Link |
|---|---|
| US (1) | US9519586B2 (enExample) |
| EP (1) | EP2946286B1 (enExample) |
| JP (1) | JP6143886B2 (enExample) |
| KR (1) | KR101788683B1 (enExample) |
| CN (1) | CN105074655B (enExample) |
| BR (1) | BR112015017103B1 (enExample) |
| ES (1) | ES2655852T3 (enExample) |
| HU (1) | HUE035210T2 (enExample) |
| TW (1) | TWI521347B (enExample) |
| WO (1) | WO2014113741A1 (enExample) |
Families Citing this family (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9348754B2 (en) | 2012-10-11 | 2016-05-24 | Soft Machines Inc. | Systems and methods for implementing weak stream software data and instruction prefetching using a hardware data prefetcher |
| US9424046B2 (en) | 2012-10-11 | 2016-08-23 | Soft Machines Inc. | Systems and methods for load canceling in a processor that is connected to an external interconnect fabric |
| US10963254B2 (en) * | 2013-07-15 | 2021-03-30 | Texas Instruments Incorporated | Mechanism to queue multiple streams to run on streaming engine |
| CN104133691B (zh) * | 2014-05-05 | 2016-08-31 | 腾讯科技(深圳)有限公司 | 加速启动的方法及装置 |
| US20160283243A1 (en) * | 2015-03-28 | 2016-09-29 | Yong-Kyu Jung | Branch look-ahead instruction disassembling, assembling, and delivering system apparatus and method for microprocessor system |
| EP3320428A4 (en) * | 2015-07-09 | 2019-07-17 | Centipede Semi Ltd. | PROCESSOR WITH EFFICIENT MEMORY ACCESS |
| US10275249B1 (en) * | 2015-10-15 | 2019-04-30 | Marvell International Ltd. | Method and apparatus for predicting end of loop |
| US10528352B2 (en) | 2016-03-08 | 2020-01-07 | International Business Machines Corporation | Blocking instruction fetching in a computer processor |
| US10175987B2 (en) | 2016-03-17 | 2019-01-08 | International Business Machines Corporation | Instruction prefetching in a computer processor using a prefetch prediction vector |
| US10474578B2 (en) * | 2017-08-30 | 2019-11-12 | Oracle International Corporation | Utilization-based throttling of hardware prefetchers |
| GB2572954B (en) * | 2018-04-16 | 2020-12-30 | Advanced Risc Mach Ltd | An apparatus and method for prefetching data items |
| US10649777B2 (en) * | 2018-05-14 | 2020-05-12 | International Business Machines Corporation | Hardware-based data prefetching based on loop-unrolled instructions |
| GB2574270B (en) * | 2018-06-01 | 2020-09-09 | Advanced Risc Mach Ltd | Speculation-restricted memory region type |
| US11216279B2 (en) * | 2018-11-26 | 2022-01-04 | Advanced Micro Devices, Inc. | Loop exit predictor |
| US10884749B2 (en) | 2019-03-26 | 2021-01-05 | International Business Machines Corporation | Control of speculative demand loads |
| US10963388B2 (en) * | 2019-06-24 | 2021-03-30 | Samsung Electronics Co., Ltd. | Prefetching in a lower level exclusive cache hierarchy |
| FR3098622A1 (fr) * | 2019-07-12 | 2021-01-15 | Stmicroelectronics (Grenoble 2) Sas | Procede de gestion d’instructions d’un programme contenues dans une memoire programme et circuit integre correspondant |
| CN110442382B (zh) * | 2019-07-31 | 2021-06-15 | 西安芯海微电子科技有限公司 | 预取缓存控制方法、装置、芯片以及计算机可读存储介质 |
| US11150812B2 (en) * | 2019-08-20 | 2021-10-19 | Micron Technology, Inc. | Predictive memory management |
| CN111541722B (zh) * | 2020-05-22 | 2022-03-18 | 哈尔滨工程大学 | 基于密度聚类的信息中心网络缓存污染攻击检测防御方法 |
| US11567776B2 (en) * | 2020-11-03 | 2023-01-31 | Centaur Technology, Inc. | Branch density detection for prefetcher |
| US11630654B2 (en) * | 2021-08-19 | 2023-04-18 | International Business Machines Corporation | Analysis for modeling data cache utilization |
| US20250130947A1 (en) * | 2023-10-20 | 2025-04-24 | International Business Machines Corporation | Clear prefetch stream on detection of pipeline flush |
| US12493556B2 (en) | 2024-04-26 | 2025-12-09 | Google Llc | Hardware control system to modulate prefetchers based on runtime telemetry |
Family Cites Families (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH02287828A (ja) * | 1989-04-28 | 1990-11-27 | Fujitsu Ltd | プリフェッチ制御方式 |
| JPH0439733A (ja) * | 1990-06-06 | 1992-02-10 | Fujitsu Ltd | 先行制御方式 |
| JPH04344935A (ja) * | 1991-05-23 | 1992-12-01 | Nec Corp | 情報処理装置 |
| JPH10232775A (ja) * | 1997-02-20 | 1998-09-02 | Hitachi Ltd | プリフェッチ機構 |
| US5996061A (en) * | 1997-06-25 | 1999-11-30 | Sun Microsystems, Inc. | Method for invalidating data identified by software compiler |
| US6430680B1 (en) | 1998-03-31 | 2002-08-06 | International Business Machines Corporation | Processor and method of prefetching data based upon a detected stride |
| US6260116B1 (en) | 1998-07-01 | 2001-07-10 | International Business Machines Corporation | System and method for prefetching data |
| US6611910B2 (en) * | 1998-10-12 | 2003-08-26 | Idea Corporation | Method for processing branch operations |
| US6446143B1 (en) * | 1998-11-25 | 2002-09-03 | Compaq Information Technologies Group, L.P. | Methods and apparatus for minimizing the impact of excessive instruction retrieval |
| US6321330B1 (en) | 1999-05-28 | 2001-11-20 | Intel Corporation | Each iteration array selective loop data prefetch in multiple data width prefetch system using rotating register and parameterization to avoid redundant prefetch |
| US6799263B1 (en) * | 1999-10-28 | 2004-09-28 | Hewlett-Packard Development Company, L.P. | Prefetch instruction for an unpredicted path including a flush field for indicating whether earlier prefetches are to be discarded and whether in-progress prefetches are to be aborted |
| US6775765B1 (en) * | 2000-02-07 | 2004-08-10 | Freescale Semiconductor, Inc. | Data processing system having instruction folding and method thereof |
| US20020144054A1 (en) * | 2001-03-30 | 2002-10-03 | Fanning Blaise B. | Prefetch canceling based on most recent accesses |
| JP3683248B2 (ja) * | 2002-10-22 | 2005-08-17 | 富士通株式会社 | 情報処理装置及び情報処理方法 |
| US7194582B1 (en) | 2003-05-30 | 2007-03-20 | Mips Technologies, Inc. | Microprocessor with improved data stream prefetching |
| US7526604B1 (en) | 2004-08-09 | 2009-04-28 | Nvidia Corporation | Command queueing speculative write prefetch |
| US7587580B2 (en) * | 2005-02-03 | 2009-09-08 | Qualcomm Corporated | Power efficient instruction prefetch mechanism |
| US8589666B2 (en) | 2006-07-10 | 2013-11-19 | Src Computers, Inc. | Elimination of stream consumer loop overshoot effects |
| US7917701B2 (en) * | 2007-03-12 | 2011-03-29 | Arm Limited | Cache circuitry, data processing apparatus and method for prefetching data by selecting one of a first prefetch linefill operation and a second prefetch linefill operation |
| US7640420B2 (en) * | 2007-04-02 | 2009-12-29 | Intel Corporation | Pre-fetch apparatus |
| GB0722707D0 (en) | 2007-11-19 | 2007-12-27 | St Microelectronics Res & Dev | Cache memory |
| US8479053B2 (en) | 2010-07-28 | 2013-07-02 | Intel Corporation | Processor with last branch record register storing transaction indicator |
| US8661169B2 (en) | 2010-09-15 | 2014-02-25 | Lsi Corporation | Copying data to a cache using direct memory access |
| US8977819B2 (en) | 2010-09-21 | 2015-03-10 | Texas Instruments Incorporated | Prefetch stream filter with FIFO allocation and stream direction prediction |
-
2013
- 2013-01-21 US US13/746,000 patent/US9519586B2/en active Active
-
2014
- 2014-01-18 KR KR1020157021641A patent/KR101788683B1/ko active Active
- 2014-01-18 WO PCT/US2014/012152 patent/WO2014113741A1/en not_active Ceased
- 2014-01-18 HU HUE14704714A patent/HUE035210T2/hu unknown
- 2014-01-18 BR BR112015017103-6A patent/BR112015017103B1/pt active IP Right Grant
- 2014-01-18 JP JP2015553873A patent/JP6143886B2/ja active Active
- 2014-01-18 ES ES14704714.6T patent/ES2655852T3/es active Active
- 2014-01-18 CN CN201480005173.0A patent/CN105074655B/zh active Active
- 2014-01-18 EP EP14704714.6A patent/EP2946286B1/en active Active
- 2014-01-21 TW TW103102149A patent/TWI521347B/zh active
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2016507836A5 (enExample) | ||
| US9405548B2 (en) | Prioritizing instructions based on the number of delay cycles | |
| TWI499975B (zh) | 具有遲滯現象下一個提取預測器之訓練 | |
| TWI520060B (zh) | 用於追蹤迴圈候選者之裝置及方法及處理器 | |
| JP2015043216A5 (enExample) | ||
| US10831494B2 (en) | Event triggered programmable prefetcher | |
| JP2015122094A5 (enExample) | ||
| JP6143886B2 (ja) | ループのデータプリフェッチ要求をキャンセルするための方法および装置 | |
| GB2517877A (en) | Controlling an order for processing data elements during vector processing | |
| CN111936980A (zh) | 用于控制将数据分配到缓存存储中的装置和方法 | |
| JP7007371B2 (ja) | ベクトル命令のための要素間アドレス・ハザードの取扱い | |
| US9037835B1 (en) | Data processing method and apparatus for prefetching | |
| JP2015522196A5 (enExample) | ||
| JP7232331B2 (ja) | ループ終了予測器 | |
| US9483406B2 (en) | Communicating prefetchers that throttle one another | |
| JP2015523668A5 (enExample) | ||
| KR102464788B1 (ko) | 업/다운 프리페쳐 | |
| RU2017103676A (ru) | Управление выполнением потоков в многопоточном процессоре | |
| JP2014115851A5 (enExample) | ||
| TW201433979A (zh) | 在提前執行中資料的選擇性污染 | |
| TW201439906A (zh) | 用於微處理器之延遲提前執行操作 | |
| KR102879786B1 (ko) | 데이터 항목들을 프리페치하는 장치 및 방법 | |
| US20150331800A1 (en) | Arithmetic processing device and control method of arithmetic processing device | |
| CN107209662B (zh) | 指令的相依性预测 | |
| JP2015511358A5 (enExample) |