BR9800961A - Método e aparelho para detecção, baseada em regiões, de interfência entre operações de memória reordenadas em um processador - Google Patents

Método e aparelho para detecção, baseada em regiões, de interfência entre operações de memória reordenadas em um processador

Info

Publication number
BR9800961A
BR9800961A BR9800961-3A BR9800961A BR9800961A BR 9800961 A BR9800961 A BR 9800961A BR 9800961 A BR9800961 A BR 9800961A BR 9800961 A BR9800961 A BR 9800961A
Authority
BR
Brazil
Prior art keywords
operations
memory
loading
regions
order
Prior art date
Application number
BR9800961-3A
Other languages
English (en)
Inventor
Jaime Humberto Moreno
Mayan Moudgill
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Publication of BR9800961A publication Critical patent/BR9800961A/pt

Links

Classifications

    • 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

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)

Abstract

Patente de Invenção:<B><MU>"MéTODO E APARELHO PARA DETECçãO, BASEADA EM REGIõES, DE INTERFERêNCIA ENTRE OPERAçõES DE MEMóRIA REORDENADAS EM UM PROCESSADOR"<MV><D>. Um sistema de processamento por computador armazena sequências de instruções em memória, para execução por uma unidade de processador. Uma instrução de carregamento fora de ordem pode ser criada, seja estática ou dinamicamente, movendo-se uma instrução de carregamento de sua posição original em uma sequência de instruções para uma posição mais à frente na dita sequência de instruções. Essa instrução de carregamento fora de ordem identifica uma localização na memória a partir da qual ler um dado. A presente invenção consiste em aparelho que mapeia o espaço para endereços de memória do sistema de computador em regiões, e detecta a execução incorreta de uma operação de carregamento realizada à frente de uma operação de armazenamento sequencialmente precedente (na ordem do programa). Mais especificamente, o aparelho detecta operações de carregamento fora de ordem, usa uma tabela de mapeamento baseada em regiões para se manter a par das regiões de memória acessadas pelas operações de carregamento fora de ordem detecta a execução de operações de armazenamento em regiões acessadas por operações de carregamento fora de ordem, e ordena ao processador para executar uma sequência de recuperação quando é detectada interferência entre operações reordenadas. A invenção é aplicável ao reordenamento estático e dinâmico de operações de memória.
BR9800961-3A 1997-03-25 1998-03-25 Método e aparelho para detecção, baseada em regiões, de interfência entre operações de memória reordenadas em um processador BR9800961A (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/827,016 US5918005A (en) 1997-03-25 1997-03-25 Apparatus region-based detection of interference among reordered memory operations in a processor

Publications (1)

Publication Number Publication Date
BR9800961A true BR9800961A (pt) 1999-10-19

Family

ID=25248112

Family Applications (1)

Application Number Title Priority Date Filing Date
BR9800961-3A BR9800961A (pt) 1997-03-25 1998-03-25 Método e aparelho para detecção, baseada em regiões, de interfência entre operações de memória reordenadas em um processador

Country Status (6)

Country Link
US (1) US5918005A (pt)
JP (1) JP2938426B2 (pt)
BR (1) BR9800961A (pt)
GB (1) GB2324181B (pt)
HK (1) HK1016291A1 (pt)
SG (1) SG71088A1 (pt)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6433787B1 (en) * 1998-11-23 2002-08-13 Nicholas J. N. Murphy Dynamic write-order organizer
US7634635B1 (en) 1999-06-14 2009-12-15 Brian Holscher Systems and methods for reordering processor instructions
US7089404B1 (en) 1999-06-14 2006-08-08 Transmeta Corporation Method and apparatus for enhancing scheduling in an advanced microprocessor
US6748589B1 (en) 1999-10-20 2004-06-08 Transmeta Corporation Method for increasing the speed of speculative execution
US6535908B1 (en) * 1999-11-16 2003-03-18 William J. Johnson System and method for call record search and call record verification for network certification
DE10065752A1 (de) * 2000-12-29 2002-07-18 Fujitsu Siemens Computers Gmbh Verfahren zur Steuerung eines Computersystems, Computersystem mit einer Ausführungsumgebung und Computerprogrammprodukt
DE10065754B4 (de) * 2000-12-29 2004-03-04 Fujitsu Siemens Computers Gmbh Verfahren zur Steuerung eines Computersystems, Computersystem mit einer Ausführungsumgebung und Computerprogrammprodukt
DE10065750A1 (de) * 2000-12-29 2002-07-18 Fujitsu Siemens Computers Gmbh Verfahren zur Steuerung eines Computersystems, Computersystem mit einer Ausführungsumgebung und Computerprogrammprodukt
US6862676B1 (en) * 2001-01-16 2005-03-01 Sun Microsystems, Inc. Superscalar processor having content addressable memory structures for determining dependencies
US20030140337A1 (en) * 2001-12-21 2003-07-24 Celoxica Ltd. System, method, and article of manufacture for data transfer reporting for an application
US7269693B2 (en) * 2003-02-13 2007-09-11 Sun Microsystems, Inc. Selectively monitoring stores to support transactional program execution
US20040163082A1 (en) * 2003-02-13 2004-08-19 Marc Tremblay Commit instruction to support transactional program execution
US7269717B2 (en) * 2003-02-13 2007-09-11 Sun Microsystems, Inc. Method for reducing lock manipulation overhead during access to critical code sections
US7269694B2 (en) * 2003-02-13 2007-09-11 Sun Microsystems, Inc. Selectively monitoring loads to support transactional program execution
US7418582B1 (en) 2004-05-13 2008-08-26 Sun Microsystems, Inc. Versatile register file design for a multi-threaded processor utilizing different modes and register windows
US7571284B1 (en) 2004-06-30 2009-08-04 Sun Microsystems, Inc. Out-of-order memory transactions in a fine-grain multithreaded/multi-core processor
US7290116B1 (en) 2004-06-30 2007-10-30 Sun Microsystems, Inc. Level 2 cache index hashing to avoid hot spots
US7509484B1 (en) 2004-06-30 2009-03-24 Sun Microsystems, Inc. Handling cache misses by selectively flushing the pipeline
US7519796B1 (en) * 2004-06-30 2009-04-14 Sun Microsystems, Inc. Efficient utilization of a store buffer using counters
US8516444B2 (en) 2006-02-23 2013-08-20 International Business Machines Corporation Debugging a high performance computing program
US7796527B2 (en) * 2006-04-13 2010-09-14 International Business Machines Corporation Computer hardware fault administration
US7516310B2 (en) * 2006-06-08 2009-04-07 International Business Machines Corporation Method to reduce the number of times in-flight loads are searched by store instructions in a multi-threaded processor
US20080162889A1 (en) * 2007-01-03 2008-07-03 International Business Machines Corporation Method and apparatus for implementing efficient data dependence tracking for multiprocessor architectures
WO2008092883A2 (en) * 2007-01-30 2008-08-07 Nema Labs Ab Speculative throughput computing
US9330230B2 (en) * 2007-04-19 2016-05-03 International Business Machines Corporation Validating a cabling topology in a distributed computing system
US7769986B2 (en) * 2007-05-01 2010-08-03 International Business Machines Corporation Method and apparatus for register renaming
JP2008293378A (ja) * 2007-05-25 2008-12-04 Panasonic Corp プログラム書き換え装置
US7831866B2 (en) * 2007-08-02 2010-11-09 International Business Machines Corporation Link failure detection in a parallel computer
US8127115B2 (en) * 2009-04-03 2012-02-28 International Business Machines Corporation Group formation with multiple taken branches per group
GB2469299B (en) 2009-04-07 2011-02-16 Imagination Tech Ltd Ensuring consistency between a data cache and a main memory
US9262171B2 (en) * 2009-06-30 2016-02-16 Oracle America, Inc. Dependency matrix for the determination of load dependencies
US8417897B2 (en) * 2010-03-31 2013-04-09 Oracle International Corporation System and method for providing locale-based optimizations in a transactional memory
US20120117335A1 (en) * 2010-11-10 2012-05-10 Advanced Micro Devices, Inc. Load ordering queue
US9268596B2 (en) 2012-02-02 2016-02-23 Intel Corparation Instruction and logic to test transactional execution status
GB2514618B (en) * 2013-05-31 2020-11-11 Advanced Risc Mach Ltd Data processing systems
US10095490B2 (en) 2016-07-28 2018-10-09 International Business Machines Corporation System, method and apparatus for preventing vulnerable interleavings in web applications at compile time
US10540184B2 (en) 2017-04-18 2020-01-21 International Business Machines Corporation Coalescing store instructions for restoration
US10649785B2 (en) 2017-04-18 2020-05-12 International Business Machines Corporation Tracking changes to memory via check and recovery
US10782979B2 (en) 2017-04-18 2020-09-22 International Business Machines Corporation Restoring saved architected registers and suppressing verification of registers to be restored
US10564977B2 (en) 2017-04-18 2020-02-18 International Business Machines Corporation Selective register allocation
US10963261B2 (en) 2017-04-18 2021-03-30 International Business Machines Corporation Sharing snapshots across save requests
US11010192B2 (en) 2017-04-18 2021-05-18 International Business Machines Corporation Register restoration using recovery buffers
US10740108B2 (en) 2017-04-18 2020-08-11 International Business Machines Corporation Management of store queue based on restoration operation
US10489382B2 (en) 2017-04-18 2019-11-26 International Business Machines Corporation Register restoration invalidation based on a context switch
US10552164B2 (en) 2017-04-18 2020-02-04 International Business Machines Corporation Sharing snapshots between restoration and recovery
US10838733B2 (en) 2017-04-18 2020-11-17 International Business Machines Corporation Register context restoration based on rename register recovery
US10572265B2 (en) 2017-04-18 2020-02-25 International Business Machines Corporation Selecting register restoration or register reloading
US10545766B2 (en) 2017-04-18 2020-01-28 International Business Machines Corporation Register restoration using transactional memory register snapshots
US10649688B1 (en) * 2018-11-01 2020-05-12 Intel Corporation Precise longitudinal monitoring of memory operations
US10983797B2 (en) * 2019-05-28 2021-04-20 International Business Machines Corporation Program instruction scheduling

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2786574B2 (ja) * 1992-05-06 1998-08-13 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・システムにおける順不同ロード動作の性能を改善する方法と装置
US5421022A (en) * 1993-06-17 1995-05-30 Digital Equipment Corporation Apparatus and method for speculatively executing instructions in a computer system
US5420990A (en) * 1993-06-17 1995-05-30 Digital Equipment Corporation Mechanism for enforcing the correct order of instruction execution
US5689712A (en) * 1994-07-27 1997-11-18 International Business Machines Corporation Profile-based optimizing postprocessors for data references
US5666506A (en) * 1994-10-24 1997-09-09 International Business Machines Corporation Apparatus to dynamically control the out-of-order execution of load/store instructions in a processor capable of dispatchng, issuing and executing multiple instructions in a single processor cycle
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

Also Published As

Publication number Publication date
JP2938426B2 (ja) 1999-08-23
GB2324181A (en) 1998-10-14
SG71088A1 (en) 2000-03-21
HK1016291A1 (en) 1999-10-29
US5918005A (en) 1999-06-29
GB9803608D0 (en) 1998-04-15
JPH10269080A (ja) 1998-10-09
GB2324181B (en) 2001-11-21

Similar Documents

Publication Publication Date Title
BR9800961A (pt) Método e aparelho para detecção, baseada em regiões, de interfência entre operações de memória reordenadas em um processador
US7882499B2 (en) Caching dynamically compiled code to storage
US6463523B1 (en) Method and apparatus for delaying the execution of dependent loads
BR9813653A (pt) Sistema para ordenação de instruções de carga e armazenamento que realiza uma execução de multilinha fora de ordem
AU5394390A (en) Processing of memory access exceptions with pre-fetched instructions within the instruction pipeline of a memory system based digital computer
EP0380846A3 (en) Method and apparatus for resolving a variable number of potential memory access conflicts in a pipeline computer system
US8261242B2 (en) Assisting debug memory tracing using an instruction array that tracks the addresses of instructions modifying user specified objects
US7363471B2 (en) Apparatus, system, and method of dynamic binary translation supporting a denormal input handling mechanism
EP0217068A2 (en) Method of emulating the instructions of a target computer
ATE242508T1 (de) Ausnahmebehandlung in einem datenprozessor
EP0969372A3 (en) Bus error handling in a computer system
JP2008523514A (ja) バイエンディアン対応コンパイラを実現する方法及び装置
FR2474201B1 (fr) Procede et dispositif pour gerer les conflits poses par des acces multiples a un meme cache d&#39;un systeme de traitement numerique de l&#39;information comprenant au moins deux processus possedant chacun un cache
EP0742512A3 (en) Method and apparatus for reordering memory operations in a superscalar or very long instruction word processor
DE69513126D1 (de) Verfahren und Gerät zum schnellen Vergleichen für Adressen eines Pufferspeichers mit Fehlerkorrektur
CA2088779A1 (en) Computer performance by simulated cache associativity
US5764962A (en) Emulation of asynchronous signals using a branch mechanism
KR920010470A (ko) 휴대형 컴퓨터
US8205032B2 (en) Virtual machine control structure identification decoder
KR900015003A (ko) 데이타 프로세서
JP4415019B2 (ja) ミスアラインデータアクセスの検出及び処理のためのデバイス、システム、及び方法
US6842893B1 (en) Method for global breakout identification
SE8604222D0 (sv) Sett och anordning for att i en pa forhand aavgjord ordningsfoljd exekvera tva instruktionssekvenser
KR900000774A (ko) 가상 메모리의 페이지 테이블
EP1376348A3 (en) Method of and apparatus for creating a load module

Legal Events

Date Code Title Description
B08F Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette]

Free format text: REFERENTE A 8A E 9A ANUIDADES.

B08K Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette]

Free format text: REFERENTE AO DESPACHO 8.6 PUBLICADO NA RPI 1926 DE 04/12/2007.