《微处理器体系结构》PDF下载

  • 购买积分:9 如何计算积分?
  • 作  者:许金刚,王维维编著
  • 出 版 社:北京:科学出版社
  • 出版年份:2008
  • ISBN:9787030228079
  • 页数:188 页
图书介绍:本书主要内容有:随机逻辑体系结构、MSPARC随机逻辑結构的VHDL模拟模型、微码体系结构、流水线体系结构、流水线结构的竞争、缓存﹙高速缓冲存储器﹚、虚拟存储器、超标量体系结构、用软件编译辅助改善硬件性能。附录中主要介绍各章重要术语、VHDL模拟模型代码等。

第1章 引言 1

1.1 电子技术及计算机的发展 1

1.1.1 计算机体系结构的历史回顾 1

1.1.2 微电子学的成长与处理器的发展 2

1.1.3 现代计算机的分类 4

1.2 微处理器体系结构简介 5

1.2.1 随机逻辑体系结构 6

1.2.2 微码体系结构 6

1.2.3 流水线体系结构 6

1.3 习题 7

第2章 随机逻辑体系结构 8

2.1 随机逻辑体系结构的特点 8

2.1.1 逻辑门的最小化 8

2.1.2 优化硬件时序以增强性能 8

2.1.3 限制于采用简单的指令集 9

2.2 随机逻辑体系结构的操作 9

2.2.1 取指令操作 10

2.2.2 执行指令操作 10

2.3 使用时序方法以增强随机逻辑体系结构的性能 11

2.3.1 随机逻辑体系结构中的取指时钟周期及执行时钟周期 11

2.3.2 使用不同长度的单个时钟周期 12

2.3.3 使用不同数目的多个时钟周期 12

2.3.4 时序方法的性能分析 17

2.4 MSPARC的指令集 19

2.4.1 随机逻辑体系结构指令集的设计 19

2.4.2 MSPARC的指令集 20

2.5 性能分析 26

2.6 习题 27

第3章 MSPARC随机逻辑结构的VHDL模拟模型 28

3.1 配置模块 28

3.2 顶层系统模块 28

3.3 CPU模块 29

3.3.1 控制单元模块 30

3.3.2 寄存器堆及其他模块 31

3.4 ROM模块 31

3.5 VHDL模型的仿真 32

3.5.1 VHDL模型仿真的指令流 32

3.5.2 仿真结果 33

3.6 实验1:随机逻辑结构CPU的设计和验证 34

3.6.1 简介 34

3.6.2 设定工具环境 34

3.6.3 随机逻辑结构CPU的设计信息 35

3.6.4 验证设计 36

3.7 实验2:执行指令的仿真操作 38

3.7.1 简介 38

3.7.2 验证实验1:设置寄存器指令的仿真操作 38

3.7.3 验证实验2:ALU与逻辑指令的仿真操作 38

3.7.4 验证实验3:存储器访问指令的仿真操作 39

3.8 习题 39

第4章 微码体系结构 40

4.1 微码体系结构的特点 40

4.2 微码机器操作 40

4.2.1 具有单一数据总线、3个寄存器、与使用直接寻址的微码机器 42

4.2.2 具有4个寄存器使用索引寻址的微码机 46

4.3 微码结构与随机逻辑结构的比较 49

4.3.1 指令集的改变导致不同的硬件设计开销 49

4.3.2 两种结构的性能比较 49

4.3.3 现代微码机器的应用 49

4.4 习题 50

第5章 流水线体系结构 51

5.1 流水线体系结构的特性 51

5.2 流水线结构的操作 52

5.2.1 四阶段流水线的操作 52

5.2.2 流水线结构与微码结构的比较 52

5.2.3 流水线阶段与超流水线阶段的比较 53

5.2.4 可视化的流水线阶段 54

5.3 MINI-SPARC流水线结构的VHDL模拟模型 54

5.3.1 Mini-SPARC的特性 54

5.3.2 配置模块 55

5.3.3 顶层系统模块 55

5.3.4 CPU模块 55

5.4 实验3:流水线结构CPU的设计和验证 62

5.4.1 流水线结构CPU的设计信息 62

5.4.2 验证设计 63

5.5 实验4:执行流水线结构指令的实验 65

5.6 习题 65

第6章 流水线结构的冲突 66

6.1 数据冲突 66

6.1.1 数据冲突的两种来源 66

6.1.2 数据冲突的三种形式 67

6.1.3 使用数据旁路以减少写后读冲突 67

6.1.4 将数据旁路加入到Mini-SPARC的VHDL模型 68

6.1.5 无数据旁路的Mini-SPARC模拟 68

6.1.6 使用数据旁路的Mini-SPARC模拟 70

6.2 控制冲突 72

6.2.1 控制冲突的来源——分支损失 72

6.2.2 使用分支预测以减少控制冲突 73

6.2.3 当分支目标被正确预测时的操作 74

6.2.4 当分支目标被错误预测时的操作 74

6.2.5 使用延迟分支以减少控制冲突 75

6.2.6 未采用数据和控制冲突改善时的性能分析——微观式的阶段性能和宏观式的统计性能 75

6.2.7 使用数据旁路时的性能增强 76

6.2.8 使用数据旁路、分支预测和延迟分支时的性能增强 77

6.3 结构冲突 77

6.4 使用统一存储器的计算机系统性能增强的分析 78

