实验概述
实验目的
1. 了解评估CPU特性和程序特性的基本方法;
2. 了解程序插桩分析的基本原理,掌握Pin插桩工具的编写和使用方法;
3. 了解指令依赖距离的概念,掌握使用指令依赖距离分布图分析程序特性的方法。
实验内容
本实验将通过指令计数、指令依赖距离分析两个实际案例,让同学们在掌握Pin插桩工具的编写、编译及运行的同时,了解使用插桩工具评估现代CPU特性及程序特性的基本方法。
本实验的内容分为三部分:
(1)编译并运行指令计数的插桩工具inscount0、inscount1和inscount2,并借助Pin的插桩API文档,对这3个插桩工具的源码进行分析,并将分析及结论写入实验报告中;
(2)参照指令计数工具的代码框架,调用Pin的插桩API编写指令依赖距离分析的插桩工具insDependDist,使用该工具对ls、pwd等常用命令或自编程序进行插桩分析,并绘制相应的指令依赖距离分布图;
(3)思考并回答指导书提出的问题,将答案以及分析过程写入实验报告。