Patents by Inventor Michael G. Butler

Michael G. Butler 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: 9652396
    Abstract: A method for accessing a cache memory structure includes dividing a multiple cache elements of a cache memory structure into multiple groups. A serial probing process of the multiple groups is performed. Upon a tag hit resulting from the serial probing process, the probing process for remaining groups exits.
    Type: Grant
    Filed: December 27, 2013
    Date of Patent: May 16, 2017
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Michael G. Butler, Magnus Ekman
  • Publication number: 20150186284
    Abstract: A method for accessing a cache memory structure includes dividing a multiple cache elements of a cache memory structure into multiple groups. A serial probing process of the multiple groups is performed. Upon a tag hit resulting from the serial probing process, the probing process for remaining groups exits.
    Type: Application
    Filed: December 27, 2013
    Publication date: July 2, 2015
    Applicant: Samsung Electronics Company, Ltd.
    Inventors: Michael G. Butler, Magnus Ekman
  • Patent number: 8787058
    Abstract: A method for comparing content addressable memory (CAM) elements is disclosed. Binary values are stored in a pair of CAM elements. A comparison value is provided to a group of comparators, the comparison value based on the binary value stored in the pair of CAM elements. A match value is provided to the group of comparators, the match value corresponding to a binary value pair to be compared with the binary value stored in the pair of CAM elements. A positive match result value is output from a selected group of comparators via an output line in response to the comparison value matching the match value.
    Type: Grant
    Filed: August 11, 2011
    Date of Patent: July 22, 2014
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Ganesh Venkataramanan, Michael G. Butler, James Vinh
  • Publication number: 20130117543
    Abstract: A method and apparatus for processing multi-cycle instructions include picking a multi-cycle instruction and directing the picked multi-cycle instruction to a pipeline. The pipeline includes a pipeline control configured to detect a latency and a repeat rate of the picked multi-cycle instruction and to count clock cycles based on the detected latency and the detected repeat rate. The method and apparatus further include detecting the repeat rate and the latency of the picked multi-cycle instruction, and counting clock cycles based on the detected repeat rate and the latency of the picked multi-cycle instruction.
    Type: Application
    Filed: November 4, 2011
    Publication date: May 9, 2013
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: Ganesh Venkataramanan, Michael G. Butler
  • Publication number: 20130039109
    Abstract: A method for comparing content addressable memory (CAM) elements is disclosed. Binary values are stored in a pair of CAM elements. A comparison value is provided to a group of comparators, the comparison value based on the binary value stored in the pair of CAM elements. A match value is provided to the group of comparators, the match value corresponding to a binary value pair to be compared with the binary value stored in the pair of CAM elements. A positive match result value is output from a selected group of comparators via an output line in response to the comparison value matching the match value.
    Type: Application
    Filed: August 11, 2011
    Publication date: February 14, 2013
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: Ganesh Venkataramanan, Michael G. Butler, James Vinh
  • Patent number: 8214602
    Abstract: In one embodiment, a processor comprises a data cache and a load/store unit (LSU). The LSU comprises a queue and a control unit, and each entry in the queue is assigned to a different load that has accessed the data cache but has not retired. The control unit is configured to update the data cache hit status of each load represented in the queue as a content of the data cache changes. The control unit is configured to detect a snoop hit on a first load in a first entry of the queue responsive to: the snoop index matching a load index stored in the first entry, the data cache hit status of the first load indicating hit, the data cache detecting a snoop hit for the snoop operation, and a load way stored in the first entry matching a first way of the data cache in which the snoop operation is a hit.
    Type: Grant
    Filed: June 23, 2008
    Date of Patent: July 3, 2012
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Ashutosh S. Dhodapkar, Michael G. Butler
  • Patent number: 7861066
    Abstract: A mechanism for suppressing instruction replay includes a processor having one or more execution units and a scheduler that issue instruction operations for execution by the one or more execution units. The scheduler may also cause instruction operations that are determined to be incorrectly executed to be replayed, or reissued. In addition, a prediction unit within the processor may predict whether a given instruction operation will replay and to provide an indication that the given instruction operation will replay. The processor also includes a decode unit that may decode instructions and in response to detecting the indication, may flag the given instruction operation. The scheduler may further inhibit issue of the flagged instruction operation until a status associated with the flagged instruction is good.
    Type: Grant
    Filed: July 20, 2007
    Date of Patent: December 28, 2010
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Ashutosh S. Dhodapkar, Michael G. Butler, Gene W. Shen
  • Patent number: 7743232
    Abstract: A multiple-core processor having a hierarchical microcode store. A processor may include multiple processor cores, each configured to independently execute instructions defined according to a programmer-visible instruction set architecture (ISA). Each core may include a respective local microcode unit configured to store microcode entries. The processor may also include a remote microcode unit accessible by each of the processor cores. Any given one of the processor cores may be configured to generate a given microcode entrypoint corresponding to a particular microcode entry including one or more operations to be executed by the given processor core, and to determine whether the particular microcode entry is stored within the respective local microcode unit of the given core. In response to determining that the particular microcode entry is not stored within the respective local microcode unit, the given core may convey a request for the particular microcode entry to the remote microcode unit.
    Type: Grant
    Filed: July 18, 2007
    Date of Patent: June 22, 2010
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Gene W. Shen, Bruce R. Holloway, Sean Lie, Michael G. Butler
  • Publication number: 20090319727
    Abstract: In one embodiment, a processor comprises a data cache and a load/store unit (LSU). The LSU comprises a queue and a control unit, and each entry in the queue is assigned to a different load that has accessed the data cache but has not retired. The control unit is configured to update the data cache hit status of each load represented in the queue as a content of the data cache changes. The control unit is configured to detect a snoop hit on a first load in a first entry of the queue responsive to: the snoop index matching a load index stored in the first entry, the data cache hit status of the first load indicating hit, the data cache detecting a snoop hit for the snoop operation, and a load way stored in the first entry matching a first way of the data cache in which the snoop operation is a hit.
    Type: Application
    Filed: June 23, 2008
    Publication date: December 24, 2009
    Inventors: Ashutosh S. Dhodapkar, Michael G. Butler
  • Publication number: 20090183035
    Abstract: A processor core includes an instruction decode unit that may dispatch a same integer instruction stream to a plurality of integer execution units and may consecutively dispatch a same floating-point instruction stream to a floating-point unit. The integer execution units may operate in lock-step such that during each clock cycle, each respective integer execution unit executes the same integer instruction. The floating-point unit may execute the same floating-point instruction stream twice. Prior to the integer instructions retiring, compare logic may detect a mismatch between execution results from each of the integer execution units. In addition, prior to the results of the floating-point instruction stream transferring out of the floating-point unit, the compare logic may also detect a mismatch between results of execution of each consecutive floating-point instruction stream. Further, in response to detecting any mismatch, the compare logic may cause instructions causing the mismatch to be re-executed.
    Type: Application
    Filed: January 10, 2008
    Publication date: July 16, 2009
    Inventors: Michael G. Butler, Nhon Quach
  • Publication number: 20090024838
    Abstract: A mechanism for suppressing instruction replay includes a processor having one or more execution units and a scheduler that issue instruction operations for execution by the one or more execution units. The scheduler may also cause instruction operations that are determined to be incorrectly executed to be replayed, or reissued. In addition, a prediction unit within the processor may predict whether a given instruction operation will replay and to provide an indication that the given instruction operation will replay. The processor also includes a decode unit that may decode instructions and in response to detecting the indication, may flag the given instruction operation. The scheduler may further inhibit issue of the flagged instruction operation until a status associated with the flagged instruction is good.
    Type: Application
    Filed: July 20, 2007
    Publication date: January 22, 2009
    Inventors: Ashutosh S. Dhodapkar, Michael G. Butler, Gene W. Shen
  • Publication number: 20090024836
    Abstract: A multiple-core processor having a hierarchical microcode store. A processor may include multiple processor cores, each configured to independently execute instructions defined according to a programmer-visible instruction set architecture (ISA). Each core may include a respective local microcode unit configured to store microcode entries. The processor may also include a remote microcode unit accessible by each of the processor cores. Any given one of the processor cores may be configured to generate a given microcode entrypoint corresponding to a particular microcode entry including one or more operations to be executed by the given processor core, and to determine whether the particular microcode entry is stored within the respective local microcode unit of the given core. In response to determining that the particular microcode entry is not stored within the respective local microcode unit, the given core may convey a request for the particular microcode entry to the remote microcode unit.
    Type: Application
    Filed: July 18, 2007
    Publication date: January 22, 2009
    Inventors: Gene W. Shen, Bruce R. Holloway, Sean Lie, Michael G. Butler
  • Publication number: 20080148026
    Abstract: In one embodiment, a processor comprises a predictor, a checkpoint unit, and circuitry coupled to the checkpoint unit. The predictor is configured to predict an event that can occur during an execution of an instruction operation in the processor. Furthermore, the predictor is configured to provide a confidence indicator corresponding to the prediction. The confidence indicator indicates a relative probability of a correctness of the prediction. The checkpoint unit is configured to store checkpoints of speculative state corresponding to respective instruction operations. Coupled to receive the confidence indicator, the circuitry is configured to save a first checkpoint of speculative state corresponding to the instruction operation if the confidence indicator indicates a first level of probability of correctness. The circuitry is further configured not to save the first checkpoint if the confidence indicator indicates a second level of probability.
    Type: Application
    Filed: December 15, 2006
    Publication date: June 19, 2008
    Inventors: Ashutosh S. Dhodapkar, Michael G. Butler
  • Patent number: 7293162
    Abstract: A scheduling scheme and mechanism for a processor system is disclosed. The scheduling scheme provides a reservation station system that includes a control reservation station and a data reservation station. The reservation station system receives an operational entry and for each operational entry it identifies scheduling state information, operand state information, and operand information. The reservation station system stores the scheduling state information and operand information as a control reservation station entry in the control reservation station and stores the operating state information and the operand information as a data reservation station entry in the data reservation station. When control reservation station entries are identified as ready, they are scheduled and issued for execution by a functional unit.
    Type: Grant
    Filed: December 18, 2002
    Date of Patent: November 6, 2007
    Assignee: Fujitsu Limited
    Inventors: Michael C Shebanow, Michael G Butler
  • Patent number: 7130991
    Abstract: A method and apparatus for loop detection for improved branch prediction accuracy. In one embodiment, the method may comprise executing a branch instruction, updating a plurality of event counts corresponding to the branch instruction in response to its executing, determining a loop behavior status corresponding to the branch instruction in response to the event count updating, and promoting the branch instruction to a loop branch prediction type in response to the determination of loop behavior status.
    Type: Grant
    Filed: October 9, 2003
    Date of Patent: October 31, 2006
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Michael G. Butler
  • Patent number: 7076635
    Abstract: A method and apparatus for reducing instruction ITLB accesses. In one embodiment, the method may comprise generating a next virtual fetch address corresponding to an instruction fetch request and determining whether a current physical address translation is valid for the next virtual fetch address in response to its generation, wherein the determination may comprise detecting a change in the virtual page number of the next virtual fetch address relative to a virtual page number of a current virtual fetch address. The method may further comprise activating an ITLB circuit in response to determining that the current physical address translation is not valid for the next virtual fetch address, and performing the instruction fetch using the current physical address translation without activating the ITLB circuit in response to determining that the current physical address translation is valid for said next virtual fetch address.
    Type: Grant
    Filed: September 4, 2003
    Date of Patent: July 11, 2006
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Michael G. Butler, S. Craig Nelson
  • Publication number: 20040123077
    Abstract: A scheduling scheme and mechanism for a processor system is disclosed. The scheduling scheme provides a reservation station system that includes a control reservation station and a data reservation station. The reservation station system receives an operational entry and for each operational entry it identifies scheduling state information, operand state information, and operand information. The reservation station system stores the scheduling state information and operand information as a control reservation station entry in the control reservation station and stores the operating state information and the operand information as a data reservation station entry in the data reservation station. When control reservation station entries are identified as ready, they are scheduled and issued for execution by a functional unit.
    Type: Application
    Filed: December 18, 2002
    Publication date: June 24, 2004
    Inventors: Michael C. Shebanow, Michael G. Butler
  • Patent number: 6550213
    Abstract: A system for forming concrete slabs has been developed for commercial buildings having a steel moment-frame structure. This system utilizes the cold-formed-steel framing members, such as the wall girts shipped with a particular building package, to be first utilized as slab foundation forming elements before being framed into the building. The system defines foundation geometry upon simple assembly of the forming elements, and efficiently provides for placement of anchoring hardware which corresponds exactly to the connections of the structural frames.
    Type: Grant
    Filed: April 9, 1997
    Date of Patent: April 22, 2003
    Inventor: Michael G. Butler
  • Patent number: 6367764
    Abstract: A stake suitable for use in construction is formed from an elongate threaded metal member, typically of length between 0.45 meter and 1.8 meter, having two ends. A first end region, tapered to a sharp point over typically 3 centimeters, is suitable to be plunged into earth. A middle region has threads that are both deeply cut, typically at a ratio of root diameter to outside diameter less than 0.80, and steeply inclined, typically at least 1 in 20. A second end region has a feature in the shape of a regular prism suitable to be engaged by a torquing tool for rotation of the entire stake. The second end region feature may be a prism of regular cross section, normally a hexagonal prism, of a diameter everywhere less than the minor diameter of the middle region's threads.
    Type: Grant
    Filed: November 3, 1998
    Date of Patent: April 9, 2002
    Inventor: Michael G. Butler
  • Patent number: 6120723
    Abstract: A concrete footing for the construction of a wall is created by the placement of a guide member with a series of very large holes, which is supported with adjustable threaded stake supports. This guide is situated along a location which will become the top surface of that footing, typically within the confines of a footing trench. Concrete is conventionally placed via a pump through the large holes thus filling the trench void up to the guide element underside. Adjacent guides are attached with plastic connectors which also fixture vertical reinforcing elements which disassemble to strip guides, typically immediately after concrete has been placed.
    Type: Grant
    Filed: April 9, 1997
    Date of Patent: September 19, 2000
    Inventor: Michael G. Butler