摘要 |
A system for converting between the states of fresh and owned in a multi-processor computer system comprises a memory line with a structure including a first field for storing a memory state, a second field for storing an address, and a third field for storing data. Each of the cache lines for processors in the system includes a plurality of data fields including one for storing the cache line state, one for storing a forward pointer, one for storing a backward pointer, and one for storing data. A method is also provided for automatically washing memory lines. The system is advantageous because it allows the data to be transferred immediately when it is available, rather than requiring the next cache-line owner to poll until the data is available. Still more particularly, the present invention provides a method of reliably converting an owned data line from stale to fresh when read fresh accesses are being performed, while correctly leaving the line in an owned state if additional read owned access occur. The present invention maximizes the efficiency of memory by maintaining a fresh copy of the data line when the data is only being read, and maintaining an owned copy of the data line when the data is being read and written.
|