Method and system for dividing a computer processor register...

Electrical computers and digital processing systems: processing – Dynamic instruction dependency checking – monitoring or...

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C712S210000, C712S217000, C712S219000

Reexamination Certificate

active

06393552

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates generally to information handling systems and more particularly to an improved methodology for referencing information in registers of computer processing units.
BACKGROUND OF THE INVENTION
High performance superscalar computer processors use a technique known as “register renaming” to facilitate out-of-order instruction execution. In general, register renaming refers to a method by which processor registers may be shared. For example, if a first program requires the use of a specific register, and a second program also requires the use of that same register while the register is still being used by the first program, the processor will redefine one of its unused registers as a second copy of the specific register, and the processor will track and manage the specific register and the renamed register relative to the information contained in the registers and the associated instructions.
Every computer program consists of a sequence of small atomic actions called instructions which collectively, and in sequence, comprise the program. Though, in the program's object file, these instructions exist in a formal sequence, when executed on a superscalar computer processor, the program instructions may be executed out of order by the processor, provided the required dependencies inside the program are not violated. For example, if instruction B references a particular register, and instruction A, which precedes B in program flow, also writes to that register, B must wait for A to complete. This ordering requirement is referred to as a dependency. The fewer the dependencies, the faster the instructions can be delivered to the execution units. Dependencies can also arise due to implementation decisions which have the same detrimental effect on performance.
A problem arises when instructions are executed simultaneously and/or out-of-order. It is no longer sufficient to name a result in this system by the number of the destination register since multiple results may be concurrently outstanding for that register, and there is a strict ordering between the results as dictated by the program sequence. To manage that problem, superscalar processors typically rename the source and destination operands of each program instruction with a code corresponding to an implementation level register (referred to as the “renamed register”) that can be used to correctly order the values as they are produced by the various parts of the execution stage.
To date, processors have implemented register renaming by assigning an alias code to each operand on the basis of the register identifier and without regard to the portion of the bits of that register which are actually accessed by the instruction. That practice reduces the availability of the renaming registers for other instructions which, in turn, causes a performance problem when subsequent instructions use entirely disjointed portions of a single data register.
Processors architecturally deal with more than one size of data values such as 8, 16, 32 and 64-bit integer operations. For example, the typical RISC (Reduced Instruction Set Computer) processors, such as the PowerPC processor, was introduced as 32-bit architectures and later extended to 64-bits. In this case, the upper and lower 32-bit halves of the 64-bit register are not equally accessible. Existing applications written for the 32-bit processors must still run on the 64-bit processors. When renaming takes place on the full register (64-bits), half of the renaming register bits are wasted when running 32-bit programs or when using 32 or less bits for data values. Full register renaming thus results in unnecessary wastage of register space and this, in turn, results in significant slow-down in program execution when code using 8, 16 or 32 bits of data values, and instruction execution has to be stalled due to an unavailability of rename registers.
Accordingly, there is a need for an enhanced method and processing apparatus which is able to provide increased register efficiencies and improved processor performance.
SUMMARY OF THE INVENTION
A method and apparatus is provided for sectoring processor registers and renaming the resulting sectored registers individually. In one embodiment, the register file is divided into sectors such that the smallest accessible unit for an instruction set in each register can be uniquely addressed and renamed. Since most register data values do not utilize all the bits of a given register, such bits that form a register sector can then be utilized to provide additional registers for renaming.


REFERENCES:
patent: 5497499 (1996-03-01), Garg et al.
patent: 5519841 (1996-05-01), Sager et al.
patent: 5524262 (1996-06-01), Colwell et al.
patent: 5548776 (1996-08-01), Colwell et al.
patent: 5560032 (1996-09-01), Nguyen et al.
patent: 5574928 (1996-11-01), White et al.
patent: 5581717 (1996-12-01), Boggs et al.
patent: 5590295 (1996-12-01), Deosaran et al.
patent: 5590352 (1996-12-01), Zuraski et al.
patent: 5596731 (1997-01-01), Martinez et al.
patent: 5600848 (1997-02-01), Sproull et al.
patent: 5630149 (1997-05-01), Bluhm
patent: 5752271 (1998-05-01), Yung
patent: 5974524 (1999-10-01), Cheong et al.
patent: 5983342 (1999-11-01), Tran

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and system for dividing a computer processor register... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and system for dividing a computer processor register..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system for dividing a computer processor register... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2853336

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.