ATE251319T1 - Programmierbares system und verfahren zum vorhersagen von verzweigungen für computersysteme - Google Patents
Programmierbares system und verfahren zum vorhersagen von verzweigungen für computersystemeInfo
- Publication number
- ATE251319T1 ATE251319T1 AT97935174T AT97935174T ATE251319T1 AT E251319 T1 ATE251319 T1 AT E251319T1 AT 97935174 T AT97935174 T AT 97935174T AT 97935174 T AT97935174 T AT 97935174T AT E251319 T1 ATE251319 T1 AT E251319T1
- Authority
- AT
- Austria
- Prior art keywords
- prediction
- predicting
- computer systems
- branch prediction
- programmable system
- 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
- G06F9/3842—Speculative instruction execution
- G06F9/3844—Speculative instruction execution using dynamic branch prediction, e.g. using branch history tables
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)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Executing Machine-Instructions (AREA)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/691,785 US5949995A (en) | 1996-08-02 | 1996-08-02 | Programmable branch prediction system and method for inserting prediction operation which is independent of execution of program code |
| PCT/US1997/013307 WO1998006032A1 (en) | 1996-08-02 | 1997-07-25 | Programmable branch prediction system and method for computer systems |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ATE251319T1 true ATE251319T1 (de) | 2003-10-15 |
Family
ID=24777970
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| AT97935174T ATE251319T1 (de) | 1996-08-02 | 1997-07-25 | Programmierbares system und verfahren zum vorhersagen von verzweigungen für computersysteme |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US5949995A (de) |
| EP (1) | EP0855058B1 (de) |
| JP (2) | JPH11513164A (de) |
| AT (1) | ATE251319T1 (de) |
| AU (1) | AU3817797A (de) |
| DE (1) | DE69725278T2 (de) |
| WO (1) | WO1998006032A1 (de) |
Families Citing this family (32)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| SE509499C2 (sv) * | 1996-05-03 | 1999-02-01 | Ericsson Telefon Ab L M | Metod och anordning för hantering av villkorliga hopp vid instruktionsbehandling i en pipeline-arkitektur |
| JPH1185515A (ja) * | 1997-09-10 | 1999-03-30 | Ricoh Co Ltd | マイクロプロセッサ |
| US6079005A (en) * | 1997-11-20 | 2000-06-20 | Advanced Micro Devices, Inc. | Microprocessor including virtual address branch prediction and current page register to provide page portion of virtual and physical fetch address |
| US6079003A (en) | 1997-11-20 | 2000-06-20 | Advanced Micro Devices, Inc. | Reverse TLB for providing branch target address in a microprocessor having a physically-tagged cache |
| US6266764B1 (en) * | 1998-03-17 | 2001-07-24 | Matsushita Electric Industrial Co., Ltd. | Program controller for switching between first program and second program |
| US6205545B1 (en) * | 1998-04-30 | 2001-03-20 | Hewlett-Packard Company | Method and apparatus for using static branch predictions hints with dynamically translated code traces to improve performance |
| US6189141B1 (en) * | 1998-05-04 | 2001-02-13 | Hewlett-Packard Company | Control path evaluating trace designator with dynamically adjustable thresholds for activation of tracing for high (hot) activity and low (cold) activity of flow control |
| US6243805B1 (en) | 1998-08-11 | 2001-06-05 | Advanced Micro Devices, Inc. | Programming paradigm and microprocessor architecture for exact branch targeting |
| US6430682B1 (en) * | 1998-09-11 | 2002-08-06 | Agere Systems Guardian Corp. | Reliable branch predictions for real-time applications |
| US6611910B2 (en) * | 1998-10-12 | 2003-08-26 | Idea Corporation | Method for processing branch operations |
| US6185669B1 (en) * | 1999-02-18 | 2001-02-06 | Hewlett-Packard Company | System for fetching mapped branch target instructions of optimized code placed into a trace memory |
| US6481008B1 (en) * | 1999-06-30 | 2002-11-12 | Microsoft Corporation | Instrumentation and optimization tools for heterogeneous programs |
| US6446197B1 (en) * | 1999-10-01 | 2002-09-03 | Hitachi, Ltd. | Two modes for executing branch instructions of different lengths and use of branch control instruction and register set loaded with target instructions |
| US6725335B2 (en) * | 2000-02-09 | 2004-04-20 | Hewlett-Packard Development Company, L.P. | Method and system for fast unlinking of a linked branch in a caching dynamic translator |
| US20020066081A1 (en) * | 2000-02-09 | 2002-05-30 | Evelyn Duesterwald | Speculative caching scheme for fast emulation through statically predicted execution traces in a caching dynamic translator |
| US6859875B1 (en) * | 2000-06-12 | 2005-02-22 | Freescale Semiconductor, Inc. | Processor having selective branch prediction |
| US7278136B2 (en) * | 2002-07-09 | 2007-10-02 | University Of Massachusetts | Reducing processor energy consumption using compile-time information |
| US6934865B2 (en) * | 2002-07-09 | 2005-08-23 | University Of Massachusetts | Controlling a processor resource based on a compile-time prediction of number of instructions-per-cycle that will be executed across plural cycles by the processor |
| US7493607B2 (en) | 2002-07-09 | 2009-02-17 | Bluerisc Inc. | Statically speculative compilation and execution |
| US20050114850A1 (en) | 2003-10-29 | 2005-05-26 | Saurabh Chheda | Energy-focused re-compilation of executables and hardware mechanisms based on compiler-architecture interaction and compiler-inserted control |
| US7996671B2 (en) | 2003-11-17 | 2011-08-09 | Bluerisc Inc. | Security of program executables and microprocessors based on compiler-architecture interaction |
| US8607209B2 (en) | 2004-02-04 | 2013-12-10 | Bluerisc Inc. | Energy-focused compiler-assisted branch prediction |
| JP4134179B2 (ja) * | 2005-02-04 | 2008-08-13 | 株式会社ソニー・コンピュータエンタテインメント | ソフトウエアによる動的予測方法および装置 |
| US7487340B2 (en) * | 2006-06-08 | 2009-02-03 | International Business Machines Corporation | Local and global branch prediction information storage |
| US8301871B2 (en) * | 2006-06-08 | 2012-10-30 | International Business Machines Corporation | Predicated issue for conditional branch instructions |
| US20080126766A1 (en) | 2006-11-03 | 2008-05-29 | Saurabh Chheda | Securing microprocessors against information leakage and physical tampering |
| JP4526560B2 (ja) * | 2007-12-05 | 2010-08-18 | 日本テキサス・インスツルメンツ株式会社 | プロセッサおよび信号処理方法 |
| WO2012127589A1 (ja) * | 2011-03-18 | 2012-09-27 | 富士通株式会社 | マルチコアプロセッサシステム、および分岐予測方法 |
| US8935694B2 (en) | 2012-01-23 | 2015-01-13 | International Business Machines Corporation | System and method for selectively saving and restoring state of branch prediction logic through separate hypervisor-mode and guest-mode and/or user-mode instructions |
| US9032191B2 (en) | 2012-01-23 | 2015-05-12 | International Business Machines Corporation | Virtualization support for branch prediction logic enable / disable at hypervisor and guest operating system levels |
| JP2013250593A (ja) * | 2012-05-30 | 2013-12-12 | Renesas Electronics Corp | 半導体装置 |
| CN113672232B (zh) * | 2021-07-09 | 2024-06-11 | 华为技术有限公司 | 程序编译方法和装置 |
Family Cites Families (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4370711A (en) * | 1980-10-21 | 1983-01-25 | Control Data Corporation | Branch predictor using random access memory |
| US4763245A (en) * | 1985-10-30 | 1988-08-09 | International Business Machines Corporation | Branch prediction mechanism in which a branch history table is updated using an operand sensitive branch table |
| US5228131A (en) * | 1988-02-24 | 1993-07-13 | Mitsubishi Denki Kabushiki Kaisha | Data processor with selectively enabled and disabled branch prediction operation |
| US5136696A (en) * | 1988-06-27 | 1992-08-04 | Prime Computer, Inc. | High-performance pipelined central processor for predicting the occurrence of executing single-cycle instructions and multicycle instructions |
| US5313637A (en) * | 1988-11-29 | 1994-05-17 | Rose David K | Method and apparatus for validating authorization to access information in an information processing system |
| US5197137A (en) * | 1989-07-28 | 1993-03-23 | International Business Machines Corporation | Computer architecture for the concurrent execution of sequential programs |
| US5471593A (en) * | 1989-12-11 | 1995-11-28 | Branigin; Michael H. | Computer processor with an efficient means of executing many instructions simultaneously |
| US5226130A (en) * | 1990-02-26 | 1993-07-06 | Nexgen Microsystems | Method and apparatus for store-into-instruction-stream detection and maintaining branch prediction cache consistency |
| US5276882A (en) * | 1990-07-27 | 1994-01-04 | International Business Machines Corp. | Subroutine return through branch history table |
| JPH04229337A (ja) * | 1990-12-27 | 1992-08-18 | Hitachi Ltd | エミュレータ |
| JPH04264923A (ja) * | 1991-02-20 | 1992-09-21 | Nec Corp | 情報処理装置 |
| US5303355A (en) * | 1991-03-27 | 1994-04-12 | Motorola, Inc. | Pipelined data processor which conditionally executes a predetermined looping instruction in hardware |
| JPH06124206A (ja) * | 1992-10-13 | 1994-05-06 | Oki Electric Ind Co Ltd | 分岐命令予測処理装置及びその処理方法 |
| JP3499252B2 (ja) * | 1993-03-19 | 2004-02-23 | 株式会社ルネサステクノロジ | コンパイル装置及びデータ処理装置 |
| KR100310581B1 (ko) * | 1993-05-14 | 2001-12-17 | 피터 엔. 데트킨 | 분기목표버퍼의추측기록메카니즘 |
| US5454117A (en) * | 1993-08-25 | 1995-09-26 | Nexgen, Inc. | Configurable branch prediction for a processor performing speculative execution |
| IE940855A1 (en) * | 1993-12-20 | 1995-06-28 | Motorola Inc | Data processor with speculative instruction fetching and¹method of operation |
| JP3599409B2 (ja) * | 1994-06-14 | 2004-12-08 | 株式会社ルネサステクノロジ | 分岐予測装置 |
| US5664191A (en) * | 1994-06-30 | 1997-09-02 | Microsoft Corporation | Method and system for improving the locality of memory references during execution of a computer program |
| 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 |
-
1996
- 1996-08-02 US US08/691,785 patent/US5949995A/en not_active Expired - Lifetime
-
1997
- 1997-07-25 AT AT97935174T patent/ATE251319T1/de not_active IP Right Cessation
- 1997-07-25 DE DE69725278T patent/DE69725278T2/de not_active Expired - Lifetime
- 1997-07-25 WO PCT/US1997/013307 patent/WO1998006032A1/en not_active Ceased
- 1997-07-25 AU AU38177/97A patent/AU3817797A/en not_active Abandoned
- 1997-07-25 JP JP10508025A patent/JPH11513164A/ja active Pending
- 1997-07-25 EP EP97935174A patent/EP0855058B1/de not_active Expired - Lifetime
-
2006
- 2006-10-11 JP JP2006277835A patent/JP2007058875A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| JPH11513164A (ja) | 1999-11-09 |
| DE69725278T2 (de) | 2004-08-26 |
| DE69725278D1 (de) | 2003-11-06 |
| WO1998006032A1 (en) | 1998-02-12 |
| EP0855058A4 (de) | 2000-01-12 |
| US5949995A (en) | 1999-09-07 |
| EP0855058A1 (de) | 1998-07-29 |
| EP0855058B1 (de) | 2003-10-01 |
| AU3817797A (en) | 1998-02-25 |
| JP2007058875A (ja) | 2007-03-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ATE251319T1 (de) | Programmierbares system und verfahren zum vorhersagen von verzweigungen für computersysteme | |
| IL103433A (en) | Architectures and methods for dividing processing tasks into tasks for a programmable real time signal processor and tasks for a decision-making microprocessor interfacing therewith | |
| KR830009518A (ko) | 병렬처리용(竝列處理用)데이터 처리 시스템 | |
| GB2350219A (en) | System and method for maintaining branch information | |
| MXPA98003211A (es) | Programa de aplicacion y sistema y metodogenerador de documentacion. | |
| TW344060B (en) | Processor and method for speculatively executing a conditional branch instruction utilizing a selected one of multiple branch prediction methodologies | |
| DE69724516D1 (de) | Rechnersystem und Verfahren zur Ausführung von architekturspezifischem Programmcode mit geringen Laufzeitspeicherbereichsanforderungen | |
| ATE64664T1 (de) | Datenverarbeitungsgeraet und -verfahren. | |
| DE69123775D1 (de) | Programmsteuersystem für eine tragbare Datenspeichervorrichtung | |
| KR920001330A (ko) | 랏트에 대한 리소스 할당 제어 방법 및 시스템 | |
| DE69614645D1 (de) | System und Verfahren zum Profilieren von Code für eine symmetrische Multiprozessorarchitektur | |
| DE69334091D1 (de) | Zugangskontrollen-Untersystem und Verfahren für ein verteiltes Rechensystem, das lokal gespeicherte Authentifizierungsdaten benutzt | |
| ATE253755T1 (de) | Personalisierung einer interaktiven unterhaltung | |
| DE50311145D1 (de) | Sicherheitssteuerung zum fehlersicheren steuern von sicherheitskritischen prozessen sowie verfahren zum aufspielen eines neuen betriebsprogramms auf eine solche | |
| DE69325086D1 (de) | Verfahren und System für spekulative Befehlsausführung | |
| KR960700475A (ko) | 명령어 실행 제어를 위해 명령어에 태그를 할당하는 시스템 및 방법 | |
| HK1040439A1 (en) | A method and apparatus for performing cache segment flush operations | |
| DE69740171D1 (de) | Rechnersystem und Verfahren zur Ausführung von netzmobilem Programmkode mit geringen Laufzeitsspeicherbereichsanforderungen | |
| DE69840286D1 (de) | Paralleles Datenverarbeitungssystem und Steuerungsverfahren für ein solches System | |
| DE59603592D1 (de) | Verfahren zum erzeugen und abspeichern eines aus befehlen bestehenden anwenderprogramms für eine speicherprogrammierbare steuerung und betriebsverfahren für eine speicherprogrammierbare steuerung | |
| TW228580B (en) | Information processing system and method of operation | |
| TW355770B (en) | Program execution method and device using the same | |
| ATE159361T1 (de) | Verfahren und vorrichtung zur sicherstellung von daten und/oder zur archivierungvon daten und/oder rechnerdateien | |
| DE69819144D1 (de) | System und verfahren zum lenken von miteinander verwandten aktionen | |
| ATE231998T1 (de) | System und verfahren zur berechnung der steuerparameter für ein rechnergestutztes lagerhaltungssystem |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RER | Ceased as to paragraph 5 lit. 3 law introducing patent treaties |