6.4.1 不使用任何增强措施(无预取队列等)的计算机系统 79

6.4.2 仅使用预取队列增强措施的计算机系统 80

6.4.3 仅使用数据旁路增强措施的计算机系统 80

6.4.4 使用数据旁路、分支预测与延迟分支等增强措施,但无预取队列的计算机系统 81

6.5 习题 82

第7章 Cache(高速缓冲存储器) 83

7.1 存储器系统 83

7.1.1 微处理器的速度超过动态随机取存存储器 83

7.1.2 微计算机系统中的动态随机取存存储器 83

7.1.3 计算机系统中的存储器层次结构 87

7.2 Cache结构的分类 89

7.2.1 全相联Cache 90

7.2.2 直接映射Cache 91

7.2.3 组相联Cache 92

7.3 指令Cache的结构 92

7.3.1 指令预取队列的使用 93

7.3.2 指令Cache的总线介面接口 94

7.4 Cache的操作 94

7.4.1 直接映射Cache的操作 94

7.4.2 两路组相联Cache的操作 97

7.4.3 Cache被分支指令访问时的操作 98

7.4.4 Cache的两种写入策略 100

7.5 Cache缺失 101

7.5.1 Cache缺失的三种类型 101

7.5.2 强制性缺失率、容量缺失率与Cache容量之间的关系 101

7.5.3 冲突缺失率与相联度之间的关系 102

7.5.4 Cache的总缺失率与Cache容量之间的关系 102

7.5.5 Cache的局部性原理 102

7.6 Cache的性能分析 103

7.6.1 仅使用L1级Cache系统的性能分析 103

7.6.2 使用L1级及L2级Cache系统的性能分析 106

7.7 习题 108

第8章 虚拟存储器 109

8.1 虚拟存储器的特性 109

8.1.1 虚拟存储器与物理存储器之比较 109

8.1.2 虚拟存储器的页面容量 109

8.1.3 虚拟存储器对于缺页的处理 110

8.1.4 虚拟存储器的调页法及按需调页法 110

8.2 通过快表快速查找虚拟存储器所映射的地址 111

8.2.1 快表及Cache的寻址结构 112

8.2.2 虚拟索引-物理标记的非全相联Cache及TLB的总体操作 112

8.3 虚拟存储器的性能分析 115

8.4 习题 116

第9章 超标量体系结构 117

9.1 超标量体系结构的特点 117

9.2 超标量结构操作 118

9.2.1 取指令操作 118

9.2.2 指令的发射操作与执行操作 120

9.3 超标量结构的数据冲突 124

9.3.1 读后写(WAR)和写后写(WAW)数据冲突 124

9.3.2 顺序完成的指令执行过程 124

9.3.3 乱序完成的指令执行过程 126

9.4 使用写缓冲器以减低存储器存入操作的暂停时间 129

9.5 性能分析 130

9.5.1 超标量系统的性能分析 130

9.5.2 具有虚拟存储器的超标量系统的性能分析 132

9.6 习题 133

第10章 用软件编译辅助改善硬件性能 134

10.1 通过循环展开以减少分支损失 134

10.1.1 原循环代码的执行 134

10.1.2 循环代码的展开及其执行 135

10.2 通过重新调度代码减少数据冲突 136

10.3 通过软件流水线化减少数据的相关性 137

10.3.1 流水线化指令流的执行过程 138

10.3.2 流水线化中的起始代码和结束代码 139

10.4 具有编译器辅助的超标量系统的性能分析 140

10.5 习题 141

附录A 重要术语 142

附录B VHDL模拟模型代码 146

B.1 MSPARC随机逻辑结构的VHDL模拟模型代码 146

B.1.1 Configuration VHDL Code(..\rtl_rl\cfg_random) 146

B.1.2 Interfaces of VHDL Modules 147

B.1.3 Top Level System VHDL Code(..\rtl_rl\cpu_sys) 148

B.1.4 CPU Block VHDL Code(..\rtl\L1 sys_entity,..\rtl\L1_sys_arc) 150

B.1.5 Control VHDL Code(../rtl_rl/control) 153

B.1.6 regfile VHDL Code(../rtl/regfile) 160

B.1.7 alu VHDL Code(../rtl/alu) 163

B.1.8 MUX VHDL Code(../rtl/mux2,../rtl/mux4) 167

B.1.9 ROM VHDL Code(../rtl/rom64x16) 168

B.1.10 DRAM VHDL Code(..\rtl\ram64x8) 171

B.2 MINI-SPARC流水线结构的VHDL模拟模型代码 173

B.2.1 Configuration VHDL Code(../rtl_pipe/cfg_pcpu) 173

B.2.2 Interfaces of VHDL Modules 175

B.2.3 CPU Block and Pipeline Stages VHDL Code(pcpu.arc) 175

B.2.4 Fetch Process VHDL Code(../rtl pipe/fetch_arc) 178

B.2.5 Decode Process VHDL Code(../rtl_pipe/decode_arc) 179

B.2.6 Execute Process VHDL Code(../rtl_pipe/execute_arc) 183

B.2.7 Memory Process VHDL Code(../rtl_pipe/memory_arc) 185

B.2.8 Write Process VHDL Code(../rtl_pipe/write_arc) 186

B.3 MINI-SPARC超标量体系结构的VHDL模拟模型代码(../rtl_ss/sscpu) 187