摘要 |
A method 200 of using register renaming to dynamically allocate a resource, in addition to physical registers, between threads in a multi-threaded out-of-order processor comprises: receiving 202 an instruction for register renaming, identifying an associated thread and an architectural register; allocating 204 an available physical register to the architectural register based at least on the thread associated with the instruction, where each physical register is mapped to one or more storage locations in the dynamically allocated resource; and storing 206 details of the register allocation. A module (136, 144 in Figure 1) in such a processor comprises hardware logic arranged to perform the allocation step described above. The resource may be a register file cache, a re-order buffer, or a reservation station. The physical registers may be divided logically into groups 210, and may be allocated based on mapping criteria 218. The mapping criteria may be thread to group mapping, may involve a modulo operation 204d, 204e, 204f, and/or may be updated based on the activity level of threads. The invention may facilitate soft partitioning of a register file cache. |