09211311 班 Page 1 / 9 课程名称: 计算机系统结构 实验名称: 代码优化实验 班 级: 09211311 姓 名: schnee 学 号: 日 期: 2012 年 4 月 20 日 09211311 班 Page 2 / 9 目录 1. 实验要求 ............................................................................. 3 2. 实验准备 ............................................................................. 3 2.1. 非线性流水线(Nonlinear Pipelining)错误!未定义书签。 2.2. 非线性流水线的冲突 .................... 错误!未定义书签。 2.3. 无冲突调度方法 ............................ 错误!未定义书签。 3. 实现代码 ............................................................................. 3 4. 实验结果和分析.................................................................. 7 4.1. 测试一:PPT 例题测试 .................................................. 7 4.2. 测试二:对应于同一个流水线的两个不同预约表,测试是否结果一致 .................................................................... 8 5. 实验心得和总结.................................................................. 9 09211311 班 Page 3 / 9 1 . 实验目的 学习简单编译优化方法,观察采用编译优化方法所带来的性能的提高。 2 . 实验原理 采用静态调度方法重排指令序列,减少相关,优化程序。 3 . 实现代码 1. #include
2. #include 3. #include 4. #include 5. using namespace std; 6. const int inf=100000; 7. 8. int mat[20][20]; 9. int tmp_ban[20]; 10. int ban[20]; 11. int int_ban; 12. int point[105]; 13. int edge[105][105]; 14. int pn; 15. 16. double opt_dis; 17. int dis[20]; 18. int dn, pre; 19. bool has[20]; 20. struct optimal 21. { 22. int rn; 23. int road[20]; 24. }op[20]; 25. int opn; 26. 27. 09211311 班 Page 4 / 9 28. void search(int id) 29. { 30. int i, j, k; 31. for(i=0; i