Patents by Inventor David May

David May 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: 20100247946
    Abstract: Methods and associated apparatus for semi-continuous casting of hollow ingots are described. In one embodiment a method for the semi-continuous casting of a metallic hollow ingot is provided. The method includes providing a mold comprising a mold center having an inner pipe and an outer pipe arranged to form an annular space for a cooling media and an outer mold, circulating a cooling media in the annular space, feeding a source material to the mold, heating the source material to produce a molten material, moving the mold center progressively downward relative to the outer mold, and solidifying the molten material to form a hollow ingot. Embodiments relating to an apparatus for semi-continuous casting of hollow ingots, and products resulting from the semi-continuous casting of hollow ingots are also described.
    Type: Application
    Filed: March 24, 2010
    Publication date: September 30, 2010
    Applicant: TITANIUM METALS CORPORATION
    Inventors: Alan BLACKBURN, Richard ROTH, Andrew PURSE, David MAY
  • Publication number: 20100162546
    Abstract: An apparatus and method are provided for removing a blade from a dovetailed slot in a wheel of a rotating machine. At least one device is adapted to apply a pushing force on a first surface of a blade. A turntable for supporting the wheel has indexing capability to advance the wheel by a predetermined amount. The device can be used to remove one or more blades from the wheel.
    Type: Application
    Filed: February 9, 2009
    Publication date: July 1, 2010
    Inventors: Paul L. Kalmar, Graham D. Sherlock, Francis E. Nimmons, J. David Mays
  • Patent number: 7676653
    Abstract: The invention provides a decode unit for decoding instructions in a processor. The decode unit comprises opcode decoding logic, operand decoding logic, and a sixteen-bit input. The opcode decoding logic is operable to determine an opcode using five bits of the input and the operand decoding logic is operable to determine three four-bit operand elements from the remaining eleven bits of the input, the three operand elements each having one of twelve possible binary values. The operand decoding logic is operable to decode an encoded group of the eleven bits to determine a first part of each of the three operand elements, and to read verbatim a verbatim group of the eleven bits to determine a second part of each of the three operand elements.
    Type: Grant
    Filed: May 9, 2007
    Date of Patent: March 9, 2010
    Assignee: XMOS Limited
    Inventor: Michael David May
  • Publication number: 20100001405
    Abstract: An integrated circuit and corresponding method of manufacture. The integrated circuit has a die comprising: an outer strengthening ring around a periphery of the die, the outer ring having one or more gaps; and an inner strengthening ring within the outer ring and around interior circuitry of the die, the inner ring having one or more gaps offset from the gaps of the outer ring. One or more conducting members are electrically isolated from said rings and electrically connected to the interior circuitry, each member passing through a gap of the inner ring and through a gap of the outer ring.
    Type: Application
    Filed: July 1, 2008
    Publication date: January 7, 2010
    Applicant: XMOS Ltd.
    Inventors: Ken Williamson, Michael David May, Simon Christopher Dequin Clemow
  • 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: 20090013397
    Abstract: The invention provides a method of transmitting messages over an interconnect between processors, each message comprising a header token specifying a destination processor and at least one of a data token and a control token. The method comprises: executing a first instruction on a first one of the processors to generate a data token comprising a byte of data and at least one additional bit to identify that token as a data token, and outputting the data token from the first processor onto the interconnect as part of one of the messages. The method also comprises executing a second instruction on said first processor to generate a control token comprising a byte of control information and at least one additional bit to identify that token as a control token, and outputting the control token from the first processor onto the interconnect as part of one of the messages.
    Type: Application
    Filed: July 6, 2007
    Publication date: January 8, 2009
    Inventor: Michael David May
  • Publication number: 20090013156
    Abstract: The invention provides a method of transmitting messages over an interconnect between processors, each message comprising a header token specifying a destination processor and at least one of a data token and a control token. The method comprises: executing a first instruction on a first one of the processors to generate a data token comprising a byte of data and at least one additional bit to identify that token as a data token, and outputting the data token from the first processor onto the interconnect as part of one of the messages. The method also comprises executing a second instruction on said first processor to generate a control token comprising a byte of control information and at least one additional bit to identify that token as a control token, and outputting the control token from the first processor onto the interconnect as part of one of the messages.
    Type: Application
    Filed: February 7, 2008
    Publication date: January 8, 2009
    Inventor: Michael David May
  • Publication number: 20090010260
    Abstract: The invention provides a method of transmitting one or more tokens over a link between processors, whereby configurations of logical transitions on the lines are used to signal respective codes. The method comprises: transmitting a token by signalling a sequence of codes selected from said codes on the lines; and transmitting one or more additional codes on the lines to ensure that the total number of logical transitions on each line returns the link to a quiescent state following the signalling of said one or more tokens and additional codes.
    Type: Application
    Filed: February 7, 2008
    Publication date: January 8, 2009
    Inventor: Michael David May
  • Publication number: 20090013331
    Abstract: The invention provides a method of transmitting tokens over a link between processors, the link comprising a one-line and a zero-line wherein a logical transition on the one-line indicates a logic-one and a logical transition on the zero-line indicates a logic zero. The method comprises: transmitting a first portion of a token; and transmitting a second portion of the token to ensure the total number of logic-one bits in the token is even and the total number of logic-zero bits in the token is zero, such that the link returns to a quiescent state at the end of the token.
    Type: Application
    Filed: July 6, 2007
    Publication date: January 8, 2009
    Inventor: Michael David May
  • 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: 20080301409
    Abstract: The invention provides a processor for executing threads, each thread comprising a sequence of instructions, said instructions defining operations and at least some of those instructions defining a memory access operation. The processor comprises: a plurality of instruction buffers, each for holding at least one instruction of a thread associated with that buffer; an instruction issue stage for issuing instructions from the instruction buffers; and a memory access stage connected to a memory and arranged to receive instructions issued by the instruction issue stage. The memory access stage comprises: detecting logic adapted to detect whether a memory access operation is defined in each issued instruction; and instruction fetch logic adapted to instigate an instruction fetch to fetch an instruction of a thread when no memory access operation is detected.
    Type: Application
    Filed: May 30, 2007
    Publication date: December 4, 2008
    Inventor: Michael David MAY
  • Publication number: 20080282066
    Abstract: The invention provides a decode unit for decoding instructions in a processor. The decode unit comprises opcode decoding logic, operand decoding logic, and a sixteen-bit input. The opcode decoding logic is operable to determine an opcode using five bits of the input and the operand decoding logic is operable to determine three four-bit operand elements from the remaining eleven bits of the input, the three operand elements each having one of twelve possible binary values. The operand decoding logic is operable to decode an encoded group of the eleven bits to determine a first part of each of the three operand elements, and to read verbatim a verbatim group of the eleven bits to determine a second part of each of the three operand elements.
    Type: Application
    Filed: May 9, 2007
    Publication date: November 13, 2008
    Inventor: Michael David May
  • 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
  • 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
  • Patent number: 7437514
    Abstract: A cache system is provided which includes a cache memory and a cache refill mechanism which allocates one or more of a set of cache partitions in the cache memory to an item in dependence on the address of the item in main memory. This is achieved in one of the described embodiments by including with the address of an item a set of partition selector bits which allow a partition mask to be generated to identify into which cache partition the item may be loaded.
    Type: Grant
    Filed: July 26, 2007
    Date of Patent: October 14, 2008
    Assignee: STMicroelectronics Limited
    Inventors: Andrew C. Sturges, David May
  • Publication number: 20080229311
    Abstract: The invention provides a processor comprising a first port operable to generate a first indication dependent on a first activity at the first port, and a second port operable to generate a second indication dependent on a second activity at the second port. The processor also comprises an execution unit arranged to execute multiple threads; and a thread scheduler connected to receive the indications and arranged to schedule the multiple threads for execution by the execution unit based on those indications. The scheduling includes suspending the execution of a thread until receipt of the respective ready signal. The first activity and the second activity are each associated with respective corresponding threads.
    Type: Application
    Filed: March 14, 2007
    Publication date: September 18, 2008
    Inventor: Michael David May
  • Publication number: 20080229312
    Abstract: The invention provides a processor comprising an execution unit for executing multiple threads, each thread comprising a sequence of instructions and each thread being designated to handle activity from at least one specified source. The processor also comprises a thread scheduler for scheduling a plurality of threads to be executed by the execution unit, said scheduling being based on the respective activity handled by the threads; and a plurality of sets of registers connected to the execution unit. Each set of registers is arranged to store information representing a respective one of the plurality of threads, at least a part of the information being accessible by the execution unit for use in executing the respective thread when scheduled.
    Type: Application
    Filed: March 14, 2007
    Publication date: September 18, 2008
    Inventor: Michael David May
  • Publication number: 20080229310
    Abstract: The invention provides a processor comprising: an execution unit, and a thread scheduler configured to schedule a plurality of threads for execution by the execution unit in dependence on a respective runnable status for each thread. The execution unit is configured to execute thread scheduling instructions which manage the runnable statuses. The thread scheduling instructions including at least: one or more source event enable instructions each of which sets an event source to a mode in which it generates an event dependent on activity occurring at that source, and a wait instruction which sets one of said runnable statuses to suspended pending one of the events upon which continued execution of the respective thread depends. The continued execution comprises retrieval of a continuation point vector for the respective thread.
    Type: Application
    Filed: March 14, 2007
    Publication date: September 18, 2008
    Applicant: XMOS Limited
    Inventor: Michael David May