Can You Capture Physical CPU-to-Memory Addresses in Real Time for Research?

  • Thread starter Thread starter Fubini
  • Start date Start date
  • Tags Tags
    Physical Research
Join the discussion
Registration is free. Start your own thread to ask a follow-up.
3 replies · 2K views
Fubini
Messages
13
Reaction score
0
I'm doing some senior research into caching algorithms. In order to effectively evaluate some of our algorithms it would be amazing if we had access to physical addresses sent from the CPU to the memory captured in real time under real operating conditions. Does anyone know of a place that might have something like this in the public domain for research?

Alternately, would it hypothetically be possible to generate such a thing in software on a standard Intel processor running windows/linux whatever? Kernel hacking would not be out of the question.

Thanks,
David
 
Physics news on Phys.org
I think you want virtual addresses rather than physical ones
 
The issue with this is that it's done in hardware on most CPU's. The kernel only get's involved when there's an attempt to access a page that is not currently mapped in memory. I don't know if any CPU has a means to capture and/or report internal cache hits and/or page hits to some external device.

I don't know if running a virtual machine on an Intel or AMD cpu would provide this information. If so, that would be an alternative, although it would not be real time.

Perhaps something like a ARM cpu setup with sufficient pinouts to trace this information to an external device would be possible.
 
Last edited:
The size and performance of L1, L2 and L3 cache varies from machine to machine, so there is no use in doing a study of that. But if you want to evaluate the performance of a specific machine, the traditional way is to find out exactly how the hardware caches work, and then simulate them with software. That way, you can run all kinds of programs against the simulations and see what's happening.