JP2007536626A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2007536626A5 JP2007536626A5 JP2007511351A JP2007511351A JP2007536626A5 JP 2007536626 A5 JP2007536626 A5 JP 2007536626A5 JP 2007511351 A JP2007511351 A JP 2007511351A JP 2007511351 A JP2007511351 A JP 2007511351A JP 2007536626 A5 JP2007536626 A5 JP 2007536626A5
- Authority
- JP
- Japan
- Prior art keywords
- load operation
- addressing pattern
- entry
- tag
- store
- 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.)
- Pending
Links
- 230000004044 response Effects 0.000 claims 11
- 238000000034 method Methods 0.000 claims 7
- 230000001419 dependent effect Effects 0.000 claims 2
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/839,474 US7263600B2 (en) | 2004-05-05 | 2004-05-05 | System and method for validating a memory file that links speculative results of load operations to register values |
| PCT/US2004/042683 WO2005111794A1 (en) | 2004-05-05 | 2004-12-17 | System and method for validating a memory file that links speculative results of load operations to register values |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2007536626A JP2007536626A (ja) | 2007-12-13 |
| JP2007536626A5 true JP2007536626A5 (https=) | 2008-02-14 |
Family
ID=34959784
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007511351A Pending JP2007536626A (ja) | 2004-05-05 | 2004-12-17 | ロードオペレーションの投機的な結果をレジスタ値にリンクするメモリファイルを検証するためのシステムおよび方法 |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US7263600B2 (https=) |
| JP (1) | JP2007536626A (https=) |
| CN (1) | CN100424635C (https=) |
| DE (1) | DE112004002848B4 (https=) |
| GB (1) | GB2429557B (https=) |
| TW (1) | TWI362613B (https=) |
| WO (1) | WO2005111794A1 (https=) |
Families Citing this family (45)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7571304B2 (en) * | 2005-03-18 | 2009-08-04 | Sun Microsystems, Inc. | Generation of multiple checkpoints in a processor that supports speculative execution |
| US7376817B2 (en) * | 2005-08-10 | 2008-05-20 | P.A. Semi, Inc. | Partial load/store forward prediction |
| US20080010440A1 (en) * | 2006-07-05 | 2008-01-10 | International Business Machines Corporation | Means for supporting and tracking a large number of in-flight stores in an out-of-order processor |
| US20080010441A1 (en) * | 2006-07-05 | 2008-01-10 | International Business Machines Corporation | Means for supporting and tracking a large number of in-flight loads in an out-of-order processor |
| US7624253B2 (en) * | 2006-10-25 | 2009-11-24 | Arm Limited | Determining register availability for register renaming |
| US20080162889A1 (en) * | 2007-01-03 | 2008-07-03 | International Business Machines Corporation | Method and apparatus for implementing efficient data dependence tracking for multiprocessor architectures |
| US7689812B2 (en) * | 2007-02-14 | 2010-03-30 | International Business Machines Corporation | Method and system for restoring register mapper states for an out-of-order microprocessor |
| US9069672B2 (en) * | 2009-06-12 | 2015-06-30 | Intel Corporation | Extended fast memory access in a multiprocessor computer system |
| US8521992B2 (en) * | 2009-12-22 | 2013-08-27 | International Business Machines Corporation | Predicting and avoiding operand-store-compare hazards in out-of-order microprocessors |
| US8468325B2 (en) | 2009-12-22 | 2013-06-18 | International Business Machines Corporation | Predicting and avoiding operand-store-compare hazards in out-of-order microprocessors |
| US9135014B2 (en) * | 2012-02-15 | 2015-09-15 | Freescale Semiconductor, Inc | Data processing system with latency tolerance execution |
| US9996348B2 (en) * | 2012-06-14 | 2018-06-12 | Apple Inc. | Zero cycle load |
| US9436476B2 (en) | 2013-03-15 | 2016-09-06 | Soft Machines Inc. | Method and apparatus for sorting elements in hardware structures |
| US10467010B2 (en) * | 2013-03-15 | 2019-11-05 | Intel Corporation | Method and apparatus for nearest potential store tagging |
| US10152327B2 (en) | 2013-03-15 | 2018-12-11 | Intel Corporation | Apparatus for gating a load operation based on entries of a prediction table |
| US9471480B2 (en) | 2013-12-02 | 2016-10-18 | The Regents Of The University Of Michigan | Data processing apparatus with memory rename table for mapping memory addresses to registers |
| GB2518022B (en) * | 2014-01-17 | 2015-09-23 | Imagination Tech Ltd | Stack saved variable value prediction |
| US11068271B2 (en) | 2014-07-28 | 2021-07-20 | Apple Inc. | Zero cycle move using free list counts |
| GB2532232A (en) * | 2014-11-12 | 2016-05-18 | Ibm | Verifying a graph-based coherency verification tool |
| US9575897B2 (en) | 2015-07-09 | 2017-02-21 | Centipede Semi Ltd. | Processor with efficient processing of recurring load instructions from nearby memory addresses |
| US20170010973A1 (en) * | 2015-07-09 | 2017-01-12 | Centipede Semi Ltd. | Processor with efficient processing of load-store instruction pairs |
| CN107710153B (zh) * | 2015-07-09 | 2022-03-01 | 森蒂彼得塞米有限公司 | 具有有效的存储器访问的处理器 |
| US10185561B2 (en) * | 2015-07-09 | 2019-01-22 | Centipede Semi Ltd. | Processor with efficient memory access |
| US10331357B2 (en) * | 2016-08-19 | 2019-06-25 | Advanced Micro Devices, Inc. | Tracking stores and loads by bypassing load store units |
| US10908911B2 (en) | 2017-08-18 | 2021-02-02 | International Business Machines Corporation | Predicting and storing a predicted target address in a plurality of selected locations |
| US10884747B2 (en) | 2017-08-18 | 2021-01-05 | International Business Machines Corporation | Prediction of an affiliated register |
| US11150908B2 (en) | 2017-08-18 | 2021-10-19 | International Business Machines Corporation | Dynamic fusion of derived value creation and prediction of derived values in a subroutine branch sequence |
| US10534609B2 (en) | 2017-08-18 | 2020-01-14 | International Business Machines Corporation | Code-specific affiliated register prediction |
| US10719328B2 (en) | 2017-08-18 | 2020-07-21 | International Business Machines Corporation | Determining and predicting derived values used in register-indirect branching |
| US10884745B2 (en) | 2017-08-18 | 2021-01-05 | International Business Machines Corporation | Providing a predicted target address to multiple locations based on detecting an affiliated relationship |
| US10884746B2 (en) | 2017-08-18 | 2021-01-05 | International Business Machines Corporation | Determining and predicting affiliated registers based on dynamic runtime control flow analysis |
| US11150904B2 (en) | 2017-08-18 | 2021-10-19 | International Business Machines Corporation | Concurrent prediction of branch addresses and update of register contents |
| US10705973B2 (en) | 2017-09-19 | 2020-07-07 | International Business Machines Corporation | Initializing a data structure for use in predicting table of contents pointer values |
| US10620955B2 (en) | 2017-09-19 | 2020-04-14 | International Business Machines Corporation | Predicting a table of contents pointer value responsive to branching to a subroutine |
| US11061575B2 (en) | 2017-09-19 | 2021-07-13 | International Business Machines Corporation | Read-only table of contents register |
| US10896030B2 (en) | 2017-09-19 | 2021-01-19 | International Business Machines Corporation | Code generation relating to providing table of contents pointer values |
| US10725918B2 (en) | 2017-09-19 | 2020-07-28 | International Business Machines Corporation | Table of contents cache entry having a pointer for a range of addresses |
| US10884929B2 (en) | 2017-09-19 | 2021-01-05 | International Business Machines Corporation | Set table of contents (TOC) register instruction |
| US10713050B2 (en) | 2017-09-19 | 2020-07-14 | International Business Machines Corporation | Replacing Table of Contents (TOC)-setting instructions in code with TOC predicting instructions |
| US10620961B2 (en) * | 2018-03-30 | 2020-04-14 | Intel Corporation | Apparatus and method for speculative conditional move operation |
| US11334485B2 (en) * | 2018-12-14 | 2022-05-17 | Eta Scale Ab | System and method for dynamic enforcement of store atomicity |
| US11061683B2 (en) * | 2019-06-13 | 2021-07-13 | Microsoft Technology Licensing, Llc | Limiting replay of load-based control independent (CI) instructions in speculative misprediction recovery in a processor |
| US11200062B2 (en) | 2019-08-26 | 2021-12-14 | Apple Inc. | History file for previous register mapping storage and last reference indication |
| US11416254B2 (en) | 2019-12-05 | 2022-08-16 | Apple Inc. | Zero cycle load bypass in a decode group |
| US11392387B2 (en) | 2020-11-04 | 2022-07-19 | Microsoft Technology Licensing, Llc | Predicting load-based control independent (CI) register data independent (DI) (CIRDI) instructions as CI memory data dependent (DD) (CIMDD) instructions for replay in speculative misprediction recovery in a processor |
Family Cites Families (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5778219A (en) * | 1990-12-14 | 1998-07-07 | Hewlett-Packard Company | Method and system for propagating exception status in data registers and for detecting exceptions from speculative operations with non-speculative operations |
| US5428807A (en) * | 1993-06-17 | 1995-06-27 | Digital Equipment Corporation | Method and apparatus for propagating exception conditions of a computer system |
| US5584009A (en) * | 1993-10-18 | 1996-12-10 | Cyrix Corporation | System and method of retiring store data from a write buffer |
| US5452426A (en) * | 1994-01-04 | 1995-09-19 | Intel Corporation | Coordinating speculative and committed state register source data and immediate source data in a processor |
| US5799179A (en) * | 1995-01-24 | 1998-08-25 | International Business Machines Corporation | Handling of exceptions in speculative instructions |
| US6237082B1 (en) * | 1995-01-25 | 2001-05-22 | Advanced Micro Devices, Inc. | Reorder buffer configured to allocate storage for instruction results corresponding to predefined maximum number of concurrently receivable instructions independent of a number of instructions received |
| US5751983A (en) * | 1995-10-03 | 1998-05-12 | Abramson; Jeffrey M. | Out-of-order processor with a memory subsystem which handles speculatively dispatched load operations |
| US5892936A (en) * | 1995-10-30 | 1999-04-06 | Advanced Micro Devices, Inc. | Speculative register file for storing speculative register states and removing dependencies between instructions utilizing the register |
| US6108769A (en) * | 1996-05-17 | 2000-08-22 | Advanced Micro Devices, Inc. | Dependency table for reducing dependency checking hardware |
| US5781752A (en) * | 1996-12-26 | 1998-07-14 | Wisconsin Alumni Research Foundation | Table based data speculation circuit for parallel processing computer |
| US6021485A (en) * | 1997-04-10 | 2000-02-01 | International Business Machines Corporation | Forwarding store instruction result to load instruction with reduced stall or flushing by effective/real data address bytes matching |
| US5845103A (en) * | 1997-06-13 | 1998-12-01 | Wisconsin Alumni Research Foundation | Computer with dynamic instruction reuse |
| US6065103A (en) * | 1997-12-16 | 2000-05-16 | Advanced Micro Devices, Inc. | Speculative store buffer |
| US6044430A (en) * | 1997-12-17 | 2000-03-28 | Advanced Micro Devices Inc. | Real time interrupt handling for superscalar processors |
| US6041405A (en) * | 1997-12-18 | 2000-03-21 | Advanced Micro Devices, Inc. | Instruction length prediction using an instruction length pattern detector |
| US6112296A (en) * | 1997-12-18 | 2000-08-29 | Advanced Micro Devices, Inc. | Floating point stack manipulation using a register map and speculative top of stack values |
| US6175910B1 (en) * | 1997-12-19 | 2001-01-16 | International Business Machines Corportion | Speculative instructions exection in VLIW processors |
| JPH11212788A (ja) * | 1998-01-28 | 1999-08-06 | Toshiba Corp | プロセッサのデータ供給装置 |
| US6202204B1 (en) * | 1998-03-11 | 2001-03-13 | Intel Corporation | Comprehensive redundant load elimination for architectures supporting control and data speculation |
| US6108770A (en) * | 1998-06-24 | 2000-08-22 | Digital Equipment Corporation | Method and apparatus for predicting memory dependence using store sets |
| US6463580B1 (en) * | 1998-11-18 | 2002-10-08 | Intel Corporation | Parallel processing utilizing highly correlated data values |
| US6349382B1 (en) * | 1999-03-05 | 2002-02-19 | International Business Machines Corporation | System for store forwarding assigning load and store instructions to groups and reorder queues to keep track of program order |
| US6658554B1 (en) * | 1999-03-09 | 2003-12-02 | Wisconsin Alumni Res Found | Electronic processor providing direct data transfer between linked data consuming instructions |
| US6266744B1 (en) * | 1999-05-18 | 2001-07-24 | Advanced Micro Devices, Inc. | Store to load forwarding using a dependency link file |
| US6393536B1 (en) * | 1999-05-18 | 2002-05-21 | Advanced Micro Devices, Inc. | Load/store unit employing last-in-buffer indication for rapid load-hit-store |
| US6662280B1 (en) * | 1999-11-10 | 2003-12-09 | Advanced Micro Devices, Inc. | Store buffer which forwards data based on index and optional way match |
| US6438673B1 (en) * | 1999-12-30 | 2002-08-20 | Intel Corporation | Correlated address prediction |
| US6643767B1 (en) * | 2000-01-27 | 2003-11-04 | Kabushiki Kaisha Toshiba | Instruction scheduling system of a processor |
| US6675287B1 (en) * | 2000-04-07 | 2004-01-06 | Ip-First, Llc | Method and apparatus for store forwarding using a response buffer data path in a write-allocate-configurable microprocessor |
| DE10121792C2 (de) * | 2000-05-26 | 2003-09-25 | Ibm | Universelle Ladeadresse/Wertevorhersageschema |
| US6671780B1 (en) * | 2000-05-31 | 2003-12-30 | Intel Corporation | Modified least recently allocated cache replacement method and apparatus that allows skipping a least recently allocated cache block |
| JP3497832B2 (ja) * | 2001-03-28 | 2004-02-16 | 株式会社半導体理工学研究センター | ロード・ストアキュー |
| US6883086B2 (en) * | 2002-03-06 | 2005-04-19 | Intel Corporation | Repair of mis-predicted load values |
| US7028166B2 (en) * | 2002-04-30 | 2006-04-11 | Advanced Micro Devices, Inc. | System and method for linking speculative results of load operations to register values |
-
2004
- 2004-05-05 US US10/839,474 patent/US7263600B2/en not_active Expired - Lifetime
- 2004-12-17 CN CNB2004800429401A patent/CN100424635C/zh not_active Expired - Lifetime
- 2004-12-17 WO PCT/US2004/042683 patent/WO2005111794A1/en not_active Ceased
- 2004-12-17 JP JP2007511351A patent/JP2007536626A/ja active Pending
- 2004-12-17 DE DE112004002848T patent/DE112004002848B4/de not_active Expired - Lifetime
- 2004-12-17 GB GB0622878A patent/GB2429557B/en not_active Expired - Fee Related
-
2005
- 2005-05-03 TW TW094114201A patent/TWI362613B/zh not_active IP Right Cessation
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2007536626A5 (https=) | ||
| JP3561915B2 (ja) | スーパースカラ型プロセサにおいて命令処理を制御するためタグを割り当てるシステム及び方法 | |
| TW200606709A (en) | System and method for validating a memory file that links speculative results of load operations to register values | |
| JP2017021789A5 (https=) | ||
| US20090328057A1 (en) | System and method for reservation station load dependency matrix | |
| US6338134B1 (en) | Method and system in a superscalar data processing system for the efficient processing of an instruction by moving only pointers to data | |
| CN106537329B (zh) | 用于为多线程执行锁保护处理操作的数据处理装置及方法 | |
| US7260674B2 (en) | Programmable parallel lookup memory | |
| CN107122130B (zh) | 一种数据重删方法及装置 | |
| CN105095762A (zh) | 基于地址随机和段隔离的全局偏移表保护方法 | |
| CN110334034A (zh) | 映射表动态加载的方法、装置、计算机设备及存储介质 | |
| JP5129023B2 (ja) | キャッシュメモリ装置 | |
| CN100535872C (zh) | 基于地址映射的nor flash均衡方法 | |
| US20090164729A1 (en) | Sync-id for multiple concurrent sync dependencies in an out-of-order store queue | |
| JP2006505834A5 (https=) | ||
| JP2002521762A5 (https=) | ||
| CN115454502B (zh) | 用于调度simt架构处理器的返回数据的方法及相应处理器 | |
| US20090164734A1 (en) | Multiple concurrent sync dependencies in an out-of-order store queue | |
| CN104182352B (zh) | 用于访问4gb以上物理内存地址空间的方法及装置 | |
| US20160232950A1 (en) | Memory device and operating method of same | |
| KR100737919B1 (ko) | 낸드 플래시 메모리의 프로그램 방법 및 메모리 시스템의프로그램 방법 | |
| CN102110002B (zh) | 增加电子装置开机速度的方法 | |
| JP2010515128A (ja) | 不揮発性メモリにおけるデータを管理する方法 | |
| JP2003280902A5 (https=) | ||
| JP3646679B2 (ja) | 不揮発性メモリのデータ書き換え方法 |