当前位置:首页 > 工业技术
计算机组成  原书第5版
计算机组成  原书第5版

计算机组成 原书第5版PDF电子书下载

工业技术

  • 电子书积分:17 积分如何计算积分?
  • 作 者:(加)Carl Hamacher等著;张红光等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2004
  • ISBN:7111142624
  • 页数:580 页
图书介绍:本书是计算机组成的入门级教程。
上一篇:需求分析下一篇:土木工程俄文选
《计算机组成 原书第5版》目录

目录出版者的话专家指导委员会译者序作者简介前言第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 基本操作概念 5

1.4 总线结构 6

1.5 软件 7

1.6 性能 9

1.6.1 处理器时钟 10

1.6.2 基本性能公式 10

1.6.3 流水线和超标量操作 10

1.6.4 时钟频率 11

1.6.5 指令集:CISC和RISC 11

1.6.6 编译器 12

1.6.7 性能测量 12

1.7 多处理器和多计算机 13

1.8 发展历程 13

1.8.1 第一代计算机 13

1.8.6 性能的发展 14

1.8.5 后第四代计算机 14

1.8.3 第三代计算机 14

1.8.2 第二代计算机 14

1.8.4 第四代计算机 14

1.9 结束语 15

习题 15

参考文献 16

第2章 机器指令和程序 17

2.1 数、算术运算以及字符 18

2.1.1 数的表示 18

2.1.2 正数的加法 19

2.1.3 有符号数的加法和减法 19

2.1.4 整数算术运算中的溢出 21

2.2 内存单元和寻址 22

2.1.5 字符 22

2.2.1 按字节寻址能力 23

2.2.2 big-endian和little-endian分配 23

2.2.3 字的对齐 24

2.2.4 访问数、字符和字符串 24

2.3 存储器操作 24

2.4 指令和指令序列 25

2.4.1 寄存器传送标记 25

2.4.2 汇编语言符号 25

2.4.3 基本指令类型 26

2.4.4 指令执行和线性序列 29

2.4.5 转移 30

2.4.6 条件码 31

2.4.7 生成存储器地址 32

2.5 寻址方式 32

2.5.1 变量和常数的实现 33

2.5.2 间接和指针 34

2.5.3 变址和数组 36

2.5.4 相对寻址 38

2.5.5 附加方式 39

2.6 汇编语言 40

2.6.1 汇编指示 41

2.6.2 程序的汇编和执行 43

2.7 基本输入/输出操作 44

2.6.3 数的表示 44

2.8 堆栈和队列 47

2.9 子程序 50

2.9.1 子程序嵌套及处理器堆栈 51

2.9.2 参数传递 51

2.9.3 堆栈的结构 52

2.10 附加的指令 56

2.10.1 逻辑指令 56

2.10.2 移位和循环移位指令 57

2.10.3 乘法和除法 60

2.11 实例程序 60

2.11.1 向量点积程序 60

2.11.2 字节排序程序 61

2.11.3 链表 62

2.12 机器指令的编码 66

2.13 结束语 69

习题 69

第3章 ARM、Motorola与Intel指令集 73

部分Ⅰ ARM实例 73

3.1 寄存器、内存访问及数据传递 73

3.1.1 寄存器结构 74

3.1.2 内存访问指令和寻址方式 74

3.2 算术和逻辑指令 80

3.2.1 算术指令 80

3.1.3 寄存器传送指令 80

3.2.2 逻辑指令 81

3.3 转移指令 82

3.3.1 设置条件码 83

3.3.2 用于数值相加的循环程序 83

3.4 汇编语言 84

3.5 I/O操作 85

3.6 子程序 86

3.7 实例程序 89

3.7.1 向量点积程序 89

3.7.2 字节排序程序 90

3.7.3 链表的插入和删除子程序 91

3.8.2 寻址方式 93

3.8.1 68000寄存器结构 93

3.8 寄存器与寻址方式 93

部分Ⅱ 68000实例 93

3.9 指令 97

3.10 汇编语言 99

3.11 程序流控制 100

3.11.1 条件码标志 100

3.11.2 转移指令 100

3.12 I/O操作 102

3.13 堆栈和子程序 103

3.14 逻辑指令 107

3.15.2 字节排序程序 108

3.15.1 向量点积程序 108

3.15 实例程序 108

3.15.3 链表的插入和删除子程序 109

部分Ⅲ IA-32 Pentium实例 109

3.16 寄存器和寻址方式 110

3.16.1 IA-32寄存器结构 111

3.16.2 IA-32寻址方式 113

3.17 IA-32指令 116

3.18 IA-32汇编语言 121

3.19 程序流控制 122

3.19.1 条件跳转及条件码标志 122

3.20.2 移位与循环移位操作 123

3.20.1 逻辑操作 123

3.20 逻辑和移位/循环移位指令 123

3.19.2 无条件跳转 123

3.21 I/O操作 124

3.21.1 存储器映射I/O 124

