Claims
- 1. A computer system permitting multiple write buffer read-arounds comprising, in combination:
- CPU (Central Processing Unit) means for executing cycles for said computer system;
- cache means coupled to said CPU means for storing data;
- write buffer means coupled to said CPU means for receiving write data from said CPU means;
- bus arbiter means coupled to said CPU means and said write buffer means for determining which of said CPU means and said write buffer means gains control of a bus;
- signal means coupled to said write buffer means for signalling when data coherency exists between said cache means and said write buffer means and for permitting said CPU means to read-around said write buffer a plurality of times as long as said data coherency exists between said cache means and said write buffer means.
- 2. The system of claim 1 further comprising slave device means coupled to said bus arbiter means for interacting with at least one of said CPU means, said cache means, and said write buffer means.
- 3. The system of claim 2 wherein said slave device means comprises a plurality of slave devices.
- 4. The system of claim 2 wherein said signal means comprises:
- first signal means coupled between said cache means and said write buffer means for informing said write buffer when valid data is written into said cache means and for informing said write buffer when an address on a bus matches an address stored in said cache; and
- second signal means coupled between said write buffer means and said arbiter means for informing said bus arbiter means when data stored within said write buffer means is also stored within said cache means and for permitting said write data to be written from said write buffer.
- 5. The system of claim 4 wherein said first signal line means comprises:
- cache write signal means coupled between said cache means and said write buffer means for informing said write buffer means when data has been written into said cache means;
- tag match signal means coupled between said cache means and said write buffer means for informing said write buffer means when a tag portion of an address on a bus matches a tag portion of an address stored in said cache means; and
- cache hit signal means for informing said write buffer when a selected portion of data within said cache means is valid.
- 6. The system of claim 4 wherein said second signal means comprises:
- WB (Write Buffer) coherent signal means coupled between said write buffer means and said bus arbiter means for informing said bus arbiter means when said write data stored within said write buffer means is also stored within said cache means;
- WB request signal means coupled between said write buffer means and said bus arbiter means for requesting authorization from said bus arbiter means to write said write data from said write buffer means to said slave device means;
- WB grant signal means coupled between said write buffer means and said bus arbiter means for granting said authorization from said bus arbiter means to said write buffer means to write said write data from said write buffer means to said slave device means; and
- WB bus means coupled between said write buffer means and said bus arbiter means for transferring said write data to said slave device means from said write buffer means.
- 7. The system of claim 1 wherein said write buffer means includes coherency bit means located therein for determining when said write data located in said write buffer means is also stored in said cache means and for permitting full and partial flushes of said write data from said write buffer means to reestablish said data coherency exists between said cache means and said write buffer means.
- 8. The system of claim 2 wherein said slave device means comprises a memory device.
- 9. The system of claim 2 wherein said slave device means comprises at least one of a RAM (Random Access Memory) device and a ROM (Read Only Memory).
- 10. A computer system permitting multiple write buffer read-arounds comprising, in combination:
- CPU (Central Processing Unit) means for executing cycles for said computer system;
- cache means coupled to said CPU means for storing data;
- write buffer means coupled to said CPU means for receiving write data from said CPU means;
- bus arbiter means coupled to said CPU means and said write buffer means for determining which of said CPU means and said write buffer means gains control of a bus;
- slave device means coupled to said bus arbiter means for interacting with at least one of said CPU means, said cache means, and said write buffer means;
- first signal means coupled between said cache means and said write buffer means for informing said write buffer when valid data is written into said cache means and for informing said write buffer when an address on a bus matches an address stored in said cache, said first signal means comprising:
- cache write signal means coupled between said cache means and said write buffer means for informing said write buffer means when data has been written into said cache means;
- tag match means coupled between said cache means and said write buffer means for informing said write buffer means when a tag portion of an address on a bus matches a tag portion of an address stored in said cache means; and
- cache hit signal means for informing said write buffer when a selected portion of data within said cache means is valid;
- second signal means coupled between said write buffer means and said arbiter means for informing said bus arbiter means when data stored within said write buffer means is also stored within said cache means and for permitting said write data to be written from said write buffer, said second signal means comprising:
- WB (Write Buffer) coherent signal means coupled between said write buffer means and said bus arbiter means for informing said bus arbiter means when said write data stored within said write buffer means is also stored within said cache means;
- WB request signal means coupled between said write buffer means and said bus arbiter means for requesting authorization from said bus arbiter means to write said write data from said write buffer means to said slave device means;
- WB grant signal means coupled between said write buffer means and said bus arbiter means for granting said authorization from said bus arbiter means to said write buffer means to write said write data from said write buffer means to said slave device means; and
- WB bus means coupled between said write buffer means and said bus arbiter means for transferring said write data to said slave device means from said write buffer means; and
- coherency bit means located within said write buffer means for determining when said write data located in said write buffer means is also stored in said cache means and for permitting full and partial flushes of said write data from said write buffer means to reestablish said data coherency exists between said cache means and said write buffer means.
- 11. A method for providing a computer system permitting multiple write buffer read-arounds comprising the steps of:
- providing CPU (Central Processing Unit) means for executing cycles for said computer system;
- providing cache means coupled to said CPU means for storing data;
- providing write buffer means coupled to said CPU means for receiving write data from said CPU means;
- providing bus arbiter means coupled to said CPU means and said write buffer means for determining which of said CPU means and said write buffer means gains control of a bus;
- providing signal means coupled to said write buffer means for signalling when data coherency exists between said cache means and said write buffer means and for permitting said CPU means to read-around said write buffer a plurality of times as long as said data coherency exists between said cache means and said write buffer means.
- 12. The method of claim 11 further comprising the step of providing slave device means coupled to said bus arbiter means for interacting with at least one of said CPU means, said cache means, and said write buffer means.
- 13. The method of claim 12 wherein said step of providing slave device means comprises the step of providing a plurality of slave devices.
- 14. The method of claim 12 wherein said step of providing signal means further comprises the steps of:
- providing first signal means coupled between said cache means and said write buffer means for informing said write buffer when valid data is written into said cache means and for informing said write buffer when an address on a bus matches an address stored in said cache; and
- providing second signal means coupled between said write buffer means and said arbiter means for informing said bus arbiter means when data stored within said write buffer means is also stored within said cache means and for permitting said write data to be written from said write buffer.
- 15. The method of claim 14 wherein said step of providing first signal line means further comprises the steps of:
- providing cache write signal means coupled between said cache means and said write buffer means for informing said write buffer means when data has been written into said cache means;
- providing tag match signal means coupled between said cache means and said write buffer means for informing said write buffer means when a tag portion of an address on a bus matches a tag portion of an address stored in said cache means; and
- providing cache hit signal means for informing said write buffer when a selected portion of data within said cache means is valid.
- 16. The system of claim 14 wherein said step of providing second signal means further comprises the steps of:
- providing WB (Write Buffer) coherent signal means coupled between said write buffer means and said bus arbiter means for informing said bus arbiter means when said write data stored within said write buffer means is also stored within said cache means;
- providing WB request signal means coupled between said write buffer means and said bus arbiter means for requesting authorization from said bus arbiter means to write said write data from said write buffer means to said slave device means;
- providing WB grant signal means coupled between said write buffer means and said bus arbiter means for granting said authorization from said bus arbiter means to said write buffer means to write said write data from said write buffer means to said slave device means; and
- providing WB bus means coupled between said write buffer means and said bus arbiter means for transferring said write data to said slave device means from said write buffer means.
- 17. The method of claim 11 wherein said step of providing write buffer means further comprises the step of providing coherency bit means located within said write buffer means for determining when said write data located in said write buffer means is also stored in said cache means and for permitting full and partial flushes of said write data from said write buffer means to reestablish said data coherency exists between said cache means and said write buffer means.
- 18. The method of claim 12 wherein said step of providing slave device means further comprises the step of providing a memory device.
- 19. The method of claim 12 wherein said step of providing slave device means comprises the step of providing at least one of a RAM (Random Access Memory) device and a ROM (Read Only Memory).
Parent Case Info
This is a continuation of application Ser. No. 08/298,987 filed on Aug. 31, 1994, now abandoned.
US Referenced Citations (3)
Number |
Name |
Date |
Kind |
4805098 |
Mills, Jr. et al. |
Feb 1989 |
|
5179679 |
Shoemaker |
Jan 1993 |
|
5418755 |
Nguyen et al. |
May 1995 |
|
Continuations (1)
|
Number |
Date |
Country |
Parent |
298987 |
Aug 1994 |
|