Data processing apparatus and method employing multiple register sets
First Claim
1. A data processing apparatus, comprising:
- processing logic operable to perform data processing operations;
a register bank operable to store data associated with the processing logic, the register bank having at least one register group, each register group comprising a plurality of register sets;
the processing logic having an operating state associated with each register group defining how that register group is used, a first operating state being a state in which each register set in the register group is used to support an independent execution thread of the processing logic, and a second operating state being a state in which the register sets of the register group are collectively used to support a single execution thread of the processing logic, said single execution thread associated with said second operating state requiring more architectural state than is required for any independent execution thread associated with said first operating state; and
control logic operable to control how the register sets of each register group are used dependent on the operating state associated with that register group.
1 Assignment
0 Petitions
Accused Products
Abstract
A data processing apparatus and method employing multiple register sets is disclosed. The data processing apparatus has processing logic for performing data processing operations and a register bank for storing data associated with the processing logic. The register bank has at least one register group, each register group having a plurality of register sets. The processing logic has an operating state associated with each register group defining how that register group is used, a first operating state being a state in which each register set in the register group is used to support an independent execution thread of the processing logic, and a second operating state being a state in which the register sets of the register group are collectively used to support a single execution thread of the processing logic. Control logic is provided to control how the register sets of each register group are used dependent on the operating state associated with that register group. This has been found to provide a particularly efficient use of the registers within the data processing apparatus.
28 Citations
11 Claims
-
1. A data processing apparatus, comprising:
-
processing logic operable to perform data processing operations; a register bank operable to store data associated with the processing logic, the register bank having at least one register group, each register group comprising a plurality of register sets; the processing logic having an operating state associated with each register group defining how that register group is used, a first operating state being a state in which each register set in the register group is used to support an independent execution thread of the processing logic, and a second operating state being a state in which the register sets of the register group are collectively used to support a single execution thread of the processing logic, said single execution thread associated with said second operating state requiring more architectural state than is required for any independent execution thread associated with said first operating state; and control logic operable to control how the register sets of each register group are used dependent on the operating state associated with that register group. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A data processing apparatus, comprising:
-
processing means for performing data processing operations; register bank means for storing data associated with the processing means, the register bank means having at least one register group, each register group comprising a plurality of register sets; the processing means having an operating state associated with each register group defining how that register group is used, a first operating state being a state in which each register set in the register group is used to support an independent execution thread of the processing means, and a second operating state being a state in which the register sets of the register group are collectively used to support a single execution thread of the processing means, said single execution thread associated with said second operating state requiring more architectural state than is required for any independent execution thread associated with said first operating state; and control means for controlling how the register sets of each register group are used dependent on the operating state associated with that register group.
-
-
11. A method of operating a data processing apparatus having processing logic for performing data processing operations, and a register bank for storing data associated with the processing logic, the register bank having at least one register group, each register group comprising a plurality of register sets, the method comprising the steps of:
-
associating an operating state with each register group defining how that register group is used, a first operating state being a state in which each register set in the register group is used to support an independent execution thread of the processing logic, and a second operating state being a state in which the register sets of the register group are collectively used to support a single execution thread of the processing logic, said single execution thread associated with said second operating state requiring more architectural state than is required for any independent execution thread associated with said first operating state; and controlling how the register sets of each register group are used dependent on the operating state associated with that register group.
-
Specification