Patents by Inventor William L. Walker

William L. Walker 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: 20150120976
    Abstract: A method and apparatus for performing a bus lock and a translation lookaside buffer invalidate transaction includes receiving, by a lock master, a lock request from a first processor in a system. The lock master sends a quiesce request to all processors in the system, and upon receipt of the quiesce request from the lock master, all processors cease issuing any new transactions and issue a quiesce granted transaction. Upon receipt of the quiesce granted transactions from all processors, the lock master issues a lock granted message that includes an identifier of the first processor. The first processor performs an atomic transaction sequence and sends a first lock release message to the lock master upon completion of the atomic transaction sequence. The lock master sends a second lock release message to all processors upon receiving the first lock release message from the first processor.
    Type: Application
    Filed: October 23, 2014
    Publication date: April 30, 2015
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: William L. Walker, Paul J. Moyer, Richard M. Born, Eric Morton, David Christie, Marius Evers, Scott T. Bingham
  • Publication number: 20150095586
    Abstract: Embodiments herein provide for using one or more cache memory to facilitate non-temporal transaction. A request to store data into a cache associated with a processor is received. In response to receiving the request, a determination is made as to whether the data to be stored is non-temporal data. A predetermined location of the cache is selected; the location to which storing of the non-temporal data is restricted to a predetermined location, in response to determining the data to be stored is non-temporal data. The non-temporal data is data that is not accessed within a predetermined period of time. The non-temporal data is stored into the predetermined location.
    Type: Application
    Filed: September 30, 2013
    Publication date: April 2, 2015
    Applicant: ADVANCED MICRO DEVICES , INC.
    Inventors: William L Walker, Robert Krick
  • Publication number: 20150081980
    Abstract: A method includes storing architectural state data associated with a processing unit in a cache memory using an allocate without fill mode. A system includes a processing unit, a cache memory, and a cache controller. The cache controller is to receive architectural state data associated with the processing unit and store at least a first portion of the architectural state data in the cache memory using a first fill mode responsive to a first value of a fill mode flag and store at least a second portion of the architectural state data in the cache memory using a second fill mode responsive to a second value of a fill mode flag, wherein the first fill mode differs from the second fill mode with respect to whether previous values of the architectural state data are retrieved prior to storing the first or second portions in the cache memory.
    Type: Application
    Filed: September 17, 2013
    Publication date: March 19, 2015
    Applicant: Advanced Micro Devices, Inc.
    Inventor: William L. Walker
  • Patent number: 8909867
    Abstract: The present invention provides a method and apparatus for allocating space in a unified cache. The method may include partitioning the unified cache into a first portion of lines that only store copies of instructions retrieved from a memory and a second portion of lines that only store copies of data retrieved from the memory.
    Type: Grant
    Filed: August 24, 2010
    Date of Patent: December 9, 2014
    Assignee: Advanced Micro Devices, Inc.
    Inventor: William L. Walker
  • Patent number: 8791713
    Abstract: The present invention provides a method and apparatus for bypassing silicon bugs. One exemplary embodiment of the method includes using a logic element formed on a substrate to detect a predefined trigger condition indicating onset of a functional bug during operation of a semiconductor device formed on the substrate. The method also includes modifying operation of the semiconductor device to avoid onset of the functional bug by taking a predefined action associated with the predefined trigger condition.
    Type: Grant
    Filed: June 17, 2010
    Date of Patent: July 29, 2014
    Assignee: Advanced Micro Devices, Inc.
    Inventor: William L. Walker
  • Publication number: 20140195832
    Abstract: Methods, integrated circuit devices, and fabrication processes relating to power management transitions of a compute unit comprising a cache are presented. One method includes, responsive to an indication that the compute unit is attempting to enter a low power state, detecting at least one line of the cache differing from the corresponding line in memory, writing differing data from the at least one differing line to the memory, flushing at least one remaining differing line of the cache, and permitting the compute unit to enter the low power state, wherein the detecting and the writing are performed at a first frequency prior to the indication and at a second frequency subsequent the indication, and the second frequency is higher than the first frequency.
    Type: Application
    Filed: January 10, 2013
    Publication date: July 10, 2014
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: Paul E. Kitchin, William L. Walker
  • Publication number: 20140108734
    Abstract: A processor includes a first processing unit and a first level cache associated with the first processing unit and operable to store data for use by the first processing unit used during normal operation of the first processing unit. The first processing unit is operable to store first architectural state data for the first processing unit in the first level cache responsive to receiving a power down signal. A method for controlling power to processor including a hierarchy of cache levels includes storing first architectural state data for a first processing unit of the processor in a first level of the cache hierarchy responsive to receiving a power down signal and flushing contents of the first level including the first architectural state data to a first lower level of the cache hierarchy prior to powering down the first level of the cache hierarchy and the first processing unit.
    Type: Application
    Filed: October 17, 2012
    Publication date: April 17, 2014
    Inventors: Paul Edward Kitchin, William L. Walker
  • Publication number: 20140059371
    Abstract: We report methods, integrated circuit devices, and fabrication processes relating to power management transitions of multiple compute units sharing a cache. One method includes indicating that a first compute unit of a plurality of compute units of an integrated circuit device is attempting to enter a low power state, determining if the first compute unit is the only compute unit of the plurality in a normal power state, and in response to determining the first compute unit is the only compute unit in the normal power state: saving a state of a shared cache unit of the integrated circuit device, flushing at least a portion of a cache of the shared cache unit, repeating the flushing until either a second compute unit exits the low power state or the cache is completely flushed, and permitting the first compute unit to enter the low power state.
    Type: Application
    Filed: August 24, 2012
    Publication date: February 27, 2014
    Inventors: Paul Kitchin, William L. Walker, Steven J. Kommrusch
  • Publication number: 20140040556
    Abstract: Apparatus and method embodiments for dynamically allocating cache space in a multi-threaded execution environment are disclosed. In some embodiments, a processor includes a cache shared by each of a plurality of processor cores and/or each of a plurality of threads executing on the processor. The processor further includes a cache allocation circuit configured to dynamically allocate space in the cache provided to each of the plurality of processor cores based on their respective usage patterns. The cache allocation unit may track cache usage by each of the processor cores/threads using subsets of usage bits and counters configured to update states of the usage bits. The cache allocation circuit may track the usage of cache space by the processor cores/threads and may allocate more space to those that exhibit more usage of the cache.
    Type: Application
    Filed: August 5, 2012
    Publication date: February 6, 2014
    Inventor: William L. Walker
  • Publication number: 20130346683
    Abstract: A cache subsystem apparatus and method of operating therefor is disclosed. In one embodiment, a cache subsystem includes a cache memory divided into a plurality of sectors each having a corresponding plurality of cache lines. Each of the plurality of sectors is associated with a sector dirty bit that, when set, indicates at least one of its corresponding plurality of cache lines is storing modified data of any other location in a memory hierarchy including the cache memory. The cache subsystem further includes a cache controller configured to, responsive to initiation of a power down procedure, determine only in sectors having a corresponding sector dirty bit set which of the corresponding plurality of cache lines is storing modified data.
    Type: Application
    Filed: June 22, 2012
    Publication date: December 26, 2013
    Inventor: William L. Walker
  • Publication number: 20130346699
    Abstract: The present application describes embodiments of a method and apparatus for concurrently accessing dirty bits in a cache. One embodiment of the apparatus includes a cache configurable to store a plurality of lines. The lines are grouped into a plurality of subsets the plurality of lines. This embodiment of the apparatus also includes a plurality of dirty bits associated with the plurality of lines and first circuitry configurable to concurrently access the plurality of dirty bits associated with at least one of the plurality of subsets of lines.
    Type: Application
    Filed: June 26, 2012
    Publication date: December 26, 2013
    Inventor: WILLIAM L. WALKER
  • Publication number: 20130311724
    Abstract: A cache system includes plurality of first caches at a first level of a cache hierarchy and a second cache at a second level of the cache hierarchy which is lower than the first level of cache hierarchy coupled to each of the plurality of first caches. The second cache enforces a cache line replacement policy in which the second cache selects a cache line for replacement based in part on whether the cache line is present in any of the plurality of first caches and in part on another factor.
    Type: Application
    Filed: May 17, 2012
    Publication date: November 21, 2013
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: William L. Walker, Robert F. Krick, Tarun Nakra, Pramod Subramanyan
  • Publication number: 20120054442
    Abstract: The present invention provides a method and apparatus for allocating space in a unified cache. The method may include partitioning the unified cache into a first portion of lines that only store copies of instructions retrieved from a memory and a second portion of lines that only store copies of data retrieved from the memory.
    Type: Application
    Filed: August 24, 2010
    Publication date: March 1, 2012
    Inventor: William L. Walker
  • Publication number: 20120054439
    Abstract: The present invention provides a method and apparatus for allocating cache bandwidth to multiple processors. One embodiment of the method includes delaying, at a local device associated with a local cache, a first cache probe from a non-local device to the local cache following a second cache probe from the non-local device that matches a third cache probe from the local device.
    Type: Application
    Filed: August 24, 2010
    Publication date: March 1, 2012
    Inventor: William L. Walker
  • Publication number: 20110309855
    Abstract: The present invention provides a method and apparatus for bypassing silicon bugs. One exemplary embodiment of the method includes using a logic element formed on a substrate to detect a predefined trigger condition indicating onset of a functional bug during operation of a semiconductor device formed on the substrate. The method also includes modifying operation of the semiconductor device to avoid onset of the functional bug by taking a predefined action associated with the predefined trigger condition.
    Type: Application
    Filed: June 17, 2010
    Publication date: December 22, 2011
    Inventor: WILLIAM L. WALKER
  • Patent number: 5841795
    Abstract: A method of detecting and correcting errors in a memory subsystem of a computer is described. The method includes beginning a write operation of N data bits to a memory, generating M check bits from the N data bits, writing the N data bits and the M check bits to the memory, reading the N data bits and M check bits from the memory, generating X syndrome bits from the N data bits and the M check bits, and using the X syndrome bits to detect and correct errors. Preferably, the M check bits are generated also from A address bits corresponding to the location in memory to which the N data bits and M check bits are to be written.
    Type: Grant
    Filed: February 12, 1996
    Date of Patent: November 24, 1998
    Assignee: Compaq Computer Corporation
    Inventors: Sompong Paul Olarig, William L. Walker
  • Patent number: 5829049
    Abstract: A method of improving the performance of a computer processor by recognizing that two consecutive register instructions can be executed simultaneously and executing the two instructions simultaneously while generating a single data address and while performing exception checking on a single data address. During an instruction fetch process, two consecutive instructions are tested to determine if both are either register load instructions or register save instructions. If both instructions are load or save register instructions, the corresponding data addresses are tested to see if both data addresses are in the same double word. If both data addresses are in the same double word, then the instructions are executed simultaneously. Only one data address generation is required and exception processing is performed on only one data address.
    Type: Grant
    Filed: January 21, 1997
    Date of Patent: October 27, 1998
    Assignee: Hewlett-Packard Company
    Inventors: William L. Walker, Mark R. Storey, Patrick Knebel, Stephen R. Undy
  • Patent number: 5623616
    Abstract: A circuit and method degrades throughput of floating point operations within a computing system. At the time of manufacture a preprogrammed value is stored. This may be done, for example, using fusible links, separate metal layers, internal bonding pad selection, EPROM/OTP memory cells, ion milling, laser evaporation and external programming pins. When a floating point processor processes a floating point operation, operation of a main processor is delayed an amount corresponding to the preprogrammed value. For example, when the floating point processor processes a floating point operation, a counter begins to count. Operation of the main processor is delayed until the counter has counted to a number equal to the preprogrammed value. Upon the counter completing counting to a number equal to the preprogrammed value, normal operation of the main processor is resumed.
    Type: Grant
    Filed: October 20, 1994
    Date of Patent: April 22, 1997
    Assignee: Hewlett-Packard Company
    Inventors: Philip L. Vitale, William L. Walker