BR112016021216A2 - instrução de fim de transação condicional - Google Patents

instrução de fim de transação condicional

Info

Publication number
BR112016021216A2
BR112016021216A2 BR112016021216A BR112016021216A BR112016021216A2 BR 112016021216 A2 BR112016021216 A2 BR 112016021216A2 BR 112016021216 A BR112016021216 A BR 112016021216A BR 112016021216 A BR112016021216 A BR 112016021216A BR 112016021216 A2 BR112016021216 A2 BR 112016021216A2
Authority
BR
Brazil
Prior art keywords
transaction
instruction
inspected
postponed
terminate
Prior art date
Application number
BR112016021216A
Other languages
English (en)
Other versions
BR112016021216B1 (pt
Inventor
Jacobi Christian
Greiner Dan
William Schmidt Donald
Mitran Marcel
Slegel Timothy
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 BR112016021216A2 publication Critical patent/BR112016021216A2/pt
Publication of BR112016021216B1 publication Critical patent/BR112016021216B1/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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30047Prefetch instructions; cache control instructions
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30072Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30087Synchronisation or serialisation instructions
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • G06F9/30152Determining start or end of instruction; determining instruction length
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/323Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for indirect branch instructions
    • 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 or look ahead
    • G06F9/3802Instruction prefetching
    • 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 or 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 or look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • G06F9/38585Result writeback, i.e. updating the architectural state or memory with result invalidation, e.g. nullification
    • 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/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • G06F9/467Transactional memory
    • 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/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Abstract

instrução de fim de transção condicional uma instrução de fim de transação condicional é fornecida que permite que um programa em execução em um modo de execução transacional não restrito inspecione um local de armazenamento que é modificado por qualquer outra unidade de processamento central ou o subsistema de entrada / saída. com base nos dados inspecionados, a execução transacional pode ser encerrada ou interrompida, ou a decisão de encerrar / interromper pode ser adiada, por exemplo, até que um evento predefinido ocorra. por exemplo, quando a instrução é executada, o processador está num modo de execução da transação não restrita, e a profundidade de sobreposição de transação é uma no início da instrução, um segundo operando da instrução é inspecionado, e com base nos dados inspecionados, a execução da transação pode ser terminada ou interrompida, ou a decisão de terminar / abortar pode ser adiada, por exemplo, até que um evento predefinido ocorra, tal como o valor do segundo operando torna-se um valor pré-especificado, ou um intervalo de tempo for excedido.
BR112016021216-9A 2014-03-14 2015-02-23 Instrução de fim de transação condicional BR112016021216B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/212,004 2014-03-14
US14/212,004 US9454370B2 (en) 2014-03-14 2014-03-14 Conditional transaction end instruction
PCT/EP2015/053715 WO2015135742A1 (en) 2014-03-14 2015-02-23 Conditional transaction end instruction

Publications (2)

Publication Number Publication Date
BR112016021216A2 true BR112016021216A2 (pt) 2021-06-08
BR112016021216B1 BR112016021216B1 (pt) 2023-03-28

Family

ID=52574166

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112016021216-9A BR112016021216B1 (pt) 2014-03-14 2015-02-23 Instrução de fim de transação condicional

Country Status (7)

Country Link
US (5) US9454370B2 (pt)
EP (1) EP3117309B1 (pt)
JP (1) JP6407298B2 (pt)
CN (1) CN106104478B (pt)
BR (1) BR112016021216B1 (pt)
PL (1) PL3117309T3 (pt)
WO (1) WO2015135742A1 (pt)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9454370B2 (en) 2014-03-14 2016-09-27 International Business Machines Corporation Conditional transaction end instruction
US10120681B2 (en) 2014-03-14 2018-11-06 International Business Machines Corporation Compare and delay instructions
US9558032B2 (en) 2014-03-14 2017-01-31 International Business Machines Corporation Conditional instruction end operation
US10061589B2 (en) 2014-12-24 2018-08-28 Intel Corporation Systems, apparatuses, and methods for data speculation execution
US9785442B2 (en) 2014-12-24 2017-10-10 Intel Corporation Systems, apparatuses, and methods for data speculation execution
US10387156B2 (en) 2014-12-24 2019-08-20 Intel Corporation Systems, apparatuses, and methods for data speculation execution
US10387158B2 (en) 2014-12-24 2019-08-20 Intel Corporation Systems, apparatuses, and methods for data speculation execution
US10942744B2 (en) 2014-12-24 2021-03-09 Intel Corporation Systems, apparatuses, and methods for data speculation execution
US10303525B2 (en) 2014-12-24 2019-05-28 Intel Corporation Systems, apparatuses, and methods for data speculation execution
US10061583B2 (en) * 2014-12-24 2018-08-28 Intel Corporation Systems, apparatuses, and methods for data speculation execution
US10366013B2 (en) 2016-01-15 2019-07-30 Futurewei Technologies, Inc. Caching structure for nested preemption
US10404715B2 (en) * 2016-06-23 2019-09-03 Microsoft Technology Licensing, Llc. Cross-site collection queries
US10579377B2 (en) * 2017-01-19 2020-03-03 International Business Machines Corporation Guarded storage event handling during transactional execution
US10534676B2 (en) * 2017-02-27 2020-01-14 Sap Se Measuring snapshot delay between source database system and its asynchronous replica
GB2567433B (en) * 2017-10-10 2020-02-26 Advanced Risc Mach Ltd Checking lock variables for transactions in a system with transactional memory support
US20190205061A1 (en) * 2017-12-29 2019-07-04 Intel Corporation Processor, method, and system for reducing latency in accessing remote registers
CN112965454B (zh) * 2021-04-30 2022-03-15 重庆大学 解耦工艺流程的控制系统自适应构建方法与运行方法
CN116302845B (zh) * 2023-05-17 2023-08-15 建信金融科技有限责任公司 事务运行方式的确定方法、装置、电子设备及存储介质

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3411147A (en) 1966-03-24 1968-11-12 Burroughs Corp Apparatus for executing halt instructions in a multi-program processor
US5471593A (en) 1989-12-11 1995-11-28 Branigin; Michael H. Computer processor with an efficient means of executing many instructions simultaneously
JP2779032B2 (ja) * 1990-01-23 1998-07-23 株式会社日立製作所 情報処理装置
WO1994027215A1 (en) 1993-05-07 1994-11-24 Apple Computer, Inc. Method for decoding guest instructions for a host computer
US5551013A (en) 1994-06-03 1996-08-27 International Business Machines Corporation Multiprocessor for hardware emulation
US5790825A (en) 1995-11-08 1998-08-04 Apple Computer, Inc. Method for emulating guest instructions on a host computer through dynamic recompilation of host instructions
CN1113289C (zh) 1997-03-04 2003-07-02 松下电器产业株式会社 能执行多异步运行任务中的异步事件任务的处理器
US6009261A (en) 1997-12-16 1999-12-28 International Business Machines Corporation Preprocessing of stored target routines for emulating incompatible instructions on a target processor
US6079008A (en) 1998-04-03 2000-06-20 Patton Electronics Co. Multiple thread multiple data predictive coded parallel processing system and method
US6308255B1 (en) 1998-05-26 2001-10-23 Advanced Micro Devices, Inc. Symmetrical multiprocessing bus and chipset used for coprocessor support allowing non-native code to run in a system
US6463582B1 (en) 1998-10-21 2002-10-08 Fujitsu Limited Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method
US7107478B2 (en) 2002-12-05 2006-09-12 Connex Technology, Inc. Data processing system having a Cartesian Controller
US6931517B1 (en) 2001-10-23 2005-08-16 Ip-First, Llc Pop-compare micro instruction for repeat string operations
AU2003250575A1 (en) 2002-08-07 2004-02-25 Mmagix Technology Limited Apparatus, method and system for a synchronicity independent, resource delegating, power and instruction optimizing processor
WO2004053684A2 (en) 2002-12-12 2004-06-24 Arm Limited Processing activity masking in a data processing system
US8607241B2 (en) 2004-06-30 2013-12-10 Intel Corporation Compare and exchange operation using sleep-wakeup mechanism
US20070006178A1 (en) 2005-05-12 2007-01-04 Microsoft Corporation Function-level just-in-time translation engine with multiple pass optimization
US7454599B2 (en) 2005-09-19 2008-11-18 Via Technologies, Inc. Selecting multiple threads for substantially concurrent processing
US8321637B2 (en) 2007-05-14 2012-11-27 International Business Machines Corporation Computing system with optimized support for transactional memory
US7793052B2 (en) * 2007-12-31 2010-09-07 Oracle America, Inc. System and method for implementing hybrid single-compare-single-store operations
US20090182988A1 (en) 2008-01-11 2009-07-16 International Business Machines Corporation Compare Relative Long Facility and Instructions Therefore
US20090182983A1 (en) 2008-01-11 2009-07-16 International Business Machines Corporation Compare and Branch Facility and Instruction Therefore
US7975130B2 (en) 2008-02-20 2011-07-05 International Business Machines Corporation Method and system for early instruction text based operand store compare reject avoidance
US8359459B2 (en) 2008-05-27 2013-01-22 Oracle America, Inc. Using hardware support to reduce synchronization costs in multithreaded applications
US8621183B2 (en) * 2008-07-28 2013-12-31 Advanced Micro Devices, Inc. Processor with support for nested speculative sections with different transactional modes
US8412889B2 (en) 2008-10-16 2013-04-02 Microsoft Corporation Low-level conditional synchronization support
US8296524B2 (en) 2009-06-26 2012-10-23 Oracle America, Inc. Supporting efficient spin-locks and other types of synchronization in a cache-coherent multiprocessor system
US8739164B2 (en) 2010-02-24 2014-05-27 Advanced Micro Devices, Inc. Automatic suspend atomic hardware transactional memory in response to detecting an implicit suspend condition and resume thereof
US8549504B2 (en) 2010-09-25 2013-10-01 Intel Corporation Apparatus, method, and system for providing a decision mechanism for conditional commits in an atomic region
US20120079245A1 (en) * 2010-09-25 2012-03-29 Cheng Wang Dynamic optimization for conditional commit
US9280347B2 (en) 2012-03-15 2016-03-08 International Business Machines Corporation Transforming non-contiguous instruction specifiers to contiguous instruction specifiers
US9442737B2 (en) 2012-06-15 2016-09-13 International Business Machines Corporation Restricting processing within a processor to facilitate transaction completion
US8688661B2 (en) 2012-06-15 2014-04-01 International Business Machines Corporation Transactional processing
US20130339680A1 (en) * 2012-06-15 2013-12-19 International Business Machines Corporation Nontransactional store instruction
US8682877B2 (en) * 2012-06-15 2014-03-25 International Business Machines Corporation Constrained transaction execution
US9436477B2 (en) 2012-06-15 2016-09-06 International Business Machines Corporation Transaction abort instruction
US9081607B2 (en) * 2012-10-24 2015-07-14 International Business Machines Corporation Conditional transaction abort and precise abort handling
US9558032B2 (en) 2014-03-14 2017-01-31 International Business Machines Corporation Conditional instruction end operation
US9454370B2 (en) 2014-03-14 2016-09-27 International Business Machines Corporation Conditional transaction end instruction
US10120681B2 (en) 2014-03-14 2018-11-06 International Business Machines Corporation Compare and delay instructions

Also Published As

Publication number Publication date
JP2017514202A (ja) 2017-06-01
CN106104478A (zh) 2016-11-09
US20180300129A1 (en) 2018-10-18
US10956156B2 (en) 2021-03-23
US10360033B2 (en) 2019-07-23
CN106104478B (zh) 2019-03-22
JP6407298B2 (ja) 2018-10-17
PL3117309T3 (pl) 2018-11-30
WO2015135742A1 (en) 2015-09-17
US20160342416A1 (en) 2016-11-24
US20150261532A1 (en) 2015-09-17
US20150261531A1 (en) 2015-09-17
US10025589B2 (en) 2018-07-17
US20190317765A1 (en) 2019-10-17
US9424035B2 (en) 2016-08-23
EP3117309A1 (en) 2017-01-18
EP3117309B1 (en) 2018-06-27
US9454370B2 (en) 2016-09-27
BR112016021216B1 (pt) 2023-03-28

Similar Documents

Publication Publication Date Title
BR112016021216A2 (pt) instrução de fim de transação condicional
BR112018004933A2 (pt) agendamento eficaz de tarefas multiversionadas
BR112016024522A2 (pt) meio de armazenamento legível por computador não transitório, e, método
BR112018007430A2 (pt) aceleração de subgráficos de tarefa pela sincronização de remapeamento
BR112017010388A2 (pt) escala dos agentes de assistente pessoal digital por meio de dispositivos
GB2513079A (en) Transaction abort processing
BR112018002040A2 (pt) controle de uma nuvem de dispositivo
CA2953788C (en) Automated code lockdown to reduce attack surface for software
BR112016002637A8 (pt) Sincronização de barreira com cálculo dinâmico de largura
BR112017010127A2 (pt) agendamento e monitoramento de tarefas
WO2016118033A3 (en) Systems and methods for exposing a result of a current processor instruction upon exiting a virtual machine
BR112017002834A2 (pt) transformações de fluxos de eventos
PH12016501639A1 (en) Parallel decision tree processor architecture
BR112015027143A2 (pt) método e dispositivo para definição de tarefa
JP2016528650A5 (pt)
BR112016007119A2 (pt) domínios de falha em hardware moderno
BR112017003426A8 (pt) Fluxo de dados construído para processamento de evento intensificado
BR112016025864A8 (pt) Método de lançamento do aplicativo de terminal e terminal
MX2016009060A (es) Metodos y sistemas para determinar el riesgo de falla cardiaca.
BR112018001728A2 (pt) método para tempo de execução com base em tarefa, simplificado, para computação paralela eficiente
BR112015018459A2 (pt) mecanismo para fornecer suporte para fluxos de confiabilidade, disponibilidade e capacidade de serviço (ras) em monitor de ponto
BR112015030066A2 (pt) processadores, métodos e sistemas para acessar um conjunto de registradores como uma pluralidade de registradores menores ou como um registrador maior combinado
GB2562014A (en) Prioritization of transactions
BR112015025569A2 (pt) criação assistida de evento de controle
BR112015026507A2 (pt) injeção de componente executável utilizando mecanismos de correção a quente

Legal Events

Date Code Title Description
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B350 Update of information on the portal [chapter 15.35 patent gazette]
B350 Update of information on the portal [chapter 15.35 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 23/02/2015, OBSERVADAS AS CONDICOES LEGAIS