Interleaved cache for multiple accesses per clock cycle in a microprocessor
AssigneeIntel Corporation
InventorsDonald B. Alpert, Mustafiz R. Choudhury, Jack D. Mills
Life of this patent
Estimating the term…
Loading patent…
AssigneeIntel Corporation
InventorsDonald B. Alpert, Mustafiz R. Choudhury, Jack D. Mills
Estimating the term…
An interleaved cache is used for multiple data accesses per clock in a microprocessor. The cache includes a storage array having multiple banks of single-ported memory cells for storing data, a bank selector for selecting banks in the storage array simultaneously according to the multiple data accesses, and a datapath for transfering data between execution units in the microprocessor and the storage array. The cache of the present invention also includes contention logic for prioritizing the multiple data accesses when multiple data accesses are to be same bank.
An on chip cache memory for use in a microprocessor, wherein the microprocessor includes a plurality of execution units for executing a plurality of instructions, wherein a plurality of simultaneous data accesses are required for the execution of said plurality of instructions, each of said plurality of data accesses being independently addressable, said cache memory comprising:
An interleaved cache memory for use in a microprocessor, wherein the microprocessor includes a plurality of execution units for executing a plurality of instructions per clock cycle, wherein a plurality of simultaneous data accesses to said cache memory are required for the execution of said plurality of instructions according to an access type, each of said plurality of data accesses being independently addressable, said cache memory comprising:
An interleaved cache memory for use in a microprocessor, wherein the microprocessor includes a plurality of execution units for executing a plurality of instructions per clock cycle, wherein a plurality of simultaneous accesses to said cache memory are made during the execution of said plurality of instructions according to an access type, each of said plurality of data accesses being independently addressable, said cache comprising:
A microprocessor formed in a single integrated circuit chip for use in a computer system, said microprocessor comprising:
A computer system comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Cache with multiple tag or data arrays being simultaneously accessible: cache with interleaved addressing
Overlapped cache accessing, e.g. pipeline: by multiple requestors
Overlapped cache accessing, e.g. pipeline: with reload from main memory
Providing a specific technical effect: power efficiency
Term ended 24 Sep 2013 (estimated)
USPTO file history isn’t available for this patent, so only indexed dates are shown.
The present invention relates to the field of microprocessors; specifically, to interleaved cache memories representing a level of the memory hierarchy between the central processing unit (CPU) and the main memory.
Throughout the development of computer systems, a primary emphasis has been on increasing the speed of such systems and their ability to handle larger and more complicated programs while reducing their cost. In order to increase the ability of a computer system, it is necessary to both increase the size of the random access memory (RAM) so that larger programs may be utilized by the computer system and to increase the speed at which access to that RAM is afforded. The straightforward method of increasing access speed is to use components which operate more quickly. However, such rapidly-operating components are more expensive than slower memory components.
Due to the cost involved in providing high speed RAM, advanced computer systems have used high-speed caching arrangements to increase the operational speed of the memory system. A caching arrangement provides a small portion of especially fast memory in addition to the regular RAM. As commands are issued and data is utilized, the information is called from RAM and stored in this cache memory. As each new read or write command is issued, the system looks to the fast memory cache to determine if the information is stored in the cache. If the information is available in the cache memory, access to the RAM is not required and the command may be processed or the data accessed much more rapidly. If the information is not available in the cache memory, then new data may be copied from the main memory and stored in the cache memory where it can be accessed and remains ready for later use by the system. In well-designed memory systems, the information sought lies in the cache memory over 90% of the time on an average. Consequently, use of the cache memory substantially speeds the overall operation of the memory utilized in a computer system.
The present invention will be understood more fully from the detailed description given below and from the accompanying drawings of the preferred embodiments of the invention, which, however, should not be taken to limit the invention to the specific embodiments, but are for explanation and understanding only.
FIG. 1 is a block diagram of the computer system of the present invention.
FIG. 2 is a block diagram of the microprocessor of the present invention.
An interleaved data cache allowing multiple data accesses per clock in a microprocessor is described. In the following description, numerous specific details are set forth, such as specific numbers of bytes, bits, devices, etc., in order to provide a thorough understanding of the preferred embodiment of the present invention. It will be obvious to one skilled in the art that the present invention may be practiced without these specific details. Also, well known circuits have been shown in block diagram form, rather than in detail, in order to avoid unnecessarily obscuring the present invention.
In the course of describing the present invention, frequent reference may be made to the use of the interleaved data cache in conjunction with certain specific CPU architectures and/or microprocessor types, such as the Intel i586.TM. and i860XP.TM. microprocessors. These implementations merely reflect the currently preferred embodiment of the present invention. It should be understood that the concepts embodied in the present invention are applicable, or may be extended to other processor types and architectures.
In addition, in describing the present invention, reference is made to signal names peculiar to the currently preferred embodiment. Reference to these specific signal names should not be construed as a limitation on the spirit or scope of the present invention.