计算机组成(原书第5版)

计算机组成(原书第5版)
作 者: Carl Hamacher Zvonko Vranesic Safwat Zaky 张红光 张红光
出版社: 机械工业出版社
丛编项: 计算机科学丛书
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 计算机原理
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  CarlHamacher加拿大滑铁卢大学工程物理学士,加拿大金斯顿女皇大学电子工程硕士,纽约州Syracuse大学电子工程博士。1968-1990年任多伦多大学电子工程及计算机科学学院教授,1984-1988年担任计算机系统研究所所长,1988-1990年担任工程科学部主席。自1991年1月起任女皇大学电子及计算机工程学院教授,1991-1996年担任应用科学系主任。1978-1979年曾作为访问学者到加利福尼亚州SanJose的IBM研究实验室工作。1986年作为访问研究员在法国Grenoble大学电路与系统实验室式作。1996-1997年作为访问教授在加州大学Riverside分校计算机科学系和法国ParisVI大学LIP6实验室工作。他的研究方向为多处理器与多计算机,侧重于网络互连。

内容简介

本书是计算机组成的入门级教程,全面地介绍了计算机组成结构、操作、性能的基本概念,还介绍了有关外围设备、处理器系列模型以及嵌入式系统的一些主要内容。书中知识具有很强的实用性,并涵盖了当今许多先进的技术和设计思想。本书知识结构相对独立,需要读者具备计算机高级语言程序设计和数字逻辑电路的基本知识。本书适合用作高等院校电子工程、计算机工程和计算机科学专业计算机组成课程的教材。这本经典教材的第5版对计算机组成结构进行了全面的概括。它介绍了硬件设计的原理,并且说明了硬件设计是如何受软件需求影响的。本书素材经过反复改写,反映了计算机技术发展的现状。例如使用了典型的商用处理器来说明一般的概念.并用ARM、68000以及Pentium处理器作为主要的结构范例。书中还包括了有关嵌入式系统的讨论。本书涉及现代计算机设计的各个方面——处理器、输入 输出、存储器、外围设备以及通信链接,重点放在完整的计算机系统设计上。本书结构清晰,使用灵活。主要面向已经学习了逻辑电路课程的学生.书后附有逻辑电路的内容介绍.没有这方面基础知识的学生也可使用。

图书目录

第1章 计算机的基本结构

1. 1 计算机的类型

1. 2 功能部件

1. 2. 1 输入设备

1. 2. 2 存储器

1. 2. 3 运算器

1. 2. 4 输出设备

1. 2. 5 控制器

1. 3 基本操作概念

1. 4 总线结构

1. 5 软件

1. 6 性能

1. 6. 1 处理器时钟

1. 6. 2 基本性能公式

1. 6. 3 流水线和超标量操作

1. 6. 4 时钟频率

1. 6. 5 指令集:CISC和RISC

1. 6. 6 编译器

1. 6. 7 性能测量

1. 7 多处理器和多计算机

1. 8 发展历程

1. 8. 1 第一代计算机

1. 8. 2 第二代计算机

1. 8. 3 第三代计算机

1. 8. 4 第四代计算机

1. 8. 5 后第四代计算机

1. 8. 6 性能的发展

1. 9 结束语

习题

参考文献

第2章 机器指令和程序

2. 1 数. 算术运算以及字符

2. 1. 1 数的表示

2. 1. 2 正数的加法

2. 1. 3 有符号数的加法和减法

2. 1. 4 整数算术运算中的溢出

2. 1. 5 字符

2. 2 内存单元和寻址

2. 2. 1 按字节寻址能力

2. 2. 2 big-endian和little-endian分配

2. 2. 3 字的对齐

2. 2. 4 访问数. 字符和字符串

2. 3 存储器操作

2. 4 指令和指令序列

2. 4. 1 寄存器传送标记

2. 4. 2 汇编语言符号

2. 4. 3 基本指令类型

2. 4. 4 指令执行和线性序列

2. 4. 5 转移

2. 4. 6 条件码

2. 4. 7 生成存储器地址

