如何验证汇编中的回写4路组关联缓存?

时间:2014-07-20 03:20:53

标签: caching assembly computer-architecture

我在glassdoor上遇到过这个问题,但我无法找到任何解决方案来解决它。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

我没有足够的信誉'发表评论......通过"验证"你想要简单地确认所描述的参数是特定缓存的参数吗?或者这更像是确保你认为那里有什么?或者你是否想弄清楚缓存的实际大小是什么?

第一个和第三个选项最简单的方法是编写一个双嵌套循环。内部循环一次一个地写入五个连续的字节,一遍又一遍。外循环改变五个字节之间的步幅,使外循环的每次迭代的距离加倍。将RDTSCs / 0x0f 0x31(对于intel)放在内部循环周围。时间会在某个时刻大幅跳跃。在延迟跳跃之前,字节* 4之间的距离是缓存的大小。内循环的行程计数应为1000左右,以分摊每个高速缓存行的初始未命中。延迟的增加可能不会很大。"由于二级缓存,但您应该能够看到第五次写入导致第一次写入被驱逐的位置。 我想如果你愿意,你可以在内循环中进行8次写操作,这可能会增加延迟增加的幅度。