System and method for managing the execution of instruction groups having multiple executable instructions
First Claim
1. A group completion table (GCT) that manages execution of instruction groups having more than one executable instruction, said GCT comprising:
- a plurality of table entries, wherein each of said plurality of table entries is associated with a respective instruction group and includes;
a plurality of instruction completion identifiers, each of said plurality of instruction completion identifiers corresponding to a specific instruction in said associated instruction group; and
a trouble identifier that will flag the occurrence of any exception condition in the execution of said instruction group;
wherein each of said instruction group is associated with a group tag number, and wherein an instruction in an instruction group is identified by said instruction group'"'"'s group tag number concatenation with a multiple bit mask, wherein said mask indicating the location of said instruction in said instruction group.
2 Assignments
0 Petitions
Accused Products
Abstract
A group completion table (GCT) that manages the execution of instruction groups having more than one executable instruction is disclosed. The GCT includes a plurality of table entries, wherein each of the table entries is associated with a respective instruction group. Each table entry in the GCT includes a plurality of instruction completion identifiers, wherein each of the instruction completion identifiers corresponds to a specific instruction in the associated instruction group. The table entry also includes a trouble identifier that is utilized to flag the occurrence of any exception condition encountered in the execution of any instruction in the instruction group. In a related embodiment, the trouble identifier utilized in the table entry is a single bit.
-
Citations
27 Claims
-
1. A group completion table (GCT) that manages execution of instruction groups having more than one executable instruction, said GCT comprising:
-
a plurality of table entries, wherein each of said plurality of table entries is associated with a respective instruction group and includes;
a plurality of instruction completion identifiers, each of said plurality of instruction completion identifiers corresponding to a specific instruction in said associated instruction group; and
a trouble identifier that will flag the occurrence of any exception condition in the execution of said instruction group;
wherein each of said instruction group is associated with a group tag number, and wherein an instruction in an instruction group is identified by said instruction group'"'"'s group tag number concatenation with a multiple bit mask, wherein said mask indicating the location of said instruction in said instruction group. - View Dependent Claims (2, 3, 4, 6)
-
-
5. A group completion table (GCT) that manages execution of instruction groups having more than one executable instruction, said GCT comprising:
-
a plurality of write ports, each receiving instruction groups; and
a plurality of table entries, wherein each of said plurality of table entries is associated with a respective instruction group and includes;
a plurality of instruction completion identifiers, each of said plurality of instruction completion identifiers corresponding to a specific instruction in said associated instruction group; and
a trouble identifier that will flag the occurrence of any exception condition in the execution of said instruction group.
-
-
7. A group completion table (GCT) that manages execution of instruction groups having more than one executable instruction, said GCT comprising:
-
a plurality of table entries, wherein each of said plurality of table entries is associated with a respective instruction group and includes;
a plurality of instruction completion identifiers, each of said plurality of instruction completion identifiers corresponding to a specific instruction in said associated instruction group;
a trouble identifier that will flag the occurrence of any exception condition in the execution of said instruction group; and
wherein a last instruction in said instruction group is a delimiter identifier. - View Dependent Claims (8, 9)
-
-
10. A method for managing the execution of an instruction group having more than one executable instruction, comprising the steps of:
-
assigning a group identifier to said instruction group;
associating a table entry in a group completion table with said instruction group using said group identifier;
indicating the completion of each executable instruction in said instruction group using a plurality of instruction completion identifiers within said table entry, each of said plurality of instruction completion identifiers corresponding to a specific instruction in said instruction group;
setting, in response to encountering at least one exception condition in the execution of said instruction group, a trouble identifier within said table entry; and
flushing an instruction group in response to said trouble identifier being set in an associated table entry of said instruction group;
wherein said step of flushing an instruction group includes the step of generating a flush mask to all execution units; and
wherein said step of flushing an instruction an instruction group includes the step of identifying said instruction group using its group identifier. - View Dependent Claims (11, 12, 13, 14)
refetching said instruction group;
breaking said refetched instruction group into individual executable instructions; and
executing said individual instructions separately.
-
-
14. The method as recited in claim 13 wherein said step of refetching said instruction group includes the step of utilizing an effective address (EA) of a first instruction in said instruction group.
-
15. A method for managing the execution of an instruction group having more than one executable instruction, comprising the steps of:
-
assigning a group identifier to said instruction group;
associating a table entry in a group completion table with said instruction group using said group identifier;
indicating the completion of each executable instruction in said instruction group using a plurality of instruction completion identifiers within said table entry, each of said plurality of instruction completion identifiers corresponding to a specific instruction in said instruction group;
setting, in response to encountering at least one exception condition in the execution of said instruction group, a trouble identifier within said table entry;
flushing an instruction group in response to said trouble identifier being set in an associated table entry of said instruction group; and
wherein said step of flushing an instruction group includes the step of setting said instruction completion identifiers associated with the rest of said executable instructions to indicate completion in response to said setting of said trouble identifier by the next-to-complete executable instruction in said instruction group.
-
-
16. A method for managing the execution of a plurality of instruction groups, wherein each of said plurality of instruction groups having more than one executable instruction, comprising the steps of:
-
assigning a different group identifier to each of said plurality of instruction groups;
associating a separate table entry in a group completion table with each of said plurality of instruction groups using said group identifiers;
indicating the completion of each executable instruction in each of said plurality of instruction groups using a plurality of instruction completion identifiers within each of said table entries, each of said plurality of instruction completion identifiers corresponding to a specific instruction in each of said plurality of instruction groups;
setting, in response to encountering an exception condition in the execution of said plurality of instruction groups, a trouble identifier within said associated table entry;
flushing said plurality of instruction groups in response to said trouble identifier being set; and
flushing said plurality of instruction groups includes the step of generating a flush mask. - View Dependent Claims (17, 18)
-
-
19. A method for managing the execution of a plurality of instruction groups, wherein each of said plurality of instruction groups having more than one executable instruction, comprising the steps of:
-
assigning a different group identifier to each of said plurality of instruction groups;
associating a separate table entry in a group completion table with each of said plurality of instruction groups using said group identifiers;
indicating the completion of each executable instruction in each of said plurality of instruction groups using a plurality of instruction completion identifiers within each of said table entries, each of said plurality of instruction completion identifiers corresponding to a specific instruction in each of said plurality of instruction groups;
setting, in response to encountering an exception condition in the execution of said plurality of instruction groups, a trouble identifier within said associated table entry; and
marking all younger instructions in a next-to-complete instruction group as finished in response to an older instruction in said next-to-complete instruction group encountering an exception condition.
-
-
20. A processor, comprising:
-
a plurality of execution units; and
a group completion table (GCT) that manages execution of instruction groups having more than one executable instruction, said GCT including;
a plurality of write ports coupled to said plurality of execution units; and
a plurality of table entries, wherein each of said plurality of table entries is associated with a respective instruction group and includes;
a plurality of instruction completion identifiers, each of said plurality of instruction completion identifiers corresponding to a specific instruction in said associated instruction group; and
a trouble identifier that will flag the occurrence of any exception condition in the execution of said instruction group;
wherein each of said instruction group is associated with a group tag number; and
wherein an instruction in an instruction group is identified by said instruction group'"'"'s group tag number concatenation with a multiple bit mask, wherein said mask indicating the location of said instruction in said instruction group. - View Dependent Claims (21, 22, 23, 24)
-
-
25. A processor, comprising:
-
plurality of execution units; and
a group completion table (GCT) that manages execution of instruction groups having more than one executable instruction, said GCT including;
a plurality of write ports coupled to sad plurality of execution units; and
a plurality of table entries, wherein each of said plurality of table entries is associated with a respective instruction group and includes;
a plurality of instruction completion identifiers, each of said plurality of instruction completion identifiers corresponding to a specific instruction in said associated instruction group;
a trouble identifier that will flag the occurrence of any exception condition in the execution of said instruction group;
wherein a last instruction in said instruction group is a delimiter identifier. - View Dependent Claims (26, 27)
-
Specification