计算机体系结构基础
丛书序言
推荐序
自序
第三版序
前言
关于本书的在线版本
I 引言
1
引言
1.1
计算机体系结构的研究内容
1.1.1
一以贯之
1.1.2
什么是计算机
1.1.3
计算机的基本组成
1.2
衡量计算机的指标
1.2.1
计算机的性能
1.2.2
计算机的价格
1.2.3
计算机的功耗
1.3
计算机体系结构的发展
1.3.1
摩尔定律和工艺的发展
1.3.2
计算机应用和体系结构
1.3.3
计算机体系结构发展
1.4
体系结构设计的基本原则
1.4.1
平衡性
1.4.2
局部性
1.4.3
并行性
1.4.4
虚拟化
1.5
本章小结
1.6
习题
II 指令系统结构
2
指令系统
2.1
指令系统简介
2.2
指令系统设计原则
2.3
指令系统发展历程
2.3.1
指令内容的演变
2.3.2
存储管理的演变
2.3.3
运行级别的演变
2.4
指令系统组成
2.4.1
地址空间
2.4.2
操作数
2.4.3
指令操作和编码
2.5
RISC指令集比较
2.5.1
指令格式比较
2.5.2
寻址方式比较
2.5.3
公共指令功能
2.5.4
不同指令系统的特色
2.6
C语言的机器表示
2.6.1
过程调用
2.6.2
流程控制语句
2.6.3
循环语句
2.7
本章小结
2.8
习题
3
特权指令系统
3.1
特权指令系统简介
3.2
异常与中断
3.2.1
异常分类
3.2.2
异常处理
3.2.3
中断
3.3
存储管理
3.3.1
存储管理的原理
3.3.2
TLB的结构和使用
3.3.3
TLB地址翻译相关异常的处理
3.4
本章小结
3.5
习题
4
软硬件协同
4.1
应用程序二进制接口
4.1.1
寄存器约定
4.1.2
函数调用约定
4.1.3
进程虚拟地址空间
4.1.4
栈帧布局
4.2
六种常见的上下文切换场景
4.2.1
函数调用
4.2.2
异常和中断
4.2.3
系统调用
4.2.4
进程
4.2.5
线程
4.2.6
虚拟机
4.2.7
六种上下文切换场景的对比
4.3
同步机制
4.3.1
基于互斥的同步机制
4.3.2
非阻塞的同步机制
4.4
本章小结
4.5
习题
III 计算机硬件结构
5
计算机组成原理和结构
5.1
冯·诺依曼结构
5.2
计算机的组成部件
5.2.1
运算器
5.2.2
控制器
5.2.3
存储器
5.2.4
输入/输出设备
5.3
计算机系统硬件结构发展
5.3.1
CPU-GPU-北桥-南桥四片结构
5.3.2
CPU-北桥-南桥三片结构
5.3.3
CPU-弱北桥-南桥三片结构
5.3.4
CPU-南桥两片结构
5.3.5
SoC单片结构
5.4
处理器和IO设备间的通信
5.4.1
IO寄存器寻址
5.4.2
处理器和IO设备之间的同步
5.4.3
存储器和IO设备之间的数据传送
5.4.4
龙芯3A3000+7A1000桥片系统中的CPU、GPU、DC通信
5.5
本章小结
5.6
习题
6
计算机总线接口技术
6.1
总线概述
6.2
总线分类
6.3
片上总线
6.4
内存总线
6.5
系统总线
6.5.1
HyperTransport总线
6.5.2
HT包格式
6.5.3
设备总线
6.5.4
PCIE总线
6.5.5
PCIE包格式
6.6
本章小结
6.7
习题
7
计算机启动过程分析
7.1
处理器核初始化
7.1.1
处理器复位
7.1.2
调试接口初始化
7.1.3
TLB初始化
7.1.4
Cache初始化
7.2
总线接口初始化
7.2.1
内存初始化
7.2.2
IO总线初始化
7.3
设备的探测及驱动加载
7.4
多核启动过程
7.4.1
初始化时的多核协同
7.4.2
操作系统启动时的多核唤醒
7.4.3
核间同步与通信
7.5
本章小结
7.6
习题
IV CPU的微结构
8
运算器设计
8.1
二进制与逻辑电路
8.1.1
计算机中数的表示
8.1.2
MOS晶体管工作原理
8.1.3
CMOS逻辑电路
8.2
简单运算器设计
8.2.1
定点补码加法器
8.2.2
减法运算实现
8.2.3
比较运算实现
8.2.4
移位器
8.3
定点补码乘法器
8.3.1
补码乘法器
8.3.2
Booth乘法器
8.3.3
华莱士树
8.4
本章小结
8.5
习题
9
指令流水线
9.1
单周期处理器
9.2
流水线处理器
9.3
指令相关和流水线冲突
9.3.1
数据相关引发的冲突及解决办法
9.3.2
控制相关引发冲突及解决方法
9.3.3
结构相关引发冲突及解决办法
9.4
流水线与异常处理
9.5
提高流水线效率的技术
9.5.1
多发射数据通路
9.5.2
动态调度
9.5.3
转移预测
9.5.4
高速缓存
9.6
本章小结
9.7
习题
V 并行处理结构
10
并行编程基础
10.1
程序的并行行为
10.1.1
指令级并行性
10.1.2
数据级并行性
10.1.3
任务级并行性
10.2
并行编程模型
10.2.1
单任务数据并行模型
10.2.2
多任务共享存储编程模型
10.2.3
多任务消息传递编程模型
10.2.4
共享存储与消息传递编程模型的编程复杂度
10.3
典型并行编程环境
10.3.1
数据并行SIMD编程
10.3.2
POSIX编程标准
10.3.3
OpenMP标准
10.3.4
消息传递编程接口
10.4
习题
11
多核处理结构
11.1
多核处理器的发展演化
11.2
多核处理器的访存结构
11.2.1
通用多核处理器的片上Cache结构
11.2.2
存储一致性模型
11.2.3
Cache一致性协议
11.3
多核处理器的互连结构
11.4
多核处理器的同步机制
11.5
典型多核处理器
11.5.1
龙芯3A5000处理器
11.5.2
Intel SandyBridge架构
11.5.3
IBM Cell处理器
11.5.4
NVIDIA GPU
11.5.5
Tile64处理器
11.6
本章小结
11.7
习题
VI 系统性能评价与分析
12
计算机系统性能评价与性能分析
12.1
计算机系统性能评价指标
12.1.1
计算机系统常用性能评价指标
12.1.2
并行系统的性能评价指标
12.2
测试程序集
12.2.1
微基准测试程序
12.2.2
SPEC CPU基准测试程序
12.2.3
并行系统基准测试程序
12.2.4
其他常见的基准测试程序集
12.3
性能分析方法
12.3.1
分析建模的方法
12.3.2
模拟建模的方法和模拟器
12.3.3
性能测量的方法
12.4
性能测试和分析实例
12.4.1
SPEC CPU基准测试程序的分值对比
12.4.2
微结构相关统计数据
12.4.3
基础性能参数
12.5
本章小结
12.6
习题
总结
参考文献
相关资源
自动生成的各种格式
其他
本书电子版由龙芯中科赞助提供
计算机体系结构基础
相关资源
自动生成的各种格式
HTML
. 在线HTML版本。
PDF
. PDF版下载链接。
DOCX
. Word版下载链接,其中目录部分需要手工选择下“更新域”才能显示。
其他
龙芯中科公司为本书提供了
官方网页
。
机械工业出版社提供的
精排电子版
。