ATE223081T1 - Verfahren und vorrichtung zum koordinieren der benutzung von physikalischen registern in einem mikroprozessor - Google Patents
Verfahren und vorrichtung zum koordinieren der benutzung von physikalischen registern in einem mikroprozessorInfo
- Publication number
- ATE223081T1 ATE223081T1 AT96101841T AT96101841T ATE223081T1 AT E223081 T1 ATE223081 T1 AT E223081T1 AT 96101841 T AT96101841 T AT 96101841T AT 96101841 T AT96101841 T AT 96101841T AT E223081 T1 ATE223081 T1 AT E223081T1
- Authority
- AT
- Austria
- Prior art keywords
- instruction
- register
- physical
- microprocessor
- logical
- Prior art date
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
-
- 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/3838—Dependency mechanisms, e.g. register scoreboarding
- G06F9/384—Register renaming
-
- 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
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
-
- 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/3861—Recovery, e.g. branch miss-prediction, exception handling
- G06F9/3863—Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers
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)
- Microcomputers (AREA)
- Retry When Errors Occur (AREA)
- Hardware Redundancy (AREA)
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US38836495A | 1995-02-14 | 1995-02-14 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ATE223081T1 true ATE223081T1 (de) | 2002-09-15 |
Family
ID=23533813
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| AT96101841T ATE223081T1 (de) | 1995-02-14 | 1996-02-08 | Verfahren und vorrichtung zum koordinieren der benutzung von physikalischen registern in einem mikroprozessor |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5740414A (de) |
| EP (1) | EP0727735B1 (de) |
| AT (1) | ATE223081T1 (de) |
| DE (1) | DE69623146T2 (de) |
Families Citing this family (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6446224B1 (en) | 1995-03-03 | 2002-09-03 | Fujitsu Limited | Method and apparatus for prioritizing and handling errors in a computer system |
| JPH1097423A (ja) * | 1996-09-20 | 1998-04-14 | Hitachi Ltd | ループ処理の並列実行制御に適したレジスタ構成を有するプロセッサ |
| US5881305A (en) * | 1996-12-13 | 1999-03-09 | Advanced Micro Devices, Inc. | Register rename stack for a microprocessor |
| EP0863460B1 (de) * | 1997-03-03 | 2005-08-24 | International Business Machines Corporation | Verwaltung von umbenannten Register in einem superskalaren Rechnersystem |
| US5974525A (en) * | 1997-12-05 | 1999-10-26 | Intel Corporation | System for allowing multiple instructions to use the same logical registers by remapping them to separate physical segment registers when the first is being utilized |
| US6253338B1 (en) | 1998-12-21 | 2001-06-26 | International Business Machines Corporation | System for tracing hardware counters utilizing programmed performance monitor to generate trace interrupt after each branch instruction or at the end of each code basic block |
| US6338134B1 (en) | 1998-12-29 | 2002-01-08 | International Business Machines Corporation | Method and system in a superscalar data processing system for the efficient processing of an instruction by moving only pointers to data |
| US6591359B1 (en) * | 1998-12-31 | 2003-07-08 | Intel Corporation | Speculative renaming of data-processor registers |
| US6336191B1 (en) | 1999-03-08 | 2002-01-01 | International Business Machines Corporation | Method and system for clock compensation in instruction level tracing in a symmetrical multi-processing system |
| US6421758B1 (en) | 1999-07-26 | 2002-07-16 | International Business Machines Corporation | Method and system for super-fast updating and reading of content addressable memory with a bypass circuit |
| US20050120191A1 (en) * | 2003-12-02 | 2005-06-02 | Intel Corporation (A Delaware Corporation) | Checkpoint-based register reclamation |
| US7529913B2 (en) * | 2003-12-23 | 2009-05-05 | Intel Corporation | Late allocation of registers |
| US7487337B2 (en) * | 2004-09-30 | 2009-02-03 | Intel Corporation | Back-end renaming in a continual flow processor pipeline |
| US7478276B2 (en) * | 2005-02-10 | 2009-01-13 | International Business Machines Corporation | Method for checkpointing instruction groups with out-of-order floating point instructions in a multi-threaded processor |
| US7409589B2 (en) * | 2005-05-27 | 2008-08-05 | International Business Machines Corporation | Method and apparatus for reducing number of cycles required to checkpoint instructions in a multi-threaded processor |
| US7904789B1 (en) * | 2006-03-31 | 2011-03-08 | Guillermo Rozas | Techniques for detecting and correcting errors in a memory device |
| US20130173885A1 (en) * | 2011-12-30 | 2013-07-04 | Advanced Micro Devices, Inc. | Processor and Methods of Adjusting a Branch Misprediction Recovery Mode |
| US9471325B2 (en) * | 2013-07-12 | 2016-10-18 | Qualcomm Incorporated | Method and apparatus for selective renaming in a microprocessor |
| US11150904B2 (en) | 2017-08-18 | 2021-10-19 | International Business Machines Corporation | Concurrent prediction of branch addresses and update of register contents |
| US10884747B2 (en) | 2017-08-18 | 2021-01-05 | International Business Machines Corporation | Prediction of an affiliated register |
| 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 |
| 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 |
| US10719328B2 (en) | 2017-08-18 | 2020-07-21 | International Business Machines Corporation | Determining and predicting derived values used in register-indirect branching |
| 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 |
| US10884746B2 (en) * | 2017-08-18 | 2021-01-05 | International Business Machines Corporation | Determining and predicting affiliated registers based on dynamic runtime control flow analysis |
| US10534609B2 (en) | 2017-08-18 | 2020-01-14 | International Business Machines Corporation | Code-specific affiliated register prediction |
| US11200062B2 (en) * | 2019-08-26 | 2021-12-14 | Apple Inc. | History file for previous register mapping storage and last reference indication |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE3852432T2 (de) * | 1987-07-01 | 1995-07-13 | Ibm | Befehlssteuerungsvorrichtung für ein Computersystem. |
| 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 |
| US5197132A (en) * | 1990-06-29 | 1993-03-23 | Digital Equipment Corporation | Register mapping system having a log containing sequential listing of registers that were changed in preceding cycles for precise post-branch recovery |
| EP0514763A3 (en) * | 1991-05-20 | 1993-08-25 | Motorola, Inc. | A data processor having a logical register content-addressable memory |
| US5355457A (en) * | 1991-05-21 | 1994-10-11 | Motorola, Inc. | Data processor for performing simultaneous instruction retirement and backtracking |
| US5694564A (en) * | 1993-01-04 | 1997-12-02 | Motorola, Inc. | Data processing system a method for performing register renaming having back-up capability |
-
1995
- 1995-08-17 US US08/516,230 patent/US5740414A/en not_active Expired - Lifetime
-
1996
- 1996-02-08 AT AT96101841T patent/ATE223081T1/de not_active IP Right Cessation
- 1996-02-08 EP EP96101841A patent/EP0727735B1/de not_active Expired - Lifetime
- 1996-02-08 DE DE69623146T patent/DE69623146T2/de not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| DE69623146D1 (de) | 2002-10-02 |
| DE69623146T2 (de) | 2003-07-24 |
| EP0727735A3 (de) | 1997-07-02 |
| EP0727735A2 (de) | 1996-08-21 |
| EP0727735B1 (de) | 2002-08-28 |
| US5740414A (en) | 1998-04-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69623146D1 (de) | Verfahren und Vorrichtung zum Koordinieren der Benutzung von physikalischen Registern in einem Mikroprozessor | |
| DE69638299D1 (de) | Verfahren und Vorrichtung zur Änderung der Namen von Registern | |
| ATE170995T1 (de) | Vorrichtung zur auflösung von einer variablen anzahl von möglichen speicherzugriffskonflikten in einem pipeline-rechnersystem und verfahren dazu | |
| ATE162897T1 (de) | Verfahren und gerät zur beschleunigung von verzweigungsbefehlen | |
| ATE173345T1 (de) | Verfahren und system zur zuteilung mehrerer befehle in einem superskalaren prozessorsystem in einem einzigen zyklus | |
| DE69621494D1 (de) | Vorrichtung und Verfahren eines verteilten Fehlerbeseitigers zur Fehlerbeseitigung von verteilten Anwendungsprogrammen | |
| DE69424115D1 (de) | Rechnersystem und Verfahren zur Verarbeitung von Vektordaten | |
| KR100371930B1 (de) | ||
| DE19781850T1 (de) | Ein Prozessor und ein Verfahren zum spekulativen Ausführen von Befehlen aus mehreren von einem Verzweigungsbefehl angezeigten Befehlsströmen | |
| DE69719235D1 (de) | Prozessor und Verfahren zur spekulativen Ausführung von bedingten Verzweigungsbefehlen unter Verwendung einer von mehreren Verzweigungsvorhersageverfahren | |
| DE69508303D1 (de) | Superskalarmikroprozessor mit einer Vorrichtung zur Namenänderung und Beförderung einer Operandenflagge und Verfahren zur Bearbeitung von RISC-ähnliche Funktionen in diesem Superskalarmikroprozessor | |
| DE69430710D1 (de) | Vorrichtung zum Wiedergewinn von Bilddaten | |
| DE69430015D1 (de) | Verfahren und vorrichtung zur aufnahme von tonerbildern und flüssiger toner dafür | |
| DE69612643D1 (de) | Verfahren und Vorrichtung zum Extrahieren spezifischer Bildinformation zum Erzeugen von Videoinformation | |
| DE69625724D1 (de) | Verfahren und Vorrichtung zum Speichern und Wiederauffinden von Informationen über den Namenraum in einem verteilten Rechnersystem | |
| EP0724221A3 (de) | Verfahren und Vorrichtung zur Ausführung unähnlicher Befehlsfolgen in einem Prozessor eines Einzelbefehl- und Mehrfahrdatenrechners (SIMD) | |
| DE68911578D1 (de) | Entwicklungsvorrichtung zum Entwickeln von latenten elektrostatischen Bildern. | |
| DE59308518D1 (de) | Verfahren und Vorrichtung zum Entwickeln von strahlungsempfindlichen, belichteten Druckformen | |
| DE68924546D1 (de) | Verfahren und Vorrichtung zur Ausführung von Befehlen für ein Vektorverarbeitungssystem. | |
| DE69325566D1 (de) | Verfahren und System zur Befehlszuteilung in einem superskalaren Prozessorsystem mit unabhängig zugänglichem Zwischenspeicher | |
| DE69323196D1 (de) | Rechnersystem und Verfahren zur Ausführung von mehreren Aufgaben | |
| DE69624362D1 (de) | Verfahren zum bestimmen von laufzeitfeldern von seismischen daten auf einem massiv-parallelen computer | |
| DE69426000D1 (de) | Verfahren zum Kopieren von Daten mit grosser Geschwindigkeit | |
| DE69419195D1 (de) | Vorrichtung und Verfahren zum Suchen von Daten | |
| DE69212284D1 (de) | Vorrichtung zur Benutzung von Fehlerinformationen eines Einzel- oder Mehrrechnersystems eines Flugzeuges |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RER | Ceased as to paragraph 5 lit. 3 law introducing patent treaties |