Patents by Inventor Stephan Diestelhorst

Stephan Diestelhorst has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20170269960
    Abstract: An apparatus (2) with multiple processing elements (4, 6, 8) has shared transactional processing resources (10, 50, 75) for supporting processing of transactions, which comprise operations performed speculatively following a transaction start event whose results are committed following a transaction end event. The transactional processing resources may have a significant overhead and sharing these between the processing elements helps reduce energy consumption and circuit area.
    Type: Application
    Filed: November 24, 2015
    Publication date: September 21, 2017
    Inventors: Stephan DIESTELHORST, Matthew James HORSNELL, Guy LARRI
  • Publication number: 20170185528
    Abstract: A data processing apparatus and method are provided for performing address translation in response to a memory access request issued by processing circuitry of the data processing apparatus and specifying a virtual address for a data item. Address translation circuitry performs an address translation process with reference to at least one descriptor provided by at least one page table, in order to produce a modified memory access request specifying a physical address for the data item. The address translation circuitry includes page table walk circuitry configured to generate at least one page table walk request in order to retrieve the at least one descriptor required for the address translation process. In addition, walk ahead circuitry is located in a path between the address translation circuitry and a memory device containing the at least one page table.
    Type: Application
    Filed: June 22, 2015
    Publication date: June 29, 2017
    Applicant: ARM LIMITED
    Inventors: Andreas HANSSON, Ali SAIDI, Aniruddha Nagendran UDIPI, Stephan DIESTELHORST
  • Publication number: 20170161095
    Abstract: A data processing apparatus and method of data processing are provided, which relate to the operation of a processor which maintains a push call stack in dependence on the data processing instructions executed. The processor is configured to operate in a transactional execution mode when the data processing instructions seek access to a stored data item which is shared with a further processor. When the processor enters its transactional execution mode it stores a copy of the current stack depth indication and thereafter, when operating in its transactional execution mode, further modifications to the call stack are compared to the copy of the stack depth indication stored. If the relative stacking position of the required modification is in a positive stack growth direction with respect to the copy stored, the modification to the call stack is labelled as non-speculative.
    Type: Application
    Filed: June 9, 2015
    Publication date: June 8, 2017
    Inventors: Matthew James HORSNELL, Stephan DIESTELHORST
  • Publication number: 20170161112
    Abstract: A data processing apparatus comprises a plurality of data storage elements, each configured to store data. Mask storage circuitry stores a mask and processing circuitry executes one or more instructions. A data saver is configured, in response to a transactional start instruction, to select a subset of the data storage elements and to save a backup of the subset of the data storage elements. Mask control circuitry then updates the mask to indicate the subset of the data storage elements selected by the data saver. Finally, a monitor detects write or write attempts made to one of the data storage elements not indicated by the mask. Accordingly, a user need not save all data storage elements (e.g. registers) in a system or specify precisely which data storage elements must be saved in order to perform a transaction.
    Type: Application
    Filed: June 11, 2015
    Publication date: June 8, 2017
    Inventors: Matthew James HORSNELL, Stephan DIESTELHORST
  • Publication number: 20170147207
    Abstract: Subject matter disclosed herein may relate to buffers, and may relate more particularly to non-volatile buffers for memory operations.
    Type: Application
    Filed: November 20, 2015
    Publication date: May 25, 2017
    Inventors: Andreas Hansson, Stephan Diestelhorst, Wei Wang, lrenéus Johannes de Jong
  • Publication number: 20170123723
    Abstract: A data processing system 2 including non-volatile memory 22 manages the ordering of writes to the non-volatile memory and persist barrier instructions using a persist buffer storing persist buffer data. A write controller responds to the persist buffer data to prevent writing to the non-volatile memory for instructions following a given persist barrier instruction within a sequence of program instructions before the writes to the non-volatile memory which precede that given persist barrier instruction have at least been acknowledged as received by the memory system containing the non-volatile memory. In the case of a multi-core system, cache snooping mechanisms are used to pass persistency dependence data between cores such that strong persist atomicity may be tracked and managed between the cores.
    Type: Application
    Filed: October 30, 2015
    Publication date: May 4, 2017
    Inventors: Stephan DIESTELHORST, Aasheesh KOLLI, Ali Ghassan SAIDI, Peter CHEN, Thomas Friedrich WENISCH
  • Patent number: 9459877
    Abstract: An apparatus, computer readable medium, and method of performing nested speculative regions are presented. The method includes responding to entering a speculative region by storing link information to an abort handler and responding to a commit command by removing link information from the abort handler. The method may include storing link information to the abort handler associated with the speculative region. When the speculative region is nested, the method may include storing link information to an abort handler associated with a previous speculative region. Removing link information may include removing link information from the abort handler associated with the corresponding speculative region. The method may include restoring link information to the abort handler associated with a previous speculative region. Responding to an abort command may include running the abort handler associated with the aborted speculative region.
    Type: Grant
    Filed: December 21, 2012
    Date of Patent: October 4, 2016
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Stephan Diestelhorst, Martin Pohlack, Michael Hohmuth, David Christie, Luke Yen
  • Patent number: 9372718
    Abstract: A system and method for executing a transaction in a transactional memory system is disclosed. The system includes a processor of a plurality of processors coupled to shared memory, wherein the processor is configured to execute a section of code, including a plurality of memory access operations to the shared memory, as an atomic transaction relative to the execution of the plurality of processors. According to embodiments, the processor is configured to determine whether the memory access operations include any of a set of disallowed instructions, wherein the set includes one or more instructions that operate differently in a virtualized computing environment than in a native computing environment. If any of the memory access operations are ones of the disallowed instructions, then the processor aborts the transaction.
    Type: Grant
    Filed: July 28, 2009
    Date of Patent: June 21, 2016
    Assignee: Advanced Micro Devices, Inc.
    Inventors: David S. Christie, Michael P. Hohmuth, Stephan Diestelhorst
  • Publication number: 20160154452
    Abstract: A system and method are provided for controlling the power mode of operation of a memory device. The system includes a processing device for performing processing operations on data, and a memory controller associated with the memory device, the memory device being used to store data for access by the processing device. The memory controller has power mode control circuitry to switch the memory device between different power modes of operation. Further, an interrupt controller is configured to issue an event signal to the processing device to trigger performance of at least one processing operation. On issuing the event signal, the interrupt controller further initiates generation of a wakeup stimulus signal to the power mode control circuitry, and the power mode control circuitry is then arranged to determine whether to change the power mode of operation of the memory device in dependence on the wakeup stimulus signal.
    Type: Application
    Filed: December 2, 2014
    Publication date: June 2, 2016
    Inventors: Andreas HANSSON, Ashley John CRAWFORD, Michael Andrew CAMPBELL, Stephan DIESTELHORST
  • Patent number: 9286111
    Abstract: The described embodiments include a processor that handles operations during transactions. In these embodiments, the processor comprises one or more cores. During operation, at least one core is configured to monitor the acquisition of time stamps during transactions. The at least one core is further configured to prevent the acquisition of time stamps that meet predetermined conditions.
    Type: Grant
    Filed: April 25, 2013
    Date of Patent: March 15, 2016
    Assignee: ADVANCED MICRO DEVICES, INC.
    Inventors: Martin T. Pohlack, Stephan Diestelhorst
  • Publication number: 20160070659
    Abstract: In the described embodiments, entities in a computing device selectively write specified values to a lock variable in a local cache and one or more lower levels of a memory hierarchy to enable multiple entities to enable the concurrent execution of corresponding critical sections of program code that are protected by a same lock.
    Type: Application
    Filed: September 6, 2014
    Publication date: March 10, 2016
    Inventors: Martin T. Pohlack, Stephan Diestelhorst
  • Patent number: 9152509
    Abstract: A computing device initiates a transaction, corresponding to an application, which includes operations for accessing data stored in a shared memory and buffering alterations to the data as speculative alterations to the shared memory. The computing device detects a transaction abort scenario corresponding to the transaction and notifies the application regarding the transaction abort scenario. The computing device determines whether to abort the transaction based on instructions received from the application regarding the transaction abort scenario. When the transaction is to be aborted, the computing device restores the transaction to an operation prior to accessing the data stored in the shared memory and buffering alterations to the data as speculative alterations to the shared memory. When the transaction is not to be aborted, the computing device enables the transaction to continue.
    Type: Grant
    Filed: December 13, 2011
    Date of Patent: October 6, 2015
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Stephan Diestelhorst, Martin Pohlack, Michael Hohmuth, David Christie, Luke Yen
  • Patent number: 9110691
    Abstract: A method and apparatus for compiling software written to be executed on a microprocessor that supports at least one hardware transactional memory function is provided. A compiler that supports at least one software transactional memory function is adapted to include a runtime system that maps between the at least one software transactional memory function and the at least one hardware transactional memory instruction.
    Type: Grant
    Filed: November 16, 2010
    Date of Patent: August 18, 2015
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Jaewoong Chung, Rahmet U. Karpuzcu, David S. Christie, Michael P. Hohmuth, Stephan Diestelhorst, Martin T. Pohlack
  • Publication number: 20150205721
    Abstract: The described embodiments include a computing device that handles cache blocks during a transaction. In the described embodiments, after an entity has written to a cache block in a cache during the transaction, the computing device responds to a read request for the cache block from another entity with a copy of the cache block in a pre-transactional state. In these embodiments, the entity executing the transaction continues the transaction after the computing device responds to the read request from the other entity.
    Type: Application
    Filed: January 22, 2014
    Publication date: July 23, 2015
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Stephan Diestelhorst, Martin T. Pohlack, Michael P. Hohmuth
  • Patent number: 8943278
    Abstract: A system and method for providing very large read-sets for hardware transactional memory with limited hardware support by monitoring meta data such as page table entries. The system and method include a Hardware-based Transactional Memory (HTM) mechanism that tracks meta-data such as page-table entries (PTE) rather than all the data itself. The HTM mechanism protects large regions of memory by providing conflict detection so that regions of memory can be located within a local read or write set.
    Type: Grant
    Filed: July 31, 2012
    Date of Patent: January 27, 2015
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Martin T. Pohlack, Stephan Diestelhorst
  • Patent number: 8914586
    Abstract: A system and method are disclosed for increasing large region transaction throughput by making informed determinations whether to abort a thread from a first core or a thread from a second core when a conflict is detected between the threads. Such a system and method allow resolution of conflicts between a first thread and a second thread. In certain embodiments, the system and method allow a requester to detect a conflict under specific circumstances and make an intelligent decision whether to abort the first thread, enter a wait state to give the first thread an opportunity to complete execution or, if possible, abort the second thread.
    Type: Grant
    Filed: July 31, 2012
    Date of Patent: December 16, 2014
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Martin T. Pohlack, Stephan Diestelhorst
  • Publication number: 20140181480
    Abstract: An apparatus, computer readable medium, and method of performing nested speculative regions are presented. The method includes responding to entering a speculative region by storing link information to an abort handler and responding to a commit command by removing link information from the abort handler. The method may include storing link information to the abort handler associated with the speculative region. When the speculative region is nested, the method may include storing link information to an abort handler associated with a previous speculative region. Removing link information may include removing link information from the abort handler associated with the corresponding speculative region. The method may include restoring link information to the abort handler associated with a previous speculative region. Responding to an abort command may include running the abort handler associated with the aborted speculative region.
    Type: Application
    Filed: December 21, 2012
    Publication date: June 26, 2014
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: Stephan Diestelhorst, Martin Pohlack, Michael Hohmuth, David Christie, Luke Yen
  • Patent number: 8739164
    Abstract: An apparatus and method is disclosed for a computer processor configured to access a memory shared by a plurality of processing cores and to execute a plurality of memory access operations in a transactional mode as a single atomic transaction and to suspend the transactional mode in response to determining an implicit suspend condition, such as a program control transfer. As part of executing the transaction, the processor marks data accessed by the speculative memory access operations as being speculative data. In response to determining a suspend condition (including by detecting a control transfer in an executing thread) the processor suspends the transactional mode of execution, which includes setting a suspend flag and suspending marking speculative data. If the processor later detects a resumption condition (e.g., a return control transfer corresponding to a return from the control transfer), the processor is configured to resume the marking of speculative data.
    Type: Grant
    Filed: February 24, 2010
    Date of Patent: May 27, 2014
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Jaewoong Chung, David S. Christie, Michael P. Hohmuth, Stephan Diestelhorst, Martin Pohlack
  • Publication number: 20140040567
    Abstract: A system and method are disclosed for increasing large region transaction throughput by making informed determinations whether to abort a thread from a first core or a thread from a second core when a conflict is detected between the threads. Such a system and method allow resolution of conflicts between a first thread and a second thread. In certain embodiments, the system and method allow a requester to detect a conflict under specific circumstances and make an intelligent decision whether to abort the first thread, enter a wait state to give the first thread an opportunity to complete execution or, if possible, abort the second thread.
    Type: Application
    Filed: July 31, 2012
    Publication date: February 6, 2014
    Inventors: Martin T. Pohlack, Stephan Diestelhorst
  • Publication number: 20140040554
    Abstract: A system and method for providing very large read-sets for hardware transactional memory with limited hardware support by monitoring meta data such as page table entries. The system and method include a Hardware-based Transactional Memory (HTM) mechanism that tracks meta-data such as page-table entries (PTE) rather than all the data itself. The HTM mechanism protects large regions of memory by providing conflict detection so that regions of memory can be located within a local read or write set.
    Type: Application
    Filed: July 31, 2012
    Publication date: February 6, 2014
    Inventors: Martin T. Pohlack, Stephan Diestelhorst