《计算机组成与嵌入式系统 原书第6版》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:(加)哈马克等著;王国华等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2013
  • ISBN:9787111438656
  • 页数:472 页
图书介绍:本书是计算机组成的入门级教程,全面地介绍了计算机组成结构、操作、性能的基本概念,还介绍了有关外围设备、处理器系列模型以及嵌入式系统的一些主要内容。

第1章 计算机的基本结构 1

1.1 计算机的类型 1

1.2 功能部件 2

1.2.1 输入设备 3

1.2.2 存储器 3

1.2.3 运算器 4

1.2.4 输出设备 4

1.2.5 控制器 4

1.3 基本操作概念 4

1.4 数的表示及算术运算 6

1.4.1 整数 6

1.4.2 浮点数 11

1.5 字符表示 11

1.6 性能 12

1.6.1 技术 13

1.6.2 并行性 13

1.7 发展历程 13

1.7.1 第一代计算机 14

1.7.2 第二代计算机 14

1.7.3 第三代计算机 14

1.7.4 第四代计算机 14

1.8 结束语 15

1.9 问题解析 15

习题 16

参考文献 17

第2章 指令集体系结构 18

2.1 存储单元和地址 18

2.1.1 按字节寻址能力 19

2.1.2 大端和小端分配 20

2.1.3 字的对齐 20

2.1.4 访问数和字符 20

2.2 存储器操作 21

2.3 指令和指令序列 21

2.3.1 寄存器传送标记 21

2.3.2 汇编语言符号 22

2.3.3 RISC和CISC指令集 22

2.3.4 RISC指令集介绍 23

2.3.5 指令执行和线性序列 24

2.3.6 转移 25

2.3.7 生成存储器地址 26

2.4 寻址方式 26

2.4.1 变量和常数的实现 27

2.4.2 间接和指针 28

2.4.3 变址和数组 29

2.5 汇编语言 32

2.5.1 汇编指示 33

2.5.2 程序的汇编和执行 35

2.5.3 数的表示 36

2.6 堆栈 36

2.7 子程序 38

2.7.1 子程序嵌套及处理器堆栈 39

2.7.2 参数传递 39

2.7.3 堆栈的结构 42

2.8 其他指令 44

2.8.1 逻辑指令 44

2.8.2 移位和循环移位指令 45

2.8.3 乘法和除法 47

2.9 处理32位的立即值 47

2.10 CISC指令集 48

2.10.1 其他寻址方式 49

2.10.2 条件码 50

2.11 RISC和CISC风格 51

2.12 实例程序 52

2.12.1 向量点积程序 52

2.12.2 字符串搜索程序 53

2.13 机器指令的编码 54

2.14 结束语 56

2.15 问题解析 56

习题 59

第3章 基本输入/输出 63

3.1 访问I/O设备 63

3.1.1 I/O设备接口 64

3.1.2 程序控制I/O 64

3.1.3 一个RISC风格的I/O程序示例 67

3.1.4 一个CISC风格的I/O程序示例 67

3.2 中断 68

3.2.1 中断的允许与禁止 70

3.2.2 处理多台设备 71

3.2.3 控制I/O设备行为 72

3.2.4 处理器控制寄存器 73

3.2.5 中断程序示例 74

3.2.6 异常 78

3.3 结束语 79

3.4 问题解析 79

习题 83

第4章 软件 86

4.1 汇编过程 86

4.2 装载及执行目标程序 87

4.3 连接程序 88

4.4 库 88

4.5 编译器 88

4.5.1 编译器优化 89

4.5.2 组合不同语言编写的程序 89

4.6 调试器 90

4.7 使用高级语言实现输入/输出任务 90

4.8 汇编语言与C语言的交互 92

4.9 操作系统 95

4.9.1 引导程序 96

4.9.2 管理应用程序的执行 96

4.9.3 中断在操作系统中的使用 97

4.10 结束语 99

习题 99

参考文献 100

第5章 基本处理部件 101

5.1 一些基本概念 101

5.2 指令的执行 103

5.2.1 Load指令 103

5.2.2 算术及逻辑运算指令 104

5.2.3 Store指令 104

5.3 硬件组件 105

5.3.1 寄存器文件 105

5.3.2 ALU 106

5.3.3 数据通路 106

5.3.4 取指令部分 108

5.4 指令的读取和执行步骤 109

5.4.1 转移 111

5.4.2 等待存储器 113

5.5 控制信号 114

5.6 硬件控制 116

5.6.1 数据通路控制信号 117

5.6.2 存储器延迟的处理 118

5.7 CICS风格的处理器 118

5.7.1 使用总线实现互连 119

5.7.2 微程序控制 121

5.8 结束语 122

5.9 问题解析 122

习题 124

第6章 流水线 127

6.1 基本概念——理想情况 127

6.2 流水线结构 128

6.3 流水线问题 129

6.4 数据依赖性 129

6.4.1 操作数转发 129

6.4.2 用软件处理数据依赖性 130

6.5 存储器延迟 131

6.6 转移延迟 132

6.6.1 无条件转移 132

6.6.2 条件转移 133

6.6.3 转移延迟槽 133

6.6.4 转移预测 134

6.7 资源限制 136

6.8 性能评估 137

