习题
1.写两个测试程序,分别用于测量一台计算机系统最大的MIPS和最大的MFLOPS的值。
2.阅读和分析STREAM v1基准测试程序:
(1)测出一台计算机上的测试结果并给出分析报告。
(2)调节处理器的频率,看内存的带宽和频率的关系。
(3)修改STREAM测试程序,看单精度带宽和双精度带宽的差别。
3.分析SPEC CPU2006中462.libquantum程序,看它对处理器微结构的主要压力在哪里。查阅spec.org网站,看不同编译器对462.libquantum的分值的影响,猜测Intel编译器icc采用了什么编译技术使得其分值能达到上百分。
4.使用Perf工具,测量各种排序算法如冒泡排序、希尔排序等算法的IPC,分析排序算法对处理器微结构的主要压力在哪里。
5.使用gprof工具,获得linpack程序的热点函数。
6.使用LMbench测试程序,获得你的电脑的CPU的一级、二级、三级Cache和内存的访存延迟。
7.使用SimpleScalar模拟器,分析二级Cache的延迟对性能的影响(从24变到12个时钟周期),假设使用Alpha的指令集,测试程序为SPEC CPU2000的164.bzip和253.perlbmk(相应二进制文件可从教材配套网站获取)。
8.嵌入式基准测试程序如EEMBC和桌面基准测试程序在行为特性上有什么差别?
9.查找ARM Cortex A系列处理器的用户手册,列出你认为比较重要的硬件性能计数器的10个性能事件,并给出事件描述。
10.模拟建模的方法和性能测量的方法相比有哪些优点?
11.SimPoint的基本原理是什么,为什么其能减少模拟建模的时间?
12.模拟器和真实的机器怎么校准,校准的评价指标通常是什么?
13.在你的电脑上运行SPEC CPU2000的rate并给出分值。