IP Library Granted Patent US 9,563,476
Granted Patent B2
US 9,563,476 · App. 14/837,109 · Granted Feb 7, 2017

Resource sharing using process delay

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 9,563,476
App. No.
14/837,109
Granted
Feb 7, 2017
Kind
B2
Abstract

Methods and systems that reduce the number of instance of a shared resource needed for a processor to perform an operation and/or execute a process without impacting function are provided. a method of processing in a processor is provided. Aspects include determining that an operation to be performed by the processor will require the use of a shared resource. A command can be issued to cause a second operation to not use the shared resources N cycles later. The shared resource can then be used for a first aspect of the operation at cycle X and then used for a second aspect of the operation at cycle X+N. The second operation may be rescheduled according to embodiments.

Claims (45)

1. A method of processing in a computer system, comprising:

determining that a conflict exists with respect to a shared hardware resource between a first processor operation and a second processor operation at a first processor cycle;

restricting access to the shared hardware resource by the second processor operation for a predetermined number of processor cycles after the first processor cycle, wherein the predetermined number of processor cycles comprises fewer cycles than a number of cycles required to complete the first processor operation;

performing the first processor operation using the shared hardware resource at the first processor cycle; and

rescheduling the second processor operation to access the shared hardware resource after the predetermined number of processor cycles has elapsed.

2. The method of claim 1 , wherein rescheduling the second processor operation comprises scheduling the second processor operation to use the shared hardware resource immediately after the first processor operation is performed using, the shared hardware resource.

3. The method of claim 2 , further comprising:

determining that a conflict exists with respect to the shared hardware resource between the second processor operation and a third processor operation at a second processor cycle;

rescheduling the third processor operation to avoid the conflict; and

performing the second processor operation using the shared hardware resource.

4. The method of claim 1 , wherein rescheduling the second processor operation comprises scheduling the second processor operation to use the shared hardware resource at an available opportunity without rescheduling any other waiting operations.

5. The method of claim 1 , wherein rescheduling the second processor operation comprises adding the second processor operation to a ready queue.

6. The method of claim 1 , wherein determining that a conflict exists comprises:

determining that a conflict exists between one of a plurality of aspects of the first processor operation and the second processor operation.

7. The method of claim 6 , wherein rescheduling the second processor operation comprises rescheduling the second processor operation after the one of the plurality of aspects of the first processor operation is finished using the shared hardware resource.

8. The method of claim 1 , further comprising:

stopping the second processor operation from using the shared hardware resource.

9. The method of claim 1 , wherein rescheduling the second processor operation comprises delaying the second processor operation by a number of cycles.

10. The method of claim 9 , further comprising:

issuing a command to a scheduler to delay the second processor operation beginning at a future cycle.

11. A processing device, comprising:

a shared hardware resource configured to be used by a plurality of processor operations; and

a scheduler comprising one or more circuits configured to:

determine that a conflict exists with respect to a shared hardware resource between a first processor operation and a second processor operation at a first processor cycle;

restrict access to the shared hardware resource by the second processor operation for a predetermined number of processor cycles after the first processor cycle, wherein the predetermined number of processor cycles comprises fewer cycles than a number of cycles required to complete the first processor operation;

cause the first processor operation to be performed using the shared hardware resource at the first processor cycle; and

reschedule the second processor operation to access the shared hardware resource after the predetermined number of processor cycles has elapsed.

12. The processing device of claim 11 , wherein the scheduler is configured to reschedule the second processor operation to use the shared hardware resource immediately after the first processor operation is performed using the shared hardware resource.

13. The processing device of claim 12 , wherein the scheduler is further configured to:

determine that a conflict exists with respect to a shared hardware resource between the second processor operation and a third processor operation;

cause the second processor operation to be performed using the shared hardware resource;

and

reschedule the third processor operation to avoid the conflict.

14. The processing device of claim 11 , wherein the scheduler is configured to reschedule the second processor operation to use the shared hardware resource at an available opportunity without rescheduling any other waiting operations.

15. The processing device of claim 11 , wherein the scheduler is configured to reschedule the second processor operation by adding the second processor operation to a ready queue.

16. The processing device of claim 11 , wherein the scheduler is configured to determine that a conflict exists by determining that a conflict exists between one of a plurality of aspects of the first processor operation and the second processor operation.

17. The processing device of claim 16 , wherein the scheduler is configured to reschedule the second processor operation after the one of the plurality of aspects of the first processor operation is finished using the shared hardware resource.

18. The processing device of claim 11 , wherein the scheduler is further configured to stop the second processor operation from using the shared hardware resource upon determining that the conflict exists.

19. The processing device of claim 11 , wherein the scheduler is configured to reschedule the second processor operation by delaying the second processor operation by a number of cycles.

20. The processing device of claim 19 , wherein the scheduler is configured to delay the second processor operation beginning at a future cycle.

21. A method of processing in a computer system, comprising:

determining that a conflict exists with respect to a shared hardware resource between a first processor operation and a second processor operation at a first processor cycle;

restricting access to the shared hardware resource by the second processor operation for a predetermined number of processor cycles after the first processor cycle;

performing the first processor operation using the shared hardware resource at the first processor cycle; and

rescheduling the second processor operation to access the shared hardware resource after the predetermined number of processor cycles has elapsed, wherein rescheduling the second processor operation comprises scheduling the second processor operation to use the shared hardware resource at an available opportunity without rescheduling any other waiting operations.

Assignments (8)
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 →
CHANGE OF NAME Recorded Mar 1, 2018
From: IMAGINATION TECHNOLOGIES, LLC
To: MIPS TECH, LLC
Reel/Frame 045476/0247 →
CHANGE OF NAME Recorded Feb 27, 2018
From: IMAGINATION TECHNOLOGIES, LLC
To: MIPS TECH, LLC
Reel/Frame 045452/0917 →
CHANGE OF NAME Recorded May 20, 2016
From: MIPS TECHNOLOGIES, INC.
To: IMAGINATION TECHNOLOGIES, LLC
Reel/Frame 038768/0721 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2015
From: CHANDRA, DEBASISH
To: MIPS TECHNOLOGIES, INC.
Reel/Frame 036436/0578 →