IP Library Granted Patent US 7,594,097
Granted Patent B2
US 7,594,097 · App. 11/632,567 · Granted Sep 22, 2009

Microprocessor output ports and control of instructions provided therefrom

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,594,097
App. No.
11/632,567
Granted
Sep 22, 2009
Kind
B2
Abstract

A method and apparatus are provided for controlling instructions provided by a microprocessor output port to other execution units. A microprocessor pipeline of instructions is provided for each execution unit. These are scheduled via the microprocessor unit for each execution unit, a determination is made as to whether or not the execution unit can receive further instructions. If it cannot, it's associated pipeline is said to be stalled and instructions are deleted from the microprocessor pipeline. Its thread can then be restarted at a later time with the instruction corresponding to the instruction which was unable to execute.

Claims (12)

1. A method for controlling instructions provided via a microprocessor output port to at least one other execution unit comprising the steps of providing a thread of instructions for an execution unit via a microprocessor pipeline, time stamping the instructions, providing instructions in turn via an output port to the execution unit, detecting whether or not the execution unit is able to receive further instructions, and if the result of the detection is that the execution unit cannot receive further instructions, deleting instructions for that thread still present in the microprocessor pipeline, and restarting the thread with an instruction corresponding to the time stamped instruction which was unable to execute.

2. A method according to claim 1 in which each execution unit is connected to the microprocessor output port via a register.

3. A method according to claim 1 including the step of comparing the time stamp of a current instruction unable to be received by the execution unit with the time stamps of instructions in the pipeline and discarding instructions in the pipeline in dependence on the result of the comparison.

4. A method according to claim 3 in which the instructions in the pipeline are discarded if their time stamps are greater in value than those on the current instruction.

5. A method according to claim 1 including the step of restarting a stalled thread by reading instructions from memory from an address corresponding to the address in which the current instruction unable to be executed is stored.

6. A method according to claim 1 including the step of scheduling multiple threads of instructions for execution units through the microprocessor and continuing to execute non-stalled threads in the event that one of threads is unable to execute.

7. A system for controlling instructions via a microprocessor output port to at least one other execution unit comprising a microprocessor pipeline supplying a thread of instructions for an execution unit, means for time stamping the instructions, means for providing instructions in turn via the output port to the execution unit, means for detecting whether or not the execution unit is able to receive further instructions, means for deleting instructions still present in the microprocessor pipeline if the result of the detection is that the execution unit cannot receive further instructions, and means for restarting the thread with an instruction corresponding to the time stamped instruction which was unable to execute.

8. A system according to claim 7 including a register coupling each execution unit to the microprocessor output port.

9. A system according to claim 7 including the step of comparing the time stamp of a current instruction unable to be received by the execution unit with the time stamps of instruction in the pipeline, and means for discarding the instructions in the pipeline in dependence on the result of the comparison.

10. A system according to claim 9 in which the means for discarding instructions in the pipeline does so if their time stamps are greater in value than that of the current instruction.

11. A system according to claim 7 in which the means for restarting a stalled thread includes means for reading an instruction memory from an address corresponding to the address in which the current instruction which was unable to execute is stored.

12. A system according to claim 7 including means for scheduling multiple threads of instructions for execution units through the microprocessor and means for continuing to execute non-stalled instruction threads in the event that one of the threads is unable to execute.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Dec 29, 2022
From: CAPITAL FINANCE ADMINISTRATION, LLC, AS ADMINISTRATIVE AGENT
To: MIPS TECH, LLC; WAVE COMPUTING INC.
Reel/Frame 062251/0251 →
SECURITY INTEREST Recorded Jun 14, 2021
From: MIPS TECH, LLC; WAVE COMPUTING, INC.
To: CAPITAL FINANCE ADMINISTRATION, LLC
Reel/Frame 056558/0903 →
RELEASE OF SECURITY INTEREST Recorded Jun 14, 2021
From: WAVE COMPUTING LIQUIDATING TRUST
To: MIPS TECH, INC.; HELLOSOFT, INC.; WAVE COMPUTING (UK) LIMITED; IMAGINATION TECHNOLOGIES, INC.; CAUSTIC GRAPHICS, INC.; MIPS TECH, LLC; WAVE COMPUTING, INC.
Reel/Frame 056589/0606 →
SECURITY INTEREST Recorded Feb 26, 2021
From: WAVE COMPUTING, INC.; MIPS TECH, LLC; MIPS TECH, INC.; HELLOSOFT, INC.; WAVE COMPUTING (UK) LIMITED; IMAGINATION TECHNOLOGIES, INC.; CAUSTIC GRAPHICS, INC.
To: WAVE COMPUTING LIQUIDATING TRUST
Reel/Frame 055429/0532 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2018
From: MIPS TECH LIMITED
To: MIPS TECH, LLC
Reel/Frame 045348/0973 →
CHANGE OF NAME Recorded Mar 22, 2018
From: HELLOSOFT LIMITED
To: MIPS TECH LIMITED
Reel/Frame 045314/0928 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2018
From: IMAGINATION TECHNOLOGIES LIMITED
To: HELLOSOFT LIMITED
Reel/Frame 045275/0491 →
CHANGE OF NAME Recorded Jan 26, 2018
From: HELLOSOFT LIMITED
To: MIPS TECH LIMITED
Reel/Frame 045168/0922 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2018
From: IMAGINATION TECHNOLOGIES LIMITED
To: HELLOSOFT LIMITED
Reel/Frame 044712/0386 →