图书介绍
计算机组成与设计 硬件/软件接口2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- (美)大卫·A. 帕特森(David A. Patterson),约翰·L.亨 著
- 出版社: 北京:机械工业出版社
- ISBN:7111608943
- 出版时间:2018
- 标注页数:504页
- 文件大小:240MB
- 文件页数:526页
- 主题词:
PDF下载
下载说明
计算机组成与设计 硬件/软件接口PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 计算机的抽象与技术1
1.1 引言1
1.1.1 计算机应用的分类和特点2
1.1.2 欢迎来到后PC时代3
1.1.3 你能从本书中学到什么4
1.2 计算机体系结构中的8个伟大思想6
1.2.1 面向摩尔定律的设计6
1.2.2 使用抽象简化设计7
1.2.3 加速大概率事件7
1.2.4 通过并行提高性能7
1.2.5 通过流水线提高性能7
1.2.6 通过预测提高性能7
1.2.7 存储器层次结构7
1.2.8 通过冗余提高可靠性7
1.3 程序表象之下8
1.4 硬件包装之下10
1.4.1 显示器12
1.4.2 触摸屏12
1.4.3 打开机箱13
1.4.4 数据的安全存储15
1.4.5 与其他计算机通信16
1.5 处理器和存储器制造技术17
1.6 性能20
1.6.1 性能的定义20
1.6.2 性能的度量22
1.6.3 CPU的性能及其度量因素24
1.6.4 指令的性能24
1.6.5 经典的CPU性能公式25
1.7 功耗墙28
1.8 沧海巨变:从单处理器向多处理器转变29
1.9 实例:Intel Core i7基准测试32
1.9.1 SPEC CPU基准测试程序32
1.9.2 SPEC功耗基准测试程序34
1.10 谬误与陷阱34
1.11 本章小结36
1.12 历史观点与拓展阅读37
1.13 练习题38
第2章 指令:计算机的语言42
2.1 引言42
2.2 计算机硬件的操作44
2.3 计算机硬件的操作数46
2.3.1 存储器操作数47
2.3.2 常数或立即数操作数50
2.4 有符号数和无符号数51
2.5 计算机中指令的表示56
2.6 逻辑操作61
2.7 决策指令64
2.7.1 循环65
2.7.2 边界检查的简便方法67
2.7.3 case/switch语句67
2.8 计算机硬件对过程的支持68
2.8.1 使用更多的寄存器69
2.8.2 过程嵌套71
2.8.3 在栈中为新数据分配空间73
2.8.4 在堆中为新数据分配空间74
2.9 人机交互76
2.10 LEGv8中的宽立即数和地址的寻址79
2.10.1 宽立即数79
2.10.2 分支中的寻址80
2.10.3 LEGv8寻址模式总结82
2.10.4 机器语言解码82
2.11 并行与指令:同步86
2.12 翻译并启动程序88
2.12.1 编译器88
2.12.2 汇编器89
2.12.3 链接器90
2.12.4 加载器92
2.12.5 动态链接库92
2.12.6 启动Java程序94
2.13 综合实例:C排序程序95
2.13.1 swap过程95
2.13.2 sort过程97
2.14 数组和指针101
2.14.1 用数组实现clear102
2.14.2 用指针实现clear102
2.14.3 比较两个版本的clear103
2.15 高级主题:编译C和解释Java104
2.16 实例:MIPS指令集104
2.17 实例:ARMv7 (32位)指令集105
2.18 实例:x86指令集106
2.18.1 Intel x86的演进107
2.18.2 x86寄存器和数据寻址模式108
2.18.3 x86整数操作110
2.18.4 x86指令编码112
2.18.5 x86总结112
2.19 实例:ARMv8指令集的其他部分113
2.19.1 完整的ARMv8整数算术逻辑指令114
2.19.2 完整的ARMv8整数数据传输指令116
2.19.3 完整的ARMv8分支指令117
2.20 谬误与陷阱118
2.21 本章小结119
2.22 历史观点与拓展阅读121
2.23 练习题121
第3章 计算机的算术运算128
3.1 引言128
3.2 加法和减法128
3.3 乘法131
3.3.1 顺序乘法算法及硬件131
3.3.2 有符号乘法134
3.3.3 更快速的乘法134
3.3.4 LEGv8中的乘法134
3.3.5 小结135
3.4 除法135
3.4.1 除法算法及硬件135
3.4.2 有符号除法137
3.4.3 更快速的除法138
3.4.4 LEGv8中的除法138
3.4.5 小结139
3.5 浮点运算140
3.5.1 浮点表示141
3.5.2 异常和中断142
3.5.3 IEEE 754浮点标准142
3.5.4 浮点加法145
3.5.5 浮点乘法148
3.5.6 LEGv8中的浮点指令150
3.5.7 算术精确性154
3.5.8 小结156
3.6 并行与计算机算术:子字并行157
3.7 实例:x86中的流处理SIM扩展和高级向量扩展158
3.8 实例:其他的ARMv8算术指令160
3.8.1 完整的ARMv8整数和浮点算术指令160
3.8.2 完整的ARMv8 SIMD指令161
3.9 加速:子字并行和矩阵乘法163
3.10 谬误与陷阱166
3.11 本章小结168
3.12 历史观点与拓展阅读171
3.13 练习题171
第4章 处理器175
4.1 引言175
4.1.1 一种基本的LEGv8实现176
4.1.2 实现概述176
4.2 逻辑设计的一般方法178
4.3 建立数据通路180
4.4 一种简单的实现机制187
4.4.1 ALU控制187
4.4.2 主控制单元的设计188
4.4.3 数据通路的操作191
4.4.4 完成控制单元194
4.4.5 为什么不使用单周期实现195
4.5 流水线概述197
4.5.1 面向流水线的指令集设计200
4.5.2 流水线冒险200
4.5.3 流水线概述小结206
4.6 流水线数据通路及其控制207
4.6.1 图形化表示的流水线215
4.6.2 流水线控制218
4.7 数据冒险:旁路与阻塞221
4.8 控制冒险231
4.8.1 假定分支不发生231
4.8.2 减少分支延迟232
4.8.3 动态分支预测234
4.8.4 流水线小结236
4.9 异常236
4.9.1 LEGv8体系结构中的异常处理237
4.9.2 流水线实现中的异常238
4.10 指令级并行241
4.10.1 推测的概念242
4.10.2 静态多发射243
4.10.3 动态多发射246
4.10.4 动态流水线调度247
4.10.5 能耗效率与高级流水线249
4.11 实例:ARM Cortex-A53和Intel Core i7流水线250
4.11.1 ARM Cortex-A53251
4.11.2 Intel Core i7 920253
4.11.3 Intel Core i7 920的性能255
4.12 加速:指令级并行和矩阵乘法256
4.13 高级主题:采用硬件设计语言描述和建模流水线的数字设计技术以及更多流水线示例258
4.14 谬误与陷阱258
4.15 本章小结259
4.16 历史观点与拓展阅读260
4.17 练习题260
第5章 大容量和高速度:开发存储器层次结构271
5.1 引言271
5.2 存储器技术275
5.2.1 SRAM技术275
5.2.2 DRAM技术275
5.2.3 闪存277
5.2.4 磁盘存储器277
5.3 cache的基本原理279
5.3.1 cache访问280
5.3.2 cache缺失处理285
5.3.3 写操作处理285
5.3.4 cache实例:Intrinsi FastMATH处理器287
5.3.5 小结289
5.4 cache性能的评估和改进289
5.4.1 通过更灵活的块放置策略来减少cache缺失292
5.4.2 在cache中查找块295
5.4.3 替换块的选择296
5.4.4 使用多级cache减少缺失代价297
5.4.5 通过分块进行软件优化299
5.4.6 小结303
5.5 可信存储器层次结构303
5.5.1 失效的定义303
5.5.2 纠1检2汉明码(SEC/DIED)305
5.6 虚拟机308
5.6.1 虚拟机监视器的要求309
5.6.2 指令集体系结构(缺乏)对虚拟机的支持309
5.6.3 保护和指令集体系结构310
5.7 虚拟存储器310
5.7.1 页的存放和查找313
5.7.2 缺页故障315
5.7.3 用于大型虚拟地址的虚拟内存316
5.7.4 关于写318
5.7.5 加快地址转换:TLB318
5.7.6 Intrinsity FastMATH TLB319
5.7.7 集成虚拟存储器、TLB和cache322
5.7.8 虚拟存储器中的保护323
5.7.9 处理TLB缺失和缺页324
5.7.10 小结326
5.8 存储器层次结构的一般框架328
5.8.1 问题1:块放在何处328
5.8.2 问题2:如何找到块329
5.8.3 问题3:cache缺失时替换哪一块330
5.8.4 问题4:写操作如何处理330
5.8.5 3C:一种理解存储器层次结构行为的直观模型331
5.9 使用有限状态机控制简单的cache332
5.9.1 一个简单的cache333
5.9.2 有限状态机333
5.9.3 一个简单cache控制器的有限状态机335
5.10 并行与存储器层次结构:cache一致性336
5.10.1 实现一致性的基本方案337
5.10.2 监听协议337
5.11 并行与存储器层次结构:廉冗余磁盘阵列339
5.12 高级主题:实现cache控制器339
5.13 实例:ARM Cortex-A53和Intel Core i7的存储器层次结构339
5.14 实例:ARMv8系统的剩余部分以及特殊指令343
5.15 加速:cache分块和矩阵乘法345
5.16 谬误与陷阱346
5.17 本章小结349
5.18 历史观点与拓展阅读350
5.19 练习题350
第6章 并行处理器:从客户端到云362
6.1 引言362
6.2 创建并行处理程序的难点364
6.3 SISD、MIMD、SIMD、SPMD和向量367
6.3.1 x86中的SIMD:多媒体扩展368
6.3.2 向量368
6.3.3 向量与标量370
6.3.4 向量与多媒体扩展370
6.4 硬件多线程372
6.5 多核和其他共享内存多处理器375
6.6 图形处理单元378
6.6.1 NVIDIA GPU体系结构简介379
6.6.2 NVIDIA GPU存储结构380
6.6.3 正确理解GPU381
6.7 集群、仓储式计算机和其他消息传递多处理器383
6.8 多处理器网络拓扑简介386
6.9 与外界通信:集群网络389
6.10 多处理器基准测试程序和性能模型389
6.10.1 性能模型391
6.10.2 Roofline模型392
6.10.3 两代Opteron的比较393
6.11 实例:Intel Core i7 960和NVIDIA Tesla GPU的评测及Roofline模型396
6.12 加速:多处理器和矩阵乘法399
6.13 谬误与陷阱402
6.14 本章小结403
6.15 历史观点与拓展阅读405
6.16 练习题405
附录A 逻辑设计基础414
索引470
热门推荐
- 3504603.html
- 2113012.html
- 220188.html
- 912604.html
- 478067.html
- 583396.html
- 785121.html
- 582686.html
- 3167929.html
- 810353.html
- http://www.ickdjs.cc/book_3167514.html
- http://www.ickdjs.cc/book_3255148.html
- http://www.ickdjs.cc/book_3255961.html
- http://www.ickdjs.cc/book_1294889.html
- http://www.ickdjs.cc/book_909421.html
- http://www.ickdjs.cc/book_2198549.html
- http://www.ickdjs.cc/book_2750757.html
- http://www.ickdjs.cc/book_3311059.html
- http://www.ickdjs.cc/book_555399.html
- http://www.ickdjs.cc/book_1500924.html