DE69825350T2 - Verzweigungsvorhersage in Rechnersystem - Google Patents
Verzweigungsvorhersage in Rechnersystem Download PDFInfo
- Publication number
- DE69825350T2 DE69825350T2 DE69825350T DE69825350T DE69825350T2 DE 69825350 T2 DE69825350 T2 DE 69825350T2 DE 69825350 T DE69825350 T DE 69825350T DE 69825350 T DE69825350 T DE 69825350T DE 69825350 T2 DE69825350 T2 DE 69825350T2
- Authority
- DE
- Germany
- Prior art keywords
- branch
- instruction
- prediction
- execution
- program code
- 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/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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
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 |
|---|---|---|---|
| US08/840,080 US5838962A (en) | 1997-04-09 | 1997-04-09 | Interrupt driven dynamic adjustment of branch predictions |
| US840080 | 1997-04-09 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE69825350D1 DE69825350D1 (de) | 2004-09-09 |
| DE69825350T2 true DE69825350T2 (de) | 2005-07-21 |
Family
ID=25281399
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE69825350T Expired - Fee Related DE69825350T2 (de) | 1997-04-09 | 1998-04-03 | Verzweigungsvorhersage in Rechnersystem |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5838962A (enExample) |
| EP (1) | EP0871110B1 (enExample) |
| JP (1) | JP3790039B2 (enExample) |
| DE (1) | DE69825350T2 (enExample) |
Families Citing this family (31)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6105102A (en) * | 1998-10-16 | 2000-08-15 | Advanced Micro Devices, Inc. | Mechanism for minimizing overhead usage of a host system by polling for subsequent interrupts after service of a prior interrupt |
| US6578143B1 (en) * | 1998-12-18 | 2003-06-10 | Qualcomm Incorporated | Method for negotiating weakened keys in encryption systems |
| US8121828B2 (en) | 1999-01-28 | 2012-02-21 | Ati Technologies Ulc | Detecting conditions for transfer of execution from one computer instruction stream to another and executing transfer on satisfaction of the conditions |
| US7275246B1 (en) | 1999-01-28 | 2007-09-25 | Ati International Srl | Executing programs for a first computer architecture on a computer of a second architecture |
| US7013456B1 (en) | 1999-01-28 | 2006-03-14 | Ati International Srl | Profiling execution of computer programs |
| US6826748B1 (en) | 1999-01-28 | 2004-11-30 | Ati International Srl | Profiling program execution into registers of a computer |
| US7941647B2 (en) | 1999-01-28 | 2011-05-10 | Ati Technologies Ulc | Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination |
| US7065633B1 (en) | 1999-01-28 | 2006-06-20 | Ati International Srl | System for delivering exception raised in first architecture to operating system coded in second architecture in dual architecture CPU |
| US6954923B1 (en) | 1999-01-28 | 2005-10-11 | Ati International Srl | Recording classification of instructions executed by a computer |
| US8074055B1 (en) | 1999-01-28 | 2011-12-06 | Ati Technologies Ulc | Altering data storage conventions of a processor when execution flows from first architecture code to second architecture code |
| US6978462B1 (en) | 1999-01-28 | 2005-12-20 | Ati International Srl | Profiling execution of a sequence of events occuring during a profiled execution interval that matches time-independent selection criteria of events to be profiled |
| US8127121B2 (en) | 1999-01-28 | 2012-02-28 | Ati Technologies Ulc | Apparatus for executing programs for a first computer architechture on a computer of a second architechture |
| US7111290B1 (en) | 1999-01-28 | 2006-09-19 | Ati International Srl | Profiling program execution to identify frequently-executed portions and to assist binary translation |
| US6314510B1 (en) * | 1999-04-14 | 2001-11-06 | Sun Microsystems, Inc. | Microprocessor with reduced context switching overhead and corresponding method |
| US6622300B1 (en) | 1999-04-21 | 2003-09-16 | Hewlett-Packard Development Company, L.P. | Dynamic optimization of computer programs using code-rewriting kernal module |
| US6779107B1 (en) | 1999-05-28 | 2004-08-17 | Ati International Srl | Computer execution by opportunistic adaptation |
| US7254806B1 (en) | 1999-08-30 | 2007-08-07 | Ati International Srl | Detecting reordered side-effects |
| US6934832B1 (en) | 2000-01-18 | 2005-08-23 | Ati International Srl | Exception mechanism for a computer |
| US8214601B2 (en) * | 2004-07-30 | 2012-07-03 | Hewlett-Packard Development Company, L.P. | Purging without write-back of cache lines containing spent data |
| US8301871B2 (en) * | 2006-06-08 | 2012-10-30 | International Business Machines Corporation | Predicated issue for conditional branch instructions |
| US7487340B2 (en) * | 2006-06-08 | 2009-02-03 | International Business Machines Corporation | Local and global branch prediction information storage |
| JP2008107913A (ja) * | 2006-10-23 | 2008-05-08 | Toshiba Corp | プログラム、ソフトウェア変換装置及びコンピュータ |
| US7984279B2 (en) * | 2006-11-03 | 2011-07-19 | Qualcomm Incorporated | System and method for using a working global history register |
| JP5082716B2 (ja) * | 2007-09-20 | 2012-11-28 | 富士通セミコンダクター株式会社 | プログラム変換装置、プログラム変換方法およびプログラム変換プログラム |
| US8099586B2 (en) * | 2008-12-30 | 2012-01-17 | Oracle America, Inc. | Branch misprediction recovery mechanism for microprocessors |
| US8713562B2 (en) * | 2012-01-06 | 2014-04-29 | International Business Machines Corporation | Intelligent and automated code deployment |
| US9448909B2 (en) * | 2013-10-15 | 2016-09-20 | Advanced Micro Devices, Inc. | Randomly branching using performance counters |
| US9875106B2 (en) * | 2014-11-12 | 2018-01-23 | Mill Computing, Inc. | Computer processor employing instruction block exit prediction |
| GB2574042B (en) * | 2018-05-24 | 2020-09-09 | Advanced Risc Mach Ltd | Branch Prediction Cache |
| US11086629B2 (en) * | 2018-11-09 | 2021-08-10 | Arm Limited | Misprediction of predicted taken branches in a data processing apparatus |
| US11275607B2 (en) * | 2020-03-17 | 2022-03-15 | Arm Limited | Improving the responsiveness of an apparatus to certain interrupts |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4124893A (en) * | 1976-10-18 | 1978-11-07 | Honeywell Information Systems Inc. | Microword address branching bit arrangement |
| US4176394A (en) * | 1977-06-13 | 1979-11-27 | Sperry Rand Corporation | Apparatus for maintaining a history of the most recently executed instructions in a digital computer |
| US4370711A (en) * | 1980-10-21 | 1983-01-25 | Control Data Corporation | Branch predictor using random access memory |
| US4435756A (en) * | 1981-12-03 | 1984-03-06 | Burroughs Corporation | Branch predicting computer |
| US4679141A (en) * | 1985-04-29 | 1987-07-07 | International Business Machines Corporation | Pageable branch history table |
| US4901233A (en) * | 1987-07-20 | 1990-02-13 | International Business Machines Corporation | Computer system with logic for writing instruction identifying data into array control lists for precise post-branch recoveries |
| EP0404068A3 (en) * | 1989-06-20 | 1991-12-27 | Fujitsu Limited | Branch instruction executing device |
| EP0550286A3 (en) * | 1992-01-03 | 1993-11-03 | Amdahl Corp | 2-level multi-processor synchronization protocol |
| 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 |
| US5717909A (en) * | 1995-05-26 | 1998-02-10 | National Semiconductor Corporation | Code breakpoint decoder |
| US5659752A (en) * | 1995-06-30 | 1997-08-19 | International Business Machines Corporation | System and method for improving branch prediction in compiled program code |
| SE520343C2 (sv) * | 1997-02-12 | 2003-07-01 | Ericsson Telefon Ab L M | Förfarande, system och dator för grenprediktion |
-
1997
- 1997-04-09 US US08/840,080 patent/US5838962A/en not_active Expired - Lifetime
-
1998
- 1998-04-02 JP JP09016398A patent/JP3790039B2/ja not_active Expired - Fee Related
- 1998-04-03 DE DE69825350T patent/DE69825350T2/de not_active Expired - Fee Related
- 1998-04-03 EP EP98302633A patent/EP0871110B1/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| EP0871110B1 (en) | 2004-08-04 |
| JPH10283183A (ja) | 1998-10-23 |
| EP0871110A2 (en) | 1998-10-14 |
| EP0871110A3 (en) | 1999-01-20 |
| JP3790039B2 (ja) | 2006-06-28 |
| DE69825350D1 (de) | 2004-09-09 |
| US5838962A (en) | 1998-11-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69825350T2 (de) | Verzweigungsvorhersage in Rechnersystem | |
| DE60014005T2 (de) | Verfahren und Vorrichtung zur Befehlsvorabholung | |
| DE112011101364B4 (de) | Fehlerbehebung in Multithread-Code | |
| EP0645704B1 (de) | Tracer-System zur Fehleranalyse in laufenden Realzeitsystemen | |
| DE10085375B4 (de) | Verfahren und Einrichtung für einen pipeline-verschachtelten Multi-Thread-Befehlsdecodierer | |
| DE69737423T2 (de) | Verfahren und gerät zum replizieren von datenspeicherung in einem fortgeschrittenen mikroprozessor | |
| DE69734403T2 (de) | Verfahren im bezug auf die behandlung von konditionellen sprüngen in einer multietagen-pipeline-struktur | |
| DE112018004384B4 (de) | Schützen von arbeitsspeicherinternen konfigurationsstatusregistern | |
| DE69325086T2 (de) | Verfahren und System für spekulative Befehlsausführung | |
| DE69621694T2 (de) | Verfahren und Anordnung zur transparenten Emulation einer Befehlssatzarchitektur | |
| DE112010003330B4 (de) | Einrichten von Prüfpunkten bei Cachespeichern für die spekulative Versionierung | |
| DE69031991T2 (de) | Verfahren und Gerät zur Beschleunigung von Verzweigungsbefehlen | |
| DE69128741T2 (de) | Mehrstufiger Befehlscachespeicher und Verwendungsverfahren dafür | |
| DE69127992T2 (de) | Mikroprozessor zur Buszykluseinfügung zwecks Informationslieferung für eine Emulation | |
| DE112012000303T5 (de) | Dynamische binäre Optimierung | |
| DE60115976T2 (de) | Rechnersystem und Interruptvorgang | |
| DE69618221T2 (de) | Mechanismus zur wartung objektorientierter "methoden" der keine unterbrechung des computersystems erfordert | |
| DE19855806A1 (de) | Vorrichtung und Verfahren zum Durchführen von Unterprogrammaufruf- und Rücksprungoperationen | |
| DE69327927T2 (de) | Schnelles Vorausholen und Zuteilung von Befehlen mittels vorausschauender Anmerkungen von früher vorausgeholten | |
| DE112006001408T5 (de) | Verbesserung für Leistungsüberwachungsarchitektur für die analyse kritischer Wege | |
| DE112011104596T5 (de) | Systeme, Vorrichtungen und Verfahren für ein Hardware- und Softwaresystem zum automatischen Zerlegen eines Programms in mehrere parallele Threads | |
| DE10015675A1 (de) | Spekulative Auswahl von heißen Spuren in einem dynamischen CACHE-Übersetzer mit geringem Aufwand | |
| DE69033965T2 (de) | Multiprozessorsystem mit mehrfachen Befehlsquellen | |
| DE19527031A1 (de) | Verbesserte Vorrichtung zum Reduzieren von Verzögerungen aufgrund von Verzweigungen | |
| DE112010004322T5 (de) | Vorhersagen und Vermeiden von Operand-Speichervorgang-Vergleich-Gefahren in Mikroprozessoren mit abweichender Reihenfolge |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8339 | Ceased/non-payment of the annual fee |