前言3序5致谢11
第一章计算机设计基本原理1
1.1简介1
1.2计算机设计者的任务2
1.3计算机技术和应用的发展趋势4
1.4成本及其发展趋势6
1.5评价和报告计算机的性能13
1.6计算机设计的定量准则22
1.7综合: 存储层次的概念29
1.8谬误和陷阱32
1.9结论38
1.10历史回顾和参考文献39
参考文献44
习题46
第二章指令系统的原理与实例54
2.1简介54
2.2指令集系统结构的分类55
2.3存储器寻址57
2.4指令集的操作62
2.5操作数的大小与类型67
2.6指令集的编码68
2.7相关问题: 编译器70
2.8综合: DLX系统结构75
2.9谬误与陷阱84
2.10结论86
2.11历史回顾和参考文献87
参考文献90
习题92
第三章流水线97
3.1什么是流水线97
3.2DLX的基本流水线102
3.3流水线的主要障碍——流水线冒险107
3.4数据冒险112
3.5控制冒险123
3.6实现流水线的困难是什么?136
3.7扩展DLX流水线能处理多周期操作142
3.8相关问题: 指令集设计和流水线151
3.9综合: MIPS R4000流水线152
3.10谬误与陷阱159
3.11结论160
3.12历史回顾和参考文献161
参考文献161
习题163
第四章高级流水线与指令级并行168
4.1指令级并行: 概念及挑战168
4.2采用动态调度克服数据冒险183
4.3采用动态硬件预测技术减少分支开销199
4.4采用多发射以取得更高的指令级并行性211
4.5支持指令级并行的编译技术219
4.6硬件对并行性的支持227
4.7指令级并行性研究239
4.8综合: PowerPC 620252
4.9谬误与陷阱262
4.10结论264
4.11历史回顾和参考文献265
参考文献269
习题273
第五章存储器层次结构设计281
5.1简介281
5.2Cache简介283
5.3降低Cache缺失率294
5.4降低Cache缺失代价309
5.5减少命中时间317
5.6主存322
5.7虚拟存储器331
5.8虚拟存储器的保护和示例336
5.9存储层次设计的相关问题344
5.10总结:Alpha AXP 21064存储层次347
5.11谬误和陷阱351
5.12结论354
5.13历史回顾和参考文献355
参考文献357
习题359
第六章存储系统368
6.1简介368
6.2存储设备类型369
6.3总线——连接I/O设备到CPU/存储器376
6.4I/O性能评测381
6.5可靠性、可用性和RAID393
6.6相关问题: 与操作系统的接口396
6.7I/O系统设计398
6.8综合: UNIX文件系统性能406
6.9谬误与陷阱413
6.10结论416
6.11历史回顾和参考文献417
参考文献419
习题421
第七章互连网络425
7.1简介425
7.2简单的网络426
7.3互连网络与计算机的连接432
7.4互连网络介质433
7.5多台计算机的连接436
7.6商用互连网络的实际问题449
7.7互连网络举例452
7.8互连网络相关问题455
7.9网络互连457
7.10综合: 一个工作站的ATM网络461
7.11谬误与陷阱468
7.12结论470
7.13历史回顾和参考文献471
参考文献473
习题474
第八章多处理器478
8.1简介478
8.2应用领域的特征486
8.3集中式共享存储器系统结构492
8.4分布式共享存储器系统结构509
8.5同步520
8.6存储器一致性模型531
8.7相关问题541
8.8综合: SGI Challenge 多处理机系统545
8.9谬误和陷阱550
8.10结论554
8.11历史回顾和参考文献558
参考文献564
习题567
附录A计算机算术运算573
A.1简介573
A.2整数运算的基本方法573
A.3浮点582
A.4浮点乘法585
A.5浮点加法588
A.6除法与余数593
A.7其他有关浮点运算的问题597
A.8提高整数加法的速度601
A.9提高整数乘法与除法的速度607
A.10综合618
A.11谬误与陷阱621
A.12历史回顾和参考文献622
参考文献624
习题627
附录B向量处理机632
B.1什么是向量处理机?632
B.2基本向量结构633
B.3两个现实问题: 向量长度与跨距643
B.4编译程序向量化的效果648
B.5提高向量性能649
B.6综合: 向量处理机的性能653
B.7谬误与陷阱658
B.8结论659
B.9历史回顾和参考文献660
参考文献663
习题664
附录CRISC系统结构评述669
C.1简介669
C.2寻址方式与指令格式670
C.3指令: DLX子集672
C.4指令: 对DLX的公共扩充675
C.5只有MIPS才有的指令678
C.6只有SPARC才有的指令680
C.7只有Power PC才有的指令682
C.8只有PARISC才有的指令683
C.9结论685
参考文献687
附录D与RISC完全不同的另一方案: Intel 80x86689
D.1简介689
D.280x86寄存器与数据寻址方式690
D.380x86整数操作693
D.480x86浮点操作695
D.580x86指令编码697
D.6综合: 指令系统利用率的测量699
D.7结论704
D.8历史回顾和参考文献705
参考文献706
附录E一致性协议实现707
E.1监听高速缓存一致性协议的实现问题707
E.2分布式目录协议的实现问题710
习题715
参考文献716