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

Electrical computers and digital processing systems: memory – Addressing combined with specific memory configuration or...

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S118000, C711S173000, C712S023000, C712S217000

Reexamination Certificate

active

06336160

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 a specific processor register may be used by multiple instructions without conflict. For example, if an instruction requires the use of a specific register, and a second instruction also requires the use of that same register while the register is still being used by the first instruction, 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.
Register renaming can also be used to redirect data held over in a rename register from the execution of a previous instruction for use by a subsequent instruction. However, such reuse of data values in rename registers is practically not achievable because rename registers get written over by new data values before the older values can be reused. Processors only have a very limited number of rename registers and adding too many such registers have other implementation performance-limiting aspects.
To date, processors have implemented register addressing on a whole unit basis. That is, register renaming is done 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. This practice results in a waste of precious register bits.
As another consequence of implementing register addressing on a full register basis, if an instruction needs to access data bits in a register that are not aligned at the starting bit position of a register, such data has to be re-fetched from memory, hence, resulting in unnecessary performance degradation. For example, a typical RISC (Reduced Instruction Set Computer) processor, such as the PowerPC processor, was introduced as a 32-bit architecture and later extended to 64-bits. Existing applications written for the 32-bit processors must still run on the 64-bit processors. When the processor hardware assigns the architectural registers or the renamed registers to instructions, all the 64 register bits are used as a whole entity. However, half of the register bits are wasted when running 32-bit programs. In fact, the upper
32
bits of the register are left unused in many cases even in the 64-bit mode. The current processor design does not allow the upper and lower 32-bit halves of the 64-bit register to be equally accessible, which results in a waste of critical register bits.
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 utilizing the most significant unused sectors of the processor registers to hold frequently used data. Since most register data values do not utilize the most significant bits of a register value, these most significant bits grouped as sectors can be utilized to provide enhanced performance resulting from data buffering. Unused register sectors are used to hold frequently used data or sequentially adjacent data to exploit spatial locality, thus, saving processor cycles to fetch data from the processor memory. 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. The most significant sectors of the registers, if not marked to be in use, are used for holding pre-assigned constant values, such as “0”, “1”, or other frequently used constant offsets, etc. In another embodiment, the previous data loaded into register sectors is saved in most significant register sectors for future possible reference by subsequent instructions.


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: 5611071 (1997-03-01), Martinez, Jr.
patent: 5613151 (1997-03-01), Dockser
patent: 5630149 (1997-05-01), Bluhm
patent: 5652774 (1997-07-01), Eickemeyer et al.
patent: 5826070 (1998-10-01), Olson et al.
patent: 5897665 (1999-04-01), Padwekar
patent: 5946716 (1999-08-01), Karp et al.
patent: 5946718 (1999-08-01), Green

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-2820589

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