Reputation: 21
I tried using PIN tool to capture the memory trace. But, the PIN website says the addresses include all memory reads and writes.
I would like to capture the external memory addresses generated by a program. These addresses are the ones which are generated after cache accesses and hence correspond to physical address in DRAM.
Can you please let me know if I can capture the external memory address trace? I wanted to know if this is already available and if so, please point me to the source.
I saw the question: Getting physical address in pin tool
It says about conversion from virtual to physical. But, I want to get the trace of addresses after cache is accessed.
Upvotes: 1
Views: 1657
Reputation: 358
Short answer is no. Just like any other piece of software, Pin can't tell whether the load/store instruction hit/missed in the cache or not.
The best you can do with Pin I think is to write a cache simulator (you can take a look at the one which comes with Pin - pin-x.y/source/tools/SimpleExamples/dcache.cpp
) and record the accesses (i.e., addresses) which missed in the simulated cache. This won't be accurate for many reasons but it can be useful depending on your needs.
This question and answer discuss a similar point by the way.
Upvotes: 1