实验1 MIPS指令系统和MIPS体系结构 1
1.1 实验目的 1
1.2 实验平台 1
1.3 实验内容和步骤 1
1.4 MIPSsim使用手册 4
1.4.1 启动模拟器 4
1.4.2 MIPSsim的窗口 4
1.4.3 MIPSsim的菜单 11
1.5 相关知识:MIPS指令系统 15
1.5.1 MIPS的寄存器 15
1.5.2 MIPS的数据表示 16
1.5.3 MIPS的数据寻址方式 16
1.5.4 MIPS的指令格式 16
1.5.5 MIPS的部分指令介绍 18
1.5.6 汇编程序举例 20
实验2 流水线及流水线中的冲突 22
2.1 实验目的 22
2.2 实验平台 22
2.3 实验内容和步骤 22
2.4 MIPSsim使用手册 24
2.5 相关知识:流水线、相关与冲突 24
2.5.1 一条经典的5段流水线 24
2.5.2 相关与流水线冲突 26
2.5.3 流水线的实现 31
实验3 指令调度和延迟分支 35
3.1 实验目的 35
3.2 实验平台 35
3.3 实验内容和步骤 35
3.4 MIPSsim使用手册 36
3.5 相关知识:指令调度和延迟分支 37
3.5.1 指令调度 37
3.5.2 延迟分支 37
实验4 Cache性能分析 40
4.1 实验目的 40
4.2 实验平台 40
4.3 实验内容和步骤 40
4.3.1 Cache容量对不命中率的影响 40
4.3.2 相联度对不命中率的影响 41
4.3.3 Cache块大小对不命中率的影响 42
4.3.4 替换算法对不命中率的影响 42
4.4 MyCache模拟器使用方法 43
4.5 相关知识:Cache的基本原理 44
4.5.1 Cache的映像规则 44
4.5.2 查找方法 46
4.5.3 替换算法 46
4.5.4 写策略 47
4.5.5 改进Cache性能 47
4.5.6 三种类型的不命中 48
4.5.7 降低不命中率的方法 48
4.5.8 分离Cache和混合Cache 55
实验5 Tomasulo算法 56
5.1 实验目的 56
5.2 实验平台 56
5.3 实验内容和步骤 56
5.4 Tomasulo算法模拟器的使用方法 57
5.5 相关知识:Tomasulo算法 60
5.5.1 基本思想 60
5.5.2 具体算法 63
实验6 再定序缓冲(ROB)工作原理 67
6.1 实验目的 67
6.2 实验平台 67
6.3 实验内容和步骤 67
6.4 ROB模拟器的使用方法 68
6.5 相关知识:再定序缓冲ROB 71
实验7 多Cache一致性——监听协议 74
7.1 实验目的 74
7.2 实验平台 74
7.3 实验内容和步骤 74
7.4 监听协议模拟器使用方法 75
7.5 相关知识:监听协议 76
7.5.1 基本思想 76
7.5.2 监听协议的实现 77
实验8 多Cache一致性——目录协议 82
8.1 实验目的 82
8.2 实验平台 82
8.3 实验内容和步骤 82
8.4 目录协议模拟器使用方法 83
8.5 相关知识:目录协议 84
8.5.1 目录协议的基本思想 84
8.5.2 目录协议实例 87
附录A MIPSsim的指令列表 91
附录B MIPSsim的指令系统 100
附录C 模拟器MIPSsim的汇编语言 158
参考文献 161