Method and apparatus for accelerating exchange or swap...

Electrical computers and digital processing systems: memory – Storage accessing and control – Specific memory composition

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S165000, C711S202000, C711S206000, C712S217000

Reexamination Certificate

active

06560671

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The invention relates to handling of exchange (XCHG) instructions, and more particularly to accelerating XCHG instructions in a processor by a content addressable memory implementation.
2. Background Information
Many instruction set architectures (ISAs) contain an XCHG instruction. An XCHG instruction exchanges data contents between two registers, i.e. a source register and a destination register. In architectures that use a stack-based register file, such as the IA-32 (Intel® Architecture) floating point instruction set, the XCHG instruction is used frequently. In this case, compilers use the XCHG instruction to move data from a given register to the top-of-stack (TOS) position. Once moved, the data is used in a subsequent operation. This is done because many of the instructions implicitly reference the TOS register. Therefore, it is necessary for the data to be re-located to the TOS register before the operation on that data can proceed.
The basic method of executing the XCHG instruction is to read both registers from the register file (RF), and then write back each data contained in the original registers to the alternate register from where it was read. For example, if register
0
(r
0
) contained data value A, and register
3
(r
3
) contained data value B, then the instruction XCHG r
0
,r
3
would place data value B in r
0
and data value A in r
3
. Any subsequent instructions that were necessary to access either r
0
or r
3
would need to stall at dispatch until the XCHG instruction had completed execution.
An improvement in the performance of most type of instructions including XCHG instructions was realized through the concept of register renaming. Register renaming maps the logical registers of each instruction onto a larger set of physical registers. The unit that performs the logical to physical mapping is commonly referred to as the register alias table (RAT). The destinations of the XCHG instruction can be mapped to different physical registers (an example of nomenclature would be physical register #
78
or p
78
) other than the sources. Therefore, the need for dispatching stalls is eliminated.
FIG. 1
illustrates an example of a RAT and an RF structure before and after a XCHG r
0
,r
3
instruction.
Other optimizations include attempts to re-map the renamed registers without physically moving the data. One example requires one or more additional pipeline stages to accomplish re-mapping. This mitigates performance gain achieved by eliminating a data transfer. Another example is to swap the contents of the RAT entries corresponding to the logical registers of the XCHG instruction. This example can be very expensive in terms of implementation. This is due to the RAT entry, not only containing the physical register number, but often containing several status fields related to the logical register and sometimes even embedded logic, such as tag comparators.


REFERENCES:
patent: 5546597 (1996-08-01), Martell et al.
patent: 5644746 (1997-07-01), Holt et al.
patent: 6094716 (2000-07-01), Witt
patent: 6101597 (2000-08-01), Colwell et al.

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 apparatus for accelerating exchange or swap... 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 apparatus for accelerating exchange or swap..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for accelerating exchange or swap... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3028181

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