Efficient method for fetching instructions having a...

Electrical computers and digital processing systems: processing – Instruction alignment

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C712S024000, C712S206000

Reexamination Certificate

active

06314509

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates generally to microprocessors, and more particularly, to an efficient method for fetching instructions having a non-power of two size.
BACKGROUND
A microprocessor typically includes a cache memory for storing copies of the most recently used memory locations. The cache memory generally is smaller and faster than main memory (e.g., disk). A microprocessor also typically includes an instruction prefetch unit that is responsible for prefetching instructions for a CPU (Central Processing Unit). In particular, an instruction cache unit is typically organized in a way that reduces the amount of time spent transferring instructions having a power of two size into the prefetch unit. For example, a 256-bit bus (256 bits=4×8 bytes=32 bytes) connecting the instruction cache unit and the prefetch unit allows a 32-byte instruction prefetch unit to fetch 32 bytes of instruction data in a single cycle of the microprocessor.
SUMMARY
The present invention provides an efficient method for fetching instructions having a non-power of two size. For example, the present invention provides a cost-effective and high performance method for an instruction fetch unit of a microprocessor that executes instructions having a non-power of two size.
In one embodiment, a method for fetching instructions having a non-power of two size includes fetching a first instruction cache line having a power of two size for storage in a first line buffer of an instruction fetch unit of a microprocessor, fetching a second instruction cache line having a power of two size for storage in a second line buffer of the instruction fetch unit, and extracting and aligning instruction data stored in the first line buffer and the second line buffer to provide an instruction having a non-power of two size.
In one embodiment, a method for fetching instructions having a non-power of two size includes fetching at least two sequential cache lines of instruction data having a power of two size for storage in dual in-line buffers of an instruction fetch unit, and extracting and aligning a non-power of two size instruction that is stored in the dual in-line buffers. Specifically, two sequential instruction cache lines each having a power of two size (e.g., 32 bytes) are stored in the dual in-line buffers. An instruction having a non-power of two size (e.g., 5 bytes, 10 bytes, 15 bytes, or 20 bytes) is extracted and aligned from the dual in-line buffers in a single clock cycle of the microprocessor. More specifically, an instruction cache line is stored in an instruction cache unit, in which the stored instruction cache line is power of two size-aligned. The instruction cache line is fetched and stored in a first line of the dual in-line buffers. Power of two size instruction cache data (e.g., 32 bytes of instruction cache data) is extracted from the dual in-line buffers and then transmitted to an instruction aligner. A rotate and truncate (RAT) unit of the instruction aligner rotates and truncates the power of two size instruction data to provide an instruction having a non-power of two size, which is then transmitted to an instruction queue for buffering before execution. For example, this method can be used for a microprocessor that implements an instruction set architecture, which includes instructions having a non-power of two size.
Other aspects and advantages of the present invention will become apparent from the following detailed description and accompanying drawings.


REFERENCES:
patent: 5577200 (1996-11-01), Abramson et al.
patent: 5581718 (1996-12-01), Grochowski
patent: 5699551 (1997-12-01), Taylor et al.
patent: 5724422 (1998-03-01), Shang et al.
patent: 5761470 (1998-06-01), Yoshida
patent: 5881260 (1999-03-01), Rajc et al.
patent: 5951674 (1999-09-01), Moreno
patent: 6009510 (1999-12-01), Henry et al.
patent: 6085289 (2000-07-01), Thatcher et al.
patent: 0718758 (1986-06-01), None
patent: WO 98/06042 (1998-02-01), None
IBM Technical Disclosure Bulletin,“Improved Misaligned Cache Access Using Dual Ports”, vol. 39, No. 8, pp. 64-70, Aug. 1996.*
IBM Technical Disclosure Bulletin,“Improved Misaligned Cache Access Using Shadow Bits”, vol. 39, No. 8, pp. 53-54, Aug. 1996.*
IBM Technical Disclosure Bulletin, High Performance Variable-Length Macro Instruction Decode Buffer, vol. 35, No. 1B, pp. 365-366, Jun. 1992.*
Yim et al., “Single Cycle Access Cache for the Misaligned Data and Instruction Prefetch”, Proceedings of the ASP-DAC 97 Asia and South Pacific Design Automation Conference, pp. 677-678, Jan. 28-31, 1997.

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

Efficient method for fetching instructions having a... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Efficient method for fetching instructions having a..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Efficient method for fetching instructions having a... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2605362

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