6.8.1 停顿和时间代价的影响 137

6.8.2 流水线的段数 138

6.9 超标量操作 139

6.9.1 转移和数据依赖性 140

6.9.2 无序执行 141

6.9.3 执行完成 141

6.9.4 调度操作 142

6.10 CISC处理器中的流水线 143

6.10.1 ColdFire处理器中的流水线 144

6.10.2 Intel处理器中的流水线 144

6.11结束语 144

6.12 问题解析 145

习题 146

参考文献 148

第7章 输入/输出组织结构 149

7.1 总线结构 149

7.2 总线操作 150

7.2.1 同步总线 150

7.2.2 异步总线 152

7.2.3 电气考虑 154

7.3 总线仲裁 154

7.4 接口电路 156

7.4.1 并行接口 156

7.4.2 串行接口 159

7.5 互连标准 161

7.5.1 通用串行总线 162

7.5.2 火线 164

7.5.3 PCI总线 165

7.5.4 SCSI总线 168

7.5.5 SATA 169

7.5.6 SAS 169

7.5.7 PCI Express 169

7.6 结束语 170

7.7 问题解析 170

习题 172

参考文献 173

第8章 存储器系统 174

8.1 基本概念 174

8.2.半导体随机存储器 175

8.2.1 存储器芯片的内部组织结构 176

8.2.2 静态存储器 177

8.2.3 动态随机存储器 178

8.2.4 同步动态随机存储器 180

8.2.5 大容量存储器的结构 182

8.3 只读存储器 184

8.3.1 ROM 184

8.3.2 PROM 185

8.3 .3 EPROM 185

8.3.4 EEPROM 185

8.3.5 闪存 186

8.4 直接存储器访问 186

8.5 存储器层次结构 188

8.6 高速缓存 189

8.6.1 映射功能 190

8.6.2 替换算法 193

8.6.3 映射技术的例子 194

8.7 性能因素 196

8.7.1 命中率和失效开销 196

8.7.2 处理器芯片上的高速缓存 198

8.7.3 其他改进 198

8.8 虚拟存储器 200

8.9 存储器管理需求 203

8.10 辅助存储器 204

8.10.1 磁盘 204

8.10.2 光盘 208

8.10.3 磁带系统 211

8.11结束语 212

8.12 问题解析 212

习题 215

参考文献 217

第9章 算术运算 218

9.1 有符号数加减法 218

9.2 快速加法器设计 220

9.3 无符号数乘法 224

9.3.1 阵列乘法器 224

9.3.2 顺序电路乘法器 225

9.4 有符号数乘法 227

9.5 快速乘法 229

9.5.1 乘数位偶重编码 229

9.5.2 求和项的进位保留加法 229

9.5.3 使用3-2简化器的求和项加法树 231

9.5.4 使用4-2简化器的求和项加法树 233

9.5.5 快速乘法总结 234

9.6 整数除法 234

9.7 浮点数及其运算 236

9.7.1 浮点数算术运算 238

9.7.2 保护位与截取 239

9.7.3 浮点操作的实现 240

9.8 十进制数到二进制数的转换 242

9.9 结束语 242

9.10 问题解析 243

习题 245

参考文献 248

第10章 嵌入式系统 249

10.1 嵌入式系统实例 249

10.1.1 微波炉 249

10.1.2 数码照相机 251

10.1.3 家用遥测技术 252

10.2 嵌入式应用中的微控制器芯片 252

10.3 一个简单的微控制器 253

10.3.1 并行I/O接口 253

10.3.2 串行I/O接口 256

10.3.3 计数器/定时器 256

10.3.4 中断控制机制 258

10.3.5 编程实例 258

10.4 反应定时器——一个完整的实例 261

10.5 传感器与执行器 264

10.5.1 传感器 264

10.5.2 执行器 266

10.5.3 应用实例 266

10.6 微控制器系列 267

10.6.1 基于Intel 8051的微控制器 268

10.6.2 Freescale微控制器 268

10.6.3 ARM微控制器 269

10.7 设计问题 269

10.8 结束语 271

习题 271

参考文献 273

第11章 片上系统——案例研究 274

11.1 FPGA的实现 274

11.1.1 FPGA器件 275

11.1.2 处理器的选择 275

11.2 计算机辅助设计工具 275

11.3 闹钟示例 279

11.3.1 系统的用户视图 279

11.3.2 系统的定义和生成 279

11.3.3 电路实现 281

11.3.4 应用软件 281

11.4 结束语 287

习题 287

参考文献 288

第12章 并行处理及性能 289

12.1 硬件多线程 289

12.2 向量(SIMD)处理 290

12.3 共享存储器的多处理器 292

12.4 高速缓存一致性 295

12.4.1 直接写协议 295

12.4.2 写回协议 296

12.4.3 监听高速缓存 296

12.4.4 基于目录的高速缓存一致性 297

12.5 消息传递多计算机 298

12.6 多处理器并行编程 298

12.7 性能建模 300

12.8 结束语 301

习题 301

参考文献 302

附录A 逻辑电路 303

附录B Altera Nios Ⅱ处理器 344

附录C ColdFire处理器 371

附录D ARM处理器 397

附录E Intel IA-32体系结构 431

索引 461