INTEGRATED CIRCUIT HAVING A CONDITIONAL YIELD INSTRUCTION AND METHOD THEREFOR
First Claim
Patent Images
1. A method for operating a processor, comprising:
- as part of execution of a thread on the processor, executing a conditional yield instruction, wherein executing the conditional yield instruction comprises;
retrieving a plurality of priority selection bits from a first portion of the conditional yield instruction;
using the plurality of priority selection bits for selecting one of a priority criteria; and
based on the selected priority criteria, determining whether the thread executing on the processor yields at least one resource to another thread.
20 Assignments
0 Petitions
Accused Products
Abstract
An integrated circuit (10) has a conditional yield instruction (305) which may be used to conditionally yield execution of a currently active thread based on priority and status of other threads. In one embodiment, an I bit 304 may be used to designate whether the priority selection bits (50) are stored in the instruction itself. If the priority selection bits (50) are not stored in the instruction itself, a portion of the instruction (302) may be used to store a location indicator which indicates where the priority selection bits (50) are located (e.g. register file 22).
-
Citations
21 Claims
-
1. A method for operating a processor, comprising:
as part of execution of a thread on the processor, executing a conditional yield instruction, wherein executing the conditional yield instruction comprises;
retrieving a plurality of priority selection bits from a first portion of the conditional yield instruction;
using the plurality of priority selection bits for selecting one of a priority criteria; and
based on the selected priority criteria, determining whether the thread executing on the processor yields at least one resource to another thread. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
11. A method for operating a processor, comprising:
as part of execution of a thread on the processor, executing an instruction, wherein executing the instruction comprises;
retrieving a first portion of the instruction to determine whether the instruction is a conditional yield instruction;
if the instruction is the conditional yield instruction, then retrieving a plurality of priority selection bits from a second portion of the conditional yield instruction;
using the plurality of priority selection bits for selecting one of a priority criteria; and
based on the selected priority criteria, determining whether the thread executing on the processor yields at least one resource to another thread. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
20. A method for operating a processor, comprising:
as part of execution of a thread on the processor, executing an instruction, wherein executing the instruction comprises;
retrieving a first portion of the instruction to determine whether the instruction is a conditional yield instruction;
if the instruction is the conditional yield instruction, then retrieving a plurality of priority selection bits;
using the plurality of priority selection bits for selecting one of a priority criteria; and
based on the selected priority criteria, determining whether the thread executing on the processor yields at least one resource to another thread.
-
21. A method for operating an integrated circuit having a processor, the method comprising:
-
representing an instruction of the processor using a plurality of bits;
using a first portion of the plurality of bits to determine that the instruction is a conditional yield instruction;
using a second portion of the instruction to determine where the priority selection bits are located;
if the second portion of the instruction determines that the priority selection bits are located in the instruction itself using a third portion of the instruction to store the priority selection bits;
if the second portion of the instruction determines that the priority selection bits are not located in the instruction itself, using a register to store the priority selection bits;
using the priority selection bits to select a selected priority criteria from a plurality of priority criteria;
comparing a priority of a currently executing thread with a priority of a second thread that is ready to run to produce a comparison result; and
using the selected priority criteria and the comparison result to determine if the currently executing thread should yield to the second thread.
-
Specification