Data processing systems
First Claim
1. A method of operating a data processing system which includes an execution pipeline that includes one or more programmable execution stages which execute execution threads to execute instructions to perform data processing operations, and in which instructions to be executed for an execution thread are first fetched into an instruction cache and then read from the instruction cache for execution by a thread, the method comprising:
- storing in the instruction cache for one or more of the cache lines in the instruction cache an indication of where in the instruction cache the instructions that immediately precede the instructions in the cache line and the instructions that immediately follow the instructions in the cache line are stored;
storing for a thread for which an instruction to be executed by the thread is present in a cache line in the instruction cache, or is to be fetched into an allocated cache line in the instruction cache, a pointer to the location of the instruction in the instruction cache;
using the stored pointer to the location of the instruction in the instruction cache to retrieve the instruction to be executed by the thread from the instruction cache; and
executing the instruction for the thread;
the method further comprising locking a cache line in the instruction cache when a pointer to the cache line has been stored for a thread or thread group.
1 Assignment
0 Petitions
Accused Products
Abstract
A data processing system includes an execution pipeline that includes one or more programmable execution stages which execute execution threads to execute instructions to perform data processing operations. Instructions to be executed by a group of execution threads are first fetched into an instruction cache and then read from the instruction cache for execution by the thread group. When an instruction to be executed by a thread group is present in a cache line in the instruction cache, or is to be fetched into an allocated cache line in the instruction cache, a pointer to the location of the instruction in the instruction cache is stored for the thread group. This stored pointer is then used to retrieve the instruction for execution by the thread group from the instruction cache.
-
Citations
19 Claims
-
1. A method of operating a data processing system which includes an execution pipeline that includes one or more programmable execution stages which execute execution threads to execute instructions to perform data processing operations, and in which instructions to be executed for an execution thread are first fetched into an instruction cache and then read from the instruction cache for execution by a thread, the method comprising:
-
storing in the instruction cache for one or more of the cache lines in the instruction cache an indication of where in the instruction cache the instructions that immediately precede the instructions in the cache line and the instructions that immediately follow the instructions in the cache line are stored; storing for a thread for which an instruction to be executed by the thread is present in a cache line in the instruction cache, or is to be fetched into an allocated cache line in the instruction cache, a pointer to the location of the instruction in the instruction cache; using the stored pointer to the location of the instruction in the instruction cache to retrieve the instruction to be executed by the thread from the instruction cache; and executing the instruction for the thread; the method further comprising locking a cache line in the instruction cache when a pointer to the cache line has been stored for a thread or thread group. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11)
-
-
2. A data processing system comprising:
-
an execution pipeline that includes one or more programmable execution stages which execute execution threads to execute instructions to perform data processing operations; and an instruction cache into which instructions to be executed for an execution thread are fetched and then read from for execution by a thread; and
in which;the instruction caches stores for one or more of the cache lines in the instruction cache an indication of where in the instruction cache the instructions that immediately precede the instructions in the cache line and the instructions that immediately follow the instructions in the cache line are stored; wherein the data processing system; stores for a thread for which an instruction to be executed by the thread is present in a cache line in the instruction cache, or is to be fetched into an allocated cache line in the instruction cache, a pointer to the location of the instruction in the instruction cache; and uses the stored pointer to the location of the instruction in the instruction cache to retrieve the instruction to be executed by the thread from the instruction cache; and wherein the data processing system is configured to lock a cache line in the instruction cache when a pointer to the cache line has been stored for a thread or thread group. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
3. A computer readable storage medium storing computer software code which when executing on a processor performs a method of operating a data processing system which includes an execution pipeline that includes one or more programmable execution stages which execute execution threads to execute instructions to perform data processing operations, and in which instructions to be executed for an execution thread are first fetched into an instruction cache and then read from the instruction cache for execution by a thread, the method comprising:
-
storing in the instruction cache for one or more of the cache lines in the instruction cache an indication of where in the instruction cache the instructions that immediately precede the instructions in the cache line and the instructions that immediately follow the instructions in the cache line are stored; storing for a thread for which an instruction to be executed by the thread is present in a cache line in the instruction cache, or is to be fetched into an allocated cache line in the instruction cache, a pointer to the location of the instruction in the instruction cache; using the stored pointer to the location of the instruction in the instruction cache to retrieve the instruction to be executed by the thread from the instruction cache; and executing the instruction for the thread; the method further comprising locking a cache line in the instruction cache when a pointer to the cache line has been stored for a thread or thread group.
-
Specification