JP2015122094A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2015122094A5 JP2015122094A5 JP2015018674A JP2015018674A JP2015122094A5 JP 2015122094 A5 JP2015122094 A5 JP 2015122094A5 JP 2015018674 A JP2015018674 A JP 2015018674A JP 2015018674 A JP2015018674 A JP 2015018674A JP 2015122094 A5 JP2015122094 A5 JP 2015122094A5
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- line
- fetch address
- cache
- address
- 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
- 230000004044 response Effects 0.000 claims 3
Claims (20)
- 命令のラインをプリフェッチする方法であって、
第1のキャッシュ内の第2の命令の第2のフェッチアドレスのミスを示すインジケーションを受け取ることを備え、前記第2のフェッチアドレスが、第1の命令の第1のアドレスに対して非連続的であるか連続的であるかが決定され、
前記方法はさらに、
前記インジケーションに応答して、
前記第2のフェッチアドレスが非連続的であることを条件として、
前記第2のフェッチアドレスに基づいて、第2のキャッシュから第1の命令のラインをフェッチし、前記第2のキャッシュから第2の命令のラインをプリフェッチし、
ここで、前記第2の命令のラインは、前記第1の命令のラインの次の連続キャッシュラインか、または分岐履歴テーブルもしくは分岐予測ロジックからの情報にしたがった非連続キャッシュラインであり、
前記第2のフェッチアドレスが連続的であることを条件として、
前記第2の命令のラインをプリフェッチすることなく、前記第2のフェッチアドレスに基づいて、前記第2のキャッシュから前記第1の命令のラインをフェッチする、
方法。 - 前記第2のフェッチアドレスが非連続的であることを条件として、前記第2の命令のラインをプリフェッチすることは、前記第1の命令のラインをフェッチすることと、前記第2の命令のラインをプリフェッチすることを結合することによって長データ転送を可能にすることを備える請求項1に記載の方法。
- 前記第2の命令は、前記第1の命令の後にフェッチされる請求項1に記載の方法。
- 前記第2のフェッチアドレスは、前記第1のキャッシュに結合されたプロセッサ内のロジックによって、または、前記第2のフェッチアドレスを前記第1のフェッチアドレスと比較することによって、非連続的であると識別される請求項1に記載の方法。
- 前記第2のフェッチアドレスに関連付けられた非連続動作は、分岐動作である請求項1に記載の方法。
- 前記第2の命令のラインは、前記第1の命令のライン内の既定の閾値位置に関係する前記第1の命令のライン内の前記第2の命令の位置をさらに条件としてプリフェッチされる請求項1に記載の方法。
- 前記第2の命令のラインは、前記第1の命令のラインに対して非連続的である請求項1に記載の方法。
- 前記第2のフェッチアドレスに関連付けられた動作は、非連続的であり、復帰動作またはサブルーチンコール動作を含む請求項1に記載の方法。
- 前記第2のフェッチアドレスは、連続的である場合、前記第1のフェッチアドレスに対して連続的であるメモリアクセスのターゲットであり、
前記第2のフェッチアドレスは、非連続的である場合、前記第1のフェッチアドレスに対して非連続的であるメモリアクセスのターゲットである請求項1に記載の方法。 - システムであって、
第2の命令の第2のフェッチアドレスが命令キャッシュ内でミスしたという通知を生成するように構成された命令キャッシュを備え、前記第2のフェッチアドレスが、第1の命令の第2のアドレスとの関係において非連続的であるか連続的であるかが決定され、
前記システムはさらに、
前記通知に応答して、
前記第2のフェッチアドレスが非連続的であることを条件として、
前記第2のフェッチアドレスに基づいて、第2のキャッシュから第1の命令のラインをフェッチし、前記第2のキャッシュから第2の命令のラインをプリフェッチし、
ここで、前記第2の命令のラインは、前記第1の命令のラインの次の連続キャッシュラインか、または分岐履歴テーブルもしくは分岐予測ロジックからの情報にしたがった非連続キャッシュラインであり、
前記第2のフェッチアドレスが連続的であることを条件として、
前記第2のキャッシュからの前記第2の命令のラインをプリフェッチすることなく、前記第2のフェッチアドレスに基づいて、前記第2のキャッシュからの前記第1の命令のラインをフェッチするように構成された
ロジックと、
を備えるシステム。 - 前記第2のフェッチアドレスは、前記第1のアドレスに対して非連続的であるか否かを判定するように構成されたキャッシュ制御ユニットをさらに備え、前記第1のアドレスは、前記第2のフェッチアドレスの前の第1のフェッチアドレスを含んでいる請求項10に記載のシステム。
- 前記プリフェッチされた第2の命令のラインは、前記命令キャッシュへの長データ転送において提供される請求項10に記載のシステム。
- 前記第2の命令のラインは、前記第1の命令のラインに対して連続的である請求項10に記載のシステム。
- 前記第2の命令のラインは、前記第1の命令のラインに対して非連続的である請求項10に記載のシステム。
- 第2の命令の第2のフェッチアドレスが第1のキャッシュ内でミスしたという通知を受け取ることであって、前記第2のフェッチアドレスが、第1の命令の第1のフェッチアドレスとの関係が非連続的であるか否かが決定され、
前記通知に応答して、
前記第2のフェッチアドレスが非連続的であることに基づいて、第1の動作を実行することであって、
前記第1の動作は、前記第2のフェッチアドレスに基づいて、第2のキャッシュから第1の命令のラインをフェッチし、前記第2のキャッシュからの第2の命令のラインをプリフェッチすることを備え、
ここで、前記第2の命令のラインは、前記第1の命令のラインの次の連続キャッシュラインか、または分岐履歴テーブルもしくは分岐予測ロジックからの情報にしたがった非連続キャッシュラインであり、
前記第2のフェッチアドレスが連続的であることに基づいて、第2の動作を実行することであって、
前記第2の動作は、前記第2の命令のラインをプリフェッチすることなく、前記第2のフェッチアドレスに基づいて、前記第2のキャッシュから前記第1の命令のラインをフェッチすること
を備える方法。 - 前記第2の命令のラインは、前記第1の命令のラインに対して非連続的である請求項15に記載の方法。
- 前記第2の命令は、前記第1の命令に関して次の命令である請求項15に記載の方法。
- 前記第2のフェッチアドレスを前記第1のフェッチアドレスと比較することに基づいて、前記第2のフェッチアドレスが、非連続的な動作に関連付けられているか否かを決定することをさらに備える請求項15に記載の方法。
- 前記第2のフェッチアドレスが、前記第1のフェッチアドレスに関連付けられて、非連続的であるか連続的であるか、フェッチアドレスキャッシュライン位置が閾値キャッシュライン位置を越えているか否かを決定することをさらに備える請求項15に記載の方法。
- 前記第1の動作は、前記フェッチアドレスキャッシュライン位置が前記閾値キャッシュライン位置を越えていることを条件とし、
前記第2の動作は、前記フェッチアドレスキャッシュライン位置が前記閾値キャッシュライン位置を越えていないことを条件とし、
前記フェッチアドレスキャッシュライン位置は、前記第2のフェッチアドレスに関連し、前記閾値キャッシュライン位置は、前記第1の命令のラインに関連している、請求項19に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/608,309 | 2006-12-08 | ||
US11/608,309 US8060701B2 (en) | 2006-12-08 | 2006-12-08 | Apparatus and methods for low-complexity instruction prefetch system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009540408A Division JP5859185B2 (ja) | 2006-12-08 | 2007-12-03 | 低複雑性命令プリフェッチシステム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2015122094A JP2015122094A (ja) | 2015-07-02 |
JP2015122094A5 true JP2015122094A5 (ja) | 2015-10-08 |
JP6030160B2 JP6030160B2 (ja) | 2016-11-24 |
Family
ID=39226565
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009540408A Expired - Fee Related JP5859185B2 (ja) | 2006-12-08 | 2007-12-03 | 低複雑性命令プリフェッチシステム |
JP2015018674A Expired - Fee Related JP6030160B2 (ja) | 2006-12-08 | 2015-02-02 | 低複雑性命令プリフェッチシステム |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009540408A Expired - Fee Related JP5859185B2 (ja) | 2006-12-08 | 2007-12-03 | 低複雑性命令プリフェッチシステム |
Country Status (7)
Country | Link |
---|---|
US (1) | US8060701B2 (ja) |
EP (1) | EP2097809B1 (ja) |
JP (2) | JP5859185B2 (ja) |
KR (1) | KR101095204B1 (ja) |
CN (2) | CN101548266B (ja) |
AT (1) | ATE513261T1 (ja) |
WO (1) | WO2008073741A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7917731B2 (en) * | 2006-08-02 | 2011-03-29 | Qualcomm Incorporated | Method and apparatus for prefetching non-sequential instruction addresses |
US20110231634A1 (en) * | 2010-03-22 | 2011-09-22 | Fishel Liran | System and method for grouping alternative possibilities in an unknown instruction path |
EP2798470A4 (en) * | 2011-12-29 | 2015-07-15 | Intel Corp | PRE-ACQUISITION OF ANTEMOTE BY MANAGED INSTRUCTION |
US10175987B2 (en) * | 2016-03-17 | 2019-01-08 | International Business Machines Corporation | Instruction prefetching in a computer processor using a prefetch prediction vector |
US20210081323A1 (en) * | 2019-09-12 | 2021-03-18 | Marvell International Ltd. | Method of improving l1 icache performance with large programs |
CN111399913B (zh) * | 2020-06-05 | 2020-09-01 | 浙江大学 | 一种基于预取的处理器加速取指方法 |
US11561796B2 (en) | 2020-07-15 | 2023-01-24 | International Business Machines Corporation | Linked miss-to-miss instruction prefetcher |
CN112416438A (zh) * | 2020-12-08 | 2021-02-26 | 王志平 | 一种流水线预分支的实现方法 |
US11822922B2 (en) | 2021-12-31 | 2023-11-21 | International Business Machines Corporation | Miss-driven instruction prefetching |
CN115480826B (zh) * | 2022-09-21 | 2024-03-12 | 海光信息技术股份有限公司 | 分支预测器、分支预测方法、装置和计算设备 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS615357A (ja) * | 1984-06-07 | 1986-01-11 | Fujitsu Ltd | デ−タ処理装置 |
JPS63146143A (ja) * | 1986-12-10 | 1988-06-18 | Hitachi Ltd | 記憶装置の転送制御方式 |
JP2786886B2 (ja) * | 1989-05-17 | 1998-08-13 | 富士通株式会社 | プリフェッチ制御方法およびプリフェッチ制御装置 |
JPH0588891A (ja) * | 1991-09-30 | 1993-04-09 | Toshiba Corp | キヤツシユメモリ制御装置 |
JP3590427B2 (ja) * | 1994-08-30 | 2004-11-17 | 株式会社ルネサステクノロジ | 先行読出機能付命令キャッシュメモリ |
US5809529A (en) * | 1995-08-23 | 1998-09-15 | International Business Machines Corporation | Prefetching of committed instructions from a memory to an instruction cache |
US6119222A (en) * | 1996-12-23 | 2000-09-12 | Texas Instruments Incorporated | Combined branch prediction and cache prefetch in a microprocessor |
US6728839B1 (en) * | 1998-10-28 | 2004-04-27 | Cisco Technology, Inc. | Attribute based memory pre-fetching technique |
JP2000242557A (ja) * | 1999-02-25 | 2000-09-08 | Nec Corp | キャッシュプリフェッチ装置 |
JP2000347934A (ja) * | 1999-06-02 | 2000-12-15 | Matsushita Electric Ind Co Ltd | キャッシュメモリ装置 |
JP2001142698A (ja) * | 1999-11-12 | 2001-05-25 | Mitsubishi Electric Corp | メモリアクセス方式 |
US6584549B2 (en) * | 2000-12-29 | 2003-06-24 | Intel Corporation | System and method for prefetching data into a cache based on miss distance |
US20030105926A1 (en) * | 2001-12-03 | 2003-06-05 | International Business Machies Corporation | Variable size prefetch cache |
US7032076B2 (en) * | 2002-09-16 | 2006-04-18 | Intel Corporation | Prefetching data in a computer system |
-
2006
- 2006-12-08 US US11/608,309 patent/US8060701B2/en active Active
-
2007
- 2007-12-03 EP EP07865095A patent/EP2097809B1/en not_active Not-in-force
- 2007-12-03 CN CN2007800447776A patent/CN101548266B/zh active Active
- 2007-12-03 CN CN201210397919.XA patent/CN102968294B/zh active Active
- 2007-12-03 KR KR1020097013847A patent/KR101095204B1/ko active IP Right Grant
- 2007-12-03 AT AT07865095T patent/ATE513261T1/de not_active IP Right Cessation
- 2007-12-03 WO PCT/US2007/086254 patent/WO2008073741A1/en active Application Filing
- 2007-12-03 JP JP2009540408A patent/JP5859185B2/ja not_active Expired - Fee Related
-
2015
- 2015-02-02 JP JP2015018674A patent/JP6030160B2/ja not_active Expired - Fee Related
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2015122094A5 (ja) | ||
JP2016507836A5 (ja) | ||
US10241797B2 (en) | Replay reduction by wakeup suppression using early miss indication | |
EP2602711B1 (en) | Next fetch predictor training with hysteresis | |
EP2669807A3 (en) | Processor resource and execution protection methods and apparatus | |
WO2006084288A3 (en) | Instruction prefetch mechanism | |
JP2015043216A5 (ja) | ||
EP2674856A3 (en) | Zero cycle load instruction | |
WO2008042298A3 (en) | Data cache virtual hint way prediction, and applications thereof | |
US9280351B2 (en) | Second-level branch target buffer bulk transfer filtering | |
EP2936323B1 (en) | Speculative addressing using a virtual address-to-physical address page crossing buffer | |
JP2019517689A5 (ja) | ||
JP2015133126A5 (ja) | ||
WO2008016849A3 (en) | Method and apparatus for prefetching non-sequential instruction addresses | |
US9690707B2 (en) | Correlation-based instruction prefetching | |
MY174573A (en) | Controlling an order for processing data elements during vector processing | |
US20210173783A1 (en) | Instruction cache prefetch throttle | |
KR102181802B1 (ko) | 데이터 처리방법 및 프리페치 장치 | |
EP2447829A3 (en) | Prefetch instruction | |
DE60333483D1 (de) | Seitendeskriptoren zur vorausholung und speicherverwaltung | |
JP2014115851A5 (ja) | ||
TW200713033A (en) | Handling cache miss in an instruction crossing a cache line boundary | |
JP2015534687A5 (ja) | ||
JP2006338656A5 (ja) | ||
GB201211273D0 (en) | Multilevel cache system |