DE69840930D1 - Verfahren und system zum vorhersagen von verzweigungen - Google Patents
Verfahren und system zum vorhersagen von verzweigungenInfo
- Publication number
- DE69840930D1 DE69840930D1 DE69840930T DE69840930T DE69840930D1 DE 69840930 D1 DE69840930 D1 DE 69840930D1 DE 69840930 T DE69840930 T DE 69840930T DE 69840930 T DE69840930 T DE 69840930T DE 69840930 D1 DE69840930 D1 DE 69840930D1
- Authority
- DE
- Germany
- Prior art keywords
- predicting branches
- predicting
- branches
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/342—Extension of operand address space
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/3846—Speculative instruction execution using static prediction, e.g. branch taken strategy
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)
- Debugging And Monitoring (AREA)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| SE9700475A SE520343C2 (sv) | 1997-02-12 | 1997-02-12 | Förfarande, system och dator för grenprediktion |
| PCT/SE1998/000190 WO1998036350A1 (en) | 1997-02-12 | 1998-02-03 | Method and system for branch prediction |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| DE69840930D1 true DE69840930D1 (de) | 2009-08-06 |
Family
ID=20405754
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE69840930T Expired - Fee Related DE69840930D1 (de) | 1997-02-12 | 1998-02-03 | Verfahren und system zum vorhersagen von verzweigungen |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US6233679B1 (de) |
| EP (1) | EP1008035B1 (de) |
| JP (1) | JP2001512596A (de) |
| AU (1) | AU6232898A (de) |
| CA (1) | CA2280764A1 (de) |
| DE (1) | DE69840930D1 (de) |
| SE (1) | SE520343C2 (de) |
| WO (1) | WO1998036350A1 (de) |
Families Citing this family (39)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5838962A (en) * | 1997-04-09 | 1998-11-17 | Hewlett-Packard Company | Interrupt driven dynamic adjustment of branch predictions |
| JPH1185515A (ja) * | 1997-09-10 | 1999-03-30 | Ricoh Co Ltd | マイクロプロセッサ |
| US7100154B2 (en) * | 2003-01-16 | 2006-08-29 | International Business Machines Corporation | Dynamic compiler apparatus and method that stores and uses persistent execution statistics |
| ATE491986T1 (de) * | 2003-07-09 | 2011-01-15 | Nxp Bv | Verfahren und system zur zweigprädiktion |
| US20050071609A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus to autonomically take an exception on specified instructions |
| US7937691B2 (en) * | 2003-09-30 | 2011-05-03 | International Business Machines Corporation | Method and apparatus for counting execution of specific instructions and accesses to specific data locations |
| US7395527B2 (en) | 2003-09-30 | 2008-07-01 | International Business Machines Corporation | Method and apparatus for counting instruction execution and data accesses |
| US7373637B2 (en) * | 2003-09-30 | 2008-05-13 | International Business Machines Corporation | Method and apparatus for counting instruction and memory location ranges |
| US20050071612A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus for generating interrupts upon execution of marked instructions and upon access to marked memory locations |
| US20050071611A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus for counting data accesses and instruction executions that exceed a threshold |
| US20050071610A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus for debug support for individual instructions and memory locations |
| US20050071816A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus to autonomically count instruction execution for applications |
| US20050071821A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus to autonomically select instructions for selective counting |
| US20050071516A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus to autonomically profile applications |
| US7421681B2 (en) * | 2003-10-09 | 2008-09-02 | International Business Machines Corporation | Method and system for autonomic monitoring of semaphore operation in an application |
| US8381037B2 (en) * | 2003-10-09 | 2013-02-19 | International Business Machines Corporation | Method and system for autonomic execution path selection in an application |
| US20050155022A1 (en) * | 2004-01-14 | 2005-07-14 | International Business Machines Corporation | Method and apparatus for counting instruction execution and data accesses to identify hot spots |
| US7392370B2 (en) * | 2004-01-14 | 2008-06-24 | International Business Machines Corporation | Method and apparatus for autonomically initiating measurement of secondary metrics based on hardware counter values for primary metrics |
| US7181599B2 (en) * | 2004-01-14 | 2007-02-20 | International Business Machines Corporation | Method and apparatus for autonomic detection of cache “chase tail” conditions and storage of instructions/data in “chase tail” data structure |
| US7526757B2 (en) * | 2004-01-14 | 2009-04-28 | International Business Machines Corporation | Method and apparatus for maintaining performance monitoring structures in a page table for use in monitoring performance of a computer program |
| US7290255B2 (en) * | 2004-01-14 | 2007-10-30 | International Business Machines Corporation | Autonomic method and apparatus for local program code reorganization using branch count per instruction hardware |
| US7895382B2 (en) * | 2004-01-14 | 2011-02-22 | International Business Machines Corporation | Method and apparatus for qualifying collection of performance monitoring events by types of interrupt when interrupt occurs |
| US7496908B2 (en) * | 2004-01-14 | 2009-02-24 | International Business Machines Corporation | Method and apparatus for optimizing code execution using annotated trace information having performance indicator and counter information |
| US20050155018A1 (en) * | 2004-01-14 | 2005-07-14 | International Business Machines Corporation | Method and apparatus for generating interrupts based on arithmetic combinations of performance counter values |
| US7293164B2 (en) * | 2004-01-14 | 2007-11-06 | International Business Machines Corporation | Autonomic method and apparatus for counting branch instructions to generate branch statistics meant to improve branch predictions |
| US7415705B2 (en) * | 2004-01-14 | 2008-08-19 | International Business Machines Corporation | Autonomic method and apparatus for hardware assist for patching code |
| US8135915B2 (en) * | 2004-03-22 | 2012-03-13 | International Business Machines Corporation | Method and apparatus for hardware assistance for prefetching a pointer to a data structure identified by a prefetch indicator |
| US7480899B2 (en) * | 2004-03-22 | 2009-01-20 | International Business Machines Corporation | Method and apparatus for autonomic test case feedback using hardware assistance for code coverage |
| US7296130B2 (en) * | 2004-03-22 | 2007-11-13 | International Business Machines Corporation | Method and apparatus for providing hardware assistance for data access coverage on dynamically allocated data |
| US7421684B2 (en) * | 2004-03-22 | 2008-09-02 | International Business Machines Corporation | Method and apparatus for autonomic test case feedback using hardware assistance for data coverage |
| US7299319B2 (en) * | 2004-03-22 | 2007-11-20 | International Business Machines Corporation | Method and apparatus for providing hardware assistance for code coverage |
| US7526616B2 (en) | 2004-03-22 | 2009-04-28 | International Business Machines Corporation | Method and apparatus for prefetching data from a data structure |
| US8443171B2 (en) * | 2004-07-30 | 2013-05-14 | Hewlett-Packard Development Company, L.P. | Run-time updating of prediction hint instructions |
| US7779241B1 (en) | 2007-04-10 | 2010-08-17 | Dunn David A | History based pipelined branch prediction |
| US9342433B2 (en) * | 2013-06-20 | 2016-05-17 | Intel Corporation | Elapsed cycle timer in last branch records |
| US10275248B2 (en) | 2015-12-07 | 2019-04-30 | International Business Machines Corporation | Testing computer software using tracking bits |
| US12288072B2 (en) * | 2021-03-27 | 2025-04-29 | Intel Corporation | Methods, systems, and apparatuses for precise last branch record event logging |
| CN113868899B (zh) * | 2021-12-03 | 2022-03-04 | 苏州浪潮智能科技有限公司 | 一种分支指令处理方法、系统、设备及计算机存储介质 |
| CN116243982A (zh) * | 2022-12-20 | 2023-06-09 | 四川启睿克科技有限公司 | 一种提高嵌入式低功耗cpu一级预测器精度的方法 |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4334268A (en) * | 1979-05-01 | 1982-06-08 | Motorola, Inc. | Microcomputer with branch on bit set/clear instructions |
| US5051944A (en) * | 1986-04-17 | 1991-09-24 | Ncr Corporation | Computer address analyzer having a counter and memory locations each storing count value indicating occurrence of corresponding memory address |
| US5440704A (en) * | 1986-08-26 | 1995-08-08 | Mitsubishi Denki Kabushiki Kaisha | Data processor having branch predicting function |
| DE69130138T2 (de) * | 1990-06-29 | 1999-05-06 | Digital Equipment Corp., Maynard, Mass. | Sprungvorhersageeinheit für hochleistungsfähigen Prozessor |
| US5423011A (en) | 1992-06-11 | 1995-06-06 | International Business Machines Corporation | Apparatus for initializing branch prediction information |
| US5835745A (en) * | 1992-11-12 | 1998-11-10 | Sager; David J. | Hardware instruction scheduler for short execution unit latencies |
| US5367703A (en) * | 1993-01-08 | 1994-11-22 | International Business Machines Corporation | Method and system for enhanced branch history prediction accuracy in a superscalar processor system |
| TW261676B (de) * | 1993-11-02 | 1995-11-01 | Motorola Inc | |
| US5742804A (en) * | 1996-07-24 | 1998-04-21 | Institute For The Development Of Emerging Architectures, L.L.C. | Instruction prefetch mechanism utilizing a branch predict instruction |
| AU3666697A (en) * | 1996-08-20 | 1998-03-06 | Idea Corporation | A method for identifying hard-to-predict branches to enhance processor performance |
| US5857104A (en) * | 1996-11-26 | 1999-01-05 | Hewlett-Packard Company | Synthetic dynamic branch prediction |
| US5887159A (en) * | 1996-12-11 | 1999-03-23 | Digital Equipment Corporation | Dynamically determining instruction hint fields |
| US5890008A (en) * | 1997-06-25 | 1999-03-30 | Sun Microsystems, Inc. | Method for dynamically reconfiguring a processor |
-
1997
- 1997-02-12 SE SE9700475A patent/SE520343C2/sv not_active IP Right Cessation
-
1998
- 1998-02-03 EP EP98904464A patent/EP1008035B1/de not_active Expired - Lifetime
- 1998-02-03 CA CA002280764A patent/CA2280764A1/en not_active Abandoned
- 1998-02-03 WO PCT/SE1998/000190 patent/WO1998036350A1/en not_active Ceased
- 1998-02-03 DE DE69840930T patent/DE69840930D1/de not_active Expired - Fee Related
- 1998-02-03 AU AU62328/98A patent/AU6232898A/en not_active Abandoned
- 1998-02-03 JP JP53564498A patent/JP2001512596A/ja active Pending
-
1999
- 1999-08-09 US US09/370,169 patent/US6233679B1/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| SE9700475D0 (sv) | 1997-02-12 |
| SE9700475L (sv) | 1998-08-13 |
| US6233679B1 (en) | 2001-05-15 |
| WO1998036350A1 (en) | 1998-08-20 |
| JP2001512596A (ja) | 2001-08-21 |
| AU6232898A (en) | 1998-09-08 |
| CA2280764A1 (en) | 1998-08-20 |
| EP1008035B1 (de) | 2009-06-24 |
| EP1008035A1 (de) | 2000-06-14 |
| SE520343C2 (sv) | 2003-07-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69840930D1 (de) | Verfahren und system zum vorhersagen von verzweigungen | |
| DE69829255D1 (de) | System und Verfahren zum Nieten | |
| DE69731581D1 (de) | Verfahren und System zum vorrangigen Herunterladen von eingebetteten Netzobjekten | |
| DE69902251D1 (de) | System und verfahren zum definieren von ortbestimmungsdiensten | |
| DE69816400D1 (de) | Verteiltes Objektsystem und Verfahren zum Anbieten von Dienstleistungen darin | |
| DE69939495D1 (de) | Verfahren und system zum testen von computercodes | |
| DE69834129D1 (de) | Verfahren und system zum vorausladen von information | |
| DE69840929D1 (de) | System und verfahren zum betrieb von mehreren anrufzentralen | |
| DE69837693D1 (de) | Verfahren und System zum Editieren von Bildern | |
| DE69814380D1 (de) | System und verfahren zum aussortieren von programmzeitschrifteninformationen | |
| DE69738832D1 (de) | Verfahren zum Planen von periodischen Prozessabläufen | |
| DE69800609D1 (de) | System und Verfahren zum Sammeln und Reinigen von SF6 Gas | |
| DE69834401D1 (de) | Businterfacesystem und verfahren | |
| DE69735434D1 (de) | System und verfahren zum abruf von lokalisierungsinformation | |
| DE69733128D1 (de) | Verfahren und system zum subtraktiven mehrträger-cdma-zugriff | |
| DE69830759D1 (de) | Verfahren und Vorrichtung zum Komplettierung von Mehrfach-Bohrungen | |
| DE69839274D1 (de) | System und verfahren zum absichern von sprachtransaktionen | |
| DE69836296D1 (de) | System und Verfahren zum Erfassen von Maschinendaten | |
| DE69631694D1 (de) | Verfahren und system zum genetischen programmieren | |
| DE69624288D1 (de) | Verfahren und System zum Unterstützen der Zusammenarbeit | |
| DE69800982D1 (de) | System und Verfahren zum Kühlen unter Verwendung geladenen Schnees | |
| DE69907057D1 (de) | System und Verfahren zum Färben von Linsen | |
| DE69730942D1 (de) | Verfahren und Einheit zum Gruppieren von Gegenständen | |
| DE69841288D1 (de) | Rechner und Verfahren zum Rechnerbetrieb | |
| DE69737282D1 (de) | Verfahren und System zum Verarbeiten von Telekommunikationsdatenverkehr |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8339 | Ceased/non-payment of the annual fee |