DE69325086D1 - Verfahren und System für spekulative Befehlsausführung - Google Patents
Verfahren und System für spekulative BefehlsausführungInfo
- Publication number
- DE69325086D1 DE69325086D1 DE69325086T DE69325086T DE69325086D1 DE 69325086 D1 DE69325086 D1 DE 69325086D1 DE 69325086 T DE69325086 T DE 69325086T DE 69325086 T DE69325086 T DE 69325086T DE 69325086 D1 DE69325086 D1 DE 69325086D1
- Authority
- DE
- Germany
- Prior art keywords
- command execution
- speculative command
- speculative
- execution
- command
- 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; 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, 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
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/325—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/002,445 US5421020A (en) | 1993-01-08 | 1993-01-08 | Counter register implementation for speculative execution of branch on count instructions |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69325086D1 true DE69325086D1 (de) | 1999-07-01 |
DE69325086T2 DE69325086T2 (de) | 1999-12-16 |
Family
ID=21700801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69325086T Expired - Fee Related DE69325086T2 (de) | 1993-01-08 | 1993-12-27 | Verfahren und System für spekulative Befehlsausführung |
Country Status (4)
Country | Link |
---|---|
US (1) | US5421020A (de) |
EP (1) | EP0605872B1 (de) |
JP (1) | JP3137157B2 (de) |
DE (1) | DE69325086T2 (de) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0623874A1 (de) * | 1993-05-03 | 1994-11-09 | International Business Machines Corporation | Verfahren zur Ausführung von Befehlen in einer Schleife |
US5740393A (en) * | 1993-10-15 | 1998-04-14 | Intel Corporation | Instruction pointer limits in processor that performs speculative out-of-order instruction execution |
US5721857A (en) * | 1993-12-30 | 1998-02-24 | Intel Corporation | Method and apparatus for saving the effective address of floating point memory operations in an out-of-order microprocessor |
US5963975A (en) * | 1994-04-19 | 1999-10-05 | Lsi Logic Corporation | Single chip integrated circuit distributed shared memory (DSM) and communications nodes |
US5642493A (en) * | 1994-11-25 | 1997-06-24 | Motorola, Inc. | Method of loading instructions into an instruction cache by repetitively using a routine containing a mispredicted branch instruction |
JP3494489B2 (ja) * | 1994-11-30 | 2004-02-09 | 株式会社ルネサステクノロジ | 命令処理装置 |
US5802346A (en) * | 1995-06-02 | 1998-09-01 | International Business Machines Corporation | Method and system for minimizing the delay in executing branch-on-register instructions |
US5943494A (en) * | 1995-06-07 | 1999-08-24 | International Business Machines Corporation | Method and system for processing multiple branch instructions that write to count and link registers |
US5764970A (en) * | 1995-11-20 | 1998-06-09 | International Business Machines Corporation | Method and apparatus for supporting speculative branch and link/branch on count instructions |
US5740419A (en) * | 1996-07-22 | 1998-04-14 | International Business Machines Corporation | Processor and method for speculatively executing an instruction loop |
US5951679A (en) * | 1996-10-31 | 1999-09-14 | Texas Instruments Incorporated | Microprocessor circuits, systems, and methods for issuing successive iterations of a short backward branch loop in a single cycle |
US6003128A (en) * | 1997-05-01 | 1999-12-14 | Advanced Micro Devices, Inc. | Number of pipeline stages and loop length related counter differential based end-loop prediction |
US5958047A (en) * | 1997-06-25 | 1999-09-28 | Sun Microsystems, Inc. | Method for precise architectural update in an out-of-order processor |
US6085305A (en) | 1997-06-25 | 2000-07-04 | Sun Microsystems, Inc. | Apparatus for precise architectural update in an out-of-order processor |
US5838988A (en) * | 1997-06-25 | 1998-11-17 | Sun Microsystems, Inc. | Computer product for precise architectural update in an out-of-order processor |
US6505296B2 (en) * | 1997-10-13 | 2003-01-07 | Hewlett-Packard Company | Emulated branch effected by trampoline mechanism |
US6233645B1 (en) | 1998-11-02 | 2001-05-15 | Compaq Computer Corporation | Dynamically disabling speculative prefetch when high priority demand fetch opportunity use is high |
US6338133B1 (en) | 1999-03-12 | 2002-01-08 | International Business Machines Corporation | Measured, allocation of speculative branch instructions to processor execution units |
US6675372B1 (en) * | 2000-10-31 | 2004-01-06 | Sun Microsystems, Inc. | Counting speculative and non-speculative events |
US6766444B1 (en) | 2000-11-02 | 2004-07-20 | Intel Corporation | Hardware loops |
US6920547B2 (en) * | 2000-12-20 | 2005-07-19 | Intel Corporation | Register adjustment based on adjustment values determined at multiple stages within a pipeline of a processor |
US7065636B2 (en) * | 2000-12-20 | 2006-06-20 | Intel Corporation | Hardware loops and pipeline system using advanced generation of loop parameters |
US7181737B2 (en) | 2002-03-18 | 2007-02-20 | Sun Microsystems, Inc. | Method and apparatus for deployment of high integrity software using static procedure return addresses |
US7010783B2 (en) | 2002-03-18 | 2006-03-07 | Sun Microsystems, Inc. | Method and apparatus for deployment of high integrity software using reduced dynamic memory allocation |
US6912633B2 (en) | 2002-03-18 | 2005-06-28 | Sun Microsystems, Inc. | Enhanced memory management for portable devices |
US6996802B2 (en) | 2002-03-18 | 2006-02-07 | Sun Microsystems, Inc. | Method and apparatus for deployment of high integrity software using initialization order and calling order constraints |
US7281237B2 (en) | 2003-01-16 | 2007-10-09 | Sun Microsystems, Inc. | Run-time verification of annotated software code |
US7353499B2 (en) | 2003-09-25 | 2008-04-01 | Sun Microsystems, Inc. | Multiple instruction dispatch tables for application program obfuscation |
US7424620B2 (en) | 2003-09-25 | 2008-09-09 | Sun Microsystems, Inc. | Interleaved data and instruction streams for application program obfuscation |
US7415618B2 (en) | 2003-09-25 | 2008-08-19 | Sun Microsystems, Inc. | Permutation of opcode values for application program obfuscation |
US8220058B2 (en) | 2003-09-25 | 2012-07-10 | Oracle America, Inc. | Rendering and encryption engine for application program obfuscation |
US7363620B2 (en) | 2003-09-25 | 2008-04-22 | Sun Microsystems, Inc. | Non-linear execution of application program instructions for application program obfuscation |
US7930522B2 (en) * | 2008-08-19 | 2011-04-19 | Freescale Semiconductor, Inc. | Method for speculative execution of instructions and a device having speculative execution capabilities |
CN109739557B (zh) * | 2019-01-08 | 2022-02-18 | 郑州云海信息技术有限公司 | 零开销循环装置及实现方法、系统、设备、计算机介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0150177A1 (de) * | 1983-07-11 | 1985-08-07 | Prime Computer, Inc. | Datenverarbeitungsvorrichtung |
JPS62159231A (ja) * | 1986-01-07 | 1987-07-15 | Nec Corp | 命令先取り装置 |
JPH0754460B2 (ja) * | 1986-01-07 | 1995-06-07 | 日本電気株式会社 | 命令先取り装置 |
US4920477A (en) * | 1987-04-20 | 1990-04-24 | Multiflow Computer, Inc. | Virtual address table look aside buffer miss recovery method and apparatus |
US4942520A (en) * | 1987-07-31 | 1990-07-17 | Prime Computer, Inc. | Method and apparatus for indexing, accessing and updating a memory |
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 |
US5142634A (en) * | 1989-02-03 | 1992-08-25 | Digital Equipment Corporation | Branch prediction |
US5101484A (en) * | 1989-02-14 | 1992-03-31 | Intel Corporation | Method and apparatus for implementing an iterative program loop by comparing the loop decrement with the loop value |
JPH0328928A (ja) * | 1989-06-26 | 1991-02-07 | Nec Corp | Loopの制御方式 |
JPH0343830A (ja) * | 1989-07-11 | 1991-02-25 | Fujitsu Ltd | ブロックリピート回路 |
-
1993
- 1993-01-08 US US08/002,445 patent/US5421020A/en not_active Expired - Fee Related
- 1993-12-20 JP JP05319307A patent/JP3137157B2/ja not_active Expired - Fee Related
- 1993-12-27 EP EP93120940A patent/EP0605872B1/de not_active Expired - Lifetime
- 1993-12-27 DE DE69325086T patent/DE69325086T2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP3137157B2 (ja) | 2001-02-19 |
DE69325086T2 (de) | 1999-12-16 |
JPH06236271A (ja) | 1994-08-23 |
EP0605872B1 (de) | 1999-05-26 |
EP0605872A1 (de) | 1994-07-13 |
US5421020A (en) | 1995-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69325086D1 (de) | Verfahren und System für spekulative Befehlsausführung | |
DE69618259D1 (de) | System und Verfahren für eine elektronische Programmzeitschrift | |
DE69419749D1 (de) | Speicherverwalter für ein rechnersystem und verfahren hierfür | |
DE69614645D1 (de) | System und Verfahren zum Profilieren von Code für eine symmetrische Multiprozessorarchitektur | |
GB9520626D0 (en) | Method and system for providing support for speculative execution | |
DE69308293T2 (de) | Globales prozesssteuerungsinformationssystem und verfahren | |
DE69526257T2 (de) | Verfahren zum navigieren und system dafür | |
DE69429305T2 (de) | System und Verfahren für Sprachenverarbeitung | |
DE69529621D1 (de) | Verfahren und system zum durchführen einer geführten und parametrisierten suche | |
DE69516374T2 (de) | Datenverarbeitungssystem und Verfahren dafür | |
DE69330970D1 (de) | Sicheres Frontenverbindungssystem und Verfahren für Prozesssteuerungsrechner | |
DE69327250D1 (de) | System und verfahren zur computerunterstuetzten pruefung | |
DE69527563T2 (de) | Automationssystem und -verfahren zum LSI-Entwurf | |
DE69429799D1 (de) | Verfahren und einrichtung für mikrobische reduktion | |
DE69522423T2 (de) | Digitalisierstift und Verfahren | |
DE69329577T2 (de) | Verfahren und system für implementierung-unabhängige schnittstellenspezifikation | |
DE69734658D1 (de) | Verfahren und system für virtuelle kinematographie | |
DE69839274D1 (de) | System und verfahren zum absichern von sprachtransaktionen | |
DE69408601D1 (de) | System und Verfahren zur Emulierung von Vielfachprozess-Pipelines in einer Einprozessumgebung | |
DE69625473D1 (de) | Taktsteuerungssystem- und verfahren | |
DE69432697D1 (de) | Stromverwaltung für Rechnersystem und Verfahren hierfür | |
DE69331085D1 (de) | Automatisiertes LSI-Entwurfsystem und Verfahren | |
DE69323196D1 (de) | Rechnersystem und Verfahren zur Ausführung von mehreren Aufgaben | |
DE69422638D1 (de) | System und verfahren für extern geregelte fahrzeuge | |
DE69424344D1 (de) | Verfahren und System eines numerischen Prozessors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |