Electrical computers and digital processing systems: memory – Storage accessing and control – Hierarchical memories
Reexamination Certificate
1997-10-06
2001-01-16
Gossage, Glenn (Department: 2759)
Electrical computers and digital processing systems: memory
Storage accessing and control
Hierarchical memories
C710S068000, C709S247000, C711S123000, C712S239000
Reexamination Certificate
active
06175896
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to increasing the processing speed of a microprocessor, and more particularly to a method and apparatus for increasing memory bandwidth by compression.
2. Description of Related Art
Improvements in microprocessor design have resulted in microprocessors having high clock speeds and the ability to execute multiple instructions per clock cycle. As the processing speed of a microprocessor increases, the microprocessor requires that program instructions and data also be supplied at a higher rate to optimize the use of the microprocessor's execution resources. If the rate at which program instructions (i.e., instruction bandwidth) or data (i.e., data bandwidth) are supplied is less than the processing speed (i.e., processing bandwidth) of the microprocessor, the microprocessor must wait for the information. Such idle time degrades overall system performance because the resources of the microprocessor are not optimally utilized.
When a microprocessor requests data, it first checks its internal cache memory. Program instructions are typically stored in an instruction cache (Icache) and data is typically stored in a data cache (Dcache). Hereinafter, the term data is intended to include both program instructions stored in the Icache and data stored in the Dcache. If the requested data is present in the cache the microprocessor can retrieve it quickly (on the order of a few clock cycles). If the data is not present in the cache, the main memory is checked. If the data is present in main memory, it is retrieved but a penalty is paid for missing the cache (data is retrieved from the main memory on the order of 100's of clock cycles). If the data is not present in main memory, it must be loaded from the hard disk or other storage device, and an even greater penalty is paid (on the order of 1000's of clock cycles).
Data compression algorithms have been used to try to reduce the penalties associated with accessing data stored on the hard disk and to reduce the space required to store files on electronic media including compact disc read only memories (CD ROM's), floppy disks, and hard disks.
A known compression program provides an interface between the main memory and the hard disk in an attempt to reduce the penalties associated with accessing the hard disk for data. Pages of data are read from the hard disk, and compression is attempted. A portion of the main memory is reserved for uncompressed data. This compression increases the apparent size of the main memory. If half of the main memory is reserved for compressed data and an average compression ratio of 3:1 is achieved, the apparent size of the memory is doubled. Pages of data are moved from the compressed portion to the uncompressed portion of the main memory when requested by the microprocessor. The decompression adds overhead because the data is not directly available in the main memory, but the overhead is less than the time required to access the hard disk if the data had not been stored in the main memory at all. This compression system reduces the penalty associated with missing the main memory and having to access the hard disk, but does not address the penalty associated with missing the cache and having to access the main memory for the data.
The first order equation for central processing unit (CPU) performance is:
Total CPU time=(Execution Latency
perfect caches
+Memory Access Latency)
Execution latency is the minimum time required to execute a task if the memory subsystem can be made perfect (i.e., instructions are ready for the processor in the cache when execution resources are available). Memory latency is the additional time required to access main memory if the data is not present in the cache. Because memory bandwidth and throughput have not improved at the same rate as improvements in microprocessor instruction execution rate, the Memory Access Latency term has become a larger percentage contributor to the first order CPU performance equation.
It would be desirable to reduce the contribution of the Memory Access Latency factor to the overall CPU performance equation, thus reducing the penalty paid for missing the cache.
SUMMARY OF THE INVENTION
An aspect of the invention is seen in a microprocessor including a cache memory, a bus interface unit, and an execution engine. The bus interface unit is connected to the cache memory and adapted to receive compressed data. The execution engine is connected to the bus interface unit and adapted to receive the compressed data from the bus interface unit. The execution engine decompresses the compressed data into uncompressed data and transmits the uncompressed data to bus interface unit. The bus interface unit is further adapted to transmit the uncompressed data to the cache memory.
Another aspect of the invention is seen in a method for increasing memory bandwidth in a microprocessor system. The microprocessor system includes a microprocessor having a cache memory. The method comprises receiving compressed data into the microprocessor; decompressing the compressed data into uncompressed data; and transmitting the uncompressed data to the cache memory.
REFERENCES:
patent: 5450562 (1995-09-01), Rosenberg et al.
patent: 5696927 (1997-12-01), MacDonald et al.
patent: 5699539 (1997-12-01), Garber et al.
patent: 5875454 (1999-02-01), Craft et al.
patent: 5915129 (1999-06-01), Slivka et al.
Blakely , Sokoloff, Taylor & Zafman LLP
Gossage Glenn
Intel Corporation
LandOfFree
Microprocessor system and method for increasing memory... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Microprocessor system and method for increasing memory..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Microprocessor system and method for increasing memory... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2537753