Coherency for write-back cache in a system designed for write-through cache including write-back latency control
First Claim
1. In a multi-master computer system including a processor with an internal cache, where the computer system does not support operating the processor in write-back mode by implementing a write-back coherency protocol to maintain coherency between the internal cache and main memory during DMA (direct memory access) operations, a write-back coherency system to support use of a processor in which the internal cache is operable in write-back mode or write-through mode, comprising:
- (a) cache control means for selectively switching the internal cache between write-through and write-back mode;
(b) bus arbitration means for detecting an arbitration-request signal indicating a request by a requesting bus master for a DMA operation;
(c) write-back coherency means for inhibiting, if the internal cache is in write-back mode, and if the internal cache contains dirty data, the bus arbitration logic from asserting an arbitration-acknowledge signal to allow the DMA operation to proceed until an export operation is performed to export such dirty data; and
(d) X% DIRTY means for causing the cache control logic to switch the cache from write-back to write-through mode if a write to the internal cache would cause the number of cache locations containing dirty data to exceed a predetermined maximum percentage of the total number of cache locations.
3 Assignments
0 Petitions
Accused Products
Abstract
A write-back coherency system is used, in an exemplary embodiment, to implement write-back caching in an x86 processor installed in a multi-master computer system that does not support a write-back protocol for maintaining coherency between an internal cache and main memory during DMA operations. The write-back coherency system interrupts the normal bus arbitration operation to allow export of dirty data, and includes an X%DIRTY latency-control function. In response to an arbitration-request (such as HOLD), if the internal cache contains dirty data, the processor is inhibited from providing arbitration-acknowledge (such as HLDA) until the dirty data is exported (the cache is dynamically switched to write-through mode to prevent data in the cache from being made dirty while the bus is arbitrated away). While the requesting bus master is accessing memory, bus snooping is performed and invalidation logic invalidates at least those cache locations corresponding to locations in memory that are affected by the requesting bus master. The X%DIRTY function provides write-back latency control by dynamically switching the cache from write-back to write-through mode if a cache write would cause the number of cache locations containing dirty data to exceed a predetermined maximum percentage of the total number of cache locations.
55 Citations
13 Claims
-
1. In a multi-master computer system including a processor with an internal cache, where the computer system does not support operating the processor in write-back mode by implementing a write-back coherency protocol to maintain coherency between the internal cache and main memory during DMA (direct memory access) operations, a write-back coherency system to support use of a processor in which the internal cache is operable in write-back mode or write-through mode, comprising:
-
(a) cache control means for selectively switching the internal cache between write-through and write-back mode; (b) bus arbitration means for detecting an arbitration-request signal indicating a request by a requesting bus master for a DMA operation; (c) write-back coherency means for inhibiting, if the internal cache is in write-back mode, and if the internal cache contains dirty data, the bus arbitration logic from asserting an arbitration-acknowledge signal to allow the DMA operation to proceed until an export operation is performed to export such dirty data; and (d) X% DIRTY means for causing the cache control logic to switch the cache from write-back to write-through mode if a write to the internal cache would cause the number of cache locations containing dirty data to exceed a predetermined maximum percentage of the total number of cache locations. - View Dependent Claims (2, 3, 4, 5)
-
-
6. In a multi-master computer system including a processor with an internal cache, where the computer system does not support operating the processor in write-back mode by implementing a write-back coherency protocol to maintain coherency between the internal cache and main memory during DMA (direct memory access) operations, a write-back coherency system to support use of a processor in which the internal cache is operable in write-back mode or write-through mode, comprising:
-
(a) cache control logic that selectively switches the internal cache between write-through and write-back mode; (b) bus arbitration logic that detects an arbitration-request signal indicating a request by a requesting bus master for a DMA operation; and (c) write-back coherency logic that, if the internal cache is in write-back mode, and if the internal cache contains dirty data, inhibits the bus arbitration logic from asserting an arbitration-acknowledge signal to allow the DMA operation to proceed until an export operation is performed to export such dirty data; and (d) X% DIRTY logic that causes the cache control logic to switch the cache from write-back to write-through mode if a write to the internal cache would cause the number of cache locations containing dirty data to exceed a predetermined maximum percentage of the total number of cache locations. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A write-back coherency method for a multi-master computer system including a processor with an internal cache, where the computer system does not support operating the processor in write-back mode by implementing a write-back coherency protocol to maintain coherency between the internal cache and main memory during DMA (direct memory access) operations, the write-back coherency method supporting use of a processor in which the internal cache is operable in write-back mode or write-through mode, comprising the steps:
-
(a) detecting an arbitration-request signal indicating a request by a requesting bus master for a DMA operation; (b) if the internal cache is in write-back mode, and if the internal cache contains dirty data, inhibiting the assertion of an arbitration-acknowledge signal to allow the DMA operation to proceed until an export operation is performed to export such dirty data; and (c) if the internal cache is in write-back mode, selectively switching the internal cache to write-through mode if a write to the internal cache would cause the number of cache locations containing dirty data to exceed a predetermined maximum percentage of the total number of cache locations. - View Dependent Claims (12, 13)
-
Specification