2. 5 寻址方式

2. 5. 1 变量和常数的实现

2. 5. 2 间接和指针

2. 5. 3 变址和数组

2. 5. 4 相对寻址

2. 5. 5 附加方式

2. 6 汇编语言

2. 6. 1 汇编指示

2. 6. 2 程序的汇编和执行

2. 6. 3 数的表示

2. 7 基本输入/输出操作

2. 8 堆栈和队列

2. 9 子程序

2. 9. 1 子程序嵌套及处理器堆栈

2. 9. 2 参数传递

2. 9. 3 堆栈的结构

2. 10 附加的指令

2. 10. 1 逻辑指令

2. 10. 2 移位和循环移位指令

2. 10. 3 乘法和除法

2. 11 实例程序

2. 11. 1 向量点积程序

2. 11. 2 字节排序程序

2. 11. 3 链表

2. 12 机器指令的编码

2. 13 结束语

习题

第3章 ARM. Motorola与Intel指令集

部分I ARM实例

3. 1 寄存器. 内存访问及数据传递

3. 1. 1 寄存器结构

3. 1. 2 内存访问指令和寻址方式

3. 1. 3 寄存器传送指令

3. 2 算术和逻辑指令

3. 2. 1 算术指令

3. 2. 2 逻辑指令

3. 3 转移指令

3. 3. 1 设置条件码

3. 3. 2 用于数值相加的循环程序

3. 4 汇编语言

3. 5 I/O操作

3. 6 子程序

3. 7 实例程序

3. 7. 1 向量点积程序

3. 7. 2 字节排序程序

3. 7. 3 链表的插入和删除子程序

部分II 68000实例

3. 8 寄存器与寻址方式

3. 8. 1 68000寄存器结构

3. 8. 2 寻址方式

3. 9 指令

3. 10 汇编语言

3. 11 程序流控制

3. 11. 1 条件码标志

3. 11. 2 转移指令

3. 12 I/0操作

3. 13 堆栈和子程序

3. 14 逻辑指令

3. 15 实例程序

3. 15. 1 向量点积程序

3. 15. 2 字节排序程序

3. 15. 3 链表的插入和删除子程序

部分III IA-32 Pentium实例

3. 16 寄存器和寻址方式

3. 16. 1 IA-32寄存器结构

3. 16. 2 IA-32寻址方式

3. 17 IA-32指令

3. 18 IA-32汇编语言

3. 19 程序流控制

3. 19. 1 条件跳转及条件码标志

3. 19. 2 无条件跳转

3. 20 逻辑和移位/循环移位指令

3. 20. 1 逻辑操作

3. 20. 2 移位与循环移位操作

3. 21 I/O操作

3. 21. 1 存储器映射I/O

3. 21. 2 独立I/O

3. 21. 3 块传送

3. 22 子程序

3. 23 其他指令

3. 23. 1 乘法与除法指令

3. 23. 2 多媒体扩展 MMX 指令

3. 23. 3 向量 SIMD 指令

3. 24 实例程序

3. 24. 1 向量点积程序

3. 24. 2 字节排序程序

3. 24. 3 链表的插入与删除子程序

3. 25 结束语

习题

参考文献

第4章 输入输出组织结构

4. 1 访问I/O设备

4. 2 中断

4. 2. 1 中断的硬件

4. 2. 2 中断的允许和禁止

4. 2. 3 处理多台设备

4. 2. 4 控制设备请求

4. 2. 5 异常

4. 2. 6 在操作系统中使用的中断

4. 3 处理器举例

4. 3. 1 ARM中断结构

4. 3. 2 68000中断结构

4. 3. 3 Pentium的中断结构

4. 4 直接存储器访问

4. 5 总线

4. 5. 1 同步总线

4. 5. 2 异步总线

4. 5. 3 讨论

4. 6 接口电路

4. 6. 1 并行端口

4. 6. 2 串行端口

4. 7 标准I/O接口

4. 7. 1 外围部件互连 PCI 总线

4. 7. 2 SCSII总线

4. 7. 3 通用串行总线 USB

4. 8 结束语

习题

参考文献

第5章 存储器系统

5. 1 基本概念

5. 2 半导体随机存储器

5. 2. 1 存储器芯片的内部组织结构

5. 2. 2 静态存储器

5. 2. 3 异步动态随机存储器

5. 2. 4 同步动态随机存储器

5. 2. 5 大容量存储器的结构

5. 2. 6 存储器系统因素

5. 2. 7 Rambus存储器

5. 3 只读存储器

5. 3. 1 ROM

5. 3. 2 PROM

5. 3. 3 EPROM

5. 3. 4 EEPROM

5. 3. 5 闪存

5. 4 速度. 容量和成本

5. 5 高速缓存

5. 5. 1 映射功能

5. 5. 2 替换算法

5. 5. 3 映射技术的例子

5. 5. 4 商用处理器中高速缓存的例子

5. 6 性能因素

5. 6. 1 交叉

5. 6. 2 命中率和失效开销

5. 6. 3 处理器芯片上的高速缓存

5. 6. 4 其他改进

5. 7 虚拟存储器

5. 8 存储器管理需求

5. 9 辅助存储器

5. 9. 1 磁性硬盘

5. 9. 2 光盘

5. 9. 3 磁带系统

5. 10 结束语

习题

参考文献

第6章 算术运算

6. 1 有符号数加减法

6. 2 快速加法器设计

6. 3 正数乘法

6. 4 有符号操作数乘法

6. 5 快速乘法

6. 5. 1 乘数位偶重编码

6. 5. 2 求和项的进位保留加法

6. 6 整数除法

6. 7 浮点数及其操作

6. 7. 1 浮点数的IEEE标准

6. 7. 2 浮点数算术运算

6. 7. 3 保护位与截取

6. 7. 4 浮点操作的实现

6. 8 结束语

习题

参考文献

笫7章 基本处理部件

7. 1 一些基本概念

7. 1. 1 寄存器传送

7. 1. 2 执行算术或逻辑操作

7. 1. 3 从存储器中取出一个字

7. 1. 4 向存储器中存储一个字

7. 2 一条完整指令的执行

7. 3 多总线结构

7. 4 硬件控制

7. 5 微程序控制

7. 5. 1 微指令

7. 5. 2 微程序的顺序

7. 5. 3 宽转移寻址方式

7. 5. 4 带有下一地址字段的微指令

7. 5. 5 预取微指令

7. 5. 6 仿真

7. 6 结束语

习题

第8章 流水线

8. 1 基本概念

8. 1. 1 高速缓存的作用

8. 1. 2 流水线性能

8. 2 数据阻塞

8. 2. 1 操作数传递

8. 2. 2 用软件方法处理数据阻塞

8. 2. 3 副作用

8. 3 指令阻塞

8. 3. 1 无条件转移

8. 3. 2 条件转移和转移预测

8. 4 对指令集的影响

8. 4. 1 寻址方式

8. 4. 2 条件码

8. 5 数据通路和控制

8. 6 超标量操作

8. 6. 1 无序执行

8. 6. 2 执行完成

8. 6. 3 调度操作

8. 7 UltraSPARCⅡ实例

8. 7. 1 SPARC体系结构

8. 7. 2 UltraSPARC II

8. 7. 3 流水线结构

8. 8 性能考虑

8. 8. 1 指令阻塞的影响

8. 8. 2 流水线的段数

8. 9 结束语

习题

参考文献

第9章 嵌入式系统

9. 1 嵌入式系统的实例

9. 1. 1 微波炉

9. 1. 2 数码照相机

9. 1. 3 家用遥测技术

9. 2 嵌入式应用中的处理器芯片

9. 3 一个简单的微控制器

9. 3. 1 并行I/O端口

9. 3. 2 串行I/O接口

9. 3. 3 计数器/定时器

9. 3. 4 中断控制机制

9. 4 程序设计问题

9. 4. 1 轮询方法

9. 4. 2 中断方法

9. 5 I/O设备的时序限制

9. 5. 1 通过环形缓冲区做传送的C程序

9. 5. 2 通过环形缓冲区做传送的汇编语言

程序

9. 6 反应计时器实例

9. 6. 1 用于反应计时器的C程序

9. 6. 2 用于反应计时器的汇编语言程序

9. 6. 3 最后评价

9. 7 嵌入式处理器系列

9. 7. 1 基于Intel 8051的微控制器

9. 7. 2 Motorola微控制器

9. 7. 3 ARM微控制器

9. 8 设计问题

9. 9 片上系统

9. 10 结束语

习题

参考文献

第10章 计算机外围设备

10. 1 输入设备

10. 1. 1 键盘

10. 1. 2 鼠标

10. 1. 3 跟踪球. 操作杆和触摸垫

10. 1. 4 扫描仪

10. 2 输出设备

10. 2. 1 视频显示器

10. 2. 2 平面显示器

10. 2. 3 打印机

10. 2. 4 图形加速卡

10. 3 串行通信连接

10. 3. 1 异步传输

10. 3. 2 同步传输

10. 3. 3 标准通信接口

10. 4 结束语

习题

第11章 处理器系列

11. 1 ARM系列

11. 1. 1 Thumb指令集

11. 1. 2 处理器和CPU内核

11. 2 Motorola680X0和ColdFire系列

11. 2. 1 68020处理器

11. 2. 2 68030和68040处理器的改进

11. 2. 3 68060处理器

11. 2. 4 ColdFire系列

11. 3 Intel IA-32系列

11. 3. 1 IA-32存储器分段

11. 3. 2 16位模式

11. 3. 3 80386和80486处理器

11. 3. 4 Pentium处理器

11. 3. 5 PentiumPro处理器

11. 3. 6 PentiumⅡ和PentiumⅢ处理器

11. 3. 7 Pentium4处理器

11. 3. 8 AMD公司的IA-32处理器

11. 4 PowerPC系列

11. 4. 1 寄存器集

11. 4. 2 存储器寻址方式

11. 4. 3 指令

11. 4. 4 PowerPC处理器

11. 5 Sun公司SPARC系列

11. 6 康柏ALPHA系列

11. 6. 1 指令和寻址方式的格式

11. 6. 2 ALPHA21064处理器

11. 6. 3 ALPHA21164处理器

11. 6. 4 ALPHA21264处理器

11. 7 IntelIA-64系列

11. 7. 1 指令包

11. 7. 2 条件执行

11. 7. 3 推测性装入

11. 7. 4 寄存器和寄存器堆栈

11. 7. 5 Itanium处理器

11. 8 堆栈处理器

11. 8. 1 堆栈结构

11. 8. 2 堆栈指令

11. 8. 3 堆栈中的硬件寄存器

11. 9 结束语

习题

参考文献

第12章 大型计算机系统

12. 1 并行处理的形式

12. 2 阵列处理器

12. 3 通用多处理器结构

12. 4 互连网络

12. 4. 1 信号总线

12. 4. 2 纵横 Crossbar 网络

12. 4. 3 多段网络

12. 4. 4 超立方体网络

12. 4. 5 网状网络

12. 4. 6 树状网络

12. 4. 7 环状网络

12. 4. 8 实用性因素

12. 4. 9 混合拓扑网络

12. 4. 10 对称式多处理器

12. 5 多处理器的存储器组织结构

12. 6 程序并行性与共享变量

12. 6. 1 共享变量访问

12. 6. 2 高速缓存一致性

12. 6. 3 加锁和高速缓存一致性

12. 7 多计算机

12. 7. 1 局域网

12. 7. 2 以太网 CSMMCD 总线

12. 7. 3 令牌环

12. 7. 4 工作站网络

12. 8 共享存储器和消息传递实例

12. 8. 1 共享存储器实例

12. 8. 2 消息传递实例

12. 9 性能因素

12. 9. 1 Amdahl定律

12. 9. 2 性能指标

12. 10 结束语

习题

参考文献

附录A 逻辑电路

附录B ARM指令集

附录C Motorola68000指令集

附录D IntelIA-32指令集

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

索引