Patents by Inventor Alastair David Reid

Alastair David Reid 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: 20150100754
    Abstract: A data processing apparatus and method for performing speculative vector access operations are provided. The data processing apparatus has a reconfigurable buffer accessible to vector data access circuitry and comprising a storage array for storing up to M vectors of N vectors elements. The vector data access circuitry performs speculative data write operations in order to cause vector elements from selected vector operands in a vector register bank to be stored into the reconfigurable buffer. On occurrence of a commit condition, the vector elements currently stored in the reconfigurable buffer are then written to a data store. Speculation control circuitry maintains a speculation width indication indicating the number of vector elements of each selected vector operand stored in the reconfigurable buffer.
    Type: Application
    Filed: August 18, 2014
    Publication date: April 9, 2015
    Inventors: Alastair David REID, Daniel KERSHAW
  • Patent number: 8887001
    Abstract: An integrated circuit 2 is provided with a data source 6 in the form of a processor executing program instructions connected via a bus interconnect 16 to a trace output device 8. The trace output device 8 is memory mapped. Different memory addresses that are mapped to the trace output device 8 are associated with different priority levels. Trace data written to at least one memory address has a first level of priority in which it is either accepted or the transfer is stalled until the data can be processed by the trace output device 8. Another level of priority associated with a different memory address is such that the data is always accepted but is discarded if the trace output device 8 does not have the ability to process, e.g. store that data at that time.
    Type: Grant
    Filed: February 14, 2011
    Date of Patent: November 11, 2014
    Assignee: ARM Limited
    Inventors: John Michael Horley, Michael John Williams, Katherine Elizabeth Kneebone, Alastair David Reid
  • Publication number: 20140019728
    Abstract: A data processing apparatus includes a register bank having a plurality of registers for storing vectors being processed; a pipelined processor for processing the stream of vector instructions; the pipelined processor comprising circuitry configured to detect data dependencies for the vectors processed by the stream of vector instructions and stored in the plurality of registers and to determine constraints on timing of execution for the vector instructions such that no register data hazards arise. Register data hazards arise where two accesses to a same register, at least one of said accesses being a write, occur in an order different to an order of said instruction stream such that an access occurring later in said instruction stream starts before an access occurring earlier in said instruction stream has completed. The pipelined processor includes data element hazard determination circuitry.
    Type: Application
    Filed: July 11, 2012
    Publication date: January 16, 2014
    Inventor: Alastair David REID
  • Publication number: 20130166516
    Abstract: A data processing apparatus includes a comparison unit configured to perform an element comparison process performing a comparison of a first data element at a first index in the first vector with a second data element at a second index in the second vector. A hazard vector generation unit is configured to populate a hazard vector at an index determined by the first index with a value determined by the second index. The comparison unit performs the element comparison process by iteratively comparing data elements of the first vector with each element of a subset of the second vector. It then determines the subset of the second vector as those data elements at indices in the second vector which are less than a current index of the first vector and which are greater than previously determined values of the second index for which the match condition was true.
    Type: Application
    Filed: December 23, 2011
    Publication date: June 27, 2013
    Applicant: ARM Limited
    Inventor: Alastair David REID
  • Publication number: 20130080737
    Abstract: A vector data access unit includes data access ordering circuitry, for issuing data access requests indicated by the elements to the data store, and configured in response to receipt of at least two decoded vector data access instructions, and one of the instructions being a write instruction. Data accesses are performed in the instructed order to determine an element indicating the next data access for each of said vector data access instructions. One of the next data accesses is selected to be issued to the data store in dependence upon an order in which the at least two vector data instructions were received. The position of the elements indicates the next data accesses relative to each other within their respective plurality of elements. A numerical position of the element indicating the next data access within the plurality of elements of an earlier instruction is less than a predetermined value.
    Type: Application
    Filed: September 28, 2011
    Publication date: March 28, 2013
    Applicant: ARM Limited
    Inventor: Alastair David Reid
  • Patent number: 8359588
    Abstract: A method of reducing inter-task latency for software comprising a sequence of instructions including a synchronous remote procedure call to be executed on a multiprocessor system comprising a calling processor and at least one remote engine. The method comprises the steps of: inputting the software; inputting a runtime resource description describing a runtime environment of the multiprocessor system; identifying the synchronous remote procedure call in the sequence of instructions; replacing the synchronous remote procedure call in the sequence of instructions with an initiation instruction and a wait instruction to generate a substitute sequence of instructions; reordering the substitute sequence of instructions with reference to the runtime resource description and the dependencies to generate a reordered sequence of instructions; and outputting the reordered sequence of instructions.
    Type: Grant
    Filed: November 25, 2009
    Date of Patent: January 22, 2013
    Assignee: Arm Limited
    Inventor: Alastair David Reid
  • Publication number: 20120260061
    Abstract: A data processing apparatus having processing circuitry, a scalar register bank and a vector register bank, including decoding circuitry arranged to decode a sequence of instructions to generate control signals for the processing circuitry. The decoding circuitry is responsive to a decode modifier instruction within the sequence of instructions to alter decoding of a subsequent scalar instruction in the sequence by mapping at least one scalar operand specified by the subsequent scalar instruction to at least one vector operand in the vector register bank, and, in dependence on the scalar operation specified by the subsequent scalar instruction, determining a vector operation to be performed on at least a subset of the operand elements within the at least the one vector operand. Such an approach enables a wide variety of vector operations to be specified without the need to individually define separate vector instructions for those vector operations.
    Type: Application
    Filed: April 4, 2012
    Publication date: October 11, 2012
    Applicant: ARM LIMITED
    Inventor: Alastair David Reid
  • Patent number: 8250549
    Abstract: A computer implemented tool is provided for assisting in the mapping of a computer program to a data processing apparatus wherein multiple physical instances of a logical variable in the computer program are required. A computer program is provided as the input to the tool which analyses the data flow of the program and identifies multiple physical instance requirement for logical variables. The tool adds mapping support commands, such as instantiation commands, Direct Memory Access (DMA) move commands and the like as necessary to support the mapping of the computer program to a data processing apparatus.
    Type: Grant
    Filed: October 23, 2007
    Date of Patent: August 21, 2012
    Assignee: ARM Limited
    Inventors: Alastair David Reid, Edmund Grimley-Evans, Simon Andrew Ford
  • Publication number: 20120204007
    Abstract: A data processing apparatus is disclosed, having: an instruction decoder configured to decode a stream of instructions, a data processor configured to process the decoded stream of instructions; wherein in response to a plurality of adjacent instructions within the stream of instructions execution of which is dependent upon a data condition being met and whose execution when said data condition is not met does not change a state of said processing apparatus, the processor is configured to: commence determining whether the data condition is met or not; and commence processing said plurality of adjacent instructions; and in response to determining that said data condition is not met; skip to a next instruction to be executed after said plurality of adjacent instructions without executing any intermediate ones of said plurality of adjacent instructions not yet executed and continue execution at the next instruction.
    Type: Application
    Filed: February 7, 2011
    Publication date: August 9, 2012
    Applicant: ARM LIMITED
    Inventor: Alastair David Reid
  • Patent number: 8190807
    Abstract: A computer implemented tool is provided for assisting in the mapping of a computer program to an asymmetric multiprocessing apparatus 2 incorporating an asymmetric memory hierarchy formed of a plurality of memories 12, 14. An at least partial architectural description 22, 40 is provided as an input variable to the tool and used to infer missing annotations within a source computer program 24, such as which functions are to be executed by which execution mechanisms 4, 6, 8 and which variables are to be stored within which memories 12, 14. The tool also adds mapping support commands, such as cache flush commands, cache invalidate commands, DMA move commands and the like as necessary to support the mapping of the computer program to the asymmetric multiprocessing apparatus 2.
    Type: Grant
    Filed: October 23, 2007
    Date of Patent: May 29, 2012
    Assignee: ARM Limited
    Inventors: Alastair David Reid, Edmund Grimley-Evans, Simon Andrew Ford
  • Patent number: 8020039
    Abstract: A data processing system is provided in which processing circuitry performs at least one of a series of data processing operations in dependence upon a set of data values and control circuitry controls execution of the data processing operations. Control path error detection circuitry is provided for detecting a control path error associated with an error in operation of the control circuitry and data path error handling circuitry is arranged to handle recovery from errors in the data values. The control path error detection circuitry is configured to cause the data path error handling circuitry to perform recovery from detected control path errors enabling the series of data processing operations to continue despite the occurrence of the control path error. An associated method and computer program product are also provided.
    Type: Grant
    Filed: December 1, 2008
    Date of Patent: September 13, 2011
    Assignee: ARM Limited
    Inventors: Alastair David Reid, Daryl Wayne Bradley
  • Publication number: 20110202801
    Abstract: An integrated circuit 2 is provided with a data source 6 in the form of a processor executing program instructions connected via a bus interconnect 16 to a trace output device 8. The trace output device 8 is memory mapped. Different memory addresses that are mapped to the trace output device 8 are associated with different priority levels. Trace data written to at least one memory address has a first level of priority in which it is either accepted or the transfer is stalled until the data can be processed by the trace output device 8. Another level of priority associated with a different memory address is such that the data is always accepted but is discarded if the trace output device 8 does not have the ability to process, e.g. store that data at that time.
    Type: Application
    Filed: February 14, 2011
    Publication date: August 18, 2011
    Applicant: ARM LIMITED
    Inventors: John Michael Horley, Michael John Williams, Katherine Elizabeth Kneebone, Alastair David Reid
  • Publication number: 20110125986
    Abstract: A method of reducing inter-task latency for software comprising a sequence of instructions including a synchronous remote procedure call to be executed on a multiprocessor system comprising a calling processor and at least one remote engine. The method comprises the steps of: inputting the software; inputting a runtime resource description describing a runtime environment of the multiprocessor system; identifying the synchronous remote procedure call in the sequence of instructions; replacing the synchronous remote procedure call in the sequence of instructions with an initiation instruction and a wait instruction to generate a substitute sequence of instructions; reordering the substitute sequence of instructions with reference to the runtime resource description and the dependencies to generate a reordered sequence of instructions; and outputting the reordered sequence of instructions.
    Type: Application
    Filed: November 25, 2009
    Publication date: May 26, 2011
    Applicant: ARM Limited
    Inventor: Alastair David Reid
  • Patent number: 7809989
    Abstract: An asymmetric multiprocessor apparatus 2 is provided in which respective slave diagnostic units 20, 22, 24 are associated with corresponding execution mechanisms 6, 8, 10. A master diagnostic unit 26 tracks the migration of thread execution between the different execution mechanisms 6, 8, 10 so that the execution of a given thread can be followed by the diagnostic mechanisms 20, 22, 24, 26 and this information provided to the programmer. The execution mechanisms 6, 8, 10 can be diverse such as a general purpose processor 6, a DMA unit 12, a coprocessor, an VLIW processor, a digital signal processor 8 and a hardware accelerator 10. The asymmetric multiprocessor apparatus 2 will also typically include an asymmetric memory hierarchy such as including two or more of a global memory, a shared memory 16, a private memory 18 and a cache memory 14.
    Type: Grant
    Filed: October 18, 2007
    Date of Patent: October 5, 2010
    Assignee: ARM Limited
    Inventors: Simon Andrew Ford, Alastair David Reid, Katherine Elizabeth Kneebone, Edmund Grimley-Evans
  • Patent number: 7805595
    Abstract: A data processing apparatus has processing circuitry for performing processing operations including high priority operations and low priority operations, events occurring during performance of those processing operations. Prediction circuitry includes a history storage having a plurality of counter entries for storing count values, and index circuitry for identifying, dependent on the received event, at least one counter entry and for causing the history storage to output the count value stored in that at least one counter entry, with the prediction data being derived from the output count value. Update control circuitry modifies at least one count value stored in the history storage in response to update data generated by the processing circuitry. The update control circuitry has a priority dependent modification mechanism such that the modification is dependent on the priority of the processing operation with which that update data is associated.
    Type: Grant
    Filed: April 20, 2007
    Date of Patent: September 28, 2010
    Assignee: ARM Limited
    Inventors: Emre Özer, Alastair David Reid, Stuart David Biles
  • Publication number: 20100083237
    Abstract: A method of compiling a computer program to improve trace efficiency is disclosed. The computer program comprises a plurality of trace operations for triggering output of trace data generated by said computer program, and the method of compiling comprises the steps of: transforming said computer program into code forming an intermediate version of said computer program; analysing said transformed code; replacing at least some of said trace operations with modified trace operations; transforming said code into code suitable for execution on a data processing system; and generating translation data relating said modified trace operations to said trace operations they replaced.
    Type: Application
    Filed: September 26, 2008
    Publication date: April 1, 2010
    Applicant: ARM Limited
    Inventors: Katherine Elizabeth Kneebone, Alastair David Reid, Edmund Grimley-Evans
  • Publication number: 20100077143
    Abstract: A data processing apparatus is disclosed that comprises monitoring circuitry for monitoring accesses to a plurality of addressable locations within said data processing apparatus that occur between start and end events said monitoring circuitry comprising: an address location store for storing data identifying said plurality of addressable locations to be monitored and a monitoring data store; said monitoring circuitry being responsive to detection of said start event to detect accesses to said plurality of addressable locations and to store monitoring data relating to a summary of said detected accesses in said monitoring data store; and said monitoring circuitry being responsive to detection of said end event to stop collecting said monitoring data; said monitoring circuit being responsive to detection of a flush event to output said stored monitoring data and to flush said monitoring data store.
    Type: Application
    Filed: July 7, 2009
    Publication date: March 25, 2010
    Applicant: ARM Limited
    Inventors: Alastair David Reid, Katherine Elizabeth Kneebone, Jan Guffens, Lee Douglas Smith
  • Patent number: 7574314
    Abstract: A circuit for a data processing apparatus and a method for detecting spurious signals is disclosed, the circuit comprising a data input operable to receive digital signal values, spurious signal detection logic operable to monitor a digital signal value within the circuit, and to determine at least one of: a safe time window during which it is expected that the digital signal values input into the circuit may cause data transitions in the monitored digital signal value and a transition time window in which it is expected a data transition will occur; and in response to detecting either a data transition in the monitored digital signal value outside of the at least one safe time window or no data transition in the transition window, the spurious signal detection logic is operable to output a detection signal.
    Type: Grant
    Filed: September 17, 2007
    Date of Patent: August 11, 2009
    Assignee: ARM Limited
    Inventors: Simon Andrew Ford, David Michael Bull, Alastair David Reid
  • Publication number: 20090150722
    Abstract: A data processing system is provided in which processing circuitry performs at least one of a series of data processing operations in dependence upon a set of data values and control circuitry controls execution of the data processing operations. Control path error detection circuitry is provided for detecting a control path error associated with an error in operation of the control circuitry and data path error handling circuitry is arranged to handle recovery from errors in the data values. The control path error detection circuitry is configured to cause the data path error handling circuitry to perform recovery from detected control path errors enabling the series of data processing operations to continue despite the occurrence of the control path error. An associated method and computer program product are also provided.
    Type: Application
    Filed: December 1, 2008
    Publication date: June 11, 2009
    Inventors: Alastair David Reid, Daryl Wayne Bradley
  • Publication number: 20080263341
    Abstract: A data processing apparatus and method are provided for generating prediction data. The data processing apparatus has processing circuitry for performing processing operations including high priority operations and low priority operations, events occurring during performance of those processing operations. Prediction circuitry is responsive to a received event to generate prediction data used by the processing circuitry. The prediction circuitry includes a history storage having a plurality of counter entries for storing count values, and index circuitry for identifying, dependent on the received event, at least one counter entry and for causing the history storage to output the count value stored in that at least one counter entry, with the prediction data being derived from the output count value. Further update control circuitry is provided for modifying at least one count value stored in the history storage in response to update data generated by the processing circuitry.
    Type: Application
    Filed: April 20, 2007
    Publication date: October 23, 2008
    Applicant: ARM LIMITED
    Inventors: Emre Ozer, Alastair David Reid, Stuart David Biles