我有一些x86汇编代码。我想确定加载内存的说明,以便我可以确定CPU正在访问多少个不同的缓存行块。
我应该注意哪些x86指令的子集?最初我只是认为这是以mov
开头的所有说明,它还加载了qword
或dword
,并包含ptr
引用,但我想先检查一下。< / p>
答案 0 :(得分:0)
您的方法存在缺陷。相同的指令可以访问不同的缓存行。例如memcpy
只需要一些指令,但可以在一个循环中触及几兆字节的内存。
在反汇编输出中查找内存操作数并不能让你到任何地方,因为很多指令会加载/存储相同的数据,循环中的一些指令会加载/存储大量不同的数据。
您需要一个缓存/内存分析程序来找到最终问题的答案。