什么是cache 的四类冲突Compulsory/Capacity/Conflict/Coherence
大家意识到缓存技术在现代计算机体系结构中扮演着至关重要的角色。然而,尽管缓存技术经过长期优化并展现出卓越性能,在实际应用中仍然存在一定的局限性。这些主要体现在以下四个方面即被称为'4C'机制:容量(Capacity)、带宽(Bandwidth)、响应时间(Latency)以及一致性(Consistency)。具体而言,在缓存发生冲突时会触发这四个限制中的一个或多个。
Compulsory
Capacity
Conflict
Coherence
必发事件「Compulsory」 是在系统启动的时候发生。当系统重置后, 缓存为空; 每次对缓存进行访问都会导致缓存缺失.
容量的产生源于缓存容量的限制,在理想状态下所有内容都能存入缓存中而不会出现缓存缺失现象;然而,在实际系统中当缓存已满时新数据块的访问会导致缓存缺失问题。
Conflict occurs due to distinct data blocks sharing the same cache location. Subsequent data may lead to the eviction of earlier cached data blocks.
Cache一致性协议中的“Coherence”机制存在于缓存系统中。例如,CPU A和B运行于基于缓存一致性的系统架构中,CPU内的数据块通常被存放于各自的缓存单元里以提高访问速度。然而,当CPU B尝试更新某个特定的数据块时, 缓存机制会将该数据块从另一个CPU的缓存单元中驱除或标记为无效状态以保证整体的一致性。在较长时间后, 当另一个CPU再次请求该数据块时, 由于该数据已被移除或无效化, 将会导致缓存缺失问题出现并引发性能下降或其他相关问题
总结
缓存大小被提升后能够降低"Capacity"和"Conflict"指标;然而"Compulsory"与"Coherence"两项指标则会维持不变。
通过增加cache关联性,可以减少“Conflict ”,但其他“3C”将保持不变。
