Patents by Inventor Michael Caulfield

Michael Caulfield 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: 10521368
    Abstract: Arbitration circuitry is provided for arbitrating between requests awaiting servicing. The requests require variable numbers of resources and the arbitration circuitry permits the request to be serviced in a different order to the order in which they were received. Checking circuitry prevents a given request other than a oldest request from being serviced when a number of available resources is less than a threshold number of resources. The threshold number is varied based on the number of resources required for at least one other request awaiting servicing.
    Type: Grant
    Filed: December 24, 2015
    Date of Patent: December 31, 2019
    Assignee: ARM Limited
    Inventors: Max John Batley, Ian Michael Caulfield, Chris Abernathy
  • Publication number: 20190394260
    Abstract: A server system is provided that includes a plurality of servers, each server including at least one hardware acceleration device and at least one processor communicatively coupled to the hardware acceleration device by an internal data bus and executing a host server instance, the host server instances of the plurality of servers collectively providing a software plane, and the hardware acceleration devices of the plurality of servers collectively providing a hardware acceleration plane that implements a plurality of hardware accelerated services, wherein each hardware acceleration device maintains in memory a data structure that contains load data indicating a load of each of a plurality of target hardware acceleration devices, and wherein a requesting hardware acceleration device routes the request to a target hardware acceleration device that is indicated by the load data in the data structure to have a lower load than other of the target hardware acceleration devices.
    Type: Application
    Filed: August 30, 2019
    Publication date: December 26, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Adrian Michael Caulfield, Eric S. Chung, Michael Konstantinos Papamichael, Douglas C. Burger, Shlomi Alkalay
  • Patent number: 10425472
    Abstract: A server system is provided that includes a plurality of servers, each server including at least one hardware acceleration device and at least one processor communicatively coupled to the hardware acceleration device by an internal data bus and executing a host server instance, the host server instances of the plurality of servers collectively providing a software plane, and the hardware acceleration devices of the plurality of servers collectively providing a hardware acceleration plane that implements a plurality of hardware accelerated services, wherein each hardware acceleration device maintains in memory a data structure that contains load data indicating a load of each of a plurality of target hardware acceleration devices, and wherein a requesting hardware acceleration device routes the request to a target hardware acceleration device that is indicated by the load data in the data structure to have a lower load than other of the target hardware acceleration devices.
    Type: Grant
    Filed: January 17, 2017
    Date of Patent: September 24, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Adrian Michael Caulfield, Eric S. Chung, Michael Konstantinos Papamichael, Douglas C. Burger, Shlomi Alkalay
  • Patent number: 10402203
    Abstract: An apparatus comprises prediction circuitry (40, 100, 80) for determining, based on current prediction policy information (43, 82, 104), a predicted behavior to be used for processing instructions. The current prediction policy information is updated based on an outcome of processing of instructions. A storage structure (50) stores at least one entry identifying previous prediction policy information (60) for a corresponding block of instructions. In response to an instruction from a block having a corresponding entry in the storage structure (50) which identifies the previous prediction policy information (60), the current prediction policy information (43, 82, 104) can be reset based on the previous prediction policy information 60 identified in the corresponding entry of the storage structure (50).
    Type: Grant
    Filed: March 31, 2016
    Date of Patent: September 3, 2019
    Assignee: ARM Limited
    Inventors: Max John Batley, Simon John Craske, Ian Michael Caulfield, Peter Richard Greenhalgh, Allan John Skillman, Antony John Penton
  • Patent number: 10394716
    Abstract: An apparatus and method are provided for controlling allocation of data into cache storage. The apparatus comprises processing circuitry for executing instructions, and a cache storage for storing data accessed when executing the instructions. Cache control circuitry is arranged, while a sensitive allocation condition is determined to exist, to be responsive to the processing circuitry speculatively executing a memory access instruction that identifies data to be allocated into the cache storage, to allocate the data into the cache storage and to set a conditional allocation flag in association with the data allocated into the cache storage. The cache control circuitry is then responsive to detecting an allocation resolution event, to determine based on the type of the allocation resolution event whether to clear the conditional allocation flag such that the data is thereafter treated as unconditionally allocated, or to cause invalidation of the data in the cache storage.
    Type: Grant
    Filed: April 6, 2018
    Date of Patent: August 27, 2019
    Assignee: ARM Limited
    Inventors: Frederic Claude Marie Piry, Peter Richard Greenhalgh, Ian Michael Caulfield, Albin Pierrick Tonnerre, Jeffrey Allen Kehl
  • Patent number: 10310735
    Abstract: Data storage apparatus comprises detection circuitry configured to detect a match between a multi-bit reference memory address and a test address, the test address being a combination of a multi-bit base address and a multi-bit address offset, the detection circuitry comprising: a comparator configured to compare, as a first comparison, a first subset of bits of the reference memory address with a combination of the corresponding first subset of bits of the base address and the corresponding first subset of bits of the address offset; the comparator being configured to compare, as a second comparison, a second, different subset of bits of the reference memory address with the corresponding second subset of bits of the base address; a detector configured to detect the match between the reference memory address and the test address when both of the first comparison and the second comparison detect a respective match; and control circuitry configured to control operation of the data storage apparatus in dependen
    Type: Grant
    Filed: February 23, 2017
    Date of Patent: June 4, 2019
    Assignee: ARM Limited
    Inventors: Cédric Denis Robert Airaud, Max John Batley, Ian Michael Caulfield, Thomas Edward Roberts
  • Publication number: 20190163902
    Abstract: A data processing apparatus comprises branch prediction circuitry adapted to store at least one branch prediction state entry in relation to a stream of instructions, input circuitry to receive at least one input to generate a new branch prediction state entry, wherein the at least one input comprises a plurality of bits; and coding circuitry adapted to perform an encoding operation to encode at least some of the plurality of bits based on a value associated with a current execution environment in which the stream of instructions is being executed. This guards against potential attacks which exploit the ability for branch prediction entries trained by one execution environment to be used by another execution environment as a basis for branch predictions.
    Type: Application
    Filed: October 2, 2018
    Publication date: May 30, 2019
    Inventors: Alastair David REID, Dominic Phillip MULLIGAN, Milosch MERIAC, Matthias Lothar BOETTCHER, Nathan Yong Seng CHONG, Ian Michael CAULFIELD, Peter Richard GREENHALGH, Frederic Claude Marie PIRY, Albin Pierrick TONNERRE, Thomas Christopher GROCUTT, Yasuo ISHII
  • Publication number: 20190057093
    Abstract: An apparatus comprises a reduction tree to rank a given item of a set of M items relative to other items of the set of M items, in dependence on ranking information indicating an order of preference for the set of M items. The reduction tree has a number of levels of node circuits arranged in a tree structure, each node circuit configured to generate a plurality of node output signals indicative of whether a corresponding subset of the set of M items includes at least N more preferred items than the given item, where N?2. A node circuit at a level of the reduction tree other than a first level is configured to combine the node output signals generated by at least two node circuits at a previous level of the reduction tree, such that the number of items in the corresponding subset increases through successive levels of the reduction tree, until the subset of items corresponding to a root node circuit at a final level of the reduction tree comprises the set of M items.
    Type: Application
    Filed: August 16, 2017
    Publication date: February 21, 2019
    Inventor: Ian Michael CAULFIELD
  • Patent number: 10140093
    Abstract: An apparatus and method are provided for estimating a shift amount when employing processing circuitry to perform a subtraction operation to subtract a second significand value of a second floating-point operand from a first significand value of a first floating-point operand in order to generate a difference value. Shift estimation circuitry then determines an estimated shift amount to be applied to the difference value. The shift estimation circuitry comprises significand analysis circuitry to generate, from analysis of the significand values of the two floating-point operands, a first bit string identifying a most significant bit position within the difference value that is predicted to have its bit set to a determined value. In parallel, shift limiting circuitry generates from an exponent value a second bit string identifying a shift limit bit position.
    Type: Grant
    Filed: March 30, 2017
    Date of Patent: November 27, 2018
    Assignee: ARM Limited
    Inventors: David Raymond Lutz, Ian Michael Caulfield
  • Patent number: 10095518
    Abstract: Instruction queue circuitry maintains an instruction queue to store fetched instructions. Instruction decode circuitry decodes instructions dispatched from the queue. The instruction decode circuitry allocates processor resource(s) for use in execution of the decoded instruction. Detection circuitry detect, for an instruction to be dispatched from a given instruction queue, a prediction indicating whether sufficient processor resources are predicted to be available for allocation to that instruction by the instruction decode circuitry. Dispatch circuitry dispatches an instruction from the queue to the instruction decode circuitry and allows deletion of the dispatched instruction from that instruction queue when the prediction indicates that sufficient processor resources are predicted to be available for allocation to that instruction by the instruction decode circuitry.
    Type: Grant
    Filed: November 16, 2015
    Date of Patent: October 9, 2018
    Assignee: ARM Limited
    Inventors: Andrew James Antony Lees, Ian Michael Caulfield, Peter Richard Greenhalgh
  • Publication number: 20180285076
    Abstract: An apparatus and method are provided for estimating a shift amount when employing processing circuitry to perform a subtraction operation to subtract a second significand value of a second floating-point operand from a first significand value of a first floating-point operand in order to generate a difference value. Shift estimation circuitry then determines an estimated shift amount to be applied to the difference value. The shift estimation circuitry comprises significand analysis circuitry to generate, from analysis of the significand values of the two floating-point operands, a first bit string identifying a most significant bit position within the difference value that is predicted to have its bit set to a determined value. In parallel, shift limiting circuitry generates from an exponent value a second bit string identifying a shift limit bit position.
    Type: Application
    Filed: March 30, 2017
    Publication date: October 4, 2018
    Inventors: David Raymond LUTZ, Ian Michael CAULFIELD
  • Publication number: 20180267805
    Abstract: A processing pipeline for processing instructions with instructions from multiple threads in flight concurrently may have control circuitry to detect a stalling event associated with a given thread. In response, at least one instruction of the given thread may be flushed from the pipeline, and the control circuitry may trigger fetch circuitry to reduce a fraction of the fetched instructions which are fetched from the given thread. A mechanism is also described to determine when to trigger a predetermined action when a delay in accessing information becomes greater than a delay threshold, and to update the delay threshold based on a difference between a return delay when the information is returned from the storage circuitry and the delay threshold.
    Type: Application
    Filed: May 23, 2018
    Publication date: September 20, 2018
    Inventors: Ian Michael CAULFIELD, Max John BATLEY, Chiloda Ashan Senarath PATHIRANE
  • Publication number: 20180205785
    Abstract: A server system is provided that includes a plurality of servers, each server including at least one hardware acceleration device and at least one processor communicatively coupled to the hardware acceleration device by an internal data bus and executing a host server instance, the host server instances of the plurality of servers collectively providing a software plane, and the hardware acceleration devices of the plurality of servers collectively providing a hardware acceleration plane that implements a plurality of hardware accelerated services, wherein each hardware acceleration device maintains in memory a data structure that contains load data indicating a load of each of a plurality of target hardware acceleration devices, and wherein a requesting hardware acceleration device routes the request to a target hardware acceleration device that is indicated by the load data in the data structure to have a lower load than other of the target hardware acceleration devices.
    Type: Application
    Filed: January 17, 2017
    Publication date: July 19, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Adrian Michael Caulfield, Eric S. Chung, Michael Konstantinos Papamichael, Douglas C. Burger, Shlomi Alkalay
  • Publication number: 20180173535
    Abstract: An apparatus comprises prediction circuitry (40, 100, 80) for determining, based on current prediction policy information (43, 82, 104), a predicted behaviour to be used for processing instructions. The current prediction policy information is updated based on an outcome of processing of instructions. A storage structure (50) stores at least one entry identifying previous prediction policy information (60) for a corresponding block of instructions. In response to an instruction from a block having a corresponding entry in the storage structure (50) which identifies the previous prediction policy information (60), the current prediction policy information (43, 82, 104) can be reset based on the previous prediction policy information 60 identified in the corresponding entry of the storage structure (50).
    Type: Application
    Filed: March 31, 2016
    Publication date: June 21, 2018
    Inventors: Max John BATLEY, Simon John CRASKE, Ian Michael CAULFIELD, Peter Richard GREENHALGH, Allan John SKILLMAN, Antony John PENTON
  • Publication number: 20180150297
    Abstract: An apparatus (2) has a processing pipeline (4) supporting at least a first processing mode and a second processing mode with different energy consumption or performance characteristics. A storage structure (22, 30, 36, 50, 40, 64, 44) is accessible in both the first and second processing modes. When the second processing mode is selected, control circuitry (70) triggers a subset (102) of the entries of the storage structure to be placed in a power saving state.
    Type: Application
    Filed: March 31, 2016
    Publication date: May 31, 2018
    Inventors: Max John BATLEY, Simon John CRASKE, Ian Michael CAULFIELD, Peter Richard GREENHALGH, Allan John SKILLMAN, Antony John PENTON
  • Patent number: 9977679
    Abstract: An apparatus and method are provided for processing instructions from a plurality of threads. The apparatus comprises a processing pipeline to process instructions, including fetch circuitry to fetch instructions from a plurality of threads for processing by the processing pipeline, and execution circuitry to execute the fetched instructions. Execution hint instruction handling circuitry is then responsive to the fetch circuitry fetching an execution hint instruction for a first thread, to treat the execution hint instruction, at least in a presence of a suspension condition, as a predicted branch instruction with a predicted behavior, and to cause the fetch circuitry to suspend fetching of instructions for the first thread. The execution circuitry is then arranged to execute the predicted branch instruction with a behavior different to the predicted behavior, in order to trigger a misprediction condition.
    Type: Grant
    Filed: November 9, 2015
    Date of Patent: May 22, 2018
    Assignee: ARM Limited
    Inventors: Ian Michael Caulfield, Antony John Penton, Robert Gwilym Dimond
  • Patent number: 9952871
    Abstract: An apparatus comprises a processing pipeline comprising out-of-order execution circuitry and second execution circuitry. Control circuitry monitors at least one reordering metric indicative of an extent to which instructions are executed out of order by the out-of-order execution circuitry, and controls whether instructions are executed using the out-of-order execution circuitry or the second execution circuitry based on the reordering metric. A speculation metric indicative of a fraction of executed instructions that are flushed due to a mis-speculation can also be used to determine whether to execute instructions on first or second execution circuitry having different performance or energy consumption characteristics.
    Type: Grant
    Filed: June 5, 2015
    Date of Patent: April 24, 2018
    Assignee: ARM Limited
    Inventors: Ian Michael Caulfield, Peter Richard Greenhalgh, Simon John Craske, Max John Batley, Allan John Skillman, Antony John Penton
  • Publication number: 20170249085
    Abstract: Data storage apparatus comprises detection circuitry configured to detect a match between a multi-bit reference memory address and a test address, the test address being a combination of a multi-bit base address and a multi-bit address offset, the detection circuitry comprising: a comparator configured to compare, as a first comparison, a first subset of bits of the reference memory address with a combination of the corresponding first subset of bits of the base address and the corresponding first subset of bits of the address offset; the comparator being configured to compare, as a second comparison, a second, different subset of bits of the reference memory address with the corresponding second subset of bits of the base address; a detector configured to detect the match between the reference memory address and the test address when both of the first comparison and the second comparison detect a respective match; and control circuitry configured to control operation of the data storage apparatus in dependen
    Type: Application
    Filed: February 23, 2017
    Publication date: August 31, 2017
    Inventors: Cédric Denis Robert AIRAUD, Max John BATLEY, Ian Michael CAULFIELD, Thomas Edward ROBERTS
  • Patent number: 9738688
    Abstract: The present application relates to novel HIV-1 envelope glycoproteins, which may be utilized as HIV-1 vaccine immunogens, and antigens for crystallization, electron microscopy and other biophysical, biochemical and immunological studies for the identification of broad neutralizing antibodies. The present invention encompasses the preparation and purification of immunogenic compositions, which are formulated into the vaccines of the present invention.
    Type: Grant
    Filed: November 5, 2013
    Date of Patent: August 22, 2017
    Assignees: INTERNATIONAL AIDS VACCINE INITIATIVE, THE SCRIPPS RESEARCH INSTITUTE, CORNELL UNIVERSITY
    Inventors: Michael Caulfield, Albert Cupo, Hansi Dean, Simon Hoffenberg, C. Richter King, P. J. Klasse, Andre Marozsan, John P. Moore, Rogier W. Sanders, Andrew Ward, Ian Wilson, Jean-Philippe Julien
  • Publication number: 20170185542
    Abstract: Arbitration circuitry is provided for arbitrating between requests awaiting servicing. The requests require variable numbers of resources and the arbitration circuitry permits the request to be serviced in a different order to the order in which they were received. Checking circuitry prevents a given request other than a oldest request from being serviced when a number of available resources is less than a threshold number of resources. The threshold number is varied based on the number of resources required for at least one other request awaiting servicing.
    Type: Application
    Filed: December 24, 2015
    Publication date: June 29, 2017
    Inventors: Max John Batley, Ian Michael Caulfield, Chris Abernathy