SE9700475D0 - Method and system for branch prediction - Google Patents
Method and system for branch predictionInfo
- Publication number
- SE9700475D0 SE9700475D0 SE9700475A SE9700475A SE9700475D0 SE 9700475 D0 SE9700475 D0 SE 9700475D0 SE 9700475 A SE9700475 A SE 9700475A SE 9700475 A SE9700475 A SE 9700475A SE 9700475 D0 SE9700475 D0 SE 9700475D0
- Authority
- SE
- Sweden
- Prior art keywords
- program
- instruction
- branch
- during
- branch prediction
- Prior art date
Links
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/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; 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/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)
Priority Applications (8)
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 |
AU62328/98A AU6232898A (en) | 1997-02-12 | 1998-02-03 | Method and system for branch prediction |
DE69840930T DE69840930D1 (de) | 1997-02-12 | 1998-02-03 | Verfahren und system zum vorhersagen von verzweigungen |
EP98904464A EP1008035B1 (en) | 1997-02-12 | 1998-02-03 | Method and system for branch prediction |
CA002280764A CA2280764A1 (en) | 1997-02-12 | 1998-02-03 | Method and system for branch prediction |
JP53564498A JP2001512596A (ja) | 1997-02-12 | 1998-02-03 | ブランチ予測の方法およびシステム |
US09/370,169 US6233679B1 (en) | 1997-02-12 | 1999-08-09 | Method and system for branch prediction |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE9700475A SE520343C2 (sv) | 1997-02-12 | 1997-02-12 | Förfarande, system och dator för grenprediktion |
Publications (3)
Publication Number | Publication Date |
---|---|
SE9700475D0 true SE9700475D0 (sv) | 1997-02-12 |
SE9700475L SE9700475L (sv) | 1998-08-13 |
SE520343C2 SE520343C2 (sv) | 2003-07-01 |
Family
ID=20405754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SE9700475A SE520343C2 (sv) | 1997-02-12 | 1997-02-12 | Förfarande, system och dator för grenprediktion |
Country Status (8)
Country | Link |
---|---|
US (1) | US6233679B1 (sv) |
EP (1) | EP1008035B1 (sv) |
JP (1) | JP2001512596A (sv) |
AU (1) | AU6232898A (sv) |
CA (1) | CA2280764A1 (sv) |
DE (1) | DE69840930D1 (sv) |
SE (1) | SE520343C2 (sv) |
WO (1) | WO1998036350A1 (sv) |
Families Citing this family (36)
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 |
US20060190709A1 (en) * | 2003-07-09 | 2006-08-24 | Koninklijke Philips Electronics N.V. | Method and system for branch prediction |
US20050071516A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus to autonomically profile applications |
US20050071821A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus to autonomically select instructions for selective counting |
US20050071609A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus to autonomically take an exception on specified instructions |
US20050071816A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus to autonomically count instruction execution for applications |
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 |
US7395527B2 (en) | 2003-09-30 | 2008-07-01 | International Business Machines Corporation | Method and apparatus for counting instruction execution and data accesses |
US20050071610A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus for debug support for individual instructions and memory locations |
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 |
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 |
US7373637B2 (en) * | 2003-09-30 | 2008-05-13 | International Business Machines Corporation | Method and apparatus for counting instruction and memory location ranges |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
US7526616B2 (en) | 2004-03-22 | 2009-04-28 | International Business Machines Corporation | Method and apparatus for prefetching data from a data structure |
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 |
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 |
US7299319B2 (en) * | 2004-03-22 | 2007-11-20 | International Business Machines Corporation | Method and apparatus for providing hardware assistance for code coverage |
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 |
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 |
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 (sv) * | 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 JP JP53564498A patent/JP2001512596A/ja active Pending
- 1998-02-03 EP EP98904464A patent/EP1008035B1/en not_active Expired - Lifetime
- 1998-02-03 AU AU62328/98A patent/AU6232898A/en not_active Abandoned
- 1998-02-03 CA CA002280764A patent/CA2280764A1/en not_active Abandoned
- 1998-02-03 DE DE69840930T patent/DE69840930D1/de not_active Expired - Fee Related
- 1998-02-03 WO PCT/SE1998/000190 patent/WO1998036350A1/en active Application Filing
-
1999
- 1999-08-09 US US09/370,169 patent/US6233679B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2001512596A (ja) | 2001-08-21 |
DE69840930D1 (de) | 2009-08-06 |
EP1008035A1 (en) | 2000-06-14 |
US6233679B1 (en) | 2001-05-15 |
SE9700475L (sv) | 1998-08-13 |
CA2280764A1 (en) | 1998-08-20 |
WO1998036350A1 (en) | 1998-08-20 |
EP1008035B1 (en) | 2009-06-24 |
AU6232898A (en) | 1998-09-08 |
SE520343C2 (sv) | 2003-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
SE9700475D0 (sv) | Method and system for branch prediction | |
GB2357871A (en) | A method and apparatus for branch prediction using a second level branch prediction table | |
SE9503951D0 (sv) | Speculative history mechanismin a branch target buffer | |
GB2359163A (en) | Buffer memory management in a system having multiple execution entities | |
ES8403221A1 (es) | Aparato de tratamiento de datos destinado a buscar previamente, descodificar y ejecutar una instruccion. | |
SG74590A1 (en) | Computer system and method for executing threads of execution with reduce run-time memory space requirements | |
GB9424323D0 (en) | Data processor with speculative instruction fetching and method of operation | |
SE9901096L (sv) | Metod och apparat för undantagshantering | |
PT727210E (pt) | Agente analgesico e sua utilizacao | |
NO983266L (no) | Distribuert Behandling | |
DK83994A (da) | Fremgangsmåde og ændring til reduktion af diskontinuiteter i et aktivt adresseringsdisplay system | |
DE69633474D1 (de) | Adressierungsverfahren zur nicht-sequentiellen Ausführung von Ladebefehlen hinsichtlich Speicherungsbefehlen | |
BR9916483A (pt) | Método para a seleção de um programa exibido em um anúncio em um programa de software de aplicação | |
MA23506A1 (fr) | Composition detergente contenant une enzyme et un peroxyacide organique | |
BR9006872A (pt) | Radiotelefone portatil e processo para controlar chamada de radiotelefone | |
MY125471A (en) | Method for handling telephone calls | |
GB2283595B (en) | Data processor with branch prediction and method of operation | |
FI953614A0 (sv) | System och förfarande för utförande av ett anrop | |
EA200000040A1 (ru) | Способ лечения диабета тиазолидиндионом и ингибитором альфа-глюкозидазы | |
EP0310446A3 (en) | Cache memory management method | |
KR900013794A (ko) | 비디오폰 시스템 및 그 제어방법 | |
ES2134763T3 (es) | Marcaje de llamadas con informacion de usuario en un ambito telefonico. | |
JPS54521A (en) | Display unit | |
ATE119940T1 (de) | Gewebs-plasminogen-aktivator-derivat. | |
KR900005831A (ko) | 전자교환기용 소프트웨어 시뮬레이션 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
NUG | Patent has lapsed |