Essentials of computer architecture
副标题:无
分类号:
ISBN:9787302122715
微信扫一扫,移动浏览光盘
简介
本书是美国普渡大学资深教授Douglas E. Comer从计算机系统结构对编程影响的角度为计算机科学、技术、应用类学生精心编写的计算机系统结构教材。最大特点是重概念,轻细节,从程序员的观点阐明计算机系统结构对程序设计、优化和调试的影响。
本书分为5部分。第1部分介绍数字逻辑、门和数据表示基础,重点放在数据表示这一章。第2、第3和第4部分涵盖计算机系统结构的3个主要领域:处理器、存储器和输入输出系统,在这3部分,每一章都给学生介绍了足够的背景知识,帮助他们了解计算机各主要部件的工作原理以及对程序设计的影响。第5部分则介绍了一些高级话题,如并行性、流水线技术和性能评估等。附录中给出了11个实验,让学生通过动手操作来切实学懂和掌握这门课程。
本书的主要读者对象是高等院校计算机科学、技术、应用专业的学生,也可供程序开发人员学习参考。
目录
第1章 引言和纵览
1.1 系统结构的重要性
1.2 学习要旨
1.3 本书的组织
1.4 省略的内容
1.5 术语:系统结构和设计
1.6 小结
第1部分 数字逻辑与数据表示基础
第2章 数字逻辑基础
2.1 引言
2.2 有关电的术语:电压和电流
2.3 晶体管
2.4 逻辑门
2.5 逻辑门的符号表示
2.6 用晶体管构建门
2.7 门和门互连的例子
2.8 多门集成电路
2.9 不只需要组合电路
2.10 能保持状态的电路
2.11 状态转换图
2.12 二进制计数器
2.13 时钟和顺序
2.14 反馈的重要概念
2.15 启动的一个动作序列
2.16 软件重复与硬件副本的比较
2.17 门和芯片的极小化
2.18 利用空闲的门
2.19 供电和散热
2.20 定时
2.21 物理尺寸和处理工艺
2.22 电路板和多层印刷
2.23 抽象的层次
2.24 小结
第3章 数据和程序的表示
3.1 引言
3.2 数字逻辑和抽象
3.3 位和字节
3.4 字节大小和可能表示的值
3.5 二进制运算
3.6 十六进制表示法
3.7 十六进制常数和二进制常数表示法
3.8 字符集
3.9 Unicode
3.10 无符号整数、上溢和下溢
3.11 位和字节的编号
3.12 带符号整数
3.13 一个补码表示的数的例子
3.14 符号扩展
3.15 浮点
3.16 特殊值
3.17 IEEE浮点值的范围
3.18 数据聚集
3.19 程序的表示
3.20 小结
习题
第2部分 处理器
第4章 各种处理器和计算引擎
4.1 引言
4.2 冯·诺依曼体系结构
4.3 处理器的定义
4.4 处理器的类别
4.5 分层结构和计算引擎
4.6 常规处理器的结构
4.7 算术逻辑部件(ALU)的定义
4.8 处理器的类别及作用
4.9 处理器工艺技术
4.10 存储程序
4.11 读取-执行周期
4.12 时钟速率和指令速率
4.13 控制:启动和停止
4.14 启动读取-执行周期
4.15 小结
习题
第5章 处理器类型和指令系统
5.1 引言
5.2 数学功能、方便性和代价
5.3 指令系统及表示
5.4 操作码、操作数和结果
5.5 典型的指令格式
5.6 可变长度指令和固定长度指令
5.7 通用寄存器
5.8 浮点寄存器和寄存器标识
5.9 利用寄存器编程
5.10 寄存器组
5.11 复杂指令系统和简化指令系统
5.12 RISC设计和执行流水线
5.13 流水线和指令阻塞
5.14 流水线阻塞的另外一些原因
5.15 对程序员的影响
5.16 编程、阻塞及空操作
5.17 提前传递
5.18 操作的类型
5.19 程序计数器、读取-执行及转移
5.20 子程序调用、变量及寄存器窗口
5.21 指令系统的一个例子
5.22 最低限度指令系统
5.23 正交性原则
5.24 条件码和条件转移
5.25 小结
习题
第6章 操作数寻址和指令表示
6.1 引言
6.2 零地址、一地址、二地址及三地址设计
6.3 零操作数指令
6.4 单操作数指令
6.5 双操作数指令
6.6 三操作数指令
6.7 操作数源和立即值
6.8 冯·诺依曼瓶颈
6.9 显式和隐式操作数编码
6.9.1 隐式操作数编码
6.9.2 显式操作数编码
6.10 组合多个值的操作数
6.11 操作数选择的权衡
6.12 存储器中的数值和间接引用
6.13 操作数寻址方式
6.14 小结
习题
第7章 CPU:微代码、保护及处理器模式
7.1 引言
7.2 中央处理器
7.3 CPU的复杂性
7.4 执行模式
7.5 向后兼容
7.6 改变模式
7.7 特权和保护
7.8 多级保护
7.9 微代码指令
7.10 微代码的变体
7.11 微代码的优点
7.12 让程序员看到微代码
7.13 纵向微代码
7.14 横向微代码
7.15 例示横向微代码
7.16 一个横向微代码的例子
7.17 要求多个周期的操作
7.18 横向微代码和并行执行
7.19 高性能执行
7.20 并行性和执行次序
7.21 指令的乱序执行
7.22 条件转移和转移预测
7.23 对程序员的影响
7.24 小结
习题
第8章 汇编语言和程序设计范例
8.1 引言
8.2 高级程序设计语言的特征
8.3 低级程序设计语言的特征
8.4 汇编语言
8.5 汇编语言语法和操作码
8.5.1 语句格式
8.5.2 操作码命名
8.5.3 注释约定
8.6 操作数的次序
8.7 寄存器命名
8.8 操作数类型
8.9 汇编语言程序设计范式和风格
8.10 用于条件执行的汇编代码
8.11 用于可选条件执行的汇编代码
8.12 用于限定循环的汇编代码
8.13 用于未限定循环的汇编代码
8.14 用于过程调用的汇编代码
8.15 用于参数化过程调用的汇编代码
8.16 对程序员的影响
8.17 用于函数调用的汇编代码
8.18 汇编语言和高级语言之间的交互作用
8.19 用于变量和存储的汇编代码
8.20 二次扫描汇编程序
8.21 汇编语言宏指令
8.22 小结
第3部分 存储器
第9章 存储器和存储
9.1 引言
9.2 定义
9.3 存储器的两个关键方面
9.4 存储器工艺的特性
9.4.1 存储器的易失性
9.4.2 存储器访问范式
9.4.3 数值的持久性
9.4.4 主存储器和辅助存储器
9.5 重要的存储器分级概念
9.6 指令和数据的储存
9.7 读写范式
9.8 小结
第10章 物理存储器和物理寻址
10.1 引言
10.2 计算机存储器的特性
10.3 静态和动态RAM的工艺技术
10.4 存储器工艺技术的度量
10.5 密度
10.6 读性能和写性能的分离
10.7 等待时间和存储器控制器
10.8 同步存储器技术
10.9 多倍数据速率存储器技术
10.10 存储器工艺技术的例子
10.11 存储器组织结构
10.12 存储器存取和存储器总线
10.13 存储器的传输容量
10.14 物理地址和字
10.15 物理存储器操作
10.16 字长和其他数据类型
10.17 一个极端情况:字节寻址
10.18 以字传输的字节寻址
10.19 利用2的幂
10.20 字节对齐和程序设计
10.21 存储器容量和地址空间
10.22 用字寻址程序设计
10.23 存储器容量的量度
10.24 指针和数据结构
10.25 存储器转储
10.26 间接性和间接操作数
10.27 存储体和交叉存取
10.28 按内容存取存储器
10.29 三元CAM
10.30 小结
习题
第11章 虚拟存储器技术和虚拟寻址
11.1 引言
11.2 定义
11.3 一个虚拟的例子:字节寻址
11.4 虚拟存储器术语
11.5 对多个物理存储器系统的接口
11.6 地址转换或地址映射
11.7 避免算术运算
11.8 不连续地址空间
11.9 其他的存储器组织
11.10 采用虚拟存储器的动机
11.11 多虚拟空间和多道程序设计
11.12 多级的虚拟化
11.13 动态地创建虚拟空间
11.14 起点-界限寄存器
11.15 改变虚拟空间
11.16 虚存、起点-界限和保护
11.17 分段
11.18 请求式分页
11.19 用于请求式分页的硬件和软件
11.20 页面替换
11.21 分页的术语和数据结构
11.22 分页系统中的地址转换
11.23 利用2的幂
11.24 存在位、使用位和修改位
11.25 页表的存储
11.26 分页效率和快速转换旁视缓冲器
11.27 对程序员的影响
11.28 小结
习题
第12章 高速缓存和高速缓存技术
12.1 引言
12.2 定义
12.3 高速缓存的特性
12.4 高速缓存技术的重要性
12.5 高速缓存技术的例子
12.6 高速缓存术语
12.7 高速缓存性能的最好情况和最坏情况
12.8 对一个典型序列的高速缓存性能
12.9 高速缓存的替换策略
12.10 LRU替代策略
12.11 多级高速缓存结构
12.12 预装高速缓存
12.13 存储器使用高速缓存
12.14 TLB作为高速缓存
12.15 请求式分页作为一种高速缓存形式
12.16 物理存储器高速缓存
12.17 直写和写回
12.18 高速缓存的相关性
12.19 L1,L2和L3高速缓存
12.20 L1,L2和L3高速缓存的大小
12.21 指令高速缓存和数据高速缓存
12.22 虚拟存储器高速缓存技术和高速缓存排空
12.23 存储器高速缓存技术的实现
12.24 直接映射存储器高速缓存
12.25 为提高效率而采用2的幂
12.26 组相联存储器高速缓存
12.27 对程序员的影响
12.28 小结
习题
第4部分 输入和输出
第13章 输入输出概念和术语
13.1 引言
13.2 输入和输出设备
13.3 外部设备的控制
13.4 数据传送
13.5 串行和并行数据传送
13.6 自同步数据
13.7 全双工交互和半双工交互
13.8 接口的等待时间和吞吐量
13.9 多路传输的基本思想
13.10 每个外部接口连接多个设备
13.11 处理器的I/O视图
13.12 小结
第14章 总线和总线体系结构
14.1 引言
14.2 总线的定义
14.3 处理器、I/O设备与总线
14.4 专有总线和标准化总线
14.5 共享总线和存取协议
14.6 多个总线
14.7 并行、无源机制
14.8 物理连接
14.9 总线接口
14.10 地址线、控制线和数据线
14.11 读取-存储范式
14.12 总线上的读取-存储
14.13 总线的宽度
14.14 多路传输
14.15 总线宽度和数据项的大小
14.16 总线地址空间
14.17 潜在的错误
14.18 地址配置和插座
14.19 多个总线还是一个总线
14.20 设备所用的读取-存储
14.21 一个使用读取-存储的设备控制例子
14.22 接口的操作
14.23 不对称指派
14.24 统一的存储器和设备寻址
14.25 地址空间里的空洞
14.26 地址映射
14.27 对总线的程序接口
14.28 两个总线间的桥接
14.29 主总线和辅助总线
14.30 对程序员的影响
14.31 切换组构网
14.32 小结
习题
第15章 程序控制I/O和中断驱动I/O
15.1 引言
15.2 I/O范式
15.3 程序控制I/O
15.4 同步
15.5 轮询
15.6 用于轮询的代码
15.7 控制和状态寄存器
15.8 处理器使用和轮询
15.9 第一代、第二代和第三代计算机
15.10 中断驱动I/O
15.11 硬件中断机制
15.12 中断和读取-执行周期
15.13 中断的处理
15.14 中断向量
15.15 初始化和中断的允许及禁止
15.16 防止中断代码被中断
15.17 多级中断
15.18 中断向量和优先权的指派
15.19 动态总线连接和可插入的设备
15.20 中断的优点
15.21 灵巧的设备和改进的I/O性能
15.22 直接存储器存取(DMA)
15.23 缓冲链接
15.24 分散读和集中写操作
15.25 操作链接
15.26 小结
习题
第16章 程序员眼中的设备、I/O和缓冲
16.1 引言
16.2 设备驱动器的定义
16.3 设备无关性、密封和隐藏
16.4 设备驱动器的概念性部件
16.5 两种类型的设备
16.6 一个设备驱动器的操作流程的例子
16.7 队列的输出操作
16.8 强制中断
16.9 队列的输入操作
16.10 支持双向传送的设备
16.11 异步还是同步编程范式
16.12 异步性、灵巧设备和互斥
16.13 应用程序所见的I/O
16.14 运行时I/O程序库
16.15 程序库和操作系统的两分法
16.16 操作系统支持的I/O操作
16.17 I/O操作的代价
16.18 降低系统调用开销
16.19 缓冲的重要概念
16.20 缓冲的实现
16.21 排空缓冲器
16.22 输入的缓冲
16.23 缓冲的效能
16.24 操作系统中的缓冲
16.25 与高速缓存的关系
16.26 一个例子:Unix标准I/O库
16.27 小结
习题
第5部分 高级课题
第17章 并行性
17.1 引言
17.2 并行和流水线体系结构
17.3 并行性的特征
17.4 微观并行性与宏观并行性
17.5 微观并行性的例子
17.6 宏观并行性的例子
17.7 对称并行性与非对称并行性
17.8 细粒并行性与粗粒并行性
17.9 显式的与隐式的并行性
17.10 并行体系结构
17.11 并行体系结构的类型(弗林分类法)
17.12 单指令单数据流(SISD)
17.13 单指令多数据流(SIMD)
17.14 多指令多数据流(MIMD)
17.15 通信、协调和争用
17.16 多处理器的性能
17.17 对程序员的影响
17.17.1 锁和互斥
17.17.2 显式和隐式并行计算机的编程
17.17.3 对称多处理器和非对称多处理器的编程
17.18 冗余并行体系结构
17.19 分布计算机和群集计算机
17.20 小结
习题
第18章 流水线技术
18.1 引言
18.2 流水线技术的概念
18.3 软件流水线技术
18.4 软件流水线的性能和开销
18.5 硬件流水线技术
18.6 硬件流水线技术怎样提高性能
18.7 流水线的使用时机
18.8 处理的概念性分割
18.9 流水线体系结构
18.10 流水线的建立时间、阻塞时间和排空时间
18.11 超级流水线体系结构的定义
18.12 小结
习题
第19章 性能评估
19.1 引言
19.2 能力和性能的测量
19.3 计算能力的测量
19.4 使用专门的指令计数
19.5 指令混合比
19.6 标准化的基准测试程序
19.7 I/O和存储器瓶颈
19.8 软、硬件之间的分界
19.9 选择要优化的项目
19.10 艾姆德尔法则和并行系统
19.11 小结
习题
第20章 体系结构的层次和例子
20.1 引言
20.2 体系结构的层次
20.3 系统级体系结构:个人计算机
20.4 总线互连和桥接
20.5 控制器芯片和物理体系结构
20.6 虚拟总线
20.7 连接速度
20.8 桥接功能和虚拟总线
20.9 电路板级体系结构
20.10 芯片级体系结构
20.11 芯片上功能部件的结构
20.12 小结
20.13 计算机系统结构之外的分级
附录A 计算机系统结构课程实验
A.1 引言
A.2 实验所用的数字硬件
A.3 免焊实验电路板
A.4 免焊实验电路板的使用
A.5 测试
A.6 电源和接地连接
A.7 实验练习题
实验1 入门和账号配置
实验2 数字逻辑:实验电路板的使用
实验3 数字逻辑:用门电路构建一个加法器
实验4 数字逻辑:时钟和多路分配
实验5 表示法:测试大端法与小端法
实验6 表示法:一个用C编写的十六进制转储程序
实验7 处理器:学习RISC汇编语言
实验8 处理器:能被C程序调用的函数
实验9 存储器:数组的行主序存储和列主序存储
实验10 输入输出:一个缓冲I/O库
实验11 用汇编语言编写的十六进制转储程序
参考书目
1.1 系统结构的重要性
1.2 学习要旨
1.3 本书的组织
1.4 省略的内容
1.5 术语:系统结构和设计
1.6 小结
第1部分 数字逻辑与数据表示基础
第2章 数字逻辑基础
2.1 引言
2.2 有关电的术语:电压和电流
2.3 晶体管
2.4 逻辑门
2.5 逻辑门的符号表示
2.6 用晶体管构建门
2.7 门和门互连的例子
2.8 多门集成电路
2.9 不只需要组合电路
2.10 能保持状态的电路
2.11 状态转换图
2.12 二进制计数器
2.13 时钟和顺序
2.14 反馈的重要概念
2.15 启动的一个动作序列
2.16 软件重复与硬件副本的比较
2.17 门和芯片的极小化
2.18 利用空闲的门
2.19 供电和散热
2.20 定时
2.21 物理尺寸和处理工艺
2.22 电路板和多层印刷
2.23 抽象的层次
2.24 小结
第3章 数据和程序的表示
3.1 引言
3.2 数字逻辑和抽象
3.3 位和字节
3.4 字节大小和可能表示的值
3.5 二进制运算
3.6 十六进制表示法
3.7 十六进制常数和二进制常数表示法
3.8 字符集
3.9 Unicode
3.10 无符号整数、上溢和下溢
3.11 位和字节的编号
3.12 带符号整数
3.13 一个补码表示的数的例子
3.14 符号扩展
3.15 浮点
3.16 特殊值
3.17 IEEE浮点值的范围
3.18 数据聚集
3.19 程序的表示
3.20 小结
习题
第2部分 处理器
第4章 各种处理器和计算引擎
4.1 引言
4.2 冯·诺依曼体系结构
4.3 处理器的定义
4.4 处理器的类别
4.5 分层结构和计算引擎
4.6 常规处理器的结构
4.7 算术逻辑部件(ALU)的定义
4.8 处理器的类别及作用
4.9 处理器工艺技术
4.10 存储程序
4.11 读取-执行周期
4.12 时钟速率和指令速率
4.13 控制:启动和停止
4.14 启动读取-执行周期
4.15 小结
习题
第5章 处理器类型和指令系统
5.1 引言
5.2 数学功能、方便性和代价
5.3 指令系统及表示
5.4 操作码、操作数和结果
5.5 典型的指令格式
5.6 可变长度指令和固定长度指令
5.7 通用寄存器
5.8 浮点寄存器和寄存器标识
5.9 利用寄存器编程
5.10 寄存器组
5.11 复杂指令系统和简化指令系统
5.12 RISC设计和执行流水线
5.13 流水线和指令阻塞
5.14 流水线阻塞的另外一些原因
5.15 对程序员的影响
5.16 编程、阻塞及空操作
5.17 提前传递
5.18 操作的类型
5.19 程序计数器、读取-执行及转移
5.20 子程序调用、变量及寄存器窗口
5.21 指令系统的一个例子
5.22 最低限度指令系统
5.23 正交性原则
5.24 条件码和条件转移
5.25 小结
习题
第6章 操作数寻址和指令表示
6.1 引言
6.2 零地址、一地址、二地址及三地址设计
6.3 零操作数指令
6.4 单操作数指令
6.5 双操作数指令
6.6 三操作数指令
6.7 操作数源和立即值
6.8 冯·诺依曼瓶颈
6.9 显式和隐式操作数编码
6.9.1 隐式操作数编码
6.9.2 显式操作数编码
6.10 组合多个值的操作数
6.11 操作数选择的权衡
6.12 存储器中的数值和间接引用
6.13 操作数寻址方式
6.14 小结
习题
第7章 CPU:微代码、保护及处理器模式
7.1 引言
7.2 中央处理器
7.3 CPU的复杂性
7.4 执行模式
7.5 向后兼容
7.6 改变模式
7.7 特权和保护
7.8 多级保护
7.9 微代码指令
7.10 微代码的变体
7.11 微代码的优点
7.12 让程序员看到微代码
7.13 纵向微代码
7.14 横向微代码
7.15 例示横向微代码
7.16 一个横向微代码的例子
7.17 要求多个周期的操作
7.18 横向微代码和并行执行
7.19 高性能执行
7.20 并行性和执行次序
7.21 指令的乱序执行
7.22 条件转移和转移预测
7.23 对程序员的影响
7.24 小结
习题
第8章 汇编语言和程序设计范例
8.1 引言
8.2 高级程序设计语言的特征
8.3 低级程序设计语言的特征
8.4 汇编语言
8.5 汇编语言语法和操作码
8.5.1 语句格式
8.5.2 操作码命名
8.5.3 注释约定
8.6 操作数的次序
8.7 寄存器命名
8.8 操作数类型
8.9 汇编语言程序设计范式和风格
8.10 用于条件执行的汇编代码
8.11 用于可选条件执行的汇编代码
8.12 用于限定循环的汇编代码
8.13 用于未限定循环的汇编代码
8.14 用于过程调用的汇编代码
8.15 用于参数化过程调用的汇编代码
8.16 对程序员的影响
8.17 用于函数调用的汇编代码
8.18 汇编语言和高级语言之间的交互作用
8.19 用于变量和存储的汇编代码
8.20 二次扫描汇编程序
8.21 汇编语言宏指令
8.22 小结
第3部分 存储器
第9章 存储器和存储
9.1 引言
9.2 定义
9.3 存储器的两个关键方面
9.4 存储器工艺的特性
9.4.1 存储器的易失性
9.4.2 存储器访问范式
9.4.3 数值的持久性
9.4.4 主存储器和辅助存储器
9.5 重要的存储器分级概念
9.6 指令和数据的储存
9.7 读写范式
9.8 小结
第10章 物理存储器和物理寻址
10.1 引言
10.2 计算机存储器的特性
10.3 静态和动态RAM的工艺技术
10.4 存储器工艺技术的度量
10.5 密度
10.6 读性能和写性能的分离
10.7 等待时间和存储器控制器
10.8 同步存储器技术
10.9 多倍数据速率存储器技术
10.10 存储器工艺技术的例子
10.11 存储器组织结构
10.12 存储器存取和存储器总线
10.13 存储器的传输容量
10.14 物理地址和字
10.15 物理存储器操作
10.16 字长和其他数据类型
10.17 一个极端情况:字节寻址
10.18 以字传输的字节寻址
10.19 利用2的幂
10.20 字节对齐和程序设计
10.21 存储器容量和地址空间
10.22 用字寻址程序设计
10.23 存储器容量的量度
10.24 指针和数据结构
10.25 存储器转储
10.26 间接性和间接操作数
10.27 存储体和交叉存取
10.28 按内容存取存储器
10.29 三元CAM
10.30 小结
习题
第11章 虚拟存储器技术和虚拟寻址
11.1 引言
11.2 定义
11.3 一个虚拟的例子:字节寻址
11.4 虚拟存储器术语
11.5 对多个物理存储器系统的接口
11.6 地址转换或地址映射
11.7 避免算术运算
11.8 不连续地址空间
11.9 其他的存储器组织
11.10 采用虚拟存储器的动机
11.11 多虚拟空间和多道程序设计
11.12 多级的虚拟化
11.13 动态地创建虚拟空间
11.14 起点-界限寄存器
11.15 改变虚拟空间
11.16 虚存、起点-界限和保护
11.17 分段
11.18 请求式分页
11.19 用于请求式分页的硬件和软件
11.20 页面替换
11.21 分页的术语和数据结构
11.22 分页系统中的地址转换
11.23 利用2的幂
11.24 存在位、使用位和修改位
11.25 页表的存储
11.26 分页效率和快速转换旁视缓冲器
11.27 对程序员的影响
11.28 小结
习题
第12章 高速缓存和高速缓存技术
12.1 引言
12.2 定义
12.3 高速缓存的特性
12.4 高速缓存技术的重要性
12.5 高速缓存技术的例子
12.6 高速缓存术语
12.7 高速缓存性能的最好情况和最坏情况
12.8 对一个典型序列的高速缓存性能
12.9 高速缓存的替换策略
12.10 LRU替代策略
12.11 多级高速缓存结构
12.12 预装高速缓存
12.13 存储器使用高速缓存
12.14 TLB作为高速缓存
12.15 请求式分页作为一种高速缓存形式
12.16 物理存储器高速缓存
12.17 直写和写回
12.18 高速缓存的相关性
12.19 L1,L2和L3高速缓存
12.20 L1,L2和L3高速缓存的大小
12.21 指令高速缓存和数据高速缓存
12.22 虚拟存储器高速缓存技术和高速缓存排空
12.23 存储器高速缓存技术的实现
12.24 直接映射存储器高速缓存
12.25 为提高效率而采用2的幂
12.26 组相联存储器高速缓存
12.27 对程序员的影响
12.28 小结
习题
第4部分 输入和输出
第13章 输入输出概念和术语
13.1 引言
13.2 输入和输出设备
13.3 外部设备的控制
13.4 数据传送
13.5 串行和并行数据传送
13.6 自同步数据
13.7 全双工交互和半双工交互
13.8 接口的等待时间和吞吐量
13.9 多路传输的基本思想
13.10 每个外部接口连接多个设备
13.11 处理器的I/O视图
13.12 小结
第14章 总线和总线体系结构
14.1 引言
14.2 总线的定义
14.3 处理器、I/O设备与总线
14.4 专有总线和标准化总线
14.5 共享总线和存取协议
14.6 多个总线
14.7 并行、无源机制
14.8 物理连接
14.9 总线接口
14.10 地址线、控制线和数据线
14.11 读取-存储范式
14.12 总线上的读取-存储
14.13 总线的宽度
14.14 多路传输
14.15 总线宽度和数据项的大小
14.16 总线地址空间
14.17 潜在的错误
14.18 地址配置和插座
14.19 多个总线还是一个总线
14.20 设备所用的读取-存储
14.21 一个使用读取-存储的设备控制例子
14.22 接口的操作
14.23 不对称指派
14.24 统一的存储器和设备寻址
14.25 地址空间里的空洞
14.26 地址映射
14.27 对总线的程序接口
14.28 两个总线间的桥接
14.29 主总线和辅助总线
14.30 对程序员的影响
14.31 切换组构网
14.32 小结
习题
第15章 程序控制I/O和中断驱动I/O
15.1 引言
15.2 I/O范式
15.3 程序控制I/O
15.4 同步
15.5 轮询
15.6 用于轮询的代码
15.7 控制和状态寄存器
15.8 处理器使用和轮询
15.9 第一代、第二代和第三代计算机
15.10 中断驱动I/O
15.11 硬件中断机制
15.12 中断和读取-执行周期
15.13 中断的处理
15.14 中断向量
15.15 初始化和中断的允许及禁止
15.16 防止中断代码被中断
15.17 多级中断
15.18 中断向量和优先权的指派
15.19 动态总线连接和可插入的设备
15.20 中断的优点
15.21 灵巧的设备和改进的I/O性能
15.22 直接存储器存取(DMA)
15.23 缓冲链接
15.24 分散读和集中写操作
15.25 操作链接
15.26 小结
习题
第16章 程序员眼中的设备、I/O和缓冲
16.1 引言
16.2 设备驱动器的定义
16.3 设备无关性、密封和隐藏
16.4 设备驱动器的概念性部件
16.5 两种类型的设备
16.6 一个设备驱动器的操作流程的例子
16.7 队列的输出操作
16.8 强制中断
16.9 队列的输入操作
16.10 支持双向传送的设备
16.11 异步还是同步编程范式
16.12 异步性、灵巧设备和互斥
16.13 应用程序所见的I/O
16.14 运行时I/O程序库
16.15 程序库和操作系统的两分法
16.16 操作系统支持的I/O操作
16.17 I/O操作的代价
16.18 降低系统调用开销
16.19 缓冲的重要概念
16.20 缓冲的实现
16.21 排空缓冲器
16.22 输入的缓冲
16.23 缓冲的效能
16.24 操作系统中的缓冲
16.25 与高速缓存的关系
16.26 一个例子:Unix标准I/O库
16.27 小结
习题
第5部分 高级课题
第17章 并行性
17.1 引言
17.2 并行和流水线体系结构
17.3 并行性的特征
17.4 微观并行性与宏观并行性
17.5 微观并行性的例子
17.6 宏观并行性的例子
17.7 对称并行性与非对称并行性
17.8 细粒并行性与粗粒并行性
17.9 显式的与隐式的并行性
17.10 并行体系结构
17.11 并行体系结构的类型(弗林分类法)
17.12 单指令单数据流(SISD)
17.13 单指令多数据流(SIMD)
17.14 多指令多数据流(MIMD)
17.15 通信、协调和争用
17.16 多处理器的性能
17.17 对程序员的影响
17.17.1 锁和互斥
17.17.2 显式和隐式并行计算机的编程
17.17.3 对称多处理器和非对称多处理器的编程
17.18 冗余并行体系结构
17.19 分布计算机和群集计算机
17.20 小结
习题
第18章 流水线技术
18.1 引言
18.2 流水线技术的概念
18.3 软件流水线技术
18.4 软件流水线的性能和开销
18.5 硬件流水线技术
18.6 硬件流水线技术怎样提高性能
18.7 流水线的使用时机
18.8 处理的概念性分割
18.9 流水线体系结构
18.10 流水线的建立时间、阻塞时间和排空时间
18.11 超级流水线体系结构的定义
18.12 小结
习题
第19章 性能评估
19.1 引言
19.2 能力和性能的测量
19.3 计算能力的测量
19.4 使用专门的指令计数
19.5 指令混合比
19.6 标准化的基准测试程序
19.7 I/O和存储器瓶颈
19.8 软、硬件之间的分界
19.9 选择要优化的项目
19.10 艾姆德尔法则和并行系统
19.11 小结
习题
第20章 体系结构的层次和例子
20.1 引言
20.2 体系结构的层次
20.3 系统级体系结构:个人计算机
20.4 总线互连和桥接
20.5 控制器芯片和物理体系结构
20.6 虚拟总线
20.7 连接速度
20.8 桥接功能和虚拟总线
20.9 电路板级体系结构
20.10 芯片级体系结构
20.11 芯片上功能部件的结构
20.12 小结
20.13 计算机系统结构之外的分级
附录A 计算机系统结构课程实验
A.1 引言
A.2 实验所用的数字硬件
A.3 免焊实验电路板
A.4 免焊实验电路板的使用
A.5 测试
A.6 电源和接地连接
A.7 实验练习题
实验1 入门和账号配置
实验2 数字逻辑:实验电路板的使用
实验3 数字逻辑:用门电路构建一个加法器
实验4 数字逻辑:时钟和多路分配
实验5 表示法:测试大端法与小端法
实验6 表示法:一个用C编写的十六进制转储程序
实验7 处理器:学习RISC汇编语言
实验8 处理器:能被C程序调用的函数
实验9 存储器:数组的行主序存储和列主序存储
实验10 输入输出:一个缓冲I/O库
实验11 用汇编语言编写的十六进制转储程序
参考书目
Essentials of computer architecture
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×