作者近期正在搭建基于Pin的Cache仿真平台,用来评估不同Cache策略和架构下的性能。由于仿真速度方面的考虑,现在都是使用Pin工具直接获取Fetch、Load、Store的虚拟地址作为Cache的访问地址。经过验证,在单进程下,使用虚拟地址,能够精确模拟物理地址情况下的实际Cache性能。在另一篇文章中,作者会针对仿真平台和测试过程进行介绍,并与Intel I7-4790K进行比较,对SPEC CPU 2006进行测试,测试结果基本一致。
本文的重点是介绍虚拟地址和物理地址的情况,分别说明目标文件、动态库、静态库中的指令、全局变量、局部变量的地址情况。