3.21.2 独立I/O 124

3.21.3 块传送 125

3.22 子程序 126

3.23 其他指令 127

3.23.1 乘法与除法指令 128

3.23.2 多媒体扩展(MMX)指令 130

3.24.2 字节排序程序 131

3.24.1 向量点积程序 131

3.24 实例程序 131

3.23.3 向量(SIMD)指令 131

3.24.3 链表的插入与删除子程序 132

3.25 结束语 133

习题 134

参考文献 143

第4章 输入输出组织结构 145

4.1 访问I/O设备 145

4.2 中断 148

4.2.1 中断的硬件 149

4.2.2 中断的允许和禁止 150

4.2.3 处理多台设备 151

4.2.4 控制设备请求 154

4.2.5 异常 155

4.2.6 在操作系统中使用的中断 156

4.3 处理器举例 159

4.3.1 ARM中断结构 159

4.3.2 68000中断结构 163

4.3.3 Pentium的中断结构 164

4.4 直接存储器访问 166

4.5 总线 170

4.5.1 同步总线 171

4.5.2 异步总线 173

4.5.3 讨论 175

4.6.1 并行端口 176

4.6 接口电路 176

4.6.2 串行端口 182

4.7 标准I/O接口 184

4.7.1 外围部件互连(PCI)总线 185

4.7.2 SCSI总线 189

4.7.3 通用串行总线(USB) 193

4.8 结束语 200

习题 200

参考文献 205

第5章 存储器系统 207

5.1 基本概念 207

5.2 半导体随机存储器 209

5.2.1 存储器芯片的内部组织结构 210

5.2.2 静态存储器 211

5.2.3 异步动态随机存储器 212

5.2.4 同步动态随机存储器 214

5.2.5 大容量存储器的结构 216

5.2.6 存储器系统因素 217

5.2.7 Rambus存储器 218

5.3 只读存储器 219

5.3.1 ROM 220

5.3.2 PROM 220

5.3.3 EPROM 220

5.3.4 EEPROM 221

5.3.5 闪存 221

5.4 速度、容量和成本 222

5.5 高速缓存 223

5.5.1 映射功能 224

5.5.2 替换算法 227

5.5.3 映射技术的例子 228

5.5.4 商用处理器中高速缓存的例子 230

5.6 性能因素 233

5.6.1 交叉 233

5.6.2 命中率和失效开销 235

5.6.3 处理器芯片上的高速缓存 237

5.6.4 其他改进 237

5.7 虚拟存储器 239

5.8 存储器管理需求 242

5.9.1 磁性硬盘 243

5.9 辅助存储器 243

5.9.2 光盘 249

5.9.3 磁带系统 253

5.10 结束语 254

习题 255

参考文献 259

第6章 算术运算 261

6.1 有符号数加减法 261

6.2 快速加法器设计 264

6.3 正数乘法 267

6.4 有符号操作数乘法 270

6.5.1 乘数位偶重编码 272

6.5 快速乘法 272

6.5.2 求和项的进位保留加法 273

6.6 整数除法 276

6.7 浮点数及其操作 278

6.7.1 浮点数的IEEE标准 279

6.7.2 浮点数算术运算 281

6.7.3 保护位与截取 282

6.7.4 浮点操作的实现 283

6.8 结束语 285

习题 285

参考文献 290

7.1 一些基本概念 291

第7章 基本处理部件 291

7.1.1 寄存器传送 293

7.1.2 执行算术或逻辑操作 294

7.1.3 从存储器中取出一个字 295

7.1.4 向存储器中存储一个字 296

7.2 一条完整指令的执行 297

7.3 多总线结构 298

7.4 硬件控制 300

7.5 微程序控制 302

7.5.1 微指令 304

7.5.2 微程序的顺序 306

7.5.3 宽转移寻址方式 307

7.5.4 带有下一地址字段的微指令 309

7.5.5 预取微指令 311

7.5.6 仿真 313

7.6 结束语 313

习题 314

第8章 流水线 319

8.1 基本概念 319

8.1.1 高速缓存的作用 321

8.1.2 流水线性能 322

8.2 数据阻塞 324

8.2.1 操作数传递 325

8.2.2 用软件方法处理数据阻塞 326

8.3.1 无条件转移 327

8.3 指令阻塞 327

8.2.3 副作用 327

8.3.2 条件转移和转移预测 330

8.4 对指令集的影响 334

8.4.1 寻址方式 334

8.4.2 条件码 336

8.5 数据通路和控制 336

8.6 超标量操作 338

8.6.1 无序执行 339

8.6.2 执行完成 340

8.6.3 调度操作 341

8.7.1 SPARC体系结构 342

8.7 UltraSPARCⅡ实例 342

8.7.2 UltraSPARCⅡ 346

8.7.3 流水线结构 346

8.8 性能考虑 353

8.8.1 指令阻塞的影响 354

8.8.2 流水线的段数 355

8.9 结束语 355

习题 356

参考文献 358

第9章 嵌入式系统 359

9.1 嵌入式系统的实例 359

9.1.1 微波炉 360

9.1.2 数码照相机 361

9.1.3 家用遥测技术 362

9.2 嵌入式应用中的处理器芯片 363

9.3 一个简单的微控制器 364

9.3.1 并行I/O端口 364

9.3.2 串行I/O接口 366

9.3.3 计数器/定时器 367

9.3.4 中断控制机制 368

9.4 程序设计问题 369

9.4.1 轮询方法 369

9.4.2 中断方法 372

9.5 I/O设备的时序限制 373

9.6 反应计时器实例 374

9.5.2 通过环形缓冲区做传送的汇编语言程序 374

9.5.1 通过环形缓冲区做传送的C程序 374

9.6.1 用于反应计时器的C程序 377

9.6.2 用于反应计时器的汇编语言程序 379

9.6.3 最后评价 380

9.7 嵌入式处理器系列 380

9.7.1 基于Intel 8051的微控制器 381

9.7.2 Motorola微控制器 381

9.7.3 ARM微控制器 382

9.8 设计问题 382

9.9 片上系统 384

9.10 结束语 386

习题 387

参考文献 389

第10章 计算机外围设备 391

10.1 输入设备 391

10.1.1 键盘 392

10.1.2 鼠标 392

10.1.3 跟踪球、操作杆和触摸垫 392

10.1.4 扫描仪 394

10.2 输出设备 394

10.2.1 视频显示器 394

10.2.2 平面显示器 395

10.2.3 打印机 396

10.2.4 图形加速卡 396

10.3 串行通信连接 398

10.3.1 异步传输 400

10.3.2 同步传输 401

10.3.3 标准通信接口 404

10.4 结束语 405

习题 405

第11章 处理器系列 409

11.1 ARM系列 410

11.1.1 Thumb指令集 410

11.1.2 处理器和CPU内核 411

11.2 Motorola 680XO和ColdFire系列 412

11.2.1 68020处理器 412

11.2.4 ColdFire系列 414

11.2.3 68060处理器 414

11.2.2 68030和68040处理器的改进 414

11.3 IntelIA-32系列 415

11.3.1 IA-32存储器分段 415

11.3.2 16位模式 416

11.3.3 80386和80486处理器 417

11.3.4 Pentium处理器 417

11.3.5 Pentium Pro处理器 417

11.3.6 Pentium Ⅱ和Pentium Ⅲ处理器 418

11.3.7 Pentium 4处理器 418

11.4.1 寄存器集 419

11.4.3 指令 419

11.4.2 存储器寻址方式 419

11.4 PowerPC系列 419

11.3.8 AMD公司的IA-32处理器 419

11.4.4 PowerPC处理器 420

11.5 Sun公司SPARC系列 421

11.6 康柏ALPHA系列 422

11.6.1 指令和寻址方式的格式 422

11.6.2 ALPHA 21064处理器 423

11.6.3 ALPHA 21164处理器 423

11.6.4 ALPHA 21264处理器 423

11.7 Intel IA-64系列 424

11.7.1 指令包 424

11.7.2 条件执行 424

11.7.4 寄存器和寄存器堆栈 425

11.7.3 推测性装入 425

11.7.5 Itanium处理器 427

11.8 堆栈处理器 427

11.8.1 堆栈结构 428

11.8.2 堆栈指令 430

11.8.3 堆栈中的硬件寄存器 433

11.9 结束语 433

习题 434

参考文献 435

第12章 大型计算机系统 437

12.1 并行处理的形式 438

12.2 阵列处理器 439

12.3 通用多处理器结构 440

12.4 互连网络 441

12.4.1 信号总线 442

12.4.2 纵横(Crossbar)网络 443

12.4.3 多段网络 444

12.4.4 超立方体网络 445

12.4.5 网状网络 446

12.4.6 树状网络 446

12.4.7 环状网络 447

12.4.8 实用性因素 448

12.4.9 混合拓扑网络 450

12.4.10 对称式多处理器 450

12.5 多处理器的存储器组织结构 451

12.6 程序并行性与共享变量 452

12.6.1 共享变量访问 452

12.6.2 高速缓存一致性 454

12.6.3 加锁和高速缓存一致性 456

12.7 多计算机 456

12.7.1 局域网 457

12.7.2 以太网(CSMA/CD)总线 457

12.7.3 令牌环 458

12.7.4 工作站网络 458

12.8 共享存储器和消息传递实例 458

12.8.1 共享存储器实例 459

12.8.2 消息传递实例 461

12.9 性能因素 462

12.9.1 Amdahl定律 463

12.9.2 性能指标 464

12.10 结束语 464

习题 465

参考文献 467

附录A 逻辑电路 469

附录B ARM指令集 519

附录C Motorola 68000指令集 533

附录D Intel IA-32指令集 549

附录E 字符编码与数的转换 565

索引 569

返回顶部