Caching 直接映射与完全关联映射

Caching 直接映射与完全关联映射,caching,Caching,每种技术的好处我都很清楚 但我想知道是否有一种情况下,直接地图可以产生更好的命中率超过数据 谢谢。如果条目数相同,替换策略相同,那么直接映射(direct-mapped,providable)最多只能是相同的,再好不过了(假设地址的分布是一致的——除了病理序列) direct Mapping可能更好的地方是当你做一些事情时,比如说“好的,这是我的电源预算,哪个版本的电源命中率最好?”。或者,如果您说“这是我的循环时间,哪种类型的性能更好?” 直接映射的功耗低于完全关联的功耗(其他所有功能,如容量

每种技术的好处我都很清楚

但我想知道是否有一种情况下,直接地图可以产生更好的命中率超过数据


谢谢。

如果条目数相同,替换策略相同,那么直接映射(direct-mapped,providable)最多只能是相同的,再好不过了(假设地址的分布是一致的——除了病理序列)

direct Mapping可能更好的地方是当你做一些事情时,比如说“好的,这是我的电源预算,哪个版本的电源命中率最好?”。或者,如果您说“这是我的循环时间,哪种类型的性能更好?”

直接映射的功耗低于完全关联的功耗(其他所有功能,如容量,都是相同的),因此可以想象,对于相同的功耗和相同的循环时间,使用直接映射可以获得更大的容量,从而获得更好的命中率

此外,对于某些实现,直接映射的速度比完全关联的速度要快,其他条件都相同(例如相同数量的条目)。ASIC存储器的速度随着容量的增加而降低得相对较慢,因此可以想象,在相同的周期时间内,可以获得更大的直接映射容量,从而获得更好的命中率和更好的总体性能

或者,如果缓存速度是整个时钟的限制器(通常是这样),那么您可以保持容量不变,让更快的时钟提供更多instr/sec。由于更快的时钟而获得的性能增益可以克服由于更差的命中率而导致的性能损失


您必须使用给定的处理技术和给定的工作负载进行实验,看看。

如果条目数相同,替换策略相同,那么直接映射(direct-mapped,providable)最多只能是相同的,从来没有更好过(假设地址分布均匀,不考虑病理序列)

direct Mapping可能更好的地方是当你做一些事情时,比如说“好的,这是我的电源预算,哪个版本的电源命中率最好?”。或者,如果您说“这是我的循环时间,哪种类型的性能更好?”

直接映射的功耗低于完全关联的功耗(其他所有功能,如容量,都是相同的),因此可以想象,对于相同的功耗和相同的循环时间,使用直接映射可以获得更大的容量,从而获得更好的命中率

此外,对于某些实现,直接映射的速度比完全关联的速度要快,其他条件都相同(例如相同数量的条目)。ASIC存储器的速度随着容量的增加而降低得相对较慢,因此可以想象,在相同的周期时间内,可以获得更大的直接映射容量,从而获得更好的命中率和更好的总体性能

或者,如果缓存速度是整个时钟的限制器(通常是这样),那么您可以保持容量不变,让更快的时钟提供更多instr/sec。由于更快的时钟而获得的性能增益可以克服由于更差的命中率而导致的性能损失

您必须使用给定的处理技术和给定的工作量进行实验,然后查看