Claims
- 1. A symmetric multi-processing system having a plurality of functional units comprising:
- a cache in at least one of the plurality of the functional units for storing data and program instructions, said cache comprising:
- a plurality of cache lines, each occupying one address location in a cache memory;
- a cache tag for storing a status of the data or of a copy of the data as Exclusive, Shared, Modified, or Invalid; and
- a cache mechanism for reading and writing a data from cache line to cache line, from cache line to RAM, or from RAM to cache line;
- a snoop logic that examines a cache tag to identify its status, and monitors read cache line and write into cache line requests.
- 2. The system as described in claim 1, wherein said snoop logic detects a read cache line request.
- 3. The system as described in claim 2, wherein said cache is a CPU cache.
- 4. The system as described in claim 2, wherein said cache is a bridge controller cache.
- 5. The system as described in claim 4, wherein in the CPU cache, the cache mechanism initiates an out-of-order cache-to-cache transfer of Modified data if said snoop logic detects a Modified copy of the data in a cache line of said plurality of cache lines.
- 6. The system as described in claim 5, wherein in the bridge controller cache, the cache mechanism causes Modified data to be written into RAM if said snoop logic detects a Modified copy of the data in a cache line of said plurality of cache lines.
- 7. The system as described in claim 2, wherein if said snoop logic detects a copy of the data in the cache line of said plurality of cache lines, then all copies of a data are marked Shared.
- 8. The system as described in claim 2, wherein if said snoop logic does not detect a copy or a Modified copy of a data in the cache line of said plurality of cache lines, then data is marked Exclusive.
- 9. The system as described in claim 1, wherein snoop logic detects a write into cache line request.
- 10. The system as described in claim 9, wherein if data is Exclusive then data is marked Modified and it is written into a cache line of said plurality of cache lines.
- 11. The system as described in claim 9, wherein if data is Shared then data is marked Modified and it is written into a cache line of said plurality of cache lines, and all other copies are marked Invalid.
- 12. The system as described in claim 9, wherein if data is Modified then data is written into a cache line of said plurality of cache lines and all other copies of the data are marked Invalid.
- 13. The system as described in claim 1, wherein if any cache line of said plurality of cache lines is marked Exclusive then no cache owns said cache line.
CROSS-REFERENCES TO RELATED APPLICATIONS
This application is a continuation of patent application Ser. No. 08/814,606, filed Mar. 10, 1997, now abandoned, which is a continuation of Ser. No. 08/258,323, filed Jun. 10, 1994, abandoned which is a continuation of patent application Ser. No. 08/056,708, filed on Apr. 30, 1993, now abandoned.
Please incorporate by reference U.S. Pat. No. 5,522,069, a continuation of Ser. No. 08/056,708, issued May 28, 1996, a related application.
US Referenced Citations (35)
Non-Patent Literature Citations (2)
Entry |
William J. Dally, "Parallel Processing: Architecture and Directions," (IEEE Computer Society Press, 1989). p. 65. |
"Z-1000 High-Performance Multiuser Computer System--Circuits Analysis Manual" (Zenith Data Systems, 1989). pp. 2-1 to 2-35. |
Continuations (3)
|
Number |
Date |
Country |
Parent |
814606 |
Mar 1997 |
|
Parent |
258323 |
Jun 1994 |
|
Parent |
056708 |
Apr 1993 |
|