Claims
- 1. In a cache controller for a system having a first level cache memory and a second level cache memory, said cache controller comprising:
- a multiple stage address pipeline for holding at least first and second different addresses;
- a look-up control system, simultaneously coupled to more than one stage of said address pipeline, configured to, upon a miss of said first address in said first cache, compare said first address with tag addresses in said second cache while concurrently comparing said second address with tags in said first cache;
- a multiple stage data pipeline for storing data corresponding to said first and second addresses;
- a fetch stack for holding addresses for data to be fetched from said second level cache into said first level cache;
- a multiplexer, coupled to said fetch stack and to said multiple stage address pipeline, for selecting between said fetch stack and said multiple stage address pipeline so that a portion of a second level cache line other than an address immediately needed is provided through said multiplexer when no subsequent first level cache miss is pending; and
- a first level cache address latch coupled to an output of said multiplexer.
- 2. The cache controller of claim 1 wherein said fetch stack holds addresses for portions of a second level cache line other than a portion immediately needed by said first level cache.
- 3. The cache controller of claim 1 wherein said fetch stack holds addresses for a plurality of second level cache lines.
- 4. The cache controller of claim 1 further comprising:
- a second multiplexer having an output coupled to said multiple stage address pipeline;
- a read address queue having an output coupled to a first input of said second multiplexer;
- a write address queue having an output coupled to a second input of said second multiplexer; and
- compare logic coupled between each of a plurality of positions in said fetch stack and said read address and write address queues.
- 5. In a cache controller for a system having a first level cache memory and a second level cache memory, said cache controller comprising:
- a multiple stage address pipeline for holding at least first and second different addresses;
- a look-up control system, simultaneously coupled to more than one stage of said address pipeline, configured to, upon a miss of said first address in said first cache, compare said first address with tag addresses in said second cache while concurrently comparing said second address with tags in said first cache;
- a multiple stage data pipeline for storing data corresponding to said first and second addresses;
- a fetch stack for holding addresses for data to be fetched from said second level cache into said first level cache, wherein said fetch stack holds addresses for portions of a second level cache line other than a portion immediately needed by said first level cache;
- a first multiplexer, coupled to said fetch stack and to said multiple stage address pipeline, for selecting between said fetch stack and said multiple stage address pipeline so that a portion of a second level cache line other than an address immediately needed is provided through said first multiplexer when no subsequent first level cache miss is pending;
- a first level cache address latch coupled to an output of said first multiplexer;
- a second multiplexer having an output coupled to said multiple stage address pipeline;
- a read address queue having an output coupled to a first input of said second multiplexer;
- a write address queue having an output coupled to a second input of said second multiplexer; and
- compare logic coupled between each of a plurality of positions in said fetch stack and said read address and write address queues.
Parent Case Info
This application is related to application No. 405,268, filed Mar. 13, 1995, U.S. Pat. No. 5,826,052.
US Referenced Citations (28)