Patents by Inventor Barry Duane Williamson

Barry Duane Williamson 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: 10372618
    Abstract: An apparatus and method are provided for maintaining address translation data within an address translation cache. The address translation cache has a plurality of entries, where each entry is used to store address translation data used when converting a virtual address into a corresponding physical address of a memory system. Control circuitry is used to perform an allocation process to determine the address translation data to be stored in each entry. The address translation cache is used to store address translation data of a plurality of different types representing address translation data specified at respective different levels of address translation within a multiple-level page table walk. The plurality of different types comprises a final level type of address translation data that identifies a full translation from the virtual address to the physical address, and at least one intermediate level type of address translation data that identifies a partial translation of the virtual address.
    Type: Grant
    Filed: October 14, 2016
    Date of Patent: August 6, 2019
    Assignee: ARM Limited
    Inventors: Miles Robert Dooley, Abhishek Raja, Barry Duane Williamson, Huzefa Moiz Sanjeliwala
  • Patent number: 10102143
    Abstract: A data processing system 2 includes an address translation cache 12 to store a plurality of address translation entries. Eviction control circuitry 10 selects a victim entry for eviction from address translation cache 12 using an eviction control parameter. The address translation cache 12 can store multiple different types of entry corresponding to respective different levels of address translation within a multiple-level page table walk. The different types of entry have different eviction control parameters assigned at the time of allocation. Eviction from the address translation cache is dependent upon the entry type, as well as the subsequent accesses to the entry concerned and the other entries within the address translation cache.
    Type: Grant
    Filed: October 14, 2016
    Date of Patent: October 16, 2018
    Assignee: ARM Limited
    Inventors: Barry Duane Williamson, Michael Filippo, . Abhishek Raja, Adrian Montero, Miles Robert Dooley
  • Publication number: 20180107604
    Abstract: An apparatus and method are provided for maintaining address translation data within an address translation cache. The address translation cache has a plurality of entries, where each entry is used to store address translation data used when converting a virtual address into a corresponding physical address of a memory system. Control circuitry is used to perform an allocation process to determine the address translation data to be stored in each entry. The address translation cache is used to store address translation data of a plurality of different types representing address translation data specified at respective different levels of address translation within a multiple-level page table walk. The plurality of different types comprises a final level type of address translation data that identifies a full translation from the virtual address to the physical address, and at least one intermediate level type of address translation data that identifies a partial translation of the virtual address.
    Type: Application
    Filed: October 14, 2016
    Publication date: April 19, 2018
    Inventors: Miles Robert DOOLEY, ABHISHEK RAJA, Barry Duane WILLIAMSON, Huzefa Moiz SANJELIWALA
  • Publication number: 20180107606
    Abstract: A data processing system 2 includes an address translation cache 12 to store a plurality of address translation entries. Eviction control circuitry 10 selects a victim entry for eviction from address translation cache 12 using an eviction control parameter. The address translation cache 12 can store multiple different types of entry corresponding to respective different levels of address translation within a multiple-level page table walk. The different types of entry have different eviction control parameters assigned at the time of allocation. Eviction from the address translation cache is dependent upon the entry type, as well as the subsequent accesses to the entry concerned and the other entries within the address translation cache.
    Type: Application
    Filed: October 14, 2016
    Publication date: April 19, 2018
    Inventors: Barry Duane WILLIAMSON, Michael FILIPPO, . ABHISHEK RAJA, Adrian MONTERO, Miles Robert DOOLEY
  • Patent number: 8271733
    Abstract: A storage apparatus for storing data is disclosed. The storage apparatus comprises: a plurality of stores having storage locations for storing data items, including a level one store and a level two store the storage apparatus having a hierarchy such that in response to an access request for accessing a data item the level one store is accessed and in response to detecting that the item is not stored in the level one store the level two store is accessed. The storage apparatus is configured to store a copy of at least some items in both of the one level one store and the level two store, the storage apparatus comprising a plurality of indicator storage elements associated with a corresponding plurality of storage locations of the level two store, a set value of an indicator stored in one of the indicator storage elements indicating that the corresponding stored data item is also stored in the level one store.
    Type: Grant
    Filed: July 20, 2009
    Date of Patent: September 18, 2012
    Assignee: ARM Limited
    Inventor: Barry Duane Williamson
  • Patent number: 7900020
    Abstract: The application describes a data processor operable to process data, and comprising: a cache in which a storage location of a data item within said cache is identified by an address, said cache comprising a plurality of storage locations and said data processor comprising a cache directory operable to store a physical address indicator for each storage location comprising stored data; a hash value generator operable to generate a generated hash value from at least some of said bits of said address said generated hash value having fewer bits than said address; a buffer operable to store a plurality of hash values relating to said plurality of storage locations within said cache; wherein in response to a request to access said data item said data processor is operable to compare said generated hash value with at least some of said plurality of hash values stored within said buffer and in response to a match to indicate a indicated storage location of said data item; and said data processor is operable to access
    Type: Grant
    Filed: January 25, 2008
    Date of Patent: March 1, 2011
    Assignees: ARM Limited, Texas Instruments Incorporated
    Inventors: Barry Duane Williamson, Gerard Richard Williams, Muralidharan Santharaman Chinnakonda
  • Publication number: 20110016281
    Abstract: A storage apparatus for storing data is disclosed. The storage apparatus comprises: a plurality of stores having storage locations for storing data items, including a level one store and a level two store the storage apparatus having a hierarchy such that in response to an access request for accessing a data item the level one store is accessed and in response to detecting that the item is not stored in the level one store the level two store is accessed. The storage apparatus is configured to store a copy of at least some items in both of the one level one store and the level two store, the storage apparatus comprising a plurality of indicator storage elements associated with a corresponding plurality of storage locations of the level two store, a set value of an indicator stored in one of the indicator storage elements indicating that the corresponding stored data item is also stored in the level one store.
    Type: Application
    Filed: July 20, 2009
    Publication date: January 20, 2011
    Inventor: Barry Duane Williamson
  • Publication number: 20080222387
    Abstract: The application describes a data processor operable to process data, and comprising: a cache in which a storage location of a data item within said cache is identified by an address, said cache comprising a plurality of storage locations and said data processor comprising a cache directory operable to store a physical address indicator for each storage location comprising stored data; a hash value generator operable to generate a generated hash value from at least some of said bits of said address said generated hash value having fewer bits than said address; a buffer operable to store a plurality of hash values relating to said plurality of storage locations within said cache; wherein in response to a request to access said data item said data processor is operable to compare said generated hash value with at least some of said plurality of hash values stored within said buffer and in response to a match to indicate a indicated storage location of said data item; and said data processor is operable to access
    Type: Application
    Filed: January 25, 2008
    Publication date: September 11, 2008
    Applicants: ARM Limited, Texas Instruments Incorporated
    Inventors: Barry Duane Williamson, Gerard Richard Williams, Muralidharan Santharaman Chinnakonda
  • Patent number: 6532574
    Abstract: Adjacent signal lines within the critical path of logic within an integrated circuit are checked for capacitive coupling induced signal delay variations resulting from concurrent signal transitions. When found, signal transition overlap is eliminated by delaying the clock edge (rising or falling) triggering the signal driving logic, without necessarily delaying the other clock edge. A delay circuit is incorporated into clock stages for the signal driving logic, and may be selectively actuated to delay the clock edge to particular signal driving logic circuits. Selection of signal lines in which signal transitions are to be delayed may be performed after manufacture of the integrated circuit, and iterative determinations may be required since signal adjustment may create new critical paths within the integrated circuit logic.
    Type: Grant
    Filed: August 17, 2000
    Date of Patent: March 11, 2003
    Assignee: International Business Machines Corporation
    Inventors: Christopher McCall Durham, Sharad Mehrotra, Alexander Koos Spencer, Barry Duane Williamson
  • Patent number: 6405352
    Abstract: A method for analyzing a design or a model of a microprocessor chip model is provided. A base chip model is generated, and it is modified with wire-only changes to produce a modified chip model. The modified chip model is compared to the base chip model to discern the wire-only changes to form a delta chip model. A set of values for RC delays and net capacitance based on the delta chip model is produced, and the modified chip model is timed using the set of values for RC delays and net capacitance on the delta chip model and RC delays and net capacitance on the base chip model.
    Type: Grant
    Filed: June 30, 1999
    Date of Patent: June 11, 2002
    Assignee: International Business Machines Corporation
    Inventors: Alexander Koos Spencer, Barry Duane Williamson
  • Patent number: 6148394
    Abstract: The present invention is directed towards a means to detect and reorder out of order instructions that may violate data coherency. The invention comprises a mis-queue table for holding entries of instruction data, each entry corresponding to an instruction in a computer microprocesor. The instruction data in each entry comprises: i) address information for the instruction; ii) ordering information for the instruction, indicating the order of the instruction relative to other instructions in the mis-queue table; iii) data modification information for the instruction, for indicating a possibility of modified data; and iv) out of order information, for indicating that a newer instruction has completed before the corresponding older instruction to the entry. The invention also comprises an out of order comparator for comparing an address of a completed instruction to any address information entries in the miss queue.
    Type: Grant
    Filed: February 10, 1998
    Date of Patent: November 14, 2000
    Assignee: International Business Machines Corporation
    Inventors: Shih-Hsiung Stephen Tung, David Scott Ray, Kevin Arthur Chiarot, Barry Duane Williamson
  • Patent number: 6112297
    Abstract: One aspect of the invention relates to a method for processing load instructions in a superscalar processor having a data cache and a register file. In one embodiment, the method includes the steps of dispatching a misaligned load instruction to access a block of data that is misaligned in the cache; while continuing to dispatch aligned instructions: generating a first access and a final access to the cache in response to the misaligned load instruction; storing data retrieved from the first access until data from the final access is available; reassembling the data from the first and final access into the order required by the load instruction; and storing the re-assembled data to the register file.
    Type: Grant
    Filed: February 10, 1998
    Date of Patent: August 29, 2000
    Assignee: International Business Machines Corporation
    Inventors: David Scott Ray, Barry Duane Williamson, Shih-Hsiung Stephen Tung
  • Patent number: 6035394
    Abstract: One aspect of the invention relates to a method for operating a superscalar processor having an instruction cache, a sequencing unit, a load/store unit, a cache, an architectural register file and a rename register file. In one particular version of the invention, the method includes the steps of forwarding an instruction from the instruction cache to the sequencing unit operable to access multiple architectural registers; generating a plurality of primitive instructions responsive to the forwarded instruction in which an individual primitive instruction is operable to access an individual architectural register; and sequentially issuing the primitive instructions to move data between the data cache and the rename register file.
    Type: Grant
    Filed: February 17, 1998
    Date of Patent: March 7, 2000
    Assignee: International Business Machines Corporation
    Inventors: David Scott Ray, Kevin Arthur Chiarot, David Andrew Schroter, A. James Van Norstrand, Jr., Barry Duane Williamson
  • Patent number: 5926645
    Abstract: A method and system for a handling multiple store instruction completions in a processing system after a stall condition is disclosed. The processing system includes an instruction unit, the instruction unit including a dispatch unit and a completion unit, a translation unit and at least one execution unit. A load store unit comprises an instruction queue for receiving a plurality of instructions from the dispatch unit; at least one effective address (EA) unit for receiving the plurality of instructions from the instruction queue, and a store queue. The store queue is coupled to the translation unit, the at least one execution unit and the at least one EA unit. The store queue receives data and real address information relating to each of the plurality of instructions from the at least one execution unit prior to completion of each of the plurality of instructions. In so doing, the bottleneck associated with conventional systems, i.e.
    Type: Grant
    Filed: July 22, 1997
    Date of Patent: July 20, 1999
    Assignee: International Business Machines Corporation
    Inventor: Barry Duane Williamson