图书>教材>本科教材>工学门类>计算机硬件
计算机组成与嵌入式系统(原书第6版)

计算机组成与嵌入式系统(原书第6版)"

作者:V.CarlHamacher,ZvonkoG.Vranesic,SafwatG.Zaky
ISBN:978-7-111-43865-6
定价:¥79.0
字数:540千字
页数:
出版时间:2013-10-22
开本:16
版次:
装帧:
出版社:机械工业出版社
简介

本书是计算机组成的入门级教程,全面地介绍了计算机组成结构、操作、性能的基本概念,还介绍了有关外围设备、处理器系列模型以及嵌入式系统的一些主要内容。

前言

目录

目  录
Computer Organization and Embedded Systems, Sixth Edition
出版者的话
译者序
前言
作者简介
第1章 计算机的基本结构 #8; 1
1.1 计算机的类型 #8; 1
1.2 功能部件 #8; 2
1.2.1 输入设备 #8; 3
1.2.2 存储器 #8; 3
1.2.3 运算器 #8; 4
1.2.4 输出设备 #8; 4
1.2.5 控制器 #8; 4
1.3 基本操作概念 #8; 4
1.4 数的表示及算术运算 #8; 6
1.4.1 整数 #8; 6
1.4.2 浮点数 #8; 11
1.5 字符表示 #8; 11
1.6 性能 #8; 12
1.6.1 技术 #8; 13
1.6.2 并行性 #8; 13
1.7 发展历程 #8; 13
1.7.1 第一代计算机 #8; 14
1.7.2 第二代计算机 #8; 14
1.7.3 第三代计算机 #8; 14
1.7.4 第四代计算机 #8; 14
1.8 结束语 #8; 15
1.9 问题解析 #8; 15
习题 #8; 16
参考文献 #8; 17
第2章 指令集体系结构 #8; 18
2.1 存储单元和地址 #8; 18
2.1.1 按字节寻址能力 #8; 19
2.1.2 大端和小端分配 #8; 20
2.1.3 字的对齐 #8; 20
2.1.4 访问数和字符 #8; 20
2.2 存储器操作 #8; 21
2.3 指令和指令序列 #8; 21
2.3.1 寄存器传送标记 #8; 21
2.3.2 汇编语言符号 #8; 22
2.3.3 RISC和CISC指令集 #8; 22
2.3.4 RISC指令集介绍 #8; 23
2.3.5 指令执行和线性序列 #8; 24
2.3.6 转移 #8; 25
2.3.7 生成存储器地址 #8; 26
2.4 寻址方式 #8; 26
2.4.1 变量和常数的实现 #8; 27
2.4.2 间接和指针 #8; 28
2.4.3 变址和数组 #8; 29
2.5 汇编语言 #8; 32
2.5.1 汇编指示 #8; 33
2.5.2 程序的汇编和执行 #8; 35
2.5.3 数的表示 #8; 36
2.6 堆栈 #8; 36
2.7 子程序 #8; 38
2.7.1 子程序嵌套及处理器堆栈 #8; 39
2.7.2 参数传递 #8; 39
2.7.3 堆栈的结构 #8; 42
2.8 其他指令 #8; 44
2.8.1 逻辑指令 #8; 44
2.8.2 移位和循环移位指令 #8; 45
2.8.3 乘法和除法 #8; 47
2.9 处理32位的立即值 #8; 47
2.10 CISC指令集 #8; 48
2.10.1 其他寻址方式 #8; 49
2.10.2 条件码 #8; 50
2.11 RISC和CISC风格 #8; 51
2.12 实例程序 #8; 52
2.12.1 向量点积程序 #8; 52
2.12.2 字符串搜索程序 #8; 53
2.13 机器指令的编码 #8; 54
2.14 结束语 #8; 56
2.15 问题解析 #8; 56
习题 #8; 59
第3章 基本输入/输出 #8; 63
3.1 访问I/O设备 #8; 63
3.1.1 I/O设备接口 #8; 64
3.1.2 程序控制I/O #8; 64
3.1.3 一个RISC风格的I/O程序示例 #8; 67
3.1.4 一个CISC风格的I/O程序示例 #8; 67
3.2 中断 #8; 68
3.2.1 中断的允许与禁止 #8; 70
3.2.2 处理多台设备 #8; 71
3.2.3 控制I/O设备行为 #8; 72
3.2.4 处理器控制寄存器 #8; 73
3.2.5 中断程序示例 #8; 74
3.2.6 异常 #8; 78
3.3 结束语 #8; 79
3.4 问题解析 #8; 79
习题 #8; 83
第4章 软件 #8; 86
4.1 汇编过程 #8; 86
4.2 装载及执行目标程序 #8; 87
4.3 连接程序 #8; 88
4.4 库 #8; 88
4.5 编译器 #8; 88
4.5.1 编译器优化 #8; 89
4.5.2 组合不同语言编写的程序 #8; 89
4.6 调试器 #8; 90
4.7 使用高级语言实现输入/输出任务 #8; 90
4.8 汇编语言与C语言的交互 #8; 92
4.9 操作系统 #8; 95
4.9.1 引导程序 #8; 96
4.9.2 管理应用程序的执行 #8; 96
4.9.3 中断在操作系统中的使用 #8; 97
4.10 结束语 #8; 99
习题 #8; 99
参考文献 #8; 100
第5章 基本处理部件 #8; 101
5.1 一些基本概念 #8; 101
5.2 指令的执行 #8; 103
5.2.1 Load指令 #8; 103
5.2.2 算术及逻辑运算指令 #8; 104
5.2.3 Store指令 #8; 104
5.3 硬件组件 #8; 105
5.3.1 寄存器文件 #8; 105
5.3.2 ALU #8; 106
5.3.3 数据通路 #8; 106
5.3.4 取指令部分 #8; 108
5.4 指令的读取和执行步骤 #8; 109
5.4.1 转移 #8; 111
5.4.2 等待存储器 #8; 113
5.5 控制信号 #8; 114
5.6 硬件控制 #8; 116
5.6.1 数据通路控制信号 #8; 117
5.6.2 存储器延迟的处理 #8; 118
5.7 CICS风格的处理器 #8; 118
5.7.1 使用总线实现互连 #8; 119
5.7.2 微程序控制 #8; 121
5.8 结束语 #8; 122
5.9 问题解析 #8; 122
习题 #8; 124
第6章 流水线 #8; 127
6.1 基本概念——理想情况 #8; 127
6.2 流水线结构 #8; 128
6.3 流水线问题 #8; 129
6.4 数据依赖性 #8; 129
6.4.1 操作数转发 #8; 129
6.4.2 用软件处理数据依赖性 #8; 130
6.5 存储器延迟 #8; 131
6.6 转移延迟 #8; 132
6.6.1 无条件转移 #8; 132
6.6.2 条件转移 #8; 133
6.6.3 转移延迟槽 #8; 133
6.6.4 转移预测 #8; 134
6.7 资源限制 #8; 136
6.8 性能评估 #8; 137
6.8.1 停顿和时间代价的影响 #8; 137
6.8.2 流水线的段数 #8; 138
6.9 超标量操作 #8; 139
6.9.1 转移和数据依赖性 #8; 140
6.9.2 无序执行 #8; 141
6.9.3 执行完成 #8; 141
6.9.4 调度操作 #8; 142
6.10 CISC处理器中的流水线 #8; 143
6.10.1 ColdFire处理器中的流水线 #8; 144
6.10.2 Intel处理器中的流水线 #8; 144
6.11 结束语 #8; 144
6.12 问题解析 #8; 145
习题 #8; 146
参考文献 #8; 148
第7章 输入/输出组织结构 #8; 149
7.1 总线结构 #8; 149
7.2 总线操作 #8; 150
7.2.1 同步总线 #8; 150
7.2.2 异步总线 #8; 152
7.2.3 电气考虑 #8; 154
7.3 总线仲裁 #8; 154
7.4 接口电路 #8; 156
7.4.1 并行接口 #8; 156
7.4.2 串行接口 #8; 159
7.5 互连标准 #8; 161
7.5.1 通用串行总线 #8; 162
7.5.2 火线 #8; 164
7.5.3 PCI总线 #8; 165
7.5.4 SCSI总线 #8; 168
7.5.5 SATA #8; 169
7.5.6 SAS #8; 169
7.5.7 PCI Express #8; 169
7.6 结束语 #8; 170
7.7 问题解析 #8; 170
习题 #8; 172
参考文献 #8; 173
第8章 存储器系统 #8; 174
8.1 基本概念 #8; 174
8.2 半导体随机存储器 #8; 175
8.2.1 存储器芯片的内部组织结构 #8; 176
8.2.2 静态存储器 #8; 177
8.2.3 动态随机存储器 #8; 178
8.2.4 同步动态随机存储器 #8; 180
8.2.5 大容量存储器的结构 #8; 182
8.3 只读存储器 #8; 184
8.3.1 ROM #8; 184
8.3.2 PROM #8; 185
8.3.3 EPROM #8; 185
8.3.4 EEPROM #8; 185
8.3.5 闪存 #8; 186
8.4 直接存储器访问 #8; 186
8.5 存储器层次结构 #8; 188
8.6 高速缓存 #8; 189
8.6.1 映射功能 #8; 190
8.6.2 替换算法 #8; 193
8.6.3 映射技术的例子 #8; 194
8.7 性能因素 #8; 196
8.7.1 命中率和失效开销 #8; 196
8.7.2 处理器芯片上的高速缓存 #8; 198
8.7.3 其他改进 #8; 198
8.8 虚拟存储器 #8; 200
8.9 存储器管理需求 #8; 203
8.10 辅助存储器 #8; 204
8.10.1 磁盘 #8; 204
8.10.2 光盘 #8; 208
8.10.3 磁带系统 #8; 211
8.11 结束语 #8; 212
8.12 问题解析 #8; 212
习题 #8; 215
参考文献 #8; 217
第9章 算术运算 #8; 218
9.1 有符号数加减法 #8; 218
9.2 快速加法器设计 #8; 220
9.3 无符号数乘法 #8; 224
9.3.1 阵列乘法器 #8; 224
9.3.2 顺序电路乘法器 #8; 225
9.4 有符号数乘法 #8; 227
9.5 快速乘法 #8; 229
9.5.1 乘数位偶重编码 #8; 229
9.5.2 求和项的进位保留加法 #8; 229
9.5.3 使用3-2简化器的求和项加法树 #8; 231
9.5.4 使用4-2简化器的求和项加法树 #8; 233
9.5.5 快速乘法总结 #8; 234
9.6 整数除法 #8; 234
9.7 浮点数及其运算 #8; 236
9.7.1 浮点数算术运算 #8; 238
9.7.2 保护位与截取 #8; 239
9.7.3 浮点操作的实现 #8; 240
9.8 十进制数到二进制数的转换 #8; 242
9.9 结束语 #8; 242
9.10 问题解析 #8; 243
习题 #8; 245
参考文献 #8; 248
第10章 嵌入式系统 #8; 249
10.1 嵌入式系统实例 #8; 249
10.1.1 微波炉 #8; 249
10.1.2 数码照相机 #8; 251
10.1.3 家用遥测技术 #8; 252
10.2 嵌入式应用中的微控制器芯片 #8; 252
10.3 一个简单的微控制器 #8; 253
10.3.1 并行I/O接口 #8; 253
10.3.2 串行I/O接口 #8; 256
10.3.3 计数器/定时器 #8; 256
10.3.4 中断控制机制 #8; 258
10.3.5 编程实例 #8; 258
10.4 反应定时器——?一个完整的实例 #8; 261
10.5 传感器与执行器 #8; 264
10.5.1 传感器 #8; 264
10.5.2 执行器 #8; 266
10.5.3 应用实例 #8; 266
10.6 微控制器系列 #8; 267
10.6.1 基于Intel 8051的微控制器 #8; 268
10.6.2 Freescale微控制器 #8; 268
10.6.3 ARM微控制器 #8; 269
10.7 设计问题 #8; 269
10.8 结束语 #8; 271
习题 #8; 271
参考文献 #8; 273
第11章 片上系统——案例研究 #8; 274
11.1 FPGA的实现 #8; 274
11.1.1 FPGA器件 #8; 275
11.1.2 处理器的选择 #8; 275
11.2 计算机辅助设计工具 #8; 275
11.3 闹钟示例 #8; 279
11.3.1 系统的用户视图 #8; 279
11.3.2 系统的定义和生成 #8; 279
11.3.3 电路实现 #8; 281
11.3.4 应用软件 #8; 281
11.4 结束语 #8; 287
习题 #8; 287
参考文献 #8; 288
第12章 并行处理及性能 #8; 289
12.1 硬件多线程 #8; 289
12.2 向量(SIMD)处理 #8; 290
12.3 共享存储器的多处理器 #8; 292
12.4 高速缓存一致性 #8; 295
12.4.1 直接写协议 #8; 295
12.4.2 写回协议 #8; 296
12.4.3 监听高速缓存 #8; 296
12.4.4 基于目录的高速缓存一致性 #8; 297
12.5 消息传递多计算机 #8; 298
12.6 多处理器并行编程 #8; 298
12.7 性能建模 #8; 300
12.8 结束语 #8; 301
习题 #8; 301
参考文献 #8; 302
附录A 逻辑电路 #8; 303
附录B Altera Nios II处理器 #8; 344
附录C ColdFire处理器 #8; 371
附录D ARM处理器 #8; 397
附录E Intel IA-32体系结构 #8; 431
索引 #8; 461

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个