Patents by Inventor Michael David May
Michael 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).
-
Patent number: 9594720Abstract: A processing apparatus comprising: a bus; a first processor connected to the bus and configured to communicate over the bus according to a bus protocol; a second, multithread processor; and an inter-thread interconnect based on a system of channels. The apparatus also comprises an interface between the bus and the inter-thread interconnect, comprising a bus side implementing the bus protocol and an interconnect side for interfacing with the system of channels. The first processor is thereby operable to communicate with a designated one of said threads via the bus and a respective channel of the inter-thread interconnect.Type: GrantFiled: October 21, 2013Date of Patent: March 14, 2017Assignee: Xmos LimitedInventors: Andrew Stanford-Jason, Michael David May, Nigel Jürgen Toon, Daniel John Pelham Wilkinson
-
Patent number: 9367321Abstract: 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: GrantFiled: March 14, 2007Date of Patent: June 14, 2016Assignee: XMOS LIMITEDInventor: Michael David May
-
Publication number: 20150113184Abstract: A processing apparatus comprising: a bus; a first processor connected to the bus and configured to communicate over the bus according to a bus protocol; a second, multithread processor; and an inter-thread interconnect based on a system of channels. The apparatus also comprises an interface between the bus and the inter-thread interconnect, comprising a bus side implementing the bus protocol and an interconnect side for interfacing with the system of channels. The first processor is thereby operable to communicate with a designated one of said threads via the bus and a respective channel of the inter-thread interconnect.Type: ApplicationFiled: October 21, 2013Publication date: April 23, 2015Applicant: XMOS LimitedInventors: Andrew STANFORD-JASON, Michael David MAY, Nigel Jürgen TOON, Daniel John Pelham WILKINSON
-
Patent number: 8966488Abstract: 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: GrantFiled: July 6, 2007Date of Patent: February 24, 2015Assignee: XMOS Ltd.Inventors: Michael David May, Peter Hedinger, Alastair Dixon
-
Patent number: 8898438Abstract: 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: GrantFiled: March 14, 2007Date of Patent: November 25, 2014Assignee: XMOS Ltd.Inventor: Michael David May
-
Patent number: 8347312Abstract: 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: GrantFiled: July 6, 2007Date of Patent: January 1, 2013Assignee: XMOS LimitedInventors: Michael David May, Peter Hedinger, Alastair Dixon
-
Patent number: 8224884Abstract: 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: GrantFiled: February 7, 2008Date of Patent: July 17, 2012Assignee: XMOS Ltd.Inventor: Michael David May
-
Patent number: 8219789Abstract: 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: GrantFiled: March 14, 2007Date of Patent: July 10, 2012Assignee: XMOS Ltd.Inventor: Michael David May
-
Patent number: 8185722Abstract: 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 status for each thread. The execution unit is configured to execute thread scheduling instructions which manage said statuses, the thread scheduling instructions including at least: a thread event enable instruction which sets a status to event-enabled to allow a thread to accept events, a wait instruction which sets the status to suspended pending at least one event upon which continued execution of the thread depends, and a thread event disable instruction which sets the status to event-disabled to stop the thread from accepting events. The continued execution comprises retrieval of a continuation point vector for the thread.Type: GrantFiled: March 14, 2007Date of Patent: May 22, 2012Assignee: XMOS Ltd.Inventor: Michael David May
-
Patent number: 8185719Abstract: Each possessor node in an array of nodes has a respective local node address, and each local node address comprises a plurality of components having an order of addressing significance from most to least significant. Each node comprises: mapping means configured to map each component of the local node address onto a respective routing direction, and a switch arranged to receive a message having a destination node address identifying a destination node. The switch comprises: means for comparing the local node address to the destination node address to identify a the most significant non-matching component; and means for routing the message to another node, on the condition that the local node address does not match the destination node address, in the direction mapped to the most significant non-matching component.Type: GrantFiled: November 18, 2010Date of Patent: May 22, 2012Assignee: XMOS LimitedInventor: Michael David May
-
Patent number: 8139601Abstract: 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: GrantFiled: February 7, 2008Date of Patent: March 20, 2012Assignee: Xmos LimitedInventor: Michael David May
-
Patent number: 7962717Abstract: Each possessor node in an array of nodes has a respective local node address, and each local node address comprises a plurality of components having an order of addressing significance from most to least significant. Each node comprises: mapping means configured to map each component of the local node address onto a respective routing direction, and a switch arranged to receive a message having a destination node address identifying a destination node. The switch comprises: means for comparing the local node address to the destination node address to identify a the most significant non-matching component; and means for routing the message to another node, on the condition that the local node address does not match the destination node address, in the direction mapped to the most significant non-matching component.Type: GrantFiled: March 14, 2007Date of Patent: June 14, 2011Assignee: XMOS LimitedInventor: Michael David May
-
Patent number: 7958333Abstract: A processor and method for executing threads. The processor comprises multiple instruction buffers, each for buffering the instructions of a respective associated thread, and an instruction issue stage for issuing instructions from the instruction buffers to a memory access stage. The memory access stage includes logic adapted to detect whether a memory access operation is defined in each issued instruction, and to fetch another instruction if no memory access operation is detected.Type: GrantFiled: May 30, 2007Date of Patent: June 7, 2011Assignee: XMOS Ltd.Inventor: Michael David May
-
Publication number: 20110131396Abstract: One aspect of the present invention provides processor comprising: an execution unit arranged to execute a sequence of instructions each comprising a respective opcode; and a counter coupled to the execution unit and arranged to generate a periodically updated counter value during execution. The execution unit comprises logic configured to identify an opcode representing a trap-if-late instruction in said sequence, and in response to execute the trap-if-late instruction by comparing a target value to the counter value and generating an exception on condition that the counter value represents a time that is late relative to said target value. Another aspect provides a compiler for inserting trap-if-late instructions based on timing constraints in higher-level code.Type: ApplicationFiled: December 1, 2009Publication date: June 2, 2011Applicant: XMOS LimitedInventors: Michael David May, Hendrik Lambertus Muller
-
Patent number: 7948060Abstract: 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: GrantFiled: July 1, 2008Date of Patent: May 24, 2011Assignee: XMOS LimitedInventors: Ken Williamson, Michael David May, Simon Christopher Dequin Clemow
-
Publication number: 20110066825Abstract: Each possessor node in an array of nodes has a respective local node address, and each local node address comprises a plurality of components having an order of addressing significance from most to least significant. Each node comprises: mapping means configured to map each component of the local node address onto a respective routing direction, and a switch arranged to receive a message having a destination node address identifying a destination node. The switch comprises: means for comparing the local node address to the destination node address to identify a the most significant non-matching component; and means for routing the message to another node, on the condition that the local node address does not match the destination node address, in the direction mapped to the most significant non-matching component.Type: ApplicationFiled: November 18, 2010Publication date: March 17, 2011Applicant: XMOS LTD.Inventor: Michael David MAY
-
Patent number: 7676653Abstract: 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: GrantFiled: May 9, 2007Date of Patent: March 9, 2010Assignee: XMOS LimitedInventor: Michael David May
-
Publication number: 20100001405Abstract: 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: ApplicationFiled: July 1, 2008Publication date: January 7, 2010Applicant: XMOS Ltd.Inventors: Ken Williamson, Michael David May, Simon Christopher Dequin Clemow
-
Patent number: 7617386Abstract: 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: GrantFiled: April 17, 2007Date of Patent: November 10, 2009Assignee: XMOS LimitedInventors: Michael David May, Peter Hedinger, Alastair Dixon
-
Patent number: 7613909Abstract: 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: GrantFiled: April 17, 2007Date of Patent: November 3, 2009Assignee: XMOS LimitedInventors: Michael David May, Peter Hedinger, Alastair Dixon