Patents by Inventor Peter Hedinger

Peter Hedinger 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: 20230214116
    Abstract: A new type of instruction and a control register for the new type of instruction are provided to handle data that may be misaligned in memory. A first part of data (which may be misaligned in memory) is loaded into a first set of registers by loading a first atom containing the first part of data into registers. The pack instruction is executed by an execution unit to place part of data (whose length and starting position are indicated by second and third values in a control register) from one set of registers into an identified location (identified by a first value in the control register) in another set of registers.
    Type: Application
    Filed: November 9, 2022
    Publication date: July 6, 2023
    Inventors: Alan ALEXANDER, Edward ANDREWS, Peter HEDINGER
  • Patent number: 11256516
    Abstract: A system comprising a data memory, a first processor with first execution pipeline, and a co-processor with second execution pipeline branching from the first pipeline via an inter-processor interface. The first pipeline can decode instructions from an instruction set comprising first and second instruction subsets. The first subset comprises a load instruction which loads data from the memory into a register file, and a compute instruction of a first type which performs a compute operation on such loaded data. The second subset includes a compute instruction of a second type which does not require a separate load instruction to first load data from memory into a register file, but instead reads data from the memory directly and performs a compute operation on that data, this reading being performed in a pipeline stage of the second pipeline that is aligned with the memory access stage of the first pipeline.
    Type: Grant
    Filed: December 17, 2018
    Date of Patent: February 22, 2022
    Assignee: XMOS LTD
    Inventors: Henk Lambertus Muller, Peter Hedinger
  • Publication number: 20210109760
    Abstract: A system comprising a data memory, a first processor with first execution pipeline, and a co-processor with second execution pipeline branching from the first pipeline via an inter-processor interface. The first pipeline can decode instructions from an instruction set comprising first and second instruction subsets. The first subset comprises a load instruction which loads data from the memory into a register file, and a compute instruction of a first type which performs a compute operation on such loaded data. The second subset includes a compute instruction of a second type which does not require a separate load instruction to first load data from memory into a register file, but instead reads data from the memory directly and performs a compute operation on that data, this reading being performed in a pipeline stage of the second pipeline that is aligned with the memory access stage of the first pipeline.
    Type: Application
    Filed: December 17, 2018
    Publication date: April 15, 2021
    Applicant: XMOS LTD
    Inventors: Henk Lambertus MULLER, Peter HEDINGER
  • Patent number: 8966488
    Abstract: The invention provides a processor comprising an execution unit arranged to execute multiple program threads, each thread comprising a sequence of instructions, and a plurality of synchronisers for synchronising threads. Each synchroniser is operable, in response to execution by the execution unit of one or more synchroniser association instructions, to associate with a group of at least two threads. Each synchroniser is also operable, when thus associated, to synchronise the threads of the group by pausing execution of a thread in the group pending a synchronisation point in another thread of that group.
    Type: Grant
    Filed: July 6, 2007
    Date of Patent: February 24, 2015
    Assignee: XMOS Ltd.
    Inventors: Michael David May, Peter Hedinger, Alastair Dixon
  • Patent number: 8347312
    Abstract: The invention relates to a device comprising a processor, the processor comprising: an execution unit for executing multiple threads, each thread comprising a sequence of instructions; and a plurality of sets of thread registers, each set arranged to store information relating to a respective one of the plurality of threads. The processor also comprises circuitry for establishing channels between thread register sets, the circuitry comprising a plurality of channel terminals and being operable to establish a channel between one of the thread register sets and another thread register set via one of the channel terminals and another channel terminal. Each channel terminal comprises at least one buffer operable to buffer data transferred over a thus established channel and a channel terminal identifier register operable to store an identifier of the other channel terminal via which that channel is established.
    Type: Grant
    Filed: July 6, 2007
    Date of Patent: January 1, 2013
    Assignee: XMOS Limited
    Inventors: Michael David May, Peter Hedinger, Alastair Dixon
  • Patent number: 7617386
    Abstract: A processor has an interface portion and an interior environment. The interface portion comprises: at least one port arranged to receive a current time value; a first register associated with the port and arranged to store a trigger time value; and comparison logic configured to detect whether the current time value matches the trigger time value and, provided that said match is detected, to transfer data between the port and an external environment and alter a ready signal to indicate the transfer. The internal environment comprises: an execution unit for transferring data between the at least one port and the internal environment; and a thread scheduler for scheduling a plurality of threads for execution by the execution unit, each thread comprising a sequence of instructions. The scheduling includes scheduling one or more of said threads for execution in dependence on the ready signal.
    Type: Grant
    Filed: April 17, 2007
    Date of Patent: November 10, 2009
    Assignee: XMOS Limited
    Inventors: Michael David May, Peter Hedinger, Alastair Dixon
  • Patent number: 7613909
    Abstract: A processor has an interface portion and an internal environment. The interface portion comprises at least one port. The internal environment comprises an execution unit arranged to execute instructions in dependence on a first timing signal and to transfer data between the interior portion and the at least one port in dependence on the first timing signal; and a thread scheduler for scheduling a plurality of threads for execution by the execution unit, each thread comprising a sequence of instructions and the thread scheduler being arranged to schedule the threads in dependence on the first timing signal. The port is arranged to transfer data between the port and an external environment in dependence on a second timing signal, and to alter a ready signal in dependence on the second timing signal to indicate a transfer of data with the external environment. The thread scheduler is configured to schedule one or more associated threads for execution in dependence on the ready signal.
    Type: Grant
    Filed: April 17, 2007
    Date of Patent: November 3, 2009
    Assignee: XMOS Limited
    Inventors: Michael David May, Peter Hedinger, Alastair Dixon
  • Publication number: 20090013329
    Abstract: The invention relates to a device comprising a processor, the processor comprising: an execution unit for executing multiple threads, each thread comprising a sequence of instructions; and a plurality of sets of thread registers, each set arranged to store information relating to a respective one of the plurality of threads. The processor also comprises circuitry for establishing channels between thread register sets, the circuitry comprising a plurality of channel terminals and being operable to establish a channel between one of the thread register sets and another thread register set via one of the channel terminals and another channel terminal. Each channel terminal comprises at least one buffer operable to buffer data transferred over a thus established channel and a channel terminal identifier register operable to store an identifier of the other channel terminal via which that channel is established.
    Type: Application
    Filed: July 6, 2007
    Publication date: January 8, 2009
    Inventors: Michael David May, Peter Hedinger, Alastair Dixon
  • Publication number: 20090013323
    Abstract: The invention provides a processor comprising an execution unit arranged to execute multiple program threads, each thread comprising a sequence of instructions, and a plurality of synchronisers for synchronising threads. Each synchroniser is operable, in response to execution by the execution unit of one or more synchroniser association instructions, to associate with a group of at least two threads. Each synchroniser is also operable, when thus associated, to synchronise the threads of the group by pausing execution of a thread in the group pending a synchronisation point in another thread of that group.
    Type: Application
    Filed: July 6, 2007
    Publication date: January 8, 2009
    Inventors: Michael David May, Peter Hedinger, Alastair Dixon
  • Publication number: 20080263330
    Abstract: A processor has an interface portion and an internal environment. The interface portion comprises at least one port. The internal environment comprises an execution unit arranged to execute instructions in dependence on a first timing signal and to transfer data between the interior portion and the at least one port in dependence on the first timing signal; and a thread scheduler for scheduling a plurality of threads for execution by the execution unit, each thread comprising a sequence of instructions and the thread scheduler being arranged to schedule the threads in dependence on the first timing signal. The port is arranged to transfer data between the port and an external environment in dependence on a second timing signal, and to alter a ready signal in dependence on the second timing signal to indicate a transfer of data with the external environment. The thread scheduler is configured to schedule one or more associated threads for execution in dependence on the ready signal.
    Type: Application
    Filed: April 17, 2007
    Publication date: October 23, 2008
    Inventors: Michael David May, Peter Hedinger, Alastair Dixon
  • Publication number: 20080263318
    Abstract: A processor has an interface portion and an interior environment. The interface portion comprises: at least one port arranged to receive a current time value; a first register associated with the port and arranged to store a trigger time value; and comparison logic configured to detect whether the current time value matches the trigger time value and, provided that said match is detected, to transfer data between the port and an external environment and alter a ready signal to indicate the transfer. The internal environment comprises: an execution unit for transferring data between the at least one port and the internal environment; and a thread scheduler for scheduling a plurality of threads for execution by the execution unit, each thread comprising a sequence of instructions. The scheduling includes scheduling one or more of said threads for execution in dependence on the ready signal.
    Type: Application
    Filed: April 17, 2007
    Publication date: October 23, 2008
    Inventors: Michael David May, Peter Hedinger, Alastair Dixon
  • Patent number: 7216342
    Abstract: A method of linking a plurality of object files to generate an executable program, the method comprises identifying in the object files at least one routine to be locked into a cache when the program is executed, locating said routine at a set of memory addresses which man onto a set of cache locations and introducing into the executable program gaps at other sets of memory addresses which map onto the same set of cache locations.
    Type: Grant
    Filed: March 14, 2002
    Date of Patent: May 8, 2007
    Assignee: STMicroelectronics Limited
    Inventors: Trefor Southwell, Peter Hedinger
  • Patent number: 7062634
    Abstract: A processor is described in which the need to encode no-operation instructions (nops) in the program is minimised by providing a device for generating nops in response to information encoded in operative instructions.
    Type: Grant
    Filed: January 29, 2002
    Date of Patent: June 13, 2006
    Assignee: STMicroelectronics Limited
    Inventors: Trefor Southwell, Peter Hedinger
  • Publication number: 20050278510
    Abstract: A system comprising execution circuitry for executing instructions and a register file comprising at least one port, the circuitry operating to allow said execution circuitry to share a common port of said register file.
    Type: Application
    Filed: May 12, 2005
    Publication date: December 15, 2005
    Applicant: STMICROELECTRONICS LIMITED
    Inventors: Kristen Jacobs, Peter Hedinger
  • Patent number: 6959363
    Abstract: A cache memory comprises a fetch engine arranged to issue fetch requests for accessing data items from locations in a main memory identified by access addresses in a program being executed, a pre-fetch engine controlled to issue pre-fetch requests for speculatively accessing pre-fetch data items from locations in said main memory identified by addresses which are determined as being a number of locations from respective ones of said access addresses, and a calibrator arranged to selectively vary said number of locations.
    Type: Grant
    Filed: October 22, 2002
    Date of Patent: October 25, 2005
    Assignee: STMicroelectronics Limited
    Inventors: Trefor Southwell, Peter Hedinger
  • Patent number: 6883067
    Abstract: A memory map evaluation tool is provided that organizes a program in a manner most compatible with use of a cache. The tool includes a method that involves executing a first version of the program according to a first memory map to generate a program counter trace, converting the program counter trace into a specific format and then translating the program counter trace into physical addresses using a memory map to be evaluated, different from the first memory map. Those physical addresses are then used to evaluate the number of likely cache misses using a model of a direct-mapped cache for the memory map under evaluation.
    Type: Grant
    Filed: February 8, 2002
    Date of Patent: April 19, 2005
    Assignee: STMicroelectronics Limited
    Inventors: Trefor Southwell, Peter Hedinger, Kristen Jacobs
  • Publication number: 20040030839
    Abstract: A cache memory comprises a fetch engine arranged to issue fetch requests for accessing data items from locations in a main memory identified by access addresses in a program being executed, a pre-fetch engine controlled to issue pre-fetch requests for speculatively accessing pre-fetch data items from locations in said main memory identified by addresses which are determined as being a number of locations from respective ones of said access addresses, and a calibrator arranged to selectively vary said number of locations.
    Type: Application
    Filed: October 22, 2002
    Publication date: February 12, 2004
    Applicant: STMicroelectronics Limited
    Inventors: Trefor Southwell, Peter Hedinger
  • Publication number: 20030177483
    Abstract: A method of linking a plurality of object files to generate an executable program, the method comprises identifying in the object files at least one routine to be locked into a cache when the program is executed, locating said routine at a set of memory addresses which man onto a set of cache locations and introducing into the executable program gaps at other sets of memory addresses which map onto the same set of cache locations.
    Type: Application
    Filed: March 14, 2002
    Publication date: September 18, 2003
    Applicant: STMicroelectronics Limited
    Inventors: Trefor Southwell, Peter Hedinger
  • Publication number: 20030154342
    Abstract: A memory map evaluation tool is provided which allows a program to be organised in a manner most compatible with use of a cache. This is done by executing a first version of the program according to a first memory map to generate a program counter trace, converting the program counter trace into a specific format and then translating the program counter trace into physical addresses using a memory map to be evaluated, different from the first memory map. Those physical addresses are then used to evaluate the number of likely cache misses using a model of a direct-mapped cache for the memory map under evaluation.
    Type: Application
    Filed: February 8, 2002
    Publication date: August 14, 2003
    Applicant: STMicroelectronics Limited
    Inventors: Trefor Southwell, Peter Hedinger, Kristen Jacobs