WO1999019795A8 - Procede et appareil d'optimisation de l'execution d'instructions - Google Patents

Procede et appareil d'optimisation de l'execution d'instructions

Info

Publication number
WO1999019795A8
WO1999019795A8 PCT/US1998/021465 US9821465W WO9919795A8 WO 1999019795 A8 WO1999019795 A8 WO 1999019795A8 US 9821465 W US9821465 W US 9821465W WO 9919795 A8 WO9919795 A8 WO 9919795A8
Authority
WO
WIPO (PCT)
Prior art keywords
instructions
load
store instructions
executed
execution
Prior art date
Application number
PCT/US1998/021465
Other languages
English (en)
Other versions
WO1999019795A1 (fr
Inventor
Dale C Morris
Jack D Mills
William Y Chen
Original Assignee
Inst The Dev Of Emerging Archi
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inst The Dev Of Emerging Archi filed Critical Inst The Dev Of Emerging Archi
Priority to EP98953390A priority Critical patent/EP1031076A1/fr
Priority to JP2000516280A priority patent/JP2001520415A/ja
Priority to AU10780/99A priority patent/AU1078099A/en
Publication of WO1999019795A1 publication Critical patent/WO1999019795A1/fr
Publication of WO1999019795A8 publication Critical patent/WO1999019795A8/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/445Exploiting fine grain parallelism, i.e. parallelism at instruction level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/1407Checkpointing the instruction stream
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining memory consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3838Dependency mechanisms, e.g. register scoreboarding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling

Abstract

On diffère des problèmes rencontrés lors de l'exécution spéculative d'instructions. Si les résultats des instructions qui ont été exécutées spéculativement sont utilisés ultérieurement, on vérifie l'intégrité de l'exécution des instructions. Si elle ne l'est pas, un code de récupération est exécuté, ce code modifiant l'état du système informatique (50) pour donner l'apparence que les instructions exécutées spéculativement ont été exécutées avec succès.
PCT/US1998/021465 1997-10-13 1998-10-09 Procede et appareil d'optimisation de l'execution d'instructions WO1999019795A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP98953390A EP1031076A1 (fr) 1997-10-13 1998-10-09 Procede et appareil d'optimisation de l'execution d'instructions
JP2000516280A JP2001520415A (ja) 1997-10-13 1998-10-09 命令実行を最適化する方法および装置
AU10780/99A AU1078099A (en) 1997-10-13 1998-10-09 Method and apparatus for optimizing instruction execution

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US95383697A 1997-10-13 1997-10-13
US16804098A 1998-10-07 1998-10-07
US09/168,040 1998-10-07
US08/953,836 1998-10-07

Publications (2)

Publication Number Publication Date
WO1999019795A1 WO1999019795A1 (fr) 1999-04-22
WO1999019795A8 true WO1999019795A8 (fr) 2000-09-28

Family

ID=26863747

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1998/021465 WO1999019795A1 (fr) 1997-10-13 1998-10-09 Procede et appareil d'optimisation de l'execution d'instructions

Country Status (4)

Country Link
EP (1) EP1031076A1 (fr)
JP (1) JP2001520415A (fr)
AU (1) AU1078099A (fr)
WO (1) WO1999019795A1 (fr)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6889315B2 (en) * 1999-12-17 2005-05-03 Fujitsu Limited Processor and method of controlling the same
US6598156B1 (en) * 1999-12-23 2003-07-22 Intel Corporation Mechanism for handling failing load check instructions
US7680999B1 (en) 2000-02-08 2010-03-16 Hewlett-Packard Development Company, L.P. Privilege promotion based on check of previous privilege level
US6704862B1 (en) 2000-03-06 2004-03-09 Sun Microsystems, Inc. Method and apparatus for facilitating exception handling using a conditional trap instruction
US6631460B1 (en) * 2000-04-27 2003-10-07 Institute For The Development Of Emerging Architectures, L.L.C. Advanced load address table entry invalidation based on register address wraparound
JP3790683B2 (ja) 2001-07-05 2006-06-28 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ装置、その例外処理プログラム及びコンパイル方法
JP2008293378A (ja) 2007-05-25 2008-12-04 Panasonic Corp プログラム書き換え装置
US11113065B2 (en) 2019-04-03 2021-09-07 Advanced Micro Devices, Inc. Speculative instruction wakeup to tolerate draining delay of memory ordering violation check buffers

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778219A (en) * 1990-12-14 1998-07-07 Hewlett-Packard Company Method and system for propagating exception status in data registers and for detecting exceptions from speculative operations with non-speculative operations
US5692169A (en) * 1990-12-14 1997-11-25 Hewlett Packard Company Method and system for deferring exceptions generated during speculative execution
JP2786574B2 (ja) * 1992-05-06 1998-08-13 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・システムにおける順不同ロード動作の性能を改善する方法と装置
US5799179A (en) * 1995-01-24 1998-08-25 International Business Machines Corporation Handling of exceptions in speculative instructions
US5625835A (en) * 1995-05-10 1997-04-29 International Business Machines Corporation Method and apparatus for reordering memory operations in a superscalar or very long instruction word processor
US5903749A (en) * 1996-07-02 1999-05-11 Institute For The Development Of Emerging Architecture, L.L.C. Method and apparatus for implementing check instructions that allow for the reuse of memory conflict information if no memory conflict occurs

Also Published As

Publication number Publication date
WO1999019795A1 (fr) 1999-04-22
JP2001520415A (ja) 2001-10-30
AU1078099A (en) 1999-05-03
EP1031076A1 (fr) 2000-08-30

Similar Documents

Publication Publication Date Title
GB2326494A (en) A method of performing different data type operations that is invisible to various operating system techniques
EP0724221A3 (fr) Méthode et dispositif pour l'exécution de séquences d'instructions dissimilaires dans un processeur d'un ordinateur à flux unique d'instructions et à flux multiples de données (SIMD)
HK1051729A1 (en) Method and processor for branch instruction
DE69316232D1 (de) System zum betrieb von anwendungs-software in einer sicherheitskritischen umgebung
EP1308837A3 (fr) Procédé et dispositif pour changer la désignation de registres
WO1999026132A3 (fr) Processeur configure pour generer des resultats d'anticipation et pour reduire les deplacements et les comparaisons, et instructions arythmetiques simples recevant les resultats d'anticipation
EP0665489A3 (fr) Système et procédé pour le contrÔle de curseur dans un ordinateur.
IL129911A0 (en) Method system and data structures for computer software application development and execution
WO1997012508A3 (fr) Transformation et manipulation de code objet de programme
AU2389495A (en) Computer program debugging system and method
EP0813144A3 (fr) Système de traitement de données et méthode utilisants des jeux d'instructions multiples
EP0674280A3 (fr) Mise en marche d'un logiciel après téléchargement de données créées par un logiciel.
EP0794492A3 (fr) Exécution répartie de commandes à mode inadapté dans des systèmes multiprocesseurs
EP0670541A3 (fr) Système et méthode de commande de curseur d'ordinateur.
EP0836137A3 (fr) Jeu d'instructions visuel pour CPU à fonctions graphiques intégrées
EP0939364A3 (fr) Mécanisme pour le rétablissement de branchements dans un processeur à instructions appariées
EP0928089A3 (fr) Mobilité des agents dans un réseau
EP0651327A3 (fr) Recompilation des programmes pour une meilleure optimisation
AU6629894A (en) Method for decoding guest instructions for a host computer
EP0457403A3 (en) Multilevel instruction cache, method for using said cache, method for compiling instructions for said cache and micro computer system using such a cache
HK1044827A1 (en) A computer processor, a method and a system of checking a computer instruction and a corresponding computer system.
DE69414592D1 (de) Ausführung von datenverarbeitungsbefehlen
WO1999019795A8 (fr) Procede et appareil d'optimisation de l'execution d'instructions
ES2140241T3 (es) Procedimiento para la sincronizacion de programas en diferentes ordenadores de un sistema integrado.
PL316532A1 (en) Data processing system and way of its operation

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

ENP Entry into the national phase in:

Ref country code: JP

Ref document number: 2000 516280

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 1998953390

Country of ref document: EP

NENP Non-entry into the national phase in:

Ref country code: CA

WWP Wipo information: published in national office

Ref document number: 1998953390

Country of ref document: EP

AK Designated states

Kind code of ref document: C1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: C1

Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

WR Later publication of a revised version of an international search report
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
NENP Non-entry into the national phase in:

Ref country code: CA

WWW Wipo information: withdrawn in national office

Ref document number: 1998953390

Country of ref document: EP