Apparatus and method for permitting reading of data from an external memory when data is stored in a write buffer in the event of a cache read miss
OwnerKenneth D. Shoemakerinventor
Life of this patent
Estimating the term…
Abstract
A microprocessor is described which includes on a single substrate a central processing unit (CPU), write buffer and cache memory. The write buffer includes storage in each of its sections for a bit which indicates a hit/miss condition for the write cycle data stored in that section of the write buffer. If all these bits indicate that the new data in the write buffer has also been written into the cache memory, then read cycles are permitted before the data in the write buffer is written to external memory.
Claims11
A microprocessor comprising:
- a central processing unit (CPU);
- a cache memory coupled to said CPU;
- a write buffer for providing buffering of write cycle data which is to be transferred over an external bus from said CPU to an external memory during a write cycle;
- comparator means coupled to said CPU for determining if addresses associated with said write cycle data match any addresses associated with data stored in said cache memory;
- storage means for storing bits of information representative of said determination made by said comparator means, said storage means being coupled to said comparator means;
- and
- logic means coupled to receive said bits from said storage means for enabling said microprocessor to read data from said external memory when said data is not located in said cache memory and said bits are in a predetermined state that indicates whether each of the addresses associated with said write cycle data matches an address associated with data stored in said cache memory, said microprocessor being disabled from reading data from said external memory otherwise.
A microprocessor including:
- a cache memory;
- a write buffer for temporarily storing data to be written into an external memory, said write buffer having a plurality of sections for storing data and addresses;
- a bit location associated with each of said sections of said write buffer for storing a bit representative of a hit/miss condition, said hit/miss condition indicating whether an address stored in said write buffer corresponds to an address stored in said cache memory;
- and
- logic means coupled to said bit locations for permitting said microprocessor to read a data item from said external memory when said data item is not located in said cache memory and said bits are in a predetermined state that indicates whether each of the addresses stored in said write buffer matches an address stored in said cache memory, said microprocessor not being permitted to read data from said external memory otherwise.
A method of operating a microprocessor coupled to a external memory, said microprocessor having a write buffer and a cache memory, said method comprising the steps of:
- storing in said write buffer write cycle data to be written into said external memory;
- determining by said microprocessor whether address correspondence exists for said write cycle data and data stored in said cache memory;
- storing by said microprocessor for said write cycle data information representing said hit or miss;
- and
- permitting said microprocessor to read data from said external memory in the event of a cache read miss while write cycle data is present in said write buffer;
- otherwise, said microprocessor not being permitted to read data from said external memory.
A computer system comprising;
- a central processing unit (CPU);
- a cache memory coupled to said CPU;
- an external memory coupled to said CPU;
- a storage means for temporarily storing a plurality of data items to be written into said external memory, said storage means being coupled to receive said data items from said CPU, said storage means including a bit means for indicating whether each of said data items is present in said cache memory;
- and
- logic means coupled to said storage means and said CPU for permitting said CPU to read an additional data item from said external memory when said additional data item is not located in said cache memory and said bit means indicates that said plurality of data items are present in said cache memory, said CPU not being permitted to read data from said external memory otherwise.
Dependencies are inferred from the claim text.