Patents by Inventor David S. Christie

David S. Christie 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).

  • Patent number: 8407455
    Abstract: A computer-implemented method and article of manufacture is disclosed for enabling computer programs utilizing hardware transactional memory to safely interact with code utilizing traditional locks. A thread executing on a processor of a plurality of processors in a shared-memory system may initiate transactional execution of a section of code, which includes a plurality of access operations to the shared-memory, including one or more to locations protected by a lock. Before executing any operations accessing the location associated with the lock, the thread reads the value of the lock as part of the transaction, and only proceeds if the lock is not held. If the lock is acquired by another thread during transactional execution, the processor detects this acquisition, aborts the transaction, and attempts to re-execute it.
    Type: Grant
    Filed: July 28, 2009
    Date of Patent: March 26, 2013
    Assignee: Advanced Micro Devices, Inc.
    Inventors: David S. Christie, Michael P. Hohmuth, Stephan Diestelhorst
  • Patent number: 8352688
    Abstract: A method and apparatus are disclosed for implementing early release of speculatively read data in a hardware transactional memory system. A processing core comprises a hardware transactional memory system configured to receive an early release indication for a specified word of a group of words in a read set of an active transaction. The early release indication comprises a request to remove the specified word from the read set. In response to the early release request, the processing core removes the group of words from the read set only after determining that no word in the group other than the specified word has been speculatively read during the active transaction.
    Type: Grant
    Filed: November 15, 2010
    Date of Patent: January 8, 2013
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Jaewoong Chung, David S. Christie, Michael P. Hohmuth, Stephan Diestelhorst, Martin T. Pohlack, Luke Yen
  • Publication number: 20120233411
    Abstract: A system and method are disclosed for allowing protection of larger areas than memory lines by monitoring accessed and dirty bits in page tables. More specifically, in some embodiments, a second associative structure with a different granularity is provided to filter out a large percentage of false positives. By providing the associative structure with sufficient size, the structure exactly specifies a region in which conflicting cache lines lie. If entries within this region are evicted from the structure, enabling the tracking for the entire index filters out a substantial number of false positives (depending on a granularity and a number of indices present). In some embodiments, this associative structure is similar to a translation look aside buffer (TLB) with 4 k, 2M entries.
    Type: Application
    Filed: March 7, 2011
    Publication date: September 13, 2012
    Inventors: Martin T. Pohlack, Michael P. Hohmuth, Stephan Diestelhorst, David S. Christie, Jaewoong Chung
  • Patent number: 8240389
    Abstract: A subsea wellhead assembly provided over a wellbore, the assembly having a wellhead housing, a tubing hanger in the housing, a production tree on the wellhead housing above the tubing hanger, and a control circuit that passes axially downward from the production tree and through the tubing hanger. A tree stab assembly may be included that is set between the tubing hanger and production tree. The wellhead assembly can also include a casing hanger landed in the housing, casing attached to the casing hanger, and tubing attached to the tubing hanger.
    Type: Grant
    Filed: September 18, 2009
    Date of Patent: August 14, 2012
    Assignee: Vetco Gray Inc.
    Inventor: David S. Christie
  • Publication number: 20120159084
    Abstract: A method is provided for identifying a first portion of a computer program for speculative execution by a first processor element. At least one memory object is declared as being protected during the speculative execution. Thereafter, if a first signal is received indicating that the at least one protected memory object is to be accessed by a second processor element, then delivery of the first signal is delayed for a preselected duration of time to potentially allow the speculative execution to complete. The speculative execution of the first portion of the computer program may be aborted in response to receiving the delayed first signal before the speculative execution of the first portion of the computer program has been completed.
    Type: Application
    Filed: December 21, 2010
    Publication date: June 21, 2012
    Inventors: MARTIN T. POHLACK, Michael P. Hohmuth, Stephan Diestelhorst, David S. Christie, JaeWoong Chung
  • Patent number: 8195917
    Abstract: A processor including a virtual memory paging mechanism. The virtual memory paging mechanism enables an operating system operating on the processor to use pages of a first size and a second size, the second size being greater than the first size. The mechanism further enables the operating system to use superpages including two or more contiguous pages of the first size. The size of a superpage is less than the second size. The processor further includes a page table having a separate entry for each of the pages included in each superpage. The operating system accesses each superpage using a single virtual address. The mechanism interprets a single entry in a translation lookaside buffer TLB as referring to a region of memory comprising a set of pages that correspond to a superpage in response to detecting a superpage enable indicator associated with the entry in the TLB is asserted.
    Type: Grant
    Filed: July 1, 2009
    Date of Patent: June 5, 2012
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Michael P. Hohmuth, Uwe M. Dannowski, Sebastian Biemueller, David S. Christie, Stephan Diestelhorst, Thomas Friebel
  • Publication number: 20120124563
    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: Application
    Filed: November 16, 2010
    Publication date: May 17, 2012
    Inventors: Jaewoong Chung, Rahmet Ulya Karpuzcu, David S. Christie, Michael P. Hohmuth, Stephan Diestelhorst, Martin T. Pohlack
  • Publication number: 20120124293
    Abstract: A method and apparatus are disclosed for implementing early release of speculatively read data in a hardware transactional memory system. A processing core comprises a hardware transactional memory system configured to receive an early release indication for a specified word of a group of words in a read set of an active transaction. The early release indication comprises a request to remove the specified word from the read set. In response to the early release request, the processing core removes the group of words from the read set only after determining that no word in the group other than the specified word has been speculatively read during the active transaction.
    Type: Application
    Filed: November 15, 2010
    Publication date: May 17, 2012
    Inventors: Jaewoong Chung, David S. Christie, Michael P. Hohmuth, Stephan Diestelhorst, Martin T. Pohlack, Luke Yen
  • Patent number: 8157015
    Abstract: A subsea wellhead assembly that includes a wellhead housing, a production tree, a tubing hanger adapted to land in the wellhead assembly inside the wellhead housing, and a bore formed through the production tree having an inner diameter greater than the tubing hanger outer diameter. A hanger adapter may be included having an annular body disposed on the tubing hanger upper surface and a flange member projecting radially outward from the annular body.
    Type: Grant
    Filed: April 2, 2009
    Date of Patent: April 17, 2012
    Assignee: Vetco Gray Inc.
    Inventors: Robert K. Voss, David S. Christie, Peter Breese
  • Patent number: 8127057
    Abstract: An apparatus, method, and system for implementing a hardware transactional memory (HTM) system with multiple levels of transactional buffers. The apparatus comprises a data cache configured to buffer data in a shared (by a plurality of processing cores) memory accessed by speculative memory access operations and to retain the data during at least a portion of an attempt to execute the atomic memory transaction. The apparatus also comprises an overflow detection circuit configured to detect an overflow condition upon determining that the data cache has insufficient capacity to buffer a portion of data accessed as part of the atomic memory transaction, as well as a buffering circuit configured to respond to the detection of the overflow condition by preventing the portion of data from being buffered in the data cache and buffering the portion of data in a secondary buffer separate from the data cache.
    Type: Grant
    Filed: November 30, 2009
    Date of Patent: February 28, 2012
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Jaewoong Chung, David S. Christie, Michael P. Hohmuth, Stephan Diestelhorst, Martin Pohlack
  • Publication number: 20110307689
    Abstract: A processing core of a plurality of processing cores is configured to execute a speculative region of code as a single atomic memory transaction with respect one or more others of the plurality of processing cores. In response to determining an abort condition for an issued one of the plurality of program instructions and in response to determining that the issued program instruction is not part of a mispredicted execution path, the processing core is configured to abort an attempt to execute the speculative region of code.
    Type: Application
    Filed: June 11, 2010
    Publication date: December 15, 2011
    Inventors: Jaewoong Chung, David S. Christie, Michael P. Hohmuth, Stephan Diestelhorst, Martin T. Pohlack, Luke Yen
  • Patent number: 8011436
    Abstract: A subsea well assembly has a tubing hanger that lands and seals in a wellhead housing. A tree block is lowered through the drilling riser into engagement with the tubing hanger. The tree block has a lower portion that inserts and latches into the bore of the wellhead housing. The drilling riser is disconnected, and a module is lowered onto the tree block, the module having a choke and controls for controlling the well. The master valve for production is the downhole safety valve in the tubing. The wing production valve is a ball valve located in the flow passage of the tree block.
    Type: Grant
    Filed: April 5, 2007
    Date of Patent: September 6, 2011
    Assignee: Vetco Gray Inc.
    Inventors: David S. Christie, Robert Voss, Peter Breese
  • Publication number: 20110208921
    Abstract: A method for accessing memory by a first processor of a plurality of processors in a multi-processor system includes, responsive to a memory access instruction within a speculative region of a program, accessing contents of a memory location using a transactional memory access to the memory access instruction unless the memory access instruction indicates a non-transactional memory access. The method may include accessing contents of the memory location using a non-transactional memory access by the first processor according to the memory access instruction responsive to the instruction not being in the speculative region of the program. The method may include updating contents of the memory location responsive to the speculative region of the program executing successfully and the memory access instruction not being annotated to be a non-transactional memory access.
    Type: Application
    Filed: February 19, 2010
    Publication date: August 25, 2011
    Inventors: Martin T. Pohlack, Michael P. Hohmuth, Stephan Diestelhorst, David S. Christie, Jaewoong Chung
  • Publication number: 20110209151
    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: Application
    Filed: February 24, 2010
    Publication date: August 25, 2011
    Inventors: Jaewoong Chung, David S. Christie, Michael P. Hohmuth, Stephan Diestelhorst, Martin Pohlack
  • Publication number: 20110107328
    Abstract: A data processing device is configured such that, during a loop executed by a guest, the device executes a PAUSE instruction. In response to executing a PAUSE instruction, the data processing device determines a relationship between the current PAUSE instruction and a previously executed PAUSE instruction. For example, the data processing device can determine the amount of time that has elapsed between the PAUSE instructions. Based on the relationship between the current and previous pause instructions, the data processing device can reset the counter to a reset value, or adjust (i.e. increment or decrement) the counter by a defined amount.
    Type: Application
    Filed: November 2, 2009
    Publication date: May 5, 2011
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: Benjamin C. Serebrin, David S. Christie, Erich Boleyn, Michael P. Hohmuth
  • Publication number: 20110040906
    Abstract: An apparatus, method, and system for implementing a hardware transactional memory (HTM) system with multiple levels of transactional buffers. The apparatus comprises a data cache configured to buffer data in a shared (by a plurality of processing cores) memory accessed by speculative memory access operations and to retain the data during at least a portion of an attempt to execute the atomic memory transaction. The apparatus also comprises an overflow detection circuit configured to detect an overflow condition upon determining that the data cache has insufficient capacity to buffer a portion of data accessed as part of the atomic memory transaction, as well as a buffering circuit configured to respond to the detection of the overflow condition by preventing the portion of data from being buffered in the data cache and buffering the portion of data in a secondary buffer separate from the data cache.
    Type: Application
    Filed: November 30, 2009
    Publication date: February 17, 2011
    Inventors: Jaewoong Chung, David S. Christie, Michael P. Hohmuth, Stephan Diestelhorst, Martin Pohlack
  • Publication number: 20110004739
    Abstract: A processor including a virtual memory paging mechanism. The virtual memory paging mechanism enables an operating system operating on the processor to use pages of a first size and a second size, the second size being greater than the first size. The mechanism further enables the operating system to use superpages including two or more contiguous pages of the first size. The size of a superpage is less than the second size. The processor further includes a page table having a separate entry for each of the pages included in each superpage. The operating system accesses each superpage using a single virtual address. The mechanism interprets a single entry in a translation lookaside buffer TLB as referring to a region of memory comprising a set of pages that correspond to a superpage in response to detecting a superpage enable indicator associated with the entry in the TLB is asserted.
    Type: Application
    Filed: July 1, 2009
    Publication date: January 6, 2011
    Inventors: Michael P. Hohmuth, Uwe M. Dannowski, Sebastian Biemueller, David S. Christie, Stephan Diestelhorst, Thomas Friebel
  • Publication number: 20100205408
    Abstract: A computer system and method is disclosed for executing selectively annotated transactional regions. The system is configured to determine whether an instruction within a plurality of instructions in a transactional region includes a given prefix. The prefix indicates that one or more memory operations performed by the processor to complete the instruction are to be executed as part of an atomic transaction. The atomic transaction can include one or more other memory operations performed by the processor to complete one or more others of the plurality of instructions in the transactional region.
    Type: Application
    Filed: April 20, 2010
    Publication date: August 12, 2010
    Applicant: ADVANCED MICRO DEVICES
    Inventors: Jaewoong Chung, David S. Christie, Michael P. Hohmuth, Stephan Diestelhorst, Martin Pohlack
  • Publication number: 20100078176
    Abstract: A subsea wellhead assembly provided over a wellbore, the assembly having a wellhead housing, a tubing hanger in the housing, a production tree on the wellhead housing above the tubing hanger, and a control circuit that passes axially downward from the production tree and through the tubing hanger. A tree stab assembly may be included that is set between the tubing hanger and production tree. The wellhead assembly can also include a casing hanger landed in the housing, casing attached to the casing hanger, and tubing attached to the tubing hanger.
    Type: Application
    Filed: September 18, 2009
    Publication date: April 1, 2010
    Applicant: Vetco Gray Inc.
    Inventor: David S. Christie
  • Publication number: 20100023703
    Abstract: A system and method is disclosed for implementing a hardware transactional memory system capable of executing a speculative section of code containing both protected and unprotected memory access operations. A processor in a multi-processor system is configured to execute a section of code that performs a transaction using shared memory, such that a first subset of memory operations in the section of code is performed atomically with respect to the concurrent execution of the one or more other processors and a second subset of memory operations in the section of code is not. In some embodiments, the section of code includes a plurality of declarator operations, each of which is executable to designate a respective location in the shared memory as protected.
    Type: Application
    Filed: July 28, 2009
    Publication date: January 28, 2010
    Inventors: David S. Christie, Michael P. Hohmuth, Stephan Diestelhorst