【发布时间】:2014-04-17 04:45:33
【问题描述】:
我正在努力解决我的硬件问题。它要求读取一个跟踪文件,其中每一行都有引用类型和十六进制地址。例如,文件中的第一行地址为 0x4ef1200231,指令类型。它还要求检查缓存中的这个地址是命中还是未命中(在 L1 和 L2 中)。我不太确定如何编写 c++(我很新)来检查它是成功还是失败。
我正在想象有一个函数,比如地址(long int),然后如果我调用地址(0x4ef1200231),那么控制台可以告诉我这个地址在 L1 是命中还是未命中,以及是否未命中,然后调用另一个函数来检查 L2 的这个地址。这是不是太天真了?请帮忙。谢谢。
---跟踪中的几行---
4ef1200231 整数
2ff1e0122234 写
82039ef9a3 R
注释:Int 表示指令,WR 表示数据写入,R 表示数据读取。问题是在阅读了整个跟踪文件之后,总共有多少次命中和未命中。谢谢。
【问题讨论】:
-
C++ 中没有任何东西可以为您解答这个问题。听起来这可能是一个纸和铅笔的问题。你能编辑你的帖子并添加几行跟踪文件吗?
标签: c++ performance